Skip to content

Commit 860212f

Browse files
chrisdpurcellclaude
andcommitted
fix: resolve mypy type errors in QSettings and QApplication usage
QSettings.value() returns `object` in PySide6 stubs — cast with int(str(...)) for numeric values and bool(...) for booleans. QApplication.instance() returns QCoreApplication in stubs, but setStyle/setPalette are QApplication-only — use cast(QApplication, ...) to restore correct type narrowing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 113b43b commit 860212f

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

src/views/main_window.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@ def _apply_preferences(self) -> None:
596596

597597
# Font
598598
family = str(settings.value(KEY_FONT_FAMILY, DEFAULTS[KEY_FONT_FAMILY]))
599-
size = int(settings.value(KEY_FONT_SIZE, DEFAULTS[KEY_FONT_SIZE]))
599+
size = int(str(settings.value(KEY_FONT_SIZE, DEFAULTS[KEY_FONT_SIZE])))
600600
self._plain_text_edit.setFont(QFont(family, size))
601601

602602
# Word wrap
@@ -609,7 +609,7 @@ def _apply_preferences(self) -> None:
609609

610610
# Theme — Fusion style with a dark palette; restore system default for light.
611611
theme = str(settings.value(KEY_THEME, DEFAULTS[KEY_THEME]))
612-
app = QApplication.instance()
612+
app = cast(QApplication, QApplication.instance())
613613
if app is not None:
614614
if theme == "dark":
615615
app.setStyle("Fusion")

src/views/preferences_dialog.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,15 @@ def _load_from_settings(self) -> None:
141141
str(settings.value(KEY_FONT_FAMILY, DEFAULTS[KEY_FONT_FAMILY]))
142142
)
143143
self._font_size_spin.setValue(
144-
int(settings.value(KEY_FONT_SIZE, DEFAULTS[KEY_FONT_SIZE]))
144+
int(str(settings.value(KEY_FONT_SIZE, DEFAULTS[KEY_FONT_SIZE])))
145145
)
146146
self._word_wrap_cb.setChecked(
147-
settings.value(KEY_WORD_WRAP, DEFAULTS[KEY_WORD_WRAP], type=bool)
147+
bool(settings.value(KEY_WORD_WRAP, DEFAULTS[KEY_WORD_WRAP], type=bool))
148148
)
149149
self._line_numbers_cb.setChecked(
150-
settings.value(KEY_LINE_NUMBERS, DEFAULTS[KEY_LINE_NUMBERS], type=bool)
150+
bool(
151+
settings.value(KEY_LINE_NUMBERS, DEFAULTS[KEY_LINE_NUMBERS], type=bool)
152+
)
151153
)
152154
theme = settings.value(KEY_THEME, DEFAULTS[KEY_THEME])
153155
self._theme_dark_radio.setChecked(theme == "dark")

0 commit comments

Comments
 (0)