parent
8087c2a14e
commit
495af26c9c
40
src/disco.py
40
src/disco.py
|
@ -441,6 +441,8 @@ _('Without a connection, you can not browse available services')).get_response()
|
|||
self.banner = self.xml.get_widget('banner_agent_label')
|
||||
self.banner_icon = self.xml.get_widget('banner_agent_icon')
|
||||
self.banner_eventbox = self.xml.get_widget('banner_agent_eventbox')
|
||||
self.style_event_id = 0
|
||||
self.banner.ensure_style()
|
||||
self.paint_banner()
|
||||
self.filter_hbox = self.xml.get_widget('filter_hbox')
|
||||
self.filter_hbox.set_no_show_all(True)
|
||||
|
@ -534,20 +536,50 @@ _('Without a connection, you can not browse available services')).get_response()
|
|||
theme = gajim.config.get('roster_theme')
|
||||
bgcolor = gajim.config.get_per('themes', theme, 'bannerbgcolor')
|
||||
textcolor = gajim.config.get_per('themes', theme, 'bannertextcolor')
|
||||
self.disconnect_style_event()
|
||||
if bgcolor:
|
||||
color = gtk.gdk.color_parse(bgcolor)
|
||||
self.banner_eventbox.modify_bg(gtk.STATE_NORMAL, color)
|
||||
default_bg = False
|
||||
else:
|
||||
color = None
|
||||
self.banner_eventbox.modify_bg(gtk.STATE_NORMAL, color)
|
||||
default_bg = True
|
||||
|
||||
if textcolor:
|
||||
color = gtk.gdk.color_parse(textcolor)
|
||||
self.banner.modify_fg(gtk.STATE_NORMAL, color)
|
||||
default_fg = False
|
||||
else:
|
||||
color = None
|
||||
self.banner.modify_fg(gtk.STATE_NORMAL, color)
|
||||
default_fg = True
|
||||
if default_fg or default_bg:
|
||||
self._on_style_set_event(self.banner, None, default_fg, default_bg)
|
||||
if self.browser:
|
||||
self.browser.update_theme()
|
||||
|
||||
def disconnect_style_event(self):
|
||||
if self.style_event_id:
|
||||
self.banner.disconnect(self.style_event_id)
|
||||
self.style_event_id = 0
|
||||
|
||||
def connect_style_event(self, set_fg = False, set_bg = False):
|
||||
self.disconnect_style_event()
|
||||
self.style_event_id = self.banner.connect('style-set',
|
||||
self._on_style_set_event, set_fg, set_bg)
|
||||
|
||||
def _on_style_set_event(self, widget, style, *opts):
|
||||
''' set style of widget from style class *.Frame.Eventbox
|
||||
opts[0] == True -> set fg color
|
||||
opts[1] == True -> set bg color '''
|
||||
|
||||
self.disconnect_style_event()
|
||||
if opts[1]:
|
||||
bg_color = widget.style.bg[gtk.STATE_SELECTED]
|
||||
self.banner_eventbox.modify_bg(gtk.STATE_NORMAL, bg_color)
|
||||
if opts[0]:
|
||||
fg_color = widget.style.fg[gtk.STATE_SELECTED]
|
||||
self.banner.modify_fg(gtk.STATE_NORMAL, fg_color)
|
||||
self.banner.ensure_style()
|
||||
self.connect_style_event(opts[0], opts[1])
|
||||
|
||||
def destroy(self, chain = False):
|
||||
'''Close the browser. This can optionally close it's children and
|
||||
propagate to the parent. This should happen on actions like register,
|
||||
|
|
Loading…
Reference in New Issue