From 3eab7400afb4e89161a7820060a00d386e9b104d Mon Sep 17 00:00:00 2001 From: Nikos Kouremenos Date: Sat, 11 Jun 2005 16:15:01 +0000 Subject: [PATCH] almost finishing patch of delmonico --- src/config.py | 12 +++--------- src/gajim.py | 8 +------- src/groupchat_window.py | 5 +++-- src/gtkgui.glade | 8 ++++---- src/roster_window.py | 26 ++++++++++++++++++++------ 5 files changed, 31 insertions(+), 28 deletions(-) diff --git a/src/config.py b/src/config.py index 0998d4471..4812d6ba2 100644 --- a/src/config.py +++ b/src/config.py @@ -1635,8 +1635,8 @@ class ServiceRegistrationWindow: #---------- ManageEmoticonsWindow class -------------# class ManageEmoticonsWindow: def __init__(self, plugin): - self.xml = gtk.glade.XML(GTKGUI_GLADE, 'add_remove_emoticons_window', APP) - self.window = self.xml.get_widget('add_remove_emoticons_window') + self.xml = gtk.glade.XML(GTKGUI_GLADE, 'manage_emoticons_window', APP) + self.window = self.xml.get_widget('manage_emoticons_window') self.plugin = plugin #emoticons @@ -2272,7 +2272,7 @@ class ManageBookmarksWindow: None, None, None]) for bookmark in gajim.connections[account].bookmarks: - if bookmark['name']=="": + if bookmark['name'] == '': #No name was given for this bookmark. #Use the first part of JID instead... name = bookmark['jid'].split("@")[0] @@ -2376,12 +2376,6 @@ class ManageBookmarksWindow: bmdict = { 'name': bm[1], 'jid': bm[2], 'autojoin': autojoin, 'password': bm[4], 'nick': bm[5] } - #FIXME: shouldnt this be .connected? - #However we don't even list not-connected accounts now, so - #i think this can just go away? - #if gajim.connections[account[1]].status > 1: #if we're connected - #gajim.connections[account[1]].bookmarks.append(bmdict) - gajim.connections[account[1]].store_bookmarks() self.window.destroy() diff --git a/src/gajim.py b/src/gajim.py index ebcf79228..ef27d0123 100755 --- a/src/gajim.py +++ b/src/gajim.py @@ -578,13 +578,7 @@ class Interface: #Open GC window if neccessary if bm['autojoin'] == '1': - jid = bm['jid'] - self.roster.new_room(jid, bm['nick'], account) - self.windows[account]['gc'][jid].set_active_tab(jid) - self.windows[account]['gc'][jid].window.present() - - ##FIXME: Add a menuitem - + self.roster.join_gc_room(account, bm) def read_sleepy(self): '''Check if we are idle''' diff --git a/src/groupchat_window.py b/src/groupchat_window.py index 9a5e068e0..671816531 100644 --- a/src/groupchat_window.py +++ b/src/groupchat_window.py @@ -303,9 +303,10 @@ class GroupchatWindow(chat.Chat): for bookmark in gajim.connections[self.account].bookmarks: if bookmark['jid'] == bm['jid']: + room_name = bm['jid'].split('@')[0] dialogs.ErrorDialog( - _('Bookmark already set'), - _('The bookmark is already in your roster.')).get_response() + _('Bookmark already set'), + _('Room "%s" is already in your bookmarks.') %bm['jid']).get_response() return gajim.connections[self.account].bookmarks.append(bm) diff --git a/src/gtkgui.glade b/src/gtkgui.glade index 1f108d31a..d84c4169e 100644 --- a/src/gtkgui.glade +++ b/src/gtkgui.glade @@ -2862,7 +2862,7 @@ True True - Add/Remove Emoticons... + Manage... True GTK_RELIEF_NORMAL True @@ -11090,9 +11090,9 @@ send a chat message to - + 6 - Add/Remove Emoticons + Manage Emoticons GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False @@ -11179,7 +11179,7 @@ send a chat message to True True True - Set Image + Set Image... True GTK_RELIEF_NORMAL True diff --git a/src/roster_window.py b/src/roster_window.py index c4bafbc72..82bf80280 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -240,7 +240,16 @@ class RosterWindow: for iter in iters: model.set_value(iter, 0, img) model.set_value(iter, 1, name) - + + def join_gc_room(self, account, bm): + jid = bm['jid'] + self.new_room(jid, bm['nick'], account) + self.plugin.windows[account]['gc'][jid].set_active_tab(jid) + self.plugin.windows[account]['gc'][jid].window.present() + + def on_bm_header_changed_state(self, widget, event): + widget.set_state(gtk.STATE_NORMAL) #do not allow selected_state + def make_menu(self): '''create the main_window's menus''' new_message_menuitem = self.xml.get_widget('new_message_menuitem') @@ -285,13 +294,11 @@ class RosterWindow: sub_menu = gtk.Menu() join_gc_menuitem.set_submenu(sub_menu) for account in gajim.connections: - our_jid = gajim.config.get_per('accounts', account, 'name') + '@' +\ - gajim.config.get_per('accounts', account, 'hostname') - label = gtk.Label() - label.set_markup('' + account +'') + label.set_markup('' + account.upper() +'') item = gtk.MenuItem() item.add(label) + item.connect('state-changed', self.on_bm_header_changed_state) sub_menu.append(item) item = gtk.MenuItem(_('New Room')) @@ -299,7 +306,14 @@ class RosterWindow: item.connect('activate', self.on_join_gc_activate, account) #FIXME: delmonico hack here [get bookmakrs and add them] - + if gajim.connections[account].connected <= 1: + continue + for bookmark in gajim.connections[account].bookmarks: + print bookmark['name'] + item = gtk.MenuItem(bookmark['name']) + sub_menu.append(item) + item.connect('activate', self.join_gc_room, account, bookmark) + newitem = gtk.MenuItem() # seperator sub_menu.append(newitem)