MCRepositoryBrowser.st
changeset 921 dda5a9038a51
parent 916 2d95d9b3fbe9
child 923 5e64988682fe
--- a/MCRepositoryBrowser.st	Thu Mar 27 21:44:08 2014 +0100
+++ b/MCRepositoryBrowser.st	Sat Apr 12 14:33:00 2014 +0200
@@ -564,13 +564,11 @@
             enabled: hasVersionSelectedHolder
             label: 'Load'
             itemValue: versionLoad
-            translateLabel: true
           )
          (MenuItem
             enabled: hasVersionSelectedHolder
             label: 'Load into Package...'
             itemValue: versionLoadIntoPackage
-            translateLabel: true
           )
          (MenuItem
             label: '-'
@@ -579,28 +577,32 @@
             enabled: hasVersionSelectedHolder
             label: 'Browse'
             itemValue: versionBrowser
-            translateLabel: true
           )
          (MenuItem
             enabled: hasVersionSelectedHolder
             label: 'Browse Unloadable'
             itemValue: versionBrowseUnloadable
-            translateLabel: true
           )
          (MenuItem
             label: '-'
           )
          (MenuItem
+            label: 'Save .mcz File As...'
+            itemValue: saveMCZFileAs
+          )
+         (MenuItem
+            label: 'Show in File Browser'
+            itemValue: showPackageInFileBrowser
+          )
+         (MenuItem
             enabled: hasVersionSelectedAndOperatingSystemIsWindowsHolder
             label: 'Show in Winzip'
             itemValue: showPackageInWinZip
-            translateLabel: true
           )
          (MenuItem
             enabled: hasVersionSelectedHolder
             label: 'Inspect'
             itemValue: versionInspect
-            translateLabel: true
           )
          )
         nil
@@ -1037,6 +1039,38 @@
     "Created: / 25-11-2011 / 11:33:09 / cg"
 !
 
+saveMCZFileAs
+    |entry fn|
+
+    entry := self selectedVersionHolder value.
+    fn := Dialog 
+            requestFileNameForSave:'Save MCZ file as:'
+            default:entry name 
+            fromDirectory:nil.
+
+    self saveVersionFileToTempThenDo:[:tempFile |
+        tempFile moveTo:(fn asFilename).
+    ].
+!
+
+saveVersionFileToTempThenDo:aBlock
+    |entry tempFile fileStream|
+
+    tempFile := Filename newTemporary withSuffix:'zip'.
+
+    self withReadCursorDo:[
+        entry := self selectedVersionHolder value.
+        entry repository
+            readStreamForFileNamed:entry name do:[:s |
+                fileStream := tempFile writeStream.
+                s reset.
+                s copyToEndInto:fileStream.
+                fileStream close.
+            ].
+    ].
+    aBlock value:tempFile
+!
+
 setTargetNamespace
     "specify an st/x namespace to be used as default"
 
@@ -1070,25 +1104,19 @@
     "Created: / 07-09-2011 / 12:47:15 / cg"
 !
 
-showPackageInWinZip
-    | entry tempFile fileStream|
-
-    tempFile := Filename newTemporary withSuffix:'zip'.
+showPackageInFileBrowser
+    self saveVersionFileToTempThenDo:[:tempFile |
+        UserPreferences current fileBrowserClass
+            openOnFileNamed:tempFile
+    ].
+!
 
-    self withReadCursorDo:[
-        entry :=  self selectedVersionHolder value.
-        entry repository
-            readStreamForFileNamed:entry name do:[:s |
-                fileStream := tempFile writeStream.
-                s reset.
-                s copyToEndInto:fileStream.
-                fileStream close.
-            ].
+showPackageInWinZip
+    self saveVersionFileToTempThenDo:[:tempFile |
+        Win32OperatingSystem
+            openApplicationForDocument:tempFile operation:#open
     ].
 
-    Win32OperatingSystem
-        openApplicationForDocument:tempFile operation:#open
-
     "Created: / 07-09-2011 / 11:46:08 / cg"
 !
 
@@ -1252,15 +1280,15 @@
 !MCRepositoryBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepositoryBrowser.st,v 1.32 2014-02-19 13:20:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepositoryBrowser.st,v 1.33 2014-04-12 12:33:00 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepositoryBrowser.st,v 1.32 2014-02-19 13:20:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepositoryBrowser.st,v 1.33 2014-04-12 12:33:00 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: MCRepositoryBrowser.st,v 1.32 2014-02-19 13:20:34 cg Exp $'
+    ^ '$Id: MCRepositoryBrowser.st,v 1.33 2014-04-12 12:33:00 cg Exp $'
 ! !