class: NewLauncher
authorClaus Gittinger <cg@exept.de>
Fri, 22 Mar 2013 14:28:55 +0100
changeset 12509 28d69e7e526e
parent 12508 001906c2aa39
child 12510 81d0fb41246d
class: NewLauncher changed: #menuChangeHistory
NewLauncher.st
--- a/NewLauncher.st	Fri Mar 22 12:45:59 2013 +0100
+++ b/NewLauncher.st	Fri Mar 22 14:28:55 2013 +0100
@@ -4232,36 +4232,50 @@
     changeHistory := OrderedCollection new.
 
     [:exit |
-	changeSet reverseDo:[:change |
-	    change isMethodChange ifTrue:[
-		change changeClass notNil ifTrue:[
-		    (changeHistory contains:[:chg | chg className = change className
-						 and:[chg selector = change selector]])
-		    ifFalse:[
-			changeHistory add:change.
-			changeHistory size > 15 ifTrue:[
-			    exit value:nil
-			]
-		    ].
-		].
-	    ].
-	]
+        changeSet reverseDo:[:change |
+            change isMethodChange ifTrue:[
+                change changeClass notNil ifTrue:[
+                    (changeHistory contains:[:chg | chg className = change className
+                                                 and:[chg selector = change selector]])
+                    ifFalse:[
+                        changeHistory add:change.
+                        changeHistory size > 15 ifTrue:[
+                            exit value:nil
+                        ]
+                    ].
+                ].
+            ].
+        ]
     ] valueWithExit.
 
-    changeHistory isEmpty ifTrue:[
-	^ nil
-    ].
-
     menu := Menu new receiver: self.
     menu addItemGroup:
-	(changeHistory collect:[:change|
-	    MenuItem new
-		translateLabel: false;
-		label: (change className , ' ' , (change selector ? '???'));
-		value: [UserPreferences systemBrowserClass openInClass:change changeClass selector:change selector];
-		activeHelpKey: #classBrowserOnChangedMethod
-	]
-    ).
+        {
+            MenuItem new
+                translateLabel: false;
+                label: 'Open Changes Browser on File...';
+                value: 
+                    [ 
+                        |file|
+
+                        file := Dialog requestFileName:'Change or Source File' default:ObjectMemory nameForChanges.
+                        file notEmptyOrNil ifTrue:[
+                            UserPreferences current changesBrowserClass openOn:file
+                        ]
+                    ];
+                activeHelpKey: #changeBrowserOnFile
+        }.
+
+    changeHistory notEmpty ifTrue:[
+        menu addItemGroup:
+            (changeHistory collect:[:change|
+                MenuItem new
+                    translateLabel: false;
+                    label: (change className , ' ' , (change selector ? '???'));
+                    value: [UserPreferences systemBrowserClass openInClass:change changeClass selector:change selector];
+                    activeHelpKey: #classBrowserOnChangedMethod
+            ]).
+    ].
 
     menu findGuiResourcesIn:self.
     ^menu
@@ -4947,11 +4961,11 @@
 !NewLauncher class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.451 2013-03-21 20:55:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.452 2013-03-22 13:28:55 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.451 2013-03-21 20:55:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.452 2013-03-22 13:28:55 cg Exp $'
 !
 
 version_SVN