show groupchat icon in groupchat window banner. see #2702. TODO find muc_active.svg to create 32x32 icons

This commit is contained in:
Yann Leboulanger 2006-11-30 09:05:59 +00:00
parent cc09dae0fe
commit ff7c612f97
2 changed files with 59 additions and 15 deletions

View File

@ -18,6 +18,7 @@
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<child>
<widget class="GtkAlignment" id="msg_window_alignment">
@ -662,23 +663,51 @@ Status message</property>
<property name="above_child">False</property>
<child>
<widget class="GtkLabel" id="banner_name_label">
<widget class="GtkHBox" id="hbox3024">
<property name="visible">True</property>
<property name="label">&lt;span weight=&quot;heavy&quot; size=&quot;large&quot;&gt;room jid&lt;/span&gt;
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkImage" id="gc_banner_status_image">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">5</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="banner_name_label">
<property name="visible">True</property>
<property name="label">&lt;span weight=&quot;heavy&quot; size=&quot;large&quot;&gt;room jid&lt;/span&gt;
topic</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.0500000007451</property>
<property name="yalign">0.5</property>
<property name="xpad">6</property>
<property name="ypad">6</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.0500000007451</property>
<property name="yalign">0.5</property>
<property name="xpad">6</property>
<property name="ypad">6</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>

View File

@ -417,6 +417,21 @@ class GroupchatControl(ChatControlBase):
for nick in gajim.contacts.get_nick_list(self.account, self.room_jid):
self.draw_contact(nick)
def _update_banner_state_image(self):
banner_status_img = self.xml.get_widget('gc_banner_status_image')
images = gajim.interface.roster.jabber_state_images
if images.has_key('32') and images['32'].has_key('muc_active'):
muc_icon = images['32']['muc_active']
if muc_icon.get_storage_type() != gtk.IMAGE_EMPTY:
pix = muc_icon.get_pixbuf()
banner_status_img.set_from_pixbuf(pix)
return
# we need to scale 16x16 to 32x32
muc_icon = images['16']['muc_active']
pix = muc_icon.get_pixbuf()
scaled_pix = pix.scale_simple(32, 32, gtk.gdk.INTERP_BILINEAR)
banner_status_img.set_from_pixbuf(scaled_pix)
def prepare_context_menu(self):
'''sets compact view menuitem active state
sets sensitivity state for configure_room'''