added: #classMenuEditVersionInRepository
authorClaus Gittinger <cg@exept.de>
Thu, 17 Feb 2011 12:01:13 +0100
changeset 9783 4e0f273bcee6
parent 9782 381a57b56a0c
child 9784 afeca3b8a748
added: #classMenuEditVersionInRepository changed: #classMenuCVS
NewSystemBrowser.st
Tools__NewSystemBrowser.st
--- a/NewSystemBrowser.st	Thu Feb 17 10:30:10 2011 +0100
+++ b/NewSystemBrowser.st	Thu Feb 17 12:01:13 2011 +0100
@@ -6386,10 +6386,22 @@
             translateLabel: true
             submenuChannel: compareBuildSupportFileMenu
           )
-         )
-        nil
-        nil
-      )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            enabled: hasSingleClassSelectedAndSourceCodeManagerHolder
+            label: 'Edit Version in Repository...'
+            itemValue: classMenuEditVersionInRepository
+            translateLabel: true
+            showBusyCursorWhilePerforming: true
+          )
+         )
+        nil
+        nil
+      )
+
+    "Modified: / 17-02-2011 / 10:24:44 / cg"
 !
 
 classNewHaskellClassSlice
@@ -24218,6 +24230,40 @@
     "Modified: / 12-11-2006 / 15:41:49 / cg"
 !
 
+classMenuEditVersionInRepository
+    "open a changelist on a version in the repository.
+     Allow for changes to be made to this list, and the code be checked in as
+     a branch."
+
+    |currentClass mgr
+     nm rev source changeSet |
+
+    currentClass := self theSingleSelectedLoadedNonMetaclassOrNil.
+    currentClass isNil ifTrue:[
+        self warn:'Cannot load unloaded classes.'.
+        ^ self.
+    ].
+
+    nm := currentClass name.
+    mgr := SourceCodeManagerUtilities sourceCodeManagerFor:currentClass.
+    mgr isNil ifTrue:[
+        ^ self
+    ].
+
+    self normalLabel.
+    rev := SourceCodeManagerUtilities
+                askForExistingRevision:(resources string:'Edit which revision:')
+                title:(resources string:'Edit which repository version')
+                class:currentClass.
+    rev isNil ifTrue:[^ self].
+
+    source := self getClassSourceFor:currentClass revision:rev.
+    changeSet := ChangeSet fromStream:source readStream.
+    ChangeSetBrowser openOn:changeSet.
+
+    "Created: / 17-02-2011 / 10:29:59 / cg"
+!
+
 classMenuQuickCheckIn
     "check a class into the source repository (without checks)"
 
@@ -45090,11 +45136,11 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1516 2011-02-11 10:41:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1517 2011-02-17 11:01:13 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1516 2011-02-11 10:41:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1517 2011-02-17 11:01:13 cg Exp $'
 ! !
 
 NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowser.st	Thu Feb 17 10:30:10 2011 +0100
+++ b/Tools__NewSystemBrowser.st	Thu Feb 17 12:01:13 2011 +0100
@@ -6386,10 +6386,22 @@
             translateLabel: true
             submenuChannel: compareBuildSupportFileMenu
           )
-         )
-        nil
-        nil
-      )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            enabled: hasSingleClassSelectedAndSourceCodeManagerHolder
+            label: 'Edit Version in Repository...'
+            itemValue: classMenuEditVersionInRepository
+            translateLabel: true
+            showBusyCursorWhilePerforming: true
+          )
+         )
+        nil
+        nil
+      )
+
+    "Modified: / 17-02-2011 / 10:24:44 / cg"
 !
 
 classNewHaskellClassSlice
@@ -24218,6 +24230,40 @@
     "Modified: / 12-11-2006 / 15:41:49 / cg"
 !
 
+classMenuEditVersionInRepository
+    "open a changelist on a version in the repository.
+     Allow for changes to be made to this list, and the code be checked in as
+     a branch."
+
+    |currentClass mgr
+     nm rev source changeSet |
+
+    currentClass := self theSingleSelectedLoadedNonMetaclassOrNil.
+    currentClass isNil ifTrue:[
+        self warn:'Cannot load unloaded classes.'.
+        ^ self.
+    ].
+
+    nm := currentClass name.
+    mgr := SourceCodeManagerUtilities sourceCodeManagerFor:currentClass.
+    mgr isNil ifTrue:[
+        ^ self
+    ].
+
+    self normalLabel.
+    rev := SourceCodeManagerUtilities
+                askForExistingRevision:(resources string:'Edit which revision:')
+                title:(resources string:'Edit which repository version')
+                class:currentClass.
+    rev isNil ifTrue:[^ self].
+
+    source := self getClassSourceFor:currentClass revision:rev.
+    changeSet := ChangeSet fromStream:source readStream.
+    ChangeSetBrowser openOn:changeSet.
+
+    "Created: / 17-02-2011 / 10:29:59 / cg"
+!
+
 classMenuQuickCheckIn
     "check a class into the source repository (without checks)"
 
@@ -45090,11 +45136,11 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1516 2011-02-11 10:41:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1517 2011-02-17 11:01:13 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1516 2011-02-11 10:41:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1517 2011-02-17 11:01:13 cg Exp $'
 ! !
 
 NewSystemBrowser initialize!