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();


Reply via email to