comparison main/MainWindow.cpp @ 2466:2197ba438a3f background-mode

Add support for picking up overview colour from desktop theme
author Chris Cannam
date Fri, 24 Jan 2020 12:44:49 +0000
parents 9b5b4e02f691
children 169cc70492bb
comparison
equal deleted inserted replaced
2465:3d8bbe7a900f 2466:2197ba438a3f
194 cdb->addColour(QColor(200, 50, 255), tr("Purple")); 194 cdb->addColour(QColor(200, 50, 255), tr("Purple"));
195 cdb->addColour(QColor(255, 150, 50), tr("Orange")); 195 cdb->addColour(QColor(255, 150, 50), tr("Orange"));
196 cdb->setUseDarkBackground(cdb->addColour(Qt::white, tr("White")), true); 196 cdb->setUseDarkBackground(cdb->addColour(Qt::white, tr("White")), true);
197 cdb->setUseDarkBackground(cdb->addColour(Qt::red, tr("Bright Red")), true); 197 cdb->setUseDarkBackground(cdb->addColour(Qt::red, tr("Bright Red")), true);
198 cdb->setUseDarkBackground(cdb->addColour(QColor(30, 150, 255), tr("Bright Blue")), true); 198 cdb->setUseDarkBackground(cdb->addColour(QColor(30, 150, 255), tr("Bright Blue")), true);
199 cdb->setUseDarkBackground(cdb->addColour(Qt::green, tr("Bright Green")), true); 199 cdb->setUseDarkBackground(cdb->addColour(QColor(20, 255, 90), tr("Bright Green")), true);
200 cdb->setUseDarkBackground(cdb->addColour(QColor(225, 74, 255), tr("Bright Purple")), true); 200 cdb->setUseDarkBackground(cdb->addColour(QColor(225, 74, 255), tr("Bright Purple")), true);
201 cdb->setUseDarkBackground(cdb->addColour(QColor(255, 188, 80), tr("Bright Orange")), true); 201 cdb->setUseDarkBackground(cdb->addColour(QColor(255, 188, 80), tr("Bright Orange")), true);
202 202
203 SVDEBUG << "MainWindow: Creating main user interface layout" << endl; 203 SVDEBUG << "MainWindow: Creating main user interface layout" << endl;
204 204
3911 void 3911 void
3912 MainWindow::coloursChanged() 3912 MainWindow::coloursChanged()
3913 { 3913 {
3914 QSettings settings; 3914 QSettings settings;
3915 settings.beginGroup("Preferences"); 3915 settings.beginGroup("Preferences");
3916 QString defaultColourName(tr("Green")); 3916
3917 if (m_viewManager && m_viewManager->getGlobalDarkBackground()) { 3917 bool haveDarkBackground = (m_viewManager &&
3918 defaultColourName = tr("Bright Green"); 3918 m_viewManager->getGlobalDarkBackground());
3919 } 3919 QColor highlight = QApplication::palette().color(QPalette::Highlight);
3920 ColourDatabase *cdb = ColourDatabase::getInstance(); 3920 ColourDatabase *cdb = ColourDatabase::getInstance();
3921 int nearestIndex = cdb->getNearbyColourIndex
3922 (highlight,
3923 haveDarkBackground ?
3924 ColourDatabase::WithDarkBackground :
3925 ColourDatabase::WithLightBackground);
3926 QString defaultColourName = cdb->getColourName(nearestIndex);
3927
3921 QColor colour = QColor 3928 QColor colour = QColor
3922 (settings.value("overview-colour", 3929 (settings.value("overview-colour",
3923 cdb->getColour(defaultColourName).name()).toString()); 3930 cdb->getColour(defaultColourName).name()).toString());
3924 settings.endGroup(); 3931 settings.endGroup();
3925 3932
3926 int index = cdb->getColourIndex(colour); 3933 int index = cdb->getColourIndex(colour);
3934
3935 SVCERR << "MainWindow::coloursChanged: haveDarkBackground = " << haveDarkBackground << ", highlight = " << highlight.name() << ", nearestIndex = " << nearestIndex << ", defaultColourName = " << defaultColourName << ", colour = " << colour.name() << ", index = " << index << endl;
3936
3927 if (index >= 0) { 3937 if (index >= 0) {
3928 m_panLayer->setBaseColour(index); 3938 m_panLayer->setBaseColour(index);
3929 } 3939 }
3930 } 3940 }
3931 3941