class: AbstractSettingsApplication
authorClaus Gittinger <cg@exept.de>
Thu, 06 Jun 2013 22:37:07 +0200
changeset 12872 2f2d2bb58976
parent 12871 74bdca95981d
child 12873 0bf1fc08cfd1
class: AbstractSettingsApplication fill cache action
AbstractSettingsApplication.st
--- a/AbstractSettingsApplication.st	Thu Jun 06 22:09:43 2013 +0200
+++ b/AbstractSettingsApplication.st	Thu Jun 06 22:37:07 2013 +0200
@@ -290,7 +290,7 @@
 		selectedManagerPerMatchingModuleHolder'
 	classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts
 		RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser
-		LastStorePassword'
+		LastStorePassword FillCacheProcess'
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication
 !
@@ -13659,6 +13659,9 @@
 #editPerPackageManager
 'Modify the selected per-package manager definition'
 
+#fillSourceCache
+'Fill the cache (by fetching all source files) in a low-prio background process'
+
 #flushSourceCache
 'Remove all files from the source cache.\Access to source code will temporarily be slowed down,\until sources have been refetched from the repository'
 
@@ -13690,8 +13693,6 @@
 'Output debugging messages on the Transcript\(mostly traces of the underlying scm mechanism, such as cvs commands)'
 
 )
-
-    "Modified: / 09-08-2012 / 09:41:28 / cg"
 ! !
 
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'image specs'!
@@ -13747,7 +13748,7 @@
           label: 'Source Code Manager Settings'
           name: 'Source Code Manager Settings'
           min: (Point 10 10)
-          bounds: (Rectangle 0 0 659 554)
+          bounds: (Rectangle 0 0 659 590)
         )
         component: 
        (SpecCollection
@@ -13918,7 +13919,7 @@
                                          )
                                        
                                       )
-                                      extent: (Point 625 266)
+                                      extent: (Point 623 264)
                                     )
                                    )
                                  
@@ -13967,7 +13968,31 @@
                                 )
                               )
                              (HorizontalPanelViewSpec
-                                name: 'CacheActionsHorizontalPanel'
+                                name: 'CacheActionsHorizontalPanel1'
+                                layout: (LayoutFrame 0 0 -52 1 0 1 -27 1)
+                                horizontalLayout: right
+                                verticalLayout: center
+                                horizontalSpace: 3
+                                verticalSpace: 3
+                                component: 
+                               (SpecCollection
+                                  collection: (
+                                   (ActionButtonSpec
+                                      label: 'Fill Cache now'
+                                      name: 'FillCacheInBackgroundButton'
+                                      activeHelpKey: fillSourceCache
+                                      translateLabel: true
+                                      tabable: true
+                                      model: fillSourceCache
+                                      enableChannel: useManager
+                                      extent: (Point 171 22)
+                                    )
+                                   )
+                                 
+                                )
+                              )
+                             (HorizontalPanelViewSpec
+                                name: 'CacheActionsHorizontalPanel2'
                                 layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
                                 horizontalLayout: right
                                 verticalLayout: center
@@ -13978,7 +14003,7 @@
                                   collection: (
                                    (ActionButtonSpec
                                       label: 'Browse Cache'
-                                      name: 'Button1'
+                                      name: 'Button3'
                                       activeHelpKey: browseSourceCache
                                       translateLabel: true
                                       tabable: true
@@ -13987,12 +14012,12 @@
                                       extent: (Point 171 22)
                                     )
                                    (ViewSpec
-                                      name: 'Box4'
+                                      name: 'Box5'
                                       extent: (Point 20 10)
                                     )
                                    (ActionButtonSpec
                                       label: 'Flush Cache now'
-                                      name: 'FlushCacheNowButton'
+                                      name: 'Button4'
                                       activeHelpKey: flushSourceCache
                                       translateLabel: true
                                       tabable: true
@@ -14002,7 +14027,7 @@
                                     )
                                    (ActionButtonSpec
                                       label: 'Condense Cache now'
-                                      name: 'CondenseCacheNowButton'
+                                      name: 'Button5'
                                       activeHelpKey: condenseSourceCache
                                       translateLabel: true
                                       tabable: true
@@ -14017,7 +14042,7 @@
                              )
                            
                           )
-                          extent: (Point 659 95)
+                          extent: (Point 659 117)
                         )
                        (ViewSpec
                           name: 'UseLocalSourceBox'
@@ -14397,6 +14422,26 @@
     "Modified: / 28-11-2006 / 12:21:33 / cg"
 !
 
+fillSourceCache
+    |p|
+
+    FillCacheProcess notNil ifTrue:[
+        FillCacheProcess terminate
+    ].
+    FillCacheProcess := p :=
+        [
+            [
+                Smalltalk allClasses do:[:eachClass |
+                    eachClass source
+                ]
+            ] ensure:[
+                (FillCacheProcess == p) ifTrue:[
+                    FillCacheProcess := nil
+                ]
+            ].
+        ] forkAt:(Processor systemBackgroundPriority)
+!
+
 flushSourceCache
     self withWaitCursorDo:[ AbstractSourceCodeManager flushSourceCache ].
 
@@ -17863,10 +17908,10 @@
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.468 2013-05-29 13:20:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.469 2013-06-06 20:37:07 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.468 2013-05-29 13:20:16 cg Exp $'
-! !
-
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.469 2013-06-06 20:37:07 cg Exp $'
+! !
+