[squeak-dev] The Trunk: Tools-tpr.806.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Apr 12 00:05:25 UTC 2018


tim Rowledge uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-tpr.806.mcz

==================== Summary ====================

Name: Tools-tpr.806
Author: tpr
Time: 11 April 2018, 5:05:08.791195 pm
UUID: 84e1d562-18b3-454b-8826-3f4b15e12aac
Ancestors: Tools-mt.805

Start deprecation of some egregious FileList2 code on the path to freedom from FileList2.
This matches up with EToys-tpr.325

=============== Diff against Tools-mt.805 ===============

Item was changed:
  ----- 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.
  	aFileList 
  		optionalButtonSpecs: aFileList servicesForProjectLoader;
  		fileSelectionBlock: (
  			aSymbol == #limitedSuperSwikiDirectoryList ifTrue: [
+ 				MessageSend receiver: Project selector: #latestProjectVersionsFromFileEntries: 
- 				MessageSend receiver: self selector: #projectOnlySelectionMethod:
  			] ifFalse: [
  				self projectOnlySelectionBlock
  			]
  		);
  		"dirSelectionBlock: self hideSqueakletDirectoryBlock;"
  		modalView: window.
  	aFileList directory: FileDirectory default.
  	window
  		setProperty: #FileList toValue: aFileList;
  		wrapCentering: #center; cellPositioning: #topCenter;
  		borderWidth: 1;
  		borderColor: (Color r: 0.9 g: 0.801 b: 0.2);
  		useRoundedCorners.
  	buttons := {{'OK'. Color lightGreen}. {'Cancel'. Color lightRed}} 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 := 350 at 500.
  		filesExtent := 550 at 500.
  	].
  	(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: 1;
  					borderColor: (Color r: 0.6 g: 0.7 b: 1)
  				}) layoutInset: 10.
  				(window inAColumn: {(pane2b := window inARow: {window inAColumn: {fileListPane}}) 
  					useRoundedCorners;
  					layoutInset: 0;
  					borderWidth: 1;
  					borderColor: (Color r: 0.6 g: 0.7 b: 1)
  				}) layoutInset: 10.
  		}.
  	window fullBounds.
  	window fillWithRamp: (Color r: 1 g: 0.85 b: 0.975) oriented: 0.65.
  	pane2a fillWithRamp: (Color r: 0.85 g: 0.9 b: 1) oriented: (0.7 @ 0.35).
  	pane2b fillWithRamp: (Color r: 0.85 g: 0.9 b: 1) 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 openInWorld: aWorld.!

Item was changed:
  ----- Method: FileList2 class>>projectOnlySelectionMethod: (in category 'as yet unclassified') -----
  projectOnlySelectionMethod: incomingEntries
  
+ 	self deprecated: 'use Project class>latestProjectVersionsFromFileEntries: instead'.
+ 	
+ 	^Project latestProjectVersionsFromFileEntries: 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]!



More information about the Squeak-dev mailing list