From 91eb86a8aac8d851801c999bf6fa0d22408419ee Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Sat, 24 May 2014 13:33:30 +0100 Subject: [PATCH] Style the ridelist scrollbar on non-mac .. to be less obtrusive. .. lets see if we can improve on this ? --- src/RideNavigator.cpp | 41 +++++++++++++++++++++++++++++++++++++---- src/RideNavigator.h | 1 + 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/RideNavigator.cpp b/src/RideNavigator.cpp index a04ae965e..48f68ae77 100644 --- a/src/RideNavigator.cpp +++ b/src/RideNavigator.cpp @@ -37,6 +37,7 @@ RideNavigator::RideNavigator(Context *context, bool mainwindow) : context(contex _sortByIndex = 2; _sortByOrder = 0; currentColumn = -1; + this->mainwindow = mainwindow; _groupBy = -1; fontHeight = QFontMetrics(QFont()).height(); ColorEngine ce(context); @@ -155,10 +156,42 @@ RideNavigator::refresh() // hide ride list scroll bar ? #ifndef Q_OS_MAC - if (appsettings->value(this, GC_RIDESCROLL, true).toBool() == false) - tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - else - tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + if (mainwindow) { + if (appsettings->value(this, GC_RIDESCROLL, true).toBool() == false) + tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + else { + tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + + // style that sucker + tableView->setStyleSheet( + QString::fromUtf8("QScrollBar:vertical {" + " border: 0px;" + " background:%1;" + " width:10px; " + " margin: 0px 0px 0px 0px;" + "}" + "QScrollBar::handle:vertical {" + " background: darkGray; " + " min-height: 0px;" + "" + "}" + "QScrollBar::add-line:vertical {" + " background: qlineargradient(x1:0, y1:0, x2:1, y2:0," + " stop: 0 rgb(32, 47, 130), stop: 0.5 rgb(32, 47, 130), stop:1 rgb(32, 47, 130));" + " height: px;" + " subcontrol-position: bottom;" + " subcontrol-origin: margin;" + "}" + "QScrollBar::sub-line:vertical {" + " background: qlineargradient(x1:0, y1:0, x2:1, y2:0," + " stop: 0 rgb(32, 47, 130), stop: 0.5 rgb(32, 47, 130), stop:1 rgb(32, 47, 130));" + " height: 0px;" + " subcontrol-position: top;" + " subcontrol-origin: margin;" + "}" + "").arg(GColor(CPLOTBACKGROUND).name())); + } + } #endif setWidth(geometry().width()); diff --git a/src/RideNavigator.h b/src/RideNavigator.h index 59a69d967..2d4af9ab4 100644 --- a/src/RideNavigator.h +++ b/src/RideNavigator.h @@ -159,6 +159,7 @@ class RideNavigator : public GcWindow private: bool active; + bool mainwindow; bool init; int currentColumn; int pwidth;