Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Leboulanger <asterix@lagaule.org>2005-10-20 15:17:17 +0400
committerYann Leboulanger <asterix@lagaule.org>2005-10-20 15:17:17 +0400
commit726640ef4b3463fbcc9fbc7f723cda644b3067d8 (patch)
tree0b08726c00ebe34e15c177626bc2520e4140e0cc
parent0b1bf176e927e72cac024afbafcb780585c89bab (diff)
the old self.plugin variable becomes gajim.interface, no need to pass it to every functions/classes
-rw-r--r--src/advanced.py14
-rw-r--r--src/chat.py69
-rw-r--r--src/check_for_new_version.py3
-rw-r--r--src/common/gajim.py1
-rw-r--r--src/config.py324
-rw-r--r--src/dialogs.py91
-rw-r--r--src/filetransfers_window.py3
-rwxr-xr-xsrc/gajim.py35
-rw-r--r--src/gajim_themes_window.py25
-rw-r--r--src/groupchat_window.py78
-rw-r--r--src/history_window.py5
-rw-r--r--src/remote_control.py39
-rw-r--r--src/roster_window.py258
-rw-r--r--src/systray.py47
-rw-r--r--src/systraywin32.py21
-rw-r--r--src/tabbed_chat_window.py42
-rw-r--r--src/tooltips.py15
-rw-r--r--src/vcard.py10
18 files changed, 523 insertions, 557 deletions
diff --git a/src/advanced.py b/src/advanced.py
index 069e374bb..a6b2b24ce 100644
--- a/src/advanced.py
+++ b/src/advanced.py
@@ -41,9 +41,7 @@ C_TYPE
GTKGUI_GLADE = 'gtkgui.glade'
class AdvancedConfigurationWindow:
- def __init__(self, plugin):
- self.plugin = plugin
-
+ def __init__(self):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'advanced_configuration_window', APP)
self.window = self.xml.get_widget('advanced_configuration_window')
self.entry = self.xml.get_widget('advanced_entry')
@@ -86,7 +84,7 @@ class AdvancedConfigurationWindow:
self.xml.signal_autoconnect(self)
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):
optname = model[iter][C_PREFNAME]
@@ -123,7 +121,7 @@ class AdvancedConfigurationWindow:
gajim.config.set_per(optname, key, option, newval)
else:
gajim.config.set(option, newval)
- self.plugin.save_config()
+ gajim.interface.save_config()
modelrow[1] = newval
def on_config_edited(self, cell, path, text):
@@ -140,13 +138,13 @@ class AdvancedConfigurationWindow:
gajim.config.set_per(optname, key, option, text)
else:
gajim.config.set(option, text)
- self.plugin.save_config()
+ gajim.interface.save_config()
modelrow[1] = text
def on_advanced_configuration_window_destroy(self, widget):
# update ui of preferences window to get possible changes we did
- self.plugin.windows['preferences'].update_preferences_window()
- del self.plugin.windows['advanced_config']
+ gajim.interface.windows['preferences'].update_preferences_window()
+ del gajim.interface.windows['advanced_config']
def on_advanced_close_button_clicked(self, widget):
self.window.destroy()
diff --git a/src/chat.py b/src/chat.py
index f419ebaee..681463e7f 100644
--- a/src/chat.py
+++ b/src/chat.py
@@ -1,4 +1,4 @@
-## plugins/tabbed_chat_window.py
+## chat.py
##
## Gajim Team:
## - Yann Le Boulanger <asterix@lagaule.org>
@@ -45,13 +45,12 @@ GTKGUI_GLADE = 'gtkgui.glade'
class Chat:
'''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.window = self.xml.get_widget(widget_name)
self.widget_name = widget_name
- self.plugin = plugin
self.account = account
self.change_cursor = None
self.xmls = {}
@@ -264,16 +263,16 @@ class Chat:
return 'pm'
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:
- windows = self.plugin.windows[self.account][kind]
+ windows = gajim.interface.windows[self.account][kind]
if kind == 'chats':
# send 'gone' chatstate to every tabbed chat tab
windows[jid].send_chatstate('gone', jid)
gobject.source_remove(self.possible_paused_timeout_id[jid])
gobject.source_remove(self.possible_inactive_timeout_id[jid])
- if self.plugin.systray_enabled and self.nb_unread[jid] > 0:
- self.plugin.systray.remove_jid(jid, self.account,
+ if gajim.interface.systray_enabled and self.nb_unread[jid] > 0:
+ gajim.interface.systray.remove_jid(jid, self.account,
self.get_message_type(jid))
del windows[jid]
if self.print_time_timeout_id.has_key(jid):
@@ -299,11 +298,11 @@ class Chat:
'''When history menuitem is pressed: call history window'''
if jid is None:
jid = self.get_active_jid()
- if self.plugin.windows['logs'].has_key(jid):
- self.plugin.windows['logs'][jid].window.present()
+ if gajim.interface.windows['logs'].has_key(jid):
+ gajim.interface.windows['logs'][jid].window.present()
else:
- self.plugin.windows['logs'][jid] = history_window.HistoryWindow(
- self.plugin, jid, self.account)
+ gajim.interface.windows['logs'][jid] = history_window.HistoryWindow(jid,
+ self.account)
def on_chat_window_focus_in_event(self, widget, event):
'''When window gets focus'''
@@ -319,8 +318,8 @@ class Chat:
if self.nb_unread[jid] > 0:
self.nb_unread[jid] = 0 + self.get_specific_unread(jid)
self.show_title()
- if self.plugin.systray_enabled:
- self.plugin.systray.remove_jid(jid, self.account,
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.remove_jid(jid, self.account,
self.get_message_type(jid))
'''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.redraw_tab(new_jid)
self.show_title()
- if self.plugin.systray_enabled:
- self.plugin.systray.remove_jid(new_jid, self.account,
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.remove_jid(new_jid, self.account,
self.get_message_type(new_jid))
conversation_textview.grab_focus()
@@ -520,8 +519,8 @@ class Chat:
else:
if self.nb_unread[jid] > 0:
self.nb_unread[jid] = 0
- if self.plugin.systray_enabled:
- self.plugin.systray.remove_jid(jid, self.account,
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.remove_jid(jid, self.account,
self.get_message_type(jid))
if self.print_time_timeout_id.has_key(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]))
- if self.plugin.windows[self.account][kind].has_key(jid):
- del self.plugin.windows[self.account][kind][jid]
+ if gajim.interface.windows[self.account][kind].has_key(jid):
+ del gajim.interface.windows[self.account][kind][jid]
del self.nb_unread[jid]
del gajim.last_message_time[self.account][jid]
del self.last_time_printout[jid]
@@ -842,8 +841,8 @@ class Chat:
self.nb_unread[jid] = 0 + self.get_specific_unread(jid)
self.redraw_tab(jid)
self.show_title()
- if self.plugin.systray_enabled:
- self.plugin.systray.remove_jid(jid, self.account,
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.remove_jid(jid, self.account,
self.get_message_type(jid))
def on_conversation_textview_motion_notify_event(self, widget, event):
@@ -1016,24 +1015,24 @@ class Chat:
clip.set_text(text)
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):
room, server = jid.split('@')
- if self.plugin.windows[self.account].has_key('join_gc'):
- instance = self.plugin.windows[self.account]['join_gc']
+ if gajim.interface.windows[self.account].has_key('join_gc'):
+ instance = gajim.interface.windows[self.account]['join_gc']
instance.xml.get_widget('server_entry').set_text(server)
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:
try:
- self.plugin.windows[self.account]['join_gc'] = \
- dialogs.JoinGroupchatWindow(self.plugin, self.account, server, room)
+ gajim.interface.windows[self.account]['join_gc'] = \
+ dialogs.JoinGroupchatWindow(self.account, server, room)
except RuntimeError:
pass
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):
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)
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
- iterator = self.plugin.basic_pattern_re.finditer(otext)
+ iterator = gajim.interface.basic_pattern_re.finditer(otext)
for match in iterator:
start, end = match.span()
special_text = otext[start:end]
@@ -1127,13 +1126,13 @@ class Chat:
buffer = textview.get_buffer()
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
emot_ascii = possible_emot_ascii_caps
end_iter = buffer.get_end_iter()
anchor = buffer.create_child_anchor(end_iter)
img = gtk.Image()
- img.set_from_file(self.plugin.emoticons[emot_ascii])
+ img.set_from_file(gajim.interface.emoticons[emot_ascii])
img.show()
#add with possible animation
textview.add_child_at_anchor(img, anchor)
@@ -1141,7 +1140,7 @@ class Chat:
#it's a mail
tags.append('mail')
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
tags.append('mail')
use_other_tags = False
@@ -1309,9 +1308,9 @@ class Chat:
if not gajim.config.get('notify_on_all_muc_messages'):
return
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'):
- 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.show_title(urgent)
diff --git a/src/check_for_new_version.py b/src/check_for_new_version.py
index 8e557a527..99bc64ac8 100644
--- a/src/check_for_new_version.py
+++ b/src/check_for_new_version.py
@@ -32,8 +32,7 @@ gtk.glade.textdomain(APP)
GTKGUI_GLADE='gtkgui.glade'
class Check_for_new_version_dialog:
- def __init__(self, plugin):
- self.plugin = plugin
+ def __init__(self):
try:
self.check_for_new_version()
except:
diff --git a/src/common/gajim.py b/src/common/gajim.py
index 4943cafbe..5e37f8a09 100644
--- a/src/common/gajim.py
+++ b/src/common/gajim.py
@@ -24,6 +24,7 @@ import mutex
import common.config
import common.logger
+interface = None # The actual interface (the gtk one for the moment)
version = '0.9'
config = common.config.Config()
connections = {}
diff --git a/src/config.py b/src/config.py
index 787fd36fc..fd8b7f144 100644
--- a/src/config.py
+++ b/src/config.py
@@ -67,11 +67,10 @@ class PreferencesWindow:
def on_close_button_clicked(self, widget):
self.window.hide()
- def __init__(self, plugin):
+ def __init__(self):
'''Initialize Preferences window'''
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'preferences_window', APP)
self.window = self.xml.get_widget('preferences_window')
- self.plugin = plugin
self.iconset_combobox = self.xml.get_widget('iconset_combobox')
self.notify_on_new_message_radiobutton = self.xml.get_widget \
('notify_on_new_message_radiobutton')
@@ -96,7 +95,7 @@ class PreferencesWindow:
self.notebook = self.xml.get_widget('preferences_notebook')
#trayicon
- if self.plugin.systray_capabilities:
+ if gajim.interface.systray_capabilities:
st = gajim.config.get('trayicon')
self.trayicon_checkbutton.set_active(st)
else:
@@ -450,38 +449,38 @@ class PreferencesWindow:
if change_sensitivity_widgets:
for w in change_sensitivity_widgets:
w.set_sensitive(widget.get_active())
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_trayicon_checkbutton_toggled(self, widget):
if widget.get_active():
gajim.config.set('trayicon', True)
- self.plugin.show_systray()
- self.plugin.roster.update_status_comboxbox()
+ gajim.interface.show_systray()
+ gajim.interface.roster.update_status_comboxbox()
else:
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!
- self.plugin.roster.draw_roster()
- self.plugin.save_config()
+ gajim.interface.roster.draw_roster()
+ gajim.interface.save_config()
def on_save_position_checkbutton_toggled(self, widget):
self.on_checkbutton_toggled(widget, 'saveposition')
def on_merge_checkbutton_toggled(self, widget):
self.on_checkbutton_toggled(widget, 'mergeaccounts')
- self.plugin.roster.regroup = gajim.config.get('mergeaccounts')
- self.plugin.roster.draw_roster()
+ gajim.interface.roster.regroup = gajim.config.get('mergeaccounts')
+ gajim.interface.roster.draw_roster()
def on_sort_by_show_checkbutton_toggled(self, widget):
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):
self.on_checkbutton_toggled(widget, 'useemoticons',
[self.xml.get_widget('add_remove_emoticons_button')])
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'):
window.present()
else:
@@ -492,15 +491,15 @@ class PreferencesWindow:
active = widget.get_active()
icon_string = model[active][1].decode('utf-8')
gajim.config.set('iconset', icon_string)
- self.plugin.roster.reload_jabber_state_images()
- self.plugin.save_config()
+ gajim.interface.roster.reload_jabber_state_images()
+ gajim.interface.save_config()
def on_transports_iconsets_checkbutton_toggled(self, widget):
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):
- dialogs.GajimThemesWindow(self.plugin)
+ dialogs.GajimThemesWindow()
def on_theme_combobox_changed(self, widget):
model = widget.get_model()
@@ -510,9 +509,9 @@ class PreferencesWindow:
gajim.config.set('roster_theme', config_theme)
# begin repainting themed widgets throughout
- self.plugin.roster.repaint_themed_widgets()
- self.plugin.roster.change_roster_style(None)
- self.plugin.save_config()
+ gajim.interface.roster.repaint_themed_widgets()
+ gajim.interface.roster.change_roster_style(None)
+ gajim.interface.save_config()
def merge_windows(self, kind):
for acct in gajim.connections:
@@ -520,7 +519,7 @@ class PreferencesWindow:
buf1 = {}
buf2 = {}
saved_var = {}
- windows = self.plugin.windows[acct][kind]
+ windows = gajim.interface.windows[acct][kind]
jids = windows.keys()
for jid in jids:
window = windows[jid]
@@ -534,9 +533,9 @@ class PreferencesWindow:
for jid in jids:
if kind == 'chats':
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':
- 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.xmls[jid].get_widget('conversation_textview').set_buffer(
buf1[jid])
@@ -550,7 +549,7 @@ class PreferencesWindow:
buf1 = {}
buf2 = {}
saved_var = {}
- windows = self.plugin.windows[acct][kind]
+ windows = gajim.interface.windows[acct][kind]
jids = windows.keys()
if not 'tabbed' in jids:
continue
@@ -567,9 +566,9 @@ class PreferencesWindow:
for jid in jids:
if kind == 'chats':
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':
- 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.xmls[jid].get_widget('conversation_textview').set_buffer(
buf1[jid])
@@ -589,11 +588,11 @@ class PreferencesWindow:
else:
self.split_windows('chats')
self.split_windows('gc')
- self.plugin.save_config()
+ gajim.interface.save_config()
def apply_speller(self, kind):
for acct in gajim.connections:
- windows = self.plugin.windows[acct][kind]
+ windows = gajim.interface.windows[acct][kind]
jids = windows.keys()
for jid in jids:
if jid == 'tabbed':
@@ -604,7 +603,7 @@ class PreferencesWindow:
def remove_speller(self, kind):
for acct in gajim.connections:
- windows = self.plugin.windows[acct][kind]
+ windows = gajim.interface.windows[acct][kind]
jids = windows.keys()
for jid in jids:
if jid == 'tabbed':
@@ -618,7 +617,7 @@ class PreferencesWindow:
def on_speller_checkbutton_toggled(self, widget):
active = widget.get_active()
gajim.config.set('use_speller', active)
- self.plugin.save_config()
+ gajim.interface.save_config()
if active:
self.apply_speller('chats')
self.apply_speller('gc')
@@ -629,7 +628,7 @@ class PreferencesWindow:
def update_print_time(self):
'''Update time in Opened Chat Windows'''
for a in gajim.connections:
- window = self.plugin.windows[a]['chats']
+ window = gajim.interface.windows[a]['chats']
if window.has_key('tabbed'):
window['tabbed'].update_print_time()
else:
@@ -640,41 +639,41 @@ class PreferencesWindow:
if widget.get_active():
gajim.config.set('print_time', 'never')
self.update_print_time()
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_time_sometimes_radiobutton_toggled(self, widget):
if widget.get_active():
gajim.config.set('print_time', 'sometimes')
self.update_print_time()
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_time_always_radiobutton_toggled(self, widget):
if widget.get_active():
gajim.config.set('print_time', 'always')
self.update_print_time()
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_before_time_entry_focus_out_event(self, widget, event):
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):
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):
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):
gajim.config.set('after_nickname', widget.get_text().decode('utf-8'))
- self.plugin.save_config()
+ gajim.interface.save_config()
def update_text_tags(self):
'''Update color tags in Opened Chat Windows'''
for a in gajim.connections:
for kind in ['chats', 'gc']:
- windows = self.plugin.windows[a][kind]
+ windows = gajim.interface.windows[a][kind]
if windows.has_key('tabbed'):
windows['tabbed'].update_tags()
else:
@@ -685,7 +684,7 @@ class PreferencesWindow:
'''Update text font in Opened Chat Windows'''
for a in gajim.connections:
for kind in ['chats', 'gc']:
- windows = self.plugin.windows[a][kind]
+ windows = gajim.interface.windows[a][kind]
if windows.has_key('tabbed'):
windows['tabbed'].update_font()
else:
@@ -697,13 +696,13 @@ class PreferencesWindow:
color_string = mk_color_string(color)
gajim.config.set(text, color_string)
self.update_text_tags()
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_preference_widget_font_set(self, widget, text):
font = widget.get_font_name()
gajim.config.set(text, font)
self.update_text_font()
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_incoming_msg_colorbutton_color_set(self, widget):
self.on_preference_widget_color_set(widget, 'inmsgcolor')
@@ -719,7 +718,7 @@ class PreferencesWindow:
def on_reset_colors_button_clicked(self, widget):
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(\
gtk.gdk.color_parse(gajim.config.get('inmsgcolor')))
@@ -728,7 +727,7 @@ class PreferencesWindow:
self.xml.get_widget('status_msg_colorbutton').set_color(\
gtk.gdk.color_parse(gajim.config.get('statusmsgcolor')))
self.update_text_tags()
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_notify_on_new_message_radiobutton_toggled(self, widget):
self.on_checkbutton_toggled(widget, 'notify_on_new_message',
@@ -772,7 +771,7 @@ class PreferencesWindow:
def on_soundplayer_entry_changed(self, widget):
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):
self.on_checkbutton_toggled(widget, 'ask_online_status')
@@ -786,7 +785,7 @@ class PreferencesWindow:
bool(model[path][1]))
gajim.config.set_per('soundevents', sound_event, 'path',
model[iter][2].decode('utf-8'))
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_auto_away_checkbutton_toggled(self, widget):
self.on_checkbutton_toggled(widget, 'autoaway',
@@ -795,10 +794,10 @@ class PreferencesWindow:
def on_auto_away_time_spinbutton_value_changed(self, widget):
aat = widget.get_value_as_int()
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('autoxatime') * 60)
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_auto_away_message_entry_changed(self, widget):
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):
axt = widget.get_value_as_int()
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('autoxatime') * 60)
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_auto_xa_message_entry_changed(self, widget):
gajim.config.set('autoxa_message', widget.get_text().decode('utf-8'))
@@ -828,7 +827,7 @@ class PreferencesWindow:
gajim.config.set_per('statusmsg', val, 'message',
model[iter][1].decode('utf-8'))
iter = model.iter_next(iter)
- self.plugin.save_config()
+ gajim.interface.save_config()
def on_msg_treemodel_row_changed(self, model, path, iter):
self.save_status_messages(model)
@@ -849,35 +848,35 @@ class PreferencesWindow:
elif widget.get_active() == 2:
gajim.config.set('openwith', 'kfmclient exec')
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):
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):
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):
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):
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):
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):
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):
gajim.config.set('check_for_new_version', widget.get_active())
- self.plugin.save_config()
+ gajim.interface.save_config()
def fill_msg_treeview(self):
self.xml.get_widget('delete_msg_button').set_sensitive(False)
@@ -1008,31 +1007,30 @@ class PreferencesWindow:
model.set_value(iter, 1, 1)
def on_open_advanced_editor_button_clicked(self, widget, data = None):
- if self.plugin.windows.has_key('advanced_config'):
- self.plugin.windows['advanced_config'].window.present()
+ if gajim.interface.windows.has_key('advanced_config'):
+ gajim.interface.windows['advanced_config'].window.present()
else:
- self.plugin.windows['advanced_config'] = \
- dialogs.AdvancedConfigurationWindow(self.plugin)
+ gajim.interface.windows['advanced_config'] = \
+ dialogs.AdvancedConfigurationWindow(gajim.interface)
#---------- AccountModificationWindow class -------------#
class AccountModificationWindow:
'''Class for account informations'''
def on_account_modification_window_destroy(self, widget):
'''close window'''
- if self.plugin.windows.has_key(self.account):
- if self.plugin.windows[self.account].has_key('account_modification'):
- del self.plugin.windows[self.account]['account_modification']
+ if gajim.interface.windows.has_key(self.account):
+ if gajim.interface.windows[self.account].has_key('account_modification'):
+ del gajim.interface.windows[self.account]['account_modification']
return
- if self.plugin.windows.has_key('account_modification'):
- del self.plugin.windows['account_modification']
+ if gajim.interface.windows.has_key('account_modification'):
+ del gajim.interface.windows['account_modification']
def on_cancel_button_clicked(self, widget):
self.window.destroy()
- def __init__(self, plugin, account = ''):
+ def __init__(self, account = ''):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'account_modification_window', APP)
self.window = self.xml.get_widget('account_modification_window')
- self.plugin = plugin
self.account = 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 name != self.account:
#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.nicks[name] = gajim.nicks[self.account]
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
for kind in ['infos', 'chats', 'gc', 'gc_config']:
- for j in self.plugin.windows[name][kind]:
- self.plugin.windows[name][kind][j].account = name
+ for j in gajim.interface.windows[name][kind]:
+ gajim.interface.windows[name][kind][j].account = name
#upgrade account in systray
- if self.plugin.systray_enabled:
- for list in self.plugin.systray.jids:
+ if gajim.interface.systray_enabled:
+ for list in gajim.interface.systray.jids:
if list[0] == self.account:
list[0] = name
- del self.plugin.windows[self.account]
+ del gajim.interface.windows[self.account]
del gajim.awaiting_events[self.account]
del gajim.nicks[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']:
gajim.connections[name].password = config['password']
#refresh accounts window
- if self.plugin.windows.has_key('accounts'):
- self.plugin.windows['accounts'].init_accounts()
+ if gajim.interface.windows.has_key('accounts'):
+ gajim.interface.windows['accounts'].init_accounts()
#refresh roster
- self.plugin.roster.draw_roster()
- self.plugin.save_config()
+ gajim.interface.roster.draw_roster()
+ gajim.interface.save_config()
self.window.destroy()
return
#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()
return
con = connection.Connection(name)
- self.plugin.register_handlers(con)
+ gajim.interface.register_handlers(con)
#if we need to register a new account
if new_account:
gajim.events_for_ui[name] = []
@@ -1346,10 +1344,10 @@ _('To change the account name, you must be disconnected.')).get_response()
if config['savepass']:
gajim.connections[name].password = config['password']
#update variables
- self.plugin.windows[name] = {'infos': {}, 'chats': {}, 'gc': {}, \
+ gajim.interface.windows[name] = {'infos': {}, 'chats': {}, 'gc': {}, \
'gc_config': {}}
- self.plugin.windows[name]['xml_console'] = \
- dialogs.XMLConsoleWindow(self.plugin, name)
+ gajim.interface.windows[name]['xml_console'] = \
+ dialogs.XMLConsoleWindow(name)
gajim.awaiting_events[name] = {}
gajim.connections[name].connected = 0
gajim.groups[name] = {}
@@ -1366,16 +1364,16 @@ _('To change the account name, you must be disconnected.')).get_response()
gajim.status_before_autoaway[name] = ''
gajim.events_for_ui[name] = []
#refresh accounts window
- if self.plugin.windows.has_key('accounts'):
- self.plugin.windows['accounts'].init_accounts()
+ if gajim.interface.windows.has_key('accounts'):
+ gajim.interface.windows['accounts'].init_accounts()
#refresh roster
- self.plugin.roster.draw_roster()
- self.plugin.save_config()
+ gajim.interface.roster.draw_roster()
+ gajim.interface.save_config()
self.window.destroy()
def on_change_password_button_clicked(self, widget):
try:
- dialog = dialogs.ChangePasswordDialog(self.plugin, self.account)
+ dialog = dialogs.ChangePasswordDialog(self.account)
except RuntimeError:
#if we showed ErrorDialog, there will not be dialog instance
return
@@ -1394,7 +1392,7 @@ _('To change the account name, you must be disconnected.')).get_response()
self.account = acct
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'),
_('You must create your account before editing your personal information.')).get_response()
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.')
).get_response()
return
- if not self.plugin.windows[self.account]['infos'].has_key('vcard'):
- self.plugin.windows[self.account]['infos'][jid] = \
- dialogs.VcardWindow(jid, self.plugin, self.account, True)
+ if not gajim.interface.windows[self.account]['infos'].has_key('vcard'):
+ gajim.interface.windows[self.account]['infos'][jid] = \
+ dialogs.VcardWindow(jid, self.account, True)
gajim.connections[self.account].request_vcard(jid)
def on_manage_proxies_button_clicked(self, widget):
- if self.plugin.windows.has_key('manage_proxies'):
- self.plugin.windows['manage_proxies'].window.present()
+ if gajim.interface.windows.has_key('manage_proxies'):
+ gajim.interface.windows['manage_proxies'].window.present()
else:
- self.plugin.windows['manage_proxies'] = \
- ManageProxiesWindow(self.plugin)
+ gajim.interface.windows['manage_proxies'] = \
+ ManageProxiesWindow()
def on_gpg_choose_button_clicked(self, widget, data = None):
if gajim.connections.has_key(self.account):
@@ -1498,8 +1496,7 @@ _('There was a problem retrieving your OpenPGP secret keys.')).get_response()
#---------- ManageProxiesWindow class -------------#
class ManageProxiesWindow:
- def __init__(self, plugin):
- self.plugin = plugin
+ def __init__(self):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_proxies_window', APP)
self.window = self.xml.get_widget('manage_proxies_window')
self.proxies_treeview = self.xml.get_widget('proxies_treeview')
@@ -1533,12 +1530,12 @@ class ManageProxiesWindow:
def on_manage_proxies_window_destroy(self, widget):
for account in gajim.connections:
- if self.plugin.windows[account].has_key('account_modification'):
- self.plugin.windows[account]['account_modification'].\
+ if gajim.interface.windows[account].has_key('account_modification'):
+ gajim.interface.windows[account]['account_modification'].\
update_proxy_list()
- if self.plugin.windows.has_key('account_modification'):
- self.plugin.windows['account_modification'].update_proxy_list()
- del self.plugin.windows['manage_proxies']
+ if gajim.interface.windows.has_key('account_modification'):
+ gajim.interface.windows['account_modification'].update_proxy_list()
+ del gajim.interface.windows['manage_proxies']
def on_add_proxy_button_clicked(self, widget):
model = self.proxies_treeview.get_model()
@@ -1658,13 +1655,12 @@ class ManageProxiesWindow:
class AccountsWindow:
'''Class for accounts window: list of accounts'''
def on_accounts_window_destroy(self, widget):
- del self.plugin.windows['accounts']
+ del gajim.interface.windows['accounts']
def on_close_button_clicked(self, widget):
self.window.destroy()
- def __init__(self, plugin):
- self.plugin = plugin
+ def __init__(self):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'accounts_window', APP)
self.window = self.xml.get_widget('accounts_window')
self.accounts_treeview = self.xml.get_widget('accounts_treeview')
@@ -1705,11 +1701,11 @@ class AccountsWindow:
def on_new_button_clicked(self, widget):
'''When new button is clicked: open an account information window'''
- if self.plugin.windows.has_key('account_modification'):
- self.plugin.windows['account_modification'].window.present()
+ if gajim.interface.windows.has_key('account_modification'):
+ gajim.interface.windows['account_modification'].window.present()
else:
- self.plugin.windows['account_modification'] = \
- AccountModificationWindow(self.plugin, '')
+ gajim.interface.windows['account_modification'] = \
+ AccountModificationWindow('')
def on_remove_button_clicked(self, widget):
'''When delete button is clicked:
@@ -1719,11 +1715,11 @@ class AccountsWindow:
if not iter:
return
account = model.get_value(iter, 0).decode('utf-8')
- if self.plugin.windows[account].has_key('remove_account'):
- self.plugin.windows[account]['remove_account'].window.present()
+ if gajim.interface.windows[account].has_key('remove_account'):
+ gajim.interface.windows[account]['remove_account'].window.present()
else:
- self.plugin.windows[account]['remove_account'] = \
- RemoveAccountWindow(self.plugin, account)
+ gajim.interface.windows[account]['remove_account'] = \
+ RemoveAccountWindow(account)
def on_modify_button_clicked(self, widget):
'''When modify button is clicked:
@@ -1742,15 +1738,14 @@ class AccountsWindow:
self.show_modification_window(account)
def show_modification_window(self, account):
- if self.plugin.windows[account].has_key('account_modification'):
- self.plugin.windows[account]['account_modification'].window.present()
+ if gajim.interface.windows[account].has_key('account_modification'):
+ gajim.interface.windows[account]['account_modification'].window.present()
else:
- self.plugin.windows[account]['account_modification'] = \
- AccountModificationWindow(self.plugin, account)
+ gajim.interface.windows[account]['account_modification'] = \
+ AccountModificationWindow(account)
class DataFormWindow:
- def __init__(self, plugin, account, config):
- self.plugin = plugin
+ def __init__(self, account, config):
self.account = account
self.config = config
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'data_form_window', APP)
@@ -1907,7 +1902,7 @@ class ServiceRegistrationWindow(DataFormWindow):
groups = [_('Transports')], show = 'offline', status = 'offline',
sub = 'from')
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):
'''When Ok button is clicked:
@@ -1933,13 +1928,12 @@ class ServiceRegistrationWindow(DataFormWindow):
True) # True is for is_form
self.window.destroy()
- def __init__(self, service, infos, plugin, account, is_form):
+ def __init__(self, service, infos, account, is_form):
self.service = service
self.infos = infos
- self.plugin = plugin
self.account = account
if is_form:
- DataFormWindow.__init__(self, plugin, account, infos)
+ DataFormWindow.__init__(self, account, infos)
else:
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'service_registration_window', APP)
self.window = self.xml.get_widget('service_registration_window')
@@ -1956,10 +1950,9 @@ class ServiceRegistrationWindow(DataFormWindow):
#---------- ManageEmoticonsWindow class -------------#
class ManageEmoticonsWindow:
- def __init__(self, plugin):
+ def __init__(self):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_emoticons_window', APP)
self.window = self.xml.get_widget('manage_emoticons_window')
- self.plugin = plugin
#emoticons
self.emot_tree = self.xml.get_widget('emoticons_treeview')
@@ -1984,12 +1977,11 @@ class ManageEmoticonsWindow:
self.emot_tree.get_model().connect('row-changed',
self.on_emoticons_treemodel_row_changed)
- self.plugin = plugin
self.xml.signal_autoconnect(self)
def on_add_remove_emoticons_window_delete_event(self, widget, event):
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
def on_close_button_clicked(self, widget):
@@ -2000,12 +1992,12 @@ class ManageEmoticonsWindow:
emot = model.get_value(iter, 0).decode('utf-8').upper()
if not emot in emots:
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]
if image:
image = image.decode('utf-8')
gajim.config.set_per('emoticons', emot, 'path', image)
- self.plugin.save_config()
+ gajim.interface.save_config()
def image_is_ok(self, image):
if not os.path.exists(image):
@@ -2060,11 +2052,11 @@ class ManageEmoticonsWindow:
model.remove(iter)
else:
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',
model[iter][1].decode('utf-8'))
model[iter][0] = emot
- self.plugin.save_config()
+ gajim.interface.save_config()
def update_preview(self, widget):
path_to_file = widget.get_preview_filename()
@@ -2157,8 +2149,8 @@ class ManageEmoticonsWindow:
if not iter:
return
gajim.config.del_per('emoticons', model.get_value(iter, 0).decode('utf-8'))
- self.plugin.init_regexp() # update regexp [emoticons included]
- self.plugin.save_config()
+ gajim.interface.init_regexp() # update regexp [emoticons included]
+ gajim.interface.save_config()
model.remove(iter)
def on_emoticons_treeview_key_press_event(self, widget, event):
@@ -2171,13 +2163,12 @@ class ServiceDiscoveryWindow:
'''Class for Service Discovery Window:
to know the services on a server'''
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):
self.window.destroy()
- def __init__(self, plugin, account):
- self.plugin = plugin
+ def __init__(self, account):
self.account = account
self.agent_infos = {}
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('@')
room = services[0]
service = services[1]
- if not self.plugin.windows[self.account].has_key('join_gc'):
- dialogs.JoinGroupchatWindow(self.plugin, self.account, service, room)
+ if not gajim.interface.windows[self.account].has_key('join_gc'):
+ dialogs.JoinGroupchatWindow(self.account, service, room)
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):
'''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.items_asked = []
self.browse(server_address)
- self.plugin.save_config()
+ gajim.interface.save_config()
class GroupchatConfigWindow(DataFormWindow):
'''GroupchatConfigWindow class'''
- def __init__(self, plugin, account, room_jid, config):
- DataFormWindow.__init__(self, plugin, account, config)
+ def __init__(self, account, room_jid, config):
+ DataFormWindow.__init__(self, account, config)
self.room_jid = room_jid
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):
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'''
def on_remove_account_window_destroy(self, widget):
- if self.plugin.windows.has_key(self.account):
- del self.plugin.windows[self.account]['remove_account']
+ if gajim.interface.windows.has_key(self.account):
+ del gajim.interface.windows[self.account]['remove_account']
def on_cancel_button_clicked(self, widget):
self.window.destroy()
- def __init__(self, plugin, account):
- self.plugin = plugin
+ def __init__(self, account):
self.account = account
xml = gtk.glade.XML(GTKGUI_GLADE, 'remove_account_window', APP)
self.window = xml.get_widget('remove_account_window')
@@ -2524,8 +2514,8 @@ class RemoveAccountWindow:
gajim.connections[self.account].unregister_account()
del gajim.connections[self.account]
gajim.config.del_per('accounts', self.account)
- self.plugin.save_config()
- del self.plugin.windows[self.account]
+ gajim.interface.save_config()
+ del gajim.interface.windows[self.account]
del gajim.awaiting_events[self.account]
del gajim.nicks[self.account]
del gajim.allow_notifications[self.account]
@@ -2540,15 +2530,14 @@ class RemoveAccountWindow:
del gajim.last_message_time[self.account]
del gajim.status_before_autoaway[self.account]
del gajim.events_for_ui[self.account]
- self.plugin.roster.draw_roster()
- if self.plugin.windows.has_key('accounts'):
- self.plugin.windows['accounts'].init_accounts()
+ gajim.interface.roster.draw_roster()
+ if gajim.interface.windows.has_key('accounts'):
+ gajim.interface.windows['accounts'].init_accounts()
self.window.destroy()
#---------- ManageBookmarksWindow class -------------#
class ManageBookmarksWindow:
- def __init__(self, plugin):
- self.plugin = plugin
+ def __init__(self):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_bookmarks_window', APP)
self.window = self.xml.get_widget('manage_bookmarks_window')
@@ -2620,7 +2609,7 @@ class ManageBookmarksWindow:
return not self.check_valid_bookmark()
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):
'''
@@ -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].store_bookmarks()
- self.plugin.roster.make_menu()
+ gajim.interface.roster.make_menu()
self.window.destroy()
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)
class FirstTimeWizardWindow:
- def __init__(self, plugin):
- self.plugin = plugin
+ def __init__(self):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'wizard_window', APP)
self.window = self.xml.get_widget('wizard_window')
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()
return
con = connection.Connection(name)
- self.plugin.register_handlers(con)
+ gajim.interface.register_handlers(con)
if new_account:
gajim.events_for_ui[name] = []
con.new_account(name, config)
@@ -3006,10 +2994,10 @@ _('You need to enter a valid server address to continue.')).get_response()
if config['savepass']:
gajim.connections[name].password = config['password']
# update variables
- self.plugin.windows[name] = {'infos': {}, 'chats': {}, 'gc': {},
+ gajim.interface.windows[name] = {'infos': {}, 'chats': {}, 'gc': {},
'gc_config': {}}
- self.plugin.windows[name]['xml_console'] = \
- dialogs.XMLConsoleWindow(self.plugin, name)
+ gajim.interface.windows[name]['xml_console'] = \
+ dialogs.XMLConsoleWindow(name)
gajim.awaiting_events[name] = {}
gajim.connections[name].connected = 0
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.events_for_ui[name] = []
# refresh accounts window
- if self.plugin.windows.has_key('accounts'):
- self.plugin.windows['accounts'].init_accounts()
+ if gajim.interface.windows.has_key('accounts'):
+ gajim.interface.windows['accounts'].init_accounts()
# refresh roster
- self.plugin.roster.draw_roster()
- self.plugin.save_config()
+ gajim.interface.roster.draw_roster()
+ gajim.interface.save_config()
diff --git a/src/dialogs.py b/src/dialogs.py
index 39d409590..08032d400 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -43,10 +43,9 @@ GTKGUI_GLADE = 'gtkgui.glade'
class EditGroupsDialog:
'''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.dialog = self.xml.get_widget('edit_groups_dialog')
- self.plugin = plugin
self.account = account
self.user = user
self.changes_made = False
@@ -70,8 +69,8 @@ class EditGroupsDialog:
self.dialog.destroy()
def update_contact(self):
- self.plugin.roster.remove_contact(self.user, self.account)
- self.plugin.roster.add_contact_to_roster(self.user.jid, self.account)
+ gajim.interface.roster.remove_contact(self.user, self.account)
+ gajim.interface.roster.add_contact_to_roster(self.user.jid, self.account)
gajim.connections[self.account].update_contact(self.user.jid,
self.user.name, self.user.groups)
@@ -204,7 +203,7 @@ class ChooseGPGKeyDialog:
class ChangeStatusMessageDialog:
- def __init__(self, plugin, show = None):
+ def __init__(self, show = None):
self.show = show
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'change_status_message_dialog', APP)
self.window = self.xml.get_widget('change_status_message_dialog')
@@ -269,8 +268,7 @@ class ChangeStatusMessageDialog:
class AddNewContactWindow:
'''Class for AddNewContactWindow'''
- def __init__(self, plugin, account, jid = None):
- self.plugin = plugin
+ def __init__(self, account, jid = None):
self.account = account
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'add_new_contact_window', APP)
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()
message = message_buffer.get_text(start_iter, end_iter).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)
if self.xml.get_widget('auto_authorize_checkbutton').get_active():
gajim.connections[self.account].send_authorization(jid)
@@ -568,10 +566,9 @@ ok_handler = None):
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)
self.window = xml.get_widget('subscription_request_window')
- self.plugin = plugin
self.jid = jid
self.account = account
if len(gajim.connections) >= 2:
@@ -592,17 +589,17 @@ class SubscriptionRequestWindow:
gajim.connections[self.account].send_authorization(self.jid)
self.window.destroy()
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):
'''ask vcard'''
- if self.plugin.windows[self.account]['infos'].has_key(self.jid):
- self.plugin.windows[self.account]['infos'][self.jid].window.present()
+ if gajim.interface.windows[self.account]['infos'].has_key(self.jid):
+ gajim.interface.windows[self.account]['infos'][self.jid].window.present()
else:
- self.plugin.windows[self.account]['infos'][self.jid] = \
- VcardWindow(self.jid, self.plugin, self.account, True)
+ gajim.interface.windows[self.account]['infos'][self.jid] = \
+ VcardWindow(self.jid, self.account, True)
#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')
children = hbuttonbox.get_children()
hbuttonbox.remove(children[0])
@@ -616,8 +613,7 @@ class SubscriptionRequestWindow:
self.window.destroy()
class JoinGroupchatWindow:
- def __init__(self, plugin, account, server = '', room = '', nick = ''):
- self.plugin = plugin
+ def __init__(self, account, server = '', room = '', nick = ''):
self.account = account
if nick == '':
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('nickname_entry').set_text(nick)
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') + '@' + \
gajim.config.get_per('accounts', self.account, 'hostname')
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):
'''close window'''
# 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):
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]
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()
class NewMessageDialog:
- def __init__(self, plugin, account):
- self.plugin = plugin
+ def __init__(self, account):
self.account = account
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()
return
- self.plugin.roster.new_chat_from_jid(self.account, jid)
+ gajim.interface.roster.new_chat_from_jid(self.account, jid)
class ChangePasswordDialog:
- def __init__(self, plugin, account):
+ def __init__(self, account):
# 'account' can be None if we are about to create our first one
if not account or gajim.connections[account].connected < 2:
ErrorDialog(_('You are not connected to the server'),
_('Without a connection, you can not change your password.')).get_response()
raise RuntimeError, 'You are not connected to the server'
- self.plugin = plugin
self.account = account
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'change_password_dialog', APP)
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:
- def __init__(self, plugin, event_type, jid, account, msg_type = '', file_props = None):
- self.plugin = plugin
+ def __init__(self, event_type, jid, account, msg_type = '', file_props = None):
self.account = account
self.jid = jid
self.msg_type = msg_type
@@ -849,9 +842,9 @@ class PopupNotificationWindow:
event_description_label.set_text(txt)
# position the window to bottom-right of screen
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,
- gtk.gdk.screen_height() - self.plugin.roster.popups_notification_height)
+ gtk.gdk.screen_height() - gajim.interface.roster.popups_notification_height)
xml.signal_autoconnect(self)
self.window.show_all()
@@ -865,20 +858,20 @@ class PopupNotificationWindow:
def adjust_height_and_move_popup_notification_windows(self):
#remove
- self.plugin.roster.popups_notification_height -= self.window_height
+ gajim.interface.roster.popups_notification_height -= self.window_height
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
- 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
- self.plugin.roster.popups_notification_height = 0
- for window_instance in self.plugin.roster.popup_notification_windows:
+ gajim.interface.roster.popups_notification_height = 0
+ for window_instance in gajim.interface.roster.popup_notification_windows:
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,
- 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):
# 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',
status = _('not in the roster'), sub = 'none', keyID = keyID)
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)
if self.msg_type == 'pm': # It's a private message
- self.plugin.roster.new_chat(contact, self.account)
- chats_window = self.plugin.windows[self.account]['chats'][self.jid]
+ gajim.interface.roster.new_chat(contact, self.account)
+ chats_window = gajim.interface.windows[self.account]['chats'][self.jid]
chats_window.set_active_tab(self.jid)
chats_window.window.present()
elif self.msg_type in ('normal', 'file-request', 'file-request-error',
'file-send-error', 'file-error', 'file-stopped', 'file-completed'):
# Get the first single message event
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'
- self.plugin.roster.new_chat(contact, self.account)
- chats_window = self.plugin.windows[self.account]['chats'][self.jid]
+ gajim.interface.roster.new_chat(contact, self.account)
+ chats_window = gajim.interface.windows[self.account]['chats'][self.jid]
chats_window.set_active_tab(self.jid)
chats_window.window.present()
@@ -929,9 +922,8 @@ class PopupNotificationWindow:
class SingleMessageWindow:
'''SingleMessageWindow can send or show a received
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 = ''):
- self.plugin = plugin
self.account = account
self.action = action
@@ -1086,7 +1078,7 @@ class SingleMessageWindow:
self.subject = _('RE: %s') % self.subject
self.message = _('\n\n\n== Original Message ==\n%s') % self.message
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,
message = self.message)
@@ -1101,8 +1093,7 @@ class SingleMessageWindow:
self.window.destroy()
class XMLConsoleWindow:
- def __init__(self, plugin, account):
- self.plugin = plugin
+ def __init__(self, account):
self.account = account
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'xml_console_window', APP)
@@ -1206,7 +1197,7 @@ class XMLConsoleWindow:
self.input_textview.grab_focus()
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)
dialog = xml.get_widget('invitation_received_dialog')
@@ -1223,5 +1214,5 @@ class InvitationReceivedDialog:
dialog.destroy()
if response == gtk.RESPONSE_YES:
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)
diff --git a/src/filetransfers_window.py b/src/filetransfers_window.py
index eafb72ecc..131e19bef 100644
--- a/src/filetransfers_window.py
+++ b/src/filetransfers_window.py
@@ -51,9 +51,8 @@ C_SID = 6
class FileTransfersWindow:
- def __init__(self, plugin):
+ def __init__(self):
self.files_props = {'r' : {}, 's': {}}
- self.plugin = plugin
self.height_diff = 0
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'file_transfers_window', APP)
self.window = self.xml.get_widget('file_transfers_window')
diff --git a/src/gajim.py b/src/gajim.py
index ddf2fb4a9..6d8df3efb 100755
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -526,7 +526,7 @@ class Interface:
def handle_event_subscribe(self, account, array):
#('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():
self.remote.raise_signal('Subscribe', (account, array))
@@ -577,7 +577,7 @@ class Interface:
def handle_event_register_agent_info(self, account, array):
#('REGISTER_AGENT_INFO', account, (agent, infos, is_form))
if array[1].has_key('instructions'):
- config.ServiceRegistrationWindow(array[0], array[1], self, account,
+ config.ServiceRegistrationWindow(array[0], array[1], account,
array[2])
else:
dialogs.ErrorDialog(_('Contact with "%s" cannot be established'\
@@ -606,7 +606,7 @@ class Interface:
if self.windows.has_key('account_modification'):
self.windows['account_modification'].account_is_ok(array[0])
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] = {}
# disconnect from server - our status in roster is offline
gajim.connections[name].connected = 1
@@ -633,7 +633,7 @@ class Interface:
self.remote.raise_signal('NewAccount', (account, array))
def handle_event_quit(self, p1, p2):
- self.roster.quit_gtkgui_plugin()
+ self.roster.quit_gtkgui_interface()
def handle_event_myvcard(self, account, array):
nick = ''
@@ -732,11 +732,11 @@ class Interface:
jid = array[0].split('/')[0]
if not self.windows[account]['gc_config'].has_key(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):
#('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])
def handle_event_bad_passphrase(self, account, array):
@@ -910,7 +910,7 @@ class Interface:
if gajim.config.get('notify_on_file_complete') and \
gajim.config.get('autopopupaway') or \
gajim.connections[account].connected in (2, 3):
- instance = dialogs.PopupNotificationWindow(self, event_type,
+ instance = dialogs.PopupNotificationWindow(event_type,
jid, account, msg_type, file_props)
self.roster.popup_notification_windows.append(instance)
@@ -1192,7 +1192,7 @@ class Interface:
import remote_control
if not hasattr(self, 'remote') or not self.remote:
try:
- self.remote = remote_control.Remote(self)
+ self.remote = remote_control.Remote()
except remote_control.DbusNotSupported:
self.remote = None
return False
@@ -1212,6 +1212,7 @@ class Interface:
self.remote = None
def __init__(self):
+ gajim.interface = self
self.default_values = {
'inmsgcolor': gajim.config.get('inmsgcolor'),
'outmsgcolor': gajim.config.get('outmsgcolor'),
@@ -1292,7 +1293,7 @@ class Interface:
gajim.status_before_autoaway[a] = ''
gajim.events_for_ui[a] = []
- self.roster = roster_window.RosterWindow(self)
+ self.roster = roster_window.RosterWindow()
if gajim.config.get('use_dbus'):
self.enable_dbus()
else:
@@ -1316,7 +1317,7 @@ class Interface:
pass
else:
self.systray_capabilities = True
- self.systray = systraywin32.SystrayWin32(self)
+ self.systray = systraywin32.SystrayWin32()
else:
try:
import egg.trayicon # use gnomepythonextras trayicon
@@ -1327,28 +1328,28 @@ class Interface:
pass
else:
self.systray_capabilities = True
- self.systray = systray.Systray(self)
+ self.systray = systray.Systray()
else:
self.systray_capabilities = True
- self.systray = systray.Systray(self)
+ self.systray = systray.Systray()
if self.systray_capabilities and gajim.config.get('trayicon'):
self.show_systray()
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()
# get instances for windows/dialogs that will show_all()/hide()
- self.windows['file_transfers'] = dialogs.FileTransfersWindow(self)
- self.windows['preferences'] = config.PreferencesWindow(self)
+ self.windows['file_transfers'] = dialogs.FileTransfersWindow()
+ self.windows['preferences'] = config.PreferencesWindow()
self.windows['add_remove_emoticons'] = \
- config.ManageEmoticonsWindow(self)
+ config.ManageEmoticonsWindow()
self.windows['roster'] = self.roster
for account in gajim.connections:
self.windows[account]['xml_console'] = \
- dialogs.XMLConsoleWindow(self, account)
+ dialogs.XMLConsoleWindow(account)
self.register_handlers(gajim.connections[account])
gobject.timeout_add(100, self.autoconnect)
diff --git a/src/gajim_themes_window.py b/src/gajim_themes_window.py
index db179d0df..8a026166a 100644
--- a/src/gajim_themes_window.py
+++ b/src/gajim_themes_window.py
@@ -36,10 +36,9 @@ GTKGUI_GLADE = 'gtkgui.glade'
class GajimThemesWindow:
- def __init__(self, plugin):
+ def __init__(self):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'gajim_themes_window', APP)
self.window = self.xml.get_widget('gajim_themes_window')
- self.plugin = plugin
self.options = ['account', 'group', 'contact', 'banner', 'lastmessage']
self.options_combobox = self.xml.get_widget('options_combobox')
@@ -102,7 +101,7 @@ class GajimThemesWindow:
gajim.config.set('roster_theme', new_config_name)
model.set_value(iter, 0, 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):
self.xml.get_widget('remove_button').set_sensitive(False)
@@ -144,7 +143,7 @@ class GajimThemesWindow:
col = self.themes_tree.get_column(0)
path = model.get_path(iter)
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):
(model, iter) = self.themes_tree.get_selection().get_selected()
@@ -157,7 +156,7 @@ class GajimThemesWindow:
self.theme_options_vbox.set_sensitive(False)
gajim.config.del_per('themes', self.current_theme)
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'):
self.no_update = True
@@ -193,7 +192,7 @@ class GajimThemesWindow:
self.textfont_checkbutton.set_active(state)
self.text_fontbutton.set_sensitive(state)
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):
state = widget.get_active()
@@ -248,13 +247,13 @@ class GajimThemesWindow:
self.current_option + option, color_string)
# use faster functions for this
if self.current_option == 'banner':
- self.plugin.roster.repaint_themed_widgets()
- self.plugin.save_config()
+ gajim.interface.roster.repaint_themed_widgets()
+ gajim.interface.save_config()
return
if self.no_update:
return
- self.plugin.roster.change_roster_style(self.current_option)
- self.plugin.save_config()
+ gajim.interface.roster.change_roster_style(self.current_option)
+ gajim.interface.save_config()
def _set_font(self):
''' set font value in prefs and update the UI '''
@@ -270,11 +269,11 @@ class GajimThemesWindow:
self.current_option + 'fontattrs', font_attrs)
# use faster functions for this
if self.current_option == 'banner':
- self.plugin.roster.repaint_themed_widgets()
+ gajim.interface.roster.repaint_themed_widgets()
if self.no_update:
return
- self.plugin.roster.change_roster_style(self.current_option)
- self.plugin.save_config()
+ gajim.interface.roster.change_roster_style(self.current_option)
+ gajim.interface.save_config()
def _toggle_font_widgets(self, font_props):
''' toggle font buttons with the bool values of font_props tuple'''
diff --git a/src/groupchat_window.py b/src/groupchat_window.py
index ae8555b2a..4b65349c0 100644
--- a/src/groupchat_window.py
+++ b/src/groupchat_window.py
@@ -56,10 +56,10 @@ GTKGUI_GLADE = 'gtkgui.glade'
class GroupchatWindow(chat.Chat):
'''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
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
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.new_room(room_jid, nick)
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
@@ -351,7 +352,7 @@ class GroupchatWindow(chat.Chat):
def add_contact_to_roster(self, room_jid, nick, show, role, jid, affiliation, status):
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 = ''
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)
if not role_iter:
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))
iter = model.append(role_iter, (image, 'contact', nick,
self.escape(nick)))
@@ -385,7 +386,7 @@ class GroupchatWindow(chat.Chat):
return 'visitor'
def update_state_images(self):
- roster = self.plugin.roster
+ roster = gajim.interface.roster
for room_jid in self.list_treeview:
model = self.list_treeview[room_jid].get_model()
role_iter = model.get_iter_root()
@@ -472,7 +473,7 @@ class GroupchatWindow(chat.Chat):
c.show = show
c.affiliation = affiliation
c.status = status
- roster = self.plugin.roster
+ roster = gajim.interface.roster
state_images = roster.get_appropriate_state_images(jid)
image = state_images[show]
model[iter][C_IMG] = image
@@ -567,7 +568,7 @@ class GroupchatWindow(chat.Chat):
gajim.connections[self.account].bookmarks.append(bm)
gajim.connections[self.account].store_bookmarks()
- self.plugin.roster.make_menu()
+ gajim.interface.roster.make_menu()
dialogs.InformationDialog(
_('Bookmark has been added successfully'),
@@ -810,14 +811,13 @@ class GroupchatWindow(chat.Chat):
server = servernick
nick = ''
#join_gc window is needed in order to provide for password entry.
- if self.plugin.windows[self.account].has_key('join_gc'):
- self.plugin.windows[self.account]['join_gc'].\
+ if gajim.interface.windows[self.account].has_key('join_gc'):
+ gajim.interface.windows[self.account]['join_gc'].\
window.present()
else:
try:
- self.plugin.windows[self.account]['join_gc'] =\
- dialogs.JoinGroupchatWindow(self.plugin,
- self.account,
+ gajim.interface.windows[self.account]['join_gc'] =\
+ dialogs.JoinGroupchatWindow(self.account,
server = server, room = room, nick = nick)
except RuntimeError:
pass
@@ -1090,15 +1090,15 @@ current room topic.') % command, room_jid)
else:
fjid = gajim.construct_fjid(room_jid, nick)
jid = fjid
- if self.plugin.windows[self.account]['infos'].has_key(jid):
- self.plugin.windows[self.account]['infos'][jid].window.present()
+ if gajim.interface.windows[self.account]['infos'].has_key(jid):
+ gajim.interface.windows[self.account]['infos'][jid].window.present()
else:
# we copy contact because c.jid must contain the fakeJid for vcard
c2 = Contact(jid = jid, name = c.name, groups = c.groups,
show = c.show, status = c.status, sub = c.sub,
resource = c.resource, role = c.role, affiliation = c.affiliation)
- self.plugin.windows[self.account]['infos'][jid] = \
- dialogs.VcardWindow(c2, self.plugin, self.account, False)
+ gajim.interface.windows[self.account]['infos'][jid] = \
+ dialogs.VcardWindow(c2, self.account, False)
def on_history(self, widget, 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)
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):
'''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')
room_jid = self.get_active_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
u = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
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
- self.plugin.windows[self.account]['chats'][fjid].set_active_tab(fjid)
+ gajim.interface.windows[self.account]['chats'][fjid].set_active_tab(fjid)
if msg:
- self.plugin.windows[self.account]['chats'][fjid].send_message(msg)
- self.plugin.windows[self.account]['chats'][fjid].window.present()
+ gajim.interface.windows[self.account]['chats'][fjid].send_message(msg)
+ gajim.interface.windows[self.account]['chats'][fjid].window.present()
def on_voice_checkmenuitem_activate(self, widget, room_jid, nick):
if widget.get_active():
@@ -1373,8 +1373,8 @@ current room topic.') % command, room_jid)
no_queue = False
# We print if window is opened
- if self.plugin.windows[self.account]['chats'].has_key(fjid):
- chat_win = self.plugin.windows[self.account]['chats'][fjid]
+ if gajim.interface.windows[self.account]['chats'].has_key(fjid):
+ chat_win = gajim.interface.windows[self.account]['chats'][fjid]
chat_win.print_conversation(msg, fjid, tim = tim)
return
@@ -1391,17 +1391,17 @@ current room topic.') % command, room_jid)
gajim.connections[self.account].connected > 2):
if no_queue: # We didn't have a queue: we change icons
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']
model[iter][C_IMG] = image
- if self.plugin.systray_enabled:
- self.plugin.systray.add_jid(fjid, self.account, 'pm')
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.add_jid(fjid, self.account, 'pm')
self.show_title()
else:
show = gajim.gc_contacts[self.account][room_jid][nick].show
c = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
ask = 'none')
- self.plugin.roster.new_chat(c, self.account)
+ gajim.interface.roster.new_chat(c, self.account)
# Scroll to line
self.list_treeview[room_jid].expand_row(path[0:1], False)
self.list_treeview[room_jid].scroll_to_cell(path)
@@ -1506,13 +1506,13 @@ current room topic.') % command, room_jid)
if len(path) == 2:
nick = model[iter][C_NICK].decode('utf-8')
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
u = Contact(jid = fjid, name = nick, groups = ['none'],
show = show, sub = 'none')
- self.plugin.roster.new_chat(u, self.account)
- self.plugin.windows[self.account]['chats'][fjid].set_active_tab(fjid)
- self.plugin.windows[self.account]['chats'][fjid].window.present()
+ gajim.interface.roster.new_chat(u, self.account)
+ gajim.interface.windows[self.account]['chats'][fjid].set_active_tab(fjid)
+ gajim.interface.windows[self.account]['chats'][fjid].window.present()
return True
elif event.button == 1: # left click
@@ -1550,22 +1550,22 @@ current room topic.') % command, room_jid)
room_jid = self.get_active_jid()
nick = model[iter][C_NICK].decode('utf-8')
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
u = Contact(jid = fjid, name = nick, groups = ['none'], show = show,
sub = 'none')
- self.plugin.roster.new_chat(u, self.account)
- self.plugin.windows[self.account]['chats'][fjid].set_active_tab(fjid)
- self.plugin.windows[self.account]['chats'][fjid].window.present()
+ gajim.interface.roster.new_chat(u, self.account)
+ gajim.interface.windows[self.account]['chats'][fjid].set_active_tab(fjid)
+ gajim.interface.windows[self.account]['chats'][fjid].window.present()
def on_list_treeview_row_expanded(self, widget, iter, path):
'''When a row is expanded: change the icon of the arrow'''
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
def on_list_treeview_row_collapsed(self, widget, iter, path):
'''When a row is collapsed: change the icon of the arrow'''
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
diff --git a/src/history_window.py b/src/history_window.py
index caaae4138..03ff64dfe 100644
--- a/src/history_window.py
+++ b/src/history_window.py
@@ -34,8 +34,7 @@ GTKGUI_GLADE = 'gtkgui.glade'
class HistoryWindow:
'''Class for browsing logs of conversations with contacts'''
- def __init__(self, plugin, jid, account):
- self.plugin = plugin
+ def __init__(self, jid, account):
self.jid = jid
self.account = account
self.no_of_lines = gajim.logger.get_no_of_lines(jid)
@@ -80,7 +79,7 @@ class HistoryWindow:
self.window.show_all()
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):
self.window.destroy()
diff --git a/src/remote_control.py b/src/remote_control.py
index fdc99a77c..edbbea5ba 100644
--- a/src/remote_control.py
+++ b/src/remote_control.py
@@ -49,7 +49,7 @@ OBJ_PATH = '/org/gajim/dbus/RemoteObject'
SERVICE = 'org.gajim.dbus'
class Remote:
- def __init__(self, plugin):
+ def __init__(self):
self.signal_object = None
if 'dbus' not in globals() and not os.name == 'nt':
print _('D-Bus python bindings are missing in this computer')
@@ -66,10 +66,10 @@ class Remote:
if _version[1] >= 41:
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:
service=dbus.Service(SERVICE, session_bus)
- self.signal_object = SignalObject(service, plugin)
+ self.signal_object = SignalObject(service)
def set_enabled(self, 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
not be visible, because the clients can access only the remote object. '''
- def __init__(self, service, plugin):
- self.plugin = plugin
+ def __init__(self, service):
self.first_show = True
self.vcard_account = None
self.disabled = False
@@ -162,7 +161,7 @@ class SignalObject(DbusPrototype):
if connected_account:
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)
return True
return False
@@ -220,7 +219,7 @@ class SignalObject(DbusPrototype):
first_connected_acct = None
for acct in accounts:
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
break
# jid is in roster
@@ -239,9 +238,9 @@ class SignalObject(DbusPrototype):
connected_account = first_connected_acct
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'
- win = self.plugin.windows[connected_account]['chats'][jid].window
+ win = gajim.interface.windows[connected_account]['chats'][jid].window
if win.get_property('visible'):
win.window.focus()
return True
@@ -258,12 +257,12 @@ class SignalObject(DbusPrototype):
# FIXME: raise exception for bad status (dbus0.35)
return None
if account:
- gobject.idle_add(self.plugin.roster.send_status, account,
+ gobject.idle_add(gajim.interface.roster.send_status, account,
status, message)
else:
# account not specified, so change the status of all accounts
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)
return None
@@ -273,17 +272,17 @@ class SignalObject(DbusPrototype):
return
#FIXME: when systray is disabled this method does nothing.
#FIXME: show message from GC that refer to us (like systray does)
- if len(self.plugin.systray.jids) != 0:
- account = self.plugin.systray.jids[0][0]
- jid = self.plugin.systray.jids[0][1]
- acc = self.plugin.windows[account]
+ if len(gajim.interface.systray.jids) != 0:
+ account = gajim.interface.systray.jids[0][0]
+ jid = gajim.interface.systray.jids[0][1]
+ acc = gajim.interface.windows[account]
jid_tab = None
if acc['gc'].has_key(jid):
jid_tab = acc['gc'][jid]
elif acc['chats'].has_key(jid):
jid_tab = acc['chats'][jid]
else:
- self.plugin.roster.new_chat(
+ gajim.interface.roster.new_chat(
gajim.contacts[account][jid][0], account)
jid_tab = acc['chats'][jid]
if jid_tab:
@@ -365,7 +364,7 @@ class SignalObject(DbusPrototype):
''' shows/hides the roster window '''
if self.disabled:
return
- win = self.plugin.roster.window
+ win = gajim.interface.roster.window
if win.get_property('visible'):
gobject.idle_add(win.hide)
else:
@@ -392,7 +391,7 @@ class SignalObject(DbusPrototype):
def prefs_store(self, *args):
try:
- self.plugin.save_config()
+ gajim.interface.save_config()
except Exception, e:
return False
return True
@@ -426,7 +425,7 @@ class SignalObject(DbusPrototype):
def add_contact(self, *args):
[account] = self._get_real_arguments(args, 1)
if gajim.contacts.has_key(account):
- AddNewContactWindow(self.plugin, account)
+ AddNewContactWindow(account)
return True
return False
@@ -444,7 +443,7 @@ class SignalObject(DbusPrototype):
if gajim.contacts[account].has_key(jid):
gajim.connections[account].unsubscribe(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]
contact_exists = True
return contact_exists
diff --git a/src/roster_window.py b/src/roster_window.py
index 31a980ead..b846e02a0 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -60,7 +60,7 @@ C_SECPIXBUF, # econdary_pixbuf
GTKGUI_GLADE = 'gtkgui.glade'
class RosterWindow:
- '''Class for main window of gtkgui plugin'''
+ '''Class for main window of gtkgui interface'''
def get_account_iter(self, name):
if self.regroup:
@@ -248,7 +248,7 @@ class RosterWindow:
#FIXME: add avatar
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]:
dialogs.ErrorDialog(_('You are already in room %s') %room_jid
).get_response()
@@ -259,10 +259,10 @@ class RosterWindow:
).get_response()
return
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.plugin.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].set_active_tab(room_jid)
+ gajim.interface.windows[account]['gc'][room_jid].window.present()
gajim.connections[account].join_gc(nick, room, server, password)
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):
server = gajim.config.get_per('accounts', account, 'hostname')
server += '/announce/online'
- dialogs.SingleMessageWindow(self.plugin, account, server, 'send')
+ dialogs.SingleMessageWindow(account, server, 'send')
def on_xml_console_menuitem_activate(self, widget, account):
- if self.plugin.windows[account].has_key('xml_console'):
- self.plugin.windows[account]['xml_console'].window.present()
+ if gajim.interface.windows[account].has_key('xml_console'):
+ gajim.interface.windows[account]['xml_console'].window.present()
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):
server = gajim.config.get_per('accounts', account, 'hostname')
server += '/announce/motd'
- dialogs.SingleMessageWindow(self.plugin, account, server, 'send')
+ dialogs.SingleMessageWindow(account, server, 'send')
def on_update_motd_menuitem_activate(self, widget, account):
server = gajim.config.get_per('accounts', account, 'hostname')
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):
server = gajim.config.get_per('accounts', account, 'hostname')
@@ -628,28 +628,27 @@ class RosterWindow:
self.add_contact_to_roster(contact.jid, account)
self.draw_contact(contact.jid, account)
# 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
- self.plugin.windows[account]['chats'][jid].set_state_image(jid)
+ gajim.interface.windows[account]['chats'][jid].set_state_image(jid)
name = contact.name
if contact.resource != '':
name += '/' + contact.resource
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')
if contact == gajim.get_contact_instance_with_highest_priority(\
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):
'''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):
info[user.jid].window.present()
else:
- info[user.jid] = dialogs.VcardWindow(user, self.plugin,
- account)
+ info[user.jid] = dialogs.VcardWindow(user, account)
def show_tooltip(self, contact):
pointer = self.tree.get_pointer()
@@ -800,24 +799,24 @@ class RosterWindow:
keys[user.jid] = keyID[0]
for u in gajim.contacts[account][user.jid]:
u.keyID = keyID[0]
- if self.plugin.windows[account]['chats'].has_key(user.jid):
- self.plugin.windows[account]['chats'][user.jid].draw_widgets(user)
+ if gajim.interface.windows[account]['chats'].has_key(user.jid):
+ gajim.interface.windows[account]['chats'][user.jid].draw_widgets(user)
keys_str = ''
for jid in keys:
keys_str += jid + ' ' + keys[jid] + ' '
gajim.config.set_per('accounts', account, 'attached_gpg_keys', keys_str)
def on_edit_groups(self, widget, user, account):
- dlg = dialogs.EditGroupsDialog(user, account, self.plugin)
+ dlg = dialogs.EditGroupsDialog(user, account)
dlg.run()
def on_history(self, widget, contact, account):
'''When history menuitem is activated: call log window'''
- if self.plugin.windows['logs'].has_key(contact.jid):
- self.plugin.windows['logs'][contact.jid].window.present()
+ if gajim.interface.windows['logs'].has_key(contact.jid):
+ gajim.interface.windows['logs'][contact.jid].window.present()
else:
- self.plugin.windows['logs'][contact.jid] = history_window.\
- HistoryWindow(self.plugin, contact.jid, account)
+ gajim.interface.windows['logs'][contact.jid] = history_window.\
+ HistoryWindow(contact.jid, account)
def on_send_single_message_menuitem_activate(self, wiget, account,
contact = None):
@@ -827,7 +826,7 @@ class RosterWindow:
dialogs.SingleMessageWindow(self, account, contact.jid, 'send')
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)
def mk_menu_user(self, event, iter):
@@ -990,11 +989,11 @@ class RosterWindow:
menu.show_all()
def on_edit_account(self, widget, account):
- if self.plugin.windows[account].has_key('account_modification'):
- self.plugin.windows[account]['account_modification'].window.present()
+ if gajim.interface.windows[account].has_key('account_modification'):
+ gajim.interface.windows[account]['account_modification'].window.present()
else:
- self.plugin.windows[account]['account_modification'] = \
- config.AccountModificationWindow(self.plugin, account)
+ gajim.interface.windows[account]['account_modification'] = \
+ config.AccountModificationWindow(account)
def get_possible_button_event(self, event):
'''mouse or keyboard caused the event?'''
@@ -1007,7 +1006,7 @@ class RosterWindow:
def on_change_status_message_activate(self, widget, account):
show = gajim.SHOW_LIST[gajim.connections[account].connected]
- dlg = dialogs.ChangeStatusMessageDialog(self.plugin, show)
+ dlg = dialogs.ChangeStatusMessageDialog(show)
message = dlg.run()
if message is not None: # None is if user pressed Cancel
self.send_status(account, show, message)
@@ -1099,7 +1098,7 @@ class RosterWindow:
account_context_menu.show_all()
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):
'''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'):
account = model[iter][C_ACCOUNT].decode('utf-8')
jid = model[iter][C_JID].decode('utf-8')
- if self.plugin.windows[account]['chats'].has_key(jid):
- self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
+ if gajim.interface.windows[account]['chats'].has_key(jid):
+ gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
elif gajim.contacts[account].has_key(jid):
c = gajim.get_contact_instance_with_highest_priority(account, jid)
self.new_chat(c, account)
- self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
- self.plugin.windows[account]['chats'][jid].window.present()
+ gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
+ gajim.interface.windows[account]['chats'][jid].window.present()
elif type == 'account':
account = model[iter][C_ACCOUNT]
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]:
self.remove_contact(u, account)
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,
groups = [_('not in the roster')], show = 'not in the roster',
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)
if accountIter:
model[accountIter][0] = self.jabber_state_images['connecting']
- if self.plugin.systray_enabled:
- self.plugin.systray.change_status('connecting')
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.change_status('connecting')
def send_status(self, account, status, txt, sync = False, auto = False):
model = self.tree.get_model()
@@ -1313,8 +1312,8 @@ _('If "%s" accepts this request you will know his status.') %jid)
if passphrase == -1:
if accountIter:
model[accountIter][0] = self.jabber_state_images['offline']
- if self.plugin.systray_enabled:
- self.plugin.systray.change_status('offline')
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.change_status('offline')
self.update_status_comboxbox()
return
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].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':
- 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,
txt)
- if status == 'online' and self.plugin.sleeper.getState() != \
+ if status == 'online' and gajim.interface.sleeper.getState() != \
common.sleepy.STATE_UNKNOWN:
gajim.sleeper_state[account] = 'online'
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 \
(show == 'offline' and not gajim.config.get('ask_offline_status')):
return ''
- dlg = dialogs.ChangeStatusMessageDialog(self.plugin, show)
+ dlg = dialogs.ChangeStatusMessageDialog(show)
message = dlg.run()
return message
@@ -1423,7 +1422,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
).get_response()
self.update_status_comboxbox()
return
- dlg = dialogs.ChangeStatusMessageDialog(self.plugin)
+ dlg = dialogs.ChangeStatusMessageDialog()
message = dlg.run()
if message is not None: # None if user pressed Cancel
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)
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}
maxi = 0
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)
statuss = ['offline', 'connecting', 'online', 'chat', 'away',
'xa', 'dnd', 'invisible']
- if self.plugin.systray_enabled:
- self.plugin.systray.change_status(statuss[maxi])
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.change_status(statuss[maxi])
def on_status_changed(self, account, status):
'''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):
if gajim.config.get('usetabbedchat'):
- if not self.plugin.windows[account]['chats'].has_key('tabbed'):
- self.plugin.windows[account]['chats']['tabbed'] = \
- tabbed_chat_window.TabbedChatWindow(contact, self.plugin, account)
+ if not gajim.interface.windows[account]['chats'].has_key('tabbed'):
+ gajim.interface.windows[account]['chats']['tabbed'] = \
+ tabbed_chat_window.TabbedChatWindow(contact, account)
else:
- self.plugin.windows[account]['chats']['tabbed'].new_tab(contact)
-
- self.plugin.windows[account]['chats'][contact.jid] = \
- self.plugin.windows[account]['chats']['tabbed']
+ gajim.interface.windows[account]['chats']['tabbed'].new_tab(contact)
+
+ gajim.interface.windows[account]['chats'][contact.jid] = \
+ gajim.interface.windows[account]['chats']['tabbed']
else:
- self.plugin.windows[account]['chats'][contact.jid] = \
- tabbed_chat_window.TabbedChatWindow(contact, self.plugin, account)
+ gajim.interface.windows[account]['chats'][contact.jid] = \
+ tabbed_chat_window.TabbedChatWindow(contact, account)
def new_chat_from_jid(self, account, 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]
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.plugin.windows[account]['chats'][jid].set_active_tab(jid)
- self.plugin.windows[account]['chats'][jid].window.present()
+ gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
+ gajim.interface.windows[account]['chats'][jid].window.present()
def new_room(self, jid, nick, account):
if gajim.config.get('usetabbedchat'):
- if not self.plugin.windows[account]['gc'].has_key('tabbed'):
- self.plugin.windows[account]['gc']['tabbed'] = \
- groupchat_window.GroupchatWindow(jid, nick, self.plugin,
- account)
+ if not gajim.interface.windows[account]['gc'].has_key('tabbed'):
+ gajim.interface.windows[account]['gc']['tabbed'] = \
+ groupchat_window.GroupchatWindow(jid, nick, account)
else:
- self.plugin.windows[account]['gc']['tabbed'].new_room(jid, nick)
- self.plugin.windows[account]['gc'][jid] = \
- self.plugin.windows[account]['gc']['tabbed']
+ gajim.interface.windows[account]['gc']['tabbed'].new_room(jid, nick)
+ gajim.interface.windows[account]['gc'][jid] = \
+ gajim.interface.windows[account]['gc']['tabbed']
else:
- self.plugin.windows[account]['gc'][jid] = \
- groupchat_window.GroupchatWindow(jid, nick, self.plugin, account)
+ gajim.interface.windows[account]['gc'][jid] = \
+ groupchat_window.GroupchatWindow(jid, nick, account)
def on_message(self, jid, msg, tim, account, encrypted = False,
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 popup:
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,
message = msg)
return
# 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':
typ = ''
if msg_type == 'error':
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)
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)))
self.nb_unread += 1
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)
self.new_chat(c, account)
if path:
@@ -1624,8 +1622,8 @@ _('If "%s" accepts this request you will know his status.') %jid)
else:
if no_queue: # We didn't have a queue: we change icons
self.draw_contact(jid, account)
- if self.plugin.systray_enabled:
- self.plugin.systray.add_jid(jid, account, kind)
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.add_jid(jid, account, kind)
self.show_title() # we show the * or [n]
if not path:
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)
def on_preferences_menuitem_activate(self, widget):
- if self.plugin.windows['preferences'].window.get_property('visible'):
- self.plugin.windows['preferences'].window.present()
+ if gajim.interface.windows['preferences'].window.get_property('visible'):
+ gajim.interface.windows['preferences'].window.present()
else:
- self.plugin.windows['preferences'].window.show_all()
+ gajim.interface.windows['preferences'].window.show_all()
def on_add_new_contact(self, widget, account):
- dialogs.AddNewContactWindow(self.plugin, account)
+ dialogs.AddNewContactWindow(account)
def on_join_gc_activate(self, widget, account):
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')
).get_response()
return
- if self.plugin.windows[account].has_key('join_gc'):
- self.plugin.windows[account]['join_gc'].window.present()
+ if gajim.interface.windows[account].has_key('join_gc'):
+ gajim.interface.windows[account]['join_gc'].window.present()
else:
# c http://nkour.blogspot.com/2005/05/pythons-init-return-none-doesnt-return.html
try:
- self.plugin.windows[account]['join_gc'] = dialogs.JoinGroupchatWindow(self.plugin, account)
+ gajim.interface.windows[account]['join_gc'] = \
+ dialogs.JoinGroupchatWindow(account)
except RuntimeError:
pass
def on_new_message_menuitem_activate(self, widget, account):
- dialogs.NewMessageDialog(self.plugin, account)
+ dialogs.NewMessageDialog(account)
def on_contents_menuitem_activate(self, widget):
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()
def on_accounts_menuitem_activate(self, widget):
- if self.plugin.windows.has_key('accounts'):
- self.plugin.windows['accounts'].window.present()
+ if gajim.interface.windows.has_key('accounts'):
+ gajim.interface.windows['accounts'].window.present()
else:
- self.plugin.windows['accounts'] = config.AccountsWindow(self.plugin)
+ gajim.interface.windows['accounts'] = config.AccountsWindow()
def on_file_transfers_menuitem_activate(self, widget):
- if self.plugin.windows['file_transfers'].window.get_property('visible'):
- self.plugin.windows['file_transfers'].window.present()
+ if gajim.interface.windows['file_transfers'].window.get_property('visible'):
+ gajim.interface.windows['file_transfers'].window.present()
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):
- config.ManageBookmarksWindow(self.plugin)
+ config.ManageBookmarksWindow()
def close_all(self, dic):
'''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):
'''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.window.hide()
else:
@@ -1714,7 +1713,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
for acct in accounts:
if gajim.connections[acct].connected:
self.send_status(acct, 'offline', message, True)
- self.quit_gtkgui_plugin()
+ self.quit_gtkgui_interface()
return True # do NOT destory the window
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:
treeselection = self.tree.get_selection()
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.window.hide()
- def quit_gtkgui_plugin(self):
- '''When we quit the gtk plugin :
+ def quit_gtkgui_interface(self):
+ '''When we quit the gtk interface :
tell that to the core and exit gtk'''
if gajim.config.get('saveposition'):
# 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('collapsed_rows', '\t'.join(self.collapsed_rows))
- self.plugin.save_config()
+ gajim.interface.save_config()
for account in gajim.connections:
gajim.connections[account].quit(True)
- self.close_all(self.plugin.windows)
- if self.plugin.systray_enabled:
- self.plugin.hide_systray()
+ self.close_all(gajim.interface.windows)
+ if gajim.interface.systray_enabled:
+ gajim.interface.hide_systray()
gtk.main_quit()
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:
unread = True
for account in accounts:
- if self.plugin.windows[account]['chats'].has_key('tabbed'):
- wins = [self.plugin.windows[account]['chats']['tabbed']]
+ if gajim.interface.windows[account]['chats'].has_key('tabbed'):
+ wins = [gajim.interface.windows[account]['chats']['tabbed']]
else:
- wins = self.plugin.windows[account]['chats'].values()
+ wins = gajim.interface.windows[account]['chats'].values()
for win in wins:
unrd = 0
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:
# send status asynchronously
self.send_status(acct, 'offline', message, True)
- self.quit_gtkgui_plugin()
+ self.quit_gtkgui_interface()
def open_event(self, account, jid, event):
'''If an event was handled, return True, else return False'''
typ = event[0]
data = event[1]
- ft = self.plugin.windows['file_transfers']
- self.plugin.remove_first_event(account, jid, typ)
+ ft = gajim.interface.windows['file_transfers']
+ gajim.interface.remove_first_event(account, jid, typ)
if typ == 'normal':
- dialogs.SingleMessageWindow(self.plugin, account, jid,
+ dialogs.SingleMessageWindow(account, jid,
action = 'receive', from_whom = jid, subject = data[1],
message = data[0])
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):
return
- if self.plugin.windows[account]['chats'].has_key(jid):
- self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
+ if gajim.interface.windows[account]['chats'].has_key(jid):
+ gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
elif gajim.contacts[account].has_key(jid):
c = gajim.get_contact_instance_with_highest_priority(account, jid)
self.new_chat(c, account)
- self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
- self.plugin.windows[account]['chats'][jid].window.present()
+ gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
+ gajim.interface.windows[account]['chats'][jid].window.present()
def on_roster_treeview_row_expanded(self, widget, iter, path):
'''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)
def on_service_disco_menuitem_activate(self, widget, account):
- if self.plugin.windows[account].has_key('disco'):
- self.plugin.windows[account]['disco'].window.present()
+ if gajim.interface.windows[account].has_key('disco'):
+ gajim.interface.windows[account]['disco'].window.present()
else:
# c http://nkour.blogspot.com/2005/05/pythons-init-return-none-doesnt-return.html
try:
- self.plugin.windows[account]['disco'] = \
- config.ServiceDiscoveryWindow(self.plugin, account)
+ gajim.interface.windows[account]['disco'] = \
+ config.ServiceDiscoveryWindow(account)
except RuntimeError:
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]]
iter = model.iter_next(iter)
# Update the systray
- if self.plugin.systray_enabled:
- self.plugin.systray.set_img()
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.set_img()
for account in gajim.connections:
# Update opened chat windows
- for jid in self.plugin.windows[account]['chats']:
+ for jid in gajim.interface.windows[account]['chats']:
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
- for jid in self.plugin.windows[account]['gc']:
+ for jid in gajim.interface.windows[account]['gc']:
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()
def repaint_themed_widgets(self):
"""Notify windows that contain themed widgets to repaint them"""
for account in gajim.connections:
# Update opened chat windows/tabs
- for jid in self.plugin.windows[account]['chats']:
- self.plugin.windows[account]['chats'][jid].repaint_colored_widgets()
- for jid in self.plugin.windows[account]['gc']:
- self.plugin.windows[account]['gc'][jid].repaint_colored_widgets()
+ for jid in gajim.interface.windows[account]['chats']:
+ gajim.interface.windows[account]['chats'][jid].repaint_colored_widgets()
+ for jid in gajim.interface.windows[account]['gc']:
+ gajim.interface.windows[account]['gc'][jid].repaint_colored_widgets()
def on_show_offline_contacts_menuitem_activate(self, widget):
'''when show offline option is changed:
@@ -2323,11 +2322,10 @@ _('If "%s" accepts this request you will know his status.') %jid)
return True
return False
- def __init__(self, plugin):
+ def __init__(self):
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'roster_window', APP)
self.window = self.xml.get_widget('roster_window')
self.tree = self.xml.get_widget('roster_treeview')
- self.plugin = plugin
self.nb_unread = 0
self.last_save_dir = None
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.collapsed_rows = gajim.config.get('collapsed_rows').split('\t')
- self.tooltip = tooltips.RosterTooltip(self.plugin)
+ self.tooltip = tooltips.RosterTooltip()
self.make_menu()
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)
if len(gajim.connections) == 0: # if we have no account
- self.plugin.windows['wizard_window'] = \
- config.FirstTimeWizardWindow(self.plugin)
+ gajim.interface.windows['wizard_window'] = \
+ config.FirstTimeWizardWindow()
diff --git a/src/systray.py b/src/systray.py
index e715a38cb..0e5966d0a 100644
--- a/src/systray.py
+++ b/src/systray.py
@@ -52,8 +52,7 @@ class Systray:
This class is both base class (for systraywin32.py) and normal class
for trayicon in GNU/Linux'''
- def __init__(self, plugin):
- self.plugin = plugin
+ def __init__(self):
self.jids = [] # Contain things like [account, jid, type_of_msg]
self.new_message_handler_id = None
self.t = None
@@ -68,7 +67,7 @@ class Systray:
state = 'message'
else:
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:
self.img_tray.set_from_animation(image.get_animation())
elif image.get_storage_type() == gtk.IMAGE_PIXBUF:
@@ -95,18 +94,18 @@ class Systray:
self.set_img()
def start_chat(self, widget, account, jid):
- if self.plugin.windows[account]['chats'].has_key(jid):
- self.plugin.windows[account]['chats'][jid].window.present()
- self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
+ if gajim.interface.windows[account]['chats'].has_key(jid):
+ gajim.interface.windows[account]['chats'][jid].window.present()
+ gajim.interface.windows[account]['chats'][jid].set_active_tab(jid)
elif gajim.contacts[account].has_key(jid):
- self.plugin.roster.new_chat(
+ gajim.interface.roster.new_chat(
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):
"""When new message menuitem is activated:
call the NewMessageDialog class"""
- dialogs.NewMessageDialog(self.plugin, account)
+ dialogs.NewMessageDialog(account)
def make_menu(self, event = None):
'''create chat with and new message (sub) menus/menuitems
@@ -130,7 +129,7 @@ class Systray:
if not iconset:
iconset = 'sun'
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']:
uf_show = helpers.get_uf_show(show, use_mnemonic = True)
@@ -211,13 +210,13 @@ class Systray:
self.systray_context_menu.show_all()
def on_preferences_menuitem_activate(self, widget):
- if self.plugin.windows['preferences'].window.get_property('visible'):
- self.plugin.windows['preferences'].window.present()
+ if gajim.interface.windows['preferences'].window.get_property('visible'):
+ gajim.interface.windows['preferences'].window.present()
else:
- self.plugin.windows['preferences'].window.show_all()
+ gajim.interface.windows['preferences'].window.show_all()
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):
groups_menu = gtk.Menu()
@@ -252,7 +251,7 @@ class Systray:
return groups_menu
def on_left_click(self):
- win = self.plugin.roster.window
+ win = gajim.interface.roster.window
if len(self.jids) == 0:
if win.get_property('visible'):
win.hide()
@@ -262,7 +261,7 @@ class Systray:
account = self.jids[0][0]
jid = self.jids[0][1]
typ = self.jids[0][2]
- wins = self.plugin.windows[account]
+ wins = gajim.interface.windows[account]
w = None
if typ == 'gc':
if wins['gc'].has_key(jid):
@@ -271,7 +270,7 @@ class Systray:
if wins['chats'].has_key(jid):
w = wins['chats'][jid]
else:
- self.plugin.roster.new_chat(
+ gajim.interface.roster.new_chat(
gajim.contacts[account][jid][0], account)
w = wins['chats'][jid]
elif typ == 'pm':
@@ -282,14 +281,14 @@ class Systray:
show = gajim.gc_contacts[account][room_jid][nick].show
c = Contact(jid = jid, name = nick, groups = ['none'],
show = show, ask = 'none')
- self.plugin.roster.new_chat(c, account)
+ gajim.interface.roster.new_chat(c, account)
w = wins['chats'][jid]
elif typ in ('normal', 'file-request', 'file-request-error',
'file-send-error', 'file-error', 'file-stopped', 'file-completed'):
# Get the first single message event
ev = gajim.get_first_event(account, jid, typ)
# Open the window
- self.plugin.roster.open_event(account, jid, ev)
+ gajim.interface.roster.open_event(account, jid, ev)
if w:
w.set_active_tab(jid)
w.window.present()
@@ -297,7 +296,7 @@ class Systray:
w.scroll_to_end(tv)
def on_middle_click(self):
- win = self.plugin.roster.window
+ win = gajim.interface.roster.window
if win.is_active():
win.hide()
else:
@@ -315,10 +314,10 @@ class Systray:
def on_show_menuitem_activate(self, widget, show):
l = ['online', 'chat', 'away', 'xa', 'dnd', 'invisible', 'offline']
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):
- dlg = dialogs.ChangeStatusMessageDialog(self.plugin)
+ dlg = dialogs.ChangeStatusMessageDialog()
message = dlg.run()
if message is not None: # None if user press Cancel
accounts = gajim.connections.keys()
@@ -327,7 +326,7 @@ class Systray:
'sync_with_global_status'):
continue
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):
position = widget.window.get_origin()
@@ -364,7 +363,7 @@ class Systray:
eb.connect('button-press-event', self.on_clicked)
eb.connect('motion-notify-event', self.on_tray_motion_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()
eb.add(self.img_tray)
diff --git a/src/systraywin32.py b/src/systraywin32.py
index 549b06755..460011b36 100644
--- a/src/systraywin32.py
+++ b/src/systraywin32.py
@@ -214,10 +214,9 @@ class NotifyIcon:
class SystrayWin32(systray.Systray):
- def __init__(self, plugin):
+ def __init__(self):
# Note: gtk window must be realized before installing extensions.
- systray.Systray.__init__(self, plugin)
- self.plugin = plugin
+ systray.Systray.__init__(self)
self.jids = []
self.status = 'offline'
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.plugin.roster.window.realize()
- #self.plugin.roster.window.show_all()
+ #gajim.interface.roster.window.realize()
+ #gajim.interface.roster.window.show_all()
w = gtk.Window() # just a window to pass
w.realize() # realize it so gtk window exists
self.systray_winapi = SystrayWINAPI(w)
# 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)
@@ -266,11 +265,11 @@ class SystrayWin32(systray.Systray):
def 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:
# in chat / groupchat windows
for kind in ['chats', 'gc']:
- jids = self.plugin.windows[acct][kind]
+ jids = gajim.interface.windows[acct][kind]
for jid in jids:
if jid != 'tabbed':
nb += jids[jid].nb_unread[jid]
@@ -285,13 +284,13 @@ class SystrayWin32(systray.Systray):
def 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:
# in chat / groupchat windows
for kind in ['chats', 'gc']:
- for jid in self.plugin.windows[acct][kind]:
+ for jid in gajim.interface.windows[acct][kind]:
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:
text = i18n.ngettext(
diff --git a/src/tabbed_chat_window.py b/src/tabbed_chat_window.py
index 52233a56f..8b9537511 100644
--- a/src/tabbed_chat_window.py
+++ b/src/tabbed_chat_window.py
@@ -43,10 +43,10 @@ GTKGUI_GLADE = 'gtkgui.glade'
class TabbedChatWindow(chat.Chat):
'''Class for tabbed chat window'''
- def __init__(self, contact, plugin, account):
+ def __init__(self, contact, account):
# we check that on opening new windows
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 = {}
# keep check for possible paused timeouts per jid
self.possible_paused_timeout_id = {}
@@ -123,14 +123,14 @@ class TabbedChatWindow(chat.Chat):
for uri in uri_splitted:
path = helpers.get_file_path_from_dnd_dropped_uri(uri)
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)
def on_avatar_eventbox_enter_notify_event(self, widget, event):
'''we enter the eventbox area so we under conditions add a timeout
to show a bigger avatar after 0.5 sec'''
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_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
and shows it'''
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_h = gtk.gdk.screen_height()
avatar_w = avatar_pixbuf.get_width()
@@ -289,11 +289,11 @@ class TabbedChatWindow(chat.Chat):
if not xml:
return
- if self.plugin.avatar_pixbufs[jid] is None:
+ if gajim.interface.avatar_pixbufs[jid] is None:
# contact has no avatar
scaled_buf = None
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
# (keep aspect ratio)
@@ -330,7 +330,7 @@ class TabbedChatWindow(chat.Chat):
child = self.childs[jid]
hb = self.notebook.get_tab_label(child).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
banner_image = state_images[show]
@@ -379,7 +379,7 @@ class TabbedChatWindow(chat.Chat):
gajim.config.set('chat-height', height)
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')
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):
jid = self.get_active_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)
def on_add_to_roster_menuitem_activate(self, widget):
jid = self.get_active_jid()
- dialogs.AddNewContactWindow(self.plugin, self.account, jid)
+ dialogs.AddNewContactWindow(self.account, jid)
def on_send_button_clicked(self, widget):
'''When send button is pressed: send the current message'''
@@ -439,7 +439,7 @@ class TabbedChatWindow(chat.Chat):
# this is to prove cache code works:
# 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
gajim.connections[self.account].request_vcard(contact.jid)
#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):
jid = self.get_active_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):
'''read queue and print messages containted in it'''
@@ -789,7 +789,7 @@ class TabbedChatWindow(chat.Chat):
# Is it a pm ?
is_pm = False
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):
is_pm = True
events_to_keep = []
@@ -811,12 +811,12 @@ class TabbedChatWindow(chat.Chat):
if is_pm:
gcs[room_jid].nb_unread[room_jid] -= 1
else:
- self.plugin.roster.nb_unread -= 1
+ gajim.interface.roster.nb_unread -= 1
if is_pm:
gcs[room_jid].show_title()
else:
- self.plugin.roster.show_title()
+ gajim.interface.roster.show_title()
# Keep only non-messages events
if len(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 ?
# reset to status image in gc if it is a pm
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):
gcs[room_jid].update_state_images()
typ = 'pm'
- self.plugin.roster.draw_contact(jid, self.account)
- if self.plugin.systray_enabled:
- self.plugin.systray.remove_jid(jid, self.account, typ)
+ gajim.interface.roster.draw_contact(jid, self.account)
+ if gajim.interface.systray_enabled:
+ gajim.interface.systray.remove_jid(jid, self.account, typ)
showOffline = gajim.config.get('showoffline')
if (contact.show == 'offline' or contact.show == 'error') and \
not showOffline:
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,
encrypted = False, subject = None):
diff --git a/src/tooltips.py b/src/tooltips.py
index 549a813fa..123b4715f 100644
--- a/src/tooltips.py
+++ b/src/tooltips.py
@@ -173,8 +173,7 @@ class StatusTable:
class NotificationAreaTooltip(BaseTooltip, StatusTable):
''' Tooltip that is shown in the notification area '''
- def __init__(self, plugin):
- self.plugin = plugin
+ def __init__(self):
BaseTooltip.__init__(self)
StatusTable.__init__(self)
@@ -204,14 +203,14 @@ class NotificationAreaTooltip(BaseTooltip, StatusTable):
accounts.append({'name': account, 'status_line': single_line,
'show': status, 'message': message})
- unread_chat = self.plugin.roster.nb_unread
+ unread_chat = gajim.interface.roster.nb_unread
unread_single_chat = 0
unread_gc = 0
unread_pm = 0
for acct in gajim.connections:
# 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:
if jid != 'tabbed':
if gajim.contacts[acct].has_key(jid):
@@ -219,7 +218,7 @@ class NotificationAreaTooltip(BaseTooltip, StatusTable):
else:
unread_pm += chat_wins[jid].nb_unread[jid]
# 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:
if jid != 'tabbed':
pm_msgs = gc_wins[jid].get_specific_unread(jid)
@@ -291,9 +290,8 @@ class NotificationAreaTooltip(BaseTooltip, StatusTable):
class GCTooltip(BaseTooltip, StatusTable):
''' Tooltip that is shown in the GC treeview '''
- def __init__(self, plugin):
+ def __init__(self):
self.account = None
- self.plugin = plugin
self.text_lable = gtk.Label()
self.text_lable.set_line_wrap(True)
@@ -339,9 +337,8 @@ class GCTooltip(BaseTooltip, StatusTable):
class RosterTooltip(BaseTooltip, StatusTable):
''' Tooltip that is shown in the roster treeview '''
- def __init__(self, plugin):
+ def __init__(self):
self.account = None
- self.plugin = plugin
self.image = gtk.Image()
self.image.set_alignment(0., 0.)
diff --git a/src/vcard.py b/src/vcard.py
index a760f81a9..3eca0660f 100644
--- a/src/vcard.py
+++ b/src/vcard.py
@@ -42,7 +42,7 @@ GTKGUI_GLADE = 'gtkgui.glade'
class VcardWindow:
'''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
self.xml = gtk.glade.XML(GTKGUI_GLADE, 'vcard_information_window', APP)
self.window = self.xml.get_widget('vcard_information_window')
@@ -53,7 +53,6 @@ class VcardWindow:
self.publish_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.account = account
self.vcard = vcard
@@ -74,7 +73,7 @@ class VcardWindow:
self.window.show_all()
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):
if event.keyval == gtk.keysyms.Escape:
@@ -90,8 +89,9 @@ class VcardWindow:
new_name = name_entry.get_text().decode('utf-8')
if new_name != self.contact.name and new_name != '':
self.contact.name = new_name
- for i in self.plugin.roster.get_contact_iter(self.contact.jid, self.account):
- self.plugin.roster.tree.get_model().set_value(i, 1, new_name)
+ for i in gajim.interface.roster.get_contact_iter(self.contact.jid,
+ self.account):
+ gajim.interface.roster.tree.get_model().set_value(i, 1, new_name)
gajim.connections[self.account].update_contact(self.contact.jid,
self.contact.name, self.contact.groups)
#log history ?