Author: jflesch
Date: 2007-06-02 12:50:14 +0000 (Sat, 02 Jun 2007)
New Revision: 13463

Modified:
   trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java
   trunk/apps/Thaw/src/thaw/plugins/index/Index.java
   trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
   trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
   trunk/apps/Thaw/src/thaw/plugins/index/IndexTreeNode.java
Log:
Another try to fix bug #1254 (Index who were modified are not highlighted 
correctly)

Modified: trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java     2007-06-01 
20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java     2007-06-02 
12:50:14 UTC (rev 13463)
@@ -138,7 +138,7 @@

        public void update(java.util.Observable o, Object param) {

-               
browserPanel.getIndexTree().refresh(((Index)o).getTreePath(browserPanel.getIndexTree()));
+               
browserPanel.getIndexTree().redraw(((Index)o).getTreePath(browserPanel.getIndexTree()));

                if 
(o.equals(browserPanel.getTables().getFileTable().getFileList())) {
                        browserPanel.getTables().getFileTable().refresh();

Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java   2007-06-01 20:51:27 UTC 
(rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java   2007-06-02 12:50:14 UTC 
(rev 13463)
@@ -365,7 +365,7 @@
                synchronized(db.dbLock) {
                        try {
                                PreparedStatement st =
-                                       
db.getConnection().prepareStatement("SELECT publicKey, revision, privateKey, 
displayName FROM indexes WHERE id = ? LIMIT 1");
+                                       
db.getConnection().prepareStatement("SELECT publicKey, revision, privateKey, 
displayName, newRev, newComment FROM indexes WHERE id = ? LIMIT 1");

                                st.setInt(1, id);

@@ -376,6 +376,8 @@
                                        privateKey = 
set.getString("privateKey");
                                        rev = set.getInt("revision");
                                        displayName = 
set.getString("displayName");
+                                       hasChanged = set.getBoolean("newRev");
+                                       newComment = 
set.getBoolean("newComment");
                                        return true;
                                } else {
                                        Logger.error(this, "Unable to find 
index "+Integer.toString(id)+" in the database ?!");
@@ -1677,8 +1679,8 @@
        }


-       public void forceHasChangedReload() {
-               Logger.debug(this, "forceHasChangedReload() => loadData()");
+       public void forceFlagsReload() {
+               Logger.debug(this, "forceReload() => loadData()");
                loadData();
        }


Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java     2007-06-01 
20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java     2007-06-02 
12:50:14 UTC (rev 13463)
@@ -1213,13 +1213,13 @@
        private boolean lastHasChangedValue = false;
        private boolean hasLastHasChangedValueBeenSet = false;

-       public void forceHasChangedReload() {
+       public void forceFlagsReload() {
                if (children != null) {
                        synchronized(children) {
                                for (Iterator it = children.iterator();
                                     it.hasNext();) {
                                        IndexTreeNode child = 
(IndexTreeNode)it.next();
-                                       child.forceHasChangedReload();
+                                       child.forceFlagsReload();
                                }
                        }
                }

Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java       2007-06-01 
20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java       2007-06-02 
12:50:14 UTC (rev 13463)
@@ -532,16 +532,15 @@
        }


-       private boolean forceHasChangedFlagReload = false;

-
        public void refresh() {
                refresh(((IndexTreeNode)null));
        }


        public void refresh(IndexTreeNode node) {
-               forceHasChangedFlagReload = true;
+               if (node != null)
+                       node.forceFlagsReload();

                if (treeModel != null) {
                        if (node != null && node.isInTree())
@@ -549,8 +548,6 @@
                        else
                                treeModel.reload(getRoot().getTreeNode());
                }
-
-               forceHasChangedFlagReload = false;
        }


@@ -577,8 +574,9 @@
        }

        public void redraw(IndexTreeNode node) {
-               //refresh(node);
-               forceHasChangedFlagReload = true;
+               if (node != null)
+                       node.forceFlagsReload();
+
                if (treeModel != null) {
                        if (node != null && node.isInTree()) {
                                treeModel.nodeChanged(node.getTreeNode());
@@ -586,7 +584,6 @@
                                treeModel.nodeChanged(getRoot().getTreeNode());
                        }
                }
-               forceHasChangedFlagReload = false;
        }

        public void redraw(TreePath path) {
@@ -741,10 +738,6 @@
                                        /* Remember that for the index category,
                                           this kind of query is recursive */
                                        boolean modifiable = 
((IndexTreeNode)o).isModifiable();
-
-                                       if (forceHasChangedFlagReload)
-                                               
((IndexTreeNode)o).forceHasChangedReload();
-
                                        boolean hasChanged = 
((IndexTreeNode)o).hasChanged();
                                        boolean newComment = 
((IndexTreeNode)o).hasNewComment();


Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexTreeNode.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexTreeNode.java   2007-06-01 
20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexTreeNode.java   2007-06-02 
12:50:14 UTC (rev 13463)
@@ -71,7 +71,7 @@


        /**
-        * Will also force newComment flag reloading
+        * Will force hasChanged & newComment flag reloading
         */
-       public void forceHasChangedReload();
+       public void forceFlagsReload();
 }


Reply via email to