Skip to content

Commit cd42e36

Browse files
committed
Add auto-restore position option to settings
Introduces a new checkbox in the settings dialog to allow users to enable or disable automatic restoration of the last position when opening the application. Updates the configuration and UI logic to support this new setting.
1 parent e30a93b commit cd42e36

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

ui/dialogs/settings_dialog.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def init_ui(self):
8585
self.run_in_background_checkbox = QCheckBox("تشغيل البرنامج في الخلفية")
8686
self.start_on_system_start_checkbox = QCheckBox("تشغيل عند بدء تشغيل النظام")
8787
self.auto_save_position_checkbox = QCheckBox("حفظ الموضع الحالي تلقائيًا عند إغلاق البرنامج")
88+
self.auto_restore_position_checkbox = QCheckBox("استعادة الموضع الحالي عند فتح البرنامج")
8889
self.update_checkbox = QCheckBox("التحقق من التحديثات")
8990
self.log_levels_label = QLabel(self, text="مستوى السجل:")
9091
self.log_levels_combo = QComboBox(self)
@@ -97,6 +98,7 @@ def init_ui(self):
9798
self.group_general_layout.addWidget(self.run_in_background_checkbox)
9899
self.group_general_layout.addWidget(self.start_on_system_start_checkbox)
99100
self.group_general_layout.addWidget(self.auto_save_position_checkbox)
101+
self.group_general_layout.addWidget(self.auto_restore_position_checkbox)
100102
self.group_general_layout.addWidget(self.update_checkbox)
101103
self.group_general_layout.addWidget(self.log_levels_label)
102104
self.group_general_layout.addWidget(self.log_levels_combo)
@@ -372,6 +374,7 @@ def save_settings(self):
372374
Config.general.run_in_background_enabled = self.run_in_background_checkbox.isChecked()
373375
Config.general.auto_start_enabled = self.start_on_system_start_checkbox.isChecked()
374376
Config.general.auto_save_position_enabled = self.auto_save_position_checkbox.isChecked()
377+
Config.general.auto_restore_position_enabled = self.auto_restore_position_checkbox.isChecked()
375378
Config.general.check_update_enabled = self.update_checkbox.isChecked()
376379
Config.general.log_level = self.log_levels_combo.currentData()
377380

@@ -437,6 +440,7 @@ def set_current_settings(self):
437440
self.turn_pages_checkbox.setChecked(Config.reading.auto_page_turn)
438441
self.start_on_system_start_checkbox.setChecked(Config.general.auto_start_enabled)
439442
self.auto_save_position_checkbox.setChecked(Config.general.auto_save_position_enabled)
443+
self.auto_restore_position_checkbox.setChecked(Config.general.auto_restore_position_enabled)
440444
self.update_checkbox.setChecked(Config.general.check_update_enabled)
441445
self.duration_spinbox.setValue(Config.listening.forward_time)
442446
self.auto_move_focus_checkbox.setChecked(Config.listening.auto_move_focus)

utils/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class GeneralSettings(BaseSection):
3838
run_in_background_enabled: bool = False
3939
auto_start_enabled: bool = False
4040
auto_save_position_enabled: bool = False
41+
auto_restore_position_enabled: bool = True
4142
check_update_enabled: bool = True
4243
log_level: str = "ERROR"
4344

0 commit comments

Comments
 (0)