- Tools::ChangeSetBrowser2: Cypress package support jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 03 Sep 2012 12:09:13 +0100
branchjv
changeset 12282 f2499734636a
parent 12281 10ef3d968886
child 12283 a5d31f91a3bb
- Tools::ChangeSetBrowser2: Cypress package support
Tools__ChangeSetBrowser2.st
--- a/Tools__ChangeSetBrowser2.st	Tue Aug 28 20:18:37 2012 +0100
+++ b/Tools__ChangeSetBrowser2.st	Mon Sep 03 12:09:13 2012 +0100
@@ -1411,13 +1411,11 @@
         (
          (MenuItem
             label: 'File'
-            translateLabel: true
             submenu: 
            (Menu
               (
                (MenuItem
                   label: 'New'
-                  translateLabel: true
                   submenu: 
                  (Menu
                     (
@@ -1425,12 +1423,10 @@
                         activeHelpKey: fileNew
                         label: 'New Changeset'
                         itemValue: doOpenNew
-                        translateLabel: true
                       )
                      (MenuItem
                         label: 'New Window'
                         itemValue: doOpenNewWindow
-                        translateLabel: true
                       )
                      )
                     nil
@@ -1441,11 +1437,27 @@
                   label: '-'
                 )
                (MenuItem
+                  activeHelpKey: fileOpenSelection
+                  enabled: isWorkingNotHolder
+                  label: 'Spawn Browser on Selection'
+                  itemValue: doOpenOnSelection
+                  isVisible: allowOpenHolder
+                )
+               (MenuItem
+                  activeHelpKey: fileOpenSelection
+                  enabled: isWorkingNotHolder
+                  label: 'Spawn on Selection'
+                  itemValue: doOpenOnSelection
+                  isVisible: allowOpenHolder
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
                   activeHelpKey: fileLoad
                   enabled: isWorkingNotHolder
                   label: 'Open...'
                   itemValue: doOpen
-                  translateLabel: true
                   isVisible: allowOpenHolder
                   shortcutKey: Ctrlo
                 )
@@ -1454,29 +1466,25 @@
                   enabled: isWorkingNotHolder
                   label: 'Open Current'
                   itemValue: doOpenCurrent
-                  translateLabel: true
                   isVisible: allowOpenHolder
                 )
                (MenuItem
-                  activeHelpKey: fileOpenSelection
+                  activeHelpKey: fileOpenCurrent
                   enabled: isWorkingNotHolder
-                  label: 'Open on Selection'
-                  itemValue: doOpenOnSelection
-                  translateLabel: true
-                  isVisible: allowOpenHolder
+                  label: 'Open Cypress Package'
+                  itemValue: doOpenCypress
+                  isVisible: allowOpenHolderAndCypressPresent
                 )
                (MenuItem
                   activeHelpKey: fileSaveAs
                   enabled: isWorkingNotHolder
                   label: 'Save'
                   itemValue: doSave
-                  translateLabel: true
                 )
                (MenuItem
                   enabled: isWorkingNotHolder
                   label: 'Save As...'
                   itemValue: doSaveAs
-                  translateLabel: true
                 )
                (MenuItem
                   label: '-'
@@ -1484,7 +1492,6 @@
                (MenuItem
                   label: 'Exit'
                   itemValue: closeRequest
-                  translateLabel: true
                 )
                )
               nil
@@ -1494,45 +1501,38 @@
          (MenuItem
             enabled: isWorkingNotHolder
             label: 'Changes'
-            translateLabel: true
             isVisible: isTwoColumnHolderNot
             submenuChannel: list1MenuHolder
           )
          (MenuItem
             enabled: isWorkingNotHolder
             label: 'Left'
-            translateLabel: true
             isVisible: isTwoColumnHolder
             submenuChannel: list1MenuHolder
           )
          (MenuItem
             enabled: isWorkingNotHolder
             label: 'Right'
-            translateLabel: true
             isVisible: isTwoColumnHolder
             submenuChannel: list2MenuHolder
           )
          (MenuItem
             label: 'View'
-            translateLabel: true
             submenu: 
            (Menu
               (
                (MenuItem
                   label: 'List'
-                  translateLabel: true
                   choice: navigatorSpecHolder
                   choiceValue: oneColumnNavigatorSpec
                 )
                (MenuItem
                   label: 'Hierarchical List'
-                  translateLabel: true
                   choice: navigatorSpecHolder
                   choiceValue: hierarchicalNavigatorSpec
                 )
                (MenuItem
                   label: 'Browser Like'
-                  translateLabel: true
                   choice: navigatorSpecHolder
                   choiceValue: twoColumnNavigatorSpec
                 )
@@ -1541,12 +1541,10 @@
                 )
                (MenuItem
                   label: 'Show Deleted'
-                  translateLabel: true
                   indication: showRemovedAspect
                 )
                (MenuItem
                   label: 'Show Same'
-                  translateLabel: true
                   indication: showSameAspect
                 )
                (MenuItem
@@ -1554,7 +1552,6 @@
                 )
                (MenuItem
                   label: 'Show Filter'
-                  translateLabel: true
                   indication: showFilterHolder
                 )
                (MenuItem
@@ -1562,7 +1559,6 @@
                 )
                (MenuItem
                   label: 'Show Timestamp'
-                  translateLabel: true
                   indication: showTimestampHolder
                 )
                )
@@ -1572,26 +1568,22 @@
           )
          (MenuItem
             label: 'Loading'
-            translateLabel: true
             submenu: 
            (Menu
               (
                (MenuItem
                   label: 'Set Target Package...'
                   itemValue: setTargetPackage
-                  translateLabel: true
                 )
                (MenuItem
                   label: 'Set Target Namespace...'
                   itemValue: setTargetNamespace
-                  translateLabel: true
                 )
                (MenuItem
                   label: '-'
                 )
                (MenuItem
                   label: 'Update Changefile'
-                  translateLabel: true
                   indication: updateChangeFileHolder
                 )
                )
@@ -1949,6 +1941,17 @@
     "Modified: / 17-03-2011 / 22:32:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+allowOpenHolderAndCypressPresent
+
+    ^BlockValue
+        with: [:value|
+            value and:[     ConfigurableFeatures includesFeature:#CypressSupport]
+        ]
+        argument: self allowOpenHolder.
+
+    "Modified: / 03-09-2012 / 11:43:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 allowRemoveHolder
     "return/create the 'allowRemoveHolder' value holder (automatically generated)"
     
@@ -2548,12 +2551,20 @@
 doOpen
 
     | file |
-    file := Dialog requestFileName:'Select Changeset to Load' pattern:'*.chg;*.st'.
+    [
+        file := Dialog requestFileName:'Select Changeset to Load' pattern:'*.chg;*.st'.
+    ] on: Dialog aboutToOpenBoxNotificationSignal do:[:ex|
+        | dialog |
+
+        dialog := ex parameter.
+
+        ex pass.
+    ].
     file isNil ifTrue:[^self].
     self doOpenFile: file
 
     "Modified: / 27-12-2011 / 10:39:36 / cg"
-    "Modified: / 30-03-2012 / 11:44:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-09-2012 / 11:29:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 doOpen: aChangeSet
@@ -2571,6 +2582,52 @@
     "Created: / 05-12-2009 / 13:44:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+doOpenCypress
+
+    | file |
+    [
+        file := Dialog requestDirectoryName:(resources string: 'Select Cypress Package')."/ pattern:'*.package'.
+    ] on: Dialog aboutToOpenBoxNotificationSignal do:[:ex|
+        | dialog |
+
+        dialog := ex parameter.
+
+        ex pass.
+    ].
+
+    file isNil ifTrue:[^self].
+    self doOpenCypress: file
+
+    "Modified: / 03-09-2012 / 11:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+doOpenCypress: aStringOrFilename
+    "Opens a Cypress package in given directory"
+
+    | dir changeset |
+
+    dir := aStringOrFilename asFilename.
+    dir exists ifFalse:[
+        Dialog warn: (resources string:'Selected directory does not exists').
+        ^self.
+    ].
+    dir isDirectory ifFalse:[
+        Dialog warn: (resources string:'Selected file is not a directory').
+        ^self.
+    ].
+    (dir / 'properties.json') isReadable ifFalse:[
+        Dialog warn: (resources string:'No properties.json found. Perhaps not a Cypress package directory?').
+        ^self.
+    ].
+
+    self showProgress: (resources string: 'Reading Cypress Package...') while: [
+        changeset := ((Smalltalk at:#CypressPackageReader) readPackageFrom: dir) asChangeSet.
+        self doOpen: changeset.
+    ].
+
+    "Created: / 03-09-2012 / 11:44:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 doOpenFile: aStringOrFilename
     | cs fn |
 
@@ -3659,7 +3716,7 @@
 !ChangeSetBrowser2 class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__ChangeSetBrowser2.st 8034 2012-08-03 13:08:30Z vranyj1 $'
+    ^ '$Id: Tools__ChangeSetBrowser2.st 8042 2012-09-03 11:09:13Z vranyj1 $'
 !
 
 version_CVS
@@ -3667,5 +3724,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ChangeSetBrowser2.st 8034 2012-08-03 13:08:30Z vranyj1 $'
+    ^ '$Id: Tools__ChangeSetBrowser2.st 8042 2012-09-03 11:09:13Z vranyj1 $'
 ! !