Fix an issue with the altered state not being set properly
This commit is contained in:
1 parent
c77b8f6714
commit
63d0c4a712
3 files changed
+11
-3
No files matched your search
@@ -1204,6 +1204,7 @@ class SettingsPanel:
|
|||||||
self._priority_list.insert("end", game_name)
|
self._priority_list.insert("end", game_name)
|
||||||
self._priority_list.see("end")
|
self._priority_list.see("end")
|
||||||
self._settings.priority.append(game_name)
|
self._settings.priority.append(game_name)
|
||||||
|
self._settings.alter()
|
||||||
else:
|
else:
|
||||||
# already there, set the selection on it
|
# already there, set the selection on it
|
||||||
self._priority_list.selection_set(existing_idx)
|
self._priority_list.selection_set(existing_idx)
|
||||||
@@ -1230,6 +1231,7 @@ class SettingsPanel:
|
|||||||
self._priority_list.see(swap_idx)
|
self._priority_list.see(swap_idx)
|
||||||
p = self._settings.priority
|
p = self._settings.priority
|
||||||
p[idx], p[swap_idx] = p[swap_idx], p[idx]
|
p[idx], p[swap_idx] = p[swap_idx], p[idx]
|
||||||
|
self._settings.alter()
|
||||||
|
|
||||||
def priority_delete(self) -> None:
|
def priority_delete(self) -> None:
|
||||||
idx: int | None = self._priority_idx()
|
idx: int | None = self._priority_idx()
|
||||||
@@ -1237,6 +1239,7 @@ class SettingsPanel:
|
|||||||
return
|
return
|
||||||
self._priority_list.delete(idx)
|
self._priority_list.delete(idx)
|
||||||
del self._settings.priority[idx]
|
del self._settings.priority[idx]
|
||||||
|
self._settings.alter()
|
||||||
|
|
||||||
def priority_only(self) -> None:
|
def priority_only(self) -> None:
|
||||||
self._settings.priority_only = bool(self._vars["priority_only"].get())
|
self._settings.priority_only = bool(self._vars["priority_only"].get())
|
||||||
@@ -1250,6 +1253,7 @@ class SettingsPanel:
|
|||||||
exclude = self._settings.exclude
|
exclude = self._settings.exclude
|
||||||
if game_name not in exclude:
|
if game_name not in exclude:
|
||||||
exclude.add(game_name)
|
exclude.add(game_name)
|
||||||
|
self._settings.alter()
|
||||||
# insert it alphabetically
|
# insert it alphabetically
|
||||||
for i, item in enumerate(self._exclude_list.get(0, "end")):
|
for i, item in enumerate(self._exclude_list.get(0, "end")):
|
||||||
if game_name < item:
|
if game_name < item:
|
||||||
@@ -1279,6 +1283,7 @@ class SettingsPanel:
|
|||||||
item: str = self._exclude_list.get(idx)
|
item: str = self._exclude_list.get(idx)
|
||||||
if item in self._settings.exclude:
|
if item in self._settings.exclude:
|
||||||
self._settings.exclude.discard(item)
|
self._settings.exclude.discard(item)
|
||||||
|
self._settings.alter()
|
||||||
self._exclude_list.delete(idx)
|
self._exclude_list.delete(idx)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ loop.run_until_complete(client.gui.wait_until_closed())
|
|||||||
# save settings
|
# save settings
|
||||||
# NOTE: we have to do it after wait_until_closed,
|
# NOTE: we have to do it after wait_until_closed,
|
||||||
# because the user can alter settings between shutdown and closing the window
|
# because the user can alter settings between shutdown and closing the window
|
||||||
client.settings.save()
|
client.settings.save(force=True)
|
||||||
client.gui.stop()
|
client.gui.stop()
|
||||||
client.gui.close_window()
|
client.gui.close_window()
|
||||||
loop.run_until_complete(loop.shutdown_asyncgens())
|
loop.run_until_complete(loop.shutdown_asyncgens())
|
||||||
|
|||||||
+5
-2
@@ -73,6 +73,9 @@ class Settings:
|
|||||||
def __delattr__(self, name: str, /) -> None:
|
def __delattr__(self, name: str, /) -> None:
|
||||||
raise RuntimeError("settings can't be deleted")
|
raise RuntimeError("settings can't be deleted")
|
||||||
|
|
||||||
def save(self) -> None:
|
def alter(self) -> None:
|
||||||
if self._altered:
|
self._altered = True
|
||||||
|
|
||||||
|
def save(self, *, force: bool = False) -> None:
|
||||||
|
if self._altered or force:
|
||||||
json_save(SETTINGS_PATH, self._settings)
|
json_save(SETTINGS_PATH, self._settings)
|
||||||
Reference in new issue
Block a user