The Trunk: Tools-tpr.806.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-tpr.806.mcz

commits-2
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@300.
  filesExtent := 350@300.
  ] ifFalse: [
  treeExtent := 350@500.
  filesExtent := 550@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@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]!