[squeak-dev] The Trunk: PreferenceBrowser-mt.139.mcz
Thiede, Christoph
Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Mar 28 13:20:45 UTC 2022
Very nice! :-)
> - Merge lowercase categories into uppercase ones
Is this actually useful? I used to distinguish between lowercase "aspects" or "functionalities" (such as mouse, keyboard, ...) and uppercase "Tools" or "Components" (such as OCompletion, Sandblocks etc.). What do you think?
Best,
Christoph
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Mittwoch, 23. März 2022 10:22:57
An: squeak-dev at lists.squeakfoundation.org; packages at lists.squeakfoundation.org
Betreff: [squeak-dev] The Trunk: PreferenceBrowser-mt.139.mcz
Marcel Taeumel uploaded a new version of PreferenceBrowser to project The Trunk:
http://source.squeak.org/trunk/PreferenceBrowser-mt.139.mcz
==================== Summary ====================
Name: PreferenceBrowser-mt.139
Author: mt
Time: 23 March 2022, 10:22:57.915972 am
UUID: 801aa3e9-251d-4b72-9809-7e44ebf4e9ed
Ancestors: PreferenceBrowser-mt.138
Some visual clean-up and changes in preference browser:
- Merge lowercase categories into uppercase ones
- Show number of prefs per category
- Correct list margin in prefs list
- Cache category list for smooth interaction
- Use default button color
- Fixes line breaks several balloon texts
=============== Diff against PreferenceBrowser-mt.138 ===============
Item was changed:
----- Method: PBPreferenceButtonMorph>>initializeLayout (in category 'initialization') -----
initializeLayout
self layoutPolicy: TableLayout new;
beTransparent;
+ layoutInset: PluggableListMorph listMargins;
- layoutInset: 0;
cellGap: 0;
listCentering: #topLeft;
cellPositioning: #topLeft;
listDirection: #topToBottom;
hResizing: #spaceFill;
vResizing: #shrinkWrap. !
Item was changed:
Model subclass: #PreferenceBrowser
+ instanceVariableNames: 'selectedCategoryIndex selectedPreference searchPattern searchResults lastExecutedSearch preferences title categoryList categoryLabelList'
- instanceVariableNames: 'selectedCategoryIndex selectedPreference searchPattern searchResults lastExecutedSearch preferences title'
classVariableNames: ''
poolDictionaries: ''
category: 'PreferenceBrowser'!
Item was added:
+ ----- Method: PreferenceBrowser>>categoryLabelList (in category 'accessing') -----
+ categoryLabelList
+
+ ^ categoryLabelList ifNil: [categoryLabelList := self categoryList
+ collect: [:category | '{1} ({2})' format: {
+ category.
+ self numPreferencesInCategory: category }]]!
Item was changed:
----- Method: PreferenceBrowser>>categoryList (in category 'accessing') -----
categoryList
+
+ ^ categoryList ifNil: [categoryList := OrderedCollection new
- ^OrderedCollection new
add: self allCategoryLabel;
+ addAll: (preferences categoryList collect: [:ea | ea capitalized]) sorted;
- addAll: preferences categoryList sorted;
add: self searchResultsCategoryLabel;
+ yourself].
- yourself.
!
Item was changed:
----- Method: PreferenceBrowser>>defaultSelected (in category 'preferences search') -----
defaultSelected
(Project uiManager
+ confirm: 'Do you really want to restore the default preferences?\\If you want to keep the current state, you have to save it first.' translated withCRs
+ title: 'Restore Default Preferences')
- confirm: 'Do you really want to restore the default\preferences?\\If you want to keep the current state,\you have to save it first.' translated withCRs
- title: 'Restore Preferences')
ifFalse: [^ self].
Preferences chooseInitialSettings.!
Item was changed:
----- Method: PreferenceBrowser>>loadFromDiskSelected (in category 'preferences search') -----
loadFromDiskSelected
(Project uiManager
+ confirm: 'Do you really want to restore your personal preferences from disk?\\The file ''my.prefs'' will be loaded.' translated withCRs
+ title: 'Restore Preferences from Disk' translated) ifFalse: [^ self].
- confirm: 'Do you really want to restore your\personal preferences from disk?\\The file ''my.prefs'' will be loaded.' translated withCRs
- title: 'Restore Preferences from Disk') ifFalse: [^ self].
preferences restorePreferencesFromDisk!
Item was changed:
----- Method: PreferenceBrowser>>loadSelected (in category 'preferences search') -----
loadSelected
(Project uiManager
+ confirm: 'Do you really want to restore your personal preferences?' translated
- confirm: 'Do you really want to restore\your personal preferences?' translated withCRs
title: 'Restore Preferences') ifFalse: [^ self].
preferences restorePersonalPreferences.!
Item was added:
+ ----- Method: PreferenceBrowser>>numPreferencesInCategory: (in category 'accessing') -----
+ numPreferencesInCategory: aCategory
+
+ aCategory = self allCategoryLabel
+ ifTrue: [^ preferences allPreferences size].
+ aCategory = self searchResultsCategoryLabel
+ ifTrue: [^ self searchResults size].
+ ^ (preferences preferencesInCategory: aCategory) size!
Item was changed:
----- Method: PreferenceBrowser>>saveSelected (in category 'preferences search') -----
saveSelected
(Project uiManager
+ confirm: 'Do you really want to overwrite your personal preferences?' translated
- confirm: 'Do you really want to overwrite\your personal preferences?' translated withCRs
title: 'Save Preferences') ifFalse: [^ self].
preferences savePersonalPreferences.!
Item was changed:
----- Method: PreferenceBrowser>>saveToDiskSelected (in category 'preferences search') -----
saveToDiskSelected
(Project uiManager
+ confirm: 'Do you really want to overwrite your personal preferences on disk?\\The file ''my.prefs'' will be updated.' translated withCRs
+ title: 'Save Preferences to Disk' translated) ifFalse: [^ self].
- confirm: 'Do you really want to overwrite your\personal preferences on disk?\\The file ''my.prefs'' will be updated.' translated withCRs
- title: 'Save Preferences to Disk') ifFalse: [^ self].
preferences storePreferencesToDisk!
Item was changed:
----- Method: PreferenceBrowser>>searchPreferencesFor: (in category 'preferences search') -----
searchPreferencesFor: pattern
| result |
result := pattern asString asLowercase withBlanksTrimmed.
result ifEmpty: [^self].
searchResults := self allPreferences select: [:aPreference |
((aPreference name includesSubstring: result caseSensitive: false)
or: [aPreference helpString includesSubstring: result caseSensitive: false])
+ or: [aPreference codeString includesSubstring: result caseSensitive: false] ].
+ self updateSearchResultsLabel.
- or: [aPreference codeString includesSubstring: result caseSensitive: false] ].
self selectSearchResultsCategory.
self lastExecutedSearch: pattern.
!
Item was changed:
----- Method: PreferenceBrowser>>selectedCategoryPreferences (in category 'accessing') -----
selectedCategoryPreferences
self allCategorySelected
ifTrue: [^self allPreferences].
self searchResultsCategorySelected
ifTrue: [^self searchResults].
+ ^ self selectedCategory
+ ifNil: [#()]
+ ifNotNil: [:cat | self preferencesInCategory: cat]
- ^self preferencesInCategory: self selectedCategory.
!
Item was added:
+ ----- Method: PreferenceBrowser>>updateSearchResultsLabel (in category 'user interface') -----
+ updateSearchResultsLabel
+
+ self categoryLabelList
+ at: self categoryLabelList size
+ put: ('{1} ({2})' format: {
+ self searchResultsCategoryLabel.
+ self searchResults size }).
+ self changed: #categoryLabelList.!
Item was changed:
----- Method: PreferenceBrowserMorph>>basicButton (in category 'submorphs - buttons') -----
basicButton
^ PluggableButtonMorph new
model: self model;
- offColor: self paneColor;
hResizing: #spaceFill;
vResizing: #spaceFill;
yourself!
Item was changed:
----- Method: PreferenceBrowserMorph>>helpButton (in category 'submorphs - buttons') -----
helpButton
^helpButton ifNil:
[helpButton := self basicButton
label: 'help' translated;
+ setBalloonText: 'Click here to get some hints on use of this Preferences Panel' translated;
- setBalloonText:
- 'Click here to get some hints on use of this Preferences ',
- 'Panel' translated;
action: #helpSelected]!
Item was changed:
----- Method: PreferenceBrowserMorph>>loadButton (in category 'submorphs - buttons') -----
loadButton
^loadButton ifNil:
[loadButton := self basicButton
label: 'load' translated;
action: #loadSelected;
+ setBalloonText: 'Click here to reset all the preferences to their values in your Personal Preferences.' translated]!
- setBalloonText:
- 'Click here to reset all the preferences to their values ',
- 'in your Personal Preferences.' translated]!
Item was changed:
----- Method: PreferenceBrowserMorph>>loadFromDiskButton (in category 'submorphs - buttons') -----
loadFromDiskButton
^loadFromDiskButton ifNil:
[loadFromDiskButton := self basicButton
label: 'load from disk' translated;
action: #loadFromDiskSelected;
+ setBalloonText: 'Click here to load all the preferences from their saved values on disk.' translated]!
- setBalloonText:
- 'Click here to load all the preferences from ',
- 'their saved values on disk.' translated]!
Item was changed:
----- Method: PreferenceBrowserMorph>>newButtonRow (in category 'submorphs - buttons') -----
newButtonRow
^BorderedMorph new
color: Color transparent;
borderWidth: 0;
+ cellGap: ToolBuilder default panelSpacing;
- cellGap: 2;
layoutPolicy: TableLayout new;
listDirection: #leftToRight;
listCentering: #topLeft;
cellPositioning: #topLeft;
on: #mouseEnter send: #paneTransition: to: self;
on: #mouseLeave send: #paneTransition: to: self;
addMorphBack: self defaultButton;
addMorphBack: self newSeparator;
addMorphBack: self saveButton;
addMorphBack: self loadButton;
addMorphBack: self newSeparator;
addMorphBack: self saveToDiskButton;
addMorphBack: self loadFromDiskButton;
addMorphBack: self newSeparator;
addMorphBack: self themeButton;
addMorphBack: self newTransparentFiller;
addMorphBack: self helpButton;
yourself.!
Item was changed:
----- Method: PreferenceBrowserMorph>>newCategoryList (in category 'submorphs - category list') -----
newCategoryList
^(PluggableListMorph
on: self model
+ list: #categoryLabelList
- list: #categoryList
selected: #selectedCategoryIndex
changeSelected: #selectedCategoryIndex:)
hResizing: #spaceFill;
vResizing: #spaceFill;
layoutFrame: (LayoutFrame fractions: (0 at 0 corner: 0.25 at 1));
yourself.!
Item was changed:
----- Method: PreferenceBrowserMorph>>newSeparator (in category 'submorphs - buttons') -----
newSeparator
+ ^ Morph new
+ color: Color transparent;
+ width: (5 * RealEstateAgent scaleFactor) truncated;
- ^BorderedMorph new
- borderWidth: 2;
- borderColor: Color transparent;
- color: self paneColor;
- hResizing: #rigid;
- width: 5;
vResizing: #spaceFill;
yourself!
Item was changed:
----- Method: PreferenceBrowserMorph>>saveButton (in category 'submorphs - buttons') -----
saveButton
^saveButton ifNil:
[saveButton := self basicButton
label: 'save' translated;
action: #saveSelected;
+ setBalloonText: 'Click here to save the current constellation of Preferences settings as your personal defaults; you can get them all reinstalled with a single gesture by clicking the "Restore my Personal Preferences".' translated]!
- setBalloonText:
- 'Click here to save the current constellation of Preferences ',
- 'settings as your personal defaults; you can get them all ',
- 'reinstalled with a single gesture by clicking the "Restore ',
- 'my Personal Preferences".' translated]!
Item was changed:
----- Method: PreferenceBrowserMorph>>saveToDiskButton (in category 'submorphs - buttons') -----
saveToDiskButton
^saveToDiskButton ifNil:
[saveToDiskButton := self basicButton
label: 'save to disk' translated;
action: #saveToDiskSelected;
+ setBalloonText: 'Click here to save the current constellation of Preferences settings to a file; you can get them all reinstalled with a single gesture by clicking "Restore Settings From Disk".' translated]!
- setBalloonText:
- 'Click here to save the current constellation of Preferences ',
- 'settings to a file; you can get them all reinstalled with a ',
- 'single gesture by clicking "Restore Settings From Disk".'
- translated]!
Item was changed:
----- Method: PreferenceBrowserMorph>>updateSelectedCategoryPreferences (in category 'updating') -----
updateSelectedCategoryPreferences
+
+ | newPanel |
+ self preferenceList vScrollBarValue: 0.
+ self preferenceList scroller removeAllMorphs.
+
+ (self model allCategorySelected or: [self model searchResultsCategorySelected])
+ ifTrue: [Cursor wait showWhile: [newPanel := self newPreferenceListInnerPanel]]
+ ifFalse: [newPanel := self newPreferenceListInnerPanel].
+
+ self preferenceList scroller addMorphBack: newPanel.
+ self adoptPaneColor: self paneColor.!
- Cursor wait showWhile:
- [self preferenceList
- hScrollBarValue: 0;
- vScrollBarValue: 0.
- self preferenceList scroller removeAllMorphs.
- self preferenceList scroller addMorphBack: self newPreferenceListInnerPanel.
- self adoptPaneColor: self paneColor]!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220328/6c1bf269/attachment.html>
More information about the Squeak-dev
mailing list
|