IDEA-162376 Compact Empty Middle Packages, Flatten Packages options in the Project toolwindow don't work any more

This commit is contained in:
Konstantin Bulenkov
2016-10-19 14:13:57 +02:00
parent d8b37da7e4
commit 2c43da113c
@@ -532,11 +532,19 @@ public class ProjectViewImpl extends ProjectView implements PersistentStateCompo
public void setSelected(AnActionEvent event, boolean flag) {
final AbstractProjectViewPane viewPane = getCurrentProjectViewPane();
final SelectionInfo selectionInfo = SelectionInfo.create(viewPane);
if (isGlobalOptions()) {
setFlattenPackages(flag, viewPane.getId());
}
super.setSelected(event, flag);
selectionInfo.apply(viewPane);
}
@Override
public boolean isSelected(AnActionEvent event) {
if (isGlobalOptions()) return getGlobalOptions().getFlattenPackages();
return super.isSelected(event);
}
}).setAsSecondary(true);
}
@@ -549,6 +557,14 @@ public class ProjectViewImpl extends ProjectView implements PersistentStateCompo
super(optionsMap, text, description, icon, optionDefaultValue);
}
@Override
public void setSelected(AnActionEvent event, boolean flag) {
if (isGlobalOptions()) {
getGlobalOptions().setFlattenPackages(flag);
}
super.setSelected(event, flag);
}
@Override
public void update(AnActionEvent e) {
super.update(e);
@@ -1376,8 +1392,12 @@ public class ProjectViewImpl extends ProjectView implements PersistentStateCompo
public void setFlattenPackages(boolean flattenPackages, String paneId) {
if (isGlobalOptions()) {
getGlobalOptions().setFlattenPackages(flattenPackages);
for (String pane : myFlattenPackages.keySet()) {
setPaneOption(myFlattenPackages, flattenPackages, pane, true);
}
} else {
setPaneOption(myFlattenPackages, flattenPackages, paneId, true);
}
setPaneOption(myFlattenPackages, flattenPackages, paneId, true);
}
public boolean isFoldersAlwaysOnTop() {
@@ -1477,8 +1497,12 @@ public class ProjectViewImpl extends ProjectView implements PersistentStateCompo
public void setHideEmptyPackages(boolean hideEmptyPackages, @NotNull String paneId) {
if (isGlobalOptions()) {
getGlobalOptions().setHideEmptyPackages(hideEmptyPackages);
for (String pane : myHideEmptyPackages.keySet()) {
setPaneOption(myHideEmptyPackages, hideEmptyPackages, pane, true);
}
} else {
setPaneOption(myHideEmptyPackages, hideEmptyPackages, paneId, true);
}
setPaneOption(myHideEmptyPackages, hideEmptyPackages, paneId, true);
}
@Override
@@ -1516,16 +1540,25 @@ public class ProjectViewImpl extends ProjectView implements PersistentStateCompo
final AbstractProjectViewPane viewPane = getCurrentProjectViewPane();
final SelectionInfo selectionInfo = SelectionInfo.create(viewPane);
if (isGlobalOptions()) {
getGlobalOptions().setHideEmptyPackages(flag);
}
super.setSelected(event, flag);
selectionInfo.apply(viewPane);
}
@Override
public boolean isSelected(AnActionEvent event) {
if (isGlobalOptions()) return getGlobalOptions().getHideEmptyPackages();
return super.isSelected(event);
}
@Override
public void update(AnActionEvent e) {
super.update(e);
final Presentation presentation = e.getPresentation();
if (isFlattenPackages(myCurrentViewId)) {
if (isHideEmptyMiddlePackages(myCurrentViewId)) {
presentation.setText(IdeBundle.message("action.hide.empty.middle.packages"));
presentation.setDescription(IdeBundle.message("action.show.hide.empty.middle.packages"));
}