From 6c34f1a925ef742c016746fcd8e379eca01f5788 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 30 Apr 2020 11:01:43 +0200 Subject: [PATCH] Fixed #219. --- resources/graphics/rssguard_mono.png | Bin 13334 -> 18101 bytes resources/graphics/rssguard_plain_mono.png | Bin 2133 -> 1052 bytes resources/rssguard.qrc | 5 ++++ src/librssguard/definitions/definitions.h | 6 ++++- src/librssguard/gui/settings/settingsgui.cpp | 10 ++++++++ src/librssguard/gui/settings/settingsgui.ui | 22 ++++++++++++------ src/librssguard/gui/systemtrayicon.cpp | 17 ++++++++++---- src/librssguard/miscellaneous/application.cpp | 8 ++++++- src/librssguard/miscellaneous/settings.cpp | 4 ++++ src/librssguard/miscellaneous/settings.h | 4 ++++ src/rssguard/main.cpp | 4 ++-- 11 files changed, 65 insertions(+), 15 deletions(-) diff --git a/resources/graphics/rssguard_mono.png b/resources/graphics/rssguard_mono.png index 18f84e0cbc168bf5eaf9cc09e5006ee50f9a2e4f..cad2dd806520ae45ee2b2f9e3ef957c15a937d2c 100755 GIT binary patch literal 18101 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 literal 13334 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±haQ7}$CwIPnzk zBNalXw)n*K{+8kvp7q|AJCbf=&g=R73OG|G*ynScnih04C`R~1(V!s0js4(jsL<*o zK}MWI}Xwh7Q__?|bq2C9(QS6cTs*HotYX#k}LO_fMRFN;T+>c45%sT=i2 zU#VYtUy+!BFp6@bm_|2|An%$khN96zB73ChT0*gD2V0k}Sk&#awtTXTJ@V+-whd9n z#@Rs>QJ8lgUA=M@J~q4F)(xFLKIH-5puRPtB0fXyb}cQM<`2p+aT(*9HmZ8xU&=C) zvjP(aetXJ0MtFVMJ-cX5MXKIlHhJVj_o2Af(T}vIxqsN#8CG2nCmm4-1oe@#Oy+yk z>i!W#C}u`fDKu-YT9NVn!}s}~b2nJ6j9z+AUH#_;V)+@n)rzjAjo0wb+1Uab*@1c= z9ruCY{Xw0h!`a8FW8QTw^yg?WPBHE=?r{~uN~{EwbK9xe>-SzO4qhMP`Ajg}s%g*uJgu(Y?Qr9a(4~s2>vNpMSHhHes0aI7WnPc{7&3FrZK}OHUDvpKK^4&>{}TF z6qq*?O=-4xQU$)8k{@4bw~(c`gAq1${*;+3S{SyP+DdlS7(u<6Urgv^lckNC2O@?(exWZ_y?D)0zkRt@ z#MX}8wgO0p95zi4Sc@Y;oIt?khkoCH1~5RUE&?q9{cS8T+lgWbTW-1qtK2|Ljo zB!5ZI_ss-yGwvX=I+F#)55EsYI?l~wK|BYOeqXCME=$v|Gg#DZWY_(fUNO#2r zi+>hpt2ZJEbHA_<903zZchrj?v31&M%kB_49J}1sS*5 zUSM7{($(C4un@Y_DB?&w39$bDD>8I8%}(=A|gJj8Sm#)~jJxMsK7X)e946Vo5(ACM6Mv6mC>6dK!zNpZ<+maQRz6?DJ zkVV+n_o$Pns{_==le{K2jhL!9kg#bOqUw96&wA!V=#B=(oTEumTPjp1i=43`?!fz%g6Uwx%|5BD zCrDG&$vS@x^7KG2oDTZKmm3dvqMn&dUI`U{0W`rt@= zs(RO?2`6CE(|ij?^xuI!Ey}QG5K^6-`7LW>C^AWjsGL0XjvZ$}6a6R&X1c2iwF}l% zRlYRUPUlp2t7>P<>7~#-YdF_F?85J) zi7Kfl%3w|!eb|NYVLH=Da|w$(&TP?MD{ z79&APE-l(%x-&I@$6Zk+5hVp&Mdl}z$*64>%L3ViImC^*rC!O9Wvr=X@}RwQnCaBVcHIml@CWI~KOAK-5D)sLohR z;2!XP7=eq}LrVB3z2?0>X%Ny!*q`$SMm+Q#zK=6}@ZRQ2?xDRE*hpip6XkI`Fw)nK zdhJDTONhK`_8(d&5rqhg*amos^X|GAzNBCHXibVn9Y7Cohi$6EgAyO<%_`S{T@!DQi)~n`jW-?|Wmb7c7=Y31LR5gIz6SY> zv5J`)UM2LGXz&w_Xi}6Q=R~3+MuYq~EsL&d*V6y}`OZ_dQ}NUr;47w>N(HdAnmQ$3 zcu2MA$!{66$EONl7g*)RKWZt!<+9Me!b*y`=&En_hsH}{S+xkRC`C2VRBT_WaTyCn z!x6Z7=lbx_M}GBLtU2VO&UN^z)qn;WE}4WA!2iW?PD`FGn*IphS9Rjc4TyhF_^0Yj z?&QRAE`n+5M8xSBFp(YRE5mrn=y$YB{qW8%@o-m;DlYo46;=cu*^`TsBhTxMpQ4vA zq@C%TpJe_!94_Y5+AC`Uj%?JeH?RE&To2w{ET9P4zg v;>T2E8OlxO$7j+#%yPThxM<$DrVSeiy%ScSTLVoo_(R@vz^-%`<>LPX&y&i0 diff --git a/resources/graphics/rssguard_plain_mono.png b/resources/graphics/rssguard_plain_mono.png index abe1a800bd4e8cf8a18c62e2eb672bc8549d70d3..74da83479cd2976c5160e0e878fe9b2a5dce35c7 100755 GIT binary patch literal 1052 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSoCO|{#X$M%Ak65bF}ngNsF3Ut zA%x;TbZ+m?PNjnBF&pA7J{x62W99UHRE<+Gc(U);?xthuyn>J^#l1)c=k614{#DA13|R zm4~-ktz-Dz__^?>^&QXPh+e@vEOA$=ey$6X+re~(F+HX(_@-dFk$Cx(|F;>xFmFDP zy5MxB`Py|m7T?^ldB4yBjt?9XCHr)f4c_G}xyW#=;r9W(^jk$`NALDttrj<6yHnPu zt6Q`EaA(vyhQkMRpHG+E{>X1N*8=_>!H;E|X8rdnP=B{AiJ|g=-iFIFQ_r2-al2+I zgB}z6oX|Ac4(orp40{i-rcbF9f3&Wi^MR1*9EFvsPam(V=Sa|By18~~qRG2I(G2R1 ze$OZMoZC^%wDjGxA)le|!9xEorUDa&_BpPb*q8$f_)coE zB=i@1T$|V6|6|D-?SQJ1=*(9d^O-e#E%X2H5ud_%f+2;$h(WS}$AL|OdBT8mxA7z# zHdM)0W_W#0G4eHIL?PeFD9!`X&nK+e&RFqSX3|$R2LHLvo1QTnu;*BHKgnV0XWqc0 zW7Ypehw1dw;)cxU6X(4AWXW*A_Q7Oh&tuDXe9m`2xW3U77-%PVe3swGy@PFyHfnv2@$1^EhTPoU2sL`04*|=ML{I-UTuTIUnrZoMZX^ z@jErGy(?y=Gc9jOKCs6)SMqaVdT@PJ;#U4vJtpS^p*2k_X0AOV%NzJqyyk7I)52Tk z|9Q?Z@i)G8(BE)&rg>}V1HA&V3W4&_soRn^M!eU*%ihCuypeIiUE4q5@eR)p@GRZ@ zcly^op300h|I?T7Tky!RR5jdnFu%a~C#z``^#xj%LDY}w0SxTK! zQz?fTRE8#!n;8^kNn>)E$TpUlvd#JS+r59neO|Bk^Lakc=h=RFzu!-Rzb{^0b(bmt zK>dg(E)b6NA5c+(`xc=b>5boyXDe$DpNzXtZ0H{B~i?aYiX#{{2 zcn^LzKx~Cia|i=KdqkvE7X*Ov$Pt`daLVw^bwNzIXh&zO=(*QJ^UJgeq;5uxAG_jV z;p{G@Q!PR__cn)W)`u6F`dJ4;q{>%HUFVN}`GS2idhyXq)2NOY_D5B+d4nTyYE_T! zZtgkSUK%u`-FcX4xU02iC?`Az74x=9pRqR`oBWEc&?8-P7GXr`iqCMk{%!?V0K_SV zT~Uj_3Z$)q;o(*C$&=%KIHXYC6F7hf&TUJ&U)`c?Jonor}y@(Qv zC*%m{J7Uh?%fCiJ54O@;1*4-I^}pFXZE9#(F387mwKt;Vg1N@Kc2VmeKc2tDZ+6t$ z!qqsjkQ$}{&NB{;3=d}nl1Q@e>+9>ww@nu~cPEKl*@Sq!lV+fBK8TR|@syjy&;rTF zM04g_!$~AsOh(4$ZL3hJC&HpE_r;4B#w#l;>6!{|n&FFAVphYdl;Zdpfi&+{-$Wy1J?x$#}9R^g5Sq z>f__nClm?;tex&Li-bfx#-9)kDd*+o;mfaIzXh2IpHF7Asha5N={e|L=%6BIo=g&V z7||<3Q16|rtm3v!9N-*7tC1lz!#gP{F|lQ~LXB&8DVVr_p@QN@Bz_o~ot>?OCUNZ# zyu~yB=_;AOxxVmfaGFpfAIVnst#ACqUCjNDj8Z?w~veGBoc}4fOI3{iePw4lbx*xh`2GohV8$4^{PuP z{`A|oZx@+%_V&rS_PFp(a*cr|_$@Yet{;aKbLG>K_bVAdyP#c7)x;M;hADkkQFENy zk2;{JDRk^dX-PI%E;?h{{=glfqG+N+|9==P>LHSvw%Wcak~2TMn|$@MoOv!*@562A zUexh^_v!_G#d|&o)f{g0)4IB11hBphSeG-dt-N}5_%M-3tZ6c3bxluC3v6MP08Pqm zwP(29eWTV05Ebp4PYD+D!%LZQ;kk#YP0I@wQv z*@p}X3He5;3;7rTt}z(;w)M}DpX&_n&8^+YPl1w>Aqdg|!MNvP=rZ0!ye`MgXKWxU4FNw z%Qidf?OM+$BK~MyU7Z#nIf|~FjvNSEC*U}S1_lO0gM&?>oaxe<^BUV|-h>vIp+CcX zObZPi8G7>Tzr0#ZdIVkb71ljV31l)k3I-A-mfEwW{*_jQLKGVPLlS6jq#Jug6$SYL znWA{n%O&SCRO%{EEEZ$$liM*;<2$2k*WYArFMbUx2OhrR#u`UPZFctr9Jl3<{b|-q z&OIelQ&XhE!om$$1R)9OXPGm3lT;k>w6+#K`u@G0ipg}vNaT^hC47bnQj4(P+t+t9 zAuVk^3!fu%K+GL|0!vsIEDb4me5Yk%Vj_pJg-%D#u+Tk*V8z+5v9S@$Ntk*YQ&Lhw zOAq@dFohkCu<{;mu^*end0EODN_iT_F15@=(B7TI&GXa|%7R5Nr>bh0syA)y?WJ=a z7j$W7mnM0keh1&3yEVqGJ}*xXwpa9fCTRDd8e|YIBoiM&N5qn3BS&mK^v?0FE5; K#nrk;Wd034uh?J! diff --git a/resources/rssguard.qrc b/resources/rssguard.qrc index 0a46e24a5..a3b14fd47 100755 --- a/resources/rssguard.qrc +++ b/resources/rssguard.qrc @@ -6,8 +6,13 @@ text/COPYING_GNU_GPL_HTML graphics/rssguard.ico + graphics/rssguard.png graphics/rssguard_plain.png + + graphics/rssguard_mono.png + graphics/rssguard_plain_mono.png + graphics/misc/adblock.png graphics/misc/adblock-disabled.png graphics/misc/gmail.png diff --git a/src/librssguard/definitions/definitions.h b/src/librssguard/definitions/definitions.h index 49506ef54..9146bac84 100755 --- a/src/librssguard/definitions/definitions.h +++ b/src/librssguard/definitions/definitions.h @@ -13,7 +13,6 @@ #define ARGUMENTS_LIST_SEPARATOR "\n" -#define DESKTOP_FILE_NAME "com.github.rssguard.desktop" #define LOCALHOST_ADDRESS "http://localhost" #define ADBLOCK_ADBLOCKED_PAGE "adblockedpage" #define ADBLOCK_HOWTO_FILTERS "http://adblockplus.org/en/filters" @@ -228,8 +227,13 @@ #define APP_THEME_PATH QSL(":/graphics") #define APP_SQL_PATH QSL(":/sql") #define APP_INFO_PATH QSL(":/text") + #define APP_ICON_PATH QSL(":/graphics/rssguard.png") #define APP_ICON_PLAIN_PATH QSL(":/graphics/rssguard_plain.png") + +#define APP_ICON_MONO_PATH QSL(":/graphics/rssguard_mono.png") +#define APP_ICON_MONO_PLAIN_PATH QSL(":/graphics/rssguard_plain_mono.png") + #define APP_SKIN_PATH QSL(":/skins") #define APP_INITIAL_FEEDS_PATH QSL(":/initial_feeds") #define APP_LANG_PATH QSL(":/localization") diff --git a/src/librssguard/gui/settings/settingsgui.cpp b/src/librssguard/gui/settings/settingsgui.cpp index 629a0c424..bfedf1a60 100755 --- a/src/librssguard/gui/settings/settingsgui.cpp +++ b/src/librssguard/gui/settings/settingsgui.cpp @@ -42,6 +42,7 @@ SettingsGui::SettingsGui(Settings* settings, QWidget* parent) : SettingsPanel(se connect(m_ui->m_grpTray, &QGroupBox::toggled, this, &SettingsGui::dirtifySettings); connect(m_ui->m_checkEnableNotifications, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings); connect(m_ui->m_checkHidden, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings); + connect(m_ui->m_checkMonochromeIcons, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings); connect(m_ui->m_checkHideWhenMinimized, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings); connect(m_ui->m_checkHideTabBarIfOneTabVisible, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings); connect(m_ui->m_checkCloseTabsDoubleClick, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings); @@ -114,6 +115,8 @@ void SettingsGui::loadSettings() { } } + m_ui->m_checkMonochromeIcons->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::MonochromeTrayIcon)).toBool()); + // Mark active theme. if (current_theme == QSL(APP_NO_THEME)) { // Because "no icon theme" lies at the index 0. @@ -204,6 +207,13 @@ void SettingsGui::saveSettings() { } } + auto old_monochrome = settings()->value(GROUP(GUI), SETTING(GUI::MonochromeTrayIcon)).toBool(); + + if (old_monochrome != m_ui->m_checkMonochromeIcons->isChecked()) { + requireRestart(); + settings()->setValue(GROUP(GUI), GUI::MonochromeTrayIcon, m_ui->m_checkMonochromeIcons->isChecked()); + } + settings()->setValue(GROUP(GUI), GUI::MainWindowStartsHidden, m_ui->m_checkHidden->isChecked()); settings()->setValue(GROUP(GUI), GUI::HideMainWindowWhenMinimized, m_ui->m_checkHideWhenMinimized->isChecked()); diff --git a/src/librssguard/gui/settings/settingsgui.ui b/src/librssguard/gui/settings/settingsgui.ui index f22312776..b7617dc52 100644 --- a/src/librssguard/gui/settings/settingsgui.ui +++ b/src/librssguard/gui/settings/settingsgui.ui @@ -152,27 +152,34 @@ QFormLayout::ExpandingFieldsGrow - + Hide main window when it is minimized - + Start application hidden - + Enable popup balloon tooltips + + + + Use monochrome icon + + + @@ -359,16 +366,17 @@ m_cmbIconTheme m_listStyles m_treeSkins + m_grpTray + m_checkMonochromeIcons + m_checkEnableNotifications m_checkHideWhenMinimized m_checkHidden - m_checkEnableNotifications - m_checkNewTabDoubleClick - m_checkHideTabBarIfOneTabVisible m_checkCloseTabsDoubleClick m_checkCloseTabsMiddleClick + m_checkNewTabDoubleClick + m_checkHideTabBarIfOneTabVisible m_cmbToolbarButtonStyle m_cmbSelectToolBar - m_grpTray diff --git a/src/librssguard/gui/systemtrayicon.cpp b/src/librssguard/gui/systemtrayicon.cpp index 7933ed1ea..5cfe80916 100644 --- a/src/librssguard/gui/systemtrayicon.cpp +++ b/src/librssguard/gui/systemtrayicon.cpp @@ -114,9 +114,16 @@ void SystemTrayIcon::setNumber(int number, bool any_new_message) { QPainter tray_painter; tray_painter.begin(&background); - tray_painter.setPen(Qt::black); - tray_painter.setRenderHint(QPainter::SmoothPixmapTransform, true); - tray_painter.setRenderHint(QPainter::TextAntialiasing, true); + + if (qApp->settings()->value(GROUP(GUI), SETTING(GUI::MonochromeTrayIcon)).toBool()) { + tray_painter.setPen(Qt::GlobalColor::white); + } + else { + tray_painter.setPen(Qt::GlobalColor::black); + } + + tray_painter.setRenderHint(QPainter::RenderHint::SmoothPixmapTransform, true); + tray_painter.setRenderHint(QPainter::RenderHint::TextAntialiasing, true); // Numbers with more than 2 digits won't be readable, display // infinity symbol in that case. @@ -140,7 +147,9 @@ void SystemTrayIcon::setNumber(int number, bool any_new_message) { } tray_painter.setFont(m_font); - tray_painter.drawText(QRect(0, 0, 128, 128), Qt::AlignVCenter | Qt::AlignCenter, QString::number(number)); + tray_painter.drawText(QRect(0, 0, 128, 128), + Qt::AlignmentFlag::AlignVCenter | Qt::AlignmentFlag::AlignCenter, + QString::number(number)); } tray_painter.end(); diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp index fb4e66c89..28f3eec8b 100755 --- a/src/librssguard/miscellaneous/application.cpp +++ b/src/librssguard/miscellaneous/application.cpp @@ -353,7 +353,13 @@ void Application::processExecutionMessage(const QString& message) { SystemTrayIcon* Application::trayIcon() { if (m_trayIcon == nullptr) { - m_trayIcon = new SystemTrayIcon(APP_ICON_PATH, APP_ICON_PLAIN_PATH, m_mainForm); + if (qApp->settings()->value(GROUP(GUI), SETTING(GUI::MonochromeTrayIcon)).toBool()) { + m_trayIcon = new SystemTrayIcon(APP_ICON_MONO_PATH, APP_ICON_MONO_PLAIN_PATH, m_mainForm); + } + else { + m_trayIcon = new SystemTrayIcon(APP_ICON_PATH, APP_ICON_PLAIN_PATH, m_mainForm); + } + connect(m_trayIcon, &SystemTrayIcon::shown, m_feedReader->feedsModel(), &FeedsModel::notifyWithCounts); connect(m_feedReader->feedsModel(), &FeedsModel::messageCountsChanged, m_trayIcon, &SystemTrayIcon::setNumber); } diff --git a/src/librssguard/miscellaneous/settings.cpp b/src/librssguard/miscellaneous/settings.cpp index dd1b01772..3c674c4d1 100755 --- a/src/librssguard/miscellaneous/settings.cpp +++ b/src/librssguard/miscellaneous/settings.cpp @@ -176,6 +176,10 @@ DKEY GUI::HideMainWindowWhenMinimized = "hide_when_minimized"; DVALUE(bool) GUI::HideMainWindowWhenMinimizedDef = false; +DKEY GUI::MonochromeTrayIcon = "monochrome_tray_icon"; + +DVALUE(bool) GUI::MonochromeTrayIconDef = false; + DKEY GUI::UseTrayIcon = "use_tray_icon"; DVALUE(bool) GUI::UseTrayIconDef = true; diff --git a/src/librssguard/miscellaneous/settings.h b/src/librssguard/miscellaneous/settings.h index 03fe3f06e..34ba36f5c 100644 --- a/src/librssguard/miscellaneous/settings.h +++ b/src/librssguard/miscellaneous/settings.h @@ -196,6 +196,10 @@ namespace GUI { VALUE(bool) UseTrayIconDef; + KEY MonochromeTrayIcon; + + VALUE(bool) MonochromeTrayIconDef; + KEY EnableNotifications; VALUE(bool) EnableNotificationsDef; diff --git a/src/rssguard/main.cpp b/src/rssguard/main.cpp index 5e0323284..e95ca09ff 100755 --- a/src/rssguard/main.cpp +++ b/src/rssguard/main.cpp @@ -29,7 +29,7 @@ int main(int argc, char* argv[]) { QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); #if defined (Q_OS_LINUX) - QApplication::setDesktopFileName(DESKTOP_FILE_NAME); + QApplication::setDesktopFileName(APP_DESKTOP_ENTRY_FILE); #endif // Ensure that ini format is used as application settings storage on Mac OS. @@ -78,8 +78,8 @@ int main(int argc, char* argv[]) { qApp->loadDynamicShortcuts(); qApp->hideOrShowMainForm(); - qApp->showTrayIcon(); qApp->feedReader()->feedsModel()->loadActivatedServiceAccounts(); + qApp->showTrayIcon(); qApp->offerChanges(); qApp->showPolls(); qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->loadAllExpandStates();