# HG changeset patch # User Claus Gittinger # Date 1363866639 -3600 # Node ID 216e10b026ab76b1d6a6bc0e941a809bc0edbc99 # Parent 0c1a828b524e81266ec514e23aa6a52c9d407668 class: AbstractFileBrowser added: #fileFileInPackage #hasPackageDirectorySelected changed: #fileMenu added load package menu item - I was tired of typing... diff -r 0c1a828b524e -r 216e10b026ab AbstractFileBrowser.st --- a/AbstractFileBrowser.st Thu Mar 21 10:40:25 2013 +0100 +++ b/AbstractFileBrowser.st Thu Mar 21 12:50:39 2013 +0100 @@ -1667,6 +1667,7 @@ "Do not manually edit this!! If it is corrupted, the MenuEditor may not be able to read the specification." + " MenuEditor new openOnClass:AbstractFileBrowser andSelector:#fileMenu (Menu new fromLiteralArrayEncoding:(AbstractFileBrowser fileMenu)) startUp @@ -1680,7 +1681,6 @@ (MenuItem label: 'Open' itemValue: doShowFileContents - translateLabel: true ) (MenuItem label: '-' @@ -1689,20 +1689,22 @@ enabled: hasFileSelection label: 'FileIn' itemValue: fileFileIn - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'FileIn to Namespace...' itemValue: fileFileInToNameSpace - translateLabel: true + ) + (MenuItem + enabled: hasPackageDirectorySelected + label: 'Load Package from Here' + itemValue: fileFileInPackage ) (MenuItem label: '-' ) (MenuItem label: 'New' - translateLabel: true submenuChannel: newMenu keepLinkedMenu: true ) @@ -1713,31 +1715,26 @@ enabled: hasSelection label: 'Cut' itemValue: cutFiles - translateLabel: true ) (MenuItem enabled: hasSelection label: 'Copy' itemValue: copyFiles - translateLabel: true ) (MenuItem enabled: canPaste label: 'Paste' itemValue: pasteFiles - translateLabel: true ) (MenuItem enabled: hasSelection label: 'Delete' itemValue: deleteFiles - translateLabel: true ) (MenuItem enabled: hasSelection label: 'Erase' itemValue: eraseFiles - translateLabel: true ) (MenuItem label: '-' @@ -1746,26 +1743,22 @@ enabled: hasSelection label: 'Rename...' itemValue: renameSelection - translateLabel: true shortcutKey: Rename ) (MenuItem enabled: hasSelection label: 'Move To...' itemValue: moveSelectionTo - translateLabel: true ) (MenuItem enabled: hasSelection label: 'Copy To...' itemValue: copySelectionTo - translateLabel: true ) (MenuItem enabled: hasSelection label: 'Properties...' itemValue: doShowProperties - translateLabel: true ) (MenuItem label: '-' @@ -1774,25 +1767,21 @@ (MenuItem enabled: canAddToClassPath label: 'Add to Java Class Path' - translateLabel: true isVisible: javaSupportLoaded ) (MenuItem enabled: canRemoveFromClassPath label: 'Remove from Java Class Path' - translateLabel: true isVisible: javaSupportLoaded ) (MenuItem enabled: canAddToSourcePath label: 'Add to Java Source Path' - translateLabel: true isVisible: javaSupportLoaded ) (MenuItem enabled: canRemoveFromSourcePath label: 'Remove from Java Source Path' - translateLabel: true isVisible: javaSupportLoaded ) (MenuItem @@ -1801,15 +1790,12 @@ (MenuItem enabled: enableFileHistory label: 'File History' - translateLabel: true submenuChannel: menuFileHistory ) ) nil nil ) - - "Modified: / 07-02-2007 / 18:44:54 / cg" ! fileOpMenu @@ -6409,6 +6395,29 @@ "Modified: / 20-09-2006 / 14:29:24 / cg" ! +fileFileInPackage + "assuming the current directory is a package directory, load it" + + |packageDir dir path top packageID| + + "/ find a reasonable package-id (walk up until we find stx) + path := ''. + dir := packageDir := self currentDirectory. + + top := (Smalltalk projectDirectoryForPackage:'stx') asFilename. + [ (dir / 'stx') = top ] whileFalse:[ + path := dir baseName , '/' , path. + dir := dir directory. + dir isNil ifTrue:[ + Dialog warning:'Could not find a path from "stx" to the current directory.'. + "/ should ask the user for a packageID and proceed... + ^ self. + ]. + ]. + packageID := path copyWithoutLast:1. + Smalltalk loadPackage:packageID fromDirectory:packageDir asAutoloaded:true +! + fileFileInToNameSpace "fileIn the selected file(s)