AbstractSettingsApplication.st
changeset 7494 6f26553bcc80
parent 7493 5228ee30b54a
child 7506 febf3a7d9520
--- a/AbstractSettingsApplication.st	Thu Nov 09 14:49:50 2006 +0100
+++ b/AbstractSettingsApplication.st	Thu Nov 09 15:12:53 2006 +0100
@@ -234,9 +234,11 @@
 		managerIsSmallTeamSourceCodeManager
 		selectedPerSmallTeamModuleRoot
 		perSmallTeamModuleFieldsEnableHolder perSmallTeamModuleRoot
-		perSmallTeamModuleRootModule perSmallTeamModuleHostnameHolder'
-	classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts LastStoreHost
-		LastStoreUser LastStorePassword'
+		perSmallTeamModuleRootModule perSmallTeamModuleHostnameHolder
+		smallTeamHostnameHolder'
+	classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts
+		RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser
+		LastStorePassword'
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication
 !
@@ -10968,9 +10970,11 @@
             self basicSaveCVSSettings.
         ] ifFalse:[ manager isStore ifTrue:[
             self basicSaveStoreSettings.
+        ] ifFalse:[ manager isSmallTeam ifTrue:[
+            self basicSaveSmallTeamSettings.
         ] ifFalse:[
             self error.
-        ]].
+        ]]].
 
         self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
 
@@ -10979,7 +10983,9 @@
         Smalltalk at:#SourceCodeManager put:nil
     ].
 
-    self acceptChannel value.    
+    self acceptChannel value.
+
+    "Modified: / 09-11-2006 / 14:56:52 / cg"
 !
 
 condenseSourceCache
@@ -11094,7 +11100,7 @@
     self cvsLogin:perModuleRoot value.
 ! !
 
-!AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'actions - share'!
+!AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'actions - smallTeam'!
 
 addPerSmallTeamModuleHost
     |module host|
@@ -11107,6 +11113,24 @@
     self addModule:module withData:(Array with:SmallTeamSourceCodeManager with:host).
 
     "Created: / 09-11-2006 / 14:35:50 / cg"
+!
+
+basicSaveSmallTeamSettings
+    |host|
+
+    SmallTeamSourceCodeManager hostName:(host := self smallTeamHostnameHolder value withoutSeparators).
+
+    RecentlyUsedSmallTeamHosts isNil ifTrue:[
+        RecentlyUsedSmallTeamHosts := OrderedCollection new.
+    ].
+    (RecentlyUsedSmallTeamHosts includes:host) ifFalse:[
+        RecentlyUsedSmallTeamHosts addFirst:host.
+        RecentlyUsedSmallTeamHosts size > 20 ifTrue:[
+            RecentlyUsedSmallTeamHosts removeLast.
+        ].
+    ].
+
+    "Created: / 09-11-2006 / 14:58:44 / cg"
 ! !
 
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'actions - store'!
@@ -11544,6 +11568,17 @@
     ^ selectedPerStoreModuleRoot.
 !
 
+smallTeamHostnameHolder
+
+    smallTeamHostnameHolder isNil ifTrue:[
+        smallTeamHostnameHolder := '' asValue.
+        "/ smallTeamHostnameHolder addDependent:self.
+    ].
+    ^ smallTeamHostnameHolder.
+
+    "Created: / 09-11-2006 / 15:04:10 / cg"
+!
+
 sourceCacheDir
     sourceCacheDir isNil ifTrue:[
         sourceCacheDir := ValueHolder new.
@@ -13699,5 +13734,5 @@
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.265 2006-11-09 13:49:50 cg Exp $'
-! !
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.266 2006-11-09 14:12:53 cg Exp $'
+! !