NewLauncher.st
changeset 15239 33e62506afb2
parent 15238 9bd14234e90e
child 15243 b39557950a46
--- a/NewLauncher.st	Mon Feb 09 14:56:55 2015 +0100
+++ b/NewLauncher.st	Mon Feb 09 15:23:18 2015 +0100
@@ -3397,8 +3397,7 @@
     "open a dialog showing wellknown packages (listed in the packages directory)
      and offer to load the selected one(s).
      TODO: make this a little app instead of an ad-hoc dialog, 
-     add remote packages (central goody repository?),
-     add a description text view, showing more info about the package (from where?)"    
+     add remote packages (central goody repository?)"    
 
     |l masterRoot root dialog filter filterHolder v itemsByPath getItemByPath packageIdByItem packageID
      packageIcon greyPackageIcon applicationIcon greyApplicationIcon 
@@ -3655,32 +3654,35 @@
             (v scrolledView selectionValue) do:[:eachSelectedItem |
                 |package repos|
 
-                eachSelectedItem type == #monticelloPackage ifTrue:[
-                    |repos|
-
-                    repos := eachSelectedItem parent info.                    
-                    MCRepositoryBrowser openOnRepository:repos forPackage:eachSelectedItem label.
+                eachSelectedItem type == #monticelloRepository ifTrue:[
+                    repos := eachSelectedItem info.                    
+                    MCRepositoryBrowser openOnRepository:repos forPackage:nil.
                 ] ifFalse:[
-                    package := packageIdByItem at:eachSelectedItem ifAbsent:nil.
-                    package notNil ifTrue:[
-                        dialog withWaitCursorDo:[
-                            Smalltalk onChangeSend:#value:value: to:updateAction.
-                            [
-                                Smalltalk loadPackage:package
-                            ] ensure:[
-                                Smalltalk retractInterestsFor:updateAction.
-                            ]
-                        ].
-                        doBrowse ifTrue:[
-                            Tools::NewSystemBrowser openOnPackage:package
-                        ].
-                        eachSelectedItem icon == packageIcon ifTrue:[
-                            eachSelectedItem icon:greyPackageIcon.
-                            eachSelectedItem label:(eachSelectedItem label , ' (already loaded)' asText allItalic).
-                        ] ifFalse:[
-                            eachSelectedItem icon == applicationIcon ifTrue:[
-                                eachSelectedItem icon:greyApplicationIcon.
-                                eachSelectedItem label:(eachSelectedItem label , (resources string:' (already loaded)') asText allItalic).
+                    eachSelectedItem type == #monticelloPackage ifTrue:[
+                        repos := eachSelectedItem parent info.                    
+                        MCRepositoryBrowser openOnRepository:repos forPackage:eachSelectedItem label.
+                    ] ifFalse:[
+                        package := packageIdByItem at:eachSelectedItem ifAbsent:nil.
+                        package notNil ifTrue:[
+                            dialog withWaitCursorDo:[
+                                Smalltalk onChangeSend:#value:value: to:updateAction.
+                                [
+                                    Smalltalk loadPackage:package
+                                ] ensure:[
+                                    Smalltalk retractInterestsFor:updateAction.
+                                ]
+                            ].
+                            doBrowse ifTrue:[
+                                Tools::NewSystemBrowser openOnPackage:package
+                            ].
+                            eachSelectedItem icon == packageIcon ifTrue:[
+                                eachSelectedItem icon:greyPackageIcon.
+                                eachSelectedItem label:(eachSelectedItem label , ' (already loaded)' asText allItalic).
+                            ] ifFalse:[
+                                eachSelectedItem icon == applicationIcon ifTrue:[
+                                    eachSelectedItem icon:greyApplicationIcon.
+                                    eachSelectedItem label:(eachSelectedItem label , (resources string:' (already loaded)') asText allItalic).
+                                ].
                             ].
                         ].
                     ].
@@ -3762,18 +3764,22 @@
             selectionIndices size == 1 ifTrue:[
                 selectedItem := hierarchicalListView selectionValue first.
                 selectedItem type == #monticelloRepository ifTrue:[
-                    infoTextHolder value:'Monticello repository.'.
+                    infoTextHolder value:'Monticello repository. Double click to browse its contents.'.
                 ] ifFalse:[
-                    p := packageIdByItem at:selectedItem ifAbsent:nil.
-                    p notNil ifTrue:[
-                        selectedPackageHolder value:(resources string:'Selected Package: "%1"' with:p allBold).
-                        showPackageInfoAction value:p.
+                    selectedItem type == #monticelloPackage ifTrue:[
+                        infoTextHolder value:'Monticello package. Double click to browse its contents.'.
                     ] ifFalse:[
-                        selectedItem == masterRoot ifTrue:[
-                            infoTextHolder value:'Packages found on the local machine.'
-                        ].
-                        selectedItem == root ifTrue:[
-                            infoTextHolder value:'Local packages as found in the "packages" folder.'
+                        p := packageIdByItem at:selectedItem ifAbsent:nil.
+                        p notNil ifTrue:[
+                            selectedPackageHolder value:(resources string:'Selected Package: "%1"' with:p allBold).
+                            showPackageInfoAction value:p.
+                        ] ifFalse:[
+                            selectedItem == masterRoot ifTrue:[
+                                infoTextHolder value:'Packages found on the local machine.'
+                            ].
+                            selectedItem == root ifTrue:[
+                                infoTextHolder value:'Local packages as found in the "packages" folder.'
+                            ].
                         ].
                     ].
                 ].
@@ -5653,14 +5659,14 @@
 !NewLauncher class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.526 2015-02-09 13:56:55 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.527 2015-02-09 14:23:18 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.526 2015-02-09 13:56:55 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.527 2015-02-09 14:23:18 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: NewLauncher.st,v 1.526 2015-02-09 13:56:55 cg Exp $'
+    ^ '$Id: NewLauncher.st,v 1.527 2015-02-09 14:23:18 cg Exp $'
 ! !