Configurartion code for one_window_type including mailing list comments

This commit is contained in:
Travis Shirk 2005-12-29 01:31:47 +00:00
parent 1b4bc0dedd
commit 1db1c7eddd
3 changed files with 24 additions and 21 deletions

View File

@ -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')],
}

View File

@ -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:

View File

@ -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>