pharo-project / pharo

Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
http://pharo.org
Other
1.21k stars 355 forks source link

Changes made to system setting for Iceberg - Default Code Subdirectory don't get stored #11212

Open StewMacLean opened 2 years ago

StewMacLean commented 2 years ago

Bug description Changes made to system setting for Iceberg - Default Code Subdirectory don't get stored,

To Reproduce Steps to reproduce the behavior:

  1. Open Setting Browser
  2. Go to Tools > Software Configuration Management > Iceberg > Default Code Subdirectory.
  3. Change from 'src' to 'source'.
  4. Click Store Settings
  5. Click Load Settings to refresh and observe that the default code subdirectory is still 'src'

Expected behavior The changed value is persisted

Version information:

Expected development cost I haven't investigated, but it doesn't look like a hard one to track down.

olekscode commented 2 years ago

Between (3) and (4), we need to click Ctrl+S (or Cmd+S on Mac). When we click on "Store settings", it does not save them automatically.

We can fix this, so that "Store settings" also saves them

Inao0 commented 2 years ago

We tried (with @olekscode) to implement saving non-accepted value on storing them. The starting point was the method settingBrowser >> storeSettings. From there we tried to iterate on all submorphs (SettingBrowser is still implemented in Morphic) to accept changes. In addition to not being an ideal way to do things, we encountered some bugs, so we decided not to go further.

Finally, it was argued that the store setting button is supposed to store on the disk, and accepting changes at the same time would lead to inconsistent behavior compare to closing the window for example. We decided agains pushing our attempt and spending more time on this issue.