corner imagecorner image FeaturesPluginsPlatformDocs & SupportCommunityPartners


[hg] main-silver: properly show/hide waitnode on refresh

  • From: Tomas Stupka < >
  • To:
  • Subject: [hg] main-silver: properly show/hide waitnode on refresh
  • Date: Thu, 09 Feb 2012 14:30:04 -0800

changeset f601aea1d663 in main-silver ((none))
details: http://hg.netbeans.org/main-silver/rev/f601aea1d663
description:
        properly show/hide waitnode on refresh

diffstat:

 
versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryFileView.java
 |   9 ++-
 
versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryRootNode.java
 |  33 ++++++---
 2 files changed, 27 insertions(+), 15 deletions(-)

diffs (97 lines):

diff --git 
a/versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryFileView.java
 
b/versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryFileView.java
--- 
a/versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryFileView.java
+++ 
b/versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryFileView.java
@@ -209,7 +209,7 @@
                     return;
                 }    
                 try {
-                    rootNode.loadingStarted();
+                    rootNode.loadingVCSStarted();
 
                     VCSHistoryProvider.HistoryEntry[] vcsHistory;
                     if(forceLoadAll || 
HistorySettings.getInstance().getLoadAll()) {
@@ -234,7 +234,7 @@
                     }
                     rootNode.addVCSEntries(entries.toArray(new 
HistoryEntry[entries.size()]));
                 } finally {
-                    rootNode.loadingFinished(currentDateFrom);
+                    rootNode.loadingVCSFinished(currentDateFrom);
                     // XXX yet select the first node on
                 }
             }
@@ -390,10 +390,15 @@
             }
             
             // refresh local history
+            try {
+                root.addWaitNode();
             VCSHistoryProvider lhProvider = 
getHistoryProvider(History.getInstance().getLocalHistory(files));
             if(lhProvider != null && (providerToRefresh == null || 
lhProvider == providerToRefresh)) {
                 root.addLHEntries(loadLHEntries(files));
             }
+            } finally {
+                root.removeWaitNode();
+            }
             // refresh vcs
             VCSHistoryProvider vcsProvider = 
getHistoryProvider(versioningSystem);
             if(tc != null && vcsProvider != null && (providerToRefresh == 
null || providerToRefresh == vcsProvider)) {
diff --git 
a/versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryRootNode.java
 
b/versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryRootNode.java
--- 
a/versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryRootNode.java
+++ 
b/versioning.ui/src/org/netbeans/modules/versioning/ui/history/HistoryRootNode.java
@@ -84,8 +84,6 @@
         this.vcsName = vcsName;
         this.loadNextAction = loadNextAction;
         this.actions = actions;
-        waitNode = new WaitNode();
-        getChildren().add(new Node[] {waitNode}); 
     }
     
     static boolean isLoadNext(Object n) {
@@ -136,27 +134,36 @@
         getChildren().add(nodes);
     }
 
-    synchronized void loadingStarted() {
+    public synchronized void addWaitNode() {
+        if(waitNode != null) {
+            getChildren().remove(new Node[] { waitNode });
+        }
+        waitNode = new WaitNode();
+        getChildren().add(new Node[] { waitNode });
+    }
+    
+    public synchronized void removeWaitNode() {
+        if(waitNode != null) {
+            getChildren().remove(new Node[] { waitNode });
+            waitNode = null;
+        }
+    }
+    
+    synchronized void loadingVCSStarted() {
         Children children = getChildren();
         if(loadNextNode != null) {
             children.remove(new Node[] { loadNextNode });
         }
-        if(waitNode != null) {
-            children.remove(new Node[] { waitNode });
-        }
-        waitNode = new WaitNode();
-        children.add(new Node[] { waitNode });
+        addWaitNode();
     }
 
-    synchronized void loadingFinished(Date dateFrom) {
+    synchronized void loadingVCSFinished(Date dateFrom) {
         Children children = getChildren();
-        if(waitNode != null) {
-            children.remove(new Node[] { waitNode });
-    }                
+        removeWaitNode();         
         if(loadNextNode != null) {
             children.remove(new Node[] { loadNextNode });
         }
-        if(!HistorySettings.getInstance().getLoadAll()) {
+        if(dateFrom != null && !HistorySettings.getInstance().getLoadAll()) {
             loadNextNode = new LoadNextNode(dateFrom);
             children.add(new Node[] {loadNextNode});
         }

[hg] main-silver: properly show/hide waitnode on refresh

Tomas Stupka 02/09/2012

Project Features

About this Project

VersionControl was started in November 2009, is owned by tpavek, and has 86 members.
 
 
Close
loading
Please Confirm
Close