diff --git a/qt/aqt/browser/card_info.py b/qt/aqt/browser/card_info.py index abbec4ae3..51ef5053c 100644 --- a/qt/aqt/browser/card_info.py +++ b/qt/aqt/browser/card_info.py @@ -48,7 +48,7 @@ class CardInfoDialog(QDialog): def _setup_ui(self, card_id: CardId | None) -> None: self.mw.garbage_collect_on_dialog_finish(self) disable_help_button(self) - restoreGeom(self, self.GEOMETRY_KEY) + restoreGeom(self, self.GEOMETRY_KEY, default_size=(800, 800)) addCloseShortcut(self) setWindowIcon(self) diff --git a/qt/aqt/changenotetype.py b/qt/aqt/changenotetype.py index f7787d3d3..b79f38c43 100644 --- a/qt/aqt/changenotetype.py +++ b/qt/aqt/changenotetype.py @@ -49,7 +49,7 @@ class ChangeNotetypeDialog(QDialog): self.mw.garbage_collect_on_dialog_finish(self) self.setMinimumSize(400, 300) disable_help_button(self) - restoreGeom(self, self.TITLE) + restoreGeom(self, self.TITLE, default_size=(800, 800)) addCloseShortcut(self) self.web = AnkiWebView(title=self.TITLE) diff --git a/qt/aqt/deckoptions.py b/qt/aqt/deckoptions.py index a53e3d0c4..baf5320de 100644 --- a/qt/aqt/deckoptions.py +++ b/qt/aqt/deckoptions.py @@ -40,7 +40,7 @@ class DeckOptionsDialog(QDialog): self.mw.garbage_collect_on_dialog_finish(self) self.setMinimumWidth(400) disable_help_button(self) - restoreGeom(self, self.TITLE) + restoreGeom(self, self.TITLE, default_size=(800, 800)) addCloseShortcut(self) self.web = AnkiWebView(title=self.TITLE) diff --git a/qt/aqt/import_export/import_csv_dialog.py b/qt/aqt/import_export/import_csv_dialog.py index de7f7a94d..940d87d90 100644 --- a/qt/aqt/import_export/import_csv_dialog.py +++ b/qt/aqt/import_export/import_csv_dialog.py @@ -35,7 +35,7 @@ class ImportCsvDialog(QDialog): self.mw.garbage_collect_on_dialog_finish(self) self.setMinimumSize(400, 300) disable_help_button(self) - restoreGeom(self, self.TITLE) + restoreGeom(self, self.TITLE, default_size=(800, 800)) addCloseShortcut(self) self.web = AnkiWebView(title=self.TITLE) diff --git a/qt/aqt/stats.py b/qt/aqt/stats.py index 7f9dfe0bc..6ea980469 100644 --- a/qt/aqt/stats.py +++ b/qt/aqt/stats.py @@ -41,7 +41,7 @@ class NewDeckStats(QDialog): f.setupUi(self) f.groupBox.setVisible(False) f.groupBox_2.setVisible(False) - restoreGeom(self, self.name) + restoreGeom(self, self.name, default_size=(800, 800)) b = f.buttonBox.addButton( tr.statistics_save_pdf(), QDialogButtonBox.ButtonRole.ActionRole ) diff --git a/qt/aqt/utils.py b/qt/aqt/utils.py index 2441ef87f..bbbde1382 100644 --- a/qt/aqt/utils.py +++ b/qt/aqt/utils.py @@ -684,20 +684,25 @@ def saveGeom(widget: QWidget, key: str) -> None: def restoreGeom( - widget: QWidget, key: str, offset: int | None = None, adjustSize: bool = False + widget: QWidget, + key: str, + offset: int | None = None, + adjustSize: bool = False, + default_size: tuple[int, int] | None = None, ) -> None: key += "Geom" - if aqt.mw.pm.profile.get(key): - widget.restoreGeometry(aqt.mw.pm.profile[key]) + if existing_geom := aqt.mw.pm.profile.get(key): + widget.restoreGeometry(existing_geom) if is_mac and offset: if qtmajor > 5 or qtminor > 6: # bug in osx toolkit s = widget.size() widget.resize(s.width(), s.height() + offset * 2) ensureWidgetInScreenBoundaries(widget) - else: - if adjustSize: - widget.adjustSize() + elif adjustSize: + widget.adjustSize() + elif default_size: + widget.resize(*default_size) def ensureWidgetInScreenBoundaries(widget: QWidget) -> None: