Viewer: dark theme, switchable live from the View menu
View > Theme offers Follow system / Light / Dark, stored in the settings. Follow system uses the desktop's colour scheme where Qt reports it (6.5+) and is light otherwise. The dark theme is a deep indigo (#1A1D3A panels, #12142B entry fields and charts). The palettes live in the new ViewerTheme module. A switch applies at once: the application stylesheet is set again after the palette so every widget is re-polished (with a stylesheet active, polished widgets otherwise keep their old palette); widgets that bake colours into stylesheets use SetThemedStyleSheet, which re-applies them on ThemeNotifier::changed; toolbar icons draw their glyph at paint time through an icon engine, so the ink follows the theme (and stays sharp at any size); charts re-theme and rebuild. Hard-coded white backgrounds on entry fields and tables are removed in favour of the palette's base colour. The idle detector-status badge in the status bar is now transparent instead of an empty default-styled progress bar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
f1a8c1d868
commit
0be8eb2bca
@@ -16,8 +16,6 @@ NumericComboBox::NumericComboBox(std::vector<int> options, int min, int max, QWi
|
||||
|
||||
setCurrentText(QString::number(min));
|
||||
|
||||
setStyleSheet("background-color: rgb(255, 255, 255);");
|
||||
|
||||
connect(this, QOverload<int>::of(&QComboBox::currentIndexChanged),
|
||||
this, &NumericComboBox::onCurrentIndexChanged);
|
||||
connect(this, &QComboBox::editTextChanged,
|
||||
@@ -35,7 +33,7 @@ void NumericComboBox::setValue(int value) {
|
||||
|
||||
void NumericComboBox::onCurrentIndexChanged(int index) {
|
||||
if (index >= 0) {
|
||||
setStyleSheet("background-color: rgb(255, 255, 255);");
|
||||
setStyleSheet("");
|
||||
emit valueChanged(getValue());
|
||||
}
|
||||
}
|
||||
@@ -44,7 +42,7 @@ void NumericComboBox::onEditTextChanged(const QString &text) {
|
||||
bool ok;
|
||||
int value = text.toInt(&ok);
|
||||
if (ok) {
|
||||
setStyleSheet("background-color: rgb(255, 255, 255);");
|
||||
setStyleSheet("");
|
||||
emit valueChanged(value);
|
||||
} else {
|
||||
setStyleSheet("background-color: rgb(125, 0, 0);");
|
||||
|
||||
Reference in New Issue
Block a user