From 8b36cf10518c54d76134686a3e079bbde176022b Mon Sep 17 00:00:00 2001 From: willemferguson Date: Sun, 1 Nov 2020 20:43:54 +0200 Subject: desktop: offer different colors for info tab titles Add a preference option to set the color of the text on the information tab to either MediumBlue, LightBlue or Black. The last two of these colors are meant to enable areadable font contrast on displays with dark mode. The choice is saved with the other preferences. [Dirk Hohndel: this isn't really about dark mode, so changed many of the types and variable names, changed the user visible texts, and addressed some whitespace issues] Signed-off-by: willemferguson Signed-off-by: Dirk Hohndel --- desktop-widgets/tab-widgets/TabDiveInformation.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'desktop-widgets/tab-widgets') diff --git a/desktop-widgets/tab-widgets/TabDiveInformation.cpp b/desktop-widgets/tab-widgets/TabDiveInformation.cpp index 5baec3694..78bc7b485 100644 --- a/desktop-widgets/tab-widgets/TabDiveInformation.cpp +++ b/desktop-widgets/tab-widgets/TabDiveInformation.cpp @@ -23,7 +23,18 @@ TabDiveInformation::TabDiveInformation(QWidget *parent) : TabBase(parent), ui(ne connect(&diveListNotifier, &DiveListNotifier::cylinderAdded, this, &TabDiveInformation::cylinderChanged); connect(&diveListNotifier, &DiveListNotifier::cylinderRemoved, this, &TabDiveInformation::cylinderChanged); connect(&diveListNotifier, &DiveListNotifier::cylinderEdited, this, &TabDiveInformation::cylinderChanged); + + // Put together appropriate CSS stylesheets: NB: Colors below in same order as the enum in prefs.h + QStringList colors = { "mediumblue", "lightblue", "black" }; // If using dark theme, set color appropriately + QString colorText = colors[prefs.headerstyle_color]; + + QString lastpart = colorText + " ;}"; + QString CSSLabelColor = "QLabel { color: " + lastpart; + QString CSSTitleColor = "QGroupBox::title { color: " + lastpart ; QStringList atmPressTypes { "mbar", get_depth_unit() ,tr("Use DC")}; + QString CSSSetSmallLabel = "QLabel { color: "; + CSSSetSmallLabel.append(colorText + "; font-size: "); + CSSSetSmallLabel.append(QString::number((int)(0.5 + ui->diveHeadingLabel->geometry().height() * 0.66)) + "px;}"); ui->atmPressType->insertItems(0, atmPressTypes); pressTypeIndex = 0; ui->waterTypeCombo->insertItems(0, getWaterTypesAsString()); @@ -34,8 +45,10 @@ TabDiveInformation::TabDiveInformation(QWidget *parent) : TabBase(parent), ui(ne types.append(gettextFromC::tr(divemode_text_ui[i])); ui->diveType->insertItems(0, types); connect(ui->diveType, SIGNAL(currentIndexChanged(int)), this, SLOT(diveModeChanged(int))); - QString CSSSetSmallLabel = "QLabel { font-size: " + // Using label height - QString::number((int)(0.5 + ui->diveHeadingLabel->geometry().height() * 0.66)) + "px;}"; // .. set CSS font size of star widget subscripts + ui->scrollAreaWidgetContents_3->setStyleSheet(CSSTitleColor); + ui->diveHeadingLabel->setStyleSheet(CSSLabelColor); + ui->gasHeadingLabel->setStyleSheet(CSSLabelColor); + ui->environmentHeadingLabel->setStyleSheet(CSSLabelColor); ui->groupBox_visibility->setStyleSheet(CSSSetSmallLabel); ui->groupBox_current->setStyleSheet(CSSSetSmallLabel); ui->groupBox_wavesize->setStyleSheet(CSSSetSmallLabel); @@ -55,7 +68,7 @@ TabDiveInformation::TabDiveInformation(QWidget *parent) : TabBase(parent), ui(ne updateWaterTypeWidget(); QPixmap warning (":salinity-warning-icon"); ui->salinityOverWrittenIcon->setPixmap(warning); - ui->salinityOverWrittenIcon->setToolTip("Water type differs from that of dc"); + ui->salinityOverWrittenIcon->setToolTip(CSSSetSmallLabel); ui->salinityOverWrittenIcon->setToolTipDuration(2500); ui->salinityOverWrittenIcon->setVisible(false); } -- cgit v1.2.3-70-g09d2