[squeak-dev] The Trunk: Tools-fbs.484.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jul 10 11:45:59 UTC 2013
Frank Shearar uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-fbs.484.mcz
==================== Summary ====================
Name: Tools-fbs.484
Author: fbs
Time: 10 July 2013, 12:44:59.096 pm
UUID: 883de497-3a88-4049-8d6b-2104778300b9
Ancestors: Tools-dtl.483
Deprecate FileList2. It looks like cruft. It has one user vocal enough to say he used it (Stephane Rollandin), and he says it's fine to remove it.
=============== Diff against Tools-dtl.483 ===============
Item was removed:
- FileList subclass: #FileList2
- instanceVariableNames: 'showDirsInFileList currentDirectorySelected fileSelectionBlock dirSelectionBlock optionalButtonSpecs modalView directoryChangeBlock ok'
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Tools-FileList'!
- FileList2 class
- instanceVariableNames: 'lastSelDir'!
-
- !FileList2 commentStamp: 'BJP 11/19/2003 21:13' prior: 0!
- Some variations on FileList that
- - use a hierarchical pane to show folder structure
- - use different pane combinations, button layouts and prefiltering for specific uses
-
- FileList2 morphicView openInWorld "an alternative to the standard FileList"
- FileList2 morphicViewNoFile openInWorld "useful for selecting, but not viewing"
- FileList2 morphicViewProjectLoader openInWorld "useful for finding and loading projects"
- FileList2 modalFolderSelector "allows the user to select a folder"
-
-
-
- !
- FileList2 class
- instanceVariableNames: 'lastSelDir'!
Item was removed:
- ----- Method: FileList2 class>>addFullPanesTo:from: (in category 'utility') -----
- addFullPanesTo: window from: aCollection
-
-
-
- aCollection do: [ :each | | frame |
- frame := LayoutFrame
- fractions: each second
- offsets: each third.
- window addMorph: each first fullFrame: frame.
- ]!
Item was removed:
- ----- Method: FileList2 class>>blueButtonText:textColor:color:inWindow: (in category 'blue ui') -----
- blueButtonText: aString textColor: textColor color: aColor inWindow: window
- | result |
- result := window
- fancyText: aString translated
- font: Preferences standardEToysFont
- color: textColor.
- result setProperty: #buttonText toValue: aString;
- hResizing: #rigid;
- extent: 100 @ 20;
- layoutInset: 4;
- borderWidth: ColorTheme current dialogButtonBorderWidth;
- useRoundedCorners.
- aColor isNil
- ifFalse: [""result color: aColor. result borderColor: aColor muchDarker].
- ^ result!
Item was removed:
- ----- Method: FileList2 class>>blueButtonText:textColor:color:inWindow:balloonText:selector:recipient: (in category 'blue ui') -----
- blueButtonText: aString textColor: textColor color: aColor inWindow: window balloonText: balloonText selector: sel recipient: recip
- | result |
- result := window
- fancyText: aString translated
- font: Preferences standardEToysFont
- color: textColor.
- result setProperty: #buttonText toValue: aString;
- hResizing: #rigid;
- extent: 100 @ 20;
- layoutInset: 4;
- borderWidth: ColorTheme current dialogButtonBorderWidth;
- useRoundedCorners;
- setBalloonText: balloonText.
- result
- on: #mouseUp
- send: sel
- to: recip.
- aColor isNil
- ifFalse: [""
- result color: aColor.
- result borderColor: aColor muchDarker].
- ^ result!
Item was removed:
- ----- Method: FileList2 class>>blueButtonText:textColor:inWindow: (in category 'blue ui') -----
- blueButtonText: aString textColor: textColor inWindow: window
- ^ self
- blueButtonText: aString
- textColor: textColor
- color: nil
- inWindow: window!
Item was removed:
- ----- Method: FileList2 class>>blueButtonText:textColor:inWindow:balloonText:selector:recipient: (in category 'blue ui') -----
- blueButtonText: aString textColor: textColor inWindow: window balloonText: balloonText selector: sel recipient: recip
- ^ self
- blueButtonText: aString
- textColor: textColor
- color: nil
- inWindow: window
- balloonText: balloonText
- selector: sel
- recipient: recip !
Item was removed:
- ----- Method: FileList2 class>>enableTypeButtons:info:forDir: (in category 'blue ui') -----
- enableTypeButtons: typeButtons info: fileTypeInfo forDir: aDirectory
-
- | foundSuffixes firstEnabled |
-
- firstEnabled := nil.
- foundSuffixes := (aDirectory ifNil: [ #()] ifNotNil: [ aDirectory fileNames]) collect: [ :each | (each findTokens: '.') last asLowercase].
- foundSuffixes := foundSuffixes asSet.
- fileTypeInfo with: typeButtons do: [ :info :button | | enableIt fileSuffixes |
- fileSuffixes := info second.
- enableIt := fileSuffixes anySatisfy: [ :patt | foundSuffixes includes: patt].
- button
- setProperty: #enabled
- toValue: enableIt.
- enableIt ifTrue: [firstEnabled ifNil: [firstEnabled := button]].
- ].
- firstEnabled ifNotNil: [^firstEnabled mouseUp: nil].
- typeButtons do: [ :each | each color: Color gray].
-
- !
Item was removed:
- ----- Method: FileList2 class>>endingSpecs (in category 'blue ui') -----
- endingSpecs
- "Answer a collection of specs to build the selective 'find anything' tool called by the Navigator. This version uses the services registry to do so."
- "FileList2 morphicViewGeneralLoaderInWorld: World"
- | categories specs rejects |
- rejects := #(addFileToNewZip: compressFile: openInZipViewer: extractAllFrom: openOn:).
- categories := #(
- ('Art' ('bmp' 'gif' 'jpg' 'jpeg' 'form' 'png' 'pcx' 'xbm' 'xpm' 'ppm' 'pbm'))
- ('Morphs' ('morph' 'morphs' 'sp'))
- ('Projects' ('extseg' 'project' 'pr'))
- ('MIDI' ('mid' 'midi'))
- ('Music' ('mp3'))
- ('Movies' ('movie' 'mpg' 'mpeg' 'qt' 'mov'))
- ('Flash' ('swf'))
- ).
-
- "('Books' ('bo'))"
- "('Code' ('st' 'cs'))"
- "('TrueType' ('ttf'))"
- "('3ds' ('3ds'))"
- "('Tape' ('tape'))"
- "('Wonderland' ('wrl'))"
- "('HTML' ('htm' 'html'))"
-
- categories first at: 2 put: ImageReadWriter allTypicalFileExtensions.
- specs := OrderedCollection new.
- categories do: [ :cat | | catSpecs catServices okExtensions services |
- services := Dictionary new.
- catSpecs := Array new: 3.
- catServices := OrderedCollection new.
- okExtensions := Set new.
-
- cat second do: [ :ext | (FileList itemsForFile: 'fred.',ext) do: [ :i |
- (rejects includes: i selector) ifFalse: [
- okExtensions add: ext.
- services at: i label put: i ]]].
- services do: [ :svc | catServices add: svc ].
- services isEmpty ifFalse: [
- catSpecs at: 1 put: cat first;
- at: 2 put: okExtensions;
- at: 3 put: catServices.
- specs add: catSpecs ]
- ].
- ^specs
- !
Item was removed:
- ----- Method: FileList2 class>>hideSqueakletDirectoryBlock (in category 'as yet unclassified') -----
- hideSqueakletDirectoryBlock
- ^[:dirName| (dirName sameAs: 'Squeaklets') not]!
Item was removed:
- ----- Method: FileList2 class>>lastSelDir (in category 'accessing') -----
- lastSelDir
- "Return the last selected directory or the default directory if no directory was selected so far."
-
- ^lastSelDir ifNil: [ lastSelDir := FileDirectory default ]!
Item was removed:
- ----- Method: FileList2 class>>lastSelDir: (in category 'accessing') -----
- lastSelDir: aFileDirectory
- "Store the last selected directory. This will be selected as default in newly opened file or folder selectors"
-
- ^lastSelDir := aFileDirectory!
Item was removed:
- ----- Method: FileList2 class>>modalFileSelector (in category 'modal dialogs') -----
- modalFileSelector
-
- | window |
-
- window := self morphicViewFileSelector.
- window openCenteredInWorld.
- self modalLoopOn: window.
- ^(window valueOfProperty: #fileListModel) getSelectedFile!
Item was removed:
- ----- Method: FileList2 class>>modalFileSelectorForSuffixes: (in category 'modal dialogs') -----
- modalFileSelectorForSuffixes: aList
-
- | window aFileList |
-
- window := self morphicViewFileSelectorForSuffixes: aList.
- aFileList := window valueOfProperty: #fileListModel.
- window openCenteredInWorld.
- self modalLoopOn: window.
- ^aFileList getSelectedFile!
Item was removed:
- ----- Method: FileList2 class>>modalFileSelectorForSuffixes:directory: (in category 'modal dialogs') -----
- modalFileSelectorForSuffixes: aList directory: aDirectory
-
- | window aFileList |
-
- window := self morphicViewFileSelectorForSuffixes: aList directory: aDirectory.
- aFileList := window valueOfProperty: #fileListModel.
- window openCenteredInWorld.
- self modalLoopOn: window.
- ^aFileList getSelectedFile!
Item was removed:
- ----- Method: FileList2 class>>modalFolderSelector (in category 'modal dialogs') -----
- modalFolderSelector
-
- ^self modalFolderSelector: self lastSelDir
- !
Item was removed:
- ----- Method: FileList2 class>>modalFolderSelector: (in category 'modal dialogs') -----
- modalFolderSelector: aDir
-
- | window fileModel |
- window := self morphicViewFolderSelector: aDir.
- fileModel := window model.
- window openInWorld: self currentWorld extent: 300 at 400.
- self modalLoopOn: window.
- ^fileModel getSelectedDirectory withoutListWrapper!
Item was removed:
- ----- Method: FileList2 class>>modalFolderSelectorForProject: (in category 'modal dialogs') -----
- modalFolderSelectorForProject: aProject
- "
- FileList2 modalFolderSelectorForProject: Project current
- "
- | window fileModel w |
-
- window := FileList2 morphicViewProjectSaverFor: aProject.
- fileModel := window valueOfProperty: #FileList.
- w := self currentWorld.
- window position: w topLeft + (w extent - window extent // 2).
- w addMorphInLayer: window.
- w startSteppingSubmorphsOf: window.
- self modalLoopOn: window.
- ^fileModel getSelectedDirectory withoutListWrapper!
Item was removed:
- ----- Method: FileList2 class>>modalFolderSelectorForProjectLoad (in category 'modal dialogs') -----
- modalFolderSelectorForProjectLoad
-
- | window fileModel w |
-
- window := self morphicViewProjectLoader2InWorld: self currentWorld reallyLoad: false.
- fileModel := window valueOfProperty: #FileList.
- w := self currentWorld.
- window position: w topLeft + (w extent - window extent // 2).
- window openInWorld: w.
- self modalLoopOn: window.
- ^fileModel getSelectedDirectory withoutListWrapper!
Item was removed:
- ----- Method: FileList2 class>>modalLoopOn: (in category 'utility') -----
- modalLoopOn: aMorph
- [aMorph world notNil] whileTrue: [
- aMorph outermostWorldMorph doOneCycle.
- ].!
Item was removed:
- ----- Method: FileList2 class>>morphicViewFileSelector (in category 'morphic ui') -----
- morphicViewFileSelector
-
- ^self morphicViewFileSelectorForSuffixes: nil
- !
Item was removed:
- ----- Method: FileList2 class>>morphicViewFileSelectorForSuffixes: (in category 'morphic ui') -----
- morphicViewFileSelectorForSuffixes: aList
- "Answer a morphic file-selector tool for the given suffix list."
-
- ^self morphicViewFileSelectorForSuffixes: aList directory: self lastSelDir!
Item was removed:
- ----- Method: FileList2 class>>morphicViewFileSelectorForSuffixes:directory: (in category 'morphic ui') -----
- morphicViewFileSelectorForSuffixes: aList directory: dir
- "Answer a morphic file-selector tool for the given suffix list and the given directory."
-
- | aFileList window fixedSize midLine gap |
- aFileList := self new directory: dir.
- aFileList optionalButtonSpecs: aFileList okayAndCancelServices.
- aList ifNotNil:
- [aFileList fileSelectionBlock: [:entry :myPattern |
- entry isDirectory
- ifTrue:
- [false]
- ifFalse:
- [aList includes: (FileDirectory extensionFor: entry name asLowercase)]]].
- window := BorderedMorph new
- layoutPolicy: ProportionalLayout new;
- color: Color lightBlue;
- borderColor: Color blue;
- borderWidth: 4;
- layoutInset: 4;
- extent: 600 at 400;
- useRoundedCorners.
- window setProperty: #fileListModel toValue: aFileList.
- aFileList modalView: window.
- midLine := 0.4.
- fixedSize := 25.
- gap := 5.
- self addFullPanesTo: window from: {
- {self textRow: 'Please select a file'. 0 @ 0 corner: 1 @ 0. 0 at 0 corner: 0 at fixedSize}.
- {aFileList optionalButtonRow. 0 @ 0 corner: 1 @ 0. 0 at fixedSize corner: 0@(fixedSize * 2)}.
- {aFileList morphicDirectoryTreePane. 0 at 0 corner: midLine at 1.
- gap @(fixedSize * 2) corner: gap negated at 0}.
- {aFileList morphicFileListPane. midLine @ 0 corner: 1 at 1.
- gap@(fixedSize * 2) corner: gap negated at 0}.
- }.
-
- aFileList postOpen.
-
- ^ window !
Item was removed:
- ----- Method: FileList2 class>>morphicViewFolderSelector (in category 'morphic ui') -----
- morphicViewFolderSelector
-
- ^self morphicViewFolderSelector: FileDirectory default!
Item was removed:
- ----- Method: FileList2 class>>morphicViewFolderSelector: (in category 'morphic ui') -----
- morphicViewFolderSelector: aDir
- "Answer a tool that allows the user to select a folder"
-
- | aFileList window fixedSize |
- aFileList := self new directory: aDir.
- aFileList optionalButtonSpecs: aFileList servicesForFolderSelector.
- window := (SystemWindow labelled: aDir pathName) model: aFileList.
- aFileList modalView: window.
-
- fixedSize := 25.
- self addFullPanesTo: window from: {
- {self textRow: 'Please select a folder'. 0 @ 0 corner: 1 @ 0.
- 0 at 0 corner: 0 at fixedSize}.
- {aFileList optionalButtonRow. 0 @ 0 corner: 1 @ 0.
- 0 at fixedSize corner: 0@(fixedSize * 2)}.
- {aFileList morphicDirectoryTreePane. 0 at 0 corner: 1 at 1.
- 0@(fixedSize * 2) corner: 0 at 0}.
- }.
- aFileList postOpen.
- ^ window !
Item was removed:
- ----- Method: FileList2 class>>morphicViewGeneralLoaderInWorld: (in category 'blue ui') -----
- morphicViewGeneralLoaderInWorld: aWorld
- "
- FileList2 morphicViewGeneralLoaderInWorld: self currentWorld
- "
- | window aFileList buttons treePane textColor1 fileListPane pane2a pane2b fileTypeInfo fileTypeButtons fileTypeRow actionRow |
-
- fileTypeInfo := self endingSpecs.
- window := AlignmentMorphBob1 newColumn.
- window hResizing: #shrinkWrap; vResizing: #shrinkWrap.
- textColor1 := Color r: 0.742 g: 0.839 b: 1.0.
- aFileList := self new directory: FileDirectory default.
- aFileList
- fileSelectionBlock: self projectOnlySelectionBlock;
- modalView: window.
- window
- setProperty: #FileList toValue: aFileList;
- wrapCentering: #center; cellPositioning: #topCenter;
- borderWidth: ColorTheme current dialogBorderWidth;
- borderColor: ColorTheme current dialogBorderColor;
- useRoundedCorners.
-
- fileTypeButtons := fileTypeInfo collect: [ :each |
- (self blueButtonText: each first textColor: Color gray inWindow: window)
- setProperty: #enabled toValue: true;
- hResizing: #shrinkWrap;
- useSquareCorners
- ].
- buttons := {{'OK'. ColorTheme current okColor}. {'Cancel'. ColorTheme current cancelColor}} collect: [ :each |
- self blueButtonText: each first textColor: textColor1 color: each second inWindow: window
- ].
-
- treePane := aFileList morphicDirectoryTreePane
- extent: 250 at 300;
- retractable: false;
- borderWidth: 0.
- fileListPane := aFileList morphicFileListPane
- extent: 350 at 300;
- retractable: false;
- borderWidth: 0.
- window addARow: {window fancyText: 'Find...' translated font: Preferences standardEToysTitleFont color: textColor1}.
- fileTypeRow := window addARowCentered: fileTypeButtons cellInset: 2.
- actionRow := window addARowCentered: {
- buttons first.
- (Morph new extent: 30 at 5) color: Color transparent.
- buttons second
- } cellInset: 2.
- window
- addARow: {
- (window inAColumn: {(pane2a := window inARow: {window inAColumn: {treePane}})
- useRoundedCorners;
- layoutInset: 0;
- borderWidth: ColorTheme current dialogPaneBorderWidth;
- borderColor: ColorTheme current dialogPaneBorderColor
- }) layoutInset: 10.
- (window inAColumn: {(pane2b := window inARow: {window inAColumn: {fileListPane}})
- useRoundedCorners;
- layoutInset: 0;
- borderWidth: ColorTheme current dialogPaneBorderWidth;
- borderColor: ColorTheme current dialogPaneBorderColor
- }) layoutInset: 10.
- }.
- window fullBounds.
- window fillWithRamp: ColorTheme current dialogRampOrColor oriented: 0.65.
- pane2a fillWithRamp: ColorTheme current dialogPaneRampOrColor oriented: (0.7 @ 0.35).
- pane2b fillWithRamp: ColorTheme current dialogPaneRampOrColor oriented: (0.7 @ 0.35).
- "
- buttons do: [ :each |
- each fillWithRamp: ColorTheme current dialogButtonsRampOrColor oriented: (0.75 @ 0).
- ].
- "
- fileTypeButtons do: [ :each |
- each
- on: #mouseUp
- send: #value:value:
- to: [ :evt :morph |
- self update: actionRow in: window fileTypeRow: fileTypeRow morphUp: morph.
- ]
- ].
- buttons first on: #mouseUp send: #okHit to: aFileList.
- buttons second on: #mouseUp send: #cancelHit to: aFileList.
- aFileList postOpen.
- window position: aWorld topLeft + (aWorld extent - window extent // 2).
- aFileList directoryChangeBlock: [ :newDir |
- self update: actionRow in: window fileTypeRow: fileTypeRow morphUp: nil.
- self enableTypeButtons: fileTypeButtons info: fileTypeInfo forDir: newDir.
- ].
- aFileList directory: aFileList directory.
- window adoptPaneColor: (Color r: 0.548 g: 0.677 b: 1.0).
- window becomeModal.
- ^ window openInWorld: aWorld.!
Item was removed:
- ----- Method: FileList2 class>>morphicViewImageViewer (in category 'morphic ui') -----
- morphicViewImageViewer
-
- | dir aFileList window midLine fixedSize |
-
- dir := FileDirectory default.
- aFileList := self new directory: dir.
- aFileList optionalButtonSpecs: aFileList specsForImageViewer.
- aFileList fileSelectionBlock: [ :entry :myPattern |
- entry isDirectory ifTrue: [
- false
- ] ifFalse: [
- #('bmp' 'gif' 'jpg' 'form' 'png') includes:
- (FileDirectory extensionFor: entry name asLowercase)
- ]
- ].
- window := (SystemWindow labelled: dir pathName) model: aFileList.
-
- fixedSize := 25.
- midLine := 0.4.
- self addFullPanesTo: window from: {
- {aFileList optionalButtonRow. 0 @ 0 corner: 1 @ 0.
- 0 at 0 corner: 0 at fixedSize}.
- {aFileList morphicDirectoryTreePane. 0 at 0 corner: midLine at 1.
- 0 at fixedSize corner: 0 at 0}.
- {aFileList morphicFileListPane. midLine @ 0 corner: 1 at 1.
- 0 at fixedSize corner: 0 at 0}.
- }.
- aFileList postOpen.
- ^ window !
Item was removed:
- ----- Method: FileList2 class>>morphicViewNoFile (in category 'morphic ui') -----
- morphicViewNoFile
-
- | dir aFileList window midLine fixedSize |
-
- dir := FileDirectory default.
- aFileList := self new directory: dir.
- window := (SystemWindow labelled: dir pathName) model: aFileList.
-
- fixedSize := 25.
- midLine := 0.4.
- self addFullPanesTo: window from: {
- {aFileList morphicPatternPane. 0 at 0 corner: 0.3 at 0. 0 at 0 corner: 0 at fixedSize}.
- {aFileList optionalButtonRow. 0.3 @ 0 corner: 1 at 0. 0 at 0 corner: 0 at fixedSize}.
- {aFileList morphicDirectoryTreePane. 0 at 0 corner: midLine at 1. 0 at fixedSize corner: 0 at 0}.
- {aFileList morphicFileListPane. midLine @ 0 corner: 1 at 1. 0 at fixedSize corner: 0 at 0}.
- }.
- aFileList postOpen.
- ^ window !
Item was removed:
- ----- Method: FileList2 class>>morphicViewProjectLoader (in category 'morphic ui') -----
- morphicViewProjectLoader
-
- | dir aFileList window midLine fixedSize |
-
- dir := FileDirectory default.
- aFileList := self new directory: dir.
- aFileList optionalButtonSpecs: aFileList servicesForProjectLoader.
- aFileList fileSelectionBlock: self projectOnlySelectionBlock.
- window := (SystemWindow labelled: dir pathName) model: aFileList.
-
- fixedSize := 25.
- midLine := 0.4.
- self addFullPanesTo: window from: {
- {aFileList optionalButtonRow. 0 @ 0 corner: 1 @ 0. 0 at 0 corner: 0 at fixedSize}.
- {aFileList morphicDirectoryTreePane. 0 at 0 corner: midLine at 1. 0 at fixedSize corner: 0 at 0}.
- {aFileList morphicFileListPane. midLine @ 0 corner: 1 at 1. 0 at fixedSize corner: 0 at 0}.
- }.
- aFileList postOpen.
- ^ window !
Item was removed:
- ----- Method: FileList2 class>>morphicViewProjectLoader2InWorld: (in category 'blue ui') -----
- morphicViewProjectLoader2InWorld: aWorld
-
- ^self morphicViewProjectLoader2InWorld: aWorld reallyLoad: true!
Item was removed:
- ----- Method: FileList2 class>>morphicViewProjectLoader2InWorld:reallyLoad: (in category 'blue ui') -----
- morphicViewProjectLoader2InWorld: aWorld reallyLoad: aBoolean
-
- ^self
- morphicViewProjectLoader2InWorld: aWorld
- reallyLoad: aBoolean
- dirFilterType: #initialDirectoryList
- !
Item was removed:
- ----- Method: FileList2 class>>morphicViewProjectLoader2InWorld:reallyLoad:dirFilterType: (in category 'blue ui') -----
- morphicViewProjectLoader2InWorld: aWorld reallyLoad: aBoolean dirFilterType: aSymbol
-
- | window aFileList buttons treePane textColor1 fileListPane pane2a pane2b treeExtent filesExtent |
-
- window := AlignmentMorphBob1 newColumn.
- window hResizing: #shrinkWrap; vResizing: #shrinkWrap.
- textColor1 := Color r: 0.742 g: 0.839 b: 1.0.
- aFileList := self new directory: FileDirectory default.
- aFileList
- optionalButtonSpecs: aFileList servicesForProjectLoader;
- fileSelectionBlock: (
- aSymbol == #limitedSuperSwikiDirectoryList ifTrue: [
- MessageSend receiver: self selector: #projectOnlySelectionMethod:
- ] ifFalse: [
- self projectOnlySelectionBlock
- ]
- );
- "dirSelectionBlock: self hideSqueakletDirectoryBlock;"
- modalView: window.
- window
- setProperty: #FileList toValue: aFileList;
- wrapCentering: #center; cellPositioning: #topCenter;
- borderWidth: ColorTheme current dialogBorderWidth;
- borderColor: ColorTheme current dialogBorderColor;
- useRoundedCorners.
- buttons := {{'OK'. ColorTheme current okColor}. {'Cancel'. ColorTheme current cancelColor}} collect: [ :each |
- self blueButtonText: each first textColor: textColor1 color: each second inWindow: window
- ].
-
- aWorld width < 800 ifTrue: [
- treeExtent := 150 at 300.
- filesExtent := 350 at 300.
- ] ifFalse: [
- treeExtent := 250 at 300.
- filesExtent := 350 at 300.
- ].
- (treePane := aFileList morphicDirectoryTreePaneFiltered: aSymbol)
- extent: treeExtent;
- retractable: false;
- borderWidth: 0.
- fileListPane := aFileList morphicFileListPane
- extent: filesExtent;
- retractable: false;
- borderWidth: 0.
- window
- addARow: {
- window fancyText: 'Load A Project' translated font: Preferences standardEToysTitleFont color: textColor1
- };
- addARowCentered: {
- buttons first.
- (Morph new extent: 30 at 5) color: Color transparent.
- buttons second
- };
- addARow: {
- window fancyText: 'Please select a project' translated font: Preferences standardEToysFont color: textColor1
- };
- addARow: {
- (window inAColumn: {(pane2a := window inARow: {window inAColumn: {treePane}})
- useRoundedCorners;
- layoutInset: 0;
- borderWidth: ColorTheme current dialogPaneBorderWidth;
- borderColor: ColorTheme current dialogPaneBorderColor
- }) layoutInset: 10.
- (window inAColumn: {(pane2b := window inARow: {window inAColumn: {fileListPane}})
- useRoundedCorners;
- layoutInset: 0;
- borderWidth: ColorTheme current dialogPaneBorderWidth;
- borderColor: ColorTheme current dialogPaneBorderColor
- }) layoutInset: 10.
- }.
- window fullBounds.
- window fillWithRamp: ColorTheme current dialogRampOrColor oriented: 0.65.
- pane2a fillWithRamp: ColorTheme current dialogPaneRampOrColor oriented: (0.7 @ 0.35).
- pane2b fillWithRamp: ColorTheme current dialogPaneRampOrColor oriented: (0.7 @ 0.35).
- "
- buttons do: [ :each |
- each fillWithRamp: ColorTheme current dialogButtonsRampOrColor oriented: (0.75 @ 0).
- ].
- "
- buttons first
- on: #mouseUp
- send: (aBoolean ifTrue: [#okHitForProjectLoader] ifFalse: [#okHit])
- to: aFileList.
- buttons second on: #mouseUp send: #cancelHit to: aFileList.
- aFileList postOpen.
- window position: aWorld topLeft + (aWorld extent - window extent // 2).
- window adoptPaneColor: (Color r: 0.548 g: 0.677 b: 1.0).
- window becomeModal.
- ^ window openInWorld: aWorld.!
Item was removed:
- ----- Method: FileList2 class>>morphicViewProjectSaverFor: (in category 'blue ui') -----
- morphicViewProjectSaverFor: aProject
- "
- (FileList2 morphicViewProjectSaverFor: Project current) openInWorld
- "
- | window aFileList buttons treePane pane2 textColor1 option treeExtent buttonData buttonRow |
-
- textColor1 := Color r: 0.742 g: 0.839 b: 1.0.
- aFileList := self new directory: ServerDirectory projectDefaultDirectory.
- aFileList dirSelectionBlock: self hideSqueakletDirectoryBlock.
- window := AlignmentMorphBob1 newColumn.
- window hResizing: #shrinkWrap; vResizing: #shrinkWrap.
- aFileList modalView: window.
- window
- setProperty: #FileList toValue: aFileList;
- wrapCentering: #center; cellPositioning: #topCenter;
- borderWidth: ColorTheme current dialogBorderWidth;
- borderColor: ColorTheme current dialogBorderColor;
- useRoundedCorners.
-
- buttonData := Preferences enableLocalSave
- ifTrue: [{
- {'Save'. #okHit. 'Save in the place specified below, and in the Squeaklets folder on your local disk'. ColorTheme current okColor}.
- {'Save on local disk only'. #saveLocalOnlyHit. 'saves in the Squeaklets folder'. ColorTheme current okColor}.
- {'Cancel'. #cancelHit. 'return without saving'. ColorTheme current cancelColor}
- }]
- ifFalse: [{
- {'Save'. #okHit. 'Save in the place specified below, and in the Squeaklets folder on your local disk'. ColorTheme current okColor}.
- {'Cancel'. #cancelHit. 'return without saving'. ColorTheme current cancelColor}
- }].
- buttons := buttonData collect: [ :each |
- (self blueButtonText: each first textColor: textColor1 color: each fourth inWindow: window)
- setBalloonText: each third translated;
- hResizing: #shrinkWrap;
- on: #mouseUp send: each second to: aFileList
- ].
-
- option := aProject world
- valueOfProperty: #SuperSwikiPublishOptions
- ifAbsent: [#initialDirectoryList].
- aProject world removeProperty: #SuperSwikiPublishOptions.
-
- treeExtent := World height < 500
- ifTrue: [ 350 at 150 ]
- ifFalse: [ 350 at 300 ].
-
- (treePane := aFileList morphicDirectoryTreePaneFiltered: option)
- extent: treeExtent;
- retractable: false;
- borderWidth: 0.
- window
- addARowCentered: {
- window fancyText: 'Publish This Project' translated font: Preferences standardEToysTitleFont color: textColor1
- }.
- buttonRow := OrderedCollection new.
- buttons do: [:button | buttonRow add: button] separatedBy: [buttonRow add: ((Morph new extent: 30 at 5) color: Color transparent)].
-
- " addARowCentered: {
- buttons first.
- (Morph new extent: 30 at 5) color: Color transparent.
- buttons second.
- (Morph new extent: 30 at 5) color: Color transparent.
- buttons third
- };"
- window
- addARowCentered: buttonRow;
- addARowCentered: { (window inAColumn: {(ProjectViewMorph on: aProject) lock}) layoutInset: 4};
- addARowCentered: {
- window fancyText: 'Please select a folder' translated font: Preferences standardEToysFont color: textColor1
- };
- addARow: {
- (
- window inAColumn: {
- (pane2 := window inARow: {window inAColumn: {treePane}})
- useRoundedCorners;
- layoutInset: 0;
- borderWidth: ColorTheme current dialogPaneBorderWidth;
- borderColor: ColorTheme current dialogPaneBorderColor
- }
- ) layoutInset: 10
- }.
- window fullBounds.
- window fillWithRamp: ColorTheme current dialogRampOrColor oriented: 0.65.
- pane2 fillWithRamp: ColorTheme current dialogPaneRampOrColor oriented: (0.7 @ 0.35).
- "
- buttons do: [ :each |
- each fillWithRamp: ColorTheme current dialogButtonsRampOrColor oriented: (0.75 @ 0).
- ].
- "
- window setProperty: #morphicLayerNumber toValue: 11.
- aFileList postOpen.
- window adoptPaneColor: (Color r: 0.548 g: 0.677 b: 1.0).
- ^ window !
Item was removed:
- ----- Method: FileList2 class>>openMorphicViewInWorld (in category 'instance creation') -----
- openMorphicViewInWorld
- "FileList2 openMorphicViewInWorld"
- ^self morphicView openInWorld!
Item was removed:
- ----- Method: FileList2 class>>projectOnlySelectionBlock (in category 'as yet unclassified') -----
- projectOnlySelectionBlock
-
- ^[ :entry :myPattern |
- entry isDirectory ifTrue: [
- false
- ] ifFalse: [
- #('*.pr' '*.pr.gz' '*.project') anySatisfy: [ :each | each match: entry name]
- ]
- ]!
Item was removed:
- ----- Method: FileList2 class>>projectOnlySelectionMethod: (in category 'as yet unclassified') -----
- projectOnlySelectionMethod: incomingEntries
-
- | versionsAccepted |
-
- "this shows only the latest version of each project"
- versionsAccepted := Dictionary new.
- incomingEntries do: [ :entry | | basicInfoTuple basicVersion basicName |
- entry isDirectory ifFalse: [
- (#('*.pr' '*.pr.gz' '*.project') anySatisfy: [ :each | each match: entry name]) ifTrue: [
- basicInfoTuple := Project parseProjectFileName: entry name.
- basicName := basicInfoTuple first.
- basicVersion := basicInfoTuple second.
- ((versionsAccepted includesKey: basicName) and:
- [(versionsAccepted at: basicName) first > basicVersion]) ifFalse: [
- versionsAccepted at: basicName put: {basicVersion. entry}
- ].
- ]
- ]
- ].
- ^versionsAccepted asArray collect: [ :each | each second]!
Item was removed:
- ----- Method: FileList2 class>>prototypicalToolWindow (in category 'instance creation') -----
- prototypicalToolWindow
- "Answer an example of myself seen in a tool window, for the benefit of parts-launching tools"
-
- ^ self morphicView applyModelExtent!
Item was removed:
- ----- Method: FileList2 class>>selectionBlockForSuffixes: (in category 'as yet unclassified') -----
- selectionBlockForSuffixes: anArray
-
- ^[ :entry :myPattern |
- entry isDirectory ifTrue: [
- false
- ] ifFalse: [
- anArray anySatisfy: [ :each | each match: entry name]
- ]
- ]!
Item was removed:
- ----- Method: FileList2 class>>textRow: (in category 'utility') -----
- textRow: aString
-
- ^AlignmentMorph newRow
- wrapCentering: #center; cellPositioning: #leftCenter;
- color: Color transparent;
- layoutInset: 0;
- addMorph: (
- AlignmentMorph newColumn
- wrapCentering: #center; cellPositioning: #topCenter;
- color: Color transparent;
- vResizing: #shrinkWrap;
- layoutInset: 0;
- addMorph: (
- AlignmentMorph newRow
- wrapCentering: #center; cellPositioning: #leftCenter;
- color: Color transparent;
- hResizing: #shrinkWrap;
- vResizing: #shrinkWrap;
- layoutInset: 0;
- addMorph: ((StringMorph contents: aString) color: Color blue; lock)
- )
- )!
Item was removed:
- ----- Method: FileList2 class>>update:in:fileTypeRow:morphUp: (in category 'morphic ui') -----
- update: actionRow in: window fileTypeRow: fileTypeRow morphUp: morph
-
- | fileTypeInfo info2 buttons textColor1 fileSuffixes fileActions aFileList fileTypeString |
-
- (morph notNil and:[(morph valueOfProperty: #enabled) not]) ifTrue: [^self].
- fileTypeRow submorphsDo: [ :sub |
- sub color: (
- sub == morph
- ifTrue: [Color white]
- ifFalse: [(sub valueOfProperty: #enabled)
- ifTrue: [Color transparent] ifFalse: [Color gray]]
- ).
- ].
- fileTypeString := morph isNil ifTrue:['xxxx'] ifFalse:[morph valueOfProperty: #buttonText].
-
- aFileList := window valueOfProperty: #FileList.
- textColor1 := Color r: 0.742 g: 0.839 b: 1.0.
- actionRow removeAllMorphs.
- fileTypeInfo := self endingSpecs.
- info2 := fileTypeInfo detect: [ :each | each first = fileTypeString] ifNone: [ nil ].
- info2 isNil
- ifTrue:[
- buttons := OrderedCollection new
- ]
- ifFalse:[
- fileSuffixes := info2 second.
- fileActions := info2 third.
- buttons := fileActions collect: [ :each | aFileList blueButtonForService: each textColor: textColor1 inWindow: window ].
- buttons do: [ :each |
- each fillWithRamp: ColorTheme current okColor oriented: (0.75 @ 0).
- ].
- ].
- buttons addLast: (self
- blueButtonText: 'Cancel'
- textColor: textColor1
- color: ColorTheme current cancelColor
- inWindow: window
- balloonText: 'Cancel this search' selector: #cancelHit recipient: aFileList).
- buttons do: [ :each | actionRow addMorphBack: each].
- window fullBounds.
- fileSuffixes isNil ifFalse:[
- aFileList fileSelectionBlock: (
- self selectionBlockForSuffixes: (fileSuffixes collect: [ :each | '*.',each])
- ).
- ].
- aFileList updateFileList.!
Item was removed:
- ----- Method: FileList2>>addNewDirectory (in category 'own services') -----
- addNewDirectory
- super addNewDirectory.
- self updateDirectory.!
Item was removed:
- ----- Method: FileList2>>blueButtonForService:textColor:inWindow: (in category 'user interface') -----
- blueButtonForService: aService textColor: textColor inWindow: window
- | block result |
- block := [self fullName isNil
- ifTrue: [self inform: 'Please select a file' translated]
- ifFalse: [aService performServiceFor: self]].
- result := window
- fancyText: aService buttonLabel capitalized translated
- font: Preferences standardEToysFont
- color: textColor.
- result setProperty: #buttonText toValue: aService buttonLabel capitalized;
- hResizing: #rigid;
- extent: 100 @ 20;
- layoutInset: 4;
- borderWidth: ColorTheme current dialogButtonBorderWidth;
- useRoundedCorners;
- setBalloonText: aService label.
- result
- on: #mouseUp
- send: #value
- to: block.
- ^ result!
Item was removed:
- ----- Method: FileList2>>cancelHit (in category 'private') -----
- cancelHit
-
- modalView delete.
- directory := fileName := currentDirectorySelected := nil.!
Item was removed:
- ----- Method: FileList2>>changeDirectoryTo: (in category 'volume list and pattern') -----
- changeDirectoryTo: aFileDirectory
- "Change directory as requested."
-
- self directory: aFileDirectory.
- self updateDirectory!
Item was removed:
- ----- Method: FileList2>>currentDirectorySelected (in category 'private') -----
- currentDirectorySelected
- ^ currentDirectorySelected
- !
Item was removed:
- ----- Method: FileList2>>deleteDirectory (in category 'own services') -----
- deleteDirectory
- super deleteDirectory.
- self updateDirectory.!
Item was removed:
- ----- Method: FileList2>>dirSelectionBlock: (in category 'initialization') -----
- dirSelectionBlock: aBlock
- dirSelectionBlock := aBlock!
Item was removed:
- ----- Method: FileList2>>directory (in category 'volume list and pattern') -----
- directory
-
- ^directory!
Item was removed:
- ----- Method: FileList2>>directory: (in category 'initialization') -----
- directory: dir
- "Set the path of the volume to be displayed."
-
- self okToChange ifFalse: [^ self].
-
- self modelSleep.
- directory := dir.
- self modelWakeUp.
-
- sortMode == nil ifTrue: [sortMode := #date].
- volList := Array with: '[]'.
- directory ifNotNil: [
- volList := volList, directory pathParts. "Nesting suggestion from RvL"
- ].
- volList := volList withIndexCollect: [:each :i | ( String new: i-1 withAll: $ ), each].
- self changed: #relabel.
- self changed: #volumeList.
- self pattern: pattern.
- directoryChangeBlock ifNotNil: [directoryChangeBlock value: directory].!
Item was removed:
- ----- Method: FileList2>>directoryChangeBlock: (in category 'initialization') -----
- directoryChangeBlock: aBlockOrNil
-
- directoryChangeBlock := aBlockOrNil.!
Item was removed:
- ----- Method: FileList2>>directoryNamesFor: (in category 'private') -----
- directoryNamesFor: item
- "item may be file directory or server directory"
- | entries |
- entries := item directoryNames.
- dirSelectionBlock ifNotNil:[entries := entries select: dirSelectionBlock].
- ^entries!
Item was removed:
- ----- Method: FileList2>>dropDestinationDirectory:event: (in category 'drag''n''drop') -----
- dropDestinationDirectory: dest event: evt
- "Answer a FileDirectory representing the drop destination in the directory hierarchy morph dest"
- self isThisEverCalled.
- ^ (dest itemFromPoint: evt position) withoutListWrapper!
Item was removed:
- ----- Method: FileList2>>fileSelectionBlock: (in category 'initialization') -----
- fileSelectionBlock: aBlock
-
- fileSelectionBlock := aBlock!
Item was removed:
- ----- Method: FileList2>>getSelectedDirectory (in category 'private') -----
- getSelectedDirectory
- ok == true ifFalse: [^ nil].
- ^ currentDirectorySelected
- !
Item was removed:
- ----- Method: FileList2>>getSelectedFile (in category 'private') -----
- getSelectedFile
- "Answer a filestream on the selected file. If it cannot be opened for read/write, try read-only before giving up; answer nil if unsuccessful"
-
- ok == true ifFalse: [^ nil].
- directory ifNil: [^ nil].
- fileName ifNil: [^ nil].
- ^ (directory oldFileNamed: fileName) ifNil:
- [directory readOnlyFileNamed: fileName]!
Item was removed:
- ----- Method: FileList2>>importImage (in category 'own services') -----
- importImage
- "Import the given image file and store the resulting Form in the default Imports"
-
- | fname image |
- fname := fileName sansPeriodSuffix.
- image := Form fromFileNamed: self fullName.
- Imports default importImage: image named: fname.
- !
Item was removed:
- ----- Method: FileList2>>initialDirectoryList (in category 'initialization') -----
- initialDirectoryList
-
- | dirList |
- dirList := (FileDirectory on: '') directoryNames collect: [ :each |
- FileDirectoryWrapper with: (FileDirectory on: each) name: each model: self].
- dirList isEmpty ifTrue:[
- dirList := Array with: (FileDirectoryWrapper
- with: FileDirectory default
- name: FileDirectory default localName
- model: self)].
- dirList := dirList,(
- ServerDirectory serverNames collect: [ :n | | nameToShow dir |
- dir := ServerDirectory serverNamed: n.
- nameToShow := n.
- (dir directoryWrapperClass with: dir name: nameToShow model: self)
- balloonText: dir realUrl
- ]
- ).
- ^dirList!
Item was removed:
- ----- Method: FileList2>>initialize (in category 'initialize-release') -----
- initialize
-
- super initialize.
- showDirsInFileList := false.
- fileSelectionBlock := [ :entry :myPattern |
- entry isDirectory ifTrue: [
- showDirsInFileList
- ] ifFalse: [
- myPattern = '*' or: [myPattern match: entry name]
- ]
- ].
- dirSelectionBlock := [ :dirName | true].!
Item was removed:
- ----- Method: FileList2>>isDirectoryList: (in category 'drag''n''drop') -----
- isDirectoryList: aMorph
- ^aMorph isKindOf: SimpleHierarchicalListMorph!
Item was removed:
- ----- Method: FileList2>>labelString (in category 'initialization') -----
- labelString
- ^ (directory ifNil: [^'[]']) pathName contractTo: 50!
Item was removed:
- ----- Method: FileList2>>limitedSuperSwikiDirectoryList (in category 'initialization') -----
- limitedSuperSwikiDirectoryList
-
- | dirList localDirName localDir |
-
- dirList := OrderedCollection new.
- ServerDirectory serverNames do: [ :n | | dir nameToShow |
- dir := ServerDirectory serverNamed: n.
- dir isProjectSwiki ifTrue: [
- nameToShow := n.
- dirList add: ((dir directoryWrapperClass with: dir name: nameToShow model: self)
- balloonText: dir realUrl)
- ].
- ].
- ServerDirectory localProjectDirectories do: [ :each |
- dirList add: (FileDirectoryWrapper with: each name: each localName model: self)
- ].
- "Make sure the following are always shown, but not twice"
- localDirName := SecurityManager default untrustedUserDirectory.
- localDir := FileDirectory on: localDirName.
- ((ServerDirectory localProjectDirectories collect: [:each | each pathName]) includes: localDirName)
- ifFalse: [dirList add: (FileDirectoryWrapper with: localDir name: localDir localName model: self)].
- FileDirectory default pathName = localDirName
- ifFalse: [dirList add: (FileDirectoryWrapper with: FileDirectory default name: FileDirectory default localName model: self)].
- (dirList anySatisfy: [:each | each withoutListWrapper acceptsUploads])
- ifFalse: [dirList add: (FileDirectoryWrapper with: FileDirectory default name: FileDirectory default localName model: self)].
- ^dirList!
Item was removed:
- ----- Method: FileList2>>limitedSuperSwikiPublishDirectoryList (in category 'initialization') -----
- limitedSuperSwikiPublishDirectoryList
-
- | dirList localDirName localDir |
-
- dirList := self publishingServers.
- ServerDirectory localProjectDirectories do: [ :each |
- dirList add: (FileDirectoryWrapper with: each name: each localName model: self)].
-
- "Make sure the following are always shown, but not twice"
- localDirName := SecurityManager default untrustedUserDirectory.
- localDir := FileDirectory on: localDirName.
- ((ServerDirectory localProjectDirectories collect: [:each | each pathName]) includes: localDirName)
- ifFalse: [dirList add: (FileDirectoryWrapper with: localDir name: localDir localName model: self)].
- FileDirectory default pathName = localDirName
- ifFalse: [dirList add: (FileDirectoryWrapper with: FileDirectory default name: FileDirectory default localName model: self)].
- ^dirList!
Item was removed:
- ----- Method: FileList2>>listForPattern: (in category 'volume list and pattern') -----
- listForPattern: pat
- "Make the list be those file names which match the pattern."
-
- | sizePad newList entries |
- directory ifNil: [^#()].
- entries := (Preferences eToyLoginEnabled
- and: [Utilities authorNamePerSe notNil])
- ifTrue: [directory matchingEntries: {'submittedBy: ' , Utilities authorName.} ]
- ifFalse: [directory entries].
- (fileSelectionBlock isKindOf: MessageSend) ifTrue: [
- fileSelectionBlock arguments: {entries}.
- newList := fileSelectionBlock value.
- fileSelectionBlock arguments: #().
- ] ifFalse: [
- newList := entries select: [:entry | fileSelectionBlock value: entry value: pat].
- ].
- newList := newList asArray sort: self sortBlock.
- sizePad := (newList inject: 0 into: [:mx :entry | mx max: entry fileSize])
- asStringWithCommas size - 1.
- ^newList collect: [ :e | self fileNameFormattedFrom: e sizePad: sizePad ]!
Item was removed:
- ----- Method: FileList2>>listForPatterns: (in category 'volume list and pattern') -----
- listForPatterns: anArray
- "Make the list be those file names which match the patterns."
-
- | sizePad newList |
- directory ifNil: [^#()].
- (fileSelectionBlock isKindOf: MessageSend) ifTrue: [
- fileSelectionBlock arguments: {directory entries}.
- newList := fileSelectionBlock value.
- fileSelectionBlock arguments: #().
- ] ifFalse: [
- newList := Set new.
- anArray do: [ :pat |
- newList addAll: (directory entries select: [:entry | fileSelectionBlock value: entry value: pat]) ].
- ].
- newList := newList asArray sort: self sortBlock.
- sizePad := (newList inject: 0 into: [:mx :entry | mx max: entry fileSize])
- asStringWithCommas size.
- ^newList collect: [ :e | self fileNameFormattedFrom: e sizePad: sizePad ]!
Item was removed:
- ----- Method: FileList2>>modalView: (in category 'private') -----
- modalView: aSystemWindowOrSuch
-
- modalView := aSystemWindowOrSuch!
Item was removed:
- ----- Method: FileList2>>morphicDirectoryTreePane (in category 'user interface') -----
- morphicDirectoryTreePane
-
- ^self morphicDirectoryTreePaneFiltered: #initialDirectoryList
- !
Item was removed:
- ----- Method: FileList2>>morphicDirectoryTreePaneFiltered: (in category 'user interface') -----
- morphicDirectoryTreePaneFiltered: aSymbol
- ^(SimpleHierarchicalListMorph
- on: self
- list: aSymbol
- selected: #currentDirectorySelected
- changeSelected: #setSelectedDirectoryTo:
- menu: #volumeMenu:
- keystroke: nil)
- autoDeselect: false;
- enableDrag: false;
- enableDrop: true;
- yourself
-
- !
Item was removed:
- ----- Method: FileList2>>morphicFileContentsPane (in category 'user interface') -----
- morphicFileContentsPane
-
- ^PluggableTextMorph
- on: self
- text: #contents
- accept: #put:
- readSelection: #contentsSelection
- menu: #fileContentsMenu:shifted:
- !
Item was removed:
- ----- Method: FileList2>>morphicFileListPane (in category 'user interface') -----
- morphicFileListPane
-
- ^(PluggableListMorph
- on: self
- list: #fileList
- selected: #fileListIndex
- changeSelected: #fileListIndex:
- menu: #fileListMenu:)
- enableDrag: true;
- enableDrop: false;
- yourself
-
- !
Item was removed:
- ----- Method: FileList2>>morphicPatternPane (in category 'user interface') -----
- morphicPatternPane
- | pane |
- pane := PluggableTextMorph
- on: self
- text: #pattern
- accept: #pattern:.
- pane acceptOnCR: true.
- ^pane
-
- !
Item was removed:
- ----- Method: FileList2>>okHit (in category 'private') -----
- okHit
-
- ok := true.
- currentDirectorySelected
- ifNil: [ Beeper beep ]
- ifNotNil: [
- self class lastSelDir: directory.
- modalView delete ]!
Item was removed:
- ----- Method: FileList2>>okHitForProjectLoader (in category 'private') -----
- okHitForProjectLoader
-
- | areaOfProgress |
- fileName ifNil: [^ self].
- ok := true.
- areaOfProgress := modalView firstSubmorph.
- [
- areaOfProgress setProperty: #deleteOnProgressCompletion toValue: modalView.
- self openProjectFromFile.
- modalView delete. "probably won't get here"
- ]
- on: ProgressTargetRequestNotification
- do: [ :ex | ex resume: areaOfProgress].
-
-
- !
Item was removed:
- ----- Method: FileList2>>okayAndCancelServices (in category 'own services') -----
- okayAndCancelServices
- "Answer ok and cancel services"
-
- ^ {self serviceOkay. self serviceCancel}!
Item was removed:
- ----- Method: FileList2>>openImageInWindow (in category 'own services') -----
- openImageInWindow
- "Handle five file formats: GIF, JPG, PNG, Form stoteOn: (run coded), and BMP.
- Fail if file format is not recognized."
-
- | image myStream |
- myStream := (directory readOnlyFileNamed: fileName) binary.
- [image := Form fromBinaryStream: myStream.
- Project current openImage: image name: fileName saveResource: false]
- ensure: [myStream close]
- !
Item was removed:
- ----- Method: FileList2>>openProjectFromFile (in category 'own services') -----
- openProjectFromFile
- "Reconstitute a Morph from the selected file, presumed to be represent
- a Morph saved via the SmartRefStream mechanism, and open it in an
- appropriate Morphic world."
-
- Project canWeLoadAProjectNow ifFalse: [^ self].
- ProjectViewMorph
- openFromDirectory: directory
- andFileName: fileName
- !
Item was removed:
- ----- Method: FileList2>>optionalButtonRow (in category 'initialization') -----
- optionalButtonRow
- "Answer the button row associated with a file list"
-
- | aRow |
- aRow := AlignmentMorph newRow beSticky.
- aRow color: Color transparent.
- aRow clipSubmorphs: true.
- aRow layoutInset: 5 at 1; cellInset: 6.
- self universalButtonServices do: "just the three sort-by items"
- [:service |
- aRow addMorphBack: (service buttonToTriggerIn: self).
- (service selector == #sortBySize)
- ifTrue:
- [aRow addTransparentSpacerOfSize: (4 at 0)]].
- aRow setNameTo: 'buttons'.
- aRow setProperty: #buttonRow toValue: true. "Used for dynamic retrieval later on"
- ^ aRow!
Item was removed:
- ----- Method: FileList2>>optionalButtonSpecs (in category 'initialization') -----
- optionalButtonSpecs
-
- ^optionalButtonSpecs ifNil: [super optionalButtonSpecs]!
Item was removed:
- ----- Method: FileList2>>optionalButtonSpecs: (in category 'initialization') -----
- optionalButtonSpecs: anArray
-
- optionalButtonSpecs := anArray!
Item was removed:
- ----- Method: FileList2>>postOpen (in category 'private') -----
- postOpen
-
- directory ifNotNil: [
- self changed: #(openPath) , directory pathParts.
- ].
- !
Item was removed:
- ----- Method: FileList2>>publishingServers (in category 'initialization') -----
- publishingServers
-
- | dirList |
-
- dirList := OrderedCollection new.
- ServerDirectory serverNames do: [ :n | | dir nameToShow |
- dir := ServerDirectory serverNamed: n.
- (dir isProjectSwiki and: [dir acceptsUploads])
- ifTrue: [
- nameToShow := n.
- dirList add: ((dir directoryWrapperClass with: dir name: nameToShow model: self)
- balloonText: dir realUrl)]].
- ^dirList!
Item was removed:
- ----- Method: FileList2>>removeLinefeeds (in category 'own services') -----
- removeLinefeeds
- "Remove any line feeds by converting to CRs instead. This is a temporary implementation for 3.6 only... should be removed during 3.7alpha."
- | fileContents |
- fileContents := ((FileStream readOnlyFileNamed: self fullName) wantsLineEndConversion: true) contentsOfEntireFile.
- (FileStream newFileNamed: self fullName)
- nextPutAll: fileContents;
- close.!
Item was removed:
- ----- Method: FileList2>>saveLocalOnlyHit (in category 'private') -----
- saveLocalOnlyHit
- ok := true.
- modalView delete.
- directory := fileName := nil.
- currentDirectorySelected := #localOnly.!
Item was removed:
- ----- Method: FileList2>>serviceCancel (in category 'own services') -----
- serviceCancel
- "Answer a service for hitting the cancel button"
-
- ^ (SimpleServiceEntry new
- provider: self label: 'cancel' selector: #cancelHit
- description: 'hit here to cancel ')
- buttonLabel: 'cancel'!
Item was removed:
- ----- Method: FileList2>>serviceOkay (in category 'own services') -----
- serviceOkay
- "Answer a service for hitting the okay button"
-
- ^ (SimpleServiceEntry new
- provider: self label: 'okay' selector: #okHit
- description: 'hit here to accept the current selection')
- buttonLabel: 'ok'!
Item was removed:
- ----- Method: FileList2>>serviceOpenProjectFromFile (in category 'own services') -----
- serviceOpenProjectFromFile
- "Answer a service for opening a .pr project file"
-
- ^ SimpleServiceEntry
- provider: self
- label: 'load as project'
- selector: #openProjectFromFile
- description: 'open project from file'
- buttonLabel: 'load'!
Item was removed:
- ----- Method: FileList2>>servicesForFolderSelector (in category 'own services') -----
- servicesForFolderSelector
- "Answer the ok and cancel servies for the folder selector"
-
- ^ self okayAndCancelServices!
Item was removed:
- ----- Method: FileList2>>servicesForProjectLoader (in category 'own services') -----
- servicesForProjectLoader
- "Answer the services to show in the button pane for the project loader"
-
- ^ {self serviceSortByName. self serviceSortByDate. self serviceSortBySize. self serviceOpenProjectFromFile}!
Item was removed:
- ----- Method: FileList2>>setSelectedDirectoryTo: (in category 'private') -----
- setSelectedDirectoryTo: aFileDirectoryWrapper
- currentDirectorySelected := aFileDirectoryWrapper.
- self directory: aFileDirectoryWrapper withoutListWrapper.
- brevityState := #FileList.
- "self addPath: path."
- self changed: #fileList.
- self changed: #contents.
- self changed: #currentDirectorySelected.!
Item was removed:
- ----- Method: FileList2>>specsForImageViewer (in category 'as yet unclassified') -----
- specsForImageViewer
-
- ^{self serviceSortByName. self serviceSortByDate. self serviceSortBySize }!
Item was removed:
- ----- Method: FileList2>>universalButtonServices (in category 'initialization') -----
- universalButtonServices
- "Answer the services to be reflected in the receiver's buttons"
-
- ^ self optionalButtonSpecs!
Item was removed:
- ----- Method: FileList2>>updateDirectory (in category 'initialization') -----
- updateDirectory
- "directory has been changed externally, by calling directory:.
- Now change the view to reflect the change."
- self changed: #currentDirectorySelected.
- self postOpen.!
More information about the Squeak-dev
mailing list
|