From 8512ed1a06888a98f71367f4ac3da3f6edc945c3 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 3 Feb 2018 08:02:05 +0100 Subject: Implement alternating row colors Once again, surprisingly difficult, as you can see on the number of changed files. Coding the configuration options wasn't that difficult, but actually using them was. As it turned out, the default style on Windows doesn't use QApplication::palette() at all, though it does honor setAlternatingRowColors(). It just doesn't use the palette colors, but style sheets. Took me a while to figure out. So, there's always another layer of indirection: First, add all QTreeViews to Globals::views, then create a helper to set the style sheet. --- globals.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'globals.h') diff --git a/globals.h b/globals.h index e0bc5ef..c8037fe 100644 --- a/globals.h +++ b/globals.h @@ -3,9 +3,11 @@ #include #include +#include class QAction; class Viewer; +class QTreeView; class Globals : public QObject { Q_OBJECT @@ -13,6 +15,8 @@ class Globals : public QObject { enum ActionType { QuitAction = 0, ConfigAction = 1 }; static Globals *instance(); void addAction(QAction *a); + void addView(QTreeView *v); + const QVector views() { return mViews; } QAction *action(int actionType); Viewer *viewer(); @@ -23,6 +27,7 @@ class Globals : public QObject { static Globals *mInstance; QHash mActions; Viewer *mViewer; + QVector mViews; }; #endif // GLOBALS_H -- cgit v1.2.3-70-g09d2