From a4d928e4a098d38c3ce3403b57d26f145ef6b115 Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Tue, 24 Aug 2021 20:56:31 +0100 Subject: [PATCH] More muted and modern Toolbar buttons .. the side bar, bottom bar and related buttons were still following a skeuomorphic design that has long since fallen into disuse. .. now have a more muted feel with hover/press colors active on mouse events. .. moved the whatsthis button to the far right since this is quite a common placement in other apps. .. it is noticeable how we use many many different schemes for hover/pressed colors across the UI- at some point this should be unified. .. also deprecated the segmentcontrol. --- .../qtsegmentcontrol.cpp | 0 .../qtsegmentcontrol.h | 0 src/Gui/GcSideBarItem.cpp | 24 +--- src/Gui/MainWindow.cpp | 111 ++++++++---------- src/Gui/MainWindow.h | 6 +- src/Resources/application.qrc | 4 + src/Resources/images/titlebar/bottombar.png | Bin 12235 -> 11155 bytes src/Resources/images/titlebar/sidebar.png | Bin 13434 -> 11314 bytes src/src.pro | 4 - 9 files changed, 57 insertions(+), 92 deletions(-) rename {contrib/qtsolutions/segmentcontrol => deprecated}/qtsegmentcontrol.cpp (100%) rename {contrib/qtsolutions/segmentcontrol => deprecated}/qtsegmentcontrol.h (100%) diff --git a/contrib/qtsolutions/segmentcontrol/qtsegmentcontrol.cpp b/deprecated/qtsegmentcontrol.cpp similarity index 100% rename from contrib/qtsolutions/segmentcontrol/qtsegmentcontrol.cpp rename to deprecated/qtsegmentcontrol.cpp diff --git a/contrib/qtsolutions/segmentcontrol/qtsegmentcontrol.h b/deprecated/qtsegmentcontrol.h similarity index 100% rename from contrib/qtsolutions/segmentcontrol/qtsegmentcontrol.h rename to deprecated/qtsegmentcontrol.h diff --git a/src/Gui/GcSideBarItem.cpp b/src/Gui/GcSideBarItem.cpp index a1a4a1154..a70e9505a 100644 --- a/src/Gui/GcSideBarItem.cpp +++ b/src/Gui/GcSideBarItem.cpp @@ -26,33 +26,17 @@ static int bigHandle = 23; static int smallHandle = 18; -// creates an icon in the apple style of gray emboss -QIcon iconFromPNG(QString filename, bool emboss) +// creates an icon with a modern style +QIcon iconFromPNG(QString filename, bool ) { QImage pngImage; pngImage.load(filename); // use muted dark gray color QImage gray8 = pngImage.convertToFormat(QImage::Format_Indexed8); - gray8.setColor(0, QColor(80,80,80, 170).rgb()); + gray8.setColor(0, QColor(127,127,127,127).rgb()); - if (GCColor::isFlat()) return QIcon(QPixmap::fromImage(gray8)); - - QImage white8 = pngImage.convertToFormat(QImage::Format_Indexed8); - white8.setColor(0, QColor(255,255,255, 255).rgb()); - - // now convert to a format we can paint with! - QImage white = white8.convertToFormat(QImage::Format_ARGB32_Premultiplied); - QImage gray = gray8.convertToFormat(QImage::Format_ARGB32_Premultiplied); - - QPainter painter; - painter.begin(&white); - painter.setBackgroundMode(Qt::TransparentMode); - if (emboss) painter.drawImage(0,-1, gray); - else painter.drawImage(0,0, gray); - painter.end(); - - return QIcon(QPixmap::fromImage(white)); + return QIcon(QPixmap::fromImage(gray8)); } QIcon iconFromPNG(QString filename, QSize size) diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 9dc9c8672..ef2bcb1d0 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -94,7 +94,6 @@ #if !defined(Q_OS_MAC) #include "QTFullScreen.h" // not mac! #endif -#include "../qtsolutions/segmentcontrol/qtsegmentcontrol.h" // SEARCH / FILTER #include "NamedSearch.h" @@ -128,6 +127,9 @@ extern ConfigDialog *configdialog_ptr; extern QString gl_version; extern double gl_major; // 1.x 2.x 3.x - we insist on 2.x or higher to enable OpenGL +// constants for gui +static int gl_toolheight=28; + MainWindow::MainWindow(const QDir &home) { /*---------------------------------------------------------------------- @@ -171,14 +173,6 @@ MainWindow::MainWindow(const QDir &home) QNetworkProxy::setApplicationProxy(listOfProxies.first()); } - static const QIcon hideIcon(":images/toolbar/main/hideside.png"); - static const QIcon rhideIcon(":images/toolbar/main/hiderside.png"); - static const QIcon showIcon(":images/toolbar/main/showside.png"); - static const QIcon rshowIcon(":images/toolbar/main/showrside.png"); - static const QIcon tabIcon(":images/toolbar/main/tab.png"); - static const QIcon tileIcon(":images/toolbar/main/tile.png"); - static const QIcon fullIcon(":images/toolbar/main/togglefull.png"); - #ifndef Q_OS_MAC fullScreen = new QTFullScreen(this); #endif @@ -271,102 +265,85 @@ MainWindow::MainWindow(const QDir &home) head = new GcToolBar(this); QStyle *toolStyle = QStyleFactory::create("fusion"); - QPalette metal; - metal.setColor(QPalette::Button, QColor(215,215,215)); // get those icons - sidebarIcon = iconFromPNG(":images/mac/sidebar.png", QSize(16*dpiXFactor,16*dpiXFactor)); - lowbarIcon = iconFromPNG(":images/mac/lowbar.png", QSize(16*dpiXFactor,16*dpiXFactor)); - tabbedIcon = iconFromPNG(":images/mac/tabbed.png", QSize(20*dpiXFactor,20*dpiXFactor)); - tiledIcon = iconFromPNG(":images/mac/tiled.png", QSize(20*dpiXFactor,20*dpiXFactor)); + sidebarIcon = iconFromPNG(":images/titlebar/sidebar.png"); + lowbarIcon = iconFromPNG(":images/titlebar/bottombar.png"); + tiledIcon = iconFromPNG(":images/titlebar/tile.png"); backIcon = iconFromPNG(":images/mac/back.png"); + whatIcon = iconFromPNG(":images/titlebar/whatsthis.png"); forwardIcon = iconFromPNG(":images/mac/forward.png"); - QSize isize(20 *dpiXFactor,20 *dpiYFactor); + QSize isize(16 *dpiXFactor,16 *dpiYFactor); back = new QPushButton(this); back->setIcon(backIcon); - back->setFixedHeight(24 *dpiYFactor); - back->setFixedWidth(24 *dpiYFactor); + back->setFixedHeight(gl_toolheight *dpiYFactor); + back->setFixedWidth(gl_toolheight *dpiYFactor); back->setIconSize(isize); back->setStyle(toolStyle); connect(back, SIGNAL(clicked(bool)), this, SIGNAL(backClicked())); forward = new QPushButton(this); forward->setIcon(forwardIcon); - forward->setFixedHeight(24 *dpiYFactor); - forward->setFixedWidth(24 *dpiYFactor); + forward->setFixedHeight(gl_toolheight *dpiYFactor); + forward->setFixedWidth(gl_toolheight *dpiYFactor); forward->setIconSize(isize); forward->setStyle(toolStyle); connect(forward, SIGNAL(clicked(bool)), this, SIGNAL(forwardClicked())); lowbar = new QPushButton(this); lowbar->setIcon(lowbarIcon); - lowbar->setFixedHeight(24 *dpiYFactor); + lowbar->setFixedHeight(gl_toolheight *dpiYFactor); + lowbar->setFixedWidth(gl_toolheight *dpiYFactor); lowbar->setIconSize(isize); lowbar->setStyle(toolStyle); lowbar->setToolTip(tr("Toggle Compare Pane")); - lowbar->setPalette(metal); connect(lowbar, SIGNAL(clicked(bool)), this, SLOT(toggleLowbar())); HelpWhatsThis *helpLowBar = new HelpWhatsThis(lowbar); lowbar->setWhatsThis(helpLowBar->getWhatsThisText(HelpWhatsThis::ToolBar_ToggleComparePane)); sidelist = new QPushButton(this); sidelist->setIcon(sidebarIcon); - sidelist->setFixedHeight(24 * dpiYFactor); + sidelist->setFixedHeight(gl_toolheight * dpiYFactor); + sidelist->setFixedWidth(gl_toolheight *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); - styleSelector->setCount(2); - styleSelector->setSegmentIcon(0, tabbedIcon); - styleSelector->setSegmentIcon(1, tiledIcon); - styleSelector->setSegmentToolTip(0, tr("Tabbed View")); - styleSelector->setSegmentToolTip(1, tr("Tiled View")); - styleSelector->setSelectionBehavior(QtSegmentControl::SelectOne); //wince. spelling. ugh - styleSelector->setFixedHeight(24 * dpiYFactor); - styleSelector->setIconSize(isize); - styleSelector->setPalette(metal); - connect(styleSelector, SIGNAL(segmentSelected(int)), this, SLOT(setStyleFromSegment(int))); //avoid toggle infinitely + tabtile = new QPushButton(this); + tabtile->setIcon(tiledIcon); + tabtile->setFixedHeight(gl_toolheight *dpiYFactor); + tabtile->setFixedWidth(gl_toolheight *dpiYFactor); + tabtile->setIconSize(isize); + lowbar->setStyle(toolStyle); + tabtile->setToolTip(tr("Toggle Tab/Tile")); + connect(tabtile, SIGNAL(clicked(bool)), this, SLOT(toggleStyle())); // What's this button whatsthis = new QPushButton(this); - whatsthis->setIcon(myHelper->icon()); - whatsthis->setFixedHeight(24 * dpiYFactor); + whatsthis->setIcon(whatIcon); + whatsthis->setFixedHeight(gl_toolheight * dpiYFactor); + whatsthis->setFixedWidth(gl_toolheight * dpiYFactor); whatsthis->setIconSize(isize); whatsthis->setStyle(toolStyle); whatsthis->setToolTip(tr("What's This?")); - whatsthis->setPalette(metal); connect(whatsthis, SIGNAL(clicked(bool)), this, SLOT(enterWhatsThisMode())); - #if defined(WIN32) || defined (Q_OS_LINUX) - // are we in hidpi mode? if so undo global defaults for toolbar pushbuttons - if (dpiXFactor > 1) { - QString nopad = QString("QPushButton { padding-left: 0px; padding-right: 0px; " - " padding-top: 0px; padding-bottom: 0px; }"); - sidelist->setStyleSheet(nopad); - lowbar->setStyleSheet(nopad); - whatsthis->setStyleSheet(nopad); - } -#endif - // add a search box on far right, but with a little space too perspectiveSelector = new QComboBox(this); perspectiveSelector->setStyle(toolStyle); perspectiveSelector->setFixedWidth(200 * dpiXFactor); - perspectiveSelector->setFixedHeight(28 * dpiYFactor); + perspectiveSelector->setFixedHeight(gl_toolheight * dpiYFactor); connect(perspectiveSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(perspectiveSelected(int))); searchBox = new SearchFilterBox(this,context,false); searchBox->setStyle(toolStyle); searchBox->setFixedWidth(400 * dpiXFactor); - searchBox->setFixedHeight(28 * dpiYFactor); + searchBox->setFixedHeight(gl_toolheight * dpiYFactor); QWidget *space = new QWidget(this); space->setAutoFillBackground(false); @@ -379,8 +356,7 @@ MainWindow::MainWindow(const QDir &home) head->addStretch(); head->addWidget(sidelist); head->addWidget(lowbar); - head->addWidget(styleSelector); - head->addWidget(whatsthis); + head->addWidget(tabtile); #ifdef Q_OS_MAC // no menu on mac, so lets have some breathing space head->setFixedHeight(searchBox->height() + (20 *dpiXFactor * 2)); #else @@ -399,6 +375,10 @@ MainWindow::MainWindow(const QDir &home) space = new Spacer(this); space->setFixedWidth(5 *dpiYFactor); head->addWidget(space); + head->addWidget(whatsthis); + space = new Spacer(this); + space->setFixedWidth(5 *dpiYFactor); + head->addWidget(space); #ifdef Q_OS_LINUX // check opengl is available with version 2 or higher @@ -1061,13 +1041,6 @@ MainWindow::addChartFromCloudDB() } #endif -void -MainWindow::setStyleFromSegment(int segment) -{ - currentAthleteTab->setTiled(segment); - styleAction->setChecked(!segment); -} - void MainWindow::toggleStyle() { @@ -1395,8 +1368,8 @@ MainWindow::setToolButtons() styleAction->setChecked(select); showhideLowbar->setChecked(lowselected); - if (styleSelector->isSegmentSelected(select) == false) - styleSelector->setSegmentSelected(select, true); + //if (styleSelector->isSegmentSelected(select) == false) + //styleSelector->setSegmentSelected(select, true); int index = currentAthleteTab->currentView(); @@ -2521,9 +2494,19 @@ MainWindow::configChanged(qint32) "QComboBox::item { background: %1; color: %2; }" "QComboBox::item::selected { background: %3; color: %1; }").arg(GColor(CTOOLBAR).name()).arg(GCColor::invertColor(GColor(CTOOLBAR)).name()).arg(selected.name())); - QString buttonstyle = QString("QPushButton { border: none; background-color: %1; }").arg(CTOOLBAR); + QString buttonstyle = QString("QPushButton { border: none; border-radius: %2px; background-color: %1; " + "padding-left: 0px; padding-right: 0px; " + "padding-top: 0px; padding-bottom: 0px; }" + "QPushButton:hover { background-color: rgba(127,127,127,180); }" + "QPushButton:hover:pressed { background-color: rgba(127,127,127,127); }" + ).arg(GColor(CTOOLBAR).name()).arg(3 * dpiXFactor); + back->setStyleSheet(buttonstyle); forward->setStyleSheet(buttonstyle); + sidelist->setStyleSheet(buttonstyle); + tabtile->setStyleSheet(buttonstyle); + lowbar->setStyleSheet(buttonstyle); + whatsthis->setStyleSheet(buttonstyle); // All platforms QPalette tabbarPalette; diff --git a/src/Gui/MainWindow.h b/src/Gui/MainWindow.h index c1d49df59..68e275228 100644 --- a/src/Gui/MainWindow.h +++ b/src/Gui/MainWindow.h @@ -213,7 +213,6 @@ class MainWindow : public QMainWindow void resetWindowLayout(); void toggleStyle(); void setToolButtons(); // set toolbar buttons to match tabview - void setStyleFromSegment(int); // special case for linux/win qtsegmentcontrol toggline void toggleLowbar(); void showLowbar(bool want); void enterWhatsThisMode(); @@ -303,13 +302,12 @@ class MainWindow : public QMainWindow SearchFilterBox *searchBox; // Not on Mac so use other types - QPushButton *sidelist, *lowbar, *whatsthis; + QPushButton *sidelist, *lowbar, *tabtile, *whatsthis; QPushButton *back, *forward; - QtSegmentControl *styleSelector; GcToolBar *head; // the icons - QIcon backIcon, forwardIcon, sidebarIcon, lowbarIcon, tabbedIcon, tiledIcon; + QIcon backIcon, forwardIcon, sidebarIcon, lowbarIcon, tiledIcon, whatIcon; // tab bar (that supports swtitching on drag and drop) DragBar *tabbar; diff --git a/src/Resources/application.qrc b/src/Resources/application.qrc index 82e7c4835..e785d3bc5 100644 --- a/src/Resources/application.qrc +++ b/src/Resources/application.qrc @@ -17,6 +17,10 @@ images/devices/kickr.png images/devices/fortius.png images/devices/quarqd.png + images/titlebar/sidebar.png + images/titlebar/bottombar.png + images/titlebar/whatsthis.png + images/titlebar/tile.png images/toolbar/main/togglefull.png images/toolbar/main/hideside.png images/toolbar/main/hiderside.png diff --git a/src/Resources/images/titlebar/bottombar.png b/src/Resources/images/titlebar/bottombar.png index 4b7ad60d70ebf819eadda2b41d3312f12b7c41ad..9f1d89623b698f8b3ed046bd34552c8f7a750dc1 100644 GIT binary patch delta 5636 zcmbVwX*|?j*#8+zl2Esd?1iW-L(Gh<713g;tYgV!jjif> z>7GJiB+baalx;9W46;nm^#8wkUO(r>`CR9F&UKdSbFS+;-_!0zaJjDrTgy6d2ucjO z*BO5BVA0&Z_O7d2FFCnNfrTAsi`?HNM!tW)rax%6;RTg0izo#-UpT+iAJiFrMl;>m zD6i|aGIApPTk8w$CBOKJ*KVbfI|w}+qi*^~IC ze(6*u7@61-Efu&CbF;7FeO|4Dw?jP?uKDYf#FraMcUMf{zDxfcyHj5CpX@)o+8$aK zUqJb*o={MXGrDO)Z`meP^jYd+`0nDw9|}01jBdS05AF5YT8Zb1y^r-2B|CWpw<&98 zD6kH@IZ}wlxSoqI9}y|eq^rO2Qkt)vJ3C4+QH$d&MyKiZrQteJ9qSMZW{K&>fn2LC z-ugtgCJv*AeKm7J@l~C*HQc0SS-xanJjzf>i%7|`x0+X zVjtz68QU{`0~31BpsCQw@gqRIuCU#zE9mv^skkH5(?KOy$V#9))a zLx1ag@gnT}YCl0;a3AFG^5kKO`EwukTS$wD6{=*o-BNMfPB}r6Q17+B{PliOo#BpB zVG(mUNkWHSZ&bJA#;C}hoE$=7+Jm*`qAw~f$v+Yr8&>OLMYeYycIeEzdW@l^nrm~X zZ;-e*`sA+jH}&p5@34ut`}e|vg4gQ8B3FlA)!4OlbbU#f05i*qh91qNoNPR9(iAxJ zY&BJttTmO|mD;+qe&3>Muk_;)!^aBnX#WpwMN_G&AH0jx9_sk}Sschy$(V3T|87+a}8D)pg+ehV)JR z%9ZW+9vqAv`Z4sLJs&E?WPnfxf=JK~>cDI01s{ z4i7a0UtN74q`#lG?$M*Z+6Mk;KW)RK`hMEp`aXuJqiEeD-ukGj7du{w3Lzy4;RM?~ z`jFHiaWNT|7Xa`Br!9{=M)%JT#m@N$93NfegvGqD(0mL>O8bOW3xvGfCOmU%$4OSd z=PsY1Fa9!!2HfD5#nscUc-wCuERU}g=J*{N6_A_te=nT#C|oL-q2iW(=}^y!fL(5H zZNiSd&b1rpGpEZVzI?83d>k>nx^#NDW0Sj+N57so)%km}amw^HAqk-mtp&NKV2@-F zGe|XEJm}}#$cqkDYX4E!`TQn!&Q?QNeaH%A3BNt9#|UJc_F6P5FiL>CwC+_0L`0W2 zE)0*OY-nC=xS8G7?`Z!f&%yMC5pE^s3_iO6hLuoy6H1PBG$zfG%*)ui1}eCrxU<|% z)-%>1tGGom@qn>wJVdU4RbLZhPs8Y1GK&=S(uz4{Iz+mG8o2i*gY}t3#6&CVs;S_} zm++VHr@7;-t0_W>qHn8W-0|0Gn9>dL)HXNDlp}(4@q%gh6;Qry#W}2G_?%~ep(XQ( zX+?eYdNFGzMKBRrQx)UMedJ+?sDw|?Fxp9vQG+=<01Eop#NarU5zRvR3XLXZ>%UXd zzNgE8oH;E1qgKsu7$1JYy}@!J1<39IYlnNCn;o0F&fOtf;1jqw#`P2d@b1-Wr}wOz z#r{eq`V0dn#|{$)CPz4z>mq-vTj(tud>j+Uon^=e6!78j*Dilvja|&@o%o$952?@k zL5wg1lbf<2JF^SDd3ml=1-JC8JHb7gJTX5o8uG|&d-~jgSnCwv)(&)ydR-8K>4>{ty=7vEQZu!3 zfUTyN@`y2G_3Tk2Uj4#Dh99Gwi2(QdyTyBLIV7HqZ+h>Tc&}HJ3K}DvSp1#%u57&} zWg|$@5^JQ$3gxujoN~Mz`MiH5I zN5i?*WyCetAU4;-wB;N(g{5K1Ecji)>XffLCE*BpdOCQz%m>%C&kLHF1CyIHxrC4? ze=eEtTXU>C;tFYJiRRU6yg&`-DCDyzeK&jAtY)M~W9`tg-~zsXc;Q9GNZ=aW7jnpW zT|0HX#jC2VtS|A_LM?+t;-Dsg*7qvX2+^z-*4n#@Y-$zO>C|M#{VF3Sl#j8wpxnmV z(fr#&bUogT$s-r@f?hjsFt1cfI)(*DPyPe$y~i+e{9E7PjoArr$G)oi*AQ1r`_x9f zwnAwLbAY{P7r0i?Cs;CqwuU-3e?GNk8bEmBc zhaFVQrn>dzrwRmfmw4JM`)SBCIW_M2I)b5RmJe(OD;QyD6ZtEw)~S)fpQ&+fJ(grjX=4-4mtG6nqCaVePEkQjk1gT#S5eL=7RE!3=%JTyp;vjhK+wPEenK9*Tm9S z-(~_`ggXO)o-dQ^>Z?B85Lqb2eVJlC3aIMW&*N7uGlw`sMXB|d3klb7v}804D`i?W z)_ujnBqgka+oSw!^yeHs{UmJkTZ%i}cHS_dQ{9Fxrf#U$K-AdqfE{xhaT_vx|Ks=X zSu;I{jgw=cNsus*ly!?$kF1M|B~JhOrANAy6mRwcv$ZItdVT6aErBopEVS1by`K`ZeX|c^W}k|8Y0MOwY&Z`vN3C|%l1vU*UXXt$ZSK{ zPaFQ>^oA^$qq349cQ)S%GQTxfz{{;gXh27%^XXOFVWZtfr86du>zLUi(`8|D zy_Y;kmter_u~<$E7gOeW`@LCZy^lchR(`w=!0IH#3bbxDF~%H}r_(fazr+$-*KGjR zLt)^GDE)ipAB4y9v0(Rw4X-0f9~bn+SJwb|m*5p7*F4(b`#Cwz5#QUUxpF377`Wbn zqB0v{>^B+NtkI0EOJ79XehkbCQt#$=FVHIWYN^6$3W+BZJfpkYH2&B!TI06??0z%1 zEnZvgVqviaJ3H)Hj2FI;D+$E#K{T|r&wNs*&DC?wC0Fy6;+pW1;Oye7EcAO(2l+3` z%8OVtSJTd?B8e{zaX+*0Glh|H=X)XFT>bG+2>~>hCxALW|7I9DK5rZlBv_C8@Nr#b zRuMd6-L@JOR?hu;Ov!vasgZ)LOE&{H9lIF;@*F=)d)E(ki1FF~rtU@mJ91$ttVED{ zLGf~9Z3I6K1{}`9uiVl29X_i7oW~`t8$-IX&-msdzrq^du504{f(RmHpMGrs{#7Su z4~A3z4u*YMx(kyzyu$jKCGq_Balu5NMT?^)MnQAQtGVe*j|EqqGb?KNqiWD5{h{|t zbXTh|OJ)Qlv&vQZ=`A=YH`*Z1TGxkYq?=aSDa=qkah`(IgC44tR+UK+zmDVNfYq2$ z7Ug0Vh4yq?;`#4~Dj}s@DJ#Rv8$^4z9-zAejiS#MO%3ZVWsraH;rz?dI=ex6jHJQf zzPR8F8BFG&(yT17@>|_r8^{*d?`rG6sHj~D5=E_;dY!*hik9y2^^CIes~*9yj%Max z=bz%*J2q^Xd*>;SVAP81ecF5-qwpfZ$Og(zkkNVj6t>z+CIeY%VkZJxCi1dEdp+F! z^Rkf4*DfOg+Je+KbILQ3=_@wO-6~=rd!gcbbr!|16M);Jqo-Z&fK+uXG?zsg;EO6}ePO^x zr7{#{4HDa)ayn0ul-%R5!WOrI@`I9&t&XeoCEF=Qi>Rq!IMCHbcN&+&cVnE4JEVc` zez8EAEMahmoNCGBPVNBN_azbIwzcquJbR*9*gO7i4P6zzhRitViyxkl5e6Q|wgKHp zw3bRaTpGeS^=9h>tN@&;m3Ehm>y!n$FfrVt65%FJ>h%v2KsUj@G!*ke9>KC<<^?^z zE(olGrwRpdSy@i_mv8y4IpWE8Z`%X_igCi-50}J=ccj#gC8Yu26YfH5GL_U~NoxJF zVe(k>le@s)0&_QCthP}lQ3rh+P`7JCjpu9Nn>=fjiTBi1eooq(IzS2w9S^8v;|vu= zfG#}D^BPuLwURh|SqGN58*?TnSUWJl>|$=H9V}6L!2|37xW~FGS^0op&Z=?oJXD7dCBgY-#;~%(owyD`mcwJX>1>~ zTrNE~t<5;wi3a6r<`;(==gjLVg}Ga4EX53MK_GU`j|=gfwiZjI*=tW2+>*(9U4U&;%%-%II)zYcq}iKv7UU)fr~;ex!-6E| zSaniLfZVX7>989BlfGfx2Q0c%=m%mmalmEB$urm#fQVllIks>41$WiGcS=&yzS67I zL1I}?EK#hre80P@?EM~jC8hWW6c{i$vufZm2k}1X1$Ve6^hLRIvD~;>K@k0b=Y#*~ zit@)<3PwcJJTdtp=>TMYK{A9Hf-18GxfkN=j9T1aK%(1|5#^XK*JG7FZ}prnm0a{~ z;=BB`h8*2D{qtT<4R4H9%#da71Pe%hEPbdK`ki@7WG! z^pKj#8I%IT&3`!&nTg@iwlnhs77}ru-q@rTDHLPN$F1Saxmbbeb=j|DFWkAk;xRljE zYKKaEz}|-=q`W425`~@R#GPPS6CWcBM9v6MpRRk;dXvqahnm>N4V2?jv1hoCFh>PJ zJAPiPbS3z+gmTSsLaa6I{eGKHp)!|dZ$q8fs z3jAq&(HOuc&z13>$KYub$UEd)hVRy081|^aFfqVni1S%h4zVf4!dJT|LOw5T?Jv*e zlUDwvWwO#4NPb62|9SCdVqMX?3`6fP1^(^LU19x7!IiT0|I*|4+(Fhx0K)5#fUXtV z(FL^$87&Bk_j>NHRG%nHY2EQmKQ`C@6mU(Fmw(4=;1h1{Aq$mCW+#Ej39S3W#8mZu zdaI`emKL%22#U{2{k!!gmRO3FZ%AP)Dy}3toc5%QK$Id$5r6oXy%3iI3{yr(Rc{G{ z-G}SaDvflCl2_0ASTJCgRx&TXI%8BhCbM3q`u~3t6ff7=vEKFJMzqK)vPyqH9SHlR dMP;7z%nzA_CWL?(N+9sX=Y79F-}UVu``UZvUNdWE&E9L)jdlFw`Sc`gJ45aiWK*xI z@#)n+PpfY$8uWa#W={XikpI|f+c~gW@ zPs4fu{_WX{cs&=*_EO~yyI+iy>qlxMl2#+?qb4d2#F!)WSTg^zn3aU2ciTZ@Gk41G zp42@k(k*AFd}3~$)18AhNp`?Zj6i3Xd&WH02UTV*uRh41Xfc`IA4vUyxO+7Vd1B0_ zX7y)sr@5J!_LCer@8b{tQGS+rSIPSDQ~G=@X63^vrPL(t-hW1SN>_$N{f%@-+g)QU6-%z)}L7U>c+}(0S%FbkM8wcRu>LhYLuM2 z`1B2D=+lKB5f>`C&P}1`!)=vk2fU7!JpB(-@_X^6$jcuEgOj=fknIv?yqdS%zKL=l zKTp^FDm2^DYVh9vqK#vgqyMB`$I&B#s^xK<3`$+>vudh$r<{3F|;?Xo8JOMZ{Ope6fEKw*QfZyC9k}Zm5zT- zJY+!mB7ZITW52Cmwg!egCUx^UxvEI|V})%|u9)&Q)gh^ySvRB2ZQK;Z`Y%3GOKIeW zojeb(`FzUHDn%(P_(k~X=W}m(@(d06-MQ8cOR-YX`%e?*UPkO$Pj1O)a!k>Wvv1bD ztX`VieXeW=p_ zDYXB3AAtxdDo$K+e1VnYJPx_OF*$uJ`me4NM(FC}r{~|<|8?oE&6!#XD&nWe`G70e z+$6Y1ZrzqnvxkfLxl6in8?JJ8e*SFs#pLf@&ujhy3-7}Xrl%4n+cyENR!4_dB|JA**BDCgYgz|c7nm<@^?|~Ry3nU6qRjO1 zg6Z0*ft^kPhnGj^Bj;6bD_z;`MUQ>g9FV)m(pB^FQCsg6@Ot&FD?+5E`qdF@fgU0I zqC{xm#@%&czd9E`TEZ`pRKD?#=SBh!$=)?lG`s_jq3vw$-sLJ2J0*Xvw($3Aj|Ab0 zQns6rN`&G+JVMVF;QO~{rgFNVz5|-4^0?wXgLb^Rcvm>eQiCDsiD)VpuP&#fOOIzD zhg#ulO>LK5UeQq=rE;B|R=C>=_@dx`?xg9#q2D5D9XrP`wo;diJ`erk9q+byXEjUrp=;{3)M`)_IL{=QXr0sH)aP z^CoiCeBg69zy&9DDPkpr)F6HtVf3z)IsoE|X2yngvE#Ir6sOlQ!jJSZ!z2bT>k)n97LEITc3&? zh_r%X4bPl|!mM3WQRl4QS>df*SbJNf3WY4w9{CTWMGTyF%A4@?#Q$RCfzuPHtVJxy7^f3xBh429TmlrAYR zEyqoJvJ4pkMzYn5i)V15xPc0#cTxe9u+i%iB&g6n)6vn69;C&W+MDxy!9kUgN13O% z8F6&*x;wYMX$}(dh&gs7L!De1e;FOXppkC#9{_?8k&JE%8sXQpqH$6tuz~G2iIGn# zN##sF)>sv9#P~(gOEvPLy|%?K*&EpDjfVjhZ%2FOG7qfyk_nkdubH_NP#)0aq$7@!2QDgY;^=dl|mhNE~#zru(8D_#5CbjV2 z?QO0oaADn}oJ!>YdmeO`F0xSSC7-F>NSuhK?#w};r5$>+F=o3c)oa#Xi7`ttaHw#) zD-6PZ50oS|&N*k$`*s9HAbE(oO@cyV52%4ksY3s)ucLSq@~=Gmw%2p{w?Kz)YaKI# z(k!>Pnjo^Zz8A}2Qi1}dfd*v`fuy&W#fK7Qj|+R7`Bk^SoqJFx;6- zz{Yw$U@@@+;nMKA#^jZFf5sC^2KglD?}p?39H2AR(LKlT9onB}@G5yZN|cwUl9J}OInMWWjyYc>FCL*GTO?tq7O-Z=3Jp?2=bs}7Fj8?nZW z4a)h9x(mplE#X(WlQ5LCl&!l%zG5{w)RP!l2}uR!!#ZRz7)GGw4?~LW*ife3OfUx4 z@t^#uFzQgQ2|2#Ck~u;a0yY>UqTrnAemSuUYFT|o(Og%$1ZLL{+0A?nD}33j&4Ub$ zt=+p_DhFm&3U4-AQ^%`9W}QM44NBr~cW{7}t`gEd&PsyH^MqkR4#d&xlA7C?X%MB^ zz6APDbGSXd!9K<=#$h7$Aj+X0w}2OP5D34Cj%VB;W#b2lIJhXz!-JLF+Z@_n5zpWd z>2oI)+GRS@OUiG?exxPsAc1LR!`wvll7n?A`}1;?Z0M+JtYxCj=hJkGm=?tBY`Mhp zvb_Z2=LCi9B(PG96>C4gVGbc24PQp+vh1e)b~lB$zwjwE5%G`^kmoI~a6jEB1c*85iv9*IdTM8#kjQ9CDr+WI3(g+kJ!_M-UCYYMAnf`zU7Q(;Yl zVDU#SW#3{Ka$@D0=QXC~Yz$AQPBZQmfNnU zynGE&22w*;nZB3CI~A` zbRCX+LJt1CYB;}t^U{l*OFMi(;zeQpQ23r_fAH#lkPPR3w{D*#ctUmW1K|B4Zv(t+~wg$1FBr4=<)*I+8R{}O((%X z;98oX*2;_%Eth%G^IS?wdpYyS4i_lxI)!MMeZ<<@U$#Vc79jSwGp$gnyZ%HqeUQ9E zud!SZPt3H6dushoU+vdJOd19TG@yA&+0bNb#~w>`SkKmcCA-o-=1`j#tA9~q)U^~|4ziN*}-G_k;mI=w24f3^5ghe;)|lHjgCUA za2vwg@It9wA*vLJ?!;f7=0fI=C+`glAQw|8SIN3y`TqK4Dd)k7Z^(A2B%yjhdd-JW zH+M}QRK__vgi5b%6iL7A}$)_BUr7^FI7ns_&{O24rO|;0VF3 z4FY;Tf(F0kl|=O8Il@n-lTR}%K^5$AOAwUdMaZFsW#8dY|>zQ;8BmFzR;+$9Wkw=i)=u`|L4YS+rV-KT z52JAU+T-#s5; zACr}AJX0D7MDKnwAz#r5vz!jJDRiX$dG0LfDgggMxpcVu&~cKnF*AW%6y@+2&mJgq`~REot3 zng|1x_r2Op>IP4v@-xumR}_9Nkk5ff9~CY)y9WkmqYL}Qip1IbOIXnK&zH`AK9UAs zVLQ+3EcwBc&ztZ4l|`PYSGQWhLHGCijF1r*SKoa0p5Nd&6L6NZr z?Pkt<-Cs8FQw|KQ+@}2xHa(69I2mMcW3S4}U_+(PVhxU;z-Ave#U7S9fqf_=#(r01 z%Vn?>X)(4;5j!Juf-AZA92Yi4M)v=w#5&80{a-_p$EyKws=@GW9g_~sfpt_l`;^V3 zu|q)>H@WftKQ0B2cL&UHBy~&U^-(w&>b#U|o0E^_3>+8ZItV(fBAO0kQ8LDCmrB@= z(g=v%BOT*F{agQJb*3J{$9D8YAGaZO#Bt(Y;-NkI*(&b)ieyGbEL`yAQO5~V3h~3~ z9ggGGS`H#oC(0%4oc=~(svw(D`0S6iiNp65_37@ZAX$BH;ja6?6L$fS`9#nHAmeTm z0PyH&()8pgACO6_gFDFZ0b^lmA*V$OH(Q`SKB8CXivVn2Dtq$>*{Z;(Ro|G5KRSf5 z!=?X%7rF+)@#@jTe@5^v90FRS=@Ski@o>O~CHLkW^sB<2IB^W>V%6W^1s8o_Y%pM3 zV(YxlPNx6Y)TprQf2D_=*;C_VgQ}t@QvZNB_`qT3BBbIUk9_P2t0N{Z6mf%^y1~QC zE-1;qVFW^LFJbY@e&uR9KYN($bTDt$D|o3FrGpab@Bcs%Rqv)Wsi!1V4IOp8hXKOx zvlUSaGSnf+4Jh7Hb8aD~q{>w!WFCZN+#R~5UWVTEg30iqI5WOy$R+o3IMo;t?6ZbA zjD^kTT|I-I)i|*yU6mqN+ewqZkjAa}%v4LOS315j225tJ>F*LgVleIV5t(a~WM5At=r@H(`zYQpMf0bjNse zX4O=r6N*+A;@L6Ed-kHwiNj9js3})FN#7cRQ<*%9A+%M{^S-- z7aw3-Rfkb7b+_ED4M1ndzD^wRrQcljBZg;{-0UF8jpNP8s_*OqmEqG$9nyYA zBw+qPHAFol7oVM|)Cy_lj+Uup2h_idq9-Feo`f|W9(~ZL*DGg)QqAl0dH_%GtBF?r z6SCH9O*g^skpagIg^;hn*{vhrE{d3j`WE=C`8f zV%_|Cql4O{fAD!u_xt8M(L6DSL}Nw;=o(xyX@d!wCjiPa?}8L8lMjYfkv$2$?Ky+| z--7NArB-^vKt@-N(VvR-{8pcJ;VtcmD^UFGl#coHm%B`MmzAtkKK65d{D>1!{I(`L zRj$)5<{a}Vs>AA7z$tp)m?C)jlPd!qwIcB|IbZiz?;qUf2W(tjeSbT*G5HkxvCQ5- zcwz)NW!aiS&F)2dSTw#@`)0yA!Wz6>`u)HENBCCmWo=aPi&^S-BJL5M*X%q+<*`vsM zrDN`t|uy-0dgi@wX0{zfmZIpQ_vmPDX9h$hLg<9}TH>6r|*pOQ#rOS%Nb zmax+bLe6yQH7GaK> zb_$cE8vCec1{%g&m+c^@JF`ozH6|}=Tt=1`1kP|KOESu25v4d}uuSElm*3^xrekMB zwm3;t(?)me1|)}yt%2@*a7*IN+uNLo;+bw{Tpr^P(3$@t8+xm6sshv93;)gdZ!6;X zsP#a**TdV)IRWI4JxX9%0vLU#hSxEj5MX3MIE^+lTepBt!UEulVd@H|8ac&KS=? zu0}J`m*Jq&A=6@ZYyV>j@>isSO0T9Jvep1}xa7IHYo;vhN50h`>e0-5BEEBR{}u+~ z0Oa{4g|JCN$pg>Rx<6hBiY~KACL4U9(NoDy(zYjQ68h=Jvm3yc(Vt2LfL6`V{P*MKdtuNi!Kgkig{4_NmylFA zszhp{cICbH@AZB;%Wu+FQO`p979@dF!P5D%Pys3C_S73ovYLYSRd`_$V>s@dF8H(> z>d@0(BGph>-)WZ6b4MX4p^i0;=IwCPdlygaOeYcQzV+$E%-={{ee+dh3<=B1F1C}- z-BM)^Q1axg=OJb5M2-e=54lx75+@A{EGErJX*mOd5$&T(UFL=T?D8B$$u!`_ar7#P zeM}k*$VvCp`nrTA-L?#1^;*dPo?Xf($y&0HR^e8R#cav6!cZ5uE5frPZ}{J7((0w< z3iUSd=$oUXva4jxVibSUy^=ORlNtRQGyPZsnF@(Z&GG>6)n0qIDOKXaN*T%d?N&ij zL@E~ZW2u_bf)}(<2RcEajLB3}F^R0TstpATMg|SPhgy79Hx*X2Z;s=$xB$dAwkQVb zQzLT{pO-crRQuYr@IUqI_nq`d>Osyd^RcmBBM05MaW7PA$w8Yolo?N7}8%LBiqmt4}IY8PbY1Z~nTx)M&+Gn6=c3sdV ztYR8P8INQWP$4(9hBwD3k$BHgXVyN*%3Q!Lh!0rhkFN&xDOU_QVWhsSt`5CPKr>k0 zla*DM$$g}R_105hcG}$@<4uGb4w{g!Y85k!C`SW%fmZ)#M5gI}VySqeU+3)@G$TFo z6hGLyG(lSLmT*$vtI$r0Wl-;u1wrL6TgzGV2;10#PWt)8gn4S|Dd5zaX|J61AvMI( z=VE$btQXUSEDRLM6S&Zl6=7#8V>VU9tT6B~tYf~F5br`_zAXap%E6kT-VaeS z7@9t2Igmop6!Q?Hn*Gds)f3T^7#unyxijMfodzad?)VY0~hWK!XC7Tg^ zGCqNm#_#pp@aHvcx8iYrc7wQSZ!IvZzs*V&JUS@s7j{9;-JNIOzE?!p#JdRhc%7m#Lu;d@qEEalBt@cA;jj zj$^4p-;X^m`n{=`(!TrEwi;&E2?6KG^*1D}SOMV=_gkqeDxA#FvT?U{Z(_C*n71j| z)XP3+zhs_wb4YX|W>=`;)o}M5ip%sB#N+{P0+;JhD2@wsETpp2j7FzjKjJ(Yqfq8W zeVw`#B{?G+wm%ZSD1eHt$Fmz2Y;z=|2`%K%AST6TuXRMhKYP+))Q6SDjh~AE`!X}J LGA_S_y7hkm5kv8g diff --git a/src/Resources/images/titlebar/sidebar.png b/src/Resources/images/titlebar/sidebar.png index 12262481920b38506b6734b8f769adb6b236ba99..d360040d36ac0fac4fd029c4c04ebfe0059f5750 100644 GIT binary patch delta 5957 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 delta 8871 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 diff --git a/src/src.pro b/src/src.pro index f05775c64..66ce81e7d 100644 --- a/src/src.pro +++ b/src/src.pro @@ -183,10 +183,6 @@ macx { SOURCES += Train/VideoWindow.cpp } -#### these are no longer non-mac only -HEADERS += ../contrib/qtsolutions/segmentcontrol/qtsegmentcontrol.h -SOURCES += ../contrib/qtsolutions/segmentcontrol/qtsegmentcontrol.cpp - # X11 if (defined(GC_WANT_X11)) { LIBS += -lX11