- MultiViewToolApplication jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 10 Jul 2012 16:42:40 +0100
branchjv
changeset 12259 3bfcade65c12
parent 12258 c25935799d7b
child 12260 505ed039bee1
- MultiViewToolApplication changed: #selectedWorkspaceApplication - Tools::NewSystemBrowser changed: #classMenuSubversionCompare
MultiViewToolApplication.st
Tools__NewSystemBrowser.st
--- a/MultiViewToolApplication.st	Fri Jul 06 12:44:18 2012 +0100
+++ b/MultiViewToolApplication.st	Tue Jul 10 16:42:40 2012 +0100
@@ -580,7 +580,7 @@
 
     | ws |
     ws := self selectedWorkspace.
-    ^ws isApplicationSubView ifTrue:[
+    ^(ws notNil and:[ws isApplicationSubView]) ifTrue:[
         ws application
     ] ifFalse:[
         nil
@@ -1379,5 +1379,5 @@
 !
 
 version_SVN
-    ^ '$Id: MultiViewToolApplication.st 7995 2012-05-11 16:35:43Z vranyj1 $'
+    ^ '$Id: MultiViewToolApplication.st 8014 2012-07-10 15:42:40Z vranyj1 $'
 ! !
--- a/Tools__NewSystemBrowser.st	Fri Jul 06 12:44:18 2012 +0100
+++ b/Tools__NewSystemBrowser.st	Tue Jul 10 16:42:40 2012 +0100
@@ -44518,6 +44518,43 @@
 
 !NewSystemBrowser methodsFor:'menu actions-subversion-class'!
 
+classMenuSubversionCompare
+    | classes repo|
+
+    classes := self selectedNonMetaclasses.
+    classes isEmptyOrNil ifTrue:[ ^ self ].
+    classes size == 1 ifTrue:[
+        repo := classes anyOne svnRepository.
+    ] ifFalse:[
+        | repos |
+
+        repos := classes collect:[:cls|cls svnRepository].
+        repo := repos anElement.
+        repos allSatisfy:[:r|
+            r == repo ifFalse:[
+                Dialog warn: 'Classes are not is the same SVN repository'.
+                ^self.
+            ]
+        ].
+    ].
+
+    (SVN::BranchAndRevisionSelectionDialog new)
+        title:'Compare ' , (self infoStringForClasses:classes withPrefix:'');
+        repository:repo;
+        branch:repo branch;
+        path: (classes size == 1 ifTrue:[repo containerNameForClass: classes anyOne] ifFalse:[nil]);
+        onAccept:
+                [:dlg |
+                dlg showProgressWhile:
+                        [self
+                            classMenuSubversionCompare:classes
+                            withBranch:dlg branch
+                            revision:dlg revision]];
+        open
+
+    "Modified: / 10-07-2012 / 16:36:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 classMenuSubversionShowRevisionLog
     | pkg classes branch path |
 
@@ -57286,7 +57323,7 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__NewSystemBrowser.st 8011 2012-07-06 08:31:30Z vranyj1 $'
+    ^ '$Id: Tools__NewSystemBrowser.st 8014 2012-07-10 15:42:40Z vranyj1 $'
 !
 
 version_CVS
@@ -57294,7 +57331,7 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__NewSystemBrowser.st 8011 2012-07-06 08:31:30Z vranyj1 $'
+    ^ '$Id: Tools__NewSystemBrowser.st 8014 2012-07-10 15:42:40Z vranyj1 $'
 ! !
 
 NewSystemBrowser initialize!