trayicon module is not necessary

new preference option : icon in systray (changement is tacken into account at next start)
This commit is contained in:
Yann Leboulanger 2004-06-21 20:22:10 +00:00
parent 1db49881c6
commit 9e8bb03f25
3 changed files with 167 additions and 68 deletions

View File

@ -226,6 +226,12 @@ class preference_Window:
self.plugin.sleeper = common.sleepy.Sleepy(\ self.plugin.sleeper = common.sleepy.Sleepy(\
self.plugin.config['autoawaytime']*60, \ self.plugin.config['autoawaytime']*60, \
self.plugin.config['autoxatime']*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.send('CONFIG', None, ('GtkGui', self.plugin.config))
self.plugin.roster.draw_roster() self.plugin.roster.draw_roster()
@ -260,6 +266,7 @@ class preference_Window:
self.spin_autoawaytime = self.xml.get_widget('spin_autoawaytime') self.spin_autoawaytime = self.xml.get_widget('spin_autoawaytime')
self.chk_autoxa = self.xml.get_widget('chk_autoxa') self.chk_autoxa = self.xml.get_widget('chk_autoxa')
self.spin_autoxatime = self.xml.get_widget('spin_autoxatime') 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') self.notebook = self.xml.get_widget('preferences_notebook')
button = self.xml.get_widget('lookfeel_button') button = self.xml.get_widget('lookfeel_button')
@ -323,6 +330,10 @@ class preference_Window:
st = self.plugin.config['autoxatime'] st = self.plugin.config['autoxatime']
self.spin_autoxatime.set_value(st) 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('gtk_widget_destroy', self.delete_event)
self.xml.signal_connect('on_but_col_clicked', \ self.xml.signal_connect('on_but_col_clicked', \
self.on_color_button_clicked) self.on_color_button_clicked)

View File

@ -3273,72 +3273,6 @@ on the server.</property>
<widget class="GtkFixed" id="fixed3"> <widget class="GtkFixed" id="fixed3">
<property name="visible">True</property> <property name="visible">True</property>
<child>
<widget class="GtkFrame" id="frame7">
<property name="width_request">150</property>
<property name="height_request">70</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkCombo" id="combo_iconstyle">
<property name="visible">True</property>
<property name="value_in_list">True</property>
<property name="allow_empty">False</property>
<property name="case_sensitive">False</property>
<property name="enable_arrow_keys">True</property>
<property name="enable_arrows_always">False</property>
<child internal-child="entry">
<widget class="GtkEntry" id="entry2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
<property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">False</property>
</widget>
</child>
<child internal-child="list">
<widget class="GtkList" id="list2">
<property name="visible">True</property>
<property name="selection_mode">GTK_SELECTION_BROWSE</property>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label69">
<property name="visible">True</property>
<property name="label" translatable="yes">Icon Style</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</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="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="x">210</property>
<property name="y">0</property>
</packing>
</child>
<child> <child>
<widget class="GtkFrame" id="frame8"> <widget class="GtkFrame" id="frame8">
<property name="width_request">200</property> <property name="width_request">200</property>
@ -3536,6 +3470,137 @@ on the server.</property>
<property name="y">0</property> <property name="y">0</property>
</packing> </packing>
</child> </child>
<child>
<widget class="GtkFrame" id="frame13">
<property name="width_request">144</property>
<property name="height_request">112</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_NONE</property>
<child>
<widget class="GtkVBox" id="vbox26">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkCheckButton" id="chk_trayicon">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Icon in systray</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label138">
<property name="visible">True</property>
<property name="label" translatable="yes">Systray</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.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="x">208</property>
<property name="y">72</property>
</packing>
</child>
<child>
<widget class="GtkFrame" id="frame7">
<property name="width_request">142</property>
<property name="height_request">64</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkCombo" id="combo_iconstyle">
<property name="visible">True</property>
<property name="value_in_list">True</property>
<property name="allow_empty">False</property>
<property name="case_sensitive">False</property>
<property name="enable_arrow_keys">True</property>
<property name="enable_arrows_always">False</property>
<child internal-child="entry">
<widget class="GtkEntry" id="entry2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
<property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">False</property>
</widget>
</child>
<child internal-child="list">
<widget class="GtkList" id="list2">
<property name="visible">True</property>
<property name="selection_mode">GTK_SELECTION_BROWSE</property>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label69">
<property name="visible">True</property>
<property name="label" translatable="yes">Icon Style</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</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="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="x">210</property>
<property name="y">0</property>
</packing>
</child>
</widget> </widget>
<packing> <packing>
<property name="tab_expand">False</property> <property name="tab_expand">False</property>

View File

@ -21,7 +21,6 @@ import pygtk
pygtk.require('2.0') pygtk.require('2.0')
import gtk import gtk
from gtk import TRUE, FALSE from gtk import TRUE, FALSE
import trayicon
import gtk.glade,gobject import gtk.glade,gobject
import os,string,time,Queue import os,string,time,Queue
import common.optparser,common.sleepy import common.optparser,common.sleepy
@ -1232,6 +1231,18 @@ class roster_Window:
self.draw_roster() 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 systray:
"""Class for icon in the systray""" """Class for icon in the systray"""
def set_img(self): def set_img(self):
@ -1667,6 +1678,7 @@ class plugin:
'autoawaytime':10,\ 'autoawaytime':10,\
'autoxa':1,\ 'autoxa':1,\
'autoxatime':20,\ 'autoxatime':20,\
'trayicon':1,\
'iconstyle':'sun',\ 'iconstyle':'sun',\
'inmsgcolor':'#ff0000',\ 'inmsgcolor':'#ff0000',\
'outmsgcolor': '#0000ff',\ 'outmsgcolor': '#0000ff',\
@ -1694,7 +1706,18 @@ class plugin:
gtk.timeout_add(100, self.read_queue) gtk.timeout_add(100, self.read_queue)
gtk.timeout_add(1000, self.read_sleepy) gtk.timeout_add(1000, self.read_sleepy)
self.sleeper = None 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.main()
gtk.threads_leave() gtk.threads_leave()