trayicon module is not necessary
new preference option : icon in systray (changement is tacken into account at next start)
This commit is contained in:
		
							parent
							
								
									1db49881c6
								
							
						
					
					
						commit
						9e8bb03f25
					
				
					 3 changed files with 167 additions and 68 deletions
				
			
		| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3273,72 +3273,6 @@ on the server.</property>
 | 
			
		|||
		<widget class="GtkFixed" id="fixed3">
 | 
			
		||||
		  <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>
 | 
			
		||||
		    <widget class="GtkFrame" id="frame8">
 | 
			
		||||
		      <property name="width_request">200</property>
 | 
			
		||||
| 
						 | 
				
			
			@ -3536,6 +3470,137 @@ on the server.</property>
 | 
			
		|||
		      <property name="y">0</property>
 | 
			
		||||
		    </packing>
 | 
			
		||||
		  </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>
 | 
			
		||||
		<packing>
 | 
			
		||||
		  <property name="tab_expand">False</property>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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()
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue