diff options
-rw-r--r-- | qt-gui.cpp | 5 | ||||
-rw-r--r-- | qt-ui/maintab.cpp | 11 | ||||
-rw-r--r-- | qt-ui/modeldelegates.cpp | 12 | ||||
-rw-r--r-- | qt-ui/simplewidgets.cpp | 18 | ||||
-rw-r--r-- | qt-ui/simplewidgets.h | 2 |
5 files changed, 43 insertions, 5 deletions
diff --git a/qt-gui.cpp b/qt-gui.cpp index cb06bf8d5..41a6617e1 100644 --- a/qt-gui.cpp +++ b/qt-gui.cpp @@ -93,11 +93,6 @@ void init_ui(int *argcp, char ***argvp) // note: on Linux, "system" == "environment variables" QNetworkProxyFactory::setUseSystemConfiguration(true); - // the Gtk theme makes things unbearably ugly - // so switch to Oxygen in this case - if (application->style()->objectName() == "gtk+") - application->setStyle("Oxygen"); - #if QT_VERSION < 0x050000 // ask QString in Qt 4 to interpret all char* as UTF-8, // like Qt 5 does. diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 98247566a..cc56a58c6 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -96,6 +96,17 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent), setMinimumHeight(0); setMinimumWidth(0); + + // Current display of things on Gnome3 looks like shit, so + // let`s fix that. + if (isGnome3Session()) { + QPalette p; + p.setColor(QPalette::Window, QColor(Qt::white)); + ui->scrollArea->viewport()->setPalette(p); + ui->scrollArea_2->viewport()->setPalette(p); + ui->scrollArea_3->viewport()->setPalette(p); + ui->scrollArea_4->viewport()->setPalette(p); + } } void MainTab::addDiveStarted() diff --git a/qt-ui/modeldelegates.cpp b/qt-ui/modeldelegates.cpp index 5a55cad3c..6141f79fc 100644 --- a/qt-ui/modeldelegates.cpp +++ b/qt-ui/modeldelegates.cpp @@ -4,6 +4,7 @@ #include "starwidget.h" #include "models.h" #include "diveplanner.h" +#include "simplewidgets.h" #include <QtDebug> #include <QPainter> @@ -16,6 +17,7 @@ #include <QKeyEvent> #include <QAbstractItemView> #include <QStringListModel> +#include <QApplication> // Gets the index of the model in the currentRow and column. // currCombo is defined below. @@ -100,6 +102,16 @@ QWidget* ComboBoxDelegate::createEditor(QWidget* parent, const QStyleOptionViewI currCombo.comboEditor = comboDelegate; currCombo.currRow = index.row(); currCombo.model = const_cast<QAbstractItemModel*>(index.model()); + + // Current display of things on Gnome3 looks like shit, so + // let`s fix that. + if (isGnome3Session()) { + QPalette p; + p.setColor(QPalette::Window, QColor(Qt::white)); + p.setColor(QPalette::Base, QColor(Qt::white)); + comboDelegate->lineEdit()->setPalette(p); + comboDelegate->setPalette(p); + } return comboDelegate; } diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp index a6e01a724..ce659c6cf 100644 --- a/qt-ui/simplewidgets.cpp +++ b/qt-ui/simplewidgets.cpp @@ -8,6 +8,9 @@ #include <QSpinBox> #include <QButtonGroup> #include <QDebug> +#include <QProcess> +#include <QStringList> +#include <QDebug> #include "../dive.h" @@ -118,3 +121,18 @@ RenumberDialog::RenumberDialog(): QDialog(), ui( new Ui::RenumberDialog()) ui->setupUi(this); connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonClicked(QAbstractButton*))); } + +bool isGnome3Session() +{ +#if defined(QT_OS_WIW) || defined(QT_OS_MAC) + return false; +#else + if (qApp->style()->objectName() != "gtk+") + return false; + QProcess p; + p.start("pidof", QStringList() << "gnome-shell" ); + p.waitForFinished(-1); + QString p_stdout = p.readAllStandardOutput(); + return !p_stdout.isEmpty(); +#endif +} diff --git a/qt-ui/simplewidgets.h b/qt-ui/simplewidgets.h index ffd415767..cf79d19c7 100644 --- a/qt-ui/simplewidgets.h +++ b/qt-ui/simplewidgets.h @@ -43,4 +43,6 @@ private: Ui::RenumberDialog *ui; }; +bool isGnome3Session(); + #endif |