This just improves OS mapping -> icon, and I have substituted some better looking icons in a few cases.
Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://et.redhat.com/~rjones/virt-top
>From e19bc2773aeed0b08f63c37d88541aafa80616d3 Mon Sep 17 00:00:00 2001 From: Richard W.M. Jones <[email protected]> Date: Tue, 19 Apr 2011 13:48:07 +0100 Subject: [PATCH] Add operating system icon in the Details->Overview pane. --- pixmaps/os_archlinux.png | Bin 0 -> 907 bytes pixmaps/os_debian.png | Bin 0 -> 1269 bytes pixmaps/os_fedora.png | Bin 0 -> 1992 bytes pixmaps/os_freebsd.png | Bin 0 -> 2789 bytes pixmaps/os_gentoo.png | Bin 0 -> 2002 bytes pixmaps/os_linux_generic.png | Bin 0 -> 1266 bytes pixmaps/os_linuxmint.png | Bin 0 -> 1734 bytes pixmaps/os_mandriva.png | Bin 0 -> 1568 bytes pixmaps/os_pardus.png | Bin 0 -> 1618 bytes pixmaps/os_red_hat.png | Bin 0 -> 1859 bytes pixmaps/os_ubuntu.png | Bin 0 -> 2088 bytes pixmaps/os_unknown.png | Bin 0 -> 191 bytes pixmaps/os_windows_generic.png | Bin 0 -> 2134 bytes src/virtManager/config.py | 57 ++++++++++++++++++++ src/virtManager/details.py | 28 +++++++--- src/virtManager/domain.py | 37 +++++++++++++ src/vmm-details.glade | 114 +++++++++++++++++++++++----------------- 17 files changed, 179 insertions(+), 57 deletions(-) create mode 100644 pixmaps/os_archlinux.png create mode 100644 pixmaps/os_debian.png create mode 100644 pixmaps/os_fedora.png create mode 100644 pixmaps/os_freebsd.png create mode 100644 pixmaps/os_gentoo.png create mode 100644 pixmaps/os_linux_generic.png create mode 100644 pixmaps/os_linuxmint.png create mode 100644 pixmaps/os_mandriva.png create mode 100644 pixmaps/os_pardus.png create mode 100644 pixmaps/os_red_hat.png create mode 100644 pixmaps/os_ubuntu.png create mode 100644 pixmaps/os_unknown.png create mode 100644 pixmaps/os_windows_generic.png diff --git a/pixmaps/os_archlinux.png b/pixmaps/os_archlinux.png new file mode 100644 index 0000000000000000000000000000000000000000..87d2fb5336cfc74f0814faff287c0a8710324ea7 GIT binary patch literal 907 zcmV;619bd}P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L0Jx3-0Jx3;vj}*m00007bV*G`2ipV_ z4HqM<J$_0600Rq2L_t(o!^PH1h#f@~2H>yngs78X7CKfm<RN1;3z=3Ff>GQ@5FdjY z#77X_h%H(8K+HnK$Hs-wxX_KR1a}IG5*G??j3A~!98jYWL8es#Q3*03xo+x0rRh7l zk1-ZB{i>?}od5ji)M1Jd>Uh@uyp9Zf)Bk2f0)A(j^}Q**zZnmOI_{a2h2E3|Jcj}g zLQ|Fhy#b+)nyM7)xD~gg&wD~0x1W~~WM1Bn+4Q`C-IEwlOsIj4_z1V6pZ56x_hMz7 zP)w?U8*xL+i90Yqt_~*A!1_f0hU{}c-Jcyd8;S|iuZQRH;*e>Zo2qQqoPmM*aR3e8 z#!AM(fQ47rJOo+lZNMvd6Q}W2GNMRVANPbh?ie)`<7(gqT#%k0#de%(&6!0tYGEqI z@cwcf!DSiUMHYg5ukUeNQ<X=jW+3yT!X+74v5F&CV{fQqu~r(`f!i@N0&4?yp2Vi9 z3<z}`2x%{_ZGrTMfDgpD6N~2(<0u-qIH~=b7HEN`6z>IG*<r{Z*xFR(KVvhHS^Yo) z&kZhc2>0RPbdN3L`nVJaS7V_#hxao$k;-na^xv`AROJ`h+&l3uE^O`l8_K3Cm$PCv zvIt-90Ee$}xRovMW4V=@Qsx{ORu_7!v|Cr;@ec4aSZb<rrK2l8)M9r9CvjJ(<NQb( z$gF(2b>a=iY5bDU&DMO^ntK9Y;wS75b?l8K!cfOuxI6tXI#R7aBxI*r^X709j^kKU zm1o*w>~-Y*4EAB$5Ww}=GQ@yw9htB(^$)LyI&Mj2eRvjxI?mze4)GmJNAP=1RW7ZP zy4R)D-Jb-QkH0aO*M)T*`y9+-{};Z+OHEaN+!kt=s++1jk`Aq>LLK+vnN&w+6C1DL ziBQJ{oGe-=-aLN9pZE-KG*$U&M^iFt^D=l}#AB(6U58ys7olh^{5*O67CvmMvOf;+ zYKDY5UX&WwNAPP?mHW@qK&azRT!q6;RUV%PxT~&YhHS?5_@=4K<y-?t@k6fCX~A2- hgZJf7$4>_T{{`62C;tZNqD24z002ovPDHLkV1m5^r27B> literal 0 HcmV?d00001 diff --git a/pixmaps/os_debian.png b/pixmaps/os_debian.png new file mode 100644 index 0000000000000000000000000000000000000000..d2a6737ca6cfafacfffab2db12dc27cdeb59a058 GIT binary patch literal 1269 zcmV<R1Pc3!P)<h;3K|Lk000e1NJLTq001BW0012b1^@s6%bsqB00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipV_ z6$3OAb>0vF00ebOL_t(Y$JLcxj9g_I$AAAbGv`cqTZpNNKwE*P*qzx5!3v4S7(g3B zZFkRE!3({>8xudcB0)-oq>U2%iWgoMNVu>hV%nL7N{xv^FdAc_YTG?$8#G!VSV{{v zblW*+XV0IDSxMX7ZD(s!<NxMO-uHRl=a=W>eMO%-7;R!*zMCvcBAd?%HX={i`V;bL zpbXHThw|220Een$tnKc);JsoI%4*4%9C(LN)drp8J-auKIngLu_x5w=c>!MFHdaK- z>3U|hr00#-%IbNUF5-9CuOoHAH`!V*fiXh=#{O}mXg@kxPZ;X7E-nLU7=KLCUSJs@ z>^G2}XymPJ=h{vVZVJlj+INJvS`xM-ZE57KA1ri#FmI~sac>RdLBu}WSIp-4!A8+u z)yP}hvijH@zmrqfl+B{`-7*MP%a)Lhzn_J10x-cn7X~<3-$bL+CLI{5g0_GLC63v? zt|I^FKX#4I+y?t3+ezzV40m=NHo6m8>eb_MfN0gp3j?g{?B+myW1w#3R*Q#aAG6hH z7VX!H8GKgCqxkG{Eg7RZ3)U=Jzqa)YgKYgKjgqx%Uf(kZpnC4cM13>Eo#)CdjJL`Z z4uUm<MScQcU3a_}C>o`ik5i(hSs34Kv|jQn%#_anrzWEjs0NhNd{g3!*zba-`s#s- zDrC{v6&4#nZ`F$O#L4==SvJjloGko8D0{aR>;XSu^mC+v$#8RhD1VmjR29jmjo!2L zA$6zU?t9+TFn%<P5~pGEi3QH1G)(?D5sp^oZQ^L8XIC8!(l9=fhVjb)IS=(W1(H_U zoN5-WeQB7?GrRhf@Hd8w@tHYrQG%%i0D*+SLhAt{9_tSPF!IsaW}5H(4#fWbwJ*<w z>z1fnn%>)7v8WoJ0yr?ZxlaHS$U0BWyv${={Ko00=K@qUpqiXTF+#|yOa3Lm$ETj_ z6F`&}rxpw^y+}}g>w}tyF<BTdorS-CsMDsAx3Re&xjdfF>|E4K2%HjpWI-qU_n=3z zD7gwCC@UD<2ryK%Cwh%IdX>ahTdS|<Y8DGHVLSw|cgg4HYmk+~8;pOOhNG+2c6ZV& zT7NhrBVUK$Z^oa!a%uPY3buPuzhN3B*UJ8<rJI|1>o0rx8n^UbQ?go2W4g^mZS=zm zg1az31%8G2tL)W=&qy4x`AV~B|0|6Wnt7}L?|32{W4PEw8pTIt-YE%g87_9cHwUtw z(CoCxqGSUmKt3+%$WW*C2Eb%JW~kHVqLoGQ53?|F8YK(jPe#cZS&NsXwWN~PHZCg8 zyd^jkCCr$Q3Li#HJ)4g#{Wh;5wsKjOM#=ZGC~+1hBLJ^**Cme;EEv2pO5k!E_Hm1! z0OW(qxa>-!<eDr>I%yO?-y5;y@?_wH?-{*m`_r;+&%)$MtLJm6%5gz}H}iLB7VUk= zD}hnqX8<>_hkx+Z%U_Z#jPFmQ`0rVm+;`^w#lq;n=#6`18V-0VoE~^-&CHIH|Ao>@ f!sL>>`M=fs$b9IiZ7(~x00000NkvXXu0mjf+EQYe literal 0 HcmV?d00001 diff --git a/pixmaps/os_fedora.png b/pixmaps/os_fedora.png new file mode 100644 index 0000000000000000000000000000000000000000..0701d078d3a757886c360b1af5e5d5ab81250a15 GIT binary patch literal 1992 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 a-}7I<Om}h3c#)p~0000<MNUMnLSTYmm$RS% literal 0 HcmV?d00001 diff --git a/pixmaps/os_freebsd.png b/pixmaps/os_freebsd.png new file mode 100644 index 0000000000000000000000000000000000000000..fd98ab1f026049706290be557fd6b87c92319754 GIT binary patch literal 2789 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 literal 0 HcmV?d00001 diff --git a/pixmaps/os_gentoo.png b/pixmaps/os_gentoo.png new file mode 100644 index 0000000000000000000000000000000000000000..fe1b7da1f054130ac3ffcf27adaa4613f6cca270 GIT binary patch literal 2002 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 literal 0 HcmV?d00001 diff --git a/pixmaps/os_linux_generic.png b/pixmaps/os_linux_generic.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c9d239d8855088ce7f8806a1c11f1d033ac0d7 GIT binary patch literal 1266 zcmV<O1P%L%P)<h;3K|Lk000e1NJLTq001BW001Be0{{R3M5Kzw00001b5ch_0Itp) z=>Px%`cO<%MXZDg0s;g?L`3Vv41-bx$)gJ@A_R_V2f2d@(4-BdZ3VQG1~w#+<mBXj zVhq`{4P`?I#Kgo&Fb46{5u|qtV?}|_ln0Y*P>5d#$BGDaQwJ0j6CD+Z?6eD{ct*2% z2SG9i(x_3IcMFJMNxFkD-=zt*j0mKpq%tBr(VGe8vp?<34oEOY^wmSPw6j|}1(a+F z0s_!<Nd)V>3#oW2gM)+~7F@KJRF`1|I3@*^YcclK4FUpAN;(WiGK6YN1`i6#*Q^O> zR4}T33Lh2GTS9NZg$JW?KagZJ*qjKsqj>AhC=?9@kYESptO>!33Z-%iDI5ejDh%_) z3sW`*c2r>3mJPLjFZI0)l$4acodl6(L<|fJP*70x^z`1eT=Lp1t#}G<S`?OY3-Qz{ zf_P-|whXp@3Nj_XzP-FC9L|DTOVrfV$&Lpc92@h^3~EM1&y*OXggmr^Aljn|!jlVZ zMFmVY1naXFoOv?>0{lQM2V6r5hgb#TybN@7bX;6qqKRB&WMuNvjH;AuYEqn5K4cOM zwCwEcRy>lOcT8?gW;{GRCK`l|jf}XhmbaT+BpGomEG(?7taef~KrNoNj5R$gv96qG z%*@Q)-P~+!Ypae&kZf#<Y$WKtUf--jep_0|qD=PUw8plCYf3`?{`@Q+R68g~oSd9| ze0)+yEUb(KUQRSxMx-<}Gy(!IhF)Y~J_UGA1R@&Ld|L{^oKBi*Oe`F10s^tDj#!d{ zT%LYJ5e(^SOoaB@6qj-?F(U=ArH_wV1oqlWeOg4PelX&?WC8+k+NvxY6XB+thnr>v zRXYat%`r+!Op0a%o_+*^ay%*?v|c_ebWS4Sv<iJw1s@g!)~;AqR#cdNG^37Tt%N%C z?%tw$WJ@%pk7QfIk|&mSY`?XnUP=Uteq@nm3X*bcie_A#a!5HQAoj*A3I+t7Y6rZO zN1Saf!<r7jtdL$-M5}TI&W;FnQhYQbQ1;d^>c$`>BqXA4Bu6hFwu&H$<}-l+0004W zQchC<K<3zH00001VoOIv0Eh)0NB{r;32;bRa{vGf6951U69E94oEQKA00(qQO+^RW z1QQMoGXvo&tN;K3WJyFpR5;6xlP^!hP!z>`HpDWrgc*{hnLt!vx`d@_exwQO9C@N^ zn0aJL0fU$s1~V}Qihh7=A$)-e1P09~z&4o9O!4~Xb(Hlj9Cv$vJ@?)7@-(d|K-(n< zh1lK4Xo1~;3*{KNYot;EmKnnI)xe9n2;o|udJ_WsJcF+WX3pKkvNu)(wQhCUJG@c@ zkK_H-s@a64AYe`gr(Yf^*8usGClXQ+@F-JxR)9~`AoAuxSVjPA>EH*blmV1$KGNMS z;#wD-{1n?)nizNuiJ%;yfD)S|iXs6$2R!Le1W<_^K{`P=xX;BA=d5kX5k&Vr@&Ec) zdpMjj20dT%y(@qk%lo%1){RWUqa&w3uJH|ECjdK632}_?wqrPqaS5zapqpnoXs2JK zM=L9<GR0X27#UzNE-KEP4j$r+@eu>u*lbbnx9ln7t%K~{?Ad&3|GBHzx2S#+W<@8u cjI{si2iioZ$vOpgm;e9(07*qoM6N<$f^M`3&;S4c literal 0 HcmV?d00001 diff --git a/pixmaps/os_linuxmint.png b/pixmaps/os_linuxmint.png new file mode 100644 index 0000000000000000000000000000000000000000..50ba8e2345701b334956cdc497f7364b479ca019 GIT binary patch literal 1734 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 literal 0 HcmV?d00001 diff --git a/pixmaps/os_mandriva.png b/pixmaps/os_mandriva.png new file mode 100644 index 0000000000000000000000000000000000000000..543b32e7117f0f718dd5782f74cec630eada79ed GIT binary patch literal 1568 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 S9Vf^D0000<MNUMnLSTYb{nBOt literal 0 HcmV?d00001 diff --git a/pixmaps/os_pardus.png b/pixmaps/os_pardus.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc61280886d46d5a011ff2f59ae04602ecb8dd8 GIT binary patch literal 1618 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 Q8vp<R07*qoM6N<$f*no^H2?qr literal 0 HcmV?d00001 diff --git a/pixmaps/os_red_hat.png b/pixmaps/os_red_hat.png new file mode 100644 index 0000000000000000000000000000000000000000..96837861296c7c5b586516dbf05f59e4221a06c4 GIT binary patch literal 1859 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 literal 0 HcmV?d00001 diff --git a/pixmaps/os_ubuntu.png b/pixmaps/os_ubuntu.png new file mode 100644 index 0000000000000000000000000000000000000000..cca0379f4e2152f0f4582cf3601d48ad16bf8cc0 GIT binary patch literal 2088 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 SMLoIz0000<MNUMnLSTa9V)~o_ literal 0 HcmV?d00001 diff --git a/pixmaps/os_unknown.png b/pixmaps/os_unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..9994770f78ce666db4a7af0b6cd91f1bdfe98a08 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*b3=G`DAk4@xYmNj^kiEpy*OmP?i?Aq{l3DTv4xo@^iEBiObAE1a zYF-J0b5UwyNotBhd1gt5g1e`0KzJjcI8c$4r;B4q#NoFG85x1RCWZg&^E@0t%=c^p X3Ji?XzlUE3au_^a{an^LB{Ts5!c{P{ literal 0 HcmV?d00001 diff --git a/pixmaps/os_windows_generic.png b/pixmaps/os_windows_generic.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae987d55833afb01c86cb2a7e7b19210e94d30d GIT binary patch literal 2134 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 M07*qoM6N<$g7kUp#Q*>R literal 0 HcmV?d00001 diff --git a/src/virtManager/config.py b/src/virtManager/config.py index 7f3f85c..942c640 100644 --- a/src/virtManager/config.py +++ b/src/virtManager/config.py @@ -151,6 +151,35 @@ class vmmConfig(object): libvirt.VIR_DOMAIN_NOSTATE: gtk.gdk.pixbuf_new_from_file_at_size(self.get_icon_dir() + "/state_running.png", 32, 32), } + self.os_icons = { + "archlinux": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_archlinux.png", 32, 32), + "debian": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_debian.png", 32, 32), + "fedora": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_fedora.png", 32, 32), + "freebsd": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_freebsd.png", 32, 32), + "gentoo": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_gentoo.png", 32, 32), + "linuxmint": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_linuxmint.png", 32, 32), + "linux_generic": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_linux_generic.png", 32, 32), + "mandriva": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_mandriva.png", 32, 32), + "pardus": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_pardus.png", 32, 32), + "red_hat": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_red_hat.png", 32, 32), + "ubuntu": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_ubuntu.png", 32, 32), + "unknown": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_unknown.png", 32, 32), + "windows_generic": gtk.gdk.pixbuf_new_from_file_at_size( + self.get_icon_dir() + "/os_windows_generic.png", 32, 32), + } + # General app wide helpers (gconf agnostic) @@ -204,6 +233,34 @@ class vmmConfig(object): def remove_notifier(self, h): self.conf.notify_remove(h) + # Inspection icons. + def get_os_archlinux_icon(self): + return self.os_icons["archlinux"] + def get_os_debian_icon(self): + return self.os_icons["debian"] + def get_os_fedora_icon(self): + return self.os_icons["fedora"] + def get_os_freebsd_icon(self): + return self.os_icons["freebsd"] + def get_os_gentoo_icon(self): + return self.os_icons["gentoo"] + def get_os_linuxmint_icon(self): + return self.os_icons["linuxmint"] + def get_os_linux_generic_icon(self): + return self.os_icons["linux_generic"] + def get_os_mandriva_icon(self): + return self.os_icons["mandriva"] + def get_os_pardus_icon(self): + return self.os_icons["pardus"] + def get_os_red_hat_icon(self): + return self.os_icons["red_hat"] + def get_os_ubuntu_icon(self): + return self.os_icons["ubuntu"] + def get_os_unknown_icon(self): + return self.os_icons["unknown"] + def get_os_windows_generic_icon(self): + return self.os_icons["windows_generic"] + # Used for debugging reference leaks, we keep track of all objects # come and go so we can do a leak report at app shutdown def add_object(self, obj): diff --git a/src/virtManager/details.py b/src/virtManager/details.py index 580749f..2ecf6fc 100644 --- a/src/virtManager/details.py +++ b/src/virtManager/details.py @@ -437,6 +437,7 @@ class vmmDetails(vmmGObjectUI): # Deliberately keep all this after signal connection self.vm.connect("status-changed", self.refresh_vm_state) self.vm.connect("config-changed", self.refresh_vm_state) + self.vm.connect("inspection-changed", self.refresh_overview_inspection) self.vm.connect("resources-sampled", self.refresh_resources) self.window.get_widget("hw-list").get_selection().connect( "changed", @@ -454,6 +455,7 @@ class vmmDetails(vmmGObjectUI): self.hw_selected() self.refresh_vm_state() + self.refresh_overview_inspection() def cleanup(self): self.close() @@ -494,6 +496,7 @@ class vmmDetails(vmmGObjectUI): self.emit("details-opened") self.refresh_vm_state() + self.refresh_overview_inspection() def close(self, ignore1=None, ignore2=None): fs = self.window.get_widget("details-menu-view-fullscreen") @@ -1172,6 +1175,23 @@ class vmmDetails(vmmGObjectUI): # This is safe to refresh, and is dependent on domain state self._refresh_runtime_pinning() + # Details -> Overview -> Operating System + def refresh_overview_inspection(self, ignore1=None): + vm = self.vm + + s = vm.get_inspection_hostname() + if not s or s == "unknown": + s = _("unknown") + self.window.get_widget("label_inspection_hostname_value").set_text(s) + + s = vm.get_inspection_product_name() + if not s or s == "unknown": + s = _("unknown") + self.window.get_widget("label_inspection_product_name_value").set_text(s) + + self.window.get_widget("image_inspection").set_from_pixbuf( + vm.inspection_operating_system_icon()) + ############################# # External action listeners # @@ -2126,14 +2146,6 @@ class vmmDetails(vmmGObjectUI): self.window.get_widget("overview-arch").set_text(arch) self.window.get_widget("overview-emulator").set_text(emu) - # Operating System - s = self.vm.get_inspection_hostname() - if not s: s = _("unknown") - self.window.get_widget("label_inspection_hostname_value").set_text(s) - s = self.vm.get_inspection_product_name() - if not s: s = _("unknown") - self.window.get_widget("label_inspection_product_name_value").set_text(s) - # Machine settings acpi = self.vm.get_acpi() apic = self.vm.get_apic() diff --git a/src/virtManager/domain.py b/src/virtManager/domain.py index ada7ca4..efb2d64 100644 --- a/src/virtManager/domain.py +++ b/src/virtManager/domain.py @@ -995,6 +995,43 @@ class vmmDomainBase(vmmLibvirtObject): def get_inspection_product_name(self): return self.inspection_product_name + # Determine the OS icon to use from the various inspection fields. + def inspection_operating_system_icon(self): + if (self.inspection_type and self.inspection_type == "linux" and + self.inspection_distro): + if self.inspection_distro == "archlinux": + return self.config.get_os_archlinux_icon() + elif self.inspection_distro == "debian": + return self.config.get_os_debian_icon() + elif self.inspection_distro == "fedora": + return self.config.get_os_fedora_icon() + elif self.inspection_distro == "gentoo": + return self.config.get_os_gentoo_icon() + elif self.inspection_distro == "linuxmint": + return self.config.get_os_linuxmint_icon() + elif self.inspection_distro == "mandriva": + return self.config.get_os_mandriva_icon() + elif self.inspection_distro == "pardus": + return self.config.get_os_pardus_icon() + elif self.inspection_distro == "rhel": + return self.config.get_os_red_hat_icon() + elif self.inspection_distro == "ubuntu": + return self.config.get_os_ubuntu_icon() + else: + return self.config.get_os_linux_generic_icon() + elif self.inspection_type and self.inspection_type == "windows": + # XXX It is possible to be very specific about Windows + # by mapping the major/minor version and product + # variant fields. However we don't have enough icons + # yet. For more details see: + # http://msdn.microsoft.com/en-us/library/ms724832%28v=vs.85%29.aspx + return self.config.get_os_windows_generic_icon() + elif self.inspection_type and self.inspection_type == "freebsd": + return self.config.get_os_freebsd_icon() + + # unknown or inspection hasn't finished yet + return self.config.get_os_unknown_icon() + ######################## # Libvirt domain class # diff --git a/src/vmm-details.glade b/src/vmm-details.glade index 1670e34..cdcd931 100644 --- a/src/vmm-details.glade +++ b/src/vmm-details.glade @@ -1283,64 +1283,80 @@ <property name="top_padding">3</property> <property name="left_padding">12</property> <child> - <widget class="GtkTable" id="table_inspection"> + <widget class="GtkHBox" id="hbox_inspection"> <property name="visible">True</property> - <property name="border_width">3</property> - <property name="n_rows">2</property> - <property name="n_columns">2</property> - <property name="column_spacing">6</property> - <property name="row_spacing">6</property> - <child> - <widget class="GtkLabel" id="label_inspection_hostname"> - <property name="visible">True</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Hostname:</property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label_inspection_product_name"> - <property name="visible">True</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Product name:</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> + <property name="spacing">4</property> <child> - <widget class="GtkLabel" id="label_inspection_hostname_value"> + <widget class="GtkTable" id="table_inspection"> <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label">hostname</property> - <property name="selectable">True</property> + <property name="border_width">3</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">6</property> + <property name="row_spacing">6</property> + <child> + <widget class="GtkLabel" id="label_inspection_hostname"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Hostname:</property> + </widget> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label_inspection_product_name"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Product name:</property> + </widget> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label_inspection_hostname_value"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label">hostname</property> + <property name="selectable">True</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label_inspection_product_name_value"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label">product name</property> + <property name="selectable">True</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> </child> <child> - <widget class="GtkLabel" id="label_inspection_product_name_value"> + <widget class="GtkImage" id="image_inspection"> <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label">product name</property> - <property name="selectable">True</property> + <property name="stock">gtk-stop</property> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> + <property name="expand">False</property> + <property name="position">1</property> </packing> </child> </widget> -- 1.7.4.4
_______________________________________________ virt-tools-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/virt-tools-list
