Author: jflesch
Date: 2007-08-08 21:39:12 +0000 (Wed, 08 Aug 2007)
New Revision: 14543
Modified:
trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
trunk/apps/Thaw/src/thaw/i18n/thaw.properties
trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
Log:
Allow to sort a whole folder with the automatic sorting
Modified: trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-08-08
21:16:24 UTC (rev 14542)
+++ trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-08-08
21:39:12 UTC (rev 14543)
@@ -407,6 +407,7 @@
thaw.plugin.index.autoSorting=Essayer de trier automatiquement les indexes
thaw.plugin.index.automaticallySorted=Automatiquement tri?s
thaw.plugin.index.autoSortAction=Ranger cet index d'apr?s sa cat?gorie
+thaw.plugin.index.autoSortFolderAction=Ranger les indexes d'apr?s leur
cat?gorie
# Peer monitor
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-08-08 21:16:24 UTC
(rev 14542)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-08-08 21:39:12 UTC
(rev 14543)
@@ -419,6 +419,7 @@
thaw.plugin.index.autoSorting=Try to sort automatically the indexes
thaw.plugin.index.automaticallySorted=Automatically sorted
thaw.plugin.index.autoSortAction=Sort this index according to its category
+thaw.plugin.index.autoSortFolderAction=Sort the indexes according to their
categories
# Peer monitor
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
2007-08-08 21:16:24 UTC (rev 14542)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
2007-08-08 21:39:12 UTC (rev 14543)
@@ -714,6 +714,41 @@
}
+ public static boolean autoSortIndexes(IndexBrowserPanel indexBrowser,
+ IndexTreeNode node) {
+ if (node instanceof Index) {
+ String cat = ((Index)node).getCategory();
+
+ if (cat != null)
+ return autoSortIndex(indexBrowser, (Index)node,
cat);
+ else
+ Logger.notice(indexBrowser, "No category ;
can't sort");
+
+ } else if (node instanceof IndexFolder) {
+
+ IndexFolder folder = ((IndexFolder)node);
+
+ /**
+ * to avoid the collision due to the vector in the
IndexFolder
+ */
+ if
(I18n.getMessage("thaw.plugin.index.automaticallySorted").equals(folder.toString()))
{
+ return false;
+ }
+
+ for (java.util.Enumeration children = folder.children();
+ children.hasMoreElements();) {
+
+ /* dirty recursivity */
+ IndexTreeNode subNode =
(IndexTreeNode)children.nextElement();
+ autoSortIndexes(indexBrowser, subNode);
+
+ }
+ }
+
+ return true;
+ }
+
+
public static boolean autoSortIndex(IndexBrowserPanel indexBrowser,
Index index,
String cat) {
@@ -748,13 +783,19 @@
super.setTarget(node);
if (getActionSource() != null)
- getActionSource().setEnabled((node != null) &&
node instanceof Index);
+ getActionSource().setEnabled(node != null);
}
public void apply() {
- autoSortIndex(getIndexBrowserPanel(),
- (Index)getTarget(),
- ((Index)getTarget()).getCategory());
+ if (getTarget() instanceof Index) {
+ if (((Index)getTarget()).getCategory() == null)
{
+ Logger.warning(this, "No category =>
can't sort !");
+ return;
+ }
+ }
+
+ autoSortIndexes(getIndexBrowserPanel(),
+ (IndexTreeNode)getTarget());
}
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java 2007-08-08
21:16:24 UTC (rev 14542)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java 2007-08-08
21:39:12 UTC (rev 14543)
@@ -188,6 +188,10 @@
indexFolderMenu.add(item);
indexFolderActions.add(new
IndexManagementHelper.IndexHasChangedFlagReseter(indexBrowser, item));
+ item = new
JMenuItem(I18n.getMessage("thaw.plugin.index.autoSortFolderAction"));
+ indexFolderMenu.add(item);
+ indexFolderActions.add(new
IndexManagementHelper.IndexSorter(indexBrowser, item));
+
item = new
JMenuItem(I18n.getMessage("thaw.plugin.index.sortAlphabetically"));
indexFolderMenu.add(item);
indexFolderActions.add(new
IndexManagementHelper.IndexFolderReorderer(indexBrowser, item));