Add a button in the preferences to reset window sizes (#2405)

* Add a button in the preferences to reset window sizes

* Add post-reset pop-up so the user knows something's happened (dae)
This commit is contained in:
Abdo 2023-02-28 05:23:34 +03:00 committed by GitHub
parent a8b86ac839
commit 03b05b6a06
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 11 deletions

View file

@ -68,6 +68,8 @@ preferences-scheduler = Scheduler
preferences-user-interface = User Interface
preferences-import-export = Import/Export
preferences-network-timeout = Network timeout
preferences-reset-window-sizes = Reset Window Sizes
preferences-reset-window-sizes-complete = Window sizes and locations have been reset.
## NO NEED TO TRANSLATE. This text is no longer used by Anki, and will be removed in the future.

View file

@ -85,13 +85,6 @@
<string>preferences_user_interface</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="1">
<widget class="QComboBox" name="styleComboBox">
<property name="currentText">
<string/>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="theme"/>
</item>
@ -111,10 +104,10 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiSizeLabel">
<property name="text">
<string>preferences_user_interface_size</string>
<item row="1" column="1">
<widget class="QComboBox" name="styleComboBox">
<property name="currentText">
<string/>
</property>
</widget>
</item>
@ -132,6 +125,20 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiSizeLabel">
<property name="text">
<string>preferences_user_interface_size</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QPushButton" name="resetWindowSizes">
<property name="text">
<string>preferences_reset_window_sizes</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>

View file

@ -276,6 +276,7 @@ class Preferences(QDialog):
self.form.styleLabel.setVisible(not is_win)
self.form.styleComboBox.setVisible(not is_win)
self.form.legacy_import_export.setChecked(self.mw.pm.legacy_import_export())
qconnect(self.form.resetWindowSizes.clicked, self.on_reset_window_sizes)
self.setup_language()
self.setup_video_driver()
@ -302,6 +303,13 @@ class Preferences(QDialog):
def on_theme_changed(self, index: int) -> None:
self.mw.set_theme(Theme(index))
def on_reset_window_sizes(self) -> None:
suffixes = ["Geom", "State", "Splitter"]
for key in list(self.prof.keys()):
if any(key.endswith(suffix) for suffix in suffixes):
del self.prof[key]
showInfo(tr.preferences_reset_window_sizes_complete())
# legacy - one of Henrik's add-ons is currently wrapping them
def setupOptions(self) -> None: