MercurialSourceCodeManagementSettingsAppl.st
branchjv
changeset 12205 f210b6224ef0
parent 12128 a7ff7d66ee85
child 12265 f1b3696cf042
--- a/MercurialSourceCodeManagementSettingsAppl.st	Wed Mar 21 14:05:42 2012 +0000
+++ b/MercurialSourceCodeManagementSettingsAppl.st	Wed Mar 21 17:50:14 2012 +0000
@@ -12,12 +12,13 @@
 "{ Package: 'stx:libtool' }"
 
 AbstractSourceCodeManagementSettingsAppl subclass:#MercurialSourceCodeManagementSettingsAppl
-	instanceVariableNames:'repositoryHolder manager repository listOfModules
-		repositoryPrototypeList addPerModuleRepository removeEnabled
+	instanceVariableNames:'workDirectoryHolder repositoryHolder manager repository
+		repositoryPrototypeList addPerModuleRepository
 		removePerModuleRepository perModuleRepository
 		defaultRepositoryHolder selectedPerModuleRepository
 		hgBinDirectoryHolder hgExecutableHolder hgCommandTimeoutHolder
-		repositoriesPerModule perModuleRepositoryModule'
+		repositoriesPerModule perModuleRepositoryModule selectedPushURL
+		pushURL pushURLPrototypeList listOfPushURLs'
 	classVariableNames:'RecentlyUsedRepositoryURLS'
 	poolDictionaries:''
 	category:'System-SourceCodeManagement'
@@ -44,7 +45,7 @@
     Mercurial part of the source code settings. 
     This settings app controls the parameters of the MercurialSourceCodeManager.
 
-    Extrated for pluggability from SourceCodeManagerSettings in the AbstractSettingsApplication.
+    Extracted for pluggability from SourceCodeManagerSettings in the AbstractSettingsApplication.
 "
 ! !
 
@@ -304,7 +305,7 @@
           label: 'Mercurial Settings'
           name: 'Mercurial Settings'
           min: (Point 10 10)
