Tools__ChangeSetDiffTool.st
branchjv
changeset 12276 415495417f39
parent 12275 a416cf8a4b50
child 12277 46aea706fdb7
--- a/Tools__ChangeSetDiffTool.st	Fri Aug 03 14:47:21 2012 +0100
+++ b/Tools__ChangeSetDiffTool.st	Fri Aug 03 16:14:04 2012 +0100
@@ -757,7 +757,7 @@
            (Menu
               (
                (MenuItem
-                  label: 'Open'
+                  label: 'Open...'
                   itemValue: fileMenuOpen
                   translateLabel: true
                   shortcutKey: Ctrlo
@@ -777,9 +777,16 @@
                 )
                (MenuItem
                   enabled: canSaveAsPatch
-                  label: 'Save as patch '
+                  label: 'Save As Patch '
                   itemValue: fileMenuSaveAsPatch
                   translateLabel: true
+                  isVisible: false
+                )
+               (MenuItem
+                  enabled: canSaveMergedAs
+                  label: 'Save Merged as... '
+                  itemValue: fileMenuSaveMergedAs
+                  translateLabel: true
                 )
                (MenuItem
                   label: '-'
@@ -1527,13 +1534,13 @@
         self textDiffToolHolder value isDiff3 ifFalse:[
             textDiffToolHolder value: self textDiff3Tool.
         ].
-        self mergeHolder value: self diffInfo isMerge.
+
     ] ifFalse:[
         self textDiffToolHolder value isDiff2 ifFalse:[
             textDiffToolHolder value: self textDiff2Tool.
         ].
-        self mergeHolder value: false.
-    ]
+    ].
+    self mergeHolder value: self diffInfo isMerge.
 
     "Created: / 20-03-2012 / 10:21:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
@@ -1589,13 +1596,18 @@
 
     | dlg info |
     dlg := OpenDialog new.
-    dlg diffInfo: LastDiffInfo.
+    info := LastDiffInfo.
+    info isNil ifTrue:[
+        info := ChangeSetDiffInfo new.
+        info changeSetMergedSpec: ChangeSetSpec changeSet
+    ].
+    dlg diffInfo: info.
     dlg open ifFalse:[^self].
     info := dlg diffInfo.
 
     ^self fileMenuOpenOnDiffInfo: info
 
-    "Modified: / 01-08-2012 / 15:53:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-08-2012 / 15:37:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 fileMenuOpenOnDiffInfo: info
@@ -1651,6 +1663,13 @@
     "Modified: / 05-12-2009 / 12:37:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+fileMenuSaveMergedAs
+
+    self halt.
+
+    "Modified: / 03-08-2012 / 15:39:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 listMenuBrowse
 
     | items |
@@ -1775,6 +1794,17 @@
     "Created: / 20-03-2012 / 14:55:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+canSaveMergedAs
+    "Returns true, if a merged file can be saved"
+
+    | info |
+    info := self diffInfo.
+    info isNil ifTrue:[^false].
+    ^info isMerge
+
+    "Created: / 03-08-2012 / 15:25:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 hasSelection
 
     ^[self selection notNil]
@@ -2003,7 +2033,7 @@
                         )
                        (SubCanvasSpec
                           name: 'SubCanvas3'
-                          layout: (LayoutFrame 30 0 30 0 0 1 0 1)
+                          layout: (LayoutFrame 30 0 30 0 0 1 -25 1)
                           level: 0
                           hasHorizontalScrollBar: false
                           hasVerticalScrollBar: false
@@ -2027,7 +2057,7 @@
                        )
                      
                     )
-                    extent: (Point 640 97)
+                    extent: (Point 640 123)
                   )
                  )
                
@@ -2538,8 +2568,12 @@
     info := ChangeSetDiffInfo new.
     info specA: self changeSetASpec.
     info specB: self changeSetBSpec.
-    info specBase: self changeSetBaseSpec.
-    info specMerge: self changeSetMergedSpec.
+    self changesetSpecBaseEnabledHolder value ifTrue:[
+        info specBase: self changeSetBaseSpec.
+    ].
+    changesetSpecMergedEnabledHolder value ifTrue:[
+        info specMerge: self changeSetMergedSpec.
+    ].
     ^info
 
     "Created: / 01-08-2012 / 15:41:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2685,5 +2719,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ChangeSetDiffTool.st 8035 2012-08-03 13:47:21Z vranyj1 $'
+    ^ '$Id: Tools__ChangeSetDiffTool.st 8036 2012-08-03 15:14:04Z vranyj1 $'
 ! !