From 28b242815b7a3bb8b2c8c5727bb13645bde95c65 Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Sat, 11 Apr 2020 15:34:22 +0100 Subject: [PATCH] New Sidebar and deprecate Scope Bar .. remove the old scope bar in favour of a more modern sidebar as we transition the UI to a new design. .. the newmainwindow approach is not practical, as making 2 UX coexist at the same time was impossible and would lead to major issues. .. note a number of views are on the sidebar but disabled, they will be added over time. --- src/Gui/GcSideBarItem.cpp | 12 +- src/Gui/GcToolBar.cpp | 2 +- src/Gui/GcToolBar.h | 5 +- src/Gui/MainWindow.cpp | 160 ++++++++++------- src/Gui/MainWindow.h | 14 +- src/Gui/NewSideBar.cpp | 278 ++++++++++++++++++++++++++++++ src/Gui/NewSideBar.h | 105 +++++++++++ src/Gui/RideNavigator.cpp | 2 +- src/Gui/SearchBox.cpp | 2 +- src/Gui/SearchFilterBox.cpp | 1 + src/Resources/application.qrc | 9 + src/Resources/sidebar/apps.png | Bin 0 -> 3696 bytes src/Resources/sidebar/assess.png | Bin 0 -> 15901 bytes src/Resources/sidebar/athlete.png | Bin 0 -> 16290 bytes src/Resources/sidebar/plan.png | Bin 0 -> 15377 bytes src/Resources/sidebar/prefs.png | Bin 0 -> 21437 bytes src/Resources/sidebar/reflect.png | Bin 0 -> 15826 bytes src/Resources/sidebar/sync.png | Bin 0 -> 10717 bytes src/Resources/sidebar/train.png | Bin 0 -> 21326 bytes src/Resources/sidebar/trends.png | Bin 0 -> 9750 bytes src/src.pro | 4 +- 21 files changed, 511 insertions(+), 83 deletions(-) create mode 100644 src/Gui/NewSideBar.cpp create mode 100644 src/Gui/NewSideBar.h create mode 100644 src/Resources/sidebar/apps.png create mode 100644 src/Resources/sidebar/assess.png create mode 100644 src/Resources/sidebar/athlete.png create mode 100644 src/Resources/sidebar/plan.png create mode 100644 src/Resources/sidebar/prefs.png create mode 100644 src/Resources/sidebar/reflect.png create mode 100644 src/Resources/sidebar/sync.png create mode 100644 src/Resources/sidebar/train.png create mode 100644 src/Resources/sidebar/trends.png diff --git a/src/Gui/GcSideBarItem.cpp b/src/Gui/GcSideBarItem.cpp index 44a70fb18..51be22b8c 100644 --- a/src/Gui/GcSideBarItem.cpp +++ b/src/Gui/GcSideBarItem.cpp @@ -290,8 +290,8 @@ GcSplitterHandle::init(QString title, Qt::Orientation orientation, // set handle size according to font metric QFont font; QFontMetrics fm(font); - bigHandle = fm.height() + 5; - smallHandle = fm.height() + 2; + bigHandle = fm.height() + 8; + smallHandle = fm.height() + 5; // use the sizes as set if (metal) setFixedHeight(bigHandle); @@ -347,7 +347,7 @@ GcSplitterHandle::addActions(QList actions) QToolButton *p = new QToolButton(this); p->setStyleSheet("QToolButton { border: none; padding: 0px; }"); p->setAutoFillBackground(false); - p->setFixedSize(20*dpiXFactor,20*dpiYFactor); + p->setFixedSize(22*dpiXFactor,22*dpiYFactor); p->setIcon(action->icon()); p->setIconSize(QSize(10*dpiXFactor,10*dpiYFactor)); p->setFocusPolicy(Qt::NoFocus); @@ -402,7 +402,7 @@ GcSplitterHandle::paintBackground(QPaintEvent *) GcSplitterControl::GcSplitterControl(QWidget *parent) : QToolBar(parent) { setContentsMargins(0,0,0,0); - setFixedHeight(20 *dpiYFactor); + setFixedHeight(22 *dpiYFactor); setIconSize(QSize(14 *dpiXFactor,14 *dpiYFactor)); setToolButtonStyle(Qt::ToolButtonIconOnly); setAutoFillBackground(false); @@ -429,8 +429,8 @@ GcSplitterControl::paintBackground(QPaintEvent *) // setup a painter and the area to paint QPainter painter(this); - QLinearGradient active = GCColor::linearGradient(20 *dpiYFactor, true); - QLinearGradient inactive = GCColor::linearGradient(20 *dpiYFactor, false); + QLinearGradient active = GCColor::linearGradient(22 *dpiYFactor, true); + QLinearGradient inactive = GCColor::linearGradient(22 *dpiYFactor, false); // fill with a linear gradient painter.setPen(Qt::NoPen); diff --git a/src/Gui/GcToolBar.cpp b/src/Gui/GcToolBar.cpp index d9fb53ba7..36f1e83c4 100644 --- a/src/Gui/GcToolBar.cpp +++ b/src/Gui/GcToolBar.cpp @@ -24,7 +24,7 @@ GcToolBar::GcToolBar(QWidget *parent) : QWidget(parent) //Height will be set when widget is added in MainWindow setContentsMargins(0,0,0,0); layout = new QHBoxLayout(this); - layout->setSpacing(10 *dpiXFactor); + layout->setSpacing(5 *dpiXFactor); layout->setContentsMargins(0,0,0,0); installEventFilter(this); } diff --git a/src/Gui/GcToolBar.h b/src/Gui/GcToolBar.h index fe7972db8..31bc58202 100644 --- a/src/Gui/GcToolBar.h +++ b/src/Gui/GcToolBar.h @@ -24,6 +24,7 @@ #include #include #include +#include "Colors.h" class GcToolBar : public QWidget { @@ -48,10 +49,10 @@ class Spacer : public QWidget { public: Spacer(QWidget *parent) : QWidget(parent) { - QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); setSizePolicy(sizePolicy); } - QSize sizeHint() const { return QSize(10, 1); } + QSize sizeHint() const { return QSize(40*dpiXFactor, 1); } }; #endif diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index a49a851cc..4af6d4af4 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -88,9 +88,9 @@ // GUI Widgets #include "Tab.h" #include "GcToolBar.h" +#include "NewSideBar.h" #include "HelpWindow.h" #include "HomeWindow.h" -#include "GcScopeBar.h" #if !defined(Q_OS_MAC) #include "QTFullScreen.h" // not mac! #endif @@ -214,14 +214,38 @@ MainWindow::MainWindow(const QDir &home) appsettings->setValue(GC_SETTINGS_LAST, context->athlete->home->root().dirName()); /*---------------------------------------------------------------------- - * ScopeBar + * ScopeBar as sidebar from v3.6 *--------------------------------------------------------------------*/ - scopebar = new GcScopeBar(context); - connect(scopebar, SIGNAL(selectDiary()), this, SLOT(selectDiary())); - connect(scopebar, SIGNAL(selectHome()), this, SLOT(selectHome())); - connect(scopebar, SIGNAL(selectAnal()), this, SLOT(selectAnalysis())); - connect(scopebar, SIGNAL(selectTrain()), this, SLOT(selectTrain())); - connect(scopebar, SIGNAL(selectInterval()), this, SLOT(selectInterval())); + + sidebar = new NewSideBar(context, this); + sidebar->addItem(QImage(":sidebar/athlete.png"), tr("athletes"), 0); + sidebar->setItemEnabled(0, false); + + sidebar->addItem(QImage(":sidebar/plan.png"), tr("plan"), 1); + sidebar->setItemEnabled(1, false); + + sidebar->addItem(QImage(":sidebar/trends.png"), tr("trends"), 2); + sidebar->addItem(QImage(":sidebar/assess.png"), tr("activities"), 3); + sidebar->setItemSelected(3, true); + + sidebar->addItem(QImage(":sidebar/reflect.png"), tr("reflect"), 4); + sidebar->setItemEnabled(4, false); + + sidebar->addItem(QImage(":sidebar/train.png"), tr("train"), 5); + + sidebar->addStretch(); + sidebar->addItem(QImage(":sidebar/apps.png"), tr("apps"), 6); + sidebar->setItemEnabled(6, false); + sidebar->addStretch(); + + // we can click on the quick icons, but they aren't selectable views + sidebar->addItem(QImage(":sidebar/sync.png"), tr("sync"), 7); + sidebar->setItemSelectable(7, false); + sidebar->addItem(QImage(":sidebar/prefs.png"), tr("settings"), 8); + sidebar->setItemSelectable(8, false); + + connect(sidebar, SIGNAL(itemClicked(int)), this, SLOT(sidebarClicked(int))); + connect(sidebar, SIGNAL(itemSelected(int)), this, SLOT(sidebarSelected(int))); /*---------------------------------------------------------------------- * What's this Context Help @@ -266,16 +290,16 @@ MainWindow::MainWindow(const QDir &home) HelpWhatsThis *helpLowBar = new HelpWhatsThis(lowbar); lowbar->setWhatsThis(helpLowBar->getWhatsThisText(HelpWhatsThis::ToolBar_ToggleComparePane)); - sidebar = new QPushButton(this); - sidebar->setIcon(sidebarIcon); - sidebar->setFixedHeight(24 * dpiYFactor); - sidebar->setIconSize(isize); - sidebar->setStyle(toolStyle); - sidebar->setToolTip(tr("Toggle Sidebar")); - sidebar->setPalette(metal); - connect(sidebar, SIGNAL(clicked(bool)), this, SLOT(toggleSidebar())); - HelpWhatsThis *helpSideBar = new HelpWhatsThis(sidebar); - sidebar->setWhatsThis(helpSideBar->getWhatsThisText(HelpWhatsThis::ToolBar_ToggleSidebar)); + sidelist = new QPushButton(this); + sidelist->setIcon(sidebarIcon); + sidelist->setFixedHeight(24 * dpiYFactor); + sidelist->setIconSize(isize); + sidelist->setStyle(toolStyle); + sidelist->setToolTip(tr("Toggle Sidebar")); + sidelist->setPalette(metal); + connect(sidelist, SIGNAL(clicked(bool)), this, SLOT(toggleSidebar())); + HelpWhatsThis *helpSideBar = new HelpWhatsThis(sidelist); + sidelist->setWhatsThis(helpSideBar->getWhatsThisText(HelpWhatsThis::ToolBar_ToggleSidebar)); styleSelector = new QtSegmentControl(this); styleSelector->setStyle(toolStyle); @@ -295,37 +319,35 @@ MainWindow::MainWindow(const QDir &home) if (dpiXFactor > 1) { QString nopad = QString("QPushButton { padding-left: 0px; padding-right: 0px; " " padding-top: 0px; padding-bottom: 0px; }"); - sidebar->setStyleSheet(nopad); + sidelist->setStyleSheet(nopad); lowbar->setStyleSheet(nopad); } #endif - head->addWidget(new Spacer(this)); - head->addStretch(); - head->addWidget(scopebar); - head->addStretch(); - head->addWidget(sidebar); - head->addWidget(lowbar); - head->addWidget(styleSelector); - head->setFixedHeight(scopebar->height() + 7); - // add a search box on far right, but with a little space too searchBox = new SearchFilterBox(this,context,false); - anim = new QPropertyAnimation(searchBox, "xwidth", this); searchBox->setStyle(toolStyle); - searchBox->setFixedWidth(150 * dpiYFactor); - head->addWidget(searchBox); + searchBox->setFixedWidth(400 * dpiXFactor); + searchBox->setFixedHeight(28 * dpiYFactor); + head->addStretch(); + head->addWidget(sidelist); + head->addWidget(lowbar); + head->addWidget(styleSelector); + head->setFixedHeight(searchBox->height() + (10 *dpiXFactor)); + connect(searchBox, SIGNAL(searchResults(QStringList)), this, SLOT(setFilter(QStringList))); connect(searchBox, SIGNAL(searchClear()), this, SLOT(clearFilter())); - connect(searchBox->searchbox, SIGNAL(haveFocus()), this, SLOT(searchFocusIn())); - connect(searchBox->searchbox, SIGNAL(lostFocus()), this, SLOT(searchFocusOut())); HelpWhatsThis *helpSearchBox = new HelpWhatsThis(searchBox); searchBox->setWhatsThis(helpSearchBox->getWhatsThisText(HelpWhatsThis::SearchFilterBox)); Spacer *spacer = new Spacer(this); spacer->setFixedWidth(5 *dpiYFactor); head->addWidget(spacer); + head->addWidget(searchBox); + spacer = new Spacer(this); + spacer->setFixedWidth(5 *dpiYFactor); + head->addWidget(spacer); /*---------------------------------------------------------------------- @@ -364,8 +386,17 @@ MainWindow::MainWindow(const QDir &home) mainLayout->setSpacing(0); mainLayout->setContentsMargins(0,0,0,0); mainLayout->addWidget(head); - mainLayout->addWidget(tabbar); - mainLayout->addWidget(tabStack); + QHBoxLayout *lrlayout = new QHBoxLayout(); + mainLayout->addLayout(lrlayout); + lrlayout->setSpacing(0); + lrlayout->setContentsMargins(0,0,0,0); + lrlayout->addWidget(sidebar); + QVBoxLayout *tablayout = new QVBoxLayout(); + tablayout->setSpacing(0); + tablayout->setContentsMargins(0,0,0,0); + lrlayout->addLayout(tablayout); + tablayout->addWidget(tabbar); + tablayout->addWidget(tabStack); setCentralWidget(central); /*---------------------------------------------------------------------- @@ -561,7 +592,6 @@ MainWindow::MainWindow(const QDir &home) viewMenu->addSeparator(); viewMenu->addAction(tr("Activities"), this, SLOT(selectAnalysis())); viewMenu->addAction(tr("Trends"), this, SLOT(selectHome())); - viewMenu->addAction(tr("Train"), this, SLOT(selectTrain())); #ifdef GC_HAVE_ICAL viewMenu->addAction(tr("Diary"), this, SLOT(selectDiary())); #endif @@ -959,6 +989,7 @@ MainWindow::moveEvent(QMoveEvent*) void MainWindow::closeEvent(QCloseEvent* event) { + fprintf(stderr,"window close started\n"); fflush(stderr); QList closing = tabList; bool needtosave = false; bool importrunning = false; @@ -1008,6 +1039,8 @@ MainWindow::closeEvent(QCloseEvent* event) } appsettings->setValue(GC_SETTINGS_MAIN_GEOM, saveGeometry()); appsettings->setValue(GC_SETTINGS_MAIN_STATE, saveState()); + + fprintf(stderr,"window close compeleted\n"); fflush(stderr); } MainWindow::~MainWindow() @@ -1147,6 +1180,34 @@ MainWindow::support() QDesktopServices::openUrl(QUrl("https://groups.google.com/forum/#!forum/golden-cheetah-users")); } +void +MainWindow::sidebarClicked(int id) +{ + // sync quick link + if (id == 7) checkCloud(); + + // prefs + if (id == 8) showOptions(); + +} + +void +MainWindow::sidebarSelected(int id) +{ + switch (id) { + case 0: // athlete not written yet + case 1: // plan not written yet + break; + case 2: selectHome(); break; + case 3: selectAnalysis(); break; + case 4: // reflect not written yet + break; + case 5: selectTrain(); break; + case 6: // apps not written yet + break; + } +} + void MainWindow::selectAnalysis() { @@ -1223,12 +1284,9 @@ MainWindow::setToolButtons() } #endif #ifdef Q_OS_MAC // bizarre issue with searchbox focus on tab voew change - anim->stop(); searchBox->clearFocus(); searchFocusOut(); - scopebar->setFocus(Qt::TabFocusReason); #endif - scopebar->setSelected(index); } /*---------------------------------------------------------------------- @@ -1923,7 +1981,6 @@ MainWindow::saveGCState(Context *context) context->showToolbar = showhideToolbar->isChecked(); context->searchText = searchBox->text(); context->style = styleAction->isChecked(); - context->setIndex(scopebar->selected()); } void @@ -1934,9 +1991,6 @@ MainWindow::restoreGCState(Context *context) showToolbar(context->showToolbar); //showTabbar(context->showTabbar); showLowbar(context->showLowbar); - scopebar->setSelected(context->viewIndex); - scopebar->setContext(context); - scopebar->setHighlighted(); // to reflect context searchBox->setContext(context); searchBox->setText(context->searchText); } @@ -2266,26 +2320,6 @@ void MainWindow::showCreateFixPyScriptDlg() { } #endif -// grow/shrink searchbox if there is space... -void -MainWindow::searchFocusIn() -{ - if (searchBox->searchbox->hasFocus()) { - anim->setDuration(300); - anim->setEasingCurve(QEasingCurve::InOutQuad); - anim->setStartValue(searchBox->width()); - anim->setEndValue(500 * dpiYFactor); - anim->start(); - } -} - -void -MainWindow::searchFocusOut() -{ - anim->stop(); - searchBox->setFixedWidth(150 *dpiYFactor); -} - #ifdef GC_HAS_CLOUD_DB void MainWindow::cloudDBuserEditChart() diff --git a/src/Gui/MainWindow.h b/src/Gui/MainWindow.h index 02dcb8033..602376938 100644 --- a/src/Gui/MainWindow.h +++ b/src/Gui/MainWindow.h @@ -62,6 +62,7 @@ class QtSegmentControl; class SaveSingleDialogWidget; class ChooseCyclistDialog; class SearchFilterBox; +class NewSideBar; class MainWindow; @@ -128,10 +129,6 @@ class MainWindow : public QMainWindow // chart importing void importCharts(QStringList); - // search box gets and loses focus - make big/small - void searchFocusIn(); - void searchFocusOut(); - // open and closing windows and tabs void closeAll(); // close all windows and tabs @@ -149,6 +146,10 @@ class MainWindow : public QMainWindow void removeTab(Tab*); // remove without question void switchTab(int index); // for switching between one tab and another + // sidebar selecting views and actions + void sidebarClicked(int id); + void sidebarSelected(int id); + // Athlete Backup void setBackupAthleteMenu(); void backupAthlete(QString name); @@ -263,19 +264,18 @@ class MainWindow : public QMainWindow private: - GcScopeBar *scopebar; + NewSideBar *sidebar; Tab *currentTab; QList tabList; #ifndef Q_OS_MAC QTFullScreen *fullScreen; #endif - QPropertyAnimation *anim; SearchFilterBox *searchBox; // Not on Mac so use other types - QPushButton *sidebar, *lowbar; + QPushButton *sidelist, *lowbar; QtSegmentControl *styleSelector; GcToolBar *head; diff --git a/src/Gui/NewSideBar.cpp b/src/Gui/NewSideBar.cpp new file mode 100644 index 000000000..b8b8f5665 --- /dev/null +++ b/src/Gui/NewSideBar.cpp @@ -0,0 +1,278 @@ +#include "Context.h" +#include "NewSideBar.h" +#include "Colors.h" + +static constexpr int gl_itemwidth = 70; +static constexpr int gl_itemheight = 50; +static constexpr int gl_margin = 0; + +NewSideBar::NewSideBar(Context *context, QWidget *parent) : QWidget(parent), context(context) + +{ + setFixedWidth(gl_itemwidth *dpiXFactor); + setAutoFillBackground(true); + lastid=0; + + QVBoxLayout *mainlayout = new QVBoxLayout(this); + mainlayout->setSpacing(0); + mainlayout->setContentsMargins(0,0,0,0); + top=new QWidget(this); + bottom=new QWidget(this); + middle=new QWidget(this); + middle->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); + mainlayout->addWidget(top); + mainlayout->addWidget(middle); + mainlayout->addWidget(bottom); + + layout = new QVBoxLayout(middle); + layout->setSpacing(0); + layout->setContentsMargins(0,gl_margin *dpiXFactor,0,gl_margin*dpiYFactor); + + connect(context, SIGNAL(configChanged(qint32)), this, SLOT(configChanged(qint32))); + configChanged(0); + + show(); +} + +void +NewSideBar::clicked(int id) +{ + // un selectable item was clicked (e.g. symc or settings) + emit itemClicked(id); +} + +void +NewSideBar::selected(int id) +{ + // we selected one, so need to set it selected + // and deselect everyone else + QMapIteratori(items); + while(i.hasNext()) { + i.next(); + if (i.key() == id) i.value()->setSelected(true); + else i.value()->setSelected(false); + i.value()->update(); + } + emit itemSelected(id); +} + +int +NewSideBar::addItem(QImage icon, QString name, int id) +{ + // allocated an id + if (id == -1) id=lastid++; + + NewSideBarItem *add = new NewSideBarItem(this, id, icon, name); + layout->addWidget(add); + items.insert(id, add); + + return id; +} + +// leave a gap- we have main icons, gap, apps, gap, sync, prefs +void +NewSideBar::addStretch() +{ + layout->addStretch(); +} + + +// is it shown, is it usable? +void +NewSideBar::setItemVisible(int id, bool x) +{ + NewSideBarItem *item = items.value(id, NULL); + if (item) item->setVisible(x); +} + +void +NewSideBar::setItemEnabled(int id, bool x) +{ + NewSideBarItem *item = items.value(id, NULL); + if (item) item->setEnabled(x); +} + +// can we select it, select it by program? +void +NewSideBar::setItemSelectable(int id, bool x) +{ + NewSideBarItem *item = items.value(id, NULL); + if (item) item->setSelectable(x); +} + +void +NewSideBar::setItemSelected(int id, bool x) +{ + NewSideBarItem *item = items.value(id, NULL); + if (item) item->setSelected(x); +} + +void +NewSideBar::configChanged(qint32) +{ + QFont font; + QFontMetrics fm(font); + top->setFixedHeight(fm.height() + 8); // no scaling... + bottom->setFixedHeight(fm.height() + 4); // no scaling... + QColor col=GColor(CCHROME); + QString style=QString("QWidget { background: rgb(%1,%2,%3); }").arg(col.red()).arg(col.green()).arg(col.blue()); + top->setStyleSheet(style); + bottom->setStyleSheet(style); + col=GColor(CPLOTBACKGROUND); + col=GCColor::invertColor(col); // invert makes dark white, light black + col=GCColor::invertColor(col); // invert again, so now its white or black + style=QString("QWidget { background: rgb(%1,%2,%3); }").arg(col.red()).arg(col.green()).arg(col.blue()); + middle->setStyleSheet(style); +} + +NewSideBarItem::NewSideBarItem(NewSideBar *sidebar, int id, QImage icon, QString name) : QWidget(sidebar), sidebar(sidebar), id(id), icon(icon), name(name) +{ + clicked = selected = false; + selectable = enabled = true; + + // some basics + setFixedSize(gl_itemwidth *dpiXFactor,gl_itemheight *dpiYFactor); + setAutoFillBackground(true); + + // trap events + installEventFilter(this); + connect(sidebar->context, SIGNAL(configChanged(qint32)), this, SLOT(configChanged(qint32))); + + configChanged(0); + + show(); +} + +void +NewSideBarItem::setSelectable(bool x) +{ + selectable = x; + update(); +} + +void +NewSideBarItem::setEnabled(bool x) +{ + enabled = x; + update(); +} + +void +NewSideBarItem::setSelected(bool x) +{ + selected = x; + update(); +} + +// trap all events for me +bool +NewSideBarItem::eventFilter(QObject *, QEvent *e) +{ + switch(e->type()) { + case QEvent::Enter: + case QEvent::Leave: + case QEvent::MouseMove: + update(); + break; + + case QEvent::MouseButtonPress: + clicked=true; + break; + case QEvent::MouseButtonRelease: + if (underMouse() && clicked) { + // user clicked on us! + if (enabled && selectable && !selected) sidebar->selected(id); + else if (enabled && !selectable) sidebar->clicked(id); + } + clicked=false; + break; + default: + break; + } + + return false; +} + +static QImage imageRGB(QImage &source, QColor target) +{ + QImage returning = source; + + if (target == QColor(Qt::white)) target = QColor(255,255,254, 255); // white is the alpha + + for(int x=0; x< returning.width(); x++) + for(int y=0; y< returning.height(); y++) { + QColor v = returning.pixelColor(x,y); + if (v.red() == 0 && v.blue() == 0 && v.green() == 0) + returning.setPixelColor(x,y,target); + } + + return returning; +} + +void +NewSideBarItem::configChanged(qint32) +{ + QColor col(Qt::darkGray); + QString style=QString("QWidget { background: rgb(%1,%2,%3); }").arg(col.red()).arg(col.green()).arg(col.blue()); + setStyleSheet(style); + + // set foreground colors + fg_normal = GCColor::invertColor(GColor(CPLOTBACKGROUND)); + + // if foreground is white then we're "dark" if its + // black the we're "light" so this controls palette + bool dark = (fg_normal == QColor(Qt::white)); + + if (dark) fg_disabled = QColor(80,80,80); + else fg_disabled = QColor(180,180,180); + + // set background colors + col=GColor(CPLOTBACKGROUND); + bool isblack = (col == QColor(Qt::black)); // e.g. mustang theme + col=GCColor::invertColor(col); // invert makes dark white, light black + col=GCColor::invertColor(col); // invert again, so now its white or black + bg_normal = col; + + // on select + bg_select =GColor(CPLOTBACKGROUND); + if (dark) bg_select = bg_select.lighter(200); + else bg_select = bg_select.darker(200); + if (isblack) bg_select = QColor(30,30,30); + + // on hover + bg_hover =GColor(CPLOTBACKGROUND); + if (dark) bg_hover = bg_hover.lighter(300); + else bg_hover = bg_hover.darker(300); + if (isblack) bg_hover = QColor(50,50,50); + + iconNormal = QPixmap::fromImage(imageRGB(icon, fg_normal), Qt::ColorOnly|Qt::PreferDither|Qt::DiffuseAlphaDither); + iconDisabled = QPixmap::fromImage(imageRGB(icon, fg_disabled), Qt::ColorOnly|Qt::PreferDither|Qt::DiffuseAlphaDither); +} + +void +NewSideBarItem::paintEvent(QPaintEvent *) +{ + QPainter painter(this); + + // background is normal, unless selected or hovering + QBrush brush(bg_normal); + if (selected) brush = QBrush(bg_select); + else if (underMouse() && enabled) brush = QBrush(bg_hover); + painter.fillRect(QRectF(0,0,gl_itemwidth*dpiXFactor, gl_itemheight*dpiXFactor), brush); + + // icon is normal or disabled + if (enabled) painter.drawPixmap(27*dpiXFactor,6*dpiXFactor,24*dpiXFactor,24*dpiXFactor,iconNormal); + else painter.drawPixmap(27*dpiXFactor,6*dpiXFactor,24*dpiXFactor,24*dpiXFactor,iconDisabled); + + // block + if (selected) painter.fillRect(QRectF(0,0,3*dpiXFactor,gl_itemheight*dpiXFactor), QBrush(GColor(CPLOTMARKER))); + + // draw name + QPen pen(fg_normal); + if (!enabled) pen = QPen(fg_disabled); + QFont f; + f.setPixelSize(12*dpiYFactor); + painter.setFont(f); + painter.setPen(pen); + painter.drawText(QRect(5*dpiXFactor,24*dpiYFactor,(gl_itemwidth-5)*dpiXFactor,20*dpiYFactor), Qt::AlignCenter| Qt::AlignBottom, name); +} diff --git a/src/Gui/NewSideBar.h b/src/Gui/NewSideBar.h new file mode 100644 index 000000000..f458e7b80 --- /dev/null +++ b/src/Gui/NewSideBar.h @@ -0,0 +1,105 @@ +#include +#include +#include + +class Context; +class NewSideBarItem; +class NewSideBar : public QWidget +{ + + Q_OBJECT + + friend class ::NewSideBarItem; + + public: + NewSideBar(Context *context, QWidget *parent); + + public slots: + + // managing items - the id can be assigned or will get a default + // it returns the id used + int addItem(QImage icon, QString name, int id=-1); + + // leave a gap- we have main icons, gap, apps, gap, sync, prefs + void addStretch(); + + // is it shown, is it usable? + void setItemVisible(int id, bool); + void setItemEnabled(int id, bool); + + // can we select it, select it by program? + void setItemSelectable(int id, bool); + void setItemSelected(int id, bool); + + // config changed + void configChanged(qint32); + + // called by children + void clicked(int id); + void selected(int id); + + signals: + + void itemSelected(int id); + void itemClicked(int id); + + protected: + Context *context; + + private: + + QWidget *top, *middle, *bottom; // bars at top and the bottom + QMap items; + + int lastid; // when autoallocating + QVBoxLayout *layout; +}; + +// tightly bound with parent +class NewSideBarItem : public QWidget +{ + Q_OBJECT + + public: + + NewSideBarItem(NewSideBar *sidebar, int id, QImage icon, QString name); + + void setSelectable(bool); + void setEnabled(bool); + void setSelected(bool); + //void setVisible(bool); - standard qwidget method, we do not need to implement + + bool isSelected() const { return selected; } + bool isEnabled() const { return enabled; } + bool isSelectable() const { return selectable; } + //bool isVisible() const { return QWidget::isVisible(); } - standard qwidget method + + // trap all events for me + bool eventFilter(QObject *oj, QEvent *e); + + public slots: + + // config changed + void configChanged(qint32); + + void paintEvent(QPaintEvent *event); + + private: + + NewSideBar *sidebar; // for emitting signals + int id; + + // pre-rendered/calculated icons and colors + QImage icon; + QPixmap iconNormal, iconDisabled; + QColor fg_normal, fg_disabled; + QColor bg_normal, bg_hover, bg_select, bg_disable; + QFont textfont; + + QString name; + + bool selected; + bool selectable; + bool enabled; + bool clicked; +}; diff --git a/src/Gui/RideNavigator.cpp b/src/Gui/RideNavigator.cpp index e74752e1f..8a32b5dfd 100644 --- a/src/Gui/RideNavigator.cpp +++ b/src/Gui/RideNavigator.cpp @@ -56,7 +56,7 @@ RideNavigator::RideNavigator(Context *context, bool mainwindow) : GcChartWindow( mainLayout = new QVBoxLayout; setChartLayout(mainLayout); mainLayout->setSpacing(0); - if (mainwindow) mainLayout->setContentsMargins(0,0,0,0); + if (mainwindow) mainLayout->setContentsMargins(5*dpiXFactor,0,0,0); else mainLayout->setContentsMargins(2,2,2,2); // so we can resize! searchFilter = new SearchFilter(this); diff --git a/src/Gui/SearchBox.cpp b/src/Gui/SearchBox.cpp index 4557a727a..b2584a78f 100644 --- a/src/Gui/SearchBox.cpp +++ b/src/Gui/SearchBox.cpp @@ -35,7 +35,7 @@ SearchBox::SearchBox(Context *context, QWidget *parent, bool nochooser) : QLineEdit(parent), context(context), parent(parent), filtered(false), nochooser(nochooser), active(false) { - setFixedHeight(21 *dpiYFactor); + //setFixedHeight(21 *dpiYFactor); //clear button clearButton = new QToolButton(this); clearButton->setStyleSheet("QToolButton { border: none; padding: 0px; }"); diff --git a/src/Gui/SearchFilterBox.cpp b/src/Gui/SearchFilterBox.cpp index f56b858b8..1b55795c1 100644 --- a/src/Gui/SearchFilterBox.cpp +++ b/src/Gui/SearchFilterBox.cpp @@ -35,6 +35,7 @@ SearchFilterBox::SearchFilterBox(QWidget *parent, Context *context, bool nochoos // no column chooser if my parent widget is a modal widget searchbox = new SearchBox(context, this, nochooser); + searchbox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); contents->addWidget(searchbox); freeSearch = new FreeSearch(this, context); diff --git a/src/Resources/application.qrc b/src/Resources/application.qrc index 86fbdf032..79a7b47d9 100644 --- a/src/Resources/application.qrc +++ b/src/Resources/application.qrc @@ -1,6 +1,15 @@ webservice/httpserver.ini + sidebar/apps.png + sidebar/assess.png + sidebar/athlete.png + sidebar/plan.png + sidebar/prefs.png + sidebar/reflect.png + sidebar/sync.png + sidebar/train.png + sidebar/trends.png images/devices/garminusb.png images/devices/computrainer.png images/devices/kickr.png diff --git a/src/Resources/sidebar/apps.png b/src/Resources/sidebar/apps.png new file mode 100644 index 0000000000000000000000000000000000000000..1067f1fd4dab2d299e3ade4124ebde6707961687 GIT binary patch literal 3696 zcmeAS@N?(olHy`uVBq!ia0y~yU^Zc3V0yv91{7KMbHj8X#g^pl?!xdN1Q+aGJ{c&& zS>O>_%)r1c48n{Iv*t(u1=&kHeO=j~uy6@0s7l|7hyj}T*VDx@q~g}wTN~FNGLUG! z_?Z9Iqs?nGxq8be{ z2-QSXqd`uiwTUR+2Ztl78{r`fcN&~Qj{qHT^U{aGm zJ;jXq&y#rRvj_h&+_m*#c>VDS&u9gRQvZ{lUg#0IsA(D{OB2d2gR=qzm+bJI3};|E zmW&n!C_<=fBB&XN$3#MnzJ$eU!a0{F0W)98cbN~f^F817@$IUb&2a7Vs#Cx=@qr08 zmOu+o(h(se3B@|9YeC5e)kM?;MgK%U=;Dah0Sb-~lyo%MqX@;Zm>Cl_J%NJ{rCg#% e+pVGg3G?z?gU=Fc9|AKF1B0ilpUXO@geCw20sXlE literal 0 HcmV?d00001 diff --git a/src/Resources/sidebar/assess.png b/src/Resources/sidebar/assess.png new file mode 100644 index 0000000000000000000000000000000000000000..92ca511097e76fcd8fbf8ddb0d5341d5c2d5c759 GIT binary patch literal 15901 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 literal 0 HcmV?d00001 diff --git a/src/Resources/sidebar/athlete.png b/src/Resources/sidebar/athlete.png new file mode 100644 index 0000000000000000000000000000000000000000..8a6bcc1f114abe63024d83812152e3146724c62a GIT binary patch literal 16290 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 P)5CCjCc4!Z@VEa5ki*6@ literal 0 HcmV?d00001 diff --git a/src/Resources/sidebar/plan.png b/src/Resources/sidebar/plan.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb4793044b843c937f90a0e104d74e508b5b739 GIT binary patch literal 15377 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 z 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 YbLlSkPU`^YIRyR?r|eG_9rsH5Z)>>SlK=n! literal 0 HcmV?d00001 diff --git a/src/Resources/sidebar/prefs.png b/src/Resources/sidebar/prefs.png new file mode 100644 index 0000000000000000000000000000000000000000..42fabcbdb0b88a9c5935a3e064d4b300d3a95719 GIT binary patch literal 21437 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 MiDZ8${eYMA2VY=w>Hq)$ literal 0 HcmV?d00001 diff --git a/src/Resources/sidebar/reflect.png b/src/Resources/sidebar/reflect.png new file mode 100644 index 0000000000000000000000000000000000000000..bfe096de6bed6c17772a8e1f45f12aa7a552f32f GIT binary patch literal 15826 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

E8*KX@qQ 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 a8H@2xaxn-A_8db*koMc`%h~IC^?v}FA!?lf literal 0 HcmV?d00001 diff --git a/src/Resources/sidebar/sync.png b/src/Resources/sidebar/sync.png new file mode 100644 index 0000000000000000000000000000000000000000..8df84118bd51a94c1b19d4d28fbe8e5e5f6b9bda GIT binary patch literal 10717 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 O|4