Author: jflesch
Date: 2008-02-16 01:13:31 +0000 (Sat, 16 Feb 2008)
New Revision: 17969
Added:
trunk/apps/Thaw/src/thaw/core/PleaseWaitDialog.java
Modified:
trunk/apps/Thaw/src/thaw/core/ConfigWindow.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
Log:
IndexBrowser : Add a dialog 'please wait' with reordering many indexes
Modified: trunk/apps/Thaw/src/thaw/core/ConfigWindow.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/ConfigWindow.java 2008-02-16 01:12:47 UTC
(rev 17968)
+++ trunk/apps/Thaw/src/thaw/core/ConfigWindow.java 2008-02-16 01:13:31 UTC
(rev 17969)
@@ -11,10 +11,6 @@
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
-import javax.swing.JLabel;
-import java.awt.Dimension;
-import java.awt.Toolkit;
-
import thaw.gui.TabbedPane;
import thaw.gui.IconBox;
@@ -237,35 +233,10 @@
}
public void apply() {
- JDialog dialog = null;
+ PleaseWaitDialog dialog = null;
if (resetConnection) {
- dialog = new
JDialog(core.getMainWindow().getMainFrame(),
- "
"+I18n.getMessage("thaw.common.pleaseWait"));
-
- dialog.getContentPane().setLayout(new
GridLayout(1, 1));
- dialog.getContentPane().add(new
JLabel(I18n.getMessage("thaw.common.pleaseWait"),
-
JLabel.CENTER));
-
- //dialog.setUndecorated(true);
- dialog.setResizable(false);
-
- dialog.setSize(150, 30);
-
- Dimension screenSize =
-
Toolkit.getDefaultToolkit().getScreenSize();
-
- Dimension dialogSize = dialog.getSize();
- dialog.setLocation(screenSize.width/2 -
(dialogSize.width/2),
- screenSize.height/2 -
(dialogSize.height/2));
-
- dialog.setVisible(true);
-
- dialog.setSize(150, 30);
-
- dialogSize = dialog.getSize();
- dialog.setLocation(screenSize.width/2 -
(dialogSize.width/2),
- screenSize.height/2 -
(dialogSize.height/2));
+ dialog = new
PleaseWaitDialog(core.getMainWindow());
}
/* Imply a whole reset => all the plugins will be
reloaded
@@ -284,7 +255,7 @@
"
"+core.getConfig().getValue("nodeAddress")+
":"+
core.getConfig().getValue("nodePort"));
else
- new
thaw.gui.WarningWindow(dialog,
+ new
thaw.gui.WarningWindow(dialog.getDialog(),
I18n.getMessage("thaw.warning.unableToConnectTo")+
"
"+core.getConfig().getValue("nodeAddress")+
":"+
core.getConfig().getValue("nodePort"));
@@ -305,7 +276,6 @@
}
if (resetConnection) {
- dialog.setVisible(false);
dialog.dispose();
}
}
Added: trunk/apps/Thaw/src/thaw/core/PleaseWaitDialog.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/PleaseWaitDialog.java
(rev 0)
+++ trunk/apps/Thaw/src/thaw/core/PleaseWaitDialog.java 2008-02-16 01:13:31 UTC
(rev 17969)
@@ -0,0 +1,50 @@
+package thaw.core;
+
+import java.awt.Dimension;
+import java.awt.GridLayout;
+import java.awt.Toolkit;
+
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+
+public class PleaseWaitDialog {
+ private JDialog dialog;
+
+ public PleaseWaitDialog(MainWindow mainWindow) {
+ dialog = new JDialog(mainWindow.getMainFrame(),
+ "
"+I18n.getMessage("thaw.common.pleaseWait"));
+
+ dialog.getContentPane().setLayout(new GridLayout(1, 1));
+ dialog.getContentPane().add(new
JLabel(I18n.getMessage("thaw.common.pleaseWait"),
+ JLabel.CENTER));
+
+// dialog.setUndecorated(true);
+// dialog.setResizable(false);
+
+ dialog.setSize(200, 75);
+
+ Dimension screenSize =
+ Toolkit.getDefaultToolkit().getScreenSize();
+
+ Dimension dialogSize = dialog.getSize();
+ dialog.setLocation(screenSize.width/2 - (dialogSize.width/2),
+ screenSize.height/2 - (dialogSize.height/2));
+
+ dialog.setVisible(true);
+
+ dialog.setSize(200, 75);
+
+ dialogSize = dialog.getSize();
+ dialog.setLocation(screenSize.width/2 - (dialogSize.width/2),
+ screenSize.height/2 - (dialogSize.height/2));
+ }
+
+ public JDialog getDialog() {
+ return dialog;
+ }
+
+ public void dispose() {
+ dialog.setVisible(false);
+ dialog.dispose();
+ }
+}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
2008-02-16 01:12:47 UTC (rev 17968)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
2008-02-16 01:13:31 UTC (rev 17969)
@@ -43,6 +43,7 @@
import thaw.gui.IconBox;
import thaw.core.Config;
+import thaw.core.PleaseWaitDialog;
import thaw.core.ThawThread;
import thaw.core.ThawRunnable;
import thaw.gui.FileChooser;
@@ -709,7 +710,7 @@
IndexFolder oldParent = (IndexFolder)index.getParent();
if (oldParent == dst) {
- Logger.notice(new IndexManagementHelper(), "Index
already sorted.");
+ Logger.notice(new IndexManagementHelper(), "Index
'"+index.toString()+"'already sorted.");
return false;
}
@@ -727,16 +728,23 @@
return true;
}
+ public static boolean autoSortIndexes(IndexBrowserPanel indexBrowser,
+
IndexTreeNode node,
+
MainWindow mainWindow) {
+ return autoSortIndexes(indexBrowser, node, mainWindow, true);
+ }
+
public static boolean autoSortIndexes(IndexBrowserPanel indexBrowser,
- IndexTreeNode node) {
+
IndexTreeNode node, MainWindow mainWindow,
+ boolean
showDialog) {
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");
+ Logger.notice(indexBrowser, "No category for
'"+((Index)node).toString()+"'; can't sort");
} else if (node instanceof IndexFolder) {
@@ -745,15 +753,23 @@
if (folder == null || "".equals(folder.toString())) {
return false;
}
+
+ PleaseWaitDialog dialog = null;
+
+ if (showDialog)
+ dialog = new PleaseWaitDialog(mainWindow);
for (java.util.Enumeration children = folder.children();
children.hasMoreElements();) {
/* dirty recursivity */
IndexTreeNode subNode =
(IndexTreeNode)children.nextElement();
- autoSortIndexes(indexBrowser, subNode);
+ autoSortIndexes(indexBrowser, subNode, null,
false);
}
+
+ if (showDialog && dialog != null)
+ dialog.dispose();
}
return true;
@@ -761,10 +777,9 @@
public static boolean autoSortIndex(IndexBrowserPanel indexBrowser,
- Index index,
- String cat) {
+
Index index, String cat) {
if (cat == null) {
- Logger.warning(new IndexManagementHelper(), "No
category ; Can't sort the index");
+ Logger.info(new IndexManagementHelper(), "No category ;
Can't sort the index");
return false;
}
@@ -805,7 +820,8 @@
}
autoSortIndexes(getIndexBrowserPanel(),
- (IndexTreeNode)getTarget());
+
(IndexTreeNode)getTarget(),
+
getIndexBrowserPanel().getMainWindow());
}
}