Join gc menu in systray. Fixes #690.
Should I move add_bookmarks_list() in another file ?
This commit is contained in:
parent
73bdf4900d
commit
ce2269e73f
|
@ -10837,6 +10837,26 @@ Custom</property>
|
|||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="join_gc_menuitem">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Group Chat</property>
|
||||
<property name="use_underline">True</property>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image1445">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-connect</property>
|
||||
<property name="icon_size">1</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="chat_with_menuitem">
|
||||
|
|
|
@ -700,7 +700,7 @@ class RosterWindow:
|
|||
gc_item.connect('state-changed', self.on_bm_header_changed_state)
|
||||
gc_sub_menu.append(gc_item)
|
||||
|
||||
self._add_bookmarks_list(gc_sub_menu, account)
|
||||
self.add_bookmarks_list(gc_sub_menu, account)
|
||||
|
||||
# the 'manage gc bookmarks' item is showed
|
||||
# below to avoid duplicate code
|
||||
|
@ -742,7 +742,7 @@ class RosterWindow:
|
|||
for account in gajim.connections:
|
||||
if gajim.connections[account].connected > 1: # THE connected account
|
||||
# gc
|
||||
self._add_bookmarks_list(gc_sub_menu, account)
|
||||
self.add_bookmarks_list(gc_sub_menu, account)
|
||||
# add
|
||||
if not self.add_new_contact_handler_id:
|
||||
self.add_new_contact_handler_id =\
|
||||
|
@ -841,7 +841,7 @@ class RosterWindow:
|
|||
menu.append(item)
|
||||
item.connect('activate', self.on_history_manager_menuitem_activate)
|
||||
|
||||
def _add_bookmarks_list(self, gc_sub_menu, account):
|
||||
def add_bookmarks_list(self, gc_sub_menu, account):
|
||||
'''Print join new room item and bookmarks list for an account'''
|
||||
item = gtk.MenuItem(_('_Join New Room'))
|
||||
item.connect('activate', self.on_join_gc_activate, account)
|
||||
|
@ -1547,7 +1547,7 @@ class RosterWindow:
|
|||
|
||||
gc_sub_menu = gtk.Menu() # gc is always a submenu
|
||||
join_group_chat_menuitem.set_submenu(gc_sub_menu)
|
||||
self._add_bookmarks_list(gc_sub_menu, account)
|
||||
self.add_bookmarks_list(gc_sub_menu, account)
|
||||
new_message_menuitem.connect('activate',
|
||||
self.on_new_message_menuitem_activate, account)
|
||||
|
||||
|
|
|
@ -121,6 +121,7 @@ class Systray:
|
|||
chat_with_menuitem = self.xml.get_widget('chat_with_menuitem')
|
||||
single_message_menuitem = self.xml.get_widget('single_message_menuitem')
|
||||
status_menuitem = self.xml.get_widget('status_menu')
|
||||
join_gc_menuitem = self.xml.get_widget('join_gc_menuitem')
|
||||
|
||||
if self.single_message_handler_id:
|
||||
single_message_menuitem.handler_disconnect(
|
||||
|
@ -130,6 +131,9 @@ class Systray:
|
|||
sub_menu = gtk.Menu()
|
||||
self.popup_menus.append(sub_menu)
|
||||
status_menuitem.set_submenu(sub_menu)
|
||||
|
||||
gc_sub_menu = gtk.Menu() # gc is always a submenu
|
||||
join_gc_menuitem.set_submenu(gc_sub_menu)
|
||||
|
||||
# We need our own set of status icons, let's make 'em!
|
||||
iconset = gajim.config.get('iconset')
|
||||
|
@ -168,9 +172,10 @@ class Systray:
|
|||
sub_menu.append(item)
|
||||
item.connect('activate', self.on_show_menuitem_activate, 'offline')
|
||||
|
||||
iskey = len(gajim.connections) > 0
|
||||
iskey = connected_accounts > 0
|
||||
chat_with_menuitem.set_sensitive(iskey)
|
||||
single_message_menuitem.set_sensitive(iskey)
|
||||
join_gc_menuitem.set_sensitive(iskey)
|
||||
|
||||
if connected_accounts >= 2: # 2 or more connections? make submenus
|
||||
account_menu_for_chat_with = gtk.Menu()
|
||||
|
@ -191,11 +196,21 @@ class Systray:
|
|||
group_menu = self.make_groups_submenus_for_chat_with(account)
|
||||
self.popup_menus.append(group_menu)
|
||||
item.set_submenu(group_menu)
|
||||
|
||||
#for single message
|
||||
item = gtk.MenuItem(_('using account %s') % account)
|
||||
item.connect('activate',
|
||||
self.on_single_message_menuitem_activate, account)
|
||||
account_menu_for_single_message.append(item)
|
||||
|
||||
# join gc
|
||||
label = gtk.Label()
|
||||
label.set_markup('<u>' + account.upper() +'</u>')
|
||||
label.set_use_underline(False)
|
||||
gc_item = gtk.MenuItem()
|
||||
gc_item.add(label)
|
||||
gc_sub_menu.append(gc_item)
|
||||
gajim.interface.roster.add_bookmarks_list(gc_sub_menu, account)
|
||||
|
||||
elif connected_accounts == 1: # one account
|
||||
# one account connected, no need to show 'as jid'
|
||||
|
@ -211,6 +226,9 @@ class Systray:
|
|||
self.single_message_handler_id = single_message_menuitem.connect(
|
||||
'activate', self.on_single_message_menuitem_activate, account)
|
||||
|
||||
# join gc
|
||||
gajim.interface.roster.add_bookmarks_list(gc_sub_menu, account)
|
||||
|
||||
if event is None:
|
||||
# None means windows (we explicitly popup in systraywin32.py)
|
||||
if self.added_hide_menuitem is False:
|
||||
|
|
Loading…
Reference in New Issue