From 7cadae7131a53b651943a23a7e7f4eadb3ed648b Mon Sep 17 00:00:00 2001 From: Dan O'Reilly Date: Fri, 2 Jan 2009 19:52:28 -0500 Subject: [PATCH 1/2] Move logic that saves settings for network entries out of gui.py and into netentry.py. --- wicd/gui.py | 84 +++------------------------------------------- wicd/netentry.py | 81 +++++++++++++++++++++++++++++++++++++++++++- wicd/networking.py | 7 +--- 3 files changed, 85 insertions(+), 87 deletions(-) diff --git a/wicd/gui.py b/wicd/gui.py index 93fbb93..58aefc6 100644 --- a/wicd/gui.py +++ b/wicd/gui.py @@ -579,8 +579,8 @@ class appGui(object): """ if fresh: - # Even if it is None, it can still be passed. - wireless.SetHiddenNetworkESSID(noneToString(hidden)) + if hidden: + wireless.SetHiddenNetworkESSID(noneToString(hidden)) self.refresh_clicked() return print "refreshing..." @@ -665,90 +665,14 @@ class appGui(object): # Now save the settings. if nettype == "wireless": - if not self.save_wireless_settings(networkid, entry, networkentry): + if not networkentry.save_wireless_settings(networkid): return False elif nettype == "wired": - if not self.save_wired_settings(entry): + if not networkentry.save_wired_settings(): return False return True - - def _save_gen_settings(self, entry): - """ Save settings common to wired and wireless settings dialogs. """ - if entry.chkbox_static_ip.get_active(): - entry.set_net_prop("ip", noneToString(entry.txt_ip.get_text())) - entry.set_net_prop("netmask", noneToString(entry.txt_netmask.get_text())) - entry.set_net_prop("gateway", noneToString(entry.txt_gateway.get_text())) - else: - entry.set_net_prop("ip", '') - entry.set_net_prop("netmask", '') - entry.set_net_prop("gateway", '') - - if entry.chkbox_static_dns.get_active() and \ - not entry.chkbox_global_dns.get_active(): - entry.set_net_prop('use_static_dns', True) - entry.set_net_prop('use_global_dns', False) - entry.set_net_prop('dns_domain', noneToString(entry.txt_domain.get_text())) - entry.set_net_prop("search_domain", noneToString(entry.txt_search_dom.get_text())) - entry.set_net_prop("dns1", noneToString(entry.txt_dns_1.get_text())) - entry.set_net_prop("dns2", noneToString(entry.txt_dns_2.get_text())) - entry.set_net_prop("dns3", noneToString(entry.txt_dns_3.get_text())) - elif entry.chkbox_static_dns.get_active() and \ - entry.chkbox_global_dns.get_active(): - entry.set_net_prop('use_static_dns', True) - entry.set_net_prop('use_global_dns', True) - else: - entry.set_net_prop('use_static_dns', False) - entry.set_net_prop('use_global_dns', False) - entry.set_net_prop('dns_domain', '') - entry.set_net_prop("search_domain", '') - entry.set_net_prop("dns1", '') - entry.set_net_prop("dns2", '') - entry.set_net_prop("dns3", '') - - def save_wired_settings(self, entry): - """ Save wired network settings. """ - self._save_gen_settings(entry) - wired.SaveWiredNetworkProfile(entry.prof_name) - return True - - def save_wireless_settings(self, networkid, entry, netent): - """ Save wireless network settings. """ - # Check encryption info - if entry.chkbox_encryption.get_active(): - print "setting encryption info..." - encryption_info = entry.encryption_info - encrypt_methods = misc.LoadEncryptionMethods() - entry.set_net_prop("enctype", - encrypt_methods[entry.combo_encryption.get_active()][1]) - for x in encryption_info: - if encryption_info[x].get_text() == "": - error(self.window, language['encrypt_info_missing']) - return False - entry.set_net_prop(x, noneToString(encryption_info[x]. - get_text())) - elif not entry.chkbox_encryption.get_active() and \ - wireless.GetWirelessProperty(networkid, "encryption"): - error(self.window, language['enable_encryption']) - return False - else: - print 'encryption is ' + str(wireless.GetWirelessProperty(networkid, - "encryption")) - print "no encryption specified..." - entry.set_net_prop("enctype", "None") - self._save_gen_settings(entry) - entry.set_net_prop("automatic", - noneToString(netent.chkbox_autoconnect.get_active())) - - if entry.chkbox_global_settings.get_active(): - entry.set_net_prop('use_settings_globally', True) - else: - entry.set_net_prop('use_settings_globally', False) - wireless.RemoveGlobalEssidEntry(networkid) - - wireless.SaveWirelessNetworkProfile(networkid) - return True def edit_advanced(self, widget, event, ttype, networkid, networkentry): """ Display the advanced settings dialog. diff --git a/wicd/netentry.py b/wicd/netentry.py index 40a5fd3..fca87fb 100644 --- a/wicd/netentry.py +++ b/wicd/netentry.py @@ -237,6 +237,39 @@ class AdvancedSettingsDialog(gtk.Dialog): super(AdvancedSettingsDialog, self).destroy() self.destroy() del self + + def save_settings(self): + """ Save settings common to wired and wireless settings dialogs. """ + if self.chkbox_static_ip.get_active(): + self.set_net_prop("ip", noneToString(self.txt_ip.get_text())) + self.set_net_prop("netmask", noneToString(self.txt_netmask.get_text())) + self.set_net_prop("gateway", noneToString(self.txt_gateway.get_text())) + else: + self.set_net_prop("ip", '') + self.set_net_prop("netmask", '') + self.set_net_prop("gateway", '') + + if self.chkbox_static_dns.get_active() and \ + not self.chkbox_global_dns.get_active(): + self.set_net_prop('use_static_dns', True) + self.set_net_prop('use_global_dns', False) + self.set_net_prop('dns_domain', noneToString(self.txt_domain.get_text())) + self.set_net_prop("search_domain", noneToString(self.txt_search_dom.get_text())) + self.set_net_prop("dns1", noneToString(self.txt_dns_1.get_text())) + self.set_net_prop("dns2", noneToString(self.txt_dns_2.get_text())) + self.set_net_prop("dns3", noneToString(self.txt_dns_3.get_text())) + elif self.chkbox_static_dns.get_active() and \ + self.chkbox_global_dns.get_active(): + self.set_net_prop('use_static_dns', True) + self.set_net_prop('use_global_dns', True) + else: + self.set_net_prop('use_static_dns', False) + self.set_net_prop('use_global_dns', False) + self.set_net_prop('dns_domain', '') + self.set_net_prop("search_domain", '') + self.set_net_prop("dns1", '') + self.set_net_prop("dns2", '') + self.set_net_prop("dns3", '') class WiredSettingsDialog(AdvancedSettingsDialog): @@ -263,6 +296,11 @@ class WiredSettingsDialog(AdvancedSettingsDialog): self.txt_search_dom.set_text(self.format_entry("search_domain")) self.chkbox_global_dns.set_active(bool(wired.GetWiredProperty("use_global_dns"))) self.reset_static_checkboxes() + + def save_settings(self): + AdvancedSettingsDialog.save_settings(self) + wired.SaveWiredNetworkProfile(self.prof_name) + return True def format_entry(self, label): """ Helper method to fetch and format wired properties. """ @@ -353,7 +391,6 @@ class WirelessSettingsDialog(AdvancedSettingsDialog): self.chkbox_global_settings.set_active(bool(wireless.GetWirelessProperty(networkID, 'use_settings_globally'))) - activeID = -1 # Set the menu to this item when we are done user_enctype = wireless.GetWirelessProperty(networkID, "enctype") for x, enc_type in enumerate(self.encrypt_types): @@ -368,6 +405,40 @@ class WirelessSettingsDialog(AdvancedSettingsDialog): else: self.combo_encryption.set_active(0) self.change_encrypt_method() + + def save_settings(self, networkid): + # Check encryption info + if self.chkbox_encryption.get_active(): + print "setting encryption info..." + encryption_info = self.encryption_info + encrypt_methods = misc.LoadEncryptionMethods() + self.set_net_prop("enctype", + encrypt_methods[self.combo_encryption.get_active()][1]) + for x in encryption_info: + if encryption_info[x].get_text() == "": + error(self, language['encrypt_info_missing']) + return False + self.set_net_prop(x, noneToString(encryption_info[x]. + get_text())) + elif not self.chkbox_encryption.get_active() and \ + wireless.GetWirelessProperty(networkid, "encryption"): + error(self, language['enable_encryption']) + return False + else: + print 'encryption is ' + str(wireless.GetWirelessProperty(networkid, + "encryption")) + print "no encryption specified..." + self.set_net_prop("enctype", "None") + AdvancedSettingsDialog.save_settings(self) + + if self.chkbox_global_settings.get_active(): + self.set_net_prop('use_settings_globally', True) + else: + self.set_net_prop('use_settings_globally', False) + wireless.RemoveGlobalEssidEntry(networkid) + + wireless.SaveWirelessNetworkProfile(networkid) + return True def format_entry(self, networkid, label): """ Helper method for fetching/formatting wireless properties. """ @@ -575,6 +646,10 @@ class WiredNetworkEntry(NetworkEntry): self.destroy() del self + def save_wired_settings(self): + """ Save wired network settings. """ + return self.advanced_dialog.save_settings() + def edit_scripts(self, widget=None, event=None): """ Launch the script editting dialog. """ profile = self.combo_profile_names.get_active_text() @@ -756,6 +831,10 @@ class WirelessNetworkEntry(NetworkEntry): """ Escapes special characters so they're displayed correctly. """ return val.replace("&", "&").replace("<", "<").\ replace(">",">").replace("'", "'").replace('"', """) + + def save_wireless_settings(self, networkid): + """ Save wireless network settings. """ + return self.advanced_dialog.save_settings(networkid) def destroy_called(self, *args): """ Clean up everything. """ diff --git a/wicd/networking.py b/wicd/networking.py index 160e3a3..543f524 100644 --- a/wicd/networking.py +++ b/wicd/networking.py @@ -411,12 +411,7 @@ class ConnectThread(threading.Thread): BACKEND.StopDHCP() def connect_aborted(self, reason): - """ Sets the thread status to aborted in a thread-safe way. - - Sets the status to aborted, and also delays returning for - a few seconds to make sure the message is readable - - """ + """ Sets the thread status to aborted. """ if self.abort_reason: reason = self.abort_reason self.connecting_message = reason From bff4f961e7211c03aadd9f7c946baeb6cb3f08f2 Mon Sep 17 00:00:00 2001 From: Adam Blackburn Date: Sat, 3 Jan 2009 10:35:28 +0800 Subject: [PATCH 2/2] Changed 25% signal icon to red and 50% signal icon to orange --- images/signal-25.png | Bin 1593 -> 1545 bytes images/signal-50.png | Bin 1694 -> 1667 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/images/signal-25.png b/images/signal-25.png index d6ef732a1932448f5f56006492e877e19c434126..c4e12d4584ab75a3a5925222eb5ce593362c9c50 100644 GIT binary patch delta 1507 zcmV<91swXh42cYoBpd;AQb$4nuFf3k00006VoOIv0RI600RN!9r<0K}7=H(JNliru z*#QFr4KPN-`<4Iz1&K*SK~z}7?O07~B-a%^_f_?m)M~Xf8jY;M#*j~gaRM4ApwUNGhnP>GiI2v6-DalmZqgrSJiv>-jhXF2Sw2s zqA@};dGM&!tE&6n`MBo^Nq=1D@$tu>+#3!DFO#g@{gmX1sUIcPiK>objQ>0>X1fm` ze$~x!%}2M}WxwAS0E=k=Y5>OoMgSfG_~KwR>IHm<#PZMsjq)AbANtNL>xd0AyguA zA|g`}IRr2!xv#30-vBCNvA{BrsfX4v#0DJ}D0e~+?qkFw8E9RZI-@Wtt>%aIk z%fqP|3wJ*@vtu)xYO+bvI4NhpNo z08RlU0Am23zyIC`!+%SO#s8)G^2#J6Gm<@b4cr}Qbb%tV#AZ8EXxi6>;iZQ;QsRR^3LPO zlYetYfMt?_WD7vg-9fVD?tORPG_w~~^_4q!Zl{|d&8IxO*q1)L&a$n_RFiG+gbFTqe0n zGP=8&8B$7Fzu&)d0g#56Ims5uuDdV0`>Lwes#<56lov>IAlW8~1>W6#&CH%Nv+t#p zezLl{^2aMJ=DaFh0JEL(_;7G;4MPY9pagKzz;i@$4}ZWzk`GA!eRucIOE)FYEb#Bm zw1(WN;Xo-Oo$q8gYyR@F4LC$2Q=s6az30bzW1D&eP307x-#h3`Ob&GpLFxACRx#J=BlSmsc_X3ud1n) zFZzq=GVVHgMSl|Dui&-aAtx1M+@xl?~l6QayW}2gtGCTBN3U1$OyoG zjM4LzM-SFo^Xn#qyE0huHT9$>8o?lEWtc z{>aQ;Q`PbI_SQ#dPV{UzTinY0S2!Dw4|};yj(-rsTqogfNS;8ADB}!ORWOyuD2gYV zb)I~iji!i15t#v)ipXIIVdU-y0KTqcJiHXSbb1Ie6C@81&ls%*ak5H4jDdBXF_mrh z!s-R4*;?F`xVw`KX4WyYL5y)@I2`VOL!&thAv`%J>GuKbOvZk3s>N?FcqGC6#@6(Eqz77!!ZHGi{SmSx#f`nfjdp^J<7Y-X!wb|@GQ$WZq~PAR<*=J1{Ca#f|GDBRtRq^Y{m-PFv?jH(J%m6PM5{V&Xrr~jXxng{>@002ov JPDHLkV1g}h=#l^c delta 1555 zcmV+u2JHEX47m)DBn<>}LP=Bz2nYy#2xN$nKp1}+bVXQnQ*UN;cVTj60C#tHE@^IS zb7Ns}WiD@WXPfRk8UO$Vwn;=mR9J=WSW9bU#})og-Pe1Y#0!h%o~(6Kp07GoFW~R_oCZb@#nh=lingZp}zD zCQN_J$TH->r8c+f)K~SL@0?R63D?;^{p6Fo?M~-sk_wWil7{Yn>?s|ll)7bEel;GA zo_zW6VLku0H~YV=Uaza!Y8imV=Ku--0{~qBj{tnp-QRD7Z*QC5yj}a7fmsf~Bn1E& zfU2a1q_(6DN#m5#c(vKguRRz^O-Uvxm$ZLEG9%d_xlZy;cmGjJ>6fier?~cDY!)9f zGXjVqgsGVg&8%-`M*w<~_EL;~?ZE(;n3(`1Gn)eF12_Qi48WHF9su~_ZnxXGGB6+9 zzPo2eC<0@~a-fn-l zw<^`@8h|lo(s~3S05}B@0rUWT{^6ZFYs)zJzcepvnn`RXsX;PGs*!Aye8b&;=$325G73kjLhuV%z9?FNAiig_m^4!s?|(pMl&lhi<9Fl z%k}|00q_vO{ngdgdxzcbSBuEC5Imt$r=dYhMKe&Cn`p&!W{xO7bN^(N?vAd5`O5+scs4UBIF`bT1N26i? zq`k1NSo}?#|9+ABN`DdS1m${jh&F$^qHX478g!2;n zB3=Fi;Ms?F?zArh1OOlrvp5rGG<5(8KsisMr&*Q_%d%WPX-YBxxuhC^rliQ31(LNG zV{>g|+vn%Nt zfQOPENc#8R9zR~WQZSdW1^+q!d>-6!9s?6It1YwecR`vjHfJ?SEAv>}Bw4t7Y_?k2 zWdtCb$4QuvYb19`{xqd@9AiA*y?OJWSfVUB=VvA^7n`$%zZ>rUgOq>LFPiOkk^lML zpAPeSUQnD;K2A)ht~82_!;(e6@X5((8XZrbP9Oj7H^2YG!ikx=nN33oL(F1k!Tm=I z?sxb0>X!imywsePA%w|1_Z*wqp_z37?3HE7{AugKx>W!{E+|nR9V}d_NQmR4I4)6) zB>VL15APiJ7y3VmWm$i@@Z(vbDJhVwOIn+^zdv^OU!|0KJG;9dOen`CiqTY)!5E{HELBgwfm2?9cQY%^Yz&}pW=A1}F3EiW zk7H3BEwg@pl8!)g6Br0)lvfhZ zZg$q!_b&K*vCtfc5KeGj((ePfchu`G)tu!geh5c`K%;1c2Zx8Gm?g!$L{Td=btf;1 zh0R|>&y+?|j#*(?1yIYfEL&z%%UXUMdx&0upajCGS0mAbwOzWf}{*{ib<-wd*c-}JFCqwYr3>(pWVIV?mIEYw>CC6A3Wa| z)?TRR0?8`L4#_u3{>0q}DW(1!ySqic?Yp2Q5d=k04wrjdQVNMNiz+LTMXgSmrIe6Tvf*G*{Vz|{rb;2J4&nd+002ovPDHLk FV1o1j=@I|{ diff --git a/images/signal-50.png b/images/signal-50.png index 586213b97be1544e556a1eddd60120d645a91241..198733aa2a3744f0702d06cb0bfb389da2333232 100644 GIT binary patch delta 1630 zcmV-k2BG<$4TBAkBpd;AQb$4nuFf3k00006VoOIv0RI600RN!9r<0K}7=H(JNliru z*#QFrAOuHURm=bY1_Mb%K~z}7?O02XT}K(Lulw9PcjnH^jvo_)AV7F5cu63!Lm*|v zhTnmNkPttC4ZCb2WyPKa2>t+)7m+}M2n0&NGML03O+4dy-8<*m-Cq?8--*W9A;PhS zF`}iG&gPucUw2h~Rc(@Rk$=bUfA{7eHa6G4C}|+sNILPtqf*L2DP=FE^j=f9+jswQ zZ&KlckI7`B)zwu4a5^2p0ALPa55T(sZavt2upIC|G%ozfm{|qDBn1Ewz*y3^N%u=B{yY@ZnVA3-GwT7&06YM&1K=)zI{y>Z* zDORDOt0p;j_qn^zO5#EG;h<~#y_4g5cV}nk==(qX-mfpR08G|5)~=35qfG$qLRt?2 z1ON?y3}7F?Uw`qlUw>^r%@6)B%^yLTOj4AzOfpDXBDqd-%iTZg?qAP2?_b-x_FDjN zT2s-F@~vG)d z)&bo7h@!y-&wsRlsRJkg(xQnrF~*aW($h6fc?ZG(F+hx#eM~yZY#2&3=h$S+8ZT`> zVR2!>)g?(&NgI+9Nq2YToa5^1>iG$PbqzF*hC;L8k=cpBky4>qrcw_XVa&@5ingcedYHImcpZ$OTj|bj8GC<~f)T(Q+4=y9#|X3T5R< z4&xO6Tufh(J1;oUnc3306~m@R90}+Niw;ZKL=PxKK<*+^Q;E%(X&RrAOF0|PmL#n# zxORo);D7FUx;BkZCjjigmS*zEC_`q1modZ@Rn-PK%_yVH%QxP82E{xnoJ~k>l6=wK zUoNG5b!~lhsQz~I=LeHVdgc^m50yFkh>YPAtbYI2$mZ2p$j&ieW1~l6i7}a zZ7$;P=iU7qrIh`x8(Y6QV>Hi(v(sCd$HLj+gQMjN^L=1MfuzYDh1o188-_OIwg%gI z9DioV)~p}DzpADNSO5_c&E%$%EieV-J}UQBTTm$s;e(8(nI$u80nE(oFodv2au>k8 zoYLV_k&E3v)MZ0vK=g=IMv4^r1ospychS|1;ggNW8%_uSL@8RRMifoeatN?EML#-P zd12$<7|k|>a17uPqY2=xgZ;zJr&EgKJ%2D}Ak)BNAcHXnc#0^gG9Q+ZT1WMvH#sJY z4>x_ujKvJ0I@j=5X}$}V77zsyCI?GKU;=UvPOQn>xQa8%gobxB}(B1$5`o7O~U6Z6saxe6S!*+L9$&TXL cPUiLapL+7z;}Wx!vj6}907*qoM6N<$f_60)!2kdN delta 1657 zcmV-<28Q{A4W12}LP=Bz2nYy#2xN$nKp1}+bVXQnQ*UN;cVTj60C#tHE@^IS zb7Ns}WiD@WXPfRk8UO$W8%ab#R9J=WSWS;yM-@G{-s_&}@yztt*q%5B6bTG05FmlX z4hbnM7A*M@>;h}VPw*}~_St2@4hbm|NFYT~BqF0k0n3T)*dF(M^>n|Fs(a62(bM+$ zLyCVqMiV1(rBc03Rozo{@44qblZ02!l-?@Q`Q&Ltg1#D2K%y8BMf`Cc=d z-TD01t=0OgcJ|9`b#+zi8yf~-IRZcrU_vYOCdi~0Sk+d$!B-MYC)<{+)Mno#uf5Q}by}3yQ5IjYuX*DYhhnH2!@l+qy&{Pg3GJ{q3pW!5H_?*4xw4H5+w zf|+3F@VQ$)D#+6g?f%@R6aA~&1n^Q|AQ6i^6Bc0_031L*E~4|Qs*ZBbrz@HrJESlO zN(3u{Ln`QSbCrtVFsU8^gFDaqri4YVu1Gp3X)Gy|jEF!frCQ(EI6DI9)gm#OKqFL9 zL4t#j)8TYwxEu*KdIHF?`jvk)l!RrxlRO_0S0dtDrIa6TjK}Yt8JMgN5G05MJ>WUu zZLu=X>Smp_)5ebWhp{#}xy}Hklmb8t;0Ox^up{XU0JkLFl=RQP+`hebW?)*jFcSzF z6-INNX5$H$Y+*@~pK<6OH)vX6+ezOhlAk^ovDWP&P+Ca|J7B(!F##sjUE zbya06UB36SNCZ5uIa?*UMe<5SeB0fBw7$97*MGY4$K86h?kRRuG)|v~d{$VFGW)|m z+Jm{z_S?JN?ce_L_kVu?fKClaLLdn`5yj=%QM#hO?bWrdn%O*>XV~mT?WyK0rwbNSLT`KZ13U2 zQGFB#P&y_`Fo-A)&yL(=^s`Rww88A4^5MbKsg4b30fG={fv}KUK}kiq%IfM~U7giG zK>#O(rkQ0kYXBUY*(W0 z{`6u&1VkBwitJYUg4}0yZEMZ^kbC=Q3TFAS44I@<3DtkFUW7|ZNP`OX%DB34;Vd0H zjXeUhyk$PV6D<_BkTP5wTrLdE>&x zi#H$pg{>2ME|DCP9Fu&Vh6cHUA@}Zm*XmEE`p#4YC*LwPtH;mu`OsNb&-<0Hp8&$yY{sgpAku=YMUH~Bh*$~t4R^m( zO8KUxRF;eSt}C;nBa#eB!H5WQF-OSV;qG=coeuv4;;9vm8a~yt00000NkvXXu0mjf D1VSYp