Skip to content

Commit ec24da7

Browse files
committed
auto-save settings in default preferences file
1 parent 8f58ed4 commit ec24da7

3 files changed

Lines changed: 39 additions & 2 deletions

File tree

src/PharoLauncher-Core/PhLOpenSettingsCommand.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ PhLOpenSettingsCommand >> execute [
2525

2626
^ (PhLSettingsPresenter
2727
newApplication: self application
28-
model: PharoLauncherSettings new) open
28+
model: PharoLauncherSettings default) open
2929
]
3030

3131
{ #category : 'initialization' }

src/PharoLauncher-Core/PharoLauncherSettings.class.st

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,49 @@
22
I manage Pharo Launcher settings.
33
I reuse settings pragma already defined and provide a nice API to set settings.
44
I'm used by the Pharo Launcher settings presenter.
5+
In Pharo Launcher application, the Default instance is used.
56
"
67
Class {
78
#name : 'PharoLauncherSettings',
89
#superclass : 'Object',
910
#instVars : [
1011
'manager'
1112
],
13+
#classVars : [
14+
'Default'
15+
],
1216
#category : 'PharoLauncher-Core-Settings',
1317
#package : 'PharoLauncher-Core',
1418
#tag : 'Settings'
1519
}
1620

21+
{ #category : 'accessing' }
22+
PharoLauncherSettings class >> default [
23+
24+
^ Default ifNil: [
25+
Default := self new
26+
preferencesFile: self preferencesFile;
27+
yourself ]
28+
]
29+
30+
{ #category : 'accessing' }
31+
PharoLauncherSettings class >> preferencesFile [
32+
33+
^ (self preferencesFolder / 'settings.ston') asFileReference
34+
]
35+
36+
{ #category : 'accessing' }
37+
PharoLauncherSettings class >> preferencesFolder [
38+
39+
^ FileLocator preferences / 'pharo-launcher'
40+
]
41+
42+
{ #category : 'resetting' }
43+
PharoLauncherSettings class >> resetDefault [
44+
45+
Default := nil
46+
]
47+
1748
{ #category : 'accessing' }
1849
PharoLauncherSettings >> checkTemplateSourcesUpdate: aBoolean [
1950

@@ -57,6 +88,12 @@ PharoLauncherSettings >> launchInALoginShell: aBoolean [
5788
self setValueOfSettingNamed: '#pharoLauncher#launchInALoginShell' with: aBoolean
5889
]
5990

91+
{ #category : 'initialization' }
92+
PharoLauncherSettings >> preferencesFile: aFileReference [
93+
94+
manager fileReference: aFileReference
95+
]
96+
6097
{ #category : 'accessing - network' }
6198
PharoLauncherSettings >> proxyPassword: aString [
6299

src/PharoLauncher-Spec2/PhLSettingsPresenter.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ PhLSettingsPresenter class >> open [
2525

2626
{ #category : 'accessing' }
2727
PhLSettingsPresenter >> appearenceSettingsPanel [
28-
^ self instantiate: PhLAppearanceSettingsPresenter
28+
^ self instantiate: PhLAppearanceSettingsPresenter on: self settings
2929
]
3030

3131
{ #category : 'layout' }

0 commit comments

Comments
 (0)