the old self.plugin variable becomes gajim.interface, no need to pass it to every functions/classes
This commit is contained in:
parent
0b1bf176e9
commit
726640ef4b
18 changed files with 523 additions and 557 deletions
|
@ -41,9 +41,7 @@ C_TYPE
|
||||||
GTKGUI_GLADE = 'gtkgui.glade'
|
GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
|
|
||||||
class AdvancedConfigurationWindow:
|
class AdvancedConfigurationWindow:
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.plugin = plugin
|
|
||||||
|
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'advanced_configuration_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'advanced_configuration_window', APP)
|
||||||
self.window = self.xml.get_widget('advanced_configuration_window')
|
self.window = self.xml.get_widget('advanced_configuration_window')
|
||||||
self.entry = self.xml.get_widget('advanced_entry')
|
self.entry = self.xml.get_widget('advanced_entry')
|
||||||
|
@ -86,7 +84,7 @@ class AdvancedConfigurationWindow:
|
||||||
|
|
||||||
self.xml.signal_autoconnect(self)
|
self.xml.signal_autoconnect(self)
|
||||||
self.window.show_all()
|
self.window.show_all()
|
||||||
self.plugin.windows['advanced_config'] = self
|
gajim.interface.windows['advanced_config'] = self
|
||||||
|
|
||||||
def cb_value_column_data(self, col, cell, model, iter):
|
def cb_value_column_data(self, col, cell, model, iter):
|
||||||
optname = model[iter][C_PREFNAME]
|
optname = model[iter][C_PREFNAME]
|
||||||
|
@ -123,7 +121,7 @@ class AdvancedConfigurationWindow:
|
||||||
gajim.config.set_per(optname, key, option, newval)
|
gajim.config.set_per(optname, key, option, newval)
|
||||||
else:
|
else:
|
||||||
gajim.config.set(option, newval)
|
gajim.config.set(option, newval)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
modelrow[1] = newval
|
modelrow[1] = newval
|
||||||
|
|
||||||
def on_config_edited(self, cell, path, text):
|
def on_config_edited(self, cell, path, text):
|
||||||
|
@ -140,13 +138,13 @@ class AdvancedConfigurationWindow:
|
||||||
gajim.config.set_per(optname, key, option, text)
|
gajim.config.set_per(optname, key, option, text)
|
||||||
else:
|
else:
|
||||||
gajim.config.set(option, text)
|
gajim.config.set(option, text)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
modelrow[1] = text
|
modelrow[1] = text
|
||||||
|
|
||||||
def on_advanced_configuration_window_destroy(self, widget):
|
def on_advanced_configuration_window_destroy(self, widget):
|
||||||
# update ui of preferences window to get possible changes we did
|
# update ui of preferences window to get possible changes we did
|
||||||
self.plugin.windows['preferences'].update_preferences_window()
|
gajim.interface.windows['preferences'].update_preferences_window()
|
||||||
del self.plugin.windows['advanced_config']
|
del gajim.interface.windows['advanced_config']
|
||||||
|
|
||||||
def on_advanced_close_button_clicked(self, widget):
|
def on_advanced_close_button_clicked(self, widget):
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
69
src/chat.py
69
src/chat.py
|
@ -1,4 +1,4 @@
|
||||||
## plugins/tabbed_chat_window.py
|
## chat.py
|
||||||
##
|
##
|
||||||
## Gajim Team:
|
## Gajim Team:
|
||||||
## - Yann Le Boulanger <asterix@lagaule.org>
|
## - Yann Le Boulanger <asterix@lagaule.org>
|
||||||
|
@ -45,13 +45,12 @@ GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
|
|
||||||
class Chat:
|
class Chat:
|
||||||
'''Class for chat/groupchat windows'''
|
'''Class for chat/groupchat windows'''
|
||||||
def __init__(self, plugin, account, widget_name):
|
def __init__(self, account, widget_name):
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, widget_name, APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, widget_name, APP)
|
||||||
self.window = self.xml.get_widget(widget_name)
|
self.window = self.xml.get_widget(widget_name)
|
||||||
|
|
||||||
self.widget_name = widget_name
|
self.widget_name = widget_name
|
||||||
|
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.change_cursor = None
|
self.change_cursor = None
|
||||||
self.xmls = {}
|
self.xmls = {}
|
||||||
|
@ -264,16 +263,16 @@ class Chat:
|
||||||
return 'pm'
|
return 'pm'
|
||||||
|
|
||||||
def on_window_destroy(self, widget, kind): #kind is 'chats' or 'gc'
|
def on_window_destroy(self, widget, kind): #kind is 'chats' or 'gc'
|
||||||
'''clean self.plugin.windows[self.account][kind]'''
|
'''clean gajim.interface.windows[self.account][kind]'''
|
||||||
for jid in self.xmls:
|
for jid in self.xmls:
|
||||||
windows = self.plugin.windows[self.account][kind]
|
windows = gajim.interface.windows[self.account][kind]
|
||||||
if kind == 'chats':
|
if kind == 'chats':
|
||||||
# send 'gone' chatstate to every tabbed chat tab
|
# send 'gone' chatstate to every tabbed chat tab
|
||||||
windows[jid].send_chatstate('gone', jid)
|
windows[jid].send_chatstate('gone', jid)
|
||||||
gobject.source_remove(self.possible_paused_timeout_id[jid])
|
gobject.source_remove(self.possible_paused_timeout_id[jid])
|
||||||
gobject.source_remove(self.possible_inactive_timeout_id[jid])
|
gobject.source_remove(self.possible_inactive_timeout_id[jid])
|
||||||
if self.plugin.systray_enabled and self.nb_unread[jid] > 0:
|
if gajim.interface.systray_enabled and self.nb_unread[jid] > 0:
|
||||||
self.plugin.systray.remove_jid(jid, self.account,
|
gajim.interface.systray.remove_jid(jid, self.account,
|
||||||
self.get_message_type(jid))
|
self.get_message_type(jid))
|
||||||
del windows[jid]
|
del windows[jid]
|
||||||
if self.print_time_timeout_id.has_key(jid):
|
if self.print_time_timeout_id.has_key(jid):
|
||||||
|
@ -299,11 +298,11 @@ class Chat:
|
||||||
'''When history menuitem is pressed: call history window'''
|
'''When history menuitem is pressed: call history window'''
|
||||||
if jid is None:
|
if jid is None:
|
||||||
jid = self.get_active_jid()
|
jid = self.get_active_jid()
|
||||||
if self.plugin.windows['logs'].has_key(jid):
|
if gajim.interface.windows['logs'].has_key(jid):
|
||||||
self.plugin.windows['logs'][jid].window.present()
|
gajim.interface.windows['logs'][jid].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['logs'][jid] = history_window.HistoryWindow(
|
gajim.interface.windows['logs'][jid] = history_window.HistoryWindow(jid,
|
||||||
self.plugin, jid, self.account)
|
self.account)
|
||||||
|
|
||||||
def on_chat_window_focus_in_event(self, widget, event):
|
def on_chat_window_focus_in_event(self, widget, event):
|
||||||
'''When window gets focus'''
|
'''When window gets focus'''
|
||||||
|
@ -319,8 +318,8 @@ class Chat:
|
||||||
if self.nb_unread[jid] > 0:
|
if self.nb_unread[jid] > 0:
|
||||||
self.nb_unread[jid] = 0 + self.get_specific_unread(jid)
|
self.nb_unread[jid] = 0 + self.get_specific_unread(jid)
|
||||||
self.show_title()
|
self.show_title()
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.remove_jid(jid, self.account,
|
gajim.interface.systray.remove_jid(jid, self.account,
|
||||||
self.get_message_type(jid))
|
self.get_message_type(jid))
|
||||||
|
|
||||||
'''TC/GC window received focus, so if we had urgency REMOVE IT
|
'''TC/GC window received focus, so if we had urgency REMOVE IT
|
||||||
|
@ -483,8 +482,8 @@ class Chat:
|
||||||
self.nb_unread[new_jid] = 0 + self.get_specific_unread(new_jid)
|
self.nb_unread[new_jid] = 0 + self.get_specific_unread(new_jid)
|
||||||
self.redraw_tab(new_jid)
|
self.redraw_tab(new_jid)
|
||||||
self.show_title()
|
self.show_title()
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.remove_jid(new_jid, self.account,
|
gajim.interface.systray.remove_jid(new_jid, self.account,
|
||||||
self.get_message_type(new_jid))
|
self.get_message_type(new_jid))
|
||||||
|
|
||||||
conversation_textview.grab_focus()
|
conversation_textview.grab_focus()
|
||||||
|
@ -520,8 +519,8 @@ class Chat:
|
||||||
else:
|
else:
|
||||||
if self.nb_unread[jid] > 0:
|
if self.nb_unread[jid] > 0:
|
||||||
self.nb_unread[jid] = 0
|
self.nb_unread[jid] = 0
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.remove_jid(jid, self.account,
|
gajim.interface.systray.remove_jid(jid, self.account,
|
||||||
self.get_message_type(jid))
|
self.get_message_type(jid))
|
||||||
if self.print_time_timeout_id.has_key(jid):
|
if self.print_time_timeout_id.has_key(jid):
|
||||||
gobject.source_remove(self.print_time_timeout_id[jid])
|
gobject.source_remove(self.print_time_timeout_id[jid])
|
||||||
|
@ -529,8 +528,8 @@ class Chat:
|
||||||
|
|
||||||
self.notebook.remove_page(self.notebook.page_num(self.childs[jid]))
|
self.notebook.remove_page(self.notebook.page_num(self.childs[jid]))
|
||||||
|
|
||||||
if self.plugin.windows[self.account][kind].has_key(jid):
|
if gajim.interface.windows[self.account][kind].has_key(jid):
|
||||||
del self.plugin.windows[self.account][kind][jid]
|
del gajim.interface.windows[self.account][kind][jid]
|
||||||
del self.nb_unread[jid]
|
del self.nb_unread[jid]
|
||||||
del gajim.last_message_time[self.account][jid]
|
del gajim.last_message_time[self.account][jid]
|
||||||
del self.last_time_printout[jid]
|
del self.last_time_printout[jid]
|
||||||
|
@ -842,8 +841,8 @@ class Chat:
|
||||||
self.nb_unread[jid] = 0 + self.get_specific_unread(jid)
|
self.nb_unread[jid] = 0 + self.get_specific_unread(jid)
|
||||||
self.redraw_tab(jid)
|
self.redraw_tab(jid)
|
||||||
self.show_title()
|
self.show_title()
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.remove_jid(jid, self.account,
|
gajim.interface.systray.remove_jid(jid, self.account,
|
||||||
self.get_message_type(jid))
|
self.get_message_type(jid))
|
||||||
|
|
||||||
def on_conversation_textview_motion_notify_event(self, widget, event):
|
def on_conversation_textview_motion_notify_event(self, widget, event):
|
||||||
|
@ -1016,24 +1015,24 @@ class Chat:
|
||||||
clip.set_text(text)
|
clip.set_text(text)
|
||||||
|
|
||||||
def on_start_chat_activate(self, widget, jid):
|
def on_start_chat_activate(self, widget, jid):
|
||||||
self.plugin.roster.new_chat_from_jid(self.account, jid)
|
gajim.interface.roster.new_chat_from_jid(self.account, jid)
|
||||||
|
|
||||||
def on_join_group_chat_menuitem_activate(self, widget, jid):
|
def on_join_group_chat_menuitem_activate(self, widget, jid):
|
||||||
room, server = jid.split('@')
|
room, server = jid.split('@')
|
||||||
if self.plugin.windows[self.account].has_key('join_gc'):
|
if gajim.interface.windows[self.account].has_key('join_gc'):
|
||||||
instance = self.plugin.windows[self.account]['join_gc']
|
instance = gajim.interface.windows[self.account]['join_gc']
|
||||||
instance.xml.get_widget('server_entry').set_text(server)
|
instance.xml.get_widget('server_entry').set_text(server)
|
||||||
instance.xml.get_widget('room_entry').set_text(room)
|
instance.xml.get_widget('room_entry').set_text(room)
|
||||||
self.plugin.windows[self.account]['join_gc'].window.present()
|
gajim.interface.windows[self.account]['join_gc'].window.present()
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
self.plugin.windows[self.account]['join_gc'] = \
|
gajim.interface.windows[self.account]['join_gc'] = \
|
||||||
dialogs.JoinGroupchatWindow(self.plugin, self.account, server, room)
|
dialogs.JoinGroupchatWindow(self.account, server, room)
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def on_add_to_roster_activate(self, widget, jid):
|
def on_add_to_roster_activate(self, widget, jid):
|
||||||
dialogs.AddNewContactWindow(self.plugin, self.account, jid)
|
dialogs.AddNewContactWindow(self.account, jid)
|
||||||
|
|
||||||
def make_link_menu(self, event, kind, text):
|
def make_link_menu(self, event, kind, text):
|
||||||
xml = gtk.glade.XML(GTKGUI_GLADE, 'chat_context_menu', APP)
|
xml = gtk.glade.XML(GTKGUI_GLADE, 'chat_context_menu', APP)
|
||||||
|
@ -1102,9 +1101,9 @@ class Chat:
|
||||||
|
|
||||||
# basic: links + mail + formatting is always checked (we like that)
|
# basic: links + mail + formatting is always checked (we like that)
|
||||||
if gajim.config.get('useemoticons'): # search for emoticons & urls
|
if gajim.config.get('useemoticons'): # search for emoticons & urls
|
||||||
iterator = self.plugin.emot_and_basic_re.finditer(otext)
|
iterator = gajim.interface.emot_and_basic_re.finditer(otext)
|
||||||
else: # search for just urls + mail + formatting
|
else: # search for just urls + mail + formatting
|
||||||
iterator = self.plugin.basic_pattern_re.finditer(otext)
|
iterator = gajim.interface.basic_pattern_re.finditer(otext)
|
||||||
for match in iterator:
|
for match in iterator:
|
||||||
start, end = match.span()
|
start, end = match.span()
|
||||||
special_text = otext[start:end]
|
special_text = otext[start:end]
|
||||||
|
@ -1127,13 +1126,13 @@ class Chat:
|
||||||
buffer = textview.get_buffer()
|
buffer = textview.get_buffer()
|
||||||
|
|
||||||
possible_emot_ascii_caps = special_text.upper() # emoticons keys are CAPS
|
possible_emot_ascii_caps = special_text.upper() # emoticons keys are CAPS
|
||||||
if possible_emot_ascii_caps in self.plugin.emoticons.keys():
|
if possible_emot_ascii_caps in gajim.interface.emoticons.keys():
|
||||||
#it's an emoticon
|
#it's an emoticon
|
||||||
emot_ascii = possible_emot_ascii_caps
|
emot_ascii = possible_emot_ascii_caps
|
||||||
end_iter = buffer.get_end_iter()
|
end_iter = buffer.get_end_iter()
|
||||||
anchor = buffer.create_child_anchor(end_iter)
|
anchor = buffer.create_child_anchor(end_iter)
|
||||||
img = gtk.Image()
|
img = gtk.Image()
|
||||||
img.set_from_file(self.plugin.emoticons[emot_ascii])
|
img.set_from_file(gajim.interface.emoticons[emot_ascii])
|
||||||
img.show()
|
img.show()
|
||||||
#add with possible animation
|
#add with possible animation
|
||||||
textview.add_child_at_anchor(img, anchor)
|
textview.add_child_at_anchor(img, anchor)
|
||||||
|
@ -1141,7 +1140,7 @@ class Chat:
|
||||||
#it's a mail
|
#it's a mail
|
||||||
tags.append('mail')
|
tags.append('mail')
|
||||||
use_other_tags = False
|
use_other_tags = False
|
||||||
elif self.plugin.sth_at_sth_dot_sth_re.match(special_text):
|
elif gajim.interface.sth_at_sth_dot_sth_re.match(special_text):
|
||||||
#it's a mail
|
#it's a mail
|
||||||
tags.append('mail')
|
tags.append('mail')
|
||||||
use_other_tags = False
|
use_other_tags = False
|
||||||
|
@ -1309,9 +1308,9 @@ class Chat:
|
||||||
if not gajim.config.get('notify_on_all_muc_messages'):
|
if not gajim.config.get('notify_on_all_muc_messages'):
|
||||||
return
|
return
|
||||||
self.nb_unread[jid] += 1
|
self.nb_unread[jid] += 1
|
||||||
if self.plugin.systray_enabled and gajim.config.get(
|
if gajim.interface.systray_enabled and gajim.config.get(
|
||||||
'trayicon_notification_on_new_messages'):
|
'trayicon_notification_on_new_messages'):
|
||||||
self.plugin.systray.add_jid(jid, self.account, self.get_message_type(jid))
|
gajim.interface.systray.add_jid(jid, self.account, self.get_message_type(jid))
|
||||||
self.redraw_tab(jid)
|
self.redraw_tab(jid)
|
||||||
self.show_title(urgent)
|
self.show_title(urgent)
|
||||||
|
|
||||||
|
|
|
@ -32,8 +32,7 @@ gtk.glade.textdomain(APP)
|
||||||
GTKGUI_GLADE='gtkgui.glade'
|
GTKGUI_GLADE='gtkgui.glade'
|
||||||
|
|
||||||
class Check_for_new_version_dialog:
|
class Check_for_new_version_dialog:
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.plugin = plugin
|
|
||||||
try:
|
try:
|
||||||
self.check_for_new_version()
|
self.check_for_new_version()
|
||||||
except:
|
except:
|
||||||
|
|
|
@ -24,6 +24,7 @@ import mutex
|
||||||
import common.config
|
import common.config
|
||||||
import common.logger
|
import common.logger
|
||||||
|
|
||||||
|
interface = None # The actual interface (the gtk one for the moment)
|
||||||
version = '0.9'
|
version = '0.9'
|
||||||
config = common.config.Config()
|
config = common.config.Config()
|
||||||
connections = {}
|
connections = {}
|
||||||
|
|
324
src/config.py
324
src/config.py
|
@ -67,11 +67,10 @@ class PreferencesWindow:
|
||||||
def on_close_button_clicked(self, widget):
|
def on_close_button_clicked(self, widget):
|
||||||
self.window.hide()
|
self.window.hide()
|
||||||
|
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
'''Initialize Preferences window'''
|
'''Initialize Preferences window'''
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'preferences_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'preferences_window', APP)
|
||||||
self.window = self.xml.get_widget('preferences_window')
|
self.window = self.xml.get_widget('preferences_window')
|
||||||
self.plugin = plugin
|
|
||||||
self.iconset_combobox = self.xml.get_widget('iconset_combobox')
|
self.iconset_combobox = self.xml.get_widget('iconset_combobox')
|
||||||
self.notify_on_new_message_radiobutton = self.xml.get_widget \
|
self.notify_on_new_message_radiobutton = self.xml.get_widget \
|
||||||
('notify_on_new_message_radiobutton')
|
('notify_on_new_message_radiobutton')
|
||||||
|
@ -96,7 +95,7 @@ class PreferencesWindow:
|
||||||
self.notebook = self.xml.get_widget('preferences_notebook')
|
self.notebook = self.xml.get_widget('preferences_notebook')
|
||||||
|
|
||||||
#trayicon
|
#trayicon
|
||||||
if self.plugin.systray_capabilities:
|
if gajim.interface.systray_capabilities:
|
||||||
st = gajim.config.get('trayicon')
|
st = gajim.config.get('trayicon')
|
||||||
self.trayicon_checkbutton.set_active(st)
|
self.trayicon_checkbutton.set_active(st)
|
||||||
else:
|
else:
|
||||||
|
@ -450,38 +449,38 @@ class PreferencesWindow:
|
||||||
if change_sensitivity_widgets:
|
if change_sensitivity_widgets:
|
||||||
for w in change_sensitivity_widgets:
|
for w in change_sensitivity_widgets:
|
||||||
w.set_sensitive(widget.get_active())
|
w.set_sensitive(widget.get_active())
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_trayicon_checkbutton_toggled(self, widget):
|
def on_trayicon_checkbutton_toggled(self, widget):
|
||||||
if widget.get_active():
|
if widget.get_active():
|
||||||
gajim.config.set('trayicon', True)
|
gajim.config.set('trayicon', True)
|
||||||
self.plugin.show_systray()
|
gajim.interface.show_systray()
|
||||||
self.plugin.roster.update_status_comboxbox()
|
gajim.interface.roster.update_status_comboxbox()
|
||||||
else:
|
else:
|
||||||
gajim.config.set('trayicon', False)
|
gajim.config.set('trayicon', False)
|
||||||
self.plugin.hide_systray()
|
gajim.interface.hide_systray()
|
||||||
gajim.config.set('show_roster_on_startup', True) # no tray, show roster!
|
gajim.config.set('show_roster_on_startup', True) # no tray, show roster!
|
||||||
self.plugin.roster.draw_roster()
|
gajim.interface.roster.draw_roster()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_save_position_checkbutton_toggled(self, widget):
|
def on_save_position_checkbutton_toggled(self, widget):
|
||||||
self.on_checkbutton_toggled(widget, 'saveposition')
|
self.on_checkbutton_toggled(widget, 'saveposition')
|
||||||
|
|
||||||
def on_merge_checkbutton_toggled(self, widget):
|
def on_merge_checkbutton_toggled(self, widget):
|
||||||
self.on_checkbutton_toggled(widget, 'mergeaccounts')
|
self.on_checkbutton_toggled(widget, 'mergeaccounts')
|
||||||
self.plugin.roster.regroup = gajim.config.get('mergeaccounts')
|
gajim.interface.roster.regroup = gajim.config.get('mergeaccounts')
|
||||||
self.plugin.roster.draw_roster()
|
gajim.interface.roster.draw_roster()
|
||||||
|
|
||||||
def on_sort_by_show_checkbutton_toggled(self, widget):
|
def on_sort_by_show_checkbutton_toggled(self, widget):
|
||||||
self.on_checkbutton_toggled(widget, 'sort_by_show')
|
self.on_checkbutton_toggled(widget, 'sort_by_show')
|
||||||
self.plugin.roster.draw_roster()
|
gajim.interface.roster.draw_roster()
|
||||||
|
|
||||||
def on_use_emoticons_checkbutton_toggled(self, widget):
|
def on_use_emoticons_checkbutton_toggled(self, widget):
|
||||||
self.on_checkbutton_toggled(widget, 'useemoticons',
|
self.on_checkbutton_toggled(widget, 'useemoticons',
|
||||||
[self.xml.get_widget('add_remove_emoticons_button')])
|
[self.xml.get_widget('add_remove_emoticons_button')])
|
||||||
|
|
||||||
def on_add_remove_emoticons_button_clicked(self, widget):
|
def on_add_remove_emoticons_button_clicked(self, widget):
|
||||||
window = self.plugin.windows['add_remove_emoticons'].window
|
window = gajim.interface.windows['add_remove_emoticons'].window
|
||||||
if window.get_property('visible'):
|
if window.get_property('visible'):
|
||||||
window.present()
|
window.present()
|
||||||
else:
|
else:
|
||||||
|
@ -492,15 +491,15 @@ class PreferencesWindow:
|
||||||
active = widget.get_active()
|
active = widget.get_active()
|
||||||
icon_string = model[active][1].decode('utf-8')
|
icon_string = model[active][1].decode('utf-8')
|
||||||
gajim.config.set('iconset', icon_string)
|
gajim.config.set('iconset', icon_string)
|
||||||
self.plugin.roster.reload_jabber_state_images()
|
gajim.interface.roster.reload_jabber_state_images()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_transports_iconsets_checkbutton_toggled(self, widget):
|
def on_transports_iconsets_checkbutton_toggled(self, widget):
|
||||||
self.on_checkbutton_toggled(widget, 'use_transports_iconsets')
|
self.on_checkbutton_toggled(widget, 'use_transports_iconsets')
|
||||||
self.plugin.roster.draw_roster()
|
gajim.interface.roster.draw_roster()
|
||||||
|
|
||||||
def on_manage_theme_button_clicked(self, widget):
|
def on_manage_theme_button_clicked(self, widget):
|
||||||
dialogs.GajimThemesWindow(self.plugin)
|
dialogs.GajimThemesWindow()
|
||||||
|
|
||||||
def on_theme_combobox_changed(self, widget):
|
def on_theme_combobox_changed(self, widget):
|
||||||
model = widget.get_model()
|
model = widget.get_model()
|
||||||
|
@ -510,9 +509,9 @@ class PreferencesWindow:
|
||||||
gajim.config.set('roster_theme', config_theme)
|
gajim.config.set('roster_theme', config_theme)
|
||||||
|
|
||||||
# begin repainting themed widgets throughout
|
# begin repainting themed widgets throughout
|
||||||
self.plugin.roster.repaint_themed_widgets()
|
gajim.interface.roster.repaint_themed_widgets()
|
||||||
self.plugin.roster.change_roster_style(None)
|
gajim.interface.roster.change_roster_style(None)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def merge_windows(self, kind):
|
def merge_windows(self, kind):
|
||||||
for acct in gajim.connections:
|
for acct in gajim.connections:
|
||||||
|
@ -520,7 +519,7 @@ class PreferencesWindow:
|
||||||
buf1 = {}
|
buf1 = {}
|
||||||
buf2 = {}
|
buf2 = {}
|
||||||
saved_var = {}
|
saved_var = {}
|
||||||
windows = self.plugin.windows[acct][kind]
|
windows = gajim.interface.windows[acct][kind]
|
||||||
jids = windows.keys()
|
jids = windows.keys()
|
||||||
for jid in jids:
|
for jid in jids:
|
||||||
window = windows[jid]
|
window = windows[jid]
|
||||||
|
@ -534,9 +533,9 @@ class PreferencesWindow:
|
||||||
for jid in jids:
|
for jid in jids:
|
||||||
if kind == 'chats':
|
if kind == 'chats':
|
||||||
c = gajim.get_contact_instance_with_highest_priority(acct, jid)
|
c = gajim.get_contact_instance_with_highest_priority(acct, jid)
|
||||||
self.plugin.roster.new_chat(c, acct)
|
gajim.interface.roster.new_chat(c, acct)
|
||||||
if kind == 'gc':
|
if kind == 'gc':
|
||||||
self.plugin.roster.new_room(jid, saved_var[jid]['nick'], acct)
|
gajim.interface.roster.new_room(jid, saved_var[jid]['nick'], acct)
|
||||||
window = windows[jid]
|
window = windows[jid]
|
||||||
window.xmls[jid].get_widget('conversation_textview').set_buffer(
|
window.xmls[jid].get_widget('conversation_textview').set_buffer(
|
||||||
buf1[jid])
|
buf1[jid])
|
||||||
|
@ -550,7 +549,7 @@ class PreferencesWindow:
|
||||||
buf1 = {}
|
buf1 = {}
|
||||||
buf2 = {}
|
buf2 = {}
|
||||||
saved_var = {}
|
saved_var = {}
|
||||||
windows = self.plugin.windows[acct][kind]
|
windows = gajim.interface.windows[acct][kind]
|
||||||
jids = windows.keys()
|
jids = windows.keys()
|
||||||
if not 'tabbed' in jids:
|
if not 'tabbed' in jids:
|
||||||
continue
|
continue
|
||||||
|
@ -567,9 +566,9 @@ class PreferencesWindow:
|
||||||
for jid in jids:
|
for jid in jids:
|
||||||
if kind == 'chats':
|
if kind == 'chats':
|
||||||
c = gajim.get_contact_instance_with_highest_priority(acct, jid)
|
c = gajim.get_contact_instance_with_highest_priority(acct, jid)
|
||||||
self.plugin.roster.new_chat(c, acct)
|
gajim.interface.roster.new_chat(c, acct)
|
||||||
if kind == 'gc':
|
if kind == 'gc':
|
||||||
self.plugin.roster.new_room(jid, saved_var[jid]['nick'], acct)
|
gajim.interface.roster.new_room(jid, saved_var[jid]['nick'], acct)
|
||||||
window = windows[jid]
|
window = windows[jid]
|
||||||
window.xmls[jid].get_widget('conversation_textview').set_buffer(
|
window.xmls[jid].get_widget('conversation_textview').set_buffer(
|
||||||
buf1[jid])
|
buf1[jid])
|
||||||
|
@ -589,11 +588,11 @@ class PreferencesWindow:
|
||||||
else:
|
else:
|
||||||
self.split_windows('chats')
|
self.split_windows('chats')
|
||||||
self.split_windows('gc')
|
self.split_windows('gc')
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def apply_speller(self, kind):
|
def apply_speller(self, kind):
|
||||||
for acct in gajim.connections:
|
for acct in gajim.connections:
|
||||||
windows = self.plugin.windows[acct][kind]
|
windows = gajim.interface.windows[acct][kind]
|
||||||
jids = windows.keys()
|
jids = windows.keys()
|
||||||
for jid in jids:
|
for jid in jids:
|
||||||
if jid == 'tabbed':
|
if jid == 'tabbed':
|
||||||
|
@ -604,7 +603,7 @@ class PreferencesWindow:
|
||||||
|
|
||||||
def remove_speller(self, kind):
|
def remove_speller(self, kind):
|
||||||
for acct in gajim.connections:
|
for acct in gajim.connections:
|
||||||
windows = self.plugin.windows[acct][kind]
|
windows = gajim.interface.windows[acct][kind]
|
||||||
jids = windows.keys()
|
jids = windows.keys()
|
||||||
for jid in jids:
|
for jid in jids:
|
||||||
if jid == 'tabbed':
|
if jid == 'tabbed':
|
||||||
|
@ -618,7 +617,7 @@ class PreferencesWindow:
|
||||||
def on_speller_checkbutton_toggled(self, widget):
|
def on_speller_checkbutton_toggled(self, widget):
|
||||||
active = widget.get_active()
|
active = widget.get_active()
|
||||||
gajim.config.set('use_speller', active)
|
gajim.config.set('use_speller', active)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
if active:
|
if active:
|
||||||
self.apply_speller('chats')
|
self.apply_speller('chats')
|
||||||
self.apply_speller('gc')
|
self.apply_speller('gc')
|
||||||
|
@ -629,7 +628,7 @@ class PreferencesWindow:
|
||||||
def update_print_time(self):
|
def update_print_time(self):
|
||||||
'''Update time in Opened Chat Windows'''
|
'''Update time in Opened Chat Windows'''
|
||||||
for a in gajim.connections:
|
for a in gajim.connections:
|
||||||
window = self.plugin.windows[a]['chats']
|
window = gajim.interface.windows[a]['chats']
|
||||||
if window.has_key('tabbed'):
|
if window.has_key('tabbed'):
|
||||||
window['tabbed'].update_print_time()
|
window['tabbed'].update_print_time()
|
||||||
else:
|
else:
|
||||||
|
@ -640,41 +639,41 @@ class PreferencesWindow:
|
||||||
if widget.get_active():
|
if widget.get_active():
|
||||||
gajim.config.set('print_time', 'never')
|
gajim.config.set('print_time', 'never')
|
||||||
self.update_print_time()
|
self.update_print_time()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_time_sometimes_radiobutton_toggled(self, widget):
|
def on_time_sometimes_radiobutton_toggled(self, widget):
|
||||||
if widget.get_active():
|
if widget.get_active():
|
||||||
gajim.config.set('print_time', 'sometimes')
|
gajim.config.set('print_time', 'sometimes')
|
||||||
self.update_print_time()
|
self.update_print_time()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_time_always_radiobutton_toggled(self, widget):
|
def on_time_always_radiobutton_toggled(self, widget):
|
||||||
if widget.get_active():
|
if widget.get_active():
|
||||||
gajim.config.set('print_time', 'always')
|
gajim.config.set('print_time', 'always')
|
||||||
self.update_print_time()
|
self.update_print_time()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_before_time_entry_focus_out_event(self, widget, event):
|
def on_before_time_entry_focus_out_event(self, widget, event):
|
||||||
gajim.config.set('before_time', widget.get_text().decode('utf-8'))
|
gajim.config.set('before_time', widget.get_text().decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_after_time_entry_focus_out_event(self, widget, event):
|
def on_after_time_entry_focus_out_event(self, widget, event):
|
||||||
gajim.config.set('after_time', widget.get_text().decode('utf-8'))
|
gajim.config.set('after_time', widget.get_text().decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_before_nickname_entry_focus_out_event(self, widget, event):
|
def on_before_nickname_entry_focus_out_event(self, widget, event):
|
||||||
gajim.config.set('before_nickname', widget.get_text().decode('utf-8'))
|
gajim.config.set('before_nickname', widget.get_text().decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_after_nickname_entry_focus_out_event(self, widget, event):
|
def on_after_nickname_entry_focus_out_event(self, widget, event):
|
||||||
gajim.config.set('after_nickname', widget.get_text().decode('utf-8'))
|
gajim.config.set('after_nickname', widget.get_text().decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def update_text_tags(self):
|
def update_text_tags(self):
|
||||||
'''Update color tags in Opened Chat Windows'''
|
'''Update color tags in Opened Chat Windows'''
|
||||||
for a in gajim.connections:
|
for a in gajim.connections:
|
||||||
for kind in ['chats', 'gc']:
|
for kind in ['chats', 'gc']:
|
||||||
windows = self.plugin.windows[a][kind]
|
windows = gajim.interface.windows[a][kind]
|
||||||
if windows.has_key('tabbed'):
|
if windows.has_key('tabbed'):
|
||||||
windows['tabbed'].update_tags()
|
windows['tabbed'].update_tags()
|
||||||
else:
|
else:
|
||||||
|
@ -685,7 +684,7 @@ class PreferencesWindow:
|
||||||
'''Update text font in Opened Chat Windows'''
|
'''Update text font in Opened Chat Windows'''
|
||||||
for a in gajim.connections:
|
for a in gajim.connections:
|
||||||
for kind in ['chats', 'gc']:
|
for kind in ['chats', 'gc']:
|
||||||
windows = self.plugin.windows[a][kind]
|
windows = gajim.interface.windows[a][kind]
|
||||||
if windows.has_key('tabbed'):
|
if windows.has_key('tabbed'):
|
||||||
windows['tabbed'].update_font()
|
windows['tabbed'].update_font()
|
||||||
else:
|
else:
|
||||||
|
@ -697,13 +696,13 @@ class PreferencesWindow:
|
||||||
color_string = mk_color_string(color)
|
color_string = mk_color_string(color)
|
||||||
gajim.config.set(text, color_string)
|
gajim.config.set(text, color_string)
|
||||||
self.update_text_tags()
|
self.update_text_tags()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_preference_widget_font_set(self, widget, text):
|
def on_preference_widget_font_set(self, widget, text):
|
||||||
font = widget.get_font_name()
|
font = widget.get_font_name()
|
||||||
gajim.config.set(text, font)
|
gajim.config.set(text, font)
|
||||||
self.update_text_font()
|
self.update_text_font()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_incoming_msg_colorbutton_color_set(self, widget):
|
def on_incoming_msg_colorbutton_color_set(self, widget):
|
||||||
self.on_preference_widget_color_set(widget, 'inmsgcolor')
|
self.on_preference_widget_color_set(widget, 'inmsgcolor')
|
||||||
|
@ -719,7 +718,7 @@ class PreferencesWindow:
|
||||||
|
|
||||||
def on_reset_colors_button_clicked(self, widget):
|
def on_reset_colors_button_clicked(self, widget):
|
||||||
for i in ['inmsgcolor', 'outmsgcolor', 'statusmsgcolor']:
|
for i in ['inmsgcolor', 'outmsgcolor', 'statusmsgcolor']:
|
||||||
gajim.config.set(i, self.plugin.default_values[i])
|
gajim.config.set(i, gajim.interface.default_values[i])
|
||||||
|
|
||||||
self.xml.get_widget('incoming_msg_colorbutton').set_color(\
|
self.xml.get_widget('incoming_msg_colorbutton').set_color(\
|
||||||
gtk.gdk.color_parse(gajim.config.get('inmsgcolor')))
|
gtk.gdk.color_parse(gajim.config.get('inmsgcolor')))
|
||||||
|
@ -728,7 +727,7 @@ class PreferencesWindow:
|
||||||
self.xml.get_widget('status_msg_colorbutton').set_color(\
|
self.xml.get_widget('status_msg_colorbutton').set_color(\
|
||||||
gtk.gdk.color_parse(gajim.config.get('statusmsgcolor')))
|
gtk.gdk.color_parse(gajim.config.get('statusmsgcolor')))
|
||||||
self.update_text_tags()
|
self.update_text_tags()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_notify_on_new_message_radiobutton_toggled(self, widget):
|
def on_notify_on_new_message_radiobutton_toggled(self, widget):
|
||||||
self.on_checkbutton_toggled(widget, 'notify_on_new_message',
|
self.on_checkbutton_toggled(widget, 'notify_on_new_message',
|
||||||
|
@ -772,7 +771,7 @@ class PreferencesWindow:
|
||||||
|
|
||||||
def on_soundplayer_entry_changed(self, widget):
|
def on_soundplayer_entry_changed(self, widget):
|
||||||
gajim.config.set('soundplayer', widget.get_text().decode('utf-8'))
|
gajim.config.set('soundplayer', widget.get_text().decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_prompt_online_status_message_checkbutton_toggled(self, widget):
|
def on_prompt_online_status_message_checkbutton_toggled(self, widget):
|
||||||
self.on_checkbutton_toggled(widget, 'ask_online_status')
|
self.on_checkbutton_toggled(widget, 'ask_online_status')
|
||||||
|
@ -786,7 +785,7 @@ class PreferencesWindow:
|
||||||
bool(model[path][1]))
|
bool(model[path][1]))
|
||||||
gajim.config.set_per('soundevents', sound_event, 'path',
|
gajim.config.set_per('soundevents', sound_event, 'path',
|
||||||
model[iter][2].decode('utf-8'))
|
model[iter][2].decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_auto_away_checkbutton_toggled(self, widget):
|
def on_auto_away_checkbutton_toggled(self, widget):
|
||||||
self.on_checkbutton_toggled(widget, 'autoaway',
|
self.on_checkbutton_toggled(widget, 'autoaway',
|
||||||
|
@ -795,10 +794,10 @@ class PreferencesWindow:
|
||||||
def on_auto_away_time_spinbutton_value_changed(self, widget):
|
def on_auto_away_time_spinbutton_value_changed(self, widget):
|
||||||
aat = widget.get_value_as_int()
|
aat = widget.get_value_as_int()
|
||||||
gajim.config.set('autoawaytime', aat)
|
gajim.config.set('autoawaytime', aat)
|
||||||
self.plugin.sleeper = common.sleepy.Sleepy(
|
gajim.interface.sleeper = common.sleepy.Sleepy(
|
||||||
gajim.config.get('autoawaytime') * 60,
|
gajim.config.get('autoawaytime') * 60,
|
||||||
gajim.config.get('autoxatime') * 60)
|
gajim.config.get('autoxatime') * 60)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_auto_away_message_entry_changed(self, widget):
|
def on_auto_away_message_entry_changed(self, widget):
|
||||||
gajim.config.set('autoaway_message', widget.get_text().decode('utf-8'))
|
gajim.config.set('autoaway_message', widget.get_text().decode('utf-8'))
|
||||||
|
@ -810,10 +809,10 @@ class PreferencesWindow:
|
||||||
def on_auto_xa_time_spinbutton_value_changed(self, widget):
|
def on_auto_xa_time_spinbutton_value_changed(self, widget):
|
||||||
axt = widget.get_value_as_int()
|
axt = widget.get_value_as_int()
|
||||||
gajim.config.set('autoxatime', axt)
|
gajim.config.set('autoxatime', axt)
|
||||||
self.plugin.sleeper = common.sleepy.Sleepy(
|
gajim.interface.sleeper = common.sleepy.Sleepy(
|
||||||
gajim.config.get('autoawaytime') * 60,
|
gajim.config.get('autoawaytime') * 60,
|
||||||
gajim.config.get('autoxatime') * 60)
|
gajim.config.get('autoxatime') * 60)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_auto_xa_message_entry_changed(self, widget):
|
def on_auto_xa_message_entry_changed(self, widget):
|
||||||
gajim.config.set('autoxa_message', widget.get_text().decode('utf-8'))
|
gajim.config.set('autoxa_message', widget.get_text().decode('utf-8'))
|
||||||
|
@ -828,7 +827,7 @@ class PreferencesWindow:
|
||||||
gajim.config.set_per('statusmsg', val, 'message',
|
gajim.config.set_per('statusmsg', val, 'message',
|
||||||
model[iter][1].decode('utf-8'))
|
model[iter][1].decode('utf-8'))
|
||||||
iter = model.iter_next(iter)
|
iter = model.iter_next(iter)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_msg_treemodel_row_changed(self, model, path, iter):
|
def on_msg_treemodel_row_changed(self, model, path, iter):
|
||||||
self.save_status_messages(model)
|
self.save_status_messages(model)
|
||||||
|
@ -849,35 +848,35 @@ class PreferencesWindow:
|
||||||
elif widget.get_active() == 2:
|
elif widget.get_active() == 2:
|
||||||
gajim.config.set('openwith', 'kfmclient exec')
|
gajim.config.set('openwith', 'kfmclient exec')
|
||||||
self.xml.get_widget('custom_apps_frame').set_sensitive(False)
|
self.xml.get_widget('custom_apps_frame').set_sensitive(False)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_custom_browser_entry_changed(self, widget):
|
def on_custom_browser_entry_changed(self, widget):
|
||||||
gajim.config.set('custombrowser', widget.get_text().decode('utf-8'))
|
gajim.config.set('custombrowser', widget.get_text().decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_custom_mail_client_entry_changed(self, widget):
|
def on_custom_mail_client_entry_changed(self, widget):
|
||||||
gajim.config.set('custommailapp', widget.get_text().decode('utf-8'))
|
gajim.config.set('custommailapp', widget.get_text().decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_custom_file_manager_entry_changed(self, widget):
|
def on_custom_file_manager_entry_changed(self, widget):
|
||||||
gajim.config.set('custom_file_manager', widget.get_text().decode('utf-8'))
|
gajim.config.set('custom_file_manager', widget.get_text().decode('utf-8'))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_log_in_contact_checkbutton_toggled(self, widget):
|
def on_log_in_contact_checkbutton_toggled(self, widget):
|
||||||
gajim.config.set('log_notif_in_user_file', widget.get_active())
|
gajim.config.set('log_notif_in_user_file', widget.get_active())
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_log_in_extern_checkbutton_toggled(self, widget):
|
def on_log_in_extern_checkbutton_toggled(self, widget):
|
||||||
gajim.config.set('log_notif_in_sep_file', widget.get_active())
|
gajim.config.set('log_notif_in_sep_file', widget.get_active())
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_send_os_info_checkbutton_toggled(self, widget):
|
def on_send_os_info_checkbutton_toggled(self, widget):
|
||||||
gajim.config.set('send_os_info', widget.get_active())
|
gajim.config.set('send_os_info', widget.get_active())
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def on_check_for_new_version_checkbutton_toggled(self, widget):
|
def on_check_for_new_version_checkbutton_toggled(self, widget):
|
||||||
gajim.config.set('check_for_new_version', widget.get_active())
|
gajim.config.set('check_for_new_version', widget.get_active())
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def fill_msg_treeview(self):
|
def fill_msg_treeview(self):
|
||||||
self.xml.get_widget('delete_msg_button').set_sensitive(False)
|
self.xml.get_widget('delete_msg_button').set_sensitive(False)
|
||||||
|
@ -1008,31 +1007,30 @@ class PreferencesWindow:
|
||||||
model.set_value(iter, 1, 1)
|
model.set_value(iter, 1, 1)
|
||||||
|
|
||||||
def on_open_advanced_editor_button_clicked(self, widget, data = None):
|
def on_open_advanced_editor_button_clicked(self, widget, data = None):
|
||||||
if self.plugin.windows.has_key('advanced_config'):
|
if gajim.interface.windows.has_key('advanced_config'):
|
||||||
self.plugin.windows['advanced_config'].window.present()
|
gajim.interface.windows['advanced_config'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['advanced_config'] = \
|
gajim.interface.windows['advanced_config'] = \
|
||||||
dialogs.AdvancedConfigurationWindow(self.plugin)
|
dialogs.AdvancedConfigurationWindow(gajim.interface)
|
||||||
|
|
||||||
#---------- AccountModificationWindow class -------------#
|
#---------- AccountModificationWindow class -------------#
|
||||||
class AccountModificationWindow:
|
class AccountModificationWindow:
|
||||||
'''Class for account informations'''
|
'''Class for account informations'''
|
||||||
def on_account_modification_window_destroy(self, widget):
|
def on_account_modification_window_destroy(self, widget):
|
||||||
'''close window'''
|
'''close window'''
|
||||||
if self.plugin.windows.has_key(self.account):
|
if gajim.interface.windows.has_key(self.account):
|
||||||
if self.plugin.windows[self.account].has_key('account_modification'):
|
if gajim.interface.windows[self.account].has_key('account_modification'):
|
||||||
del self.plugin.windows[self.account]['account_modification']
|
del gajim.interface.windows[self.account]['account_modification']
|
||||||
return
|
return
|
||||||
if self.plugin.windows.has_key('account_modification'):
|
if gajim.interface.windows.has_key('account_modification'):
|
||||||
del self.plugin.windows['account_modification']
|
del gajim.interface.windows['account_modification']
|
||||||
|
|
||||||
def on_cancel_button_clicked(self, widget):
|
def on_cancel_button_clicked(self, widget):
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
def __init__(self, plugin, account = ''):
|
def __init__(self, account = ''):
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'account_modification_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'account_modification_window', APP)
|
||||||
self.window = self.xml.get_widget('account_modification_window')
|
self.window = self.xml.get_widget('account_modification_window')
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.modify = False # if we 're modifying an existing or creating a new account
|
self.modify = False # if we 're modifying an existing or creating a new account
|
||||||
|
|
||||||
|
@ -1262,7 +1260,7 @@ _('To change the account name, you must be disconnected.')).get_response()
|
||||||
#if we modify the name of the account
|
#if we modify the name of the account
|
||||||
if name != self.account:
|
if name != self.account:
|
||||||
#update variables
|
#update variables
|
||||||
self.plugin.windows[name] = self.plugin.windows[self.account]
|
gajim.interface.windows[name] = gajim.interface.windows[self.account]
|
||||||
gajim.awaiting_events[name] = gajim.awaiting_events[self.account]
|
gajim.awaiting_events[name] = gajim.awaiting_events[self.account]
|
||||||
gajim.nicks[name] = gajim.nicks[self.account]
|
gajim.nicks[name] = gajim.nicks[self.account]
|
||||||
gajim.allow_notifications[name] = \
|
gajim.allow_notifications[name] = \
|
||||||
|
@ -1283,16 +1281,16 @@ _('To change the account name, you must be disconnected.')).get_response()
|
||||||
|
|
||||||
#upgrade account variable in opened windows
|
#upgrade account variable in opened windows
|
||||||
for kind in ['infos', 'chats', 'gc', 'gc_config']:
|
for kind in ['infos', 'chats', 'gc', 'gc_config']:
|
||||||
for j in self.plugin.windows[name][kind]:
|
for j in gajim.interface.windows[name][kind]:
|
||||||
self.plugin.windows[name][kind][j].account = name
|
gajim.interface.windows[name][kind][j].account = name
|
||||||
|
|
||||||
#upgrade account in systray
|
#upgrade account in systray
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
for list in self.plugin.systray.jids:
|
for list in gajim.interface.systray.jids:
|
||||||
if list[0] == self.account:
|
if list[0] == self.account:
|
||||||
list[0] = name
|
list[0] = name
|
||||||
|
|
||||||
del self.plugin.windows[self.account]
|
del gajim.interface.windows[self.account]
|
||||||
del gajim.awaiting_events[self.account]
|
del gajim.awaiting_events[self.account]
|
||||||
del gajim.nicks[self.account]
|
del gajim.nicks[self.account]
|
||||||
del gajim.allow_notifications[self.account]
|
del gajim.allow_notifications[self.account]
|
||||||
|
@ -1319,11 +1317,11 @@ _('To change the account name, you must be disconnected.')).get_response()
|
||||||
if config['savepass']:
|
if config['savepass']:
|
||||||
gajim.connections[name].password = config['password']
|
gajim.connections[name].password = config['password']
|
||||||
#refresh accounts window
|
#refresh accounts window
|
||||||
if self.plugin.windows.has_key('accounts'):
|
if gajim.interface.windows.has_key('accounts'):
|
||||||
self.plugin.windows['accounts'].init_accounts()
|
gajim.interface.windows['accounts'].init_accounts()
|
||||||
#refresh roster
|
#refresh roster
|
||||||
self.plugin.roster.draw_roster()
|
gajim.interface.roster.draw_roster()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
return
|
return
|
||||||
#if it's a new account
|
#if it's a new account
|
||||||
|
@ -1332,7 +1330,7 @@ _('To change the account name, you must be disconnected.')).get_response()
|
||||||
_('You already have an account using this name.')).get_response()
|
_('You already have an account using this name.')).get_response()
|
||||||
return
|
return
|
||||||
con = connection.Connection(name)
|
con = connection.Connection(name)
|
||||||
self.plugin.register_handlers(con)
|
gajim.interface.register_handlers(con)
|
||||||
#if we need to register a new account
|
#if we need to register a new account
|
||||||
if new_account:
|
if new_account:
|
||||||
gajim.events_for_ui[name] = []
|
gajim.events_for_ui[name] = []
|
||||||
|
@ -1346,10 +1344,10 @@ _('To change the account name, you must be disconnected.')).get_response()
|
||||||
if config['savepass']:
|
if config['savepass']:
|
||||||
gajim.connections[name].password = config['password']
|
gajim.connections[name].password = config['password']
|
||||||
#update variables
|
#update variables
|
||||||
self.plugin.windows[name] = {'infos': {}, 'chats': {}, 'gc': {}, \
|
gajim.interface.windows[name] = {'infos': {}, 'chats': {}, 'gc': {}, \
|
||||||
'gc_config': {}}
|
'gc_config': {}}
|
||||||
self.plugin.windows[name]['xml_console'] = \
|
gajim.interface.windows[name]['xml_console'] = \
|
||||||
dialogs.XMLConsoleWindow(self.plugin, name)
|
dialogs.XMLConsoleWindow(name)
|
||||||
gajim.awaiting_events[name] = {}
|
gajim.awaiting_events[name] = {}
|
||||||
gajim.connections[name].connected = 0
|
gajim.connections[name].connected = 0
|
||||||
gajim.groups[name] = {}
|
gajim.groups[name] = {}
|
||||||
|
@ -1366,16 +1364,16 @@ _('To change the account name, you must be disconnected.')).get_response()
|
||||||
gajim.status_before_autoaway[name] = ''
|
gajim.status_before_autoaway[name] = ''
|
||||||
gajim.events_for_ui[name] = []
|
gajim.events_for_ui[name] = []
|
||||||
#refresh accounts window
|
#refresh accounts window
|
||||||
if self.plugin.windows.has_key('accounts'):
|
if gajim.interface.windows.has_key('accounts'):
|
||||||
self.plugin.windows['accounts'].init_accounts()
|
gajim.interface.windows['accounts'].init_accounts()
|
||||||
#refresh roster
|
#refresh roster
|
||||||
self.plugin.roster.draw_roster()
|
gajim.interface.roster.draw_roster()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
def on_change_password_button_clicked(self, widget):
|
def on_change_password_button_clicked(self, widget):
|
||||||
try:
|
try:
|
||||||
dialog = dialogs.ChangePasswordDialog(self.plugin, self.account)
|
dialog = dialogs.ChangePasswordDialog(self.account)
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
#if we showed ErrorDialog, there will not be dialog instance
|
#if we showed ErrorDialog, there will not be dialog instance
|
||||||
return
|
return
|
||||||
|
@ -1394,7 +1392,7 @@ _('To change the account name, you must be disconnected.')).get_response()
|
||||||
self.account = acct
|
self.account = acct
|
||||||
|
|
||||||
def on_edit_details_button_clicked(self, widget):
|
def on_edit_details_button_clicked(self, widget):
|
||||||
if not self.plugin.windows.has_key(self.account):
|
if not gajim.interface.windows.has_key(self.account):
|
||||||
dialogs.ErrorDialog(_('No such account available'),
|
dialogs.ErrorDialog(_('No such account available'),
|
||||||
_('You must create your account before editing your personal information.')).get_response()
|
_('You must create your account before editing your personal information.')).get_response()
|
||||||
return
|
return
|
||||||
|
@ -1407,17 +1405,17 @@ _('To change the account name, you must be disconnected.')).get_response()
|
||||||
_('Without a connection, you can not edit your personal information.')
|
_('Without a connection, you can not edit your personal information.')
|
||||||
).get_response()
|
).get_response()
|
||||||
return
|
return
|
||||||
if not self.plugin.windows[self.account]['infos'].has_key('vcard'):
|
if not gajim.interface.windows[self.account]['infos'].has_key('vcard'):
|
||||||
self.plugin.windows[self.account]['infos'][jid] = \
|
gajim.interface.windows[self.account]['infos'][jid] = \
|
||||||
dialogs.VcardWindow(jid, self.plugin, self.account, True)
|
dialogs.VcardWindow(jid, self.account, True)
|
||||||
gajim.connections[self.account].request_vcard(jid)
|
gajim.connections[self.account].request_vcard(jid)
|
||||||
|
|
||||||
def on_manage_proxies_button_clicked(self, widget):
|
def on_manage_proxies_button_clicked(self, widget):
|
||||||
if self.plugin.windows.has_key('manage_proxies'):
|
if gajim.interface.windows.has_key('manage_proxies'):
|
||||||
self.plugin.windows['manage_proxies'].window.present()
|
gajim.interface.windows['manage_proxies'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['manage_proxies'] = \
|
gajim.interface.windows['manage_proxies'] = \
|
||||||
ManageProxiesWindow(self.plugin)
|
ManageProxiesWindow()
|
||||||
|
|
||||||
def on_gpg_choose_button_clicked(self, widget, data = None):
|
def on_gpg_choose_button_clicked(self, widget, data = None):
|
||||||
if gajim.connections.has_key(self.account):
|
if gajim.connections.has_key(self.account):
|
||||||
|
@ -1498,8 +1496,7 @@ _('There was a problem retrieving your OpenPGP secret keys.')).get_response()
|
||||||
|
|
||||||
#---------- ManageProxiesWindow class -------------#
|
#---------- ManageProxiesWindow class -------------#
|
||||||
class ManageProxiesWindow:
|
class ManageProxiesWindow:
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.plugin = plugin
|
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_proxies_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_proxies_window', APP)
|
||||||
self.window = self.xml.get_widget('manage_proxies_window')
|
self.window = self.xml.get_widget('manage_proxies_window')
|
||||||
self.proxies_treeview = self.xml.get_widget('proxies_treeview')
|
self.proxies_treeview = self.xml.get_widget('proxies_treeview')
|
||||||
|
@ -1533,12 +1530,12 @@ class ManageProxiesWindow:
|
||||||
|
|
||||||
def on_manage_proxies_window_destroy(self, widget):
|
def on_manage_proxies_window_destroy(self, widget):
|
||||||
for account in gajim.connections:
|
for account in gajim.connections:
|
||||||
if self.plugin.windows[account].has_key('account_modification'):
|
if gajim.interface.windows[account].has_key('account_modification'):
|
||||||
self.plugin.windows[account]['account_modification'].\
|
gajim.interface.windows[account]['account_modification'].\
|
||||||
update_proxy_list()
|
update_proxy_list()
|
||||||
if self.plugin.windows.has_key('account_modification'):
|
if gajim.interface.windows.has_key('account_modification'):
|
||||||
self.plugin.windows['account_modification'].update_proxy_list()
|
gajim.interface.windows['account_modification'].update_proxy_list()
|
||||||
del self.plugin.windows['manage_proxies']
|
del gajim.interface.windows['manage_proxies']
|
||||||
|
|
||||||
def on_add_proxy_button_clicked(self, widget):
|
def on_add_proxy_button_clicked(self, widget):
|
||||||
model = self.proxies_treeview.get_model()
|
model = self.proxies_treeview.get_model()
|
||||||
|
@ -1658,13 +1655,12 @@ class ManageProxiesWindow:
|
||||||
class AccountsWindow:
|
class AccountsWindow:
|
||||||
'''Class for accounts window: list of accounts'''
|
'''Class for accounts window: list of accounts'''
|
||||||
def on_accounts_window_destroy(self, widget):
|
def on_accounts_window_destroy(self, widget):
|
||||||
del self.plugin.windows['accounts']
|
del gajim.interface.windows['accounts']
|
||||||
|
|
||||||
def on_close_button_clicked(self, widget):
|
def on_close_button_clicked(self, widget):
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.plugin = plugin
|
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'accounts_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'accounts_window', APP)
|
||||||
self.window = self.xml.get_widget('accounts_window')
|
self.window = self.xml.get_widget('accounts_window')
|
||||||
self.accounts_treeview = self.xml.get_widget('accounts_treeview')
|
self.accounts_treeview = self.xml.get_widget('accounts_treeview')
|
||||||
|
@ -1705,11 +1701,11 @@ class AccountsWindow:
|
||||||
|
|
||||||
def on_new_button_clicked(self, widget):
|
def on_new_button_clicked(self, widget):
|
||||||
'''When new button is clicked: open an account information window'''
|
'''When new button is clicked: open an account information window'''
|
||||||
if self.plugin.windows.has_key('account_modification'):
|
if gajim.interface.windows.has_key('account_modification'):
|
||||||
self.plugin.windows['account_modification'].window.present()
|
gajim.interface.windows['account_modification'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['account_modification'] = \
|
gajim.interface.windows['account_modification'] = \
|
||||||
AccountModificationWindow(self.plugin, '')
|
AccountModificationWindow('')
|
||||||
|
|
||||||
def on_remove_button_clicked(self, widget):
|
def on_remove_button_clicked(self, widget):
|
||||||
'''When delete button is clicked:
|
'''When delete button is clicked:
|
||||||
|
@ -1719,11 +1715,11 @@ class AccountsWindow:
|
||||||
if not iter:
|
if not iter:
|
||||||
return
|
return
|
||||||
account = model.get_value(iter, 0).decode('utf-8')
|
account = model.get_value(iter, 0).decode('utf-8')
|
||||||
if self.plugin.windows[account].has_key('remove_account'):
|
if gajim.interface.windows[account].has_key('remove_account'):
|
||||||
self.plugin.windows[account]['remove_account'].window.present()
|
gajim.interface.windows[account]['remove_account'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[account]['remove_account'] = \
|
gajim.interface.windows[account]['remove_account'] = \
|
||||||
RemoveAccountWindow(self.plugin, account)
|
RemoveAccountWindow(account)
|
||||||
|
|
||||||
def on_modify_button_clicked(self, widget):
|
def on_modify_button_clicked(self, widget):
|
||||||
'''When modify button is clicked:
|
'''When modify button is clicked:
|
||||||
|
@ -1742,15 +1738,14 @@ class AccountsWindow:
|
||||||
self.show_modification_window(account)
|
self.show_modification_window(account)
|
||||||
|
|
||||||
def show_modification_window(self, account):
|
def show_modification_window(self, account):
|
||||||
if self.plugin.windows[account].has_key('account_modification'):
|
if gajim.interface.windows[account].has_key('account_modification'):
|
||||||
self.plugin.windows[account]['account_modification'].window.present()
|
gajim.interface.windows[account]['account_modification'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[account]['account_modification'] = \
|
gajim.interface.windows[account]['account_modification'] = \
|
||||||
AccountModificationWindow(self.plugin, account)
|
AccountModificationWindow(account)
|
||||||
|
|
||||||
class DataFormWindow:
|
class DataFormWindow:
|
||||||
def __init__(self, plugin, account, config):
|
def __init__(self, account, config):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.config = config
|
self.config = config
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'data_form_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'data_form_window', APP)
|
||||||
|
@ -1907,7 +1902,7 @@ class ServiceRegistrationWindow(DataFormWindow):
|
||||||
groups = [_('Transports')], show = 'offline', status = 'offline',
|
groups = [_('Transports')], show = 'offline', status = 'offline',
|
||||||
sub = 'from')
|
sub = 'from')
|
||||||
gajim.contacts[self.account][self.service] = [user1]
|
gajim.contacts[self.account][self.service] = [user1]
|
||||||
self.plugin.roster.add_contact_to_roster(self.service, self.account)
|
gajim.interface.roster.add_contact_to_roster(self.service, self.account)
|
||||||
|
|
||||||
def on_ok_button_clicked(self, widget):
|
def on_ok_button_clicked(self, widget):
|
||||||
'''When Ok button is clicked:
|
'''When Ok button is clicked:
|
||||||
|
@ -1933,13 +1928,12 @@ class ServiceRegistrationWindow(DataFormWindow):
|
||||||
True) # True is for is_form
|
True) # True is for is_form
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
def __init__(self, service, infos, plugin, account, is_form):
|
def __init__(self, service, infos, account, is_form):
|
||||||
self.service = service
|
self.service = service
|
||||||
self.infos = infos
|
self.infos = infos
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
if is_form:
|
if is_form:
|
||||||
DataFormWindow.__init__(self, plugin, account, infos)
|
DataFormWindow.__init__(self, account, infos)
|
||||||
else:
|
else:
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'service_registration_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'service_registration_window', APP)
|
||||||
self.window = self.xml.get_widget('service_registration_window')
|
self.window = self.xml.get_widget('service_registration_window')
|
||||||
|
@ -1956,10 +1950,9 @@ class ServiceRegistrationWindow(DataFormWindow):
|
||||||
|
|
||||||
#---------- ManageEmoticonsWindow class -------------#
|
#---------- ManageEmoticonsWindow class -------------#
|
||||||
class ManageEmoticonsWindow:
|
class ManageEmoticonsWindow:
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_emoticons_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_emoticons_window', APP)
|
||||||
self.window = self.xml.get_widget('manage_emoticons_window')
|
self.window = self.xml.get_widget('manage_emoticons_window')
|
||||||
self.plugin = plugin
|
|
||||||
|
|
||||||
#emoticons
|
#emoticons
|
||||||
self.emot_tree = self.xml.get_widget('emoticons_treeview')
|
self.emot_tree = self.xml.get_widget('emoticons_treeview')
|
||||||
|
@ -1984,12 +1977,11 @@ class ManageEmoticonsWindow:
|
||||||
self.emot_tree.get_model().connect('row-changed',
|
self.emot_tree.get_model().connect('row-changed',
|
||||||
self.on_emoticons_treemodel_row_changed)
|
self.on_emoticons_treemodel_row_changed)
|
||||||
|
|
||||||
self.plugin = plugin
|
|
||||||
self.xml.signal_autoconnect(self)
|
self.xml.signal_autoconnect(self)
|
||||||
|
|
||||||
def on_add_remove_emoticons_window_delete_event(self, widget, event):
|
def on_add_remove_emoticons_window_delete_event(self, widget, event):
|
||||||
self.window.hide()
|
self.window.hide()
|
||||||
self.plugin.init_regexp() # update regexp [emoticons included]
|
gajim.interface.init_regexp() # update regexp [emoticons included]
|
||||||
return True # do NOT destroy the window
|
return True # do NOT destroy the window
|
||||||
|
|
||||||
def on_close_button_clicked(self, widget):
|
def on_close_button_clicked(self, widget):
|
||||||
|
@ -2000,12 +1992,12 @@ class ManageEmoticonsWindow:
|
||||||
emot = model.get_value(iter, 0).decode('utf-8').upper()
|
emot = model.get_value(iter, 0).decode('utf-8').upper()
|
||||||
if not emot in emots:
|
if not emot in emots:
|
||||||
gajim.config.add_per('emoticons', emot)
|
gajim.config.add_per('emoticons', emot)
|
||||||
self.plugin.init_regexp() # update regexp [emoticons included]
|
gajim.interface.init_regexp() # update regexp [emoticons included]
|
||||||
image = model[iter][1]
|
image = model[iter][1]
|
||||||
if image:
|
if image:
|
||||||
image = image.decode('utf-8')
|
image = image.decode('utf-8')
|
||||||
gajim.config.set_per('emoticons', emot, 'path', image)
|
gajim.config.set_per('emoticons', emot, 'path', image)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def image_is_ok(self, image):
|
def image_is_ok(self, image):
|
||||||
if not os.path.exists(image):
|
if not os.path.exists(image):
|
||||||
|
@ -2060,11 +2052,11 @@ class ManageEmoticonsWindow:
|
||||||
model.remove(iter)
|
model.remove(iter)
|
||||||
else:
|
else:
|
||||||
gajim.config.add_per('emoticons', emot)
|
gajim.config.add_per('emoticons', emot)
|
||||||
self.plugin.init_regexp() # update regexp (emoticons included)
|
gajim.interface.init_regexp() # update regexp (emoticons included)
|
||||||
gajim.config.set_per('emoticons', emot, 'path',
|
gajim.config.set_per('emoticons', emot, 'path',
|
||||||
model[iter][1].decode('utf-8'))
|
model[iter][1].decode('utf-8'))
|
||||||
model[iter][0] = emot
|
model[iter][0] = emot
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def update_preview(self, widget):
|
def update_preview(self, widget):
|
||||||
path_to_file = widget.get_preview_filename()
|
path_to_file = widget.get_preview_filename()
|
||||||
|
@ -2157,8 +2149,8 @@ class ManageEmoticonsWindow:
|
||||||
if not iter:
|
if not iter:
|
||||||
return
|
return
|
||||||
gajim.config.del_per('emoticons', model.get_value(iter, 0).decode('utf-8'))
|
gajim.config.del_per('emoticons', model.get_value(iter, 0).decode('utf-8'))
|
||||||
self.plugin.init_regexp() # update regexp [emoticons included]
|
gajim.interface.init_regexp() # update regexp [emoticons included]
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
model.remove(iter)
|
model.remove(iter)
|
||||||
|
|
||||||
def on_emoticons_treeview_key_press_event(self, widget, event):
|
def on_emoticons_treeview_key_press_event(self, widget, event):
|
||||||
|
@ -2171,13 +2163,12 @@ class ServiceDiscoveryWindow:
|
||||||
'''Class for Service Discovery Window:
|
'''Class for Service Discovery Window:
|
||||||
to know the services on a server'''
|
to know the services on a server'''
|
||||||
def on_service_discovery_window_destroy(self, widget):
|
def on_service_discovery_window_destroy(self, widget):
|
||||||
del self.plugin.windows[self.account]['disco']
|
del gajim.interface.windows[self.account]['disco']
|
||||||
|
|
||||||
def on_close_button_clicked(self, widget):
|
def on_close_button_clicked(self, widget):
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
def __init__(self, plugin, account):
|
def __init__(self, account):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.agent_infos = {}
|
self.agent_infos = {}
|
||||||
self.items_asked = [] #we already asked items to these jids
|
self.items_asked = [] #we already asked items to these jids
|
||||||
|
@ -2395,10 +2386,10 @@ _('Without a connection, you can not browse available services')).get_response()
|
||||||
services = service.split('@')
|
services = service.split('@')
|
||||||
room = services[0]
|
room = services[0]
|
||||||
service = services[1]
|
service = services[1]
|
||||||
if not self.plugin.windows[self.account].has_key('join_gc'):
|
if not gajim.interface.windows[self.account].has_key('join_gc'):
|
||||||
dialogs.JoinGroupchatWindow(self.plugin, self.account, service, room)
|
dialogs.JoinGroupchatWindow(self.account, service, room)
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[self.account]['join_gc'].window.present()
|
gajim.interface.windows[self.account]['join_gc'].window.present()
|
||||||
|
|
||||||
def on_register_button_clicked(self, widget):
|
def on_register_button_clicked(self, widget):
|
||||||
'''When we want to register an agent:
|
'''When we want to register an agent:
|
||||||
|
@ -2473,16 +2464,16 @@ _('Without a connection, you can not browse available services')).get_response()
|
||||||
self.services_treeview.get_model().clear()
|
self.services_treeview.get_model().clear()
|
||||||
self.items_asked = []
|
self.items_asked = []
|
||||||
self.browse(server_address)
|
self.browse(server_address)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
class GroupchatConfigWindow(DataFormWindow):
|
class GroupchatConfigWindow(DataFormWindow):
|
||||||
'''GroupchatConfigWindow class'''
|
'''GroupchatConfigWindow class'''
|
||||||
def __init__(self, plugin, account, room_jid, config):
|
def __init__(self, account, room_jid, config):
|
||||||
DataFormWindow.__init__(self, plugin, account, config)
|
DataFormWindow.__init__(self, account, config)
|
||||||
self.room_jid = room_jid
|
self.room_jid = room_jid
|
||||||
|
|
||||||
def on_data_form_window_destroy(self, widget):
|
def on_data_form_window_destroy(self, widget):
|
||||||
del self.plugin.windows[self.account]['gc_config'][self.room_jid]
|
del gajim.interface.windows[self.account]['gc_config'][self.room_jid]
|
||||||
|
|
||||||
def on_apply_button_clicked(self, widget):
|
def on_apply_button_clicked(self, widget):
|
||||||
gajim.connections[self.account].send_gc_config(self.room_jid, self.config)
|
gajim.connections[self.account].send_gc_config(self.room_jid, self.config)
|
||||||
|
@ -2494,14 +2485,13 @@ class RemoveAccountWindow:
|
||||||
and do removing of the account given'''
|
and do removing of the account given'''
|
||||||
|
|
||||||
def on_remove_account_window_destroy(self, widget):
|
def on_remove_account_window_destroy(self, widget):
|
||||||
if self.plugin.windows.has_key(self.account):
|
if gajim.interface.windows.has_key(self.account):
|
||||||
del self.plugin.windows[self.account]['remove_account']
|
del gajim.interface.windows[self.account]['remove_account']
|
||||||
|
|
||||||
def on_cancel_button_clicked(self, widget):
|
def on_cancel_button_clicked(self, widget):
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
def __init__(self, plugin, account):
|
def __init__(self, account):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
xml = gtk.glade.XML(GTKGUI_GLADE, 'remove_account_window', APP)
|
xml = gtk.glade.XML(GTKGUI_GLADE, 'remove_account_window', APP)
|
||||||
self.window = xml.get_widget('remove_account_window')
|
self.window = xml.get_widget('remove_account_window')
|
||||||
|
@ -2524,8 +2514,8 @@ class RemoveAccountWindow:
|
||||||
gajim.connections[self.account].unregister_account()
|
gajim.connections[self.account].unregister_account()
|
||||||
del gajim.connections[self.account]
|
del gajim.connections[self.account]
|
||||||
gajim.config.del_per('accounts', self.account)
|
gajim.config.del_per('accounts', self.account)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
del self.plugin.windows[self.account]
|
del gajim.interface.windows[self.account]
|
||||||
del gajim.awaiting_events[self.account]
|
del gajim.awaiting_events[self.account]
|
||||||
del gajim.nicks[self.account]
|
del gajim.nicks[self.account]
|
||||||
del gajim.allow_notifications[self.account]
|
del gajim.allow_notifications[self.account]
|
||||||
|
@ -2540,15 +2530,14 @@ class RemoveAccountWindow:
|
||||||
del gajim.last_message_time[self.account]
|
del gajim.last_message_time[self.account]
|
||||||
del gajim.status_before_autoaway[self.account]
|
del gajim.status_before_autoaway[self.account]
|
||||||
del gajim.events_for_ui[self.account]
|
del gajim.events_for_ui[self.account]
|
||||||
self.plugin.roster.draw_roster()
|
gajim.interface.roster.draw_roster()
|
||||||
if self.plugin.windows.has_key('accounts'):
|
if gajim.interface.windows.has_key('accounts'):
|
||||||
self.plugin.windows['accounts'].init_accounts()
|
gajim.interface.windows['accounts'].init_accounts()
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
#---------- ManageBookmarksWindow class -------------#
|
#---------- ManageBookmarksWindow class -------------#
|
||||||
class ManageBookmarksWindow:
|
class ManageBookmarksWindow:
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.plugin = plugin
|
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_bookmarks_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_bookmarks_window', APP)
|
||||||
self.window = self.xml.get_widget('manage_bookmarks_window')
|
self.window = self.xml.get_widget('manage_bookmarks_window')
|
||||||
|
|
||||||
|
@ -2620,7 +2609,7 @@ class ManageBookmarksWindow:
|
||||||
return not self.check_valid_bookmark()
|
return not self.check_valid_bookmark()
|
||||||
|
|
||||||
def on_manage_bookmarks_window_destroy(self, widget, event):
|
def on_manage_bookmarks_window_destroy(self, widget, event):
|
||||||
del self.plugin.windows['manage_bookmarks']
|
del gajim.interface.windows['manage_bookmarks']
|
||||||
|
|
||||||
def on_add_bookmark_button_clicked(self,widget):
|
def on_add_bookmark_button_clicked(self,widget):
|
||||||
'''
|
'''
|
||||||
|
@ -2704,7 +2693,7 @@ _('Please be sure to fill out server and room fields or remove this bookmark.'))
|
||||||
gajim.connections[account_unicode].bookmarks.append(bmdict)
|
gajim.connections[account_unicode].bookmarks.append(bmdict)
|
||||||
|
|
||||||
gajim.connections[account_unicode].store_bookmarks()
|
gajim.connections[account_unicode].store_bookmarks()
|
||||||
self.plugin.roster.make_menu()
|
gajim.interface.roster.make_menu()
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
def on_cancel_button_clicked(self, widget):
|
def on_cancel_button_clicked(self, widget):
|
||||||
|
@ -2796,8 +2785,7 @@ _('Please be sure to fill out server and room fields or remove this bookmark.'))
|
||||||
self.autojoin_checkbutton.set_active(False)
|
self.autojoin_checkbutton.set_active(False)
|
||||||
|
|
||||||
class FirstTimeWizardWindow:
|
class FirstTimeWizardWindow:
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.plugin = plugin
|
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'wizard_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'wizard_window', APP)
|
||||||
self.window = self.xml.get_widget('wizard_window')
|
self.window = self.xml.get_widget('wizard_window')
|
||||||
self.xml.signal_autoconnect(self)
|
self.xml.signal_autoconnect(self)
|
||||||
|
@ -2993,7 +2981,7 @@ _('You need to enter a valid server address to continue.')).get_response()
|
||||||
_('You already have an account using this name.')).get_response()
|
_('You already have an account using this name.')).get_response()
|
||||||
return
|
return
|
||||||
con = connection.Connection(name)
|
con = connection.Connection(name)
|
||||||
self.plugin.register_handlers(con)
|
gajim.interface.register_handlers(con)
|
||||||
if new_account:
|
if new_account:
|
||||||
gajim.events_for_ui[name] = []
|
gajim.events_for_ui[name] = []
|
||||||
con.new_account(name, config)
|
con.new_account(name, config)
|
||||||
|
@ -3006,10 +2994,10 @@ _('You need to enter a valid server address to continue.')).get_response()
|
||||||
if config['savepass']:
|
if config['savepass']:
|
||||||
gajim.connections[name].password = config['password']
|
gajim.connections[name].password = config['password']
|
||||||
# update variables
|
# update variables
|
||||||
self.plugin.windows[name] = {'infos': {}, 'chats': {}, 'gc': {},
|
gajim.interface.windows[name] = {'infos': {}, 'chats': {}, 'gc': {},
|
||||||
'gc_config': {}}
|
'gc_config': {}}
|
||||||
self.plugin.windows[name]['xml_console'] = \
|
gajim.interface.windows[name]['xml_console'] = \
|
||||||
dialogs.XMLConsoleWindow(self.plugin, name)
|
dialogs.XMLConsoleWindow(name)
|
||||||
gajim.awaiting_events[name] = {}
|
gajim.awaiting_events[name] = {}
|
||||||
gajim.connections[name].connected = 0
|
gajim.connections[name].connected = 0
|
||||||
gajim.groups[name] = {}
|
gajim.groups[name] = {}
|
||||||
|
@ -3026,8 +3014,8 @@ _('You need to enter a valid server address to continue.')).get_response()
|
||||||
gajim.status_before_autoaway[name] = ''
|
gajim.status_before_autoaway[name] = ''
|
||||||
gajim.events_for_ui[name] = []
|
gajim.events_for_ui[name] = []
|
||||||
# refresh accounts window
|
# refresh accounts window
|
||||||
if self.plugin.windows.has_key('accounts'):
|
if gajim.interface.windows.has_key('accounts'):
|
||||||
self.plugin.windows['accounts'].init_accounts()
|
gajim.interface.windows['accounts'].init_accounts()
|
||||||
# refresh roster
|
# refresh roster
|
||||||
self.plugin.roster.draw_roster()
|
gajim.interface.roster.draw_roster()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
|
@ -43,10 +43,9 @@ GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
|
|
||||||
class EditGroupsDialog:
|
class EditGroupsDialog:
|
||||||
'''Class for the edit group dialog window'''
|
'''Class for the edit group dialog window'''
|
||||||
def __init__(self, user, account, plugin):
|
def __init__(self, user, account):
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'edit_groups_dialog', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'edit_groups_dialog', APP)
|
||||||
self.dialog = self.xml.get_widget('edit_groups_dialog')
|
self.dialog = self.xml.get_widget('edit_groups_dialog')
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.user = user
|
self.user = user
|
||||||
self.changes_made = False
|
self.changes_made = False
|
||||||
|
@ -70,8 +69,8 @@ class EditGroupsDialog:
|
||||||
self.dialog.destroy()
|
self.dialog.destroy()
|
||||||
|
|
||||||
def update_contact(self):
|
def update_contact(self):
|
||||||
self.plugin.roster.remove_contact(self.user, self.account)
|
gajim.interface.roster.remove_contact(self.user, self.account)
|
||||||
self.plugin.roster.add_contact_to_roster(self.user.jid, self.account)
|
gajim.interface.roster.add_contact_to_roster(self.user.jid, self.account)
|
||||||
gajim.connections[self.account].update_contact(self.user.jid,
|
gajim.connections[self.account].update_contact(self.user.jid,
|
||||||
self.user.name, self.user.groups)
|
self.user.name, self.user.groups)
|
||||||
|
|
||||||
|
@ -204,7 +203,7 @@ class ChooseGPGKeyDialog:
|
||||||
|
|
||||||
|
|
||||||
class ChangeStatusMessageDialog:
|
class ChangeStatusMessageDialog:
|
||||||
def __init__(self, plugin, show = None):
|
def __init__(self, show = None):
|
||||||
self.show = show
|
self.show = show
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'change_status_message_dialog', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'change_status_message_dialog', APP)
|
||||||
self.window = self.xml.get_widget('change_status_message_dialog')
|
self.window = self.xml.get_widget('change_status_message_dialog')
|
||||||
|
@ -269,8 +268,7 @@ class ChangeStatusMessageDialog:
|
||||||
|
|
||||||
class AddNewContactWindow:
|
class AddNewContactWindow:
|
||||||
'''Class for AddNewContactWindow'''
|
'''Class for AddNewContactWindow'''
|
||||||
def __init__(self, plugin, account, jid = None):
|
def __init__(self, account, jid = None):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'add_new_contact_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'add_new_contact_window', APP)
|
||||||
self.window = self.xml.get_widget('add_new_contact_window')
|
self.window = self.xml.get_widget('add_new_contact_window')
|
||||||
|
@ -364,7 +362,7 @@ _('Contact names must be of the form "user@servername".')).get_response()
|
||||||
end_iter = message_buffer.get_end_iter()
|
end_iter = message_buffer.get_end_iter()
|
||||||
message = message_buffer.get_text(start_iter, end_iter).decode('utf-8')
|
message = message_buffer.get_text(start_iter, end_iter).decode('utf-8')
|
||||||
group = self.group_comboboxentry.child.get_text().decode('utf-8')
|
group = self.group_comboboxentry.child.get_text().decode('utf-8')
|
||||||
self.plugin.roster.req_sub(self, jid, message, self.account,
|
gajim.interface.roster.req_sub(self, jid, message, self.account,
|
||||||
group = group, pseudo = nickname)
|
group = group, pseudo = nickname)
|
||||||
if self.xml.get_widget('auto_authorize_checkbutton').get_active():
|
if self.xml.get_widget('auto_authorize_checkbutton').get_active():
|
||||||
gajim.connections[self.account].send_authorization(jid)
|
gajim.connections[self.account].send_authorization(jid)
|
||||||
|
@ -568,10 +566,9 @@ ok_handler = None):
|
||||||
|
|
||||||
|
|
||||||
class SubscriptionRequestWindow:
|
class SubscriptionRequestWindow:
|
||||||
def __init__(self, plugin, jid, text, account):
|
def __init__(self, jid, text, account):
|
||||||
xml = gtk.glade.XML(GTKGUI_GLADE, 'subscription_request_window', APP)
|
xml = gtk.glade.XML(GTKGUI_GLADE, 'subscription_request_window', APP)
|
||||||
self.window = xml.get_widget('subscription_request_window')
|
self.window = xml.get_widget('subscription_request_window')
|
||||||
self.plugin = plugin
|
|
||||||
self.jid = jid
|
self.jid = jid
|
||||||
self.account = account
|
self.account = account
|
||||||
if len(gajim.connections) >= 2:
|
if len(gajim.connections) >= 2:
|
||||||
|
@ -592,17 +589,17 @@ class SubscriptionRequestWindow:
|
||||||
gajim.connections[self.account].send_authorization(self.jid)
|
gajim.connections[self.account].send_authorization(self.jid)
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
if not gajim.contacts[self.account].has_key(self.jid):
|
if not gajim.contacts[self.account].has_key(self.jid):
|
||||||
AddNewContactWindow(self.plugin, self.account, self.jid)
|
AddNewContactWindow(self.account, self.jid)
|
||||||
|
|
||||||
def on_contact_info_button_clicked(self, widget):
|
def on_contact_info_button_clicked(self, widget):
|
||||||
'''ask vcard'''
|
'''ask vcard'''
|
||||||
if self.plugin.windows[self.account]['infos'].has_key(self.jid):
|
if gajim.interface.windows[self.account]['infos'].has_key(self.jid):
|
||||||
self.plugin.windows[self.account]['infos'][self.jid].window.present()
|
gajim.interface.windows[self.account]['infos'][self.jid].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[self.account]['infos'][self.jid] = \
|
gajim.interface.windows[self.account]['infos'][self.jid] = \
|
||||||
VcardWindow(self.jid, self.plugin, self.account, True)
|
VcardWindow(self.jid, self.account, True)
|
||||||
#remove the publish / retrieve buttons
|
#remove the publish / retrieve buttons
|
||||||
vcard_xml = self.plugin.windows[self.account]['infos'][self.jid].xml
|
vcard_xml = gajim.interface.windows[self.account]['infos'][self.jid].xml
|
||||||
hbuttonbox = vcard_xml.get_widget('information_hbuttonbox')
|
hbuttonbox = vcard_xml.get_widget('information_hbuttonbox')
|
||||||
children = hbuttonbox.get_children()
|
children = hbuttonbox.get_children()
|
||||||
hbuttonbox.remove(children[0])
|
hbuttonbox.remove(children[0])
|
||||||
|
@ -616,8 +613,7 @@ class SubscriptionRequestWindow:
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
class JoinGroupchatWindow:
|
class JoinGroupchatWindow:
|
||||||
def __init__(self, plugin, account, server = '', room = '', nick = ''):
|
def __init__(self, account, server = '', room = '', nick = ''):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
if nick == '':
|
if nick == '':
|
||||||
nick = gajim.nicks[self.account]
|
nick = gajim.nicks[self.account]
|
||||||
|
@ -632,7 +628,7 @@ _('You can not join a group chat unless you are connected.')).get_response()
|
||||||
self.xml.get_widget('room_entry').set_text(room)
|
self.xml.get_widget('room_entry').set_text(room)
|
||||||
self.xml.get_widget('nickname_entry').set_text(nick)
|
self.xml.get_widget('nickname_entry').set_text(nick)
|
||||||
self.xml.signal_autoconnect(self)
|
self.xml.signal_autoconnect(self)
|
||||||
self.plugin.windows[account]['join_gc'] = self #now add us to open windows
|
gajim.interface.windows[account]['join_gc'] = self #now add us to open windows
|
||||||
our_jid = gajim.config.get_per('accounts', self.account, 'name') + '@' + \
|
our_jid = gajim.config.get_per('accounts', self.account, 'name') + '@' + \
|
||||||
gajim.config.get_per('accounts', self.account, 'hostname')
|
gajim.config.get_per('accounts', self.account, 'hostname')
|
||||||
if len(gajim.connections) > 1:
|
if len(gajim.connections) > 1:
|
||||||
|
@ -659,7 +655,7 @@ _('You can not join a group chat unless you are connected.')).get_response()
|
||||||
def on_join_groupchat_window_destroy(self, widget):
|
def on_join_groupchat_window_destroy(self, widget):
|
||||||
'''close window'''
|
'''close window'''
|
||||||
# remove us from open windows
|
# remove us from open windows
|
||||||
del self.plugin.windows[self.account]['join_gc']
|
del gajim.interface.windows[self.account]['join_gc']
|
||||||
|
|
||||||
def on_join_groupchat_window_key_press_event(self, widget, event):
|
def on_join_groupchat_window_key_press_event(self, widget, event):
|
||||||
if event.keyval == gtk.keysyms.Escape: # ESCAPE
|
if event.keyval == gtk.keysyms.Escape: # ESCAPE
|
||||||
|
@ -690,13 +686,12 @@ _('You can not join a group chat unless you are connected.')).get_response()
|
||||||
self.recently_groupchat = self.recently_groupchat[0:10]
|
self.recently_groupchat = self.recently_groupchat[0:10]
|
||||||
gajim.config.set('recently_groupchat', ' '.join(self.recently_groupchat))
|
gajim.config.set('recently_groupchat', ' '.join(self.recently_groupchat))
|
||||||
|
|
||||||
self.plugin.roster.join_gc_room(self.account, jid, nickname, password)
|
gajim.interface.roster.join_gc_room(self.account, jid, nickname, password)
|
||||||
|
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
class NewMessageDialog:
|
class NewMessageDialog:
|
||||||
def __init__(self, plugin, account):
|
def __init__(self, account):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
|
|
||||||
our_jid = gajim.config.get_per('accounts', self.account, 'name') + '@' + \
|
our_jid = gajim.config.get_per('accounts', self.account, 'name') + '@' + \
|
||||||
|
@ -724,16 +719,15 @@ class NewMessageDialog:
|
||||||
_('Contact ID must be of the form "username@servername".')).get_response()
|
_('Contact ID must be of the form "username@servername".')).get_response()
|
||||||
return
|
return
|
||||||
|
|
||||||
self.plugin.roster.new_chat_from_jid(self.account, jid)
|
gajim.interface.roster.new_chat_from_jid(self.account, jid)
|
||||||
|
|
||||||
class ChangePasswordDialog:
|
class ChangePasswordDialog:
|
||||||
def __init__(self, plugin, account):
|
def __init__(self, account):
|
||||||
# 'account' can be None if we are about to create our first one
|
# 'account' can be None if we are about to create our first one
|
||||||
if not account or gajim.connections[account].connected < 2:
|
if not account or gajim.connections[account].connected < 2:
|
||||||
ErrorDialog(_('You are not connected to the server'),
|
ErrorDialog(_('You are not connected to the server'),
|
||||||
_('Without a connection, you can not change your password.')).get_response()
|
_('Without a connection, you can not change your password.')).get_response()
|
||||||
raise RuntimeError, 'You are not connected to the server'
|
raise RuntimeError, 'You are not connected to the server'
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'change_password_dialog', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'change_password_dialog', APP)
|
||||||
self.dialog = self.xml.get_widget('change_password_dialog')
|
self.dialog = self.xml.get_widget('change_password_dialog')
|
||||||
|
@ -767,8 +761,7 @@ _('Without a connection, you can not change your password.')).get_response()
|
||||||
|
|
||||||
|
|
||||||
class PopupNotificationWindow:
|
class PopupNotificationWindow:
|
||||||
def __init__(self, plugin, event_type, jid, account, msg_type = '', file_props = None):
|
def __init__(self, event_type, jid, account, msg_type = '', file_props = None):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.jid = jid
|
self.jid = jid
|
||||||
self.msg_type = msg_type
|
self.msg_type = msg_type
|
||||||
|
@ -849,9 +842,9 @@ class PopupNotificationWindow:
|
||||||
event_description_label.set_text(txt)
|
event_description_label.set_text(txt)
|
||||||
# position the window to bottom-right of screen
|
# position the window to bottom-right of screen
|
||||||
window_width, self.window_height = self.window.get_size()
|
window_width, self.window_height = self.window.get_size()
|
||||||
self.plugin.roster.popups_notification_height += self.window_height
|
gajim.interface.roster.popups_notification_height += self.window_height
|
||||||
self.window.move(gtk.gdk.screen_width() - window_width,
|
self.window.move(gtk.gdk.screen_width() - window_width,
|
||||||
gtk.gdk.screen_height() - self.plugin.roster.popups_notification_height)
|
gtk.gdk.screen_height() - gajim.interface.roster.popups_notification_height)
|
||||||
|
|
||||||
xml.signal_autoconnect(self)
|
xml.signal_autoconnect(self)
|
||||||
self.window.show_all()
|
self.window.show_all()
|
||||||
|
@ -865,20 +858,20 @@ class PopupNotificationWindow:
|
||||||
|
|
||||||
def adjust_height_and_move_popup_notification_windows(self):
|
def adjust_height_and_move_popup_notification_windows(self):
|
||||||
#remove
|
#remove
|
||||||
self.plugin.roster.popups_notification_height -= self.window_height
|
gajim.interface.roster.popups_notification_height -= self.window_height
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
if len(self.plugin.roster.popup_notification_windows) > 0:
|
if len(gajim.interface.roster.popup_notification_windows) > 0:
|
||||||
# we want to remove the first window added in the list
|
# we want to remove the first window added in the list
|
||||||
self.plugin.roster.popup_notification_windows.pop(0) # remove 1st item
|
gajim.interface.roster.popup_notification_windows.pop(0) # remove 1st item
|
||||||
|
|
||||||
# move the rest of popup windows
|
# move the rest of popup windows
|
||||||
self.plugin.roster.popups_notification_height = 0
|
gajim.interface.roster.popups_notification_height = 0
|
||||||
for window_instance in self.plugin.roster.popup_notification_windows:
|
for window_instance in gajim.interface.roster.popup_notification_windows:
|
||||||
window_width, window_height = window_instance.window.get_size()
|
window_width, window_height = window_instance.window.get_size()
|
||||||
self.plugin.roster.popups_notification_height += window_height
|
gajim.interface.roster.popups_notification_height += window_height
|
||||||
window_instance.window.move(gtk.gdk.screen_width() - window_width,
|
window_instance.window.move(gtk.gdk.screen_width() - window_width,
|
||||||
gtk.gdk.screen_height() - self.plugin.roster.popups_notification_height)
|
gtk.gdk.screen_height() - gajim.interface.roster.popups_notification_height)
|
||||||
|
|
||||||
def on_popup_notification_window_button_press_event(self, widget, event):
|
def on_popup_notification_window_button_press_event(self, widget, event):
|
||||||
# use Contact class, new_chat expects it that way
|
# use Contact class, new_chat expects it that way
|
||||||
|
@ -903,23 +896,23 @@ class PopupNotificationWindow:
|
||||||
groups = [_('not in the roster')], show = 'not in the roster',
|
groups = [_('not in the roster')], show = 'not in the roster',
|
||||||
status = _('not in the roster'), sub = 'none', keyID = keyID)
|
status = _('not in the roster'), sub = 'none', keyID = keyID)
|
||||||
gajim.contacts[self.account][self.jid] = [contact]
|
gajim.contacts[self.account][self.jid] = [contact]
|
||||||
self.plugin.roster.add_contact_to_roster(contact.jid,
|
gajim.interface.roster.add_contact_to_roster(contact.jid,
|
||||||
self.account)
|
self.account)
|
||||||
|
|
||||||
if self.msg_type == 'pm': # It's a private message
|
if self.msg_type == 'pm': # It's a private message
|
||||||
self.plugin.roster.new_chat(contact, self.account)
|
gajim.interface.roster.new_chat(contact, self.account)
|
||||||
chats_window = self.plugin.windows[self.account]['chats'][self.jid]
|
chats_window = gajim.interface.windows[self.account]['chats'][self.jid]
|
||||||
chats_window.set_active_tab(self.jid)
|
chats_window.set_active_tab(self.jid)
|
||||||
chats_window.window.present()
|
chats_window.window.present()
|
||||||
elif self.msg_type in ('normal', 'file-request', 'file-request-error',
|
elif self.msg_type in ('normal', 'file-request', 'file-request-error',
|
||||||
'file-send-error', 'file-error', 'file-stopped', 'file-completed'):
|
'file-send-error', 'file-error', 'file-stopped', 'file-completed'):
|
||||||
# Get the first single message event
|
# Get the first single message event
|
||||||
ev = gajim.get_first_event(self.account, self.jid, self.msg_type)
|
ev = gajim.get_first_event(self.account, self.jid, self.msg_type)
|
||||||
self.plugin.roster.open_event(self.account, self.jid, ev)
|
gajim.interface.roster.open_event(self.account, self.jid, ev)
|
||||||
|
|
||||||
else: # 'chat'
|
else: # 'chat'
|
||||||
self.plugin.roster.new_chat(contact, self.account)
|
gajim.interface.roster.new_chat(contact, self.account)
|
||||||
chats_window = self.plugin.windows[self.account]['chats'][self.jid]
|
chats_window = gajim.interface.windows[self.account]['chats'][self.jid]
|
||||||
chats_window.set_active_tab(self.jid)
|
chats_window.set_active_tab(self.jid)
|
||||||
chats_window.window.present()
|
chats_window.window.present()
|
||||||
|
|
||||||
|
@ -929,9 +922,8 @@ class PopupNotificationWindow:
|
||||||
class SingleMessageWindow:
|
class SingleMessageWindow:
|
||||||
'''SingleMessageWindow can send or show a received
|
'''SingleMessageWindow can send or show a received
|
||||||
singled message depending on action argument'''
|
singled message depending on action argument'''
|
||||||
def __init__(self, plugin, account, to = '', action = '', from_whom = '',
|
def __init__(self, account, to = '', action = '', from_whom = '',
|
||||||
subject = '', message = ''):
|
subject = '', message = ''):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.action = action
|
self.action = action
|
||||||
|
|
||||||
|
@ -1086,7 +1078,7 @@ class SingleMessageWindow:
|
||||||
self.subject = _('RE: %s') % self.subject
|
self.subject = _('RE: %s') % self.subject
|
||||||
self.message = _('\n\n\n== Original Message ==\n%s') % self.message
|
self.message = _('\n\n\n== Original Message ==\n%s') % self.message
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
SingleMessageWindow(self.plugin, self.account, to = self.from_whom,
|
SingleMessageWindow(self.account, to = self.from_whom,
|
||||||
action = 'send', from_whom = self.from_whom, subject = self.subject,
|
action = 'send', from_whom = self.from_whom, subject = self.subject,
|
||||||
message = self.message)
|
message = self.message)
|
||||||
|
|
||||||
|
@ -1101,8 +1093,7 @@ class SingleMessageWindow:
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
class XMLConsoleWindow:
|
class XMLConsoleWindow:
|
||||||
def __init__(self, plugin, account):
|
def __init__(self, account):
|
||||||
self.plugin = plugin
|
|
||||||
self.account = account
|
self.account = account
|
||||||
|
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'xml_console_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'xml_console_window', APP)
|
||||||
|
@ -1206,7 +1197,7 @@ class XMLConsoleWindow:
|
||||||
self.input_textview.grab_focus()
|
self.input_textview.grab_focus()
|
||||||
|
|
||||||
class InvitationReceivedDialog:
|
class InvitationReceivedDialog:
|
||||||
def __init__(self, plugin, account, room_jid, contact_jid, password = None, comment = None):
|
def __init__(self, account, room_jid, contact_jid, password = None, comment = None):
|
||||||
|
|
||||||
xml = gtk.glade.XML(GTKGUI_GLADE, 'invitation_received_dialog', APP)
|
xml = gtk.glade.XML(GTKGUI_GLADE, 'invitation_received_dialog', APP)
|
||||||
dialog = xml.get_widget('invitation_received_dialog')
|
dialog = xml.get_widget('invitation_received_dialog')
|
||||||
|
@ -1223,5 +1214,5 @@ class InvitationReceivedDialog:
|
||||||
dialog.destroy()
|
dialog.destroy()
|
||||||
if response == gtk.RESPONSE_YES:
|
if response == gtk.RESPONSE_YES:
|
||||||
room, server = gajim.get_room_name_and_server_from_room_jid(room_jid)
|
room, server = gajim.get_room_name_and_server_from_room_jid(room_jid)
|
||||||
JoinGroupchatWindow(plugin, account, server = server, room = room)
|
JoinGroupchatWindow(account, server = server, room = room)
|
||||||
|
|
||||||
|
|
|
@ -51,9 +51,8 @@ C_SID = 6
|
||||||
|
|
||||||
|
|
||||||
class FileTransfersWindow:
|
class FileTransfersWindow:
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.files_props = {'r' : {}, 's': {}}
|
self.files_props = {'r' : {}, 's': {}}
|
||||||
self.plugin = plugin
|
|
||||||
self.height_diff = 0
|
self.height_diff = 0
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'file_transfers_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'file_transfers_window', APP)
|
||||||
self.window = self.xml.get_widget('file_transfers_window')
|
self.window = self.xml.get_widget('file_transfers_window')
|
||||||
|
|
35
src/gajim.py
35
src/gajim.py
|
@ -526,7 +526,7 @@ class Interface:
|
||||||
|
|
||||||
def handle_event_subscribe(self, account, array):
|
def handle_event_subscribe(self, account, array):
|
||||||
#('SUBSCRIBE', account, (jid, text))
|
#('SUBSCRIBE', account, (jid, text))
|
||||||
dialogs.SubscriptionRequestWindow(self, array[0], array[1], account)
|
dialogs.SubscriptionRequestWindow(array[0], array[1], account)
|
||||||
if self.remote and self.remote.is_enabled():
|
if self.remote and self.remote.is_enabled():
|
||||||
self.remote.raise_signal('Subscribe', (account, array))
|
self.remote.raise_signal('Subscribe', (account, array))
|
||||||
|
|
||||||
|
@ -577,7 +577,7 @@ class Interface:
|
||||||
def handle_event_register_agent_info(self, account, array):
|
def handle_event_register_agent_info(self, account, array):
|
||||||
#('REGISTER_AGENT_INFO', account, (agent, infos, is_form))
|
#('REGISTER_AGENT_INFO', account, (agent, infos, is_form))
|
||||||
if array[1].has_key('instructions'):
|
if array[1].has_key('instructions'):
|
||||||
config.ServiceRegistrationWindow(array[0], array[1], self, account,
|
config.ServiceRegistrationWindow(array[0], array[1], account,
|
||||||
array[2])
|
array[2])
|
||||||
else:
|
else:
|
||||||
dialogs.ErrorDialog(_('Contact with "%s" cannot be established'\
|
dialogs.ErrorDialog(_('Contact with "%s" cannot be established'\
|
||||||
|
@ -606,7 +606,7 @@ class Interface:
|
||||||
if self.windows.has_key('account_modification'):
|
if self.windows.has_key('account_modification'):
|
||||||
self.windows['account_modification'].account_is_ok(array[0])
|
self.windows['account_modification'].account_is_ok(array[0])
|
||||||
self.windows[name] = {'infos': {}, 'chats': {}, 'gc': {}, 'gc_config': {}}
|
self.windows[name] = {'infos': {}, 'chats': {}, 'gc': {}, 'gc_config': {}}
|
||||||
self.windows[name]['xml_console'] = dialogs.XMLConsoleWindow(self, name)
|
self.windows[name]['xml_console'] = dialogs.XMLConsoleWindow(name)
|
||||||
gajim.awaiting_events[name] = {}
|
gajim.awaiting_events[name] = {}
|
||||||
# disconnect from server - our status in roster is offline
|
# disconnect from server - our status in roster is offline
|
||||||
gajim.connections[name].connected = 1
|
gajim.connections[name].connected = 1
|
||||||
|
@ -633,7 +633,7 @@ class Interface:
|
||||||
self.remote.raise_signal('NewAccount', (account, array))
|
self.remote.raise_signal('NewAccount', (account, array))
|
||||||
|
|
||||||
def handle_event_quit(self, p1, p2):
|
def handle_event_quit(self, p1, p2):
|
||||||
self.roster.quit_gtkgui_plugin()
|
self.roster.quit_gtkgui_interface()
|
||||||
|
|
||||||
def handle_event_myvcard(self, account, array):
|
def handle_event_myvcard(self, account, array):
|
||||||
nick = ''
|
nick = ''
|
||||||
|
@ -732,11 +732,11 @@ class Interface:
|
||||||
jid = array[0].split('/')[0]
|
jid = array[0].split('/')[0]
|
||||||
if not self.windows[account]['gc_config'].has_key(jid):
|
if not self.windows[account]['gc_config'].has_key(jid):
|
||||||
self.windows[account]['gc_config'][jid] = \
|
self.windows[account]['gc_config'][jid] = \
|
||||||
config.GroupchatConfigWindow(self, account, jid, array[1])
|
config.GroupchatConfigWindow(account, jid, array[1])
|
||||||
|
|
||||||
def handle_event_gc_invitation(self, account, array):
|
def handle_event_gc_invitation(self, account, array):
|
||||||
#('GC_INVITATION', (room_jid, jid_from, reason, password))
|
#('GC_INVITATION', (room_jid, jid_from, reason, password))
|
||||||
dialogs.InvitationReceivedDialog(self, account, array[0], array[1],
|
dialogs.InvitationReceivedDialog(account, array[0], array[1],
|
||||||
array[3], array[2])
|
array[3], array[2])
|
||||||
|
|
||||||
def handle_event_bad_passphrase(self, account, array):
|
def handle_event_bad_passphrase(self, account, array):
|
||||||
|
@ -910,7 +910,7 @@ class Interface:
|
||||||
if gajim.config.get('notify_on_file_complete') and \
|
if gajim.config.get('notify_on_file_complete') and \
|
||||||
gajim.config.get('autopopupaway') or \
|
gajim.config.get('autopopupaway') or \
|
||||||
gajim.connections[account].connected in (2, 3):
|
gajim.connections[account].connected in (2, 3):
|
||||||
instance = dialogs.PopupNotificationWindow(self, event_type,
|
instance = dialogs.PopupNotificationWindow(event_type,
|
||||||
jid, account, msg_type, file_props)
|
jid, account, msg_type, file_props)
|
||||||
self.roster.popup_notification_windows.append(instance)
|
self.roster.popup_notification_windows.append(instance)
|
||||||
|
|
||||||
|
@ -1192,7 +1192,7 @@ class Interface:
|
||||||
import remote_control
|
import remote_control
|
||||||
if not hasattr(self, 'remote') or not self.remote:
|
if not hasattr(self, 'remote') or not self.remote:
|
||||||
try:
|
try:
|
||||||
self.remote = remote_control.Remote(self)
|
self.remote = remote_control.Remote()
|
||||||
except remote_control.DbusNotSupported:
|
except remote_control.DbusNotSupported:
|
||||||
self.remote = None
|
self.remote = None
|
||||||
return False
|
return False
|
||||||
|
@ -1212,6 +1212,7 @@ class Interface:
|
||||||
self.remote = None
|
self.remote = None
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
gajim.interface = self
|
||||||
self.default_values = {
|
self.default_values = {
|
||||||
'inmsgcolor': gajim.config.get('inmsgcolor'),
|
'inmsgcolor': gajim.config.get('inmsgcolor'),
|
||||||
'outmsgcolor': gajim.config.get('outmsgcolor'),
|
'outmsgcolor': gajim.config.get('outmsgcolor'),
|
||||||
|
@ -1292,7 +1293,7 @@ class Interface:
|
||||||
gajim.status_before_autoaway[a] = ''
|
gajim.status_before_autoaway[a] = ''
|
||||||
gajim.events_for_ui[a] = []
|
gajim.events_for_ui[a] = []
|
||||||
|
|
||||||
self.roster = roster_window.RosterWindow(self)
|
self.roster = roster_window.RosterWindow()
|
||||||
if gajim.config.get('use_dbus'):
|
if gajim.config.get('use_dbus'):
|
||||||
self.enable_dbus()
|
self.enable_dbus()
|
||||||
else:
|
else:
|
||||||
|
@ -1316,7 +1317,7 @@ class Interface:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.systray_capabilities = True
|
self.systray_capabilities = True
|
||||||
self.systray = systraywin32.SystrayWin32(self)
|
self.systray = systraywin32.SystrayWin32()
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
import egg.trayicon # use gnomepythonextras trayicon
|
import egg.trayicon # use gnomepythonextras trayicon
|
||||||
|
@ -1327,28 +1328,28 @@ class Interface:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.systray_capabilities = True
|
self.systray_capabilities = True
|
||||||
self.systray = systray.Systray(self)
|
self.systray = systray.Systray()
|
||||||
else:
|
else:
|
||||||
self.systray_capabilities = True
|
self.systray_capabilities = True
|
||||||
self.systray = systray.Systray(self)
|
self.systray = systray.Systray()
|
||||||
|
|
||||||
if self.systray_capabilities and gajim.config.get('trayicon'):
|
if self.systray_capabilities and gajim.config.get('trayicon'):
|
||||||
self.show_systray()
|
self.show_systray()
|
||||||
if gajim.config.get('check_for_new_version'):
|
if gajim.config.get('check_for_new_version'):
|
||||||
check_for_new_version.Check_for_new_version_dialog(self)
|
check_for_new_version.Check_for_new_version_dialog()
|
||||||
|
|
||||||
self.init_regexp()
|
self.init_regexp()
|
||||||
|
|
||||||
# get instances for windows/dialogs that will show_all()/hide()
|
# get instances for windows/dialogs that will show_all()/hide()
|
||||||
self.windows['file_transfers'] = dialogs.FileTransfersWindow(self)
|
self.windows['file_transfers'] = dialogs.FileTransfersWindow()
|
||||||
self.windows['preferences'] = config.PreferencesWindow(self)
|
self.windows['preferences'] = config.PreferencesWindow()
|
||||||
self.windows['add_remove_emoticons'] = \
|
self.windows['add_remove_emoticons'] = \
|
||||||
config.ManageEmoticonsWindow(self)
|
config.ManageEmoticonsWindow()
|
||||||
self.windows['roster'] = self.roster
|
self.windows['roster'] = self.roster
|
||||||
|
|
||||||
for account in gajim.connections:
|
for account in gajim.connections:
|
||||||
self.windows[account]['xml_console'] = \
|
self.windows[account]['xml_console'] = \
|
||||||
dialogs.XMLConsoleWindow(self, account)
|
dialogs.XMLConsoleWindow(account)
|
||||||
self.register_handlers(gajim.connections[account])
|
self.register_handlers(gajim.connections[account])
|
||||||
|
|
||||||
gobject.timeout_add(100, self.autoconnect)
|
gobject.timeout_add(100, self.autoconnect)
|
||||||
|
|
|
@ -36,10 +36,9 @@ GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
|
|
||||||
class GajimThemesWindow:
|
class GajimThemesWindow:
|
||||||
|
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'gajim_themes_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'gajim_themes_window', APP)
|
||||||
self.window = self.xml.get_widget('gajim_themes_window')
|
self.window = self.xml.get_widget('gajim_themes_window')
|
||||||
self.plugin = plugin
|
|
||||||
|
|
||||||
self.options = ['account', 'group', 'contact', 'banner', 'lastmessage']
|
self.options = ['account', 'group', 'contact', 'banner', 'lastmessage']
|
||||||
self.options_combobox = self.xml.get_widget('options_combobox')
|
self.options_combobox = self.xml.get_widget('options_combobox')
|
||||||
|
@ -102,7 +101,7 @@ class GajimThemesWindow:
|
||||||
gajim.config.set('roster_theme', new_config_name)
|
gajim.config.set('roster_theme', new_config_name)
|
||||||
model.set_value(iter, 0, new_name)
|
model.set_value(iter, 0, new_name)
|
||||||
self.current_theme = new_name
|
self.current_theme = new_name
|
||||||
self.plugin.windows['preferences'].update_preferences_window()
|
gajim.interface.windows['preferences'].update_preferences_window()
|
||||||
|
|
||||||
def fill_themes_treeview(self):
|
def fill_themes_treeview(self):
|
||||||
self.xml.get_widget('remove_button').set_sensitive(False)
|
self.xml.get_widget('remove_button').set_sensitive(False)
|
||||||
|
@ -144,7 +143,7 @@ class GajimThemesWindow:
|
||||||
col = self.themes_tree.get_column(0)
|
col = self.themes_tree.get_column(0)
|
||||||
path = model.get_path(iter)
|
path = model.get_path(iter)
|
||||||
self.themes_tree.set_cursor(path, col, True)
|
self.themes_tree.set_cursor(path, col, True)
|
||||||
self.plugin.windows['preferences'].update_preferences_window()
|
gajim.interface.windows['preferences'].update_preferences_window()
|
||||||
|
|
||||||
def on_remove_button_clicked(self, widget):
|
def on_remove_button_clicked(self, widget):
|
||||||
(model, iter) = self.themes_tree.get_selection().get_selected()
|
(model, iter) = self.themes_tree.get_selection().get_selected()
|
||||||
|
@ -157,7 +156,7 @@ class GajimThemesWindow:
|
||||||
self.theme_options_vbox.set_sensitive(False)
|
self.theme_options_vbox.set_sensitive(False)
|
||||||
gajim.config.del_per('themes', self.current_theme)
|
gajim.config.del_per('themes', self.current_theme)
|
||||||
model.remove(iter)
|
model.remove(iter)
|
||||||
self.plugin.windows['preferences'].update_preferences_window()
|
gajim.interface.windows['preferences'].update_preferences_window()
|
||||||
|
|
||||||
def set_theme_options(self, theme, option = 'account'):
|
def set_theme_options(self, theme, option = 'account'):
|
||||||
self.no_update = True
|
self.no_update = True
|
||||||
|
@ -193,7 +192,7 @@ class GajimThemesWindow:
|
||||||
self.textfont_checkbutton.set_active(state)
|
self.textfont_checkbutton.set_active(state)
|
||||||
self.text_fontbutton.set_sensitive(state)
|
self.text_fontbutton.set_sensitive(state)
|
||||||
self.no_update = False
|
self.no_update = False
|
||||||
self.plugin.roster.change_roster_style(None)
|
gajim.interface.roster.change_roster_style(None)
|
||||||
|
|
||||||
def on_textcolor_checkbutton_toggled(self, widget):
|
def on_textcolor_checkbutton_toggled(self, widget):
|
||||||
state = widget.get_active()
|
state = widget.get_active()
|
||||||
|
@ -248,13 +247,13 @@ class GajimThemesWindow:
|
||||||
self.current_option + option, color_string)
|
self.current_option + option, color_string)
|
||||||
# use faster functions for this
|
# use faster functions for this
|
||||||
if self.current_option == 'banner':
|
if self.current_option == 'banner':
|
||||||
self.plugin.roster.repaint_themed_widgets()
|
gajim.interface.roster.repaint_themed_widgets()
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
return
|
return
|
||||||
if self.no_update:
|
if self.no_update:
|
||||||
return
|
return
|
||||||
self.plugin.roster.change_roster_style(self.current_option)
|
gajim.interface.roster.change_roster_style(self.current_option)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def _set_font(self):
|
def _set_font(self):
|
||||||
''' set font value in prefs and update the UI '''
|
''' set font value in prefs and update the UI '''
|
||||||
|
@ -270,11 +269,11 @@ class GajimThemesWindow:
|
||||||
self.current_option + 'fontattrs', font_attrs)
|
self.current_option + 'fontattrs', font_attrs)
|
||||||
# use faster functions for this
|
# use faster functions for this
|
||||||
if self.current_option == 'banner':
|
if self.current_option == 'banner':
|
||||||
self.plugin.roster.repaint_themed_widgets()
|
gajim.interface.roster.repaint_themed_widgets()
|
||||||
if self.no_update:
|
if self.no_update:
|
||||||
return
|
return
|
||||||
self.plugin.roster.change_roster_style(self.current_option)
|
gajim.interface.roster.change_roster_style(self.current_option)
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
|
|
||||||
def _toggle_font_widgets(self, font_props):
|
def _toggle_font_widgets(self, font_props):
|
||||||
''' toggle font buttons with the bool values of font_props tuple'''
|
''' toggle font buttons with the bool values of font_props tuple'''
|
||||||
|
|
|
@ -56,10 +56,10 @@ GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
|
|
||||||
class GroupchatWindow(chat.Chat):
|
class GroupchatWindow(chat.Chat):
|
||||||
'''Class for Groupchat window'''
|
'''Class for Groupchat window'''
|
||||||
def __init__(self, room_jid, nick, plugin, account):
|
def __init__(self, room_jid, nick, account):
|
||||||
# we check that on opening new windows
|
# we check that on opening new windows
|
||||||
self.always_compact_view = gajim.config.get('always_compact_view_gc')
|
self.always_compact_view = gajim.config.get('always_compact_view_gc')
|
||||||
chat.Chat.__init__(self, plugin, account, 'groupchat_window')
|
chat.Chat.__init__(self, account, 'groupchat_window')
|
||||||
|
|
||||||
# alphanum sorted
|
# alphanum sorted
|
||||||
self.muc_cmds = ['ban', 'chat', 'query', 'clear', 'close', 'compact', 'help', 'invite',
|
self.muc_cmds = ['ban', 'chat', 'query', 'clear', 'close', 'compact', 'help', 'invite',
|
||||||
|
@ -82,7 +82,8 @@ class GroupchatWindow(chat.Chat):
|
||||||
self.gc_refer_to_nick_char = gajim.config.get('gc_refer_to_nick_char')
|
self.gc_refer_to_nick_char = gajim.config.get('gc_refer_to_nick_char')
|
||||||
self.new_room(room_jid, nick)
|
self.new_room(room_jid, nick)
|
||||||
self.show_title()
|
self.show_title()
|
||||||
self.tooltip = tooltips.GCTooltip(plugin)
|
self.tooltip = tooltips.GCTooltip()
|
||||||
|
self.line_tooltip = tooltips.BaseTooltip()
|
||||||
|
|
||||||
|
|
||||||
# NOTE: if it not a window event, connect in new_room function
|
# NOTE: if it not a window event, connect in new_room function
|
||||||
|
@ -351,7 +352,7 @@ class GroupchatWindow(chat.Chat):
|
||||||
|
|
||||||
def add_contact_to_roster(self, room_jid, nick, show, role, jid, affiliation, status):
|
def add_contact_to_roster(self, room_jid, nick, show, role, jid, affiliation, status):
|
||||||
model = self.list_treeview[room_jid].get_model()
|
model = self.list_treeview[room_jid].get_model()
|
||||||
image = self.plugin.roster.jabber_state_images[show]
|
image = gajim.interface.roster.jabber_state_images[show]
|
||||||
resource = ''
|
resource = ''
|
||||||
role_name = helpers.get_uf_role(role, plural = True)
|
role_name = helpers.get_uf_role(role, plural = True)
|
||||||
|
|
||||||
|
@ -365,7 +366,7 @@ class GroupchatWindow(chat.Chat):
|
||||||
role_iter = self.get_role_iter(room_jid, role)
|
role_iter = self.get_role_iter(room_jid, role)
|
||||||
if not role_iter:
|
if not role_iter:
|
||||||
role_iter = model.append(None,
|
role_iter = model.append(None,
|
||||||
(self.plugin.roster.jabber_state_images['closed'], 'role', role,
|
(gajim.interface.roster.jabber_state_images['closed'], 'role', role,
|
||||||
'<b>%s</b>' % role_name))
|
'<b>%s</b>' % role_name))
|
||||||
iter = model.append(role_iter, (image, 'contact', nick,
|
iter = model.append(role_iter, (image, 'contact', nick,
|
||||||
self.escape(nick)))
|
self.escape(nick)))
|
||||||
|
@ -385,7 +386,7 @@ class GroupchatWindow(chat.Chat):
|
||||||
return 'visitor'
|
return 'visitor'
|
||||||
|
|
||||||
def update_state_images(self):
|
def update_state_images(self):
|
||||||
roster = self.plugin.roster
|
roster = gajim.interface.roster
|
||||||
for room_jid in self.list_treeview:
|
for room_jid in self.list_treeview:
|
||||||
model = self.list_treeview[room_jid].get_model()
|
model = self.list_treeview[room_jid].get_model()
|
||||||
role_iter = model.get_iter_root()
|
role_iter = model.get_iter_root()
|
||||||
|
@ -472,7 +473,7 @@ class GroupchatWindow(chat.Chat):
|
||||||
c.show = show
|
c.show = show
|
||||||
c.affiliation = affiliation
|
c.affiliation = affiliation
|
||||||
c.status = status
|
c.status = status
|
||||||
roster = self.plugin.roster
|
roster = gajim.interface.roster
|
||||||
state_images = roster.get_appropriate_state_images(jid)
|
state_images = roster.get_appropriate_state_images(jid)
|
||||||
image = state_images[show]
|
image = state_images[show]
|
||||||
model[iter][C_IMG] = image
|
model[iter][C_IMG] = image
|
||||||
|
@ -567,7 +568,7 @@ class GroupchatWindow(chat.Chat):
|
||||||
gajim.connections[self.account].bookmarks.append(bm)
|
gajim.connections[self.account].bookmarks.append(bm)
|
||||||
gajim.connections[self.account].store_bookmarks()
|
gajim.connections[self.account].store_bookmarks()
|
||||||
|
|
||||||
self.plugin.roster.make_menu()
|
gajim.interface.roster.make_menu()
|
||||||
|
|
||||||
dialogs.InformationDialog(
|
dialogs.InformationDialog(
|
||||||
_('Bookmark has been added successfully'),
|
_('Bookmark has been added successfully'),
|
||||||
|
@ -810,14 +811,13 @@ class GroupchatWindow(chat.Chat):
|
||||||
server = servernick
|
server = servernick
|
||||||
nick = ''
|
nick = ''
|
||||||
#join_gc window is needed in order to provide for password entry.
|
#join_gc window is needed in order to provide for password entry.
|
||||||
if self.plugin.windows[self.account].has_key('join_gc'):
|
if gajim.interface.windows[self.account].has_key('join_gc'):
|
||||||
self.plugin.windows[self.account]['join_gc'].\
|
gajim.interface.windows[self.account]['join_gc'].\
|
||||||
window.present()
|
window.present()
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
self.plugin.windows[self.account]['join_gc'] =\
|
gajim.interface.windows[self.account]['join_gc'] =\
|
||||||
dialogs.JoinGroupchatWindow(self.plugin,
|
dialogs.JoinGroupchatWindow(self.account,
|
||||||
self.account,
|
|
||||||
server = server, room = room, nick = nick)
|
server = server, room = room, nick = nick)
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
pass
|
pass
|
||||||
|
@ -1090,15 +1090,15 @@ current room topic.') % command, room_jid)
|
||||||
else:
|
else:
|
||||||
fjid = gajim.construct_fjid(room_jid, nick)
|
fjid = gajim.construct_fjid(room_jid, nick)
|
||||||
jid = fjid
|
jid = fjid
|
||||||
if self.plugin.windows[self.account]['infos'].has_key(jid):
|
if gajim.interface.windows[self.account]['infos'].has_key(jid):
|
||||||
self.plugin.windows[self.account]['infos'][jid].window.present()
|
gajim.interface.windows[self.account]['infos'][jid].window.present()
|
||||||
else:
|
else:
|
||||||
# we copy contact because c.jid must contain the fakeJid for vcard
|
# we copy contact because c.jid must contain the fakeJid for vcard
|
||||||
c2 = Contact(jid = jid, name = c.name, groups = c.groups,
|
c2 = Contact(jid = jid, name = c.name, groups = c.groups,
|
||||||
show = c.show, status = c.status, sub = c.sub,
|
show = c.show, status = c.status, sub = c.sub,
|
||||||
resource = c.resource, role = c.role, affiliation = c.affiliation)
|
resource = c.resource, role = c.role, affiliation = c.affiliation)
|
||||||
self.plugin.windows[self.account]['infos'][jid] = \
|
gajim.interface.windows[self.account]['infos'][jid] = \
|
||||||
dialogs.VcardWindow(c2, self.plugin, self.account, False)
|
dialogs.VcardWindow(c2, self.account, False)
|
||||||
|
|
||||||
def on_history(self, widget, room_jid, nick):
|
def on_history(self, widget, room_jid, nick):
|
||||||
c = gajim.gc_contacts[self.account][room_jid][nick]
|
c = gajim.gc_contacts[self.account][room_jid][nick]
|
||||||
|
@ -1112,7 +1112,7 @@ current room topic.') % command, room_jid)
|
||||||
self.on_history_menuitem_clicked(jid = jid)
|
self.on_history_menuitem_clicked(jid = jid)
|
||||||
|
|
||||||
def on_add_to_roster(self, widget, jid):
|
def on_add_to_roster(self, widget, jid):
|
||||||
dialogs.AddNewContactWindow(self.plugin, self.account, jid)
|
dialogs.AddNewContactWindow(self.account, jid)
|
||||||
|
|
||||||
def on_send_pm(self, widget=None, model=None, iter=None, nick=None, msg=None):
|
def on_send_pm(self, widget=None, model=None, iter=None, nick=None, msg=None):
|
||||||
'''opens a chat window and msg is not None sends private message to a
|
'''opens a chat window and msg is not None sends private message to a
|
||||||
|
@ -1121,18 +1121,18 @@ current room topic.') % command, room_jid)
|
||||||
nick = model[iter][C_NICK].decode('utf-8')
|
nick = model[iter][C_NICK].decode('utf-8')
|
||||||
room_jid = self.get_active_jid()
|
room_jid = self.get_active_jid()
|
||||||
fjid = gajim.construct_fjid(room_jid, nick) # 'fake' jid
|
fjid = gajim.construct_fjid(room_jid, nick) # 'fake' jid
|
||||||
if not self.plugin.windows[self.account]['chats'].has_key(fjid):
|
if not gajim.interface.windows[self.account]['chats'].has_key(fjid):
|
||||||
show = gajim.gc_contacts[self.account][room_jid][nick].show
|
show = gajim.gc_contacts[self.account][room_jid][nick].show
|
||||||
u = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
|
u = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
|
||||||
sub = 'none')
|
sub = 'none')
|
||||||
self.plugin.roster.new_chat(u, self.account)
|
gajim.interface.roster.new_chat(u, self.account)
|
||||||
|
|
||||||
#make active here in case we need to send a message
|
#make active here in case we need to send a message
|
||||||
self.plugin.windows[self.account]['chats'][fjid].set_active_tab(fjid)
|
gajim.interface.windows[self.account]['chats'][fjid].set_active_tab(fjid)
|
||||||
|
|
||||||
if msg:
|
if msg:
|
||||||
self.plugin.windows[self.account]['chats'][fjid].send_message(msg)
|
gajim.interface.windows[self.account]['chats'][fjid].send_message(msg)
|
||||||
self.plugin.windows[self.account]['chats'][fjid].window.present()
|
gajim.interface.windows[self.account]['chats'][fjid].window.present()
|
||||||
|
|
||||||
def on_voice_checkmenuitem_activate(self, widget, room_jid, nick):
|
def on_voice_checkmenuitem_activate(self, widget, room_jid, nick):
|
||||||
if widget.get_active():
|
if widget.get_active():
|
||||||
|
@ -1373,8 +1373,8 @@ current room topic.') % command, room_jid)
|
||||||
no_queue = False
|
no_queue = False
|
||||||
|
|
||||||
# We print if window is opened
|
# We print if window is opened
|
||||||
if self.plugin.windows[self.account]['chats'].has_key(fjid):
|
if gajim.interface.windows[self.account]['chats'].has_key(fjid):
|
||||||
chat_win = self.plugin.windows[self.account]['chats'][fjid]
|
chat_win = gajim.interface.windows[self.account]['chats'][fjid]
|
||||||
chat_win.print_conversation(msg, fjid, tim = tim)
|
chat_win.print_conversation(msg, fjid, tim = tim)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -1391,17 +1391,17 @@ current room topic.') % command, room_jid)
|
||||||
gajim.connections[self.account].connected > 2):
|
gajim.connections[self.account].connected > 2):
|
||||||
if no_queue: # We didn't have a queue: we change icons
|
if no_queue: # We didn't have a queue: we change icons
|
||||||
model = self.list_treeview[room_jid].get_model()
|
model = self.list_treeview[room_jid].get_model()
|
||||||
state_images = self.plugin.roster.get_appropriate_state_images(room_jid)
|
state_images = gajim.interface.roster.get_appropriate_state_images(room_jid)
|
||||||
image = state_images['message']
|
image = state_images['message']
|
||||||
model[iter][C_IMG] = image
|
model[iter][C_IMG] = image
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.add_jid(fjid, self.account, 'pm')
|
gajim.interface.systray.add_jid(fjid, self.account, 'pm')
|
||||||
self.show_title()
|
self.show_title()
|
||||||
else:
|
else:
|
||||||
show = gajim.gc_contacts[self.account][room_jid][nick].show
|
show = gajim.gc_contacts[self.account][room_jid][nick].show
|
||||||
c = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
|
c = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
|
||||||
ask = 'none')
|
ask = 'none')
|
||||||
self.plugin.roster.new_chat(c, self.account)
|
gajim.interface.roster.new_chat(c, self.account)
|
||||||
# Scroll to line
|
# Scroll to line
|
||||||
self.list_treeview[room_jid].expand_row(path[0:1], False)
|
self.list_treeview[room_jid].expand_row(path[0:1], False)
|
||||||
self.list_treeview[room_jid].scroll_to_cell(path)
|
self.list_treeview[room_jid].scroll_to_cell(path)
|
||||||
|
@ -1506,13 +1506,13 @@ current room topic.') % command, room_jid)
|
||||||
if len(path) == 2:
|
if len(path) == 2:
|
||||||
nick = model[iter][C_NICK].decode('utf-8')
|
nick = model[iter][C_NICK].decode('utf-8')
|
||||||
fjid = gajim.construct_fjid(room_jid, nick)
|
fjid = gajim.construct_fjid(room_jid, nick)
|
||||||
if not self.plugin.windows[self.account]['chats'].has_key(fjid):
|
if not gajim.interface.windows[self.account]['chats'].has_key(fjid):
|
||||||
show = gajim.gc_contacts[self.account][room_jid][nick].show
|
show = gajim.gc_contacts[self.account][room_jid][nick].show
|
||||||
u = Contact(jid = fjid, name = nick, groups = ['none'],
|
u = Contact(jid = fjid, name = nick, groups = ['none'],
|
||||||
show = show, sub = 'none')
|
show = show, sub = 'none')
|
||||||
self.plugin.roster.new_chat(u, self.account)
|
gajim.interface.roster.new_chat(u, self.account)
|
||||||
self.plugin.windows[self.account]['chats'][fjid].set_active_tab(fjid)
|
gajim.interface.windows[self.account]['chats'][fjid].set_active_tab(fjid)
|
||||||
self.plugin.windows[self.account]['chats'][fjid].window.present()
|
gajim.interface.windows[self.account]['chats'][fjid].window.present()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
elif event.button == 1: # left click
|
elif event.button == 1: # left click
|
||||||
|
@ -1550,22 +1550,22 @@ current room topic.') % command, room_jid)
|
||||||
room_jid = self.get_active_jid()
|
room_jid = self.get_active_jid()
|
||||||
nick = model[iter][C_NICK].decode('utf-8')
|
nick = model[iter][C_NICK].decode('utf-8')
|
||||||
fjid = gajim.construct_fjid(room_jid, nick)
|
fjid = gajim.construct_fjid(room_jid, nick)
|
||||||
if not self.plugin.windows[self.account]['chats'].has_key(fjid):
|
if not gajim.interface.windows[self.account]['chats'].has_key(fjid):
|
||||||
show = gajim.gc_contacts[self.account][room_jid][nick].show
|
show = gajim.gc_contacts[self.account][room_jid][nick].show
|
||||||
u = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
|
u = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
|
||||||
sub = 'none')
|
sub = 'none')
|
||||||
self.plugin.roster.new_chat(u, self.account)
|
gajim.interface.roster.new_chat(u, self.account)
|
||||||
self.plugin.windows[self.account]['chats'][fjid].set_active_tab(fjid)
|
gajim.interface.windows[self.account]['chats'][fjid].set_active_tab(fjid)
|
||||||
self.plugin.windows[self.account]['chats'][fjid].window.present()
|
gajim.interface.windows[self.account]['chats'][fjid].window.present()
|
||||||
|
|
||||||
def on_list_treeview_row_expanded(self, widget, iter, path):
|
def on_list_treeview_row_expanded(self, widget, iter, path):
|
||||||
'''When a row is expanded: change the icon of the arrow'''
|
'''When a row is expanded: change the icon of the arrow'''
|
||||||
model = widget.get_model()
|
model = widget.get_model()
|
||||||
image = self.plugin.roster.jabber_state_images['opened']
|
image = gajim.interface.roster.jabber_state_images['opened']
|
||||||
model[iter][C_IMG] = image
|
model[iter][C_IMG] = image
|
||||||
|
|
||||||
def on_list_treeview_row_collapsed(self, widget, iter, path):
|
def on_list_treeview_row_collapsed(self, widget, iter, path):
|
||||||
'''When a row is collapsed: change the icon of the arrow'''
|
'''When a row is collapsed: change the icon of the arrow'''
|
||||||
model = widget.get_model()
|
model = widget.get_model()
|
||||||
image = self.plugin.roster.jabber_state_images['closed']
|
image = gajim.interface.roster.jabber_state_images['closed']
|
||||||
model[iter][C_IMG] = image
|
model[iter][C_IMG] = image
|
||||||
|
|
|
@ -34,8 +34,7 @@ GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
class HistoryWindow:
|
class HistoryWindow:
|
||||||
'''Class for browsing logs of conversations with contacts'''
|
'''Class for browsing logs of conversations with contacts'''
|
||||||
|
|
||||||
def __init__(self, plugin, jid, account):
|
def __init__(self, jid, account):
|
||||||
self.plugin = plugin
|
|
||||||
self.jid = jid
|
self.jid = jid
|
||||||
self.account = account
|
self.account = account
|
||||||
self.no_of_lines = gajim.logger.get_no_of_lines(jid)
|
self.no_of_lines = gajim.logger.get_no_of_lines(jid)
|
||||||
|
@ -80,7 +79,7 @@ class HistoryWindow:
|
||||||
self.window.show_all()
|
self.window.show_all()
|
||||||
|
|
||||||
def on_history_window_destroy(self, widget):
|
def on_history_window_destroy(self, widget):
|
||||||
del self.plugin.windows['logs'][self.jid]
|
del gajim.interface.windows['logs'][self.jid]
|
||||||
|
|
||||||
def on_close_button_clicked(self, widget):
|
def on_close_button_clicked(self, widget):
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
|
@ -49,7 +49,7 @@ OBJ_PATH = '/org/gajim/dbus/RemoteObject'
|
||||||
SERVICE = 'org.gajim.dbus'
|
SERVICE = 'org.gajim.dbus'
|
||||||
|
|
||||||
class Remote:
|
class Remote:
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.signal_object = None
|
self.signal_object = None
|
||||||
if 'dbus' not in globals() and not os.name == 'nt':
|
if 'dbus' not in globals() and not os.name == 'nt':
|
||||||
print _('D-Bus python bindings are missing in this computer')
|
print _('D-Bus python bindings are missing in this computer')
|
||||||
|
@ -66,10 +66,10 @@ class Remote:
|
||||||
|
|
||||||
if _version[1] >= 41:
|
if _version[1] >= 41:
|
||||||
service = dbus.service.BusName(SERVICE, bus=session_bus)
|
service = dbus.service.BusName(SERVICE, bus=session_bus)
|
||||||
self.signal_object = SignalObject(service, plugin)
|
self.signal_object = SignalObject(service)
|
||||||
elif _version[1] <= 40 and _version[1] >= 20:
|
elif _version[1] <= 40 and _version[1] >= 20:
|
||||||
service=dbus.Service(SERVICE, session_bus)
|
service=dbus.Service(SERVICE, session_bus)
|
||||||
self.signal_object = SignalObject(service, plugin)
|
self.signal_object = SignalObject(service)
|
||||||
|
|
||||||
def set_enabled(self, status):
|
def set_enabled(self, status):
|
||||||
self.signal_object.disabled = not status
|
self.signal_object.disabled = not status
|
||||||
|
@ -86,8 +86,7 @@ class SignalObject(DbusPrototype):
|
||||||
''' Local object definition for /org/gajim/dbus/RemoteObject. This doc must
|
''' Local object definition for /org/gajim/dbus/RemoteObject. This doc must
|
||||||
not be visible, because the clients can access only the remote object. '''
|
not be visible, because the clients can access only the remote object. '''
|
||||||
|
|
||||||
def __init__(self, service, plugin):
|
def __init__(self, service):
|
||||||
self.plugin = plugin
|
|
||||||
self.first_show = True
|
self.first_show = True
|
||||||
self.vcard_account = None
|
self.vcard_account = None
|
||||||
self.disabled = False
|
self.disabled = False
|
||||||
|
@ -162,7 +161,7 @@ class SignalObject(DbusPrototype):
|
||||||
|
|
||||||
if connected_account:
|
if connected_account:
|
||||||
if os.path.isfile(file_path): # is it file?
|
if os.path.isfile(file_path): # is it file?
|
||||||
self.plugin.windows['file_transfers'].send_file(account,
|
gajim.interface.windows['file_transfers'].send_file(account,
|
||||||
contact, file_path)
|
contact, file_path)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
@ -220,7 +219,7 @@ class SignalObject(DbusPrototype):
|
||||||
first_connected_acct = None
|
first_connected_acct = None
|
||||||
for acct in accounts:
|
for acct in accounts:
|
||||||
if gajim.connections[acct].connected > 1: # account is online
|
if gajim.connections[acct].connected > 1: # account is online
|
||||||
if self.plugin.windows[acct]['chats'].has_key(jid):
|
if gajim.interface.windows[acct]['chats'].has_key(jid):
|
||||||
connected_account = acct
|
connected_account = acct
|
||||||
break
|
break
|
||||||
# jid is in roster
|
# jid is in roster
|
||||||
|
@ -239,9 +238,9 @@ class SignalObject(DbusPrototype):
|
||||||
connected_account = first_connected_acct
|
connected_account = first_connected_acct
|
||||||
|
|
||||||
if connected_account:
|
if connected_account:
|
||||||
self.plugin.roster.new_chat_from_jid(connected_account, jid)
|
gajim.interface.roster.new_chat_from_jid(connected_account, jid)
|
||||||
# preserve the 'steal focus preservation'
|
# preserve the 'steal focus preservation'
|
||||||
win = self.plugin.windows[connected_account]['chats'][jid].window
|
win = gajim.interface.windows[connected_account]['chats'][jid].window
|
||||||
if win.get_property('visible'):
|
if win.get_property('visible'):
|
||||||
win.window.focus()
|
win.window.focus()
|
||||||
return True
|
return True
|
||||||
|
@ -258,12 +257,12 @@ class SignalObject(DbusPrototype):
|
||||||
# FIXME: raise exception for bad status (dbus0.35)
|
# FIXME: raise exception for bad status (dbus0.35)
|
||||||
return None
|
return None
|
||||||
if account:
|
if account:
|
||||||
gobject.idle_add(self.plugin.roster.send_status, account,
|
gobject.idle_add(gajim.interface.roster.send_status, account,
|
||||||
status, message)
|
status, message)
|
||||||
else:
|
else:
|
||||||
# account not specified, so change the status of all accounts
|
# account not specified, so change the status of all accounts
|
||||||
for acc in gajim.contacts.keys():
|
for acc in gajim.contacts.keys():
|
||||||
gobject.idle_add(self.plugin.roster.send_status, acc,
|
gobject.idle_add(gajim.interface.roster.send_status, acc,
|
||||||
status, message)
|
status, message)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@ -273,17 +272,17 @@ class SignalObject(DbusPrototype):
|
||||||
return
|
return
|
||||||
#FIXME: when systray is disabled this method does nothing.
|
#FIXME: when systray is disabled this method does nothing.
|
||||||
#FIXME: show message from GC that refer to us (like systray does)
|
#FIXME: show message from GC that refer to us (like systray does)
|
||||||
if len(self.plugin.systray.jids) != 0:
|
if len(gajim.interface.systray.jids) != 0:
|
||||||
account = self.plugin.systray.jids[0][0]
|
account = gajim.interface.systray.jids[0][0]
|
||||||
jid = self.plugin.systray.jids[0][1]
|
jid = gajim.interface.systray.jids[0][1]
|
||||||
acc = self.plugin.windows[account]
|
acc = gajim.interface.windows[account]
|
||||||
jid_tab = None
|
jid_tab = None
|
||||||
if acc['gc'].has_key(jid):
|
if acc['gc'].has_key(jid):
|
||||||
jid_tab = acc['gc'][jid]
|
jid_tab = acc['gc'][jid]
|
||||||
elif acc['chats'].has_key(jid):
|
elif acc['chats'].has_key(jid):
|
||||||
jid_tab = acc['chats'][jid]
|
jid_tab = acc['chats'][jid]
|
||||||
else:
|
else:
|
||||||
self.plugin.roster.new_chat(
|
gajim.interface.roster.new_chat(
|
||||||
gajim.contacts[account][jid][0], account)
|
gajim.contacts[account][jid][0], account)
|
||||||
jid_tab = acc['chats'][jid]
|
jid_tab = acc['chats'][jid]
|
||||||
if jid_tab:
|
if jid_tab:
|
||||||
|
@ -365,7 +364,7 @@ class SignalObject(DbusPrototype):
|
||||||
''' shows/hides the roster window '''
|
''' shows/hides the roster window '''
|
||||||
if self.disabled:
|
if self.disabled:
|
||||||
return
|
return
|
||||||
win = self.plugin.roster.window
|
win = gajim.interface.roster.window
|
||||||
if win.get_property('visible'):
|
if win.get_property('visible'):
|
||||||
gobject.idle_add(win.hide)
|
gobject.idle_add(win.hide)
|
||||||
else:
|
else:
|
||||||
|
@ -392,7 +391,7 @@ class SignalObject(DbusPrototype):
|
||||||
|
|
||||||
def prefs_store(self, *args):
|
def prefs_store(self, *args):
|
||||||
try:
|
try:
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
@ -426,7 +425,7 @@ class SignalObject(DbusPrototype):
|
||||||
def add_contact(self, *args):
|
def add_contact(self, *args):
|
||||||
[account] = self._get_real_arguments(args, 1)
|
[account] = self._get_real_arguments(args, 1)
|
||||||
if gajim.contacts.has_key(account):
|
if gajim.contacts.has_key(account):
|
||||||
AddNewContactWindow(self.plugin, account)
|
AddNewContactWindow(account)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -444,7 +443,7 @@ class SignalObject(DbusPrototype):
|
||||||
if gajim.contacts[account].has_key(jid):
|
if gajim.contacts[account].has_key(jid):
|
||||||
gajim.connections[account].unsubscribe(jid)
|
gajim.connections[account].unsubscribe(jid)
|
||||||
for contact in gajim.contacts[account][jid]:
|
for contact in gajim.contacts[account][jid]:
|
||||||
self.plugin.roster.remove_contact(contact, account)
|
gajim.interface.roster.remove_contact(contact, account)
|
||||||
del gajim.contacts[account][jid]
|
del gajim.contacts[account][jid]
|
||||||
contact_exists = True
|
contact_exists = True
|
||||||
return contact_exists
|
return contact_exists
|
||||||
|
|
|
@ -60,7 +60,7 @@ C_SECPIXBUF, # econdary_pixbuf
|
||||||
GTKGUI_GLADE = 'gtkgui.glade'
|
GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
|
|
||||||
class RosterWindow:
|
class RosterWindow:
|
||||||
'''Class for main window of gtkgui plugin'''
|
'''Class for main window of gtkgui interface'''
|
||||||
|
|
||||||
def get_account_iter(self, name):
|
def get_account_iter(self, name):
|
||||||
if self.regroup:
|
if self.regroup:
|
||||||
|
@ -248,7 +248,7 @@ class RosterWindow:
|
||||||
#FIXME: add avatar
|
#FIXME: add avatar
|
||||||
|
|
||||||
def join_gc_room(self, account, room_jid, nick, password):
|
def join_gc_room(self, account, room_jid, nick, password):
|
||||||
if room_jid in self.plugin.windows[account]['gc'] and \
|
if room_jid in gajim.interface.windows[account]['gc'] and \
|
||||||
gajim.gc_connected[account][room_jid]:
|
gajim.gc_connected[account][room_jid]:
|
||||||
dialogs.ErrorDialog(_('You are already in room %s') %room_jid
|
dialogs.ErrorDialog(_('You are already in room %s') %room_jid
|
||||||
).get_response()
|
).get_response()
|
||||||
|
@ -259,10 +259,10 @@ class RosterWindow:
|
||||||
).get_response()
|
).get_response()
|
||||||
return
|
return
|
||||||
room, server = room_jid.split('@')
|
room, server = room_jid.split('@')
|
||||||
if not room_jid in self.plugin.windows[account]['gc']:
|
if not room_jid in gajim.interface.windows[account]['gc']:
|
||||||
self.new_room(room_jid, nick, account)
|
self.new_room(room_jid, nick, account)
|
||||||
self.plugin.windows[account]['gc'][room_jid].set_active_tab(room_jid)
|
gajim.interface.windows[account]['gc'][room_jid].set_active_tab(room_jid)
|
||||||
self.plugin.windows[account]['gc'][room_jid].window.present()
|
gajim.interface.windows[account]['gc'][room_jid].window.present()
|
||||||
gajim.connections[account].join_gc(nick, room, server, password)
|
gajim.connections[account].join_gc(nick, room, server, password)
|
||||||
|
|
||||||
def on_bookmark_menuitem_activate(self, widget, account, bookmark):
|
def on_bookmark_menuitem_activate(self, widget, account, bookmark):
|
||||||
|
@ -275,23 +275,23 @@ class RosterWindow:
|
||||||
def on_send_server_message_menuitem_activate(self, widget, account):
|
def on_send_server_message_menuitem_activate(self, widget, account):
|
||||||
server = gajim.config.get_per('accounts', account, 'hostname')
|
server = gajim.config.get_per('accounts', account, 'hostname')
|
||||||
server += '/announce/online'
|
server += '/announce/online'
|
||||||
dialogs.SingleMessageWindow(self.plugin, account, server, 'send')
|
dialogs.SingleMessageWindow(account, server, 'send')
|
||||||
|
|
||||||
def on_xml_console_menuitem_activate(self, widget, account):
|
def on_xml_console_menuitem_activate(self, widget, account):
|
||||||
if self.plugin.windows[account].has_key('xml_console'):
|
if gajim.interface.windows[account].has_key('xml_console'):
|
||||||
self.plugin.windows[account]['xml_console'].window.present()
|
gajim.interface.windows[account]['xml_console'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[account]['xml_console'].window.show_all()
|
gajim.interface.windows[account]['xml_console'].window.show_all()
|
||||||
|
|
||||||
def on_set_motd_menuitem_activate(self, widget, account):
|
def on_set_motd_menuitem_activate(self, widget, account):
|
||||||
server = gajim.config.get_per('accounts', account, 'hostname')
|
server = gajim.config.get_per('accounts', account, 'hostname')
|
||||||
server += '/announce/motd'
|
server += '/announce/motd'
|
||||||
dialogs.SingleMessageWindow(self.plugin, account, server, 'send')
|
dialogs.SingleMessageWindow(account, server, 'send')
|
||||||
|
|
||||||
def on_update_motd_menuitem_activate(self, widget, account):
|
def on_update_motd_menuitem_activate(self, widget, account):
|
||||||
server = gajim.config.get_per('accounts', account, 'hostname')
|
server = gajim.config.get_per('accounts', account, 'hostname')
|
||||||
server += '/announce/motd/update'
|
server += '/announce/motd/update'
|
||||||
dialogs.SingleMessageWindow(self.plugin, account, server, 'send')
|
dialogs.SingleMessageWindow(account, server, 'send')
|
||||||
|
|
||||||
def on_delete_motd_menuitem_activate(self, widget, account):
|
def on_delete_motd_menuitem_activate(self, widget, account):
|
||||||
server = gajim.config.get_per('accounts', account, 'hostname')
|
server = gajim.config.get_per('accounts', account, 'hostname')
|
||||||
|
@ -628,28 +628,27 @@ class RosterWindow:
|
||||||
self.add_contact_to_roster(contact.jid, account)
|
self.add_contact_to_roster(contact.jid, account)
|
||||||
self.draw_contact(contact.jid, account)
|
self.draw_contact(contact.jid, account)
|
||||||
# print status in chat window and update status/GPG image
|
# print status in chat window and update status/GPG image
|
||||||
if self.plugin.windows[account]['chats'].has_key(contact.jid):
|
if gajim.interface.windows[account]['chats'].has_key(contact.jid):
|
||||||
jid = contact.jid
|
jid = contact.jid
|
||||||
self.plugin.windows[account]['chats'][jid].set_state_image(jid)
|
gajim.interface.windows[account]['chats'][jid].set_state_image(jid)
|
||||||
name = contact.name
|
name = contact.name
|
||||||
if contact.resource != '':
|
if contact.resource != '':
|
||||||
name += '/' + contact.resource
|
name += '/' + contact.resource
|
||||||
uf_show = helpers.get_uf_show(show)
|
uf_show = helpers.get_uf_show(show)
|
||||||
self.plugin.windows[account]['chats'][jid].print_conversation(
|
gajim.interface.windows[account]['chats'][jid].print_conversation(
|
||||||
_('%s is now %s (%s)') % (name, uf_show, status), jid, 'status')
|
_('%s is now %s (%s)') % (name, uf_show, status), jid, 'status')
|
||||||
|
|
||||||
if contact == gajim.get_contact_instance_with_highest_priority(\
|
if contact == gajim.get_contact_instance_with_highest_priority(\
|
||||||
account, contact.jid):
|
account, contact.jid):
|
||||||
self.plugin.windows[account]['chats'][jid].draw_name_banner(contact)
|
gajim.interface.windows[account]['chats'][jid].draw_name_banner(contact)
|
||||||
|
|
||||||
def on_info(self, widget, user, account):
|
def on_info(self, widget, user, account):
|
||||||
'''Call vcard_information_window class to display user's information'''
|
'''Call vcard_information_window class to display user's information'''
|
||||||
info = self.plugin.windows[account]['infos']
|
info = gajim.interface.windows[account]['infos']
|
||||||
if info.has_key(user.jid):
|
if info.has_key(user.jid):
|
||||||
info[user.jid].window.present()
|
info[user.jid].window.present()
|
||||||
else:
|
else:
|
||||||
info[user.jid] = dialogs.VcardWindow(user, self.plugin,
|
info[user.jid] = dialogs.VcardWindow(user, account)
|
||||||
account)
|
|
||||||
|
|
||||||
def show_tooltip(self, contact):
|
def show_tooltip(self, contact):
|
||||||
pointer = self.tree.get_pointer()
|
pointer = self.tree.get_pointer()
|
||||||
|
@ -800,24 +799,24 @@ class RosterWindow:
|
||||||
keys[user.jid] = keyID[0]
|
keys[user.jid] = keyID[0]
|
||||||
for u in gajim.contacts[account][user.jid]:
|
for u in gajim.contacts[account][user.jid]:
|
||||||
u.keyID = keyID[0]
|
u.keyID = keyID[0]
|
||||||
if self.plugin.windows[account]['chats'].has_key(user.jid):
|
if gajim.interface.windows[account]['chats'].has_key(user.jid):
|
||||||
self.plugin.windows[account]['chats'][user.jid].draw_widgets(user)
|
gajim.interface.windows[account]['chats'][user.jid].draw_widgets(user)
|
||||||
keys_str = ''
|
keys_str = ''
|
||||||
for jid in keys:
|
for jid in keys:
|
||||||
keys_str += jid + ' ' + keys[jid] + ' '
|
keys_str += jid + ' ' + keys[jid] + ' '
|
||||||
gajim.config.set_per('accounts', account, 'attached_gpg_keys', keys_str)
|
gajim.config.set_per('accounts', account, 'attached_gpg_keys', keys_str)
|
||||||
|
|
||||||
def on_edit_groups(self, widget, user, account):
|
def on_edit_groups(self, widget, user, account):
|
||||||
dlg = dialogs.EditGroupsDialog(user, account, self.plugin)
|
dlg = dialogs.EditGroupsDialog(user, account)
|
||||||
dlg.run()
|
dlg.run()
|
||||||
|
|
||||||
def on_history(self, widget, contact, account):
|
def on_history(self, widget, contact, account):
|
||||||
'''When history menuitem is activated: call log window'''
|
'''When history menuitem is activated: call log window'''
|
||||||
if self.plugin.windows['logs'].has_key(contact.jid):
|
if gajim.interface.windows['logs'].has_key(contact.jid):
|
||||||
self.plugin.windows['logs'][contact.jid].window.present()
|
gajim.interface.windows['logs'][contact.jid].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['logs'][contact.jid] = history_window.\
|
gajim.interface.windows['logs'][contact.jid] = history_window.\
|
||||||
HistoryWindow(self.plugin, contact.jid, account)
|
HistoryWindow(contact.jid, account)
|
||||||
|
|
||||||
def on_send_single_message_menuitem_activate(self, wiget, account,
|
def on_send_single_message_menuitem_activate(self, wiget, account,
|
||||||
contact = None):
|
contact = None):
|
||||||
|
@ -827,7 +826,7 @@ class RosterWindow:
|
||||||
dialogs.SingleMessageWindow(self, account, contact.jid, 'send')
|
dialogs.SingleMessageWindow(self, account, contact.jid, 'send')
|
||||||
|
|
||||||
def on_send_file_menuitem_activate(self, widget, account, contact):
|
def on_send_file_menuitem_activate(self, widget, account, contact):
|
||||||
self.plugin.windows['file_transfers'].show_file_send_request(
|
gajim.interface.windows['file_transfers'].show_file_send_request(
|
||||||
account, contact)
|
account, contact)
|
||||||
|
|
||||||
def mk_menu_user(self, event, iter):
|
def mk_menu_user(self, event, iter):
|
||||||
|
@ -990,11 +989,11 @@ class RosterWindow:
|
||||||
menu.show_all()
|
menu.show_all()
|
||||||
|
|
||||||
def on_edit_account(self, widget, account):
|
def on_edit_account(self, widget, account):
|
||||||
if self.plugin.windows[account].has_key('account_modification'):
|
if gajim.interface.windows[account].has_key('account_modification'):
|
||||||
self.plugin.windows[account]['account_modification'].window.present()
|
gajim.interface.windows[account]['account_modification'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[account]['account_modification'] = \
|
gajim.interface.windows[account]['account_modification'] = \
|
||||||
config.AccountModificationWindow(self.plugin, account)
|
config.AccountModificationWindow(account)
|
||||||
|
|
||||||
def get_possible_button_event(self, event):
|
def get_possible_button_event(self, event):
|
||||||
'''mouse or keyboard caused the event?'''
|
'''mouse or keyboard caused the event?'''
|
||||||
|
@ -1007,7 +1006,7 @@ class RosterWindow:
|
||||||
|
|
||||||
def on_change_status_message_activate(self, widget, account):
|
def on_change_status_message_activate(self, widget, account):
|
||||||
show = gajim.SHOW_LIST[gajim.connections[account].connected]
|
show = gajim.SHOW_LIST[gajim.connections[account].connected]
|
||||||
dlg = dialogs.ChangeStatusMessageDialog(self.plugin, show)
|
dlg = dialogs.ChangeStatusMessageDialog(show)
|
||||||
message = dlg.run()
|
message = dlg.run()
|
||||||
if message is not None: # None is if user pressed Cancel
|
if message is not None: # None is if user pressed Cancel
|
||||||
self.send_status(account, show, message)
|
self.send_status(account, show, message)
|
||||||
|
@ -1099,7 +1098,7 @@ class RosterWindow:
|
||||||
account_context_menu.show_all()
|
account_context_menu.show_all()
|
||||||
|
|
||||||
def on_add_to_roster(self, widget, user, account):
|
def on_add_to_roster(self, widget, user, account):
|
||||||
dialogs.AddNewContactWindow(self.plugin, account, user.jid)
|
dialogs.AddNewContactWindow(account, user.jid)
|
||||||
|
|
||||||
def authorize(self, widget, jid, account):
|
def authorize(self, widget, jid, account):
|
||||||
'''Authorize a user (by re-sending auth menuitem)'''
|
'''Authorize a user (by re-sending auth menuitem)'''
|
||||||
|
@ -1228,13 +1227,13 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
if type in ('agent', 'contact'):
|
if type in ('agent', 'contact'):
|
||||||
account = model[iter][C_ACCOUNT].decode('utf-8')
|
account = model[iter][C_ACCOUNT].decode('utf-8')
|
||||||
jid = model[iter][C_JID].decode('utf-8')
|
jid = model[iter][C_JID].decode('utf-8')
|
||||||
if self.plugin.windows[account]['chats'].has_key(jid):
|
if gajim.interface.windows[account]['chats'].has_key(jid):
|
||||||
self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
|
gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
|
||||||
elif gajim.contacts[account].has_key(jid):
|
elif gajim.contacts[account].has_key(jid):
|
||||||
c = gajim.get_contact_instance_with_highest_priority(account, jid)
|
c = gajim.get_contact_instance_with_highest_priority(account, jid)
|
||||||
self.new_chat(c, account)
|
self.new_chat(c, account)
|
||||||
self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
|
gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
|
||||||
self.plugin.windows[account]['chats'][jid].window.present()
|
gajim.interface.windows[account]['chats'][jid].window.present()
|
||||||
elif type == 'account':
|
elif type == 'account':
|
||||||
account = model[iter][C_ACCOUNT]
|
account = model[iter][C_ACCOUNT]
|
||||||
show = gajim.connections[account].connected
|
show = gajim.connections[account].connected
|
||||||
|
@ -1275,7 +1274,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
for u in gajim.contacts[account][user.jid]:
|
for u in gajim.contacts[account][user.jid]:
|
||||||
self.remove_contact(u, account)
|
self.remove_contact(u, account)
|
||||||
del gajim.contacts[account][u.jid]
|
del gajim.contacts[account][u.jid]
|
||||||
if user.jid in self.plugin.windows[account]['chats']:
|
if user.jid in gajim.interface.windows[account]['chats']:
|
||||||
user1 = Contact(jid = user.jid, name = user.name,
|
user1 = Contact(jid = user.jid, name = user.name,
|
||||||
groups = [_('not in the roster')], show = 'not in the roster',
|
groups = [_('not in the roster')], show = 'not in the roster',
|
||||||
status = '', ask = 'none', keyID = user.keyID)
|
status = '', ask = 'none', keyID = user.keyID)
|
||||||
|
@ -1292,8 +1291,8 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
accountIter = self.get_account_iter(account)
|
accountIter = self.get_account_iter(account)
|
||||||
if accountIter:
|
if accountIter:
|
||||||
model[accountIter][0] = self.jabber_state_images['connecting']
|
model[accountIter][0] = self.jabber_state_images['connecting']
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.change_status('connecting')
|
gajim.interface.systray.change_status('connecting')
|
||||||
|
|
||||||
def send_status(self, account, status, txt, sync = False, auto = False):
|
def send_status(self, account, status, txt, sync = False, auto = False):
|
||||||
model = self.tree.get_model()
|
model = self.tree.get_model()
|
||||||
|
@ -1313,8 +1312,8 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
if passphrase == -1:
|
if passphrase == -1:
|
||||||
if accountIter:
|
if accountIter:
|
||||||
model[accountIter][0] = self.jabber_state_images['offline']
|
model[accountIter][0] = self.jabber_state_images['offline']
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.change_status('offline')
|
gajim.interface.systray.change_status('offline')
|
||||||
self.update_status_comboxbox()
|
self.update_status_comboxbox()
|
||||||
return
|
return
|
||||||
gajim.connections[account].password = passphrase
|
gajim.connections[account].password = passphrase
|
||||||
|
@ -1361,12 +1360,12 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
gajim.connections[account].gpg_passphrase(passphrase)
|
gajim.connections[account].gpg_passphrase(passphrase)
|
||||||
|
|
||||||
gajim.connections[account].change_status(status, txt, sync, auto)
|
gajim.connections[account].change_status(status, txt, sync, auto)
|
||||||
for room_jid in self.plugin.windows[account]['gc']:
|
for room_jid in gajim.interface.windows[account]['gc']:
|
||||||
if room_jid != 'tabbed':
|
if room_jid != 'tabbed':
|
||||||
nick = self.plugin.windows[account]['gc'][room_jid].nicks[room_jid]
|
nick = gajim.interface.windows[account]['gc'][room_jid].nicks[room_jid]
|
||||||
gajim.connections[account].send_gc_status(nick, room_jid, status,
|
gajim.connections[account].send_gc_status(nick, room_jid, status,
|
||||||
txt)
|
txt)
|
||||||
if status == 'online' and self.plugin.sleeper.getState() != \
|
if status == 'online' and gajim.interface.sleeper.getState() != \
|
||||||
common.sleepy.STATE_UNKNOWN:
|
common.sleepy.STATE_UNKNOWN:
|
||||||
gajim.sleeper_state[account] = 'online'
|
gajim.sleeper_state[account] = 'online'
|
||||||
else:
|
else:
|
||||||
|
@ -1376,7 +1375,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
if (show == 'online' and not gajim.config.get('ask_online_status')) or \
|
if (show == 'online' and not gajim.config.get('ask_online_status')) or \
|
||||||
(show == 'offline' and not gajim.config.get('ask_offline_status')):
|
(show == 'offline' and not gajim.config.get('ask_offline_status')):
|
||||||
return ''
|
return ''
|
||||||
dlg = dialogs.ChangeStatusMessageDialog(self.plugin, show)
|
dlg = dialogs.ChangeStatusMessageDialog(show)
|
||||||
message = dlg.run()
|
message = dlg.run()
|
||||||
return message
|
return message
|
||||||
|
|
||||||
|
@ -1423,7 +1422,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
).get_response()
|
).get_response()
|
||||||
self.update_status_comboxbox()
|
self.update_status_comboxbox()
|
||||||
return
|
return
|
||||||
dlg = dialogs.ChangeStatusMessageDialog(self.plugin)
|
dlg = dialogs.ChangeStatusMessageDialog()
|
||||||
message = dlg.run()
|
message = dlg.run()
|
||||||
if message is not None: # None if user pressed Cancel
|
if message is not None: # None if user pressed Cancel
|
||||||
for acct in accounts:
|
for acct in accounts:
|
||||||
|
@ -1467,7 +1466,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
self.send_status(acct, status, message)
|
self.send_status(acct, status, message)
|
||||||
|
|
||||||
def update_status_comboxbox(self):
|
def update_status_comboxbox(self):
|
||||||
# table to change index in plugin.connected to index in combobox
|
# table to change index in connection.connected to index in combobox
|
||||||
table = {0:9, 1:9, 2:0, 3:1, 4:2, 5:3, 6:4, 7:5}
|
table = {0:9, 1:9, 2:0, 3:1, 4:2, 5:3, 6:4, 7:5}
|
||||||
maxi = 0
|
maxi = 0
|
||||||
for account in gajim.connections:
|
for account in gajim.connections:
|
||||||
|
@ -1480,8 +1479,8 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
self.status_combobox.handler_unblock(self.id_signal_cb)
|
self.status_combobox.handler_unblock(self.id_signal_cb)
|
||||||
statuss = ['offline', 'connecting', 'online', 'chat', 'away',
|
statuss = ['offline', 'connecting', 'online', 'chat', 'away',
|
||||||
'xa', 'dnd', 'invisible']
|
'xa', 'dnd', 'invisible']
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.change_status(statuss[maxi])
|
gajim.interface.systray.change_status(statuss[maxi])
|
||||||
|
|
||||||
def on_status_changed(self, account, status):
|
def on_status_changed(self, account, status):
|
||||||
'''the core tells us that our status has changed'''
|
'''the core tells us that our status has changed'''
|
||||||
|
@ -1506,17 +1505,17 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
|
|
||||||
def new_chat(self, contact, account):
|
def new_chat(self, contact, account):
|
||||||
if gajim.config.get('usetabbedchat'):
|
if gajim.config.get('usetabbedchat'):
|
||||||
if not self.plugin.windows[account]['chats'].has_key('tabbed'):
|
if not gajim.interface.windows[account]['chats'].has_key('tabbed'):
|
||||||
self.plugin.windows[account]['chats']['tabbed'] = \
|
gajim.interface.windows[account]['chats']['tabbed'] = \
|
||||||
tabbed_chat_window.TabbedChatWindow(contact, self.plugin, account)
|
tabbed_chat_window.TabbedChatWindow(contact, account)
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[account]['chats']['tabbed'].new_tab(contact)
|
gajim.interface.windows[account]['chats']['tabbed'].new_tab(contact)
|
||||||
|
|
||||||
self.plugin.windows[account]['chats'][contact.jid] = \
|
gajim.interface.windows[account]['chats'][contact.jid] = \
|
||||||
self.plugin.windows[account]['chats']['tabbed']
|
gajim.interface.windows[account]['chats']['tabbed']
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[account]['chats'][contact.jid] = \
|
gajim.interface.windows[account]['chats'][contact.jid] = \
|
||||||
tabbed_chat_window.TabbedChatWindow(contact, self.plugin, account)
|
tabbed_chat_window.TabbedChatWindow(contact, account)
|
||||||
|
|
||||||
def new_chat_from_jid(self, account, jid):
|
def new_chat_from_jid(self, account, jid):
|
||||||
if gajim.contacts[account].has_key(jid):
|
if gajim.contacts[account].has_key(jid):
|
||||||
|
@ -1533,24 +1532,23 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
gajim.contacts[account][jid] = [contact]
|
gajim.contacts[account][jid] = [contact]
|
||||||
self.add_contact_to_roster(contact.jid, account)
|
self.add_contact_to_roster(contact.jid, account)
|
||||||
|
|
||||||
if not self.plugin.windows[account]['chats'].has_key(jid):
|
if not gajim.interface.windows[account]['chats'].has_key(jid):
|
||||||
self.new_chat(contact, account)
|
self.new_chat(contact, account)
|
||||||
self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
|
gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
|
||||||
self.plugin.windows[account]['chats'][jid].window.present()
|
gajim.interface.windows[account]['chats'][jid].window.present()
|
||||||
|
|
||||||
def new_room(self, jid, nick, account):
|
def new_room(self, jid, nick, account):
|
||||||
if gajim.config.get('usetabbedchat'):
|
if gajim.config.get('usetabbedchat'):
|
||||||
if not self.plugin.windows[account]['gc'].has_key('tabbed'):
|
if not gajim.interface.windows[account]['gc'].has_key('tabbed'):
|
||||||
self.plugin.windows[account]['gc']['tabbed'] = \
|
gajim.interface.windows[account]['gc']['tabbed'] = \
|
||||||
groupchat_window.GroupchatWindow(jid, nick, self.plugin,
|
groupchat_window.GroupchatWindow(jid, nick, account)
|
||||||
account)
|
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[account]['gc']['tabbed'].new_room(jid, nick)
|
gajim.interface.windows[account]['gc']['tabbed'].new_room(jid, nick)
|
||||||
self.plugin.windows[account]['gc'][jid] = \
|
gajim.interface.windows[account]['gc'][jid] = \
|
||||||
self.plugin.windows[account]['gc']['tabbed']
|
gajim.interface.windows[account]['gc']['tabbed']
|
||||||
else:
|
else:
|
||||||
self.plugin.windows[account]['gc'][jid] = \
|
gajim.interface.windows[account]['gc'][jid] = \
|
||||||
groupchat_window.GroupchatWindow(jid, nick, self.plugin, account)
|
groupchat_window.GroupchatWindow(jid, nick, account)
|
||||||
|
|
||||||
def on_message(self, jid, msg, tim, account, encrypted = False,
|
def on_message(self, jid, msg, tim, account, encrypted = False,
|
||||||
msg_type = '', subject = None, resource = ''):
|
msg_type = '', subject = None, resource = ''):
|
||||||
|
@ -1589,18 +1587,18 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
if msg_type == 'normal': # it's single message
|
if msg_type == 'normal': # it's single message
|
||||||
if popup:
|
if popup:
|
||||||
contact = gajim.contacts[account][jid][0]
|
contact = gajim.contacts[account][jid][0]
|
||||||
dialogs.SingleMessageWindow(self.plugin, account, contact.jid,
|
dialogs.SingleMessageWindow(account, contact.jid,
|
||||||
action = 'receive', from_whom = jid, subject = subject,
|
action = 'receive', from_whom = jid, subject = subject,
|
||||||
message = msg)
|
message = msg)
|
||||||
return
|
return
|
||||||
|
|
||||||
# We print if window is opened and it's not a single message
|
# We print if window is opened and it's not a single message
|
||||||
if self.plugin.windows[account]['chats'].has_key(jid) and \
|
if gajim.interface.windows[account]['chats'].has_key(jid) and \
|
||||||
msg_type != 'normal':
|
msg_type != 'normal':
|
||||||
typ = ''
|
typ = ''
|
||||||
if msg_type == 'error':
|
if msg_type == 'error':
|
||||||
typ = 'status'
|
typ = 'status'
|
||||||
self.plugin.windows[account]['chats'][jid].print_conversation(msg,
|
gajim.interface.windows[account]['chats'][jid].print_conversation(msg,
|
||||||
jid, typ, tim = tim, encrypted = encrypted, subject = subject)
|
jid, typ, tim = tim, encrypted = encrypted, subject = subject)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -1613,7 +1611,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
qs[jid].append((kind, (msg, subject, msg_type, tim, encrypted)))
|
qs[jid].append((kind, (msg, subject, msg_type, tim, encrypted)))
|
||||||
self.nb_unread += 1
|
self.nb_unread += 1
|
||||||
if popup:
|
if popup:
|
||||||
if not self.plugin.windows[account]['chats'].has_key(jid):
|
if not gajim.interface.windows[account]['chats'].has_key(jid):
|
||||||
c = gajim.get_contact_instance_with_highest_priority(account, jid)
|
c = gajim.get_contact_instance_with_highest_priority(account, jid)
|
||||||
self.new_chat(c, account)
|
self.new_chat(c, account)
|
||||||
if path:
|
if path:
|
||||||
|
@ -1624,8 +1622,8 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
else:
|
else:
|
||||||
if no_queue: # We didn't have a queue: we change icons
|
if no_queue: # We didn't have a queue: we change icons
|
||||||
self.draw_contact(jid, account)
|
self.draw_contact(jid, account)
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.add_jid(jid, account, kind)
|
gajim.interface.systray.add_jid(jid, account, kind)
|
||||||
self.show_title() # we show the * or [n]
|
self.show_title() # we show the * or [n]
|
||||||
if not path:
|
if not path:
|
||||||
self.add_contact_to_roster(jid, account)
|
self.add_contact_to_roster(jid, account)
|
||||||
|
@ -1637,13 +1635,13 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
self.tree.set_cursor(path)
|
self.tree.set_cursor(path)
|
||||||
|
|
||||||
def on_preferences_menuitem_activate(self, widget):
|
def on_preferences_menuitem_activate(self, widget):
|
||||||
if self.plugin.windows['preferences'].window.get_property('visible'):
|
if gajim.interface.windows['preferences'].window.get_property('visible'):
|
||||||
self.plugin.windows['preferences'].window.present()
|
gajim.interface.windows['preferences'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['preferences'].window.show_all()
|
gajim.interface.windows['preferences'].window.show_all()
|
||||||
|
|
||||||
def on_add_new_contact(self, widget, account):
|
def on_add_new_contact(self, widget, account):
|
||||||
dialogs.AddNewContactWindow(self.plugin, account)
|
dialogs.AddNewContactWindow(account)
|
||||||
|
|
||||||
def on_join_gc_activate(self, widget, account):
|
def on_join_gc_activate(self, widget, account):
|
||||||
invisible_show = gajim.SHOW_LIST.index('invisible')
|
invisible_show = gajim.SHOW_LIST.index('invisible')
|
||||||
|
@ -1651,17 +1649,18 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
dialogs.ErrorDialog(_('You cannot join a room while you are invisible')
|
dialogs.ErrorDialog(_('You cannot join a room while you are invisible')
|
||||||
).get_response()
|
).get_response()
|
||||||
return
|
return
|
||||||
if self.plugin.windows[account].has_key('join_gc'):
|
if gajim.interface.windows[account].has_key('join_gc'):
|
||||||
self.plugin.windows[account]['join_gc'].window.present()
|
gajim.interface.windows[account]['join_gc'].window.present()
|
||||||
else:
|
else:
|
||||||
# c http://nkour.blogspot.com/2005/05/pythons-init-return-none-doesnt-return.html
|
# c http://nkour.blogspot.com/2005/05/pythons-init-return-none-doesnt-return.html
|
||||||
try:
|
try:
|
||||||
self.plugin.windows[account]['join_gc'] = dialogs.JoinGroupchatWindow(self.plugin, account)
|
gajim.interface.windows[account]['join_gc'] = \
|
||||||
|
dialogs.JoinGroupchatWindow(account)
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def on_new_message_menuitem_activate(self, widget, account):
|
def on_new_message_menuitem_activate(self, widget, account):
|
||||||
dialogs.NewMessageDialog(self.plugin, account)
|
dialogs.NewMessageDialog(account)
|
||||||
|
|
||||||
def on_contents_menuitem_activate(self, widget):
|
def on_contents_menuitem_activate(self, widget):
|
||||||
helpers.launch_browser_mailer('url', 'http://trac.gajim.org/wiki')
|
helpers.launch_browser_mailer('url', 'http://trac.gajim.org/wiki')
|
||||||
|
@ -1673,19 +1672,19 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
dialogs.AboutDialog()
|
dialogs.AboutDialog()
|
||||||
|
|
||||||
def on_accounts_menuitem_activate(self, widget):
|
def on_accounts_menuitem_activate(self, widget):
|
||||||
if self.plugin.windows.has_key('accounts'):
|
if gajim.interface.windows.has_key('accounts'):
|
||||||
self.plugin.windows['accounts'].window.present()
|
gajim.interface.windows['accounts'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['accounts'] = config.AccountsWindow(self.plugin)
|
gajim.interface.windows['accounts'] = config.AccountsWindow()
|
||||||
|
|
||||||
def on_file_transfers_menuitem_activate(self, widget):
|
def on_file_transfers_menuitem_activate(self, widget):
|
||||||
if self.plugin.windows['file_transfers'].window.get_property('visible'):
|
if gajim.interface.windows['file_transfers'].window.get_property('visible'):
|
||||||
self.plugin.windows['file_transfers'].window.present()
|
gajim.interface.windows['file_transfers'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['file_transfers'].window.show_all()
|
gajim.interface.windows['file_transfers'].window.show_all()
|
||||||
|
|
||||||
def on_manage_bookmarks_menuitem_activate(self, widget):
|
def on_manage_bookmarks_menuitem_activate(self, widget):
|
||||||
config.ManageBookmarksWindow(self.plugin)
|
config.ManageBookmarksWindow()
|
||||||
|
|
||||||
def close_all(self, dic):
|
def close_all(self, dic):
|
||||||
'''close all the windows in the given dictionary'''
|
'''close all the windows in the given dictionary'''
|
||||||
|
@ -1697,7 +1696,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
|
|
||||||
def on_roster_window_delete_event(self, widget, event):
|
def on_roster_window_delete_event(self, widget, event):
|
||||||
'''When we want to close the window'''
|
'''When we want to close the window'''
|
||||||
if self.plugin.systray_enabled and not gajim.config.get('quit_on_roster_x_button'):
|
if gajim.interface.systray_enabled and not gajim.config.get('quit_on_roster_x_button'):
|
||||||
self.tooltip.hide_tooltip()
|
self.tooltip.hide_tooltip()
|
||||||
self.window.hide()
|
self.window.hide()
|
||||||
else:
|
else:
|
||||||
|
@ -1714,7 +1713,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
for acct in accounts:
|
for acct in accounts:
|
||||||
if gajim.connections[acct].connected:
|
if gajim.connections[acct].connected:
|
||||||
self.send_status(acct, 'offline', message, True)
|
self.send_status(acct, 'offline', message, True)
|
||||||
self.quit_gtkgui_plugin()
|
self.quit_gtkgui_interface()
|
||||||
return True # do NOT destory the window
|
return True # do NOT destory the window
|
||||||
|
|
||||||
def on_roster_window_focus_in_event(self, widget, event):
|
def on_roster_window_focus_in_event(self, widget, event):
|
||||||
|
@ -1729,12 +1728,12 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
if event.keyval == gtk.keysyms.Escape:
|
if event.keyval == gtk.keysyms.Escape:
|
||||||
treeselection = self.tree.get_selection()
|
treeselection = self.tree.get_selection()
|
||||||
model, iter = treeselection.get_selected()
|
model, iter = treeselection.get_selected()
|
||||||
if not iter and self.plugin.systray_enabled and not gajim.config.get('quit_on_roster_x_button'):
|
if not iter and gajim.interface.systray_enabled and not gajim.config.get('quit_on_roster_x_button'):
|
||||||
self.tooltip.hide_tooltip()
|
self.tooltip.hide_tooltip()
|
||||||
self.window.hide()
|
self.window.hide()
|
||||||
|
|
||||||
def quit_gtkgui_plugin(self):
|
def quit_gtkgui_interface(self):
|
||||||
'''When we quit the gtk plugin :
|
'''When we quit the gtk interface :
|
||||||
tell that to the core and exit gtk'''
|
tell that to the core and exit gtk'''
|
||||||
if gajim.config.get('saveposition'):
|
if gajim.config.get('saveposition'):
|
||||||
# in case show_roster_on_start is False and roster is never shown
|
# in case show_roster_on_start is False and roster is never shown
|
||||||
|
@ -1748,12 +1747,12 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
gajim.config.set('roster_height', height)
|
gajim.config.set('roster_height', height)
|
||||||
|
|
||||||
gajim.config.set('collapsed_rows', '\t'.join(self.collapsed_rows))
|
gajim.config.set('collapsed_rows', '\t'.join(self.collapsed_rows))
|
||||||
self.plugin.save_config()
|
gajim.interface.save_config()
|
||||||
for account in gajim.connections:
|
for account in gajim.connections:
|
||||||
gajim.connections[account].quit(True)
|
gajim.connections[account].quit(True)
|
||||||
self.close_all(self.plugin.windows)
|
self.close_all(gajim.interface.windows)
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.hide_systray()
|
gajim.interface.hide_systray()
|
||||||
gtk.main_quit()
|
gtk.main_quit()
|
||||||
|
|
||||||
def on_quit_menuitem_activate(self, widget):
|
def on_quit_menuitem_activate(self, widget):
|
||||||
|
@ -1773,10 +1772,10 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
if self.nb_unread > 0:
|
if self.nb_unread > 0:
|
||||||
unread = True
|
unread = True
|
||||||
for account in accounts:
|
for account in accounts:
|
||||||
if self.plugin.windows[account]['chats'].has_key('tabbed'):
|
if gajim.interface.windows[account]['chats'].has_key('tabbed'):
|
||||||
wins = [self.plugin.windows[account]['chats']['tabbed']]
|
wins = [gajim.interface.windows[account]['chats']['tabbed']]
|
||||||
else:
|
else:
|
||||||
wins = self.plugin.windows[account]['chats'].values()
|
wins = gajim.interface.windows[account]['chats'].values()
|
||||||
for win in wins:
|
for win in wins:
|
||||||
unrd = 0
|
unrd = 0
|
||||||
for jid in win.nb_unread:
|
for jid in win.nb_unread:
|
||||||
|
@ -1803,16 +1802,16 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
if gajim.connections[acct].connected:
|
if gajim.connections[acct].connected:
|
||||||
# send status asynchronously
|
# send status asynchronously
|
||||||
self.send_status(acct, 'offline', message, True)
|
self.send_status(acct, 'offline', message, True)
|
||||||
self.quit_gtkgui_plugin()
|
self.quit_gtkgui_interface()
|
||||||
|
|
||||||
def open_event(self, account, jid, event):
|
def open_event(self, account, jid, event):
|
||||||
'''If an event was handled, return True, else return False'''
|
'''If an event was handled, return True, else return False'''
|
||||||
typ = event[0]
|
typ = event[0]
|
||||||
data = event[1]
|
data = event[1]
|
||||||
ft = self.plugin.windows['file_transfers']
|
ft = gajim.interface.windows['file_transfers']
|
||||||
self.plugin.remove_first_event(account, jid, typ)
|
gajim.interface.remove_first_event(account, jid, typ)
|
||||||
if typ == 'normal':
|
if typ == 'normal':
|
||||||
dialogs.SingleMessageWindow(self.plugin, account, jid,
|
dialogs.SingleMessageWindow(account, jid,
|
||||||
action = 'receive', from_whom = jid, subject = data[1],
|
action = 'receive', from_whom = jid, subject = data[1],
|
||||||
message = data[0])
|
message = data[0])
|
||||||
return True
|
return True
|
||||||
|
@ -1849,13 +1848,13 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
if self.open_event(account, jid, first_ev):
|
if self.open_event(account, jid, first_ev):
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.plugin.windows[account]['chats'].has_key(jid):
|
if gajim.interface.windows[account]['chats'].has_key(jid):
|
||||||
self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
|
gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
|
||||||
elif gajim.contacts[account].has_key(jid):
|
elif gajim.contacts[account].has_key(jid):
|
||||||
c = gajim.get_contact_instance_with_highest_priority(account, jid)
|
c = gajim.get_contact_instance_with_highest_priority(account, jid)
|
||||||
self.new_chat(c, account)
|
self.new_chat(c, account)
|
||||||
self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
|
gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
|
||||||
self.plugin.windows[account]['chats'][jid].window.present()
|
gajim.interface.windows[account]['chats'][jid].window.present()
|
||||||
|
|
||||||
def on_roster_treeview_row_expanded(self, widget, iter, path):
|
def on_roster_treeview_row_expanded(self, widget, iter, path):
|
||||||
'''When a row is expanded change the icon of the arrow'''
|
'''When a row is expanded change the icon of the arrow'''
|
||||||
|
@ -1975,13 +1974,13 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
model.set_value(iter, 5, False)
|
model.set_value(iter, 5, False)
|
||||||
|
|
||||||
def on_service_disco_menuitem_activate(self, widget, account):
|
def on_service_disco_menuitem_activate(self, widget, account):
|
||||||
if self.plugin.windows[account].has_key('disco'):
|
if gajim.interface.windows[account].has_key('disco'):
|
||||||
self.plugin.windows[account]['disco'].window.present()
|
gajim.interface.windows[account]['disco'].window.present()
|
||||||
else:
|
else:
|
||||||
# c http://nkour.blogspot.com/2005/05/pythons-init-return-none-doesnt-return.html
|
# c http://nkour.blogspot.com/2005/05/pythons-init-return-none-doesnt-return.html
|
||||||
try:
|
try:
|
||||||
self.plugin.windows[account]['disco'] = \
|
gajim.interface.windows[account]['disco'] = \
|
||||||
config.ServiceDiscoveryWindow(self.plugin, account)
|
config.ServiceDiscoveryWindow(account)
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -2027,27 +2026,27 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
model[iter][1] = self.jabber_state_images[model[iter][2]]
|
model[iter][1] = self.jabber_state_images[model[iter][2]]
|
||||||
iter = model.iter_next(iter)
|
iter = model.iter_next(iter)
|
||||||
# Update the systray
|
# Update the systray
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.set_img()
|
gajim.interface.systray.set_img()
|
||||||
for account in gajim.connections:
|
for account in gajim.connections:
|
||||||
# Update opened chat windows
|
# Update opened chat windows
|
||||||
for jid in self.plugin.windows[account]['chats']:
|
for jid in gajim.interface.windows[account]['chats']:
|
||||||
if jid != 'tabbed':
|
if jid != 'tabbed':
|
||||||
self.plugin.windows[account]['chats'][jid].set_state_image(jid)
|
gajim.interface.windows[account]['chats'][jid].set_state_image(jid)
|
||||||
# Update opened groupchat windows
|
# Update opened groupchat windows
|
||||||
for jid in self.plugin.windows[account]['gc']:
|
for jid in gajim.interface.windows[account]['gc']:
|
||||||
if jid != 'tabbed':
|
if jid != 'tabbed':
|
||||||
self.plugin.windows[account]['gc'][jid].update_state_images()
|
gajim.interface.windows[account]['gc'][jid].update_state_images()
|
||||||
self.update_status_comboxbox()
|
self.update_status_comboxbox()
|
||||||
|
|
||||||
def repaint_themed_widgets(self):
|
def repaint_themed_widgets(self):
|
||||||
"""Notify windows that contain themed widgets to repaint them"""
|
"""Notify windows that contain themed widgets to repaint them"""
|
||||||
for account in gajim.connections:
|
for account in gajim.connections:
|
||||||
# Update opened chat windows/tabs
|
# Update opened chat windows/tabs
|
||||||
for jid in self.plugin.windows[account]['chats']:
|
for jid in gajim.interface.windows[account]['chats']:
|
||||||
self.plugin.windows[account]['chats'][jid].repaint_colored_widgets()
|
gajim.interface.windows[account]['chats'][jid].repaint_colored_widgets()
|
||||||
for jid in self.plugin.windows[account]['gc']:
|
for jid in gajim.interface.windows[account]['gc']:
|
||||||
self.plugin.windows[account]['gc'][jid].repaint_colored_widgets()
|
gajim.interface.windows[account]['gc'][jid].repaint_colored_widgets()
|
||||||
|
|
||||||
def on_show_offline_contacts_menuitem_activate(self, widget):
|
def on_show_offline_contacts_menuitem_activate(self, widget):
|
||||||
'''when show offline option is changed:
|
'''when show offline option is changed:
|
||||||
|
@ -2323,11 +2322,10 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'roster_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'roster_window', APP)
|
||||||
self.window = self.xml.get_widget('roster_window')
|
self.window = self.xml.get_widget('roster_window')
|
||||||
self.tree = self.xml.get_widget('roster_treeview')
|
self.tree = self.xml.get_widget('roster_treeview')
|
||||||
self.plugin = plugin
|
|
||||||
self.nb_unread = 0
|
self.nb_unread = 0
|
||||||
self.last_save_dir = None
|
self.last_save_dir = None
|
||||||
self.editing_path = None # path of row with cell in edit mode
|
self.editing_path = None # path of row with cell in edit mode
|
||||||
|
@ -2467,7 +2465,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
self.on_status_combobox_changed)
|
self.on_status_combobox_changed)
|
||||||
|
|
||||||
self.collapsed_rows = gajim.config.get('collapsed_rows').split('\t')
|
self.collapsed_rows = gajim.config.get('collapsed_rows').split('\t')
|
||||||
self.tooltip = tooltips.RosterTooltip(self.plugin)
|
self.tooltip = tooltips.RosterTooltip()
|
||||||
self.make_menu()
|
self.make_menu()
|
||||||
self.draw_roster()
|
self.draw_roster()
|
||||||
|
|
||||||
|
@ -2480,5 +2478,5 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
||||||
gajim.config.set('show_roster_on_startup', True)
|
gajim.config.set('show_roster_on_startup', True)
|
||||||
|
|
||||||
if len(gajim.connections) == 0: # if we have no account
|
if len(gajim.connections) == 0: # if we have no account
|
||||||
self.plugin.windows['wizard_window'] = \
|
gajim.interface.windows['wizard_window'] = \
|
||||||
config.FirstTimeWizardWindow(self.plugin)
|
config.FirstTimeWizardWindow()
|
||||||
|
|
|
@ -52,8 +52,7 @@ class Systray:
|
||||||
This class is both base class (for systraywin32.py) and normal class
|
This class is both base class (for systraywin32.py) and normal class
|
||||||
for trayicon in GNU/Linux'''
|
for trayicon in GNU/Linux'''
|
||||||
|
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.plugin = plugin
|
|
||||||
self.jids = [] # Contain things like [account, jid, type_of_msg]
|
self.jids = [] # Contain things like [account, jid, type_of_msg]
|
||||||
self.new_message_handler_id = None
|
self.new_message_handler_id = None
|
||||||
self.t = None
|
self.t = None
|
||||||
|
@ -68,7 +67,7 @@ class Systray:
|
||||||
state = 'message'
|
state = 'message'
|
||||||
else:
|
else:
|
||||||
state = self.status
|
state = self.status
|
||||||
image = self.plugin.roster.jabber_state_images[state]
|
image = gajim.interface.roster.jabber_state_images[state]
|
||||||
if image.get_storage_type() == gtk.IMAGE_ANIMATION:
|
if image.get_storage_type() == gtk.IMAGE_ANIMATION:
|
||||||
self.img_tray.set_from_animation(image.get_animation())
|
self.img_tray.set_from_animation(image.get_animation())
|
||||||
elif image.get_storage_type() == gtk.IMAGE_PIXBUF:
|
elif image.get_storage_type() == gtk.IMAGE_PIXBUF:
|
||||||
|
@ -95,18 +94,18 @@ class Systray:
|
||||||
self.set_img()
|
self.set_img()
|
||||||
|
|
||||||
def start_chat(self, widget, account, jid):
|
def start_chat(self, widget, account, jid):
|
||||||
if self.plugin.windows[account]['chats'].has_key(jid):
|
if gajim.interface.windows[account]['chats'].has_key(jid):
|
||||||
self.plugin.windows[account]['chats'][jid].window.present()
|
gajim.interface.windows[account]['chats'][jid].window.present()
|
||||||
self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
|
gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
|
||||||
elif gajim.contacts[account].has_key(jid):
|
elif gajim.contacts[account].has_key(jid):
|
||||||
self.plugin.roster.new_chat(
|
gajim.interface.roster.new_chat(
|
||||||
gajim.contacts[account][jid][0], account)
|
gajim.contacts[account][jid][0], account)
|
||||||
self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
|
gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
|
||||||
|
|
||||||
def on_new_message_menuitem_activate(self, widget, account):
|
def on_new_message_menuitem_activate(self, widget, account):
|
||||||
"""When new message menuitem is activated:
|
"""When new message menuitem is activated:
|
||||||
call the NewMessageDialog class"""
|
call the NewMessageDialog class"""
|
||||||
dialogs.NewMessageDialog(self.plugin, account)
|
dialogs.NewMessageDialog(account)
|
||||||
|
|
||||||
def make_menu(self, event = None):
|
def make_menu(self, event = None):
|
||||||
'''create chat with and new message (sub) menus/menuitems
|
'''create chat with and new message (sub) menus/menuitems
|
||||||
|
@ -130,7 +129,7 @@ class Systray:
|
||||||
if not iconset:
|
if not iconset:
|
||||||
iconset = 'sun'
|
iconset = 'sun'
|
||||||
path = os.path.join(gajim.DATA_DIR, 'iconsets/' + iconset + '/16x16/')
|
path = os.path.join(gajim.DATA_DIR, 'iconsets/' + iconset + '/16x16/')
|
||||||
state_images = self.plugin.roster.load_iconset(path)
|
state_images = gajim.interface.roster.load_iconset(path)
|
||||||
|
|
||||||
for show in ['online', 'chat', 'away', 'xa', 'dnd', 'invisible']:
|
for show in ['online', 'chat', 'away', 'xa', 'dnd', 'invisible']:
|
||||||
uf_show = helpers.get_uf_show(show, use_mnemonic = True)
|
uf_show = helpers.get_uf_show(show, use_mnemonic = True)
|
||||||
|
@ -211,13 +210,13 @@ class Systray:
|
||||||
self.systray_context_menu.show_all()
|
self.systray_context_menu.show_all()
|
||||||
|
|
||||||
def on_preferences_menuitem_activate(self, widget):
|
def on_preferences_menuitem_activate(self, widget):
|
||||||
if self.plugin.windows['preferences'].window.get_property('visible'):
|
if gajim.interface.windows['preferences'].window.get_property('visible'):
|
||||||
self.plugin.windows['preferences'].window.present()
|
gajim.interface.windows['preferences'].window.present()
|
||||||
else:
|
else:
|
||||||
self.plugin.windows['preferences'].window.show_all()
|
gajim.interface.windows['preferences'].window.show_all()
|
||||||
|
|
||||||
def on_quit_menuitem_activate(self, widget):
|
def on_quit_menuitem_activate(self, widget):
|
||||||
self.plugin.roster.on_quit_menuitem_activate(widget)
|
gajim.interface.roster.on_quit_menuitem_activate(widget)
|
||||||
|
|
||||||
def make_groups_submenus_for_chat_with(self, account):
|
def make_groups_submenus_for_chat_with(self, account):
|
||||||
groups_menu = gtk.Menu()
|
groups_menu = gtk.Menu()
|
||||||
|
@ -252,7 +251,7 @@ class Systray:
|
||||||
return groups_menu
|
return groups_menu
|
||||||
|
|
||||||
def on_left_click(self):
|
def on_left_click(self):
|
||||||
win = self.plugin.roster.window
|
win = gajim.interface.roster.window
|
||||||
if len(self.jids) == 0:
|
if len(self.jids) == 0:
|
||||||
if win.get_property('visible'):
|
if win.get_property('visible'):
|
||||||
win.hide()
|
win.hide()
|
||||||
|
@ -262,7 +261,7 @@ class Systray:
|
||||||
account = self.jids[0][0]
|
account = self.jids[0][0]
|
||||||
jid = self.jids[0][1]
|
jid = self.jids[0][1]
|
||||||
typ = self.jids[0][2]
|
typ = self.jids[0][2]
|
||||||
wins = self.plugin.windows[account]
|
wins = gajim.interface.windows[account]
|
||||||
w = None
|
w = None
|
||||||
if typ == 'gc':
|
if typ == 'gc':
|
||||||
if wins['gc'].has_key(jid):
|
if wins['gc'].has_key(jid):
|
||||||
|
@ -271,7 +270,7 @@ class Systray:
|
||||||
if wins['chats'].has_key(jid):
|
if wins['chats'].has_key(jid):
|
||||||
w = wins['chats'][jid]
|
w = wins['chats'][jid]
|
||||||
else:
|
else:
|
||||||
self.plugin.roster.new_chat(
|
gajim.interface.roster.new_chat(
|
||||||
gajim.contacts[account][jid][0], account)
|
gajim.contacts[account][jid][0], account)
|
||||||
w = wins['chats'][jid]
|
w = wins['chats'][jid]
|
||||||
elif typ == 'pm':
|
elif typ == 'pm':
|
||||||
|
@ -282,14 +281,14 @@ class Systray:
|
||||||
show = gajim.gc_contacts[account][room_jid][nick].show
|
show = gajim.gc_contacts[account][room_jid][nick].show
|
||||||
c = Contact(jid = jid, name = nick, groups = ['none'],
|
c = Contact(jid = jid, name = nick, groups = ['none'],
|
||||||
show = show, ask = 'none')
|
show = show, ask = 'none')
|
||||||
self.plugin.roster.new_chat(c, account)
|
gajim.interface.roster.new_chat(c, account)
|
||||||
w = wins['chats'][jid]
|
w = wins['chats'][jid]
|
||||||
elif typ in ('normal', 'file-request', 'file-request-error',
|
elif typ in ('normal', 'file-request', 'file-request-error',
|
||||||
'file-send-error', 'file-error', 'file-stopped', 'file-completed'):
|
'file-send-error', 'file-error', 'file-stopped', 'file-completed'):
|
||||||
# Get the first single message event
|
# Get the first single message event
|
||||||
ev = gajim.get_first_event(account, jid, typ)
|
ev = gajim.get_first_event(account, jid, typ)
|
||||||
# Open the window
|
# Open the window
|
||||||
self.plugin.roster.open_event(account, jid, ev)
|
gajim.interface.roster.open_event(account, jid, ev)
|
||||||
if w:
|
if w:
|
||||||
w.set_active_tab(jid)
|
w.set_active_tab(jid)
|
||||||
w.window.present()
|
w.window.present()
|
||||||
|
@ -297,7 +296,7 @@ class Systray:
|
||||||
w.scroll_to_end(tv)
|
w.scroll_to_end(tv)
|
||||||
|
|
||||||
def on_middle_click(self):
|
def on_middle_click(self):
|
||||||
win = self.plugin.roster.window
|
win = gajim.interface.roster.window
|
||||||
if win.is_active():
|
if win.is_active():
|
||||||
win.hide()
|
win.hide()
|
||||||
else:
|
else:
|
||||||
|
@ -315,10 +314,10 @@ class Systray:
|
||||||
def on_show_menuitem_activate(self, widget, show):
|
def on_show_menuitem_activate(self, widget, show):
|
||||||
l = ['online', 'chat', 'away', 'xa', 'dnd', 'invisible', 'offline']
|
l = ['online', 'chat', 'away', 'xa', 'dnd', 'invisible', 'offline']
|
||||||
index = l.index(show)
|
index = l.index(show)
|
||||||
self.plugin.roster.status_combobox.set_active(index)
|
gajim.interface.roster.status_combobox.set_active(index)
|
||||||
|
|
||||||
def on_change_status_message_activate(self, widget):
|
def on_change_status_message_activate(self, widget):
|
||||||
dlg = dialogs.ChangeStatusMessageDialog(self.plugin)
|
dlg = dialogs.ChangeStatusMessageDialog()
|
||||||
message = dlg.run()
|
message = dlg.run()
|
||||||
if message is not None: # None if user press Cancel
|
if message is not None: # None if user press Cancel
|
||||||
accounts = gajim.connections.keys()
|
accounts = gajim.connections.keys()
|
||||||
|
@ -327,7 +326,7 @@ class Systray:
|
||||||
'sync_with_global_status'):
|
'sync_with_global_status'):
|
||||||
continue
|
continue
|
||||||
show = gajim.SHOW_LIST[gajim.connections[acct].connected]
|
show = gajim.SHOW_LIST[gajim.connections[acct].connected]
|
||||||
self.plugin.roster.send_status(acct, show, message)
|
gajim.interface.roster.send_status(acct, show, message)
|
||||||
|
|
||||||
def show_tooltip(self, widget):
|
def show_tooltip(self, widget):
|
||||||
position = widget.window.get_origin()
|
position = widget.window.get_origin()
|
||||||
|
@ -364,7 +363,7 @@ class Systray:
|
||||||
eb.connect('button-press-event', self.on_clicked)
|
eb.connect('button-press-event', self.on_clicked)
|
||||||
eb.connect('motion-notify-event', self.on_tray_motion_notify_event)
|
eb.connect('motion-notify-event', self.on_tray_motion_notify_event)
|
||||||
eb.connect('leave-notify-event', self.on_tray_leave_notify_event)
|
eb.connect('leave-notify-event', self.on_tray_leave_notify_event)
|
||||||
self.tooltip = tooltips.NotificationAreaTooltip(self.plugin)
|
self.tooltip = tooltips.NotificationAreaTooltip()
|
||||||
|
|
||||||
self.img_tray = gtk.Image()
|
self.img_tray = gtk.Image()
|
||||||
eb.add(self.img_tray)
|
eb.add(self.img_tray)
|
||||||
|
|
|
@ -214,10 +214,9 @@ class NotifyIcon:
|
||||||
|
|
||||||
|
|
||||||
class SystrayWin32(systray.Systray):
|
class SystrayWin32(systray.Systray):
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
# Note: gtk window must be realized before installing extensions.
|
# Note: gtk window must be realized before installing extensions.
|
||||||
systray.Systray.__init__(self, plugin)
|
systray.Systray.__init__(self)
|
||||||
self.plugin = plugin
|
|
||||||
self.jids = []
|
self.jids = []
|
||||||
self.status = 'offline'
|
self.status = 'offline'
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'systray_context_menu', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'systray_context_menu', APP)
|
||||||
|
@ -226,14 +225,14 @@ class SystrayWin32(systray.Systray):
|
||||||
|
|
||||||
self.tray_ico_imgs = self.load_icos()
|
self.tray_ico_imgs = self.load_icos()
|
||||||
|
|
||||||
#self.plugin.roster.window.realize()
|
#gajim.interface.roster.window.realize()
|
||||||
#self.plugin.roster.window.show_all()
|
#gajim.interface.roster.window.show_all()
|
||||||
w = gtk.Window() # just a window to pass
|
w = gtk.Window() # just a window to pass
|
||||||
w.realize() # realize it so gtk window exists
|
w.realize() # realize it so gtk window exists
|
||||||
self.systray_winapi = SystrayWINAPI(w)
|
self.systray_winapi = SystrayWINAPI(w)
|
||||||
|
|
||||||
# this fails if you move the window
|
# this fails if you move the window
|
||||||
#self.systray_winapi = SystrayWINAPI(self.plugin.roster.window)
|
#self.systray_winapi = SystrayWINAPI(gajim.interface.roster.window)
|
||||||
|
|
||||||
|
|
||||||
self.xml.signal_autoconnect(self)
|
self.xml.signal_autoconnect(self)
|
||||||
|
@ -266,11 +265,11 @@ class SystrayWin32(systray.Systray):
|
||||||
def add_jid(self, jid, account, typ):
|
def add_jid(self, jid, account, typ):
|
||||||
systray.Systray.add_jid(self, jid, account, typ)
|
systray.Systray.add_jid(self, jid, account, typ)
|
||||||
|
|
||||||
nb = self.plugin.roster.nb_unread
|
nb = gajim.interface.roster.nb_unread
|
||||||
for acct in gajim.connections:
|
for acct in gajim.connections:
|
||||||
# in chat / groupchat windows
|
# in chat / groupchat windows
|
||||||
for kind in ['chats', 'gc']:
|
for kind in ['chats', 'gc']:
|
||||||
jids = self.plugin.windows[acct][kind]
|
jids = gajim.interface.windows[acct][kind]
|
||||||
for jid in jids:
|
for jid in jids:
|
||||||
if jid != 'tabbed':
|
if jid != 'tabbed':
|
||||||
nb += jids[jid].nb_unread[jid]
|
nb += jids[jid].nb_unread[jid]
|
||||||
|
@ -285,13 +284,13 @@ class SystrayWin32(systray.Systray):
|
||||||
def remove_jid(self, jid, account, typ):
|
def remove_jid(self, jid, account, typ):
|
||||||
systray.Systray.remove_jid(self, jid, account, typ)
|
systray.Systray.remove_jid(self, jid, account, typ)
|
||||||
|
|
||||||
nb = self.plugin.roster.nb_unread
|
nb = gajim.interface.roster.nb_unread
|
||||||
for acct in gajim.connections:
|
for acct in gajim.connections:
|
||||||
# in chat / groupchat windows
|
# in chat / groupchat windows
|
||||||
for kind in ['chats', 'gc']:
|
for kind in ['chats', 'gc']:
|
||||||
for jid in self.plugin.windows[acct][kind]:
|
for jid in gajim.interface.windows[acct][kind]:
|
||||||
if jid != 'tabbed':
|
if jid != 'tabbed':
|
||||||
nb += self.plugin.windows[acct][kind][jid].nb_unread[jid]
|
nb += gajim.interface.windows[acct][kind][jid].nb_unread[jid]
|
||||||
|
|
||||||
if nb > 0:
|
if nb > 0:
|
||||||
text = i18n.ngettext(
|
text = i18n.ngettext(
|
||||||
|
|
|
@ -43,10 +43,10 @@ GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
|
|
||||||
class TabbedChatWindow(chat.Chat):
|
class TabbedChatWindow(chat.Chat):
|
||||||
'''Class for tabbed chat window'''
|
'''Class for tabbed chat window'''
|
||||||
def __init__(self, contact, plugin, account):
|
def __init__(self, contact, account):
|
||||||
# we check that on opening new windows
|
# we check that on opening new windows
|
||||||
self.always_compact_view = gajim.config.get('always_compact_view_chat')
|
self.always_compact_view = gajim.config.get('always_compact_view_chat')
|
||||||
chat.Chat.__init__(self, plugin, account, 'tabbed_chat_window')
|
chat.Chat.__init__(self, account, 'tabbed_chat_window')
|
||||||
self.contacts = {}
|
self.contacts = {}
|
||||||
# keep check for possible paused timeouts per jid
|
# keep check for possible paused timeouts per jid
|
||||||
self.possible_paused_timeout_id = {}
|
self.possible_paused_timeout_id = {}
|
||||||
|
@ -123,14 +123,14 @@ class TabbedChatWindow(chat.Chat):
|
||||||
for uri in uri_splitted:
|
for uri in uri_splitted:
|
||||||
path = helpers.get_file_path_from_dnd_dropped_uri(uri)
|
path = helpers.get_file_path_from_dnd_dropped_uri(uri)
|
||||||
if os.path.isfile(path): # is it file?
|
if os.path.isfile(path): # is it file?
|
||||||
self.plugin.windows['file_transfers'].send_file(self.account,
|
gajim.interface.windows['file_transfers'].send_file(self.account,
|
||||||
contact, path)
|
contact, path)
|
||||||
|
|
||||||
def on_avatar_eventbox_enter_notify_event(self, widget, event):
|
def on_avatar_eventbox_enter_notify_event(self, widget, event):
|
||||||
'''we enter the eventbox area so we under conditions add a timeout
|
'''we enter the eventbox area so we under conditions add a timeout
|
||||||
to show a bigger avatar after 0.5 sec'''
|
to show a bigger avatar after 0.5 sec'''
|
||||||
jid = self.get_active_jid()
|
jid = self.get_active_jid()
|
||||||
avatar_pixbuf = self.plugin.avatar_pixbufs[jid]
|
avatar_pixbuf = gajim.interface.avatar_pixbufs[jid]
|
||||||
avatar_w = avatar_pixbuf.get_width()
|
avatar_w = avatar_pixbuf.get_width()
|
||||||
avatar_h = avatar_pixbuf.get_height()
|
avatar_h = avatar_pixbuf.get_height()
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ class TabbedChatWindow(chat.Chat):
|
||||||
'''resizes the avatar, if needed, so it has at max half the screen size
|
'''resizes the avatar, if needed, so it has at max half the screen size
|
||||||
and shows it'''
|
and shows it'''
|
||||||
jid = self.get_active_jid()
|
jid = self.get_active_jid()
|
||||||
avatar_pixbuf = self.plugin.avatar_pixbufs[jid]
|
avatar_pixbuf = gajim.interface.avatar_pixbufs[jid]
|
||||||
screen_w = gtk.gdk.screen_width()
|
screen_w = gtk.gdk.screen_width()
|
||||||
screen_h = gtk.gdk.screen_height()
|
screen_h = gtk.gdk.screen_height()
|
||||||
avatar_w = avatar_pixbuf.get_width()
|
avatar_w = avatar_pixbuf.get_width()
|
||||||
|
@ -289,11 +289,11 @@ class TabbedChatWindow(chat.Chat):
|
||||||
if not xml:
|
if not xml:
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.plugin.avatar_pixbufs[jid] is None:
|
if gajim.interface.avatar_pixbufs[jid] is None:
|
||||||
# contact has no avatar
|
# contact has no avatar
|
||||||
scaled_buf = None
|
scaled_buf = None
|
||||||
else:
|
else:
|
||||||
pixbuf = self.plugin.avatar_pixbufs[jid]
|
pixbuf = gajim.interface.avatar_pixbufs[jid]
|
||||||
|
|
||||||
# resize to a width / height for the avatar not to have distortion
|
# resize to a width / height for the avatar not to have distortion
|
||||||
# (keep aspect ratio)
|
# (keep aspect ratio)
|
||||||
|
@ -330,7 +330,7 @@ class TabbedChatWindow(chat.Chat):
|
||||||
child = self.childs[jid]
|
child = self.childs[jid]
|
||||||
hb = self.notebook.get_tab_label(child).get_children()[0]
|
hb = self.notebook.get_tab_label(child).get_children()[0]
|
||||||
status_image = hb.get_children()[0]
|
status_image = hb.get_children()[0]
|
||||||
state_images = self.plugin.roster.get_appropriate_state_images(jid)
|
state_images = gajim.interface.roster.get_appropriate_state_images(jid)
|
||||||
|
|
||||||
# Set banner image
|
# Set banner image
|
||||||
banner_image = state_images[show]
|
banner_image = state_images[show]
|
||||||
|
@ -379,7 +379,7 @@ class TabbedChatWindow(chat.Chat):
|
||||||
gajim.config.set('chat-height', height)
|
gajim.config.set('chat-height', height)
|
||||||
|
|
||||||
def on_tabbed_chat_window_destroy(self, widget):
|
def on_tabbed_chat_window_destroy(self, widget):
|
||||||
#clean self.plugin.windows[self.account]['chats']
|
#clean gajim.interface.windows[self.account]['chats']
|
||||||
chat.Chat.on_window_destroy(self, widget, 'chats')
|
chat.Chat.on_window_destroy(self, widget, 'chats')
|
||||||
|
|
||||||
def on_tabbed_chat_window_focus_in_event(self, widget, event):
|
def on_tabbed_chat_window_focus_in_event(self, widget, event):
|
||||||
|
@ -393,12 +393,12 @@ class TabbedChatWindow(chat.Chat):
|
||||||
def on_send_file_menuitem_activate(self, widget):
|
def on_send_file_menuitem_activate(self, widget):
|
||||||
jid = self.get_active_jid()
|
jid = self.get_active_jid()
|
||||||
contact = gajim.get_first_contact_instance_from_jid(self.account, jid)
|
contact = gajim.get_first_contact_instance_from_jid(self.account, jid)
|
||||||
self.plugin.windows['file_transfers'].show_file_send_request(
|
gajim.interface.windows['file_transfers'].show_file_send_request(
|
||||||
self.account, contact)
|
self.account, contact)
|
||||||
|
|
||||||
def on_add_to_roster_menuitem_activate(self, widget):
|
def on_add_to_roster_menuitem_activate(self, widget):
|
||||||
jid = self.get_active_jid()
|
jid = self.get_active_jid()
|
||||||
dialogs.AddNewContactWindow(self.plugin, self.account, jid)
|
dialogs.AddNewContactWindow(self.account, jid)
|
||||||
|
|
||||||
def on_send_button_clicked(self, widget):
|
def on_send_button_clicked(self, widget):
|
||||||
'''When send button is pressed: send the current message'''
|
'''When send button is pressed: send the current message'''
|
||||||
|
@ -439,7 +439,7 @@ class TabbedChatWindow(chat.Chat):
|
||||||
|
|
||||||
# this is to prove cache code works:
|
# this is to prove cache code works:
|
||||||
# should we ask vcard? (only the first time we should ask)
|
# should we ask vcard? (only the first time we should ask)
|
||||||
if not self.plugin.avatar_pixbufs.has_key(contact.jid):
|
if not gajim.interface.avatar_pixbufs.has_key(contact.jid):
|
||||||
# it's the first time, so we should ask vcard
|
# it's the first time, so we should ask vcard
|
||||||
gajim.connections[self.account].request_vcard(contact.jid)
|
gajim.connections[self.account].request_vcard(contact.jid)
|
||||||
#please do not remove this commented print until I'm done with showing
|
#please do not remove this commented print until I'm done with showing
|
||||||
|
@ -780,7 +780,7 @@ class TabbedChatWindow(chat.Chat):
|
||||||
def on_contact_information_menuitem_clicked(self, widget):
|
def on_contact_information_menuitem_clicked(self, widget):
|
||||||
jid = self.get_active_jid()
|
jid = self.get_active_jid()
|
||||||
contact = self.contacts[jid]
|
contact = self.contacts[jid]
|
||||||
self.plugin.roster.on_info(widget, contact, self.account)
|
gajim.interface.roster.on_info(widget, contact, self.account)
|
||||||
|
|
||||||
def read_queue(self, jid):
|
def read_queue(self, jid):
|
||||||
'''read queue and print messages containted in it'''
|
'''read queue and print messages containted in it'''
|
||||||
|
@ -789,7 +789,7 @@ class TabbedChatWindow(chat.Chat):
|
||||||
# Is it a pm ?
|
# Is it a pm ?
|
||||||
is_pm = False
|
is_pm = False
|
||||||
room_jid = jid.split('/', 1)[0]
|
room_jid = jid.split('/', 1)[0]
|
||||||
gcs = self.plugin.windows[self.account]['gc']
|
gcs = gajim.interface.windows[self.account]['gc']
|
||||||
if gcs.has_key(room_jid):
|
if gcs.has_key(room_jid):
|
||||||
is_pm = True
|
is_pm = True
|
||||||
events_to_keep = []
|
events_to_keep = []
|
||||||
|
@ -811,12 +811,12 @@ class TabbedChatWindow(chat.Chat):
|
||||||
if is_pm:
|
if is_pm:
|
||||||
gcs[room_jid].nb_unread[room_jid] -= 1
|
gcs[room_jid].nb_unread[room_jid] -= 1
|
||||||
else:
|
else:
|
||||||
self.plugin.roster.nb_unread -= 1
|
gajim.interface.roster.nb_unread -= 1
|
||||||
|
|
||||||
if is_pm:
|
if is_pm:
|
||||||
gcs[room_jid].show_title()
|
gcs[room_jid].show_title()
|
||||||
else:
|
else:
|
||||||
self.plugin.roster.show_title()
|
gajim.interface.roster.show_title()
|
||||||
# Keep only non-messages events
|
# Keep only non-messages events
|
||||||
if len(events_to_keep):
|
if len(events_to_keep):
|
||||||
gajim.awaiting_events[self.account][jid] = events_to_keep
|
gajim.awaiting_events[self.account][jid] = events_to_keep
|
||||||
|
@ -825,19 +825,19 @@ class TabbedChatWindow(chat.Chat):
|
||||||
typ = 'chat' # Is it a normal chat or a pm ?
|
typ = 'chat' # Is it a normal chat or a pm ?
|
||||||
# reset to status image in gc if it is a pm
|
# reset to status image in gc if it is a pm
|
||||||
room_jid = jid.split('/', 1)[0]
|
room_jid = jid.split('/', 1)[0]
|
||||||
gcs = self.plugin.windows[self.account]['gc']
|
gcs = gajim.interface.windows[self.account]['gc']
|
||||||
if gcs.has_key(room_jid):
|
if gcs.has_key(room_jid):
|
||||||
gcs[room_jid].update_state_images()
|
gcs[room_jid].update_state_images()
|
||||||
typ = 'pm'
|
typ = 'pm'
|
||||||
|
|
||||||
self.plugin.roster.draw_contact(jid, self.account)
|
gajim.interface.roster.draw_contact(jid, self.account)
|
||||||
if self.plugin.systray_enabled:
|
if gajim.interface.systray_enabled:
|
||||||
self.plugin.systray.remove_jid(jid, self.account, typ)
|
gajim.interface.systray.remove_jid(jid, self.account, typ)
|
||||||
showOffline = gajim.config.get('showoffline')
|
showOffline = gajim.config.get('showoffline')
|
||||||
if (contact.show == 'offline' or contact.show == 'error') and \
|
if (contact.show == 'offline' or contact.show == 'error') and \
|
||||||
not showOffline:
|
not showOffline:
|
||||||
if len(gajim.contacts[self.account][jid]) == 1:
|
if len(gajim.contacts[self.account][jid]) == 1:
|
||||||
self.plugin.roster.really_remove_contact(contact, self.account)
|
gajim.interface.roster.really_remove_contact(contact, self.account)
|
||||||
|
|
||||||
def print_conversation(self, text, jid, frm = '', tim = None,
|
def print_conversation(self, text, jid, frm = '', tim = None,
|
||||||
encrypted = False, subject = None):
|
encrypted = False, subject = None):
|
||||||
|
|
|
@ -173,8 +173,7 @@ class StatusTable:
|
||||||
|
|
||||||
class NotificationAreaTooltip(BaseTooltip, StatusTable):
|
class NotificationAreaTooltip(BaseTooltip, StatusTable):
|
||||||
''' Tooltip that is shown in the notification area '''
|
''' Tooltip that is shown in the notification area '''
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.plugin = plugin
|
|
||||||
BaseTooltip.__init__(self)
|
BaseTooltip.__init__(self)
|
||||||
StatusTable.__init__(self)
|
StatusTable.__init__(self)
|
||||||
|
|
||||||
|
@ -204,14 +203,14 @@ class NotificationAreaTooltip(BaseTooltip, StatusTable):
|
||||||
accounts.append({'name': account, 'status_line': single_line,
|
accounts.append({'name': account, 'status_line': single_line,
|
||||||
'show': status, 'message': message})
|
'show': status, 'message': message})
|
||||||
|
|
||||||
unread_chat = self.plugin.roster.nb_unread
|
unread_chat = gajim.interface.roster.nb_unread
|
||||||
unread_single_chat = 0
|
unread_single_chat = 0
|
||||||
unread_gc = 0
|
unread_gc = 0
|
||||||
unread_pm = 0
|
unread_pm = 0
|
||||||
|
|
||||||
for acct in gajim.connections:
|
for acct in gajim.connections:
|
||||||
# we count unread chat/pm messages
|
# we count unread chat/pm messages
|
||||||
chat_wins = self.plugin.windows[acct]['chats']
|
chat_wins = gajim.interface.windows[acct]['chats']
|
||||||
for jid in chat_wins:
|
for jid in chat_wins:
|
||||||
if jid != 'tabbed':
|
if jid != 'tabbed':
|
||||||
if gajim.contacts[acct].has_key(jid):
|
if gajim.contacts[acct].has_key(jid):
|
||||||
|
@ -219,7 +218,7 @@ class NotificationAreaTooltip(BaseTooltip, StatusTable):
|
||||||
else:
|
else:
|
||||||
unread_pm += chat_wins[jid].nb_unread[jid]
|
unread_pm += chat_wins[jid].nb_unread[jid]
|
||||||
# we count unread gc/pm messages
|
# we count unread gc/pm messages
|
||||||
gc_wins = self.plugin.windows[acct]['gc']
|
gc_wins = gajim.interface.windows[acct]['gc']
|
||||||
for jid in gc_wins:
|
for jid in gc_wins:
|
||||||
if jid != 'tabbed':
|
if jid != 'tabbed':
|
||||||
pm_msgs = gc_wins[jid].get_specific_unread(jid)
|
pm_msgs = gc_wins[jid].get_specific_unread(jid)
|
||||||
|
@ -291,9 +290,8 @@ class NotificationAreaTooltip(BaseTooltip, StatusTable):
|
||||||
|
|
||||||
class GCTooltip(BaseTooltip, StatusTable):
|
class GCTooltip(BaseTooltip, StatusTable):
|
||||||
''' Tooltip that is shown in the GC treeview '''
|
''' Tooltip that is shown in the GC treeview '''
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.account = None
|
self.account = None
|
||||||
self.plugin = plugin
|
|
||||||
|
|
||||||
self.text_lable = gtk.Label()
|
self.text_lable = gtk.Label()
|
||||||
self.text_lable.set_line_wrap(True)
|
self.text_lable.set_line_wrap(True)
|
||||||
|
@ -339,9 +337,8 @@ class GCTooltip(BaseTooltip, StatusTable):
|
||||||
|
|
||||||
class RosterTooltip(BaseTooltip, StatusTable):
|
class RosterTooltip(BaseTooltip, StatusTable):
|
||||||
''' Tooltip that is shown in the roster treeview '''
|
''' Tooltip that is shown in the roster treeview '''
|
||||||
def __init__(self, plugin):
|
def __init__(self):
|
||||||
self.account = None
|
self.account = None
|
||||||
self.plugin = plugin
|
|
||||||
|
|
||||||
self.image = gtk.Image()
|
self.image = gtk.Image()
|
||||||
self.image.set_alignment(0., 0.)
|
self.image.set_alignment(0., 0.)
|
||||||
|
|
10
src/vcard.py
10
src/vcard.py
|
@ -42,7 +42,7 @@ GTKGUI_GLADE = 'gtkgui.glade'
|
||||||
class VcardWindow:
|
class VcardWindow:
|
||||||
'''Class for contact's information window'''
|
'''Class for contact's information window'''
|
||||||
|
|
||||||
def __init__(self, contact, plugin, account, vcard = False):
|
def __init__(self, contact, account, vcard = False):
|
||||||
#the contact variable is the jid if vcard is true
|
#the contact variable is the jid if vcard is true
|
||||||
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'vcard_information_window', APP)
|
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'vcard_information_window', APP)
|
||||||
self.window = self.xml.get_widget('vcard_information_window')
|
self.window = self.xml.get_widget('vcard_information_window')
|
||||||
|
@ -53,7 +53,6 @@ class VcardWindow:
|
||||||
self.publish_button.set_no_show_all(True)
|
self.publish_button.set_no_show_all(True)
|
||||||
self.retrieve_button.set_no_show_all(True)
|
self.retrieve_button.set_no_show_all(True)
|
||||||
|
|
||||||
self.plugin = plugin
|
|
||||||
self.contact = contact #don't use it if vcard is true
|
self.contact = contact #don't use it if vcard is true
|
||||||
self.account = account
|
self.account = account
|
||||||
self.vcard = vcard
|
self.vcard = vcard
|
||||||
|
@ -74,7 +73,7 @@ class VcardWindow:
|
||||||
self.window.show_all()
|
self.window.show_all()
|
||||||
|
|
||||||
def on_vcard_information_window_destroy(self, widget = None):
|
def on_vcard_information_window_destroy(self, widget = None):
|
||||||
del self.plugin.windows[self.account]['infos'][self.jid]
|
del gajim.interface.windows[self.account]['infos'][self.jid]
|
||||||
|
|
||||||
def on_vcard_information_window_key_press_event(self, widget, event):
|
def on_vcard_information_window_key_press_event(self, widget, event):
|
||||||
if event.keyval == gtk.keysyms.Escape:
|
if event.keyval == gtk.keysyms.Escape:
|
||||||
|
@ -90,8 +89,9 @@ class VcardWindow:
|
||||||
new_name = name_entry.get_text().decode('utf-8')
|
new_name = name_entry.get_text().decode('utf-8')
|
||||||
if new_name != self.contact.name and new_name != '':
|
if new_name != self.contact.name and new_name != '':
|
||||||
self.contact.name = new_name
|
self.contact.name = new_name
|
||||||
for i in self.plugin.roster.get_contact_iter(self.contact.jid, self.account):
|
for i in gajim.interface.roster.get_contact_iter(self.contact.jid,
|
||||||
self.plugin.roster.tree.get_model().set_value(i, 1, new_name)
|
self.account):
|
||||||
|
gajim.interface.roster.tree.get_model().set_value(i, 1, new_name)
|
||||||
gajim.connections[self.account].update_contact(self.contact.jid,
|
gajim.connections[self.account].update_contact(self.contact.jid,
|
||||||
self.contact.name, self.contact.groups)
|
self.contact.name, self.contact.groups)
|
||||||
#log history ?
|
#log history ?
|
||||||
|
|
Loading…
Add table
Reference in a new issue