Skip to content

Commit 7cdea46

Browse files
committed
properly remember size and position of dialogs fix #784
1 parent 849f7f5 commit 7cdea46

12 files changed

+17
-50
lines changed

src/urh/controller/MainController.py

+3
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ def __init__(self, *args):
147147
self.ui.actionSave_project.setVisible(False)
148148
self.ui.actionClose_project.setVisible(False)
149149

150+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
151+
150152
def __set_non_project_warning_visibility(self):
151153
show = settings.read("show_non_project_warning", True, bool) and not self.project_manager.project_loaded
152154
self.ui.labelNonProjectMode.setVisible(show)
@@ -415,6 +417,7 @@ def set_frame_numbers(self):
415417

416418
def closeEvent(self, event: QCloseEvent):
417419
self.save_project()
420+
settings.write("{}/geometry".format(self.__class__.__name__), self.saveGeometry())
418421
super().closeEvent(event)
419422

420423
def close_all_files(self):

src/urh/controller/dialogs/DecoderDialog.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,7 @@ def __init__(self, decodings, signals, project_manager: ProjectManager,
9090

9191
# Connects
9292
self.create_connects()
93-
94-
try:
95-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
96-
except TypeError:
97-
pass
93+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
9894

9995
def create_connects(self):
10096
self.ui.inpt.textChanged.connect(self.decoder_update)

src/urh/controller/dialogs/FuzzingDialog.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,7 @@ def __init__(self, protocol: ProtocolAnalyzerContainer, label_index: int, msg_in
4444
self.ui.tblFuzzingValues.resize_me()
4545

4646
self.create_connects()
47-
48-
try:
49-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
50-
except TypeError:
51-
pass
47+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
5248

5349
@property
5450
def message(self):

src/urh/controller/dialogs/MessageTypeDialog.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,7 @@ def __init__(self, message_type: MessageType, parent=None):
4747
self.ui.cbRulesetMode.setCurrentIndex(self.message_type.ruleset.mode.value)
4848

4949
self.create_connects()
50-
51-
try:
52-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
53-
except TypeError:
54-
pass
50+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
5551

5652
def create_connects(self):
5753
self.ui.btnAddRule.clicked.connect(self.on_btn_add_rule_clicked)

src/urh/controller/dialogs/ModulatorDialog.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,7 @@ def __init__(self, modulators, tree_model=None, parent=None):
6363
QLineEdit.TrailingPosition)
6464

6565
self.create_connects()
66-
67-
try:
68-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
69-
except TypeError:
70-
pass
66+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
7167

7268
self.set_bits_per_symbol_enabled_status()
7369
self.set_modulation_profile_status()

src/urh/controller/dialogs/OptionsDialog.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -219,11 +219,7 @@ def __init__(self, installed_plugins, highlighted_plugins=None, parent=None):
219219
self.ui.labelRebuildNativeStatus.setText("")
220220

221221
self.show_available_colormaps()
222-
223-
try:
224-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
225-
except TypeError:
226-
pass
222+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
227223

228224
def create_connects(self):
229225
self.ui.doubleSpinBoxFuzzingPause.valueChanged.connect(self.on_spinbox_fuzzing_pause_value_changed)

src/urh/controller/dialogs/ProjectDialog.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,7 @@ def __init__(self, new_project=True, project_manager: ProjectManager = None, par
7575
self.ui.lineEdit_Path.setText(os.path.realpath(os.path.join(os.curdir, "new")))
7676

7777
self.on_line_edit_path_text_edited()
78-
79-
try:
80-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
81-
except TypeError:
82-
pass
78+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
8379

8480
@property
8581
def participants(self):

src/urh/controller/dialogs/ProtocolLabelDialog.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,7 @@ def __init__(self, message: Message, viewtype: int, selected_index=None, parent=
6464
self.setAttribute(Qt.WA_DeleteOnClose)
6565
self.setWindowFlags(Qt.Window)
6666

67-
try:
68-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
69-
except TypeError:
70-
pass
67+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
7168

7269
for i in range(self.model.rowCount()):
7370
self.open_editors(i)

src/urh/controller/dialogs/SendRecvDialog.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,7 @@ def __init__(self, project_manager: ProjectManager, is_tx: bool, continuous_send
5656
self.device_settings_widget.ui.cbDevice.setCurrentText(NetworkSDRInterfacePlugin.NETWORK_SDR_NAME)
5757

5858
self.timer = QTimer(self)
59-
60-
try:
61-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
62-
except TypeError:
63-
pass
59+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
6460

6561
self.ui.splitter.setSizes([int(0.4 * self.width()), int(0.6 * self.width())])
6662

src/urh/controller/dialogs/SignalDetailsDialog.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,7 @@ def __init__(self, signal, parent=None):
3838
self.set_duration()
3939

4040
self.ui.dsb_sample_rate.valueChanged.connect(self.on_dsb_sample_rate_value_changed)
41-
42-
try:
43-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
44-
except TypeError:
45-
pass
41+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
4642

4743
def closeEvent(self, event: QCloseEvent):
4844
settings.write("{}/geometry".format(self.__class__.__name__), self.saveGeometry())

src/urh/controller/widgets/PluginFrame.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ def __init__(self, plugins, highlighted_plugins=None, parent=None):
2121
self.ui.groupBoxSettings.setLayout(self.settings_layout)
2222
self.create_connects()
2323

24-
try:
25-
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__)))
26-
except TypeError:
27-
pass
24+
self.restoreGeometry(settings.read("{}/geometry".format(self.__class__.__name__), type=bytes))
2825

2926

3027
def create_connects(self):

src/urh/main.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,10 @@ def main():
166166
import ctypes
167167
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("jopohl.urh")
168168

169-
main_window.showMaximized()
170-
# main_window.setFixedSize(1920, 1080 - 30) # Youtube
169+
if settings.read("MainController/geometry", type=bytes):
170+
main_window.show()
171+
else:
172+
main_window.showMaximized()
171173

172174
if "autoclose" in sys.argv[1:]:
173175
# Autoclose after 1 second, this is useful for automated testing

0 commit comments

Comments
 (0)