From 9e8bb03f251ba9f2b3cfcdad8166ef0ce133698d Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Mon, 21 Jun 2004 20:22:10 +0000 Subject: [PATCH] trayicon module is not necessary new preference option : icon in systray (changement is tacken into account at next start) --- plugins/gtkgui/config.py | 11 ++ plugins/gtkgui/gtkgui.glade | 197 ++++++++++++++++++++++++------------ plugins/gtkgui/gtkgui.py | 27 ++++- 3 files changed, 167 insertions(+), 68 deletions(-) diff --git a/plugins/gtkgui/config.py b/plugins/gtkgui/config.py index 7b046d6a5..55f42a849 100644 --- a/plugins/gtkgui/config.py +++ b/plugins/gtkgui/config.py @@ -226,6 +226,12 @@ class preference_Window: self.plugin.sleeper = common.sleepy.Sleepy(\ self.plugin.config['autoawaytime']*60, \ self.plugin.config['autoxatime']*60) + #trayicon + trayicon = self.chk_trayicon.get_active() + if trayicon: + self.plugin.config['trayicon'] = 1 + else: + self.plugin.config['trayicon'] = 0 self.plugin.send('CONFIG', None, ('GtkGui', self.plugin.config)) self.plugin.roster.draw_roster() @@ -260,6 +266,7 @@ class preference_Window: self.spin_autoawaytime = self.xml.get_widget('spin_autoawaytime') self.chk_autoxa = self.xml.get_widget('chk_autoxa') self.spin_autoxatime = self.xml.get_widget('spin_autoxatime') + self.chk_trayicon = self.xml.get_widget('chk_trayicon') self.notebook = self.xml.get_widget('preferences_notebook') button = self.xml.get_widget('lookfeel_button') @@ -323,6 +330,10 @@ class preference_Window: st = self.plugin.config['autoxatime'] self.spin_autoxatime.set_value(st) + #trayicon + st = self.plugin.config['trayicon'] + self.chk_trayicon.set_active(st) + self.xml.signal_connect('gtk_widget_destroy', self.delete_event) self.xml.signal_connect('on_but_col_clicked', \ self.on_color_button_clicked) diff --git a/plugins/gtkgui/gtkgui.glade b/plugins/gtkgui/gtkgui.glade index 96f752b1f..9858d6738 100644 --- a/plugins/gtkgui/gtkgui.glade +++ b/plugins/gtkgui/gtkgui.glade @@ -3273,72 +3273,6 @@ on the server. True - - - 150 - 70 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - True - True - False - False - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - - - - - True - Icon Style - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - label_item - - - - - 210 - 0 - - - 200 @@ -3536,6 +3470,137 @@ on the server. 0 + + + + 144 + 112 + True + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + False + 0 + + + + True + True + Icon in systray + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + + + + + + + True + Systray + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + label_item + + + + + 208 + 72 + + + + + + 142 + 64 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + True + False + False + True + False + + + + True + True + True + True + 0 + + True + * + False + + + + + + True + GTK_SELECTION_BROWSE + + + + + + + + True + Icon Style + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + label_item + + + + + 210 + 0 + + False diff --git a/plugins/gtkgui/gtkgui.py b/plugins/gtkgui/gtkgui.py index 9e1930ed4..88bf8a0f2 100644 --- a/plugins/gtkgui/gtkgui.py +++ b/plugins/gtkgui/gtkgui.py @@ -21,7 +21,6 @@ import pygtk pygtk.require('2.0') import gtk from gtk import TRUE, FALSE -import trayicon import gtk.glade,gobject import os,string,time,Queue import common.optparser,common.sleepy @@ -1232,6 +1231,18 @@ class roster_Window: self.draw_roster() +class systrayDummy: + """Class when we don't want icon in the systray""" + def add_jid(self, jid, account): + pass + def remove_jid(self, jid, account): + pass + def set_status(self, status): + pass + def __init__(self): + pass + + class systray: """Class for icon in the systray""" def set_img(self): @@ -1667,6 +1678,7 @@ class plugin: 'autoawaytime':10,\ 'autoxa':1,\ 'autoxatime':20,\ + 'trayicon':1,\ 'iconstyle':'sun',\ 'inmsgcolor':'#ff0000',\ 'outmsgcolor': '#0000ff',\ @@ -1694,7 +1706,18 @@ class plugin: gtk.timeout_add(100, self.read_queue) gtk.timeout_add(1000, self.read_sleepy) self.sleeper = None - self.systray = systray(self) + if self.config['trayicon']: + try: + global trayicon + import trayicon + except: + self.config['trayicon'] = 0 + self.send('CONFIG', None, ('GtkGui', self.config)) + self.systray = systrayDummy() + else: + self.systray = systray(self) + else: + self.systray = systrayDummy() gtk.main() gtk.threads_leave()