Configurartion code for one_window_type including mailing list comments
This commit is contained in:
		
							parent
							
								
									1b4bc0dedd
								
							
						
					
					
						commit
						1db1c7eddd
					
				
					 3 changed files with 24 additions and 21 deletions
				
			
		|  | @ -39,7 +39,7 @@ opt_int = [ 'integer', 0 ] | |||
| opt_str = [ 'string', 0 ] | ||||
| opt_bool = [ 'boolean', 0 ] | ||||
| opt_color = [ 'color', '^(#[0-9a-fA-F]{6})|()$' ] | ||||
| opt_single_window_types = ['never', 'always', 'peracct', 'pertype'] | ||||
| opt_one_window_types = ['never', 'always', 'peracct', 'pertype'] | ||||
| 
 | ||||
| class Config: | ||||
| 
 | ||||
|  | @ -83,8 +83,6 @@ class Config: | |||
| 		'saveposition': [ opt_bool, True ], | ||||
| 		'mergeaccounts': [ opt_bool, False ], | ||||
| 		'sort_by_show': [ opt_bool, True ], | ||||
| 		# FIXME: Remove me | ||||
| 		'usetabbedchat': [ opt_bool, True ], | ||||
| 		'use_speller': [ opt_bool, False ], | ||||
| 		'print_time': [ opt_str, 'always' ], | ||||
| 		'useemoticons': [ opt_bool, True ], | ||||
|  | @ -175,7 +173,7 @@ class Config: | |||
| 		'hide_avatar_of_transport': [opt_bool, False], | ||||
| 		'roster_window_skip_taskbar': [opt_bool, False], | ||||
| 		# TODO: Need to decide Gajim default.  methinks 'always' | ||||
| 		'single_message_window': [opt_str, 'never', | ||||
| 		'one_message_window': [opt_str, 'never', | ||||
| 			_('Controls the window where new messages are placed.\n\'always\' - All messages are sent to a single window.\n\'never\' - All messages get their own window.\n\'peracct\' - Messages for each account are sent to a specific window.\n\'pertype\' - Each message type (e.g., chats vs. groupchats) are sent to a specific window. Note, changing this option requires restarting Gajim before the changes will take effect')], | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -93,6 +93,8 @@ class PreferencesWindow: | |||
| 		self.auto_xa_message_entry = self.xml.get_widget('auto_xa_message_entry') | ||||
| 		self.trayicon_checkbutton = self.xml.get_widget('trayicon_checkbutton') | ||||
| 		self.notebook = self.xml.get_widget('preferences_notebook') | ||||
| 		self.one_window_type_combobox =\ | ||||
| 			self.xml.get_widget('one_window_type_combobox') | ||||
| 
 | ||||
| 		#trayicon | ||||
| 		if gajim.interface.systray_capabilities: | ||||
|  | @ -154,6 +156,14 @@ class PreferencesWindow: | |||
| 			if gajim.config.get('iconset') == l[i]: | ||||
| 				self.iconset_combobox.set_active(i) | ||||
| 
 | ||||
| 		# Set default for single window type | ||||
| 		choices = common.config.opt_one_window_types | ||||
| 		type = gajim.config.get('one_message_window') | ||||
| 		if type in choices: | ||||
| 			self.one_window_type_combobox.set_active(choices.index(type)) | ||||
| 		else: | ||||
| 			self.one_window_type_combobox.set_active(0) | ||||
| 
 | ||||
| 		# Use transports iconsets | ||||
| 		st = gajim.config.get('use_transports_iconsets') | ||||
| 		self.xml.get_widget('transports_iconsets_checkbutton').set_active(st) | ||||
|  | @ -166,10 +176,6 @@ class PreferencesWindow: | |||
| 		model = gtk.ListStore(str) | ||||
| 		theme_combobox.set_model(model) | ||||
| 
 | ||||
| 		#use tabbed chat window | ||||
| 		st = gajim.config.get('usetabbedchat') | ||||
| 		self.xml.get_widget('use_tabbed_chat_window_checkbutton').set_active(st) | ||||
| 
 | ||||
| 		#use speller | ||||
| 		if os.name == 'nt': | ||||
| 			self.xml.get_widget('speller_checkbutton').set_no_show_all(True) | ||||
|  | @ -538,6 +544,7 @@ class PreferencesWindow: | |||
| 		gajim.interface.roster.change_roster_style(None) | ||||
| 		gajim.interface.save_config() | ||||
| 
 | ||||
| 	# FIXME: Remove or implement for new window code | ||||
| 	def merge_windows(self, kind): | ||||
| 		for acct in gajim.connections: | ||||
| 			# save buffers and close windows | ||||
|  | @ -564,6 +571,7 @@ class PreferencesWindow: | |||
| 				window.message_textviews[jid].set_buffer(buf2[jid]) | ||||
| 				window.load_var(jid, saved_var[jid]) | ||||
| 
 | ||||
| 	# FIXME: Remove or implement for new window code | ||||
| 	def split_windows(self, kind): | ||||
| 		for acct in gajim.connections: | ||||
| 			# save buffers and close tabbed chat windows | ||||
|  | @ -593,16 +601,12 @@ class PreferencesWindow: | |||
| 				window.message_textviews[jid].set_buffer(buf2[jid]) | ||||
| 				window.load_var(jid, saved_var[jid]) | ||||
| 
 | ||||
| 	def on_use_tabbed_chat_window_checkbutton_toggled(self, widget): | ||||
| 		self.on_checkbutton_toggled(widget, 'usetabbedchat') | ||||
| 
 | ||||
| 		if widget.get_active(): | ||||
| 			self.merge_windows('chats') | ||||
| 			self.merge_windows('gc') | ||||
| 		else: | ||||
| 			self.split_windows('chats') | ||||
| 			self.split_windows('gc') | ||||
| 	def on_one_window_type_combo_changed(self, widget): | ||||
| 		active = widget.get_active() | ||||
| 		config_type = common.config.opt_one_window_types[active] | ||||
| 		gajim.config.set('one_message_window', config_type) | ||||
| 		gajim.interface.save_config() | ||||
| 		# FIXME: Update current windows? Meh | ||||
| 
 | ||||
| 	def apply_speller(self, kind): | ||||
| 		for acct in gajim.connections: | ||||
|  |  | |||
|  | @ -3686,7 +3686,7 @@ Agent JID - node</property> | |||
| 		  <child> | ||||
| 		    <widget class="GtkLabel" id="label379"> | ||||
| 		      <property name="visible">True</property> | ||||
| 		      <property name="label" translatable="yes">Single message _window:</property> | ||||
| 		      <property name="label" translatable="yes">One message _window:</property> | ||||
| 		      <property name="use_underline">True</property> | ||||
| 		      <property name="use_markup">False</property> | ||||
| 		      <property name="justify">GTK_JUSTIFY_LEFT</property> | ||||
|  | @ -3709,14 +3709,15 @@ Agent JID - node</property> | |||
| 		  </child> | ||||
| 
 | ||||
| 		  <child> | ||||
| 		    <widget class="GtkComboBox" id="message_window_type_combo"> | ||||
| 		    <widget class="GtkComboBox" id="one_window_type_combobox"> | ||||
| 		      <property name="visible">True</property> | ||||
| 		      <property name="items" translatable="yes">Always | ||||
| Never | ||||
| 		      <property name="items" translatable="yes">Never | ||||
| Always | ||||
| Per account | ||||
| Per type</property> | ||||
| 		      <property name="add_tearoffs">False</property> | ||||
| 		      <property name="focus_on_click">True</property> | ||||
| 		      <signal name="changed" handler="on_single_window_type_combo_changed" last_modification_time="Wed, 28 Dec 2005 01:44:51 GMT"/> | ||||
| 		    </widget> | ||||
| 		    <packing> | ||||
| 		      <property name="padding">0</property> | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue