summaryrefslogtreecommitdiffstats
path: root/qt-ui/modeldelegates.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-09-27 12:52:01 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-09-27 09:22:19 -0700
commite81bbc1dabc3601876bd7393c73b49d5ff87ee85 (patch)
treeb519596d9f81b089b5e4d2829068fba621b9358c /qt-ui/modeldelegates.cpp
parentd6293217993a7601b6e1203cbab1062ba2b2523c (diff)
downloadsubsurface-e81bbc1dabc3601876bd7393c73b49d5ff87ee85.tar.gz
Hack to make the subsurface work on Gnome3 shell
The Gtk+ style on the Gnome shell is somewhat broken on Qt for some reason. This hack pokes the system, checks if it's running gnome-shell, and if the current style is gtk+ ( I couldn't just check for gtk+ since it worked on XFCE and other Gtk based enviro ments. so a double check is needed. ) then I changed the Pallete of the affected widgets by hand. not a pretty hack but worked. [Dirk Hohndel: redid the patch to be simpler and more consistent] Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/modeldelegates.cpp')
-rw-r--r--qt-ui/modeldelegates.cpp12
1 files changed, 12 insertions, 0 deletions
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;
}