From 2f600006c172342f253f1763620f5e635bc5b86f Mon Sep 17 00:00:00 2001 From: Alexander von Renteln Date: Fri, 4 Apr 2008 16:51:51 +0000 Subject: [PATCH] -tray icon now greys out, when quassel is not connected -new and better recognizable tray icon for activity/highlight -status bar displays if the connection to the core is secure or not --- src/client/client.cpp | 4 ++++ src/client/client.h | 3 +++ src/client/clientsyncer.cpp | 1 + src/icons/icons.qrc | 5 +++++ src/icons/quassel-icon-active.png | Bin 5616 -> 4121 bytes src/icons/quassel-icon-offline.png | Bin 0 -> 3881 bytes src/qtui/mainwin.cpp | 34 +++++++++++++++++++++-------- src/qtui/mainwin.h | 5 ++++- version.inc | 2 +- 9 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 src/icons/quassel-icon-offline.png diff --git a/src/client/client.cpp b/src/client/client.cpp index 8c7a0430..c2cbb2f1 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -318,6 +318,10 @@ void Client::setSyncedToCore() { emit coreConnectionStateChanged(true); } +void Client::setSecuredConnection() { + emit securedConnection(); +} + void Client::disconnectFromCore() { if(!isConnected()) return; diff --git a/src/client/client.h b/src/client/client.h index 509b447b..b7e079e6 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -126,6 +126,7 @@ signals: void showConfigWizard(const QVariantMap &coredata); void connected(); + void securedConnection(); void disconnected(); void coreConnectionStateChanged(bool); @@ -189,6 +190,8 @@ private slots: void setConnectedToCore(QIODevice *socket, AccountId id); void setSyncedToCore(); + void setSecuredConnection(); + private: Client(QObject *parent = 0); diff --git a/src/client/clientsyncer.cpp b/src/client/clientsyncer.cpp index 2c2a5df5..a4a4be82 100644 --- a/src/client/clientsyncer.cpp +++ b/src/client/clientsyncer.cpp @@ -193,6 +193,7 @@ void ClientSyncer::clientInitAck(const QVariantMap &msg) { connect(sslSocket, SIGNAL(sslErrors(const QList &)), this, SLOT(sslErrors(const QList &))); sslSocket->startClientEncryption(); emit encrypted(true); + Client::instance()->setSecuredConnection(); } else { emit connectionError(tr("The Quassel Core you are trying to connect to does not support SSL!
If you want to connect anyways, disable the usage of SSL in the account settings.")); emit encrypted(false); diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 4ece047f..d6e9cfc6 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -584,6 +584,10 @@ oxygen/22x22/actions/zoom-original.png oxygen/22x22/actions/zoom-out.png + + oxygen/16x16/status/object-unlocked.png + oxygen/16x16/status/object-locked.png + oxygen/22x22/status/dialog-error.png oxygen/22x22/status/dialog-information.png @@ -597,5 +601,6 @@ quassel-icon.png quassel-icon-active.png + quassel-icon-offline.png diff --git a/src/icons/quassel-icon-active.png b/src/icons/quassel-icon-active.png index e834f95c218028486ba5619742a53a117e348d5a..816a1017f1c8e75ea3d72314f379d7afea9bea7a 100644 GIT binary patch delta 4082 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

qbTe)whmyoNc{M78$z8|VhUECp4)xs{ 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 jH7@XH#Uwi+db$ks@UUC4;CjeaCQyBS;dWh_bk zkTmwOt1M%eA?yF^|DJQdd%pXf`+n!V_j#W8xpC&EH+Z>VTp$pL7h|Yr3Cvo52M06o zl;Qpr2TV)>mN#@j^1r7emDEtB95+BS_ZUQ}Q_sYsvCuHC_N9|_ejHE1Ur-`7v}pI(k>jl3d} zL{xDX2$~=S)`o!h;;)|*)EBt*;=Q5bM)}60HR)@F zJG5FiEMZQmwH(IR^ZR0}sLwI+%KC)Ls)~;aI0jmGxb;alH zW->hnrwrqz)$;T4q4kmt^-_>FK=}Cjvde0*VN$|^nxTIBn&I9w*<0FdOSc->gU=OQ z+Ejn;=T}izH{zj;_ARk3g?IZrc;F8|+vAT&UR+t>VT-Kw$tvJ{e3^&kG+2p;Wt&Sl zLdrf(pW(bUm%U-K8DAcfJv}{LK0>ec2}sh7!Ts3&^F&iJp^J^3{i$Y-8&;3yV+JSn z<863%C5l@?8*v{o5t@m{679KhEhN%;5uW(>qr<~&&zW8qjnG3wL(e0}CMKF6&VLdz zQy-vGb?Xc7z5|DOZGgw4oD#*#jmxSXNGdR1Z3rUy#q_!zlr@y&6%vzq^HWvX{hG$s zR?`M>LFn$g`OsLGM; zw^66Pyu5_;lSk!b@v*3$)z#H8Zxsl~%Ic~>bwSa9M;VDE^BO~$PFhz>5=@SN5-%hq zL~bHnO_{ikMvsn<0|gU|`%qVR$GD3e<0h4&he*CDJHP#>EeTtNDz%meHs|!mwxrF8 zaCbg@i`LX6uw26t$3rckySuy6DIUbrT+yTYn+I|lVJR}0_%7E?e6zKDvZ2lw^I~hI zOdfT9zL-1LQ^D|VfwO1N7O$|Bz4rPBTG8l!IN+fS(yvmyv&dZ-`E|=B!z}L6w zF>C!Z+1Jv>vxi-+hU!oEm1}nWqzD`o`^h~nfmw0K6U{UHk+5)Pks#+vvk|t{p(gn4##^7FYZ@orh z^78WH-`DSV&dt5YiKHOgHC;nLHAF0gTuSem&FK8Tzpola&_ihJfTw(Ky2M2FadwFJ zZ-;A1NhDo3f4)JLrCA_N#-4-1p*V4dU!cH&wA{!?EBAzD-TKU6!SRa33_LMpdw;JQ zBjtcdMhCBClnNgIS;zqvR#9xmvEl7kj>FbaJ@V;26;8^qE)4jLQ59w*HA5{VJJAr` z1aN^|RyIfvvW>AU9vm9dXVv8rs#gm`^}LrOmzUo`Epf%g@vJbcnoKn>F})O%kO;QX z$u)1g_U2y)=Dll#*I;e@$%x3@Qvou4b3*?zsPtu6V?4T88@@ZsL()hRqnn#Q9wCo{ADTuzPC zul}uCr+ja3Z}0ejkR0p2{-bvF;zcbivlBlruZfx2baTk|r$n)~tGR#vACk`xFC`nA z5995FG{_)p%%)_qW$}~kzN#tYrK2?S@v##gm!DjW9~UeN4wKel-b$Yo{sM7i2Yh=_z$7#@G8(YT4y;jVc6-dtCLROiIRMCN68xkr@X)p7po zhgws3#>!ZrD(|g3m7`R%>m>UA*49?OaXQ(h#VAgDL{W<*p@W6>GmZPwx8m4Km?` z#o_`O>9?M7Qi6knTlbesqe7cal`{Vp1#9=_H~}p z50i9qwR-y(wks3x`N4#FFxMtmMBC|ldlh*B%Wp5v-<>5^i~?}kV*7S@sD7x7M(-VN z_gB*)GcyjMhTi9TZ7Wlaq6f>YGtKf<>@b1Ol&1$OG9ZCFI2_Y6;@h`TN-O|3MBM(l z{#*iKFQ58Y4`zxY&B1UQRLegNur`!zz3Zj*kvDtmIQ& zQzf~gFQ$mWVE0wB5)D{7zThnS(@Y2D#l*zO6HW57-}8-K#?c{LKLBu5*x0AlG&ONk z*dp5*j9@#VEuAL9JO_D4;b84?i|G*O8ziYZqkp02r~ifK4Q7V-yVh1se1UCgWl+KN zdN)Zw0=6`akcsq?;EnAxf6*5IjUVayVdj~u>)gjUp$#6|IZn374SUU;?mtl(kU&#T zi`2@t;rRiN!J12kL0Gw$rrC#!c}bdw8=d@`dtrNH<&o%q8!VO!~vA(lxYzmNB7zEG{l?&Ueoq z_hnsmzjv=9OF#y4Soh(>@4pQ9^$mavCw1cjwUqsi_IJ##AN?*ZZzbmBoSiTt%ufJR zKXZ-em!AcjNfv;<%;tLA(#e+4x-oAui8SjlT!qT%ProTE-W{^pC7hm?7FGywtf&OW z6%Cpd$P*VA@B8Twq!eo21OOl*DjM=D(_Jtw$_=}_K7Ap*hjPTA9Up5p&jBncZ(+a| z6Hfs6O^2?xobb_4_U8GuAyP>btxsvCM777i7l9mn@y1-kqF{}va3!n=F9={g{@(A;{r``U%b`$+2U@ij4lGRhRlVbq9uBAmoMTN0a-LHs3 zO*B0!cT)8A_V$CPf4SS()YR122pm6DUpj>MxaaxSm$OxYYLn=yax-YtD9{a?#SF0wK7B-TU!TcHrBQ>E zVye-r+zS5suXIf4x2iJN%296>t72%B>HW9b&X5Y-)Hic`d-e3U8Ov%#CF7HmCd47= zQe$glW!l2zY$+2%N~uk_fH#QE>1*clX&g1C^}Rm6bu|KIJ~3*N%;07oq0J9)D$6 z-(4khLKW$fon+h9F`bAP(uBlBroe|j?;`)>5RJK{rshSfE$}qc{BswPYz}1|oSd4P zqS3sFvb`ziATEmO+|fExkg(1A5l>ifpz-9tzjWc1NQd2-U(4pIYPsG&hL(SVcS|5SL&GcB|%>IQhj-wE;Iz1%a(^t~5V&geo!kJ1cI z#S_ZKYC;7?&aD26cv*V=Tignu#!0Y6VQ>bmk=IHAiRFWD%+nIY1_^42}_ zj98g3oCtAKUxD&aSnAR?LUimF=0jQw3)yE_6m&_p3h6zYc&8NPX+1x9UG?8MgAv^0 z@zOupWwK?nTPtRfK>hGfT-?M@tnbdB6W3g}mV<(n=Jan;QK?2dkHx=6CkM;tD>#G= zKkL2UHiVa(;64GGO|f-}J*vv4-iHPNx64&PD~wD}HOe=a18y$t_@-$jGDD;wNU<4_9V)V;YCIfq&8Wep zV?%u!pb8vGh05x7ICZK;cixCInYD<-v&Q#%_= zDRGYc&CPrn4H6!C1%Z1V>$`F4;3 zMcmt3AF&R^lzIoRVsiDEw^HWB_;|_C{V>PQ*^2&!J4sKiYJQ#+zB&J^iNwoUXyfz- zqRj7l`!l%DN9XQ4kwk+lCY`LDqA~No;!7osNg7{DhY0*5%)76yw9K8t@kz!ZS*3=O jZi_h%dhk55J!XeYgMX}iO7915wjhkYsUBJ9cEtYxsrG6A literal 0 HcmV?d00001 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 9b49da10..c8fc11bc 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -62,9 +62,11 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) : QMainWindow(parent), gui(_gui), + sslLabel(new QLabel()), systray(new QSystemTrayIcon(this)), activeTrayIcon(":/icons/quassel-icon-active.png"), - inactiveTrayIcon(":/icons/quassel-icon.png"), + onlineTrayIcon(":/icons/quassel-icon.png"), + offlineTrayIcon(":/icons/quassel-icon-offline.png"), trayIconActive(false), timer(new QTimer(this)), settingsDlg(new SettingsDlg(this)), @@ -72,7 +74,8 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) { ui.setupUi(this); setWindowTitle("Quassel IRC"); - setWindowIcon(inactiveTrayIcon); + setWindowIcon(offlineTrayIcon); + systray->setIcon(offlineTrayIcon); setWindowIconText("Quassel IRC"); statusBar()->showMessage(tr("Waiting for core...")); @@ -84,6 +87,11 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent) if(style != "") { QApplication::setStyle(style); } + + connect(Client::instance(), SIGNAL(securedConnection()), this, SLOT(securedConnection())); + sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/no-ssl"))); + statusBar()->addPermanentWidget(sslLabel); + } void MainWin::init() { @@ -131,7 +139,7 @@ void MainWin::init() { // attach the BufferWidget to the BufferModel and the default selection ui.bufferWidget->setModel(Client::bufferModel()); ui.bufferWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); - + if(Global::SPUTDEV) { //showSettingsDlg(); //showAboutDlg(); @@ -286,10 +294,6 @@ void MainWin::setupSystray() { connect(timer, SIGNAL(timeout()), this, SLOT(makeTrayIconBlink())); connect(Client::instance(), SIGNAL(messageReceived(const Message &)), this, SLOT(receiveMessage(const Message &))); - systray->setIcon(inactiveTrayIcon); -// systray->setToolTip("left click to minimize the quassel client to tray"); -// systray->setToolTip(toolTip); - systrayMenu = new QMenu(this); systrayMenu->addAction(ui.actionAboutQuassel); systrayMenu->addSeparator(); @@ -344,6 +348,15 @@ void MainWin::connectedToCore() { //ui.actionNetworkList->setEnabled(true); ui.bufferWidget->show(); statusBar()->showMessage(tr("Connected to core.")); + setWindowIcon(onlineTrayIcon); + systray->setIcon(onlineTrayIcon); +} + +void MainWin::securedConnection() { + // todo: make status bar entry + qDebug() << "secured the connection"; + + sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/ssl"))); } void MainWin::disconnectedFromCore() { @@ -355,6 +368,9 @@ void MainWin::disconnectedFromCore() { ui.actionConnectCore->setEnabled(true); // nickListWidget->reset(); statusBar()->showMessage(tr("Not connected to core.")); + setWindowIcon(offlineTrayIcon); + systray->setIcon(offlineTrayIcon); + sslLabel->setPixmap(QPixmap::fromImage(QImage(":/16x16/status/no-ssl"))); } AbstractUiMsg *MainWin::layoutMsg(const Message &msg) { @@ -474,13 +490,13 @@ void MainWin::setTrayIconActivity(bool active) { timer->start(500); } else { timer->stop(); - systray->setIcon(inactiveTrayIcon); + systray->setIcon(onlineTrayIcon); } } void MainWin::makeTrayIconBlink() { if(trayIconActive) { - systray->setIcon(inactiveTrayIcon); + systray->setIcon(onlineTrayIcon); trayIconActive = false; } else { systray->setIcon(activeTrayIcon); diff --git a/src/qtui/mainwin.h b/src/qtui/mainwin.h index 0f5e299e..a317c772 100644 --- a/src/qtui/mainwin.h +++ b/src/qtui/mainwin.h @@ -63,6 +63,7 @@ class MainWin : public QMainWindow { protected slots: void connectedToCore(); + void securedConnection(); void disconnectedFromCore(); void systrayActivated( QSystemTrayIcon::ActivationReason ); @@ -94,6 +95,7 @@ class MainWin : public QMainWindow { QtUi *gui; QMenu *systrayMenu; + QLabel *sslLabel; void setupMenus(); void setupViews(); @@ -111,7 +113,8 @@ class MainWin : public QMainWindow { QSystemTrayIcon *systray; QIcon activeTrayIcon; - QIcon inactiveTrayIcon; + QIcon onlineTrayIcon; + QIcon offlineTrayIcon; bool trayIconActive; QTimer *timer; diff --git a/version.inc b/version.inc index 5ce1cd16..7228cb8f 100644 --- a/version.inc +++ b/version.inc @@ -5,7 +5,7 @@ quasselVersion = "0.2.0-alpha5-pre"; quasselDate = "2008-04-03"; - quasselBuild = 698; + quasselBuild = 699; //! Minimum client build number the core needs clientBuildNeeded = 642; -- 2.20.1