From 9d28e7a366e4538b57420dbb7224a518691f0032 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Tue, 24 Jul 2012 20:50:58 +0200 Subject: [PATCH] Make the menu icon for the smartdevice control change according to whether or not it is running. --- resources/images/dot_green.png | Bin 0 -> 1526 bytes resources/images/dot_red.png | Bin 0 -> 1450 bytes src/calibre/gui2/actions/device.py | 10 +++++++++- src/calibre/gui2/ui.py | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 resources/images/dot_green.png create mode 100644 resources/images/dot_red.png diff --git a/resources/images/dot_green.png b/resources/images/dot_green.png new file mode 100644 index 0000000000000000000000000000000000000000..c05376d7a78c5b5b0eb7e8155fac75d829445444 GIT binary patch literal 1526 zcmV*tc)l1%y>hAOt^11;26xB{c;^8L2dN#!<%<8xza2$uHEBN~N$SM@!O4 zB}dH}G_7Pb6eKGV91|7P`~qd=dqv#u_jcdwyhn>L?lV7jrvB(MXV2r@d(ZjZbMCwM z5uzxVPFf!>2>9uEW9UY62d`DVRVM9j#6XHPEClsHo0Bqg<;mhSODh z5TtoM`dZq~m#kM!PyqPwCq~xOVpCyn$#&_V4dMF1Y4QE$flFur&Q%YBU`Mmkz9E1l zSzxHHK#@UEcyTLK8P7_YScE<~^eK;8{SxOHVD-UPfa!6mu;=9V&C#Kw(_(w3fWv73 zUTAqp;0Hleq(7+XP$;>62+9pb+30ft`fOe3LP?Rr zxMQQREDYTZj+O6%TgFT4(Il5+&8rFkD{|G6it$nVmQ0SF40TLN$A~^-XGeDHk2P<6jI=A4gQ2>>mD&sN+vTGvv=Fu$j1-I843mDTBL9p~20|!2VOaz-+(Q8O%N^MFYu@eb*X^Mm0p@MdIA$eG zWLSp5)CAh-1mo7y8l>Q@@a?4(y1ki&Z)K>E$e|AE{7rUJlg8+{DZ z6UK+Ij0!iQ%c}q+L16}X*i&%i_P1|aJ(pm{7e4tZ!{f#V>-Biq@J|#-snMhgYK%rW zRDAO2?su(89s#C(=Cl0y$jHo?zJ2frwtE$Tp;;)sbQ%7*awUE5VyoxZaO$Vp5S@lK z%uY_iBbdW1IK8xb8joZKat`N%*=7&TU1n+fVCeubX`NP5o8yNJOpA^P0~==rZyd!M z#s|tPZ$aUibJEqk;J^yY{oeKfFMlip^w+ZN`P7s|>~(>If4WkrRV=Q7f*pAUxO&?F zG+p@deFcD&44wNivqx~(<&(z@!%rguEo;olN=Vilv~Q$eqev3(d`4b1jr#1LHzB{|Ja85!C!qSpOhFLtu`FwzUwwS~W1b{3vS->wrZ4< zxfdrALZCqK-K2S>sH!DIs+s2einZ48Ul?nb1`O&%;ao14>5(%a0Tit_x9x%2+FF&L zpC655D9i{!(=_RHI%#xDGYmtZCfsu=ijo|m$;IOsL8H+KI7h0H%WO9D?maMiiB3G8 zb^jyx0RVTCKqM`}xNQ{`6+~lWBM})HDchQxo7?&V0s_R~;9wEQh*42dZBB8%{451_ c+u8&C1?524-}?^}>;M1&07*qoM6N<$f}CvUw*UYD literal 0 HcmV?d00001 diff --git a/resources/images/dot_red.png b/resources/images/dot_red.png new file mode 100644 index 0000000000000000000000000000000000000000..88df5ccf1538f96e29aba049ed95279a9a3dcb67 GIT binary patch literal 1450 zcmV;b1y%ZqP)~6Q+UbaDKZ8eme6seSJDuRSSB>D$z6Uv3*%`|ZFjyF% z5v7%~iLY_>>wv3W1r%=sro1|{sZ5T6mW)B_?f|5IzX4iII*IBND82cdH539E*ggxe z>QXFMca*Z)4~fltfUjEvT0#O{3V|jC!BCZ1Co}_;=mt`B0VRl#9O?(D>nv#T=rQ#5 z&V&3f0Jt@0uo?|;ZNcUH?6SI6SIYr(CV>{3%*;@zZwLY?s|b{v2G$?eBXeF!pxu=~*{|WSY zFxP)xfE(Ma+2v8z<2~fs{5zUxSMxo>Zu0C7ZrRSqO>a0H^HtSK$lZZsJgcPashzrvjCrn%j;gYJ^2*geCpBD z{-AQWJP^C{D@Y?lr%?0ChC%?>wpdqC7IwIF)q0>DrTB9SFD>}oplnXiA^`{t^nsR^ zYc^hq|Ctw{XN&bP?{v01pI8fqrsD035+9@BA4Nm>x0{d*hufO2#NW#c(7oAu!Qpnd z*h~O9Rix;1fmjY=2oMPdFK)UTe>N|`)n;L=w8G=%mahauk&6q!u#g(L4S|U%-{!7F zbzXqW&4OHB>9JUBT(p$R{Y+iuQO@i$8dMt)!6n^a%odN>; zfB>IwD!rq-0Kmmf!dP{AnU}!sGqmDnfS^e9O2F9Uw6CSRKnZ?$MmSed>UfT2XwVh4 zr~oATl+ouzAaZ`^&xu`m0nRn?hn=Fey~Hknno1WHfaWYP6HP!^ins0RN#_3UG0%~$;rJ#8WkQN61@XeUFUxTV! zdkX=4^E97bw%Y~E;m0Z+phT0Iax7+;X=m&_{N;~8G?6yz-e&6e{Zatn>kVA)`48O= z;SFz@9h6uSn^J!Cau8)@B<`)2bg#ZV7W#Y(@BgFXl zIJK+q(+^6l%m7}( z@j@Yh4g~1m*G2||L1toN!u&XJ>>IuCu2WCGT8-r>75Pj#%)ZdDKeCUN`N&XMXS3dB z+5=J&#xU(6N;viHvYqX^u1g%pMMp zSs~qPs0|PA_Nb8-mqUOOCkG5o0mssrb17K`Mb%&?oPtm!0h6@j$Ggs&^CRN2I~Y8O zJ|=JuplJ-VpcDl70s#j0FU$Z*k|NGL&U8i0@2Lq7Z*$60Gi7Kcw60c~=TwsRYXlVv zv5xK$SM8;7!83(HRg|=*Y0*c{fC=zY-~Ar&`~8e4iZt3#m=S`eX;M{H8lBP>i-o|M znD2OsG995xQ_x1|d0xjeW{tF1ET&|8;PdsY@nUa*9xws2!vryB6DF%092_L3r>BYf z`udD66bjAnxm+%zs;bIB8>6A2Vcsd8&#cYBSzRu`-&1Jc-`{=mrT_o{07*qoM6N<$ Ef-$PXS^xk5 literal 0 HcmV?d00001 diff --git a/src/calibre/gui2/actions/device.py b/src/calibre/gui2/actions/device.py index 8d08f53f0a..92ed77e324 100644 --- a/src/calibre/gui2/actions/device.py +++ b/src/calibre/gui2/actions/device.py @@ -59,7 +59,7 @@ class ShareConnMenu(QMenu): # {{{ self.toggle_server_action.triggered.connect(lambda x: self.toggle_server.emit()) self.control_smartdevice_action = \ - self.addAction(QIcon(I('devices/galaxy_s3.png')), + self.addAction(QIcon(I('dot_green.png')), _('Control Smart Device Connections')) self.control_smartdevice_action.triggered.connect(lambda x: self.control_smartdevice.emit()) @@ -217,7 +217,15 @@ class ConnectShareAction(InterfaceAction): def control_smartdevice(self): sd_dialog = SmartdeviceDialog(self.gui) sd_dialog.exec_() + self.set_smartdevice_icon() def check_smartdevice_menus(self): if not self.gui.device_manager.is_enabled('smartdevice'): self.share_conn_menu.hide_smartdevice_menus() + + def set_smartdevice_icon(self): + running = self.gui.device_manager.is_running('smartdevice') + if running: + self.share_conn_menu.control_smartdevice_action.setIcon(QIcon(I('dot_green.png'))) + else: + self.share_conn_menu.control_smartdevice_action.setIcon(QIcon(I('dot_red.png'))) diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 8a7dfa1153..b414ef04dd 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -344,6 +344,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ self.device_manager.start_plugin('smartdevice') except: pass + smartdevice_actions.set_smartdevice_icon() self.keyboard_interrupt.connect(self.quit, type=Qt.QueuedConnection)