-          bounds: (Rectangle 0 0 811 693)
+          bounds: (Rectangle 0 0 811 723)
         )
         component: 
        (SpecCollection
@@ -319,6 +320,14 @@
               component: 
              (SpecCollection
                 collection: (
+                 (LabelSpec
+                    label: 'Unfinished & Experimental'
+                    name: 'Label10'
+                    style: (FontDescription #'Segoe UI' medium roman 16 #'ms-default')
+                    foregroundColor: (Color 86.9993133440147 0.0 0.0)
+                    translateLabel: true
+                    extent: (Point 811 37)
+                  )
                  (ViewSpec
                     name: 'ManagerSetupBoxx'
                     component: 
@@ -333,6 +342,16 @@
                           component: 
                          (SpecCollection
                             collection: (
+                             (ComboBoxSpec
+                                name: 'ComboBox3'
+                                layout: (LayoutFrame 64 0.25 303 0 0 1 325 0)
+                                activeHelpKey: hgRootPerModuleModule
+                                tabable: true
+                                model: perModuleRepositoryModule
+                                acceptChannel: acceptChannel
+                                acceptOnPointerLeave: true
+                                comboList: sampleModuleList
+                              )
                              (CheckBoxSpec
                                 label: 'Show in Browser Menus'
                                 name: 'CheckBox1'
@@ -342,7 +361,7 @@
                                 translateLabel: true
                               )
                              (ViewSpec
-                                name: 'Box1'
+                                name: 'CommandBox'
                                 layout: (LayoutFrame 0 0 35 0 0 1 60 0)
                                 component: 
                                (SpecCollection
@@ -370,7 +389,7 @@
                                 )
                               )
                              (ViewSpec
-                                name: 'Box12'
+                                name: 'TimeoutBox'
                                 layout: (LayoutFrame 0 0 61 0 0 1 86 0)
                                 component: 
                                (SpecCollection
@@ -399,8 +418,41 @@
                                 )
                               )
                              (ViewSpec
-                                name: 'Box7'
-                                layout: (LayoutFrame 0 0.0 92 0 0 1 117 0)
+                                name: 'WorkDirectoryBox'
+                                layout: (LayoutFrame 0 0.0 85 0 0 1 110 0)
+                                component: 
+                               (SpecCollection
+                                  collection: (
+                                   (InputFieldSpec
+                                      name: 'EntryField2'
+                                      layout: (LayoutFrame 64 0.25 2 0 0 1 24 0)
+                                      activeHelpKey: hgRootDefault
+                                      tabable: true
+                                      model: workDirectoryHolder
+                                      immediateAccept: true
+                                      acceptOnLeave: true
+                                      acceptOnReturn: true
+                                      acceptOnTab: true
+                                      acceptOnLostFocus: true
+                                      acceptChannel: acceptChannel
+                                      acceptOnPointerLeave: true
+                                    )
+                                   (LabelSpec
+                                      label: 'Working Directory:'
+                                      name: 'Label9'
+                                      layout: (LayoutFrame 0 0.0 2 0 60 0.25 24 0)
+                                      activeHelpKey: hgRootDefault
+                                      level: 0
+                                      translateLabel: true
+                                      adjust: right
+                                    )
+                                   )
+                                 
+                                )
+                              )
+                             (ViewSpec
+                                name: 'RepositoryBox'
+                                layout: (LayoutFrame 0 0.0 120 0 0 1 145 0)
                                 component: 
                                (SpecCollection
                                   collection: (
@@ -435,7 +487,7 @@
                              (ActionButtonSpec
                                 label: 'Init'
                                 name: 'Button2'
-                                layout: (LayoutFrame -201 1 122 0 -101 1 144 0)
+                                layout: (LayoutFrame -201 1 150 0 -101 1 172 0)
                                 activeHelpKey: hgInit
                                 translateLabel: true
                                 tabable: true
@@ -445,7 +497,7 @@
                              (ActionButtonSpec
                                 label: 'Check Access'
                                 name: 'Button1'
-                                layout: (LayoutFrame -100 1 122 0 0 1 144 0)
+                                layout: (LayoutFrame -100 1 150 0 0 1 172 0)
                                 activeHelpKey: hgCheckAccess
                                 translateLabel: true
                                 tabable: true
@@ -455,14 +507,14 @@
                              (LabelSpec
                                 label: 'Repository per Module:'
                                 name: 'knownModulesLabel'
-                                layout: (LayoutFrame 0 0.0 150 0 60 0.25 172 0)
+                                layout: (LayoutFrame 0 0.0 178 0 60 0.25 200 0)
                                 activeHelpKey: hgRootPerModule
                                 translateLabel: true
                                 adjust: right
                               )
                              (SequenceViewSpec
                                 name: 'List1'
-                                layout: (LayoutFrame 64 0.25 150 0 0 1 269 0)
+                                layout: (LayoutFrame 64 0.25 178 0 0 1 297 0)
                                 activeHelpKey: hgRootPerModule
                                 tabable: true
                                 model: selectedPerModuleRepository
@@ -475,31 +527,22 @@
                              (LabelSpec
                                 label: 'Module:'
                                 name: 'moduleLabel'
-                                layout: (LayoutFrame 0 0.0 279 0 60 0.25 296 0)
+                                layout: (LayoutFrame 0 0.0 307 0 60 0.25 324 0)
                                 activeHelpKey: hgRootPerModuleModule
                                 translateLabel: true
                                 adjust: right
                               )
-                             (InputFieldSpec
-                                name: 'perModuleRepositoryModuleEntryField'
-                                layout: (LayoutFrame 64 0.25 275 0 0 1 297 0)
-                                activeHelpKey: hgRootPerModuleModule
-                                tabable: true
-                                model: perModuleRepositoryModule
-                                acceptChannel: acceptChannel
-                                acceptOnPointerLeave: true
-                              )
                              (LabelSpec
                                 label: 'Mercurial Repository:'
                                 name: 'hgRepository'
-                                layout: (LayoutFrame 0 0.0 304 0 60 0.25 321 0)
+                                layout: (LayoutFrame 0 0.0 332 0 60 0.25 349 0)
                                 activeHelpKey: hgRootPerModuleRoot
                                 translateLabel: true
                                 adjust: right
                               )
                              (ComboBoxSpec
                                 name: 'perModuleRepositoryComboBox'
-                                layout: (LayoutFrame 64 0.25 300 0 0 1.0 322 0)
+                                layout: (LayoutFrame 64 0.25 328 0 0 1.0 350 0)
                                 activeHelpKey: hgRootPerModuleRoot
                                 tabable: true
                                 model: perModuleRepository
@@ -514,7 +557,7 @@
                               )
                              (HorizontalPanelViewSpec
                                 name: 'HorizontalPanel2'
-                                layout: (LayoutFrame 64 0.25 327 0 -1 1 352 0)
+                                layout: (LayoutFrame 64 0.25 355 0 -1 1 380 0)
                                 horizontalLayout: right
                                 verticalLayout: center
                                 horizontalSpace: 3
@@ -576,7 +619,7 @@
                        )
                      
                     )
-                    extent: (Point 811 389)
+                    extent: (Point 811 420)
                   )
                  (FramedBoxSpec
                     label: 'Push URLs'
@@ -627,7 +670,7 @@
                           acceptOnLostFocus: true
                           acceptChannel: acceptChannel
                           acceptOnPointerLeave: true
-                          comboList: hgPushURLPrototypeList
+                          comboList: pushURLPrototypeList
                         )
                        (HorizontalPanelViewSpec
                           name: 'HorizontalPanel3'
@@ -655,7 +698,7 @@
                                 translateLabel: true
                                 tabable: true
                                 model: removePushURL
-                                enableChannel: removeEnabled
+                                enableChannel: removePushURLEnabled
                                 extent: (Point 100 22)
                               )
                              (ViewSpec
@@ -792,6 +835,7 @@
 
     repository := MercurialSourceCodeManager repositoryName.
     self repositoryHolder value:(repository ? '') asValue.
+    self workDirectoryHolder value:MercurialSourceCodeManager workDirectory.
 
     infoPerModule := MercurialSourceCodeManager repositoryInfoPerModule.
     infoPerModule keysAndValuesDo:[:module :info | 
@@ -810,7 +854,7 @@
     ].
 "/    self selectedPerModuleRootChanged.
 
-    "Modified: / 14-01-2012 / 23:59:03 / cg"
+    "Modified: / 03-03-2012 / 11:11:54 / cg"
 !
 
 basicSaveSettings
@@ -845,6 +889,7 @@
         ].
     ].
     MercurialSourceCodeManager repositoryInfoPerModule:infoPerModule.
+    MercurialSourceCodeManager workDirectory:self workDirectoryHolder value.
 
     self basicSaveMercurialSettings.
 
@@ -854,7 +899,7 @@
 
     self acceptChannel value.
 
-    "Modified: / 14-01-2012 / 19:58:46 / cg"
+    "Modified: / 03-03-2012 / 11:24:56 / cg"
 !
 
 removePerModuleRoot
@@ -951,18 +996,22 @@
     "Created: / 14-01-2012 / 20:02:22 / cg"
 !
 
-listOfModules
+initialListOfModules
+    ^ repositoriesPerModule keys asList sort.
+
+    "Created: / 02-03-2012 / 14:41:07 / cg"
+!
+
+
 
-    listOfModules isNil ifTrue:[
-        repositoriesPerModule notNil ifTrue:[
-            listOfModules := repositoriesPerModule keys asList.
-        ].
-        listOfModules sort.
-        listOfModules onChangeSend:#updateModifiedChannel to:self
+listOfPushURLs
+
+    listOfPushURLs isNil ifTrue:[
+        listOfPushURLs := List new.
     ].
-    ^ listOfModules.
+    ^ listOfPushURLs.
 
-    "Modified: / 14-01-2012 / 20:18:34 / cg"
+    "Created: / 02-03-2012 / 16:22:13 / cg"
 !
 
 perModuleRepository
@@ -984,14 +1033,38 @@
     "Created: / 14-01-2012 / 20:19:51 / cg"
 !
 
-removeEnabled
+pushURL
+    pushURL isNil ifTrue:[
+        pushURL := ValueHolder new.
+        pushURL addDependent:self.
+    ].
+    ^ pushURL.
+
+    "Created: / 02-03-2012 / 15:53:11 / cg"
+!
+
+pushURLPrototypeList
+    |prototypeList|
+
+    pushURLPrototypeList isNil ifTrue:[
+        prototypeList := OrderedSet new.
 
-    removeEnabled isNil ifTrue:[
-        removeEnabled := false asValue.
+"/        cvsRoot := self cvsRootFromCVSRootFileOrNil.
+"/        cvsRoot notNil ifTrue:[
+"/            prototypeList add:cvsRoot    
+"/        ].
+
+        prototypeList add:('https://inst.kilnhg.com/Repo/Foo/Bar/Baz').
+        "/ prototypeList add:('https://inst.kilnhg.com/Repo/Dino-VM/Group/Dino-VM').
+        pushURLPrototypeList := prototypeList asOrderedCollection.
     ].
-    ^ removeEnabled.
+    ^ pushURLPrototypeList.
+
+    "Created: / 02-03-2012 / 15:53:58 / cg"
 !
 
+
+
 repositoryHolder
 
     repositoryHolder isNil ifTrue:[
@@ -1014,6 +1087,7 @@
 "/            prototypeList add:cvsRoot    
 "/        ].
 
+        prototypeList add:('./hgRepository').
         prototypeList add:('https://inst.kilnhg.com/Repo/Foo/Bar/Baz').
         "/ prototypeList add:('https://inst.kilnhg.com/Repo/Dino-VM/Group/Dino-VM').
         repositoryPrototypeList := prototypeList asOrderedCollection.
@@ -1033,12 +1107,26 @@
     "Created: / 14-01-2012 / 20:14:04 / cg"
 !
 
-verboseSourceCodeAccess
-    verboseSourceCodeAccess isNil ifTrue:[
-        verboseSourceCodeAccess := false asValue.
-        verboseSourceCodeAccess onChangeSend:#updateModifiedChannel to:self
+selectedPushURL
+    selectedPushURL isNil ifTrue:[
+        selectedPushURL := ValueHolder new.
+        selectedPushURL addDependent:self.
     ].
-    ^ verboseSourceCodeAccess.
+    ^ selectedPushURL.
+
+    "Created: / 02-03-2012 / 15:52:09 / cg"
+!
+
+
+
+workDirectoryHolder
+    workDirectoryHolder isNil ifTrue:[
+        workDirectoryHolder := ValueHolder new.
+        workDirectoryHolder addDependent:self.
+    ].
+    ^ workDirectoryHolder.
+
+    "Created: / 03-03-2012 / 10:34:19 / cg"
 ! !
 
 !MercurialSourceCodeManagementSettingsAppl methodsFor:'change & update'!
@@ -1229,13 +1317,13 @@
 !MercurialSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Id: MercurialSourceCodeManagementSettingsAppl.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/MercurialSourceCodeManagementSettingsAppl.st,v 1.16 2012/03/12 11:05:56 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/MercurialSourceCodeManagementSettingsAppl.st,v 1.7 2012/01/26 12:50:43 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/MercurialSourceCodeManagementSettingsAppl.st,v 1.16 2012/03/12 11:05:56 cg Exp §'
 !
 
 version_SVN
-    ^ '$Id: MercurialSourceCodeManagementSettingsAppl.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+    ^ '$Id: MercurialSourceCodeManagementSettingsAppl.st 7952 2012-03-21 17:50:14Z vranyj1 $'
 ! !