Small fixes for working with changesets jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 12 Nov 2013 21:47:38 +0000
branchjv
changeset 13674 7cf98b160823
parent 13673 0e02e5ca25cd
child 13675 36933883999a
Small fixes for working with changesets
Tools__ChangeSetBrowser2.st
Tools__ChangeSetDiffTool.st
Tools__ChangeSetSpec.st
--- a/Tools__ChangeSetBrowser2.st	Mon Nov 11 13:38:07 2013 +0000
+++ b/Tools__ChangeSetBrowser2.st	Tue Nov 12 21:47:38 2013 +0000
@@ -1259,14 +1259,13 @@
 
     <resource: #menu>
 
-    ^
+    ^ 
      #(Menu
         (
          (MenuItem
             enabled: hasChangeSelectedAndNotRemoved:
             label: 'Apply'
             itemValue: changeMenuApplySelection:
-            translateLabel: true
             isVisible: allowAcceptHolder
             shortcutKey: Accept
             auxValue: 100
@@ -1274,7 +1273,6 @@
          (MenuItem
             label: 'Apply all'
             itemValue: changeMenuApply:
-            translateLabel: true
             isVisible: allowAcceptHolder
           )
          (MenuItem
@@ -1285,7 +1283,6 @@
             label: 'Delete (selected)'
             itemValue: changeMenuDeleteSelection:
             nameKey: Delete
-            translateLabel: true
             isVisible: allowRemoveHolder
             shortcutKey: Delete
           )
@@ -1293,14 +1290,12 @@
             label: 'Delete (unselected)'
             itemValue: changeMenuDeleteSelectionInverted:
             nameKey: Delete
-            translateLabel: true
             isVisible: allowRemoveHolder
           )
          (MenuItem
             label: 'Undelete'
             itemValue: changeMenuUndeleteSelection:
             nameKey: Undelete
-            translateLabel: true
             isVisible: allowRemoveHolder
           )
          (MenuItem
@@ -1309,29 +1304,24 @@
           )
          (MenuItem
             label: 'Select...'
-            translateLabel: true
-            submenu:
+            submenu: 
            (Menu
               (
                (MenuItem
                   label: 'Select same'
                   itemValue: changeMenuSelectSame:
-                  translateLabel: true
                 )
                (MenuItem
                   label: 'Select additions (new classes/methods)'
                   itemValue: changeMenuSelectAdditions:
-                  translateLabel: true
                 )
                (MenuItem
                   label: 'Select removals'
                   itemValue: changeMenuSelectRemovals:
-                  translateLabel: true
                 )
                (MenuItem
                   label: 'Select differences'
                   itemValue: changeMenuSelectDifferences:
-                  translateLabel: true
                 )
                (MenuItem
                   label: '-'
@@ -1339,18 +1329,26 @@
                (MenuItem
                   label: 'Select all'
                   itemValue: changeMenuSelectAll:
-                  translateLabel: true
                   shortcutKey: SelectAll
                 )
                (MenuItem
                   label: 'Select none'
                   itemValue: changeMenuSelectNone:
-                  translateLabel: true
                 )
                (MenuItem
                   label: 'Invert Selection'
                   itemValue: changeMenuSelectInversion:
-                  translateLabel: true
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Select version_XXX methods'
+                  itemValue: changeMenuSelectVersionMethods:
+                )
+               (MenuItem
+                  label: 'Select copyright methods'
+                  itemValue: changeMenuSelectCopyrightMethods:
                 )
                (MenuItem
                   label: '-'
@@ -1358,7 +1356,6 @@
                (MenuItem
                   label: 'Select Using Block...'
                   itemValue: changeMenuSelectUsingBlock:
-                  translateLabel: true
                 )
                )
               nil
@@ -1371,14 +1368,12 @@
          (MenuItem
             enabled: notShowConflictsOnlyAspect
             label: 'Show Deleted'
-            translateLabel: true
             isVisible: allowRemoveHolder
             indication: showRemovedAspect
           )
          (MenuItem
             enabled: notShowConflictsOnlyAspect
             label: 'Show Same'
-            translateLabel: true
             indication: showSameAspect
           )
          (MenuItem
@@ -1391,18 +1386,18 @@
          (MenuItem
             label: 'Inspect change'
             itemValue: changeMenuInspect:
-            translateLabel: true
           )
          (MenuItem
             enabled: hasSingleChangeSelectedAndCanBrowse:
             label: 'Browse Method(s)'
             itemValue: changeMenuBrowse:
-            translateLabel: true
           )
          )
         nil
         nil
       )
+
+    "Modified (format): / 12-11-2013 / 17:36:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 changeMenu1
@@ -3268,6 +3263,20 @@
     "Created: / 04-08-2011 / 17:29:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+changeMenuSelectCopyrightMethods: changeList
+
+    self changeMenuSelectIn: changeList suchThat:[:changeEntry|
+        | change |
+
+        change :=  changeEntry change.
+        change isMethodCodeChange 
+            and:[change selector == #copyright
+            and:[change isForMeta]]
+    ]
+
+    "Created: / 12-11-2013 / 17:22:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 changeMenuSelectDifferences: changeList
 
     self changeMenuSelectIn: changeList suchThat:[:change|change delta = #~]
@@ -3359,6 +3368,20 @@
     "Modified: / 21-01-2013 / 17:13:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+changeMenuSelectVersionMethods: changeList
+
+    self changeMenuSelectIn: changeList suchThat:[:changeEntry|
+        | change |
+
+        change :=  changeEntry change.
+        change isMethodCodeChange 
+            and:[((AbstractSourceCodeManager isVersionMethodSelector: change selector) or:[AbstractSourceCodeManager isExtensionsVersionMethodSelector:change selector])
+            and:[change isForMeta]]
+    ]
+
+    "Created: / 12-11-2013 / 17:22:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 changeMenuUndeleteSelection: changeList
 
     self selectionDo:[:chg|chg removed: false]
--- a/Tools__ChangeSetDiffTool.st	Mon Nov 11 13:38:07 2013 +0000
+++ b/Tools__ChangeSetDiffTool.st	Tue Nov 12 21:47:38 2013 +0000
@@ -2622,9 +2622,12 @@
 
 changesetMenuBrowse: changeset
 
-    Tools::ChangeSetBrowser2 openOn: (changeset , self diffInfo same)
+    (Tools::ChangeSetBrowser2 on: (changeset , self diffInfo same))
+        allowRemove: true;
+        open
 
     "Created: / 16-12-2011 / 14:31:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-11-2013 / 17:19:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 changesetMenuBrowseA
--- a/Tools__ChangeSetSpec.st	Mon Nov 11 13:38:07 2013 +0000
+++ b/Tools__ChangeSetSpec.st	Tue Nov 12 21:47:38 2013 +0000
@@ -48,6 +48,13 @@
 	privateIn:ChangeSetSpec
 !
 
+ChangeSetSpec::Directory subclass:#PackageDirectory
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:ChangeSetSpec
+!
+
 !ChangeSetSpec class methodsFor:'documentation'!
 
 copyright
@@ -119,10 +126,10 @@
 
 specClasses
 
-    ^self allSubclasses"/ reject:[:e|e == Explicit]
+    ^(self allSubclasses " reject:[:e|e == Explicit]") asSortedCollection:[:a :b | a name < b name ].
 
     "Created: / 05-07-2011 / 23:30:45 / jv"
-    "Modified: / 03-08-2012 / 15:21:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-11-2013 / 15:18:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetSpec methodsFor:'accessing'!
@@ -346,9 +353,10 @@
 label
     "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
 
-    ^ 'Loaded package'
+    ^ 'Package (in image)'
 
     "Modified: / 05-07-2011 / 23:31:34 / jv"
+    "Modified: / 12-11-2013 / 15:17:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetSpec::Package methodsFor:'accessing'!
@@ -378,6 +386,45 @@
     "Created: / 20-03-2012 / 14:59:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!ChangeSetSpec::PackageDirectory class methodsFor:'accessing'!
+
+label
+    "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
+
+    ^ 'Package (in directory)'
+
+    "Created: / 12-11-2013 / 15:17:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ChangeSetSpec::PackageDirectory methodsFor:'accessing'!
+
+changeSet
+    "superclass Tools::ChangeSetSpec says that I am responsible to implement this method"
+
+    | name files cs |
+
+    name := directory asString.
+    name size > 50 ifTrue:[
+        name := '...' , (name copyFrom: name size - 47)
+    ].
+
+    (directory asFilename / 'abbrev.stc') exists ifTrue:[
+        (directory asFilename / 'abbrev.stc') readingFileDo:[:s |
+            files := OrderedCollection new.
+            Smalltalk withAbbreviationsFromStream:  s do:[:className :abbrev :pkg  | files add: (abbrev , '.st')]
+        ].
+        cs := ChangeSet fromDirectory: self directory filter:[:filename | files includes: filename baseName ].
+    ] ifFalse:[
+        cs := ChangeSet fromDirectory: self directory
+    ].
+     ^cs
+        name: name;
+        yourself
+
+    "Created: / 12-11-2013 / 15:20:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-11-2013 / 17:00:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !ChangeSetSpec class methodsFor:'documentation'!
 
 version_CVS