Author: jflesch
Date: 2007-09-24 13:12:02 +0000 (Mon, 24 Sep 2007)
New Revision: 15288
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardTree.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
Log:
Improve a little bit the display performances in MiniFrost
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-09-23 16:28:32 UTC
(rev 15287)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-09-24 13:12:02 UTC
(rev 15288)
@@ -495,7 +495,7 @@
return;
}
- Logger.notice(this, "==== GET FAILED
===\n"+message.toString());
+ Logger.notice(this, "GetFailed :
"+message.getValue("CodeDescription"));
if(!isRunning()) { /* Must be a "GetFailed: cancelled
by caller", so we simply ignore */
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardTree.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardTree.java 2007-09-23
16:28:32 UTC (rev 15287)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardTree.java 2007-09-24
13:12:02 UTC (rev 15288)
@@ -341,9 +341,20 @@
draftsState.setText(str);
}
+ private Board currentlySelected = null;
+
+ /**
+ * seems to be called twice
+ */
public void valueChanged(javax.swing.event.ListSelectionEvent e) {
+
Board b = ((Board)list.getSelectedValue());
+ if (b == currentlySelected)
+ return;
+
+ currentlySelected = b;
+
for (Iterator it = actions.iterator();
it.hasNext();) {
((BoardManagementHelper.BoardAction)it.next()).setTarget(b);
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-09-23 16:28:32 UTC (rev 15287)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-09-24 13:12:02 UTC (rev 15288)
@@ -272,6 +272,7 @@
public void refresh() {
+
subPanels = new Vector();
/* will imbricate BorderLayout */
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
2007-09-23 16:28:32 UTC (rev 15287)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
2007-09-24 13:12:02 UTC (rev 15288)
@@ -316,6 +316,9 @@
nextUnread.setMnemonic(KeyEvent.VK_Z);
}
+ /**
+ * will revalidate
+ */
public void redisplayed() {
/**
* due to a swing bug ?
@@ -328,6 +331,8 @@
nextUnread.setMnemonic(KeyEvent.VK_N);
nextUnread.requestFocus();
+
+ panel.revalidate();
}
public JPanel getPanel() {
@@ -859,6 +864,9 @@
public int getRow(Message msg) {
+ if (msg == null)
+ return -1;
+
return model.getRow(msg);
}
@@ -1138,8 +1146,6 @@
minTrustLevelInt);
if (newMsg != null) {
- /** hmm ... I'm starting to wonder if it wouldn't be
more efficient to
- * search directly in the Vector msgs in the model */
int line = getRow(newMsg);
if (line >= 0) {
@@ -1149,10 +1155,10 @@
javax.swing.SwingUtilities.invokeLater(new
LineSelecter(line));
}
+ newMsg.setRead(true);
mainPanel.getMessagePanel().setMessage(newMsg);
- newMsg.setRead(true);
- refresh();
- mainPanel.getBoardTree().refresh(targetBoard);
+
+ /* will do all the refresh display required */
mainPanel.displayMessage();
return true;
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
2007-09-23 16:28:32 UTC (rev 15287)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
2007-09-24 13:12:02 UTC (rev 15288)
@@ -97,7 +97,7 @@
else
rightSplit.setRightComponent(draftPanel.getPanel());
- mainSplit.validate();
+ //mainSplit.validate();
draftPanel.redisplayed();
@@ -118,7 +118,7 @@
rightSplit.setRightComponent(messagePanel.getPanel());
}
- mainSplit.validate();
+ //mainSplit.validate();
messageTreeTable.redisplayed();
@@ -137,13 +137,21 @@
rightSplit.setRightComponent(messagePanel.getPanel());
messagePanel.redisplayed();
- mainSplit.validate();
+ //mainSplit.validate();
if (messagePanel.getMessage() != null
&& !messagePanel.getMessage().isRead()) {
messagePanel.getMessage().setRead(true);
- messageTreeTable.refresh(messagePanel.getMessage());
+
+ int row =
messageTreeTable.getRow(messagePanel.getMessage());
+
+ if (row >= 0)
+ messageTreeTable.refresh(row);
+ else
+ messageTreeTable.refresh();
+
boardTree.refresh(messagePanel.getMessage().getBoard());
+
}
messagePanel.redisplayed();