Skip to content
This repository has been archived by the owner on Aug 12, 2023. It is now read-only.

Commit

Permalink
FileTemplates creation fix
Browse files Browse the repository at this point in the history
  • Loading branch information
InsaneDoggo committed May 2, 2017
1 parent 598d47b commit b056602
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 27 deletions.
9 changes: 3 additions & 6 deletions resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<idea-plugin url="http://ceh9.github.io/PackageTemplates/" version="3">
<idea-plugin url="http://ceh9.github.io/PackageTemplates/">
<id>dev.senya.packagetemplates</id>
<version>0.3.0-beta</version>
<version>0.4.0-beta</version>
<name>Package Templates</name>
<vendor email="senya.dev@gmail.com">CeH9</vendor>

Expand All @@ -9,10 +9,7 @@
]]></description>

<change-notes><![CDATA[
major changes:<br>
- Text Injections<br>
- Reworked Global Variables<br>
- UI improvements<br>
Changelog available on GitHub pages.
]]>
</change-notes>

Expand Down
2 changes: 1 addition & 1 deletion resources/localization/MyResources_en_US.properties
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ injectDirection.PrevLine=Prev Line
injectDirection.NextLine=Next Line
injectDirection.Replace=Replace
injectDirection.StartOfFile=Start of File
injectDirection.EndOfFile=End of File
injectDirection.SOF_END_OF_LINE=Start of File, End of line
injectDirection.EndOfFile=End of File
injectDirection.EOF_START_OF_LINE=End of File, Start of line
WriteRules.FromParent=From Parent
Expand Down
24 changes: 12 additions & 12 deletions src/core/actions/custom/CreateFileTemplateAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@

import com.intellij.ide.fileTemplates.FileTemplate;
import com.intellij.ide.fileTemplates.FileTemplateManager;
import com.intellij.ide.fileTemplates.FileTemplateUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.project.Project;
import com.intellij.util.ArrayUtil;
import core.actions.custom.base.SimpleAction;
import core.report.ReportHelper;
import core.report.enums.ExecutionState;
import core.report.models.FailedActionReport;
import core.report.models.SuccessActionReport;
import global.utils.Logger;
import global.utils.factories.GsonFactory;
import global.utils.file.FileReaderUtil;
import global.utils.file.FileWriter;
import global.utils.i18n.Localizer;
import global.utils.templates.FileTemplateHelper;
import global.utils.text.StringTools;

import java.io.File;
import java.util.Arrays;

/**
* Created by Arsen on 09.01.2017.
Expand Down Expand Up @@ -55,25 +55,25 @@ private void doRunInWrite() {
return;
}

FileTemplateManager ftm = FileTemplateManager.getInstance(project);

FileTemplateManager ftm = FileTemplateHelper.getManagerInstance(project);
FileTemplate oldTemplate = ftm.getTemplate(StringTools.getNameWithoutExtension(fileFrom.getName()));

if (oldTemplate != null) {
//todo ask?
// Logger.log("CreateFileTemplateAction file Exists");
ftm.removeTemplate(oldTemplate);
ftm.saveAllTemplates();
// ftm.saveAllTemplates();
}

FileTemplate newTemplate = ftm.addTemplate(
FileTemplate[] templates = ftm.getAllTemplates();

FileTemplate template = FileTemplateUtil.createTemplate(
StringTools.getNameWithoutExtension(fileFrom.getName()),
StringTools.getExtensionFromName(fileFrom.getName())
StringTools.getExtensionFromName(fileFrom.getName()),
text, templates
);
ftm.setTemplates(FileTemplateManager.DEFAULT_TEMPLATES_CATEGORY, Arrays.asList(ArrayUtil.append(templates, template)));


newTemplate.setText(text);
ftm.saveAllTemplates();

ReportHelper.putReport(new SuccessActionReport(this, toString()));
}

Expand Down
1 change: 1 addition & 0 deletions src/core/actions/executor/ActionExecutor.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package core.actions.executor;

import com.intellij.ide.fileTemplates.impl.FileTemplateManagerImpl;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
import core.actions.custom.DummyDirectoryAction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,11 @@ public void setPathBtnText(String path) {
btnPath.setText(path);
}

@Override
public void hideDialog() {
doCancelAction();
}

//=================================================================
// Favourites
//=================================================================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ public void removeFavourite(String path) {

@Override
public void onAutoImportAction() {
view.hideDialog();
ApplicationManager.getApplication().runReadAction(() -> {
AutoImport autoImport = SaveUtil.reader().getAutoImport();
ArrayList<VirtualFile> listVirtualFile = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,6 @@ public interface SelectPackageTemplateView {
void selectFavourite(Favourite selected);

void setPathBtnText(String path);

void hideDialog();
}
2 changes: 1 addition & 1 deletion src/global/Const.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
*/
public interface Const {

boolean IS_DEBUG = true;
boolean IS_DEBUG = false;
boolean SHOULD_LOG_TO_NOTIFICATION = false;

String EXPORT_FILE_NAME = "Templates.json";
Expand Down
19 changes: 13 additions & 6 deletions src/global/utils/templates/FileTemplateHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,15 @@
import com.intellij.ide.fileTemplates.FileTemplate;
import com.intellij.ide.fileTemplates.FileTemplateManager;
import com.intellij.ide.fileTemplates.FileTemplatesScheme;
import com.intellij.openapi.options.SchemeState;
import com.intellij.ide.fileTemplates.impl.FileTemplateManagerImpl;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
import com.intellij.util.ArrayUtil;
import global.models.TemplateForSearch;
import global.utils.i18n.Localizer;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Properties;

/**
Expand All @@ -28,7 +24,7 @@ public static boolean isDefaultScheme(Project project) {
}

private static FileTemplateManager getProjectManager(Project project) {
return FileTemplateManager.getInstance(project);
return FileTemplateManagerImpl.getInstance(project);
}

private static FileTemplateManager getDefaultManager() {
Expand All @@ -44,6 +40,17 @@ public static String getFileTemplatesDefaultDirPath() {
}


private static FileTemplateManager fileTemplateManager;

public static FileTemplateManager getManagerInstance(Project project) {
if (fileTemplateManager == null) {
fileTemplateManager = FileTemplateManagerImpl.getInstance(project);
}

return fileTemplateManager;
}


//=================================================================
// Read
//=================================================================
Expand Down
2 changes: 1 addition & 1 deletion src/global/wrappers/PackageTemplateWrapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ private void buildProperties() {
if (mode == ViewMode.USAGE) {
jtfName.setEditable(false);
jtaDescription.setEditable(false);
cboxFileTemplateSource.setEditable(false);
cboxFileTemplateSource.setEnabled(false);
} else {
// Properties
cbShouldRegisterAction = new JBCheckBox(Localizer.get("property.ShouldRegisterAction"), packageTemplate.isShouldRegisterAction());
Expand Down

0 comments on commit b056602

Please sign in to comment.