diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml index b02f8b4..236de8b 100644 --- a/resources/META-INF/plugin.xml +++ b/resources/META-INF/plugin.xml @@ -1,7 +1,7 @@ com.hr.dimenify Dimenify - 3.4 + 3.5 Anvith Bhat v3.5
+ - Patched a folder creation bug v3.4
- Removed max bucket restriction,now add as many as you like. v3.3
@@ -51,7 +53,7 @@
- + @@ -66,18 +68,16 @@ - + text="Generate alternate dimens.." icon="/icons/dimenify.png" + description="This generates dimensions for other density buckets"> + + text="Generate alternate dimens from file" icon="/icons/dimenify.png" + description="This generates dimensions for other density buckets"> + relative-to-action="ProjectViewPopupMenuRefactoringGroup" /> diff --git a/src/com/hr/dimenify/action/AbstractDimenAction.java b/src/com/hr/dimenify/action/AbstractDimenAction.java index 456de3f..15046bd 100644 --- a/src/com/hr/dimenify/action/AbstractDimenAction.java +++ b/src/com/hr/dimenify/action/AbstractDimenAction.java @@ -17,14 +17,22 @@ import com.intellij.psi.xml.XmlFile; import com.intellij.psi.xml.XmlTag; -import javax.swing.*; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.MessageFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Locale; +import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; -import static com.hr.dimenify.util.Constants.*; +import javax.swing.JDialog; +import javax.swing.JOptionPane; + +import static com.hr.dimenify.util.Constants.MESSAGES; +import static com.hr.dimenify.util.Constants.MIGRATION_FLAG; +import static com.hr.dimenify.util.Constants.SAVE_PREFIX_V2; public abstract class AbstractDimenAction extends AnAction { @@ -100,32 +108,44 @@ protected void showAlert(int errorIndex) { protected void createDirectoriesAndFilesIfNeeded(PsiDirectory psiParent) { for (Dimen datum : data) { - WriteCommandAction.runWriteCommandAction(project, () -> { - PsiDirectory subDirectory = psiParent.findSubdirectory(datum.getDirectory()); - if (subDirectory == null) { - subDirectory = psiParent.createSubdirectory(datum.getDirectory()); - } - PsiFile file = subDirectory.findFile(Constants.FILE_NAME); - if (file == null) { - PsiFile psiFile = subDirectory.createFile(Constants.FILE_NAME); - Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); - document.setText(Constants.RESOURCES_TEXT); - fileCreationCompleteAndCheck(); - - } else { - fileCreationCompleteAndCheck(); - } - }); + if (datum.isSelected()) { + WriteCommandAction.runWriteCommandAction(project, () -> { + PsiDirectory subDirectory = psiParent.findSubdirectory(datum.getDirectory()); + if (subDirectory == null) { + subDirectory = psiParent.createSubdirectory(datum.getDirectory()); + } + PsiFile file = subDirectory.findFile(Constants.FILE_NAME); + if (file == null) { + PsiFile psiFile = subDirectory.createFile(Constants.FILE_NAME); + Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); + document.setText(Constants.RESOURCES_TEXT); + fileCreationCompleteAndCheck(); + + } else { + fileCreationCompleteAndCheck(); + } + }); + } } } protected void fileCreationCompleteAndCheck() { int value = fileCreationCount.incrementAndGet(); - if (value == data.size()) { + if (value == getSelectedCount(data)) { calculateAndWriteScaledValueToFiles(); } } + private int getSelectedCount(ArrayList data) { + int selected = 0; + for (Dimen d : data) { + if (d.isSelected()) { + selected++; + } + } + return selected; + } + @Override public void update(AnActionEvent e) { final VirtualFile file = CommonDataKeys.VIRTUAL_FILE.getData(e.getDataContext());