From e2bf37c139136b064b14c15106f48adbd72d28f5 Mon Sep 17 00:00:00 2001 From: novist Date: Thu, 11 Dec 2014 21:34:12 +0200 Subject: [PATCH] Light tray icon option --- img/taskbar/{ => dark}/taskbar_busy.png | Bin img/taskbar/{ => dark}/taskbar_busy_2x.png | Bin img/taskbar/{ => dark}/taskbar_idle.png | Bin img/taskbar/{ => dark}/taskbar_idle_2x.png | Bin img/taskbar/{ => dark}/taskbar_invisible.png | Bin img/taskbar/{ => dark}/taskbar_invisible_2x.png | Bin img/taskbar/{ => dark}/taskbar_offline.png | Bin img/taskbar/{ => dark}/taskbar_offline_2x.png | Bin img/taskbar/{ => dark}/taskbar_online.png | Bin img/taskbar/{ => dark}/taskbar_online_2x.png | Bin img/taskbar/light/taskbar_busy.png | Bin 0 -> 386 bytes img/taskbar/light/taskbar_busy_2x.png | Bin 0 -> 685 bytes img/taskbar/light/taskbar_idle.png | Bin 0 -> 363 bytes img/taskbar/light/taskbar_idle_2x.png | Bin 0 -> 635 bytes img/taskbar/light/taskbar_invisible.png | Bin 0 -> 366 bytes img/taskbar/light/taskbar_invisible_2x.png | Bin 0 -> 670 bytes img/taskbar/light/taskbar_offline.png | Bin 0 -> 378 bytes img/taskbar/light/taskbar_offline_2x.png | Bin 0 -> 677 bytes img/taskbar/light/taskbar_online.png | Bin 0 -> 320 bytes img/taskbar/light/taskbar_online_2x.png | Bin 0 -> 578 bytes res.qrc | 12 ++++++++---- src/misc/settings.cpp | 12 ++++++++++++ src/misc/settings.h | 4 ++++ src/widget/form/settings/generalform.cpp | 9 +++++++++ src/widget/form/settings/generalform.h | 1 + src/widget/form/settings/generalsettings.ui | 13 ++++++++++--- src/widget/widget.cpp | 9 +++++---- 27 files changed, 49 insertions(+), 11 deletions(-) rename img/taskbar/{ => dark}/taskbar_busy.png (100%) rename img/taskbar/{ => dark}/taskbar_busy_2x.png (100%) rename img/taskbar/{ => dark}/taskbar_idle.png (100%) rename img/taskbar/{ => dark}/taskbar_idle_2x.png (100%) rename img/taskbar/{ => dark}/taskbar_invisible.png (100%) rename img/taskbar/{ => dark}/taskbar_invisible_2x.png (100%) rename img/taskbar/{ => dark}/taskbar_offline.png (100%) rename img/taskbar/{ => dark}/taskbar_offline_2x.png (100%) rename img/taskbar/{ => dark}/taskbar_online.png (100%) rename img/taskbar/{ => dark}/taskbar_online_2x.png (100%) create mode 100644 img/taskbar/light/taskbar_busy.png create mode 100644 img/taskbar/light/taskbar_busy_2x.png create mode 100644 img/taskbar/light/taskbar_idle.png create mode 100644 img/taskbar/light/taskbar_idle_2x.png create mode 100644 img/taskbar/light/taskbar_invisible.png create mode 100644 img/taskbar/light/taskbar_invisible_2x.png create mode 100644 img/taskbar/light/taskbar_offline.png create mode 100644 img/taskbar/light/taskbar_offline_2x.png create mode 100644 img/taskbar/light/taskbar_online.png create mode 100644 img/taskbar/light/taskbar_online_2x.png diff --git a/img/taskbar/taskbar_busy.png b/img/taskbar/dark/taskbar_busy.png similarity index 100% rename from img/taskbar/taskbar_busy.png rename to img/taskbar/dark/taskbar_busy.png diff --git a/img/taskbar/taskbar_busy_2x.png b/img/taskbar/dark/taskbar_busy_2x.png similarity index 100% rename from img/taskbar/taskbar_busy_2x.png rename to img/taskbar/dark/taskbar_busy_2x.png diff --git a/img/taskbar/taskbar_idle.png b/img/taskbar/dark/taskbar_idle.png similarity index 100% rename from img/taskbar/taskbar_idle.png rename to img/taskbar/dark/taskbar_idle.png diff --git a/img/taskbar/taskbar_idle_2x.png b/img/taskbar/dark/taskbar_idle_2x.png similarity index 100% rename from img/taskbar/taskbar_idle_2x.png rename to img/taskbar/dark/taskbar_idle_2x.png diff --git a/img/taskbar/taskbar_invisible.png b/img/taskbar/dark/taskbar_invisible.png similarity index 100% rename from img/taskbar/taskbar_invisible.png rename to img/taskbar/dark/taskbar_invisible.png diff --git a/img/taskbar/taskbar_invisible_2x.png b/img/taskbar/dark/taskbar_invisible_2x.png similarity index 100% rename from img/taskbar/taskbar_invisible_2x.png rename to img/taskbar/dark/taskbar_invisible_2x.png diff --git a/img/taskbar/taskbar_offline.png b/img/taskbar/dark/taskbar_offline.png similarity index 100% rename from img/taskbar/taskbar_offline.png rename to img/taskbar/dark/taskbar_offline.png diff --git a/img/taskbar/taskbar_offline_2x.png b/img/taskbar/dark/taskbar_offline_2x.png similarity index 100% rename from img/taskbar/taskbar_offline_2x.png rename to img/taskbar/dark/taskbar_offline_2x.png diff --git a/img/taskbar/taskbar_online.png b/img/taskbar/dark/taskbar_online.png similarity index 100% rename from img/taskbar/taskbar_online.png rename to img/taskbar/dark/taskbar_online.png diff --git a/img/taskbar/taskbar_online_2x.png b/img/taskbar/dark/taskbar_online_2x.png similarity index 100% rename from img/taskbar/taskbar_online_2x.png rename to img/taskbar/dark/taskbar_online_2x.png diff --git a/img/taskbar/light/taskbar_busy.png b/img/taskbar/light/taskbar_busy.png new file mode 100644 index 0000000000000000000000000000000000000000..6408db92a198a58a73b99577b6d73c18ec1f06d4 GIT binary patch literal 386 zcmV-|0e$|7P)M#c@uwl)064bI~bZ$Nf|J-X9=y?Vv){^ThT(?HPNjDbx|3|)ym&M$Py?g&p`v?Aivv(hu528VQ5dQh{C9)UxV|Bp?ptHFY z6&Zw`9Kp8UpEQ|4F)x>a9q5J6SFSP;9gWDEL5AT17zPLc1MJ)V`zV@U0>j}aFi?4Q zv~i~c7yvn6Dk7ZW*@~55jUWs%5M&sZm|$Rp1tMA^0&4<=2QxP}1CD4s08C7d$T{%+ gf6@RrX95Hm0DgE;(OMejw*UYD07*qoM6N<$f?Q;klmGw# literal 0 HcmV?d00001 diff --git a/img/taskbar/light/taskbar_busy_2x.png b/img/taskbar/light/taskbar_busy_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..248e058605deaf28a99d81319e61ada917cc94a7 GIT binary patch literal 685 zcmV;e0#f~nP) z9$KU)d-UTM^e6ZOv>+Zt5UnDp2MLG=@uL60gPv_Y)=NFK2SG`%wn_`71qF#SOE$*1 zO?SiQ!BVoB?0frWX44QN3EQ?;VN~t^z`0ct6=3l!49gx4jLAkp-nPZjRw{yHITDyK zmYiX71Xfj%=Q+97IdM8iXkLYYE8n6^LsI3%l?nkR8C!iWl!nERNb2b*iU}=1Q{CRO z0QWHOVMZs)j+?7n4@*P|04ZvL4^F>kkbARt4G!WtP%rG(dv%aA|s?2_+Zk6ur& zERzYtpx1b>Q+cF9>KmIRZJr8?5E6hSj64CPv)fyL2v9(`R;TxISZC*C?(jg}LG%te z$Aw3eNxHC~oQcExEG0OvOaR);Y-c1qaukPk;C)7k0Ja;f^dNFf59i829k&#r^W z!$7DAG3VHNok|4=6M^K+EzvVUNPw1GpoN9S=r2ewIoi&0&uT$Q3Rv;6HXF3_m!o5s zT&V*{XcX360(KmKWm;4abLTg9P5%D?ybX)+vlkSM7NZDu8v22b=s+$|ko)j9EK0u% z(AN3O3!3LP6y$fWPv^%|Gt~AeNR`SDkSLKC{RE2w)u1jw53fmdC_5Z3egqf*n{!@0 Tm?GKp00000NkvXXu0mjfbSWst literal 0 HcmV?d00001 diff --git a/img/taskbar/light/taskbar_idle.png b/img/taskbar/light/taskbar_idle.png new file mode 100644 index 0000000000000000000000000000000000000000..fae60333e2dcc011bc7c7ca85aa1a9f38466ca4b GIT binary patch literal 363 zcmV-x0hIoUP)M#c@uwl)064bI~bZ$Nf|J-XArf4R%>;muJH(?D3lje(6r0$qtciWiW< z^9PH7cp(EPk1~|MkU?Ifj6qn!9cO^;hq>$X`wRci?sxkC=J^h|TS07)*w63Jk-e}V zs|!AVxCnMGI}m>XvOxgEW@h05%Lz+JV2=f4@axA5hFcekh)TH_=|Dil8mD4j0e!*- zfC3H_VCVoOh9xGjdjS;MAlsnP2zC`V&FDGs{eRK`IA;O`7yxUiFXmkj=s*Af002ov JPDHLkV1npuj$Qx& literal 0 HcmV?d00001 diff --git a/img/taskbar/light/taskbar_idle_2x.png b/img/taskbar/light/taskbar_idle_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..93b33eba46b0f4ff9123153330d72e9423efcbb1 GIT binary patch literal 635 zcmV->0)+jEP)Eq45OM>;^Q~Q+Y%R6LT&2!sSM4Ufd@A?sAv>HU+2Qruq%*uy-Pi`CA zWXU+-CZX`A9V17eVRV2b{ConD>Df)!IqJ6W4#^_uNLxf09U4ZbLFXQjSiZ35{(kFS z5gSAr0k7dO?JVaWRBgr0hDSnL3ErW$h;(KqGBS^#-NOaAC5HeS{jKeh^v5n&3C19D zQK*_Bk3g2zRp{Zsd54PtHeWiE<90p)&B(h4MtFMwM=Wdt2FG!pj-%8EiMN2lGJ%l~ z+Y|p@#U6>m>WRCSaW{N@cIf$nTXWn4GCx3)M49&!ED2a)Jx~HUCdr{refanhU;qLc V^ZDON1N{I1002ovPDHLkV1iNU68!)G literal 0 HcmV?d00001 diff --git a/img/taskbar/light/taskbar_invisible.png b/img/taskbar/light/taskbar_invisible.png new file mode 100644 index 0000000000000000000000000000000000000000..cc45ab1f4b2cb6e16a7f48fcde4123950c2d511d GIT binary patch literal 366 zcmV-!0g?WRP)M#c@uwl)064bI~bZ$Nf|J-XALK7GotXZIcu)4;{mg+W?c8eNG!vJ3Vj z8@+bz+W)G`swfyFh6eUyHQ?H{Yj6!QQ8E7~O`HVAAh9P;o?sY&5epz^YiepT1O)}b z#d7m<8Kh;T8BU%&$v|{85(_X400r3f>(?39ty>2dTex5$!_y~E8O+ViaV8p+K!o`j zgpCc2@dhFz%mB1R1a<`|Joxzd7;r@60bpWsM9zWl|C0v5ITIkj0D9bhg~~(yn*aa+ M07*qoM6N<$f>Zm8;{X5v literal 0 HcmV?d00001 diff --git a/img/taskbar/light/taskbar_invisible_2x.png b/img/taskbar/light/taskbar_invisible_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..19a736b3bf86fc38ae6c3b4cd8c570603443f13c GIT binary patch literal 670 zcmV;P0%84$P)T+%0Tc4oTHK?sO1%RgrZ;h1W3u6-7QjntWmtSk>L$ssswlYJmGB zNdVCcns|QIE2)%{Y=S35+nGDjYCx_(*(Rw}g|0&%EYh6JhvJRefcg%WRd9!>W9+xz zFrt4)s(?RS#xYXzwQ%YvSffgOE!IHXsg;YdM#M_TX)(*P;KTU<&-K{-W_}ZDwHg#l zMdfx*tI!^eMsRU{Ap&zajsy4RJ(Nl%Xy3HKFbw@|h{4ZJ&O~qw#<5%56+{mA55e=i zSTnyBRJN1JglunZla2Kaa-{alHjS~YqSt>J(pdv(!;kf=BA?IeBY?r%*KHA~TCRd= zn&SP{EqL*P-4E#tY?c|@zgk|gR;f5DQ#a9IshsF?}Qoq-=i;8%bF0BRv*s~AS%qW}N^07*qoM6N<$ Ef@(H4GXMYp literal 0 HcmV?d00001 diff --git a/img/taskbar/light/taskbar_offline.png b/img/taskbar/light/taskbar_offline.png new file mode 100644 index 0000000000000000000000000000000000000000..61c18265ea4c1c95f5e357648afa6e992f0bf1ea GIT binary patch literal 378 zcmV-=0fqjFP)M#c@uwl)064bI~bZ$Nf|J-X9=y?Vv){^ThT(?HPNjDbx|3|)ym&M$Py?g&p`v?Aivv(idtxuP)0E_*6`4ZU+`?0#<1JK!A zii!-vPL6Ofsfcg}cAytNU%ARabTkqRFbog?2H3az_fh=(5*Q9Yfq}}aqm4TqzyQek zASd6SG#RWB1V9EV=H+6G2?j=3AfhEAuqIG=FmrP=;E2Wpz{KQ;oCDwgCk=peCP07z Y0Jp+K;OSB1Bme*a07*qoM6N<$g50K<4*&oF literal 0 HcmV?d00001 diff --git a/img/taskbar/light/taskbar_offline_2x.png b/img/taskbar/light/taskbar_offline_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..db79070bb6913e58ebc666f0363a7a4f430ec092 GIT binary patch literal 677 zcmV;W0$TlvP)zdr6P3@lyvor7D@{aCBE;Gt1(`Z zyKwP=BP4xu&vVcFzIP2FlCUgm7DmPT3w$<9q5@2wgJD|1z?fVVRklQe7#ly7N=S`6`t5x##_D=5; zx<*p@JQ>Vpq}w?zBfD*yTcdnOg*+~=kc@F8EJ8>Ck}&cFkdCge{vl{qAIbCn0gW+_PsrHbuDXrr z19FZN_a>8cV&3X7|D)?`-ISm!$^@Xj%ytyv1r&jG;Cx4k0Ja*e^dPWKz?3Kx5cgU2 zznq3F=Z$h%*e%gLK}bLGS^d2z6r!Tv7P}5+w?vpI}j-;@1V};RT5fC7Yv*Zvh4X+}|sDIPU7e00000 LNkvXXu0mjfkIf|( literal 0 HcmV?d00001 diff --git a/img/taskbar/light/taskbar_online.png b/img/taskbar/light/taskbar_online.png new file mode 100644 index 0000000000000000000000000000000000000000..007f0d1c96d5840bd16b283e4420347711878bd4 GIT binary patch literal 320 zcmV-G0l)rk7RCwBAV88M#c@uwl)064bI~bZ$Nf|J-XBGe7MPQ=i^Nf(?Eq^ok2xF9bJh%iWiW< zy1OeF4nEn9B4#FG%@D1g#6U0*pMH6ap&0~Dy*LV%BWS?ox45Gkn;a7Zg#g0>kdT3gydT&$n4dvxY?{$?;QRli0dUR)2rvMqV*Cw6 S6KVMX0000i z=Y*RN&JxbgcYc!qFk#zvRfuIz1D{nPE(qs2AzeEhsFRB$_|T?fsFZ}HhM1I_*ev07idkFKX1=c#JIJBQWAK~`x#vw6@*HOn2^Wz?l){bF+`9S>|V({zEHq)$07*qoM6N<$f@F#T9smFU literal 0 HcmV?d00001 diff --git a/res.qrc b/res.qrc index 40b6d28f2..5db98f01e 100644 --- a/res.qrc +++ b/res.qrc @@ -37,10 +37,14 @@ img/status/dot_online.png img/status/dot_online_2x.png img/status/dot_online_notification.png - img/taskbar/taskbar_online_2x.png - img/taskbar/taskbar_idle_2x.png - img/taskbar/taskbar_busy_2x.png - img/taskbar/taskbar_offline_2x.png + img/taskbar/dark/taskbar_online_2x.png + img/taskbar/dark/taskbar_idle_2x.png + img/taskbar/dark/taskbar_busy_2x.png + img/taskbar/dark/taskbar_offline_2x.png + img/taskbar/light/taskbar_online_2x.png + img/taskbar/light/taskbar_idle_2x.png + img/taskbar/light/taskbar_busy_2x.png + img/taskbar/light/taskbar_offline_2x.png img/transfer.png smileys/cylgom/angel.png smileys/cylgom/angry.png diff --git a/src/misc/settings.cpp b/src/misc/settings.cpp index e04dc7f49..b14fe2e34 100644 --- a/src/misc/settings.cpp +++ b/src/misc/settings.cpp @@ -167,6 +167,7 @@ void Settings::load() timestampFormat = s.value("timestampFormat", "hh:mm").toString(); minimizeOnClose = s.value("minimizeOnClose", false).toBool(); minimizeToTray = s.value("minimizeToTray", false).toBool(); + lightTrayIcon = s.value("lightTrayIcon", false).toBool(); useNativeStyle = s.value("nativeStyle", false).toBool(); useEmoticons = s.value("useEmoticons", true).toBool(); statusChangeNotificationEnabled = s.value("statusChangeNotificationEnabled", false).toBool(); @@ -315,6 +316,7 @@ void Settings::save(QString path, bool writeFriends) s.setValue("timestampFormat", timestampFormat); s.setValue("minimizeOnClose", minimizeOnClose); s.setValue("minimizeToTray", minimizeToTray); + s.setValue("lightTrayIcon", lightTrayIcon); s.setValue("nativeStyle", useNativeStyle); s.setValue("useEmoticons", useEmoticons); s.setValue("themeColor", themeColor); @@ -530,6 +532,16 @@ void Settings::setMinimizeToTray(bool newValue) minimizeToTray = newValue; } +bool Settings::getLightTrayIcon() const +{ + return lightTrayIcon; +} + +void Settings::setLightTrayIcon(bool newValue) +{ + lightTrayIcon = newValue; +} + bool Settings::getStatusChangeNotificationEnabled() const { return statusChangeNotificationEnabled; diff --git a/src/misc/settings.h b/src/misc/settings.h index 7ebe39f66..848ade407 100644 --- a/src/misc/settings.h +++ b/src/misc/settings.h @@ -61,6 +61,9 @@ public: bool getMinimizeToTray() const; void setMinimizeToTray(bool newValue); + + bool getLightTrayIcon() const; + void setLightTrayIcon(bool newValue); QString getStyle() const; void setStyle(const QString& newValue); @@ -244,6 +247,7 @@ private: bool autostartInTray; bool closeToTray; bool minimizeToTray; + bool lightTrayIcon; bool useEmoticons; bool checkUpdates; bool showInFront; diff --git a/src/widget/form/settings/generalform.cpp b/src/widget/form/settings/generalform.cpp index c7f35a2ae..3f54ec188 100644 --- a/src/widget/form/settings/generalform.cpp +++ b/src/widget/form/settings/generalform.cpp @@ -62,6 +62,8 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) : bodyUI->closeToTray->setEnabled(showSystemTray); bodyUI->minimizeToTray->setChecked(Settings::getInstance().getMinimizeToTray()); bodyUI->minimizeToTray->setEnabled(showSystemTray); + bodyUI->lightTrayIcon->setChecked(Settings::getInstance().getLightTrayIcon()); + bodyUI->lightTrayIcon->setEnabled(showSystemTray); bodyUI->statusChanges->setChecked(Settings::getInstance().getStatusChangeNotificationEnabled()); bodyUI->useEmoticons->setChecked(Settings::getInstance().getUseEmoticons()); bodyUI->autoacceptFiles->setChecked(Settings::getInstance().getAutoSaveEnabled()); @@ -120,6 +122,7 @@ GeneralForm::GeneralForm(SettingsWidget *myParent) : connect(bodyUI->startInTray, &QCheckBox::stateChanged, this, &GeneralForm::onSetAutostartInTray); connect(bodyUI->closeToTray, &QCheckBox::stateChanged, this, &GeneralForm::onSetCloseToTray); connect(bodyUI->minimizeToTray, &QCheckBox::stateChanged, this, &GeneralForm::onSetMinimizeToTray); + connect(bodyUI->lightTrayIcon, &QCheckBox::stateChanged, this, &GeneralForm::onSetLightTrayIcon); connect(bodyUI->statusChanges, &QCheckBox::stateChanged, this, &GeneralForm::onSetStatusChange); connect(bodyUI->autoAwaySpinBox, SIGNAL(editingFinished()), this, SLOT(onAutoAwayChanged())); connect(bodyUI->showInFront, &QCheckBox::stateChanged, this, &GeneralForm::onSetShowInFront); @@ -185,6 +188,12 @@ void GeneralForm::onSetCloseToTray() Settings::getInstance().setCloseToTray(bodyUI->closeToTray->isChecked()); } +void GeneralForm::onSetLightTrayIcon() +{ + Settings::getInstance().setLightTrayIcon(bodyUI->lightTrayIcon->isChecked()); + Widget::getInstance()->updateTrayIcon(); +} + void GeneralForm::onSetMinimizeToTray() { Settings::getInstance().setMinimizeToTray(bodyUI->minimizeToTray->isChecked()); diff --git a/src/widget/form/settings/generalform.h b/src/widget/form/settings/generalform.h index ec41fb0ad..a560cf7ae 100644 --- a/src/widget/form/settings/generalform.h +++ b/src/widget/form/settings/generalform.h @@ -37,6 +37,7 @@ private slots: void onSetShowSystemTray(); void onSetAutostartInTray(); void onSetCloseToTray(); + void onSetLightTrayIcon(); void onSmileyBrowserIndexChanged(int index); void onUDPUpdated(); void onProxyAddrEdited(); diff --git a/src/widget/form/settings/generalsettings.ui b/src/widget/form/settings/generalsettings.ui index 4df38f286..47258e049 100644 --- a/src/widget/form/settings/generalsettings.ui +++ b/src/widget/form/settings/generalsettings.ui @@ -39,8 +39,8 @@ 0 0 - 509 - 849 + 513 + 819 @@ -109,7 +109,7 @@ - + @@ -152,6 +152,13 @@ + + + + Light icon + + + diff --git a/src/widget/widget.cpp b/src/widget/widget.cpp index dcf6c67a4..2bf189e75 100644 --- a/src/widget/widget.cpp +++ b/src/widget/widget.cpp @@ -300,14 +300,15 @@ void Widget::updateTrayIcon() return; QString status = ui->statusButton->property("status").toString(); QString pic; + QString color = Settings::getInstance().getLightTrayIcon() ? "light" : "dark"; if (status == "online") - pic = ":img/taskbar/taskbar_online_2x.png"; + pic = ":img/taskbar/" + color + "/taskbar_online_2x.png"; else if (status == "away") - pic = ":img/taskbar/taskbar_idle_2x.png"; + pic = ":img/taskbar/" + color + "/taskbar_idle_2x.png"; else if (status == "busy") - pic = ":img/taskbar/taskbar_busy_2x.png"; + pic = ":img/taskbar/" + color + "/taskbar_busy_2x.png"; else - pic = ":img/taskbar/taskbar_offline_2x.png"; + pic = ":img/taskbar/" + color + "/taskbar_offline_2x.png"; icon->setIcon(QIcon(pic)); }