Skip to content
Snippets Groups Projects
Commit a7adf92a authored by bdenis's avatar bdenis
Browse files

[appindicator_integration] add connect menu item

parent 1bacbdbd
No related branches found
No related tags found
No related merge requests found
[info] [info]
name: Appindicator integration name: Appindicator integration
short_name: appindicator_integration short_name: appindicator_integration
version: 0.1.3 version: 0.1.4
description: This plugin integrates Gajim with the appindicator. You must have python-appindicator (and Gajim obviously) installed to enable this plugin. description: This plugin integrates Gajim with the appindicator. You must have python-appindicator (and Gajim obviously) installed to enable this plugin.
Rewriten from Ubuntu Ayatana Integration plugin Rewriten from Ubuntu Ayatana Integration plugin
homepage: http://trac-plugins.gajim.org/wiki/AppindicatorSupportPlugin homepage: http://trac-plugins.gajim.org/wiki/AppindicatorSupportPlugin
......
...@@ -51,13 +51,16 @@ class AppindicatorIntegrationPlugin(GajimPlugin): ...@@ -51,13 +51,16 @@ class AppindicatorIntegrationPlugin(GajimPlugin):
self.online_icon = "tray-online" self.online_icon = "tray-online"
self.offline_icon = "tray-offline" self.offline_icon = "tray-offline"
self.connected = 0 self.connected = 0
self.connect_menu_item = gtk.MenuItem('Connect')
self.connect_menu_item.connect("activate", self.connect)
self.show_gajim_menu_item = gtk.MenuItem('Show/hide roster') self.show_gajim_menu_item = gtk.MenuItem('Show/hide roster')
self.show_gajim_menu_item.connect("activate", self.roster_raise) self.show_gajim_menu_item.connect("activate", self.roster_raise)
self.show_gajim_menu_item.show() self.show_gajim_menu_item.show()
self.event_separator = gtk.SeparatorMenuItem() self.event_separator = gtk.SeparatorMenuItem()
self.menuEventInsertIndex = 2 self.menuEventInsertIndex = 3
itemExitSeparator = gtk.SeparatorMenuItem() itemExitSeparator = gtk.SeparatorMenuItem()
itemExitSeparator.show() itemExitSeparator.show()
...@@ -67,6 +70,7 @@ class AppindicatorIntegrationPlugin(GajimPlugin): ...@@ -67,6 +70,7 @@ class AppindicatorIntegrationPlugin(GajimPlugin):
itemExit.show() itemExit.show()
self.menu = gtk.Menu() self.menu = gtk.Menu()
self.menu.append(self.connect_menu_item)
self.menu.append(self.show_gajim_menu_item) self.menu.append(self.show_gajim_menu_item)
self.menu.append(self.event_separator) self.menu.append(self.event_separator)
self.menu.append(itemExitSeparator) self.menu.append(itemExitSeparator)
...@@ -83,6 +87,13 @@ class AppindicatorIntegrationPlugin(GajimPlugin): ...@@ -83,6 +87,13 @@ class AppindicatorIntegrationPlugin(GajimPlugin):
gajim.events.event_added_subscribe(self.on_event_added) gajim.events.event_added_subscribe(self.on_event_added)
gajim.events.event_removed_subscribe(self.on_event_removed) gajim.events.event_removed_subscribe(self.on_event_removed)
def connect(self, widget, data=None):
for account in gajim.connections:
if gajim.config.get_per('accounts', account,
'sync_with_global_status'):
gajim.connections[account].change_status('online','online')
def set_indicator_icon(self, obj=''): def set_indicator_icon(self, obj=''):
is_connected = 0 is_connected = 0
...@@ -97,8 +108,10 @@ class AppindicatorIntegrationPlugin(GajimPlugin): ...@@ -97,8 +108,10 @@ class AppindicatorIntegrationPlugin(GajimPlugin):
self.connected = is_connected self.connected = is_connected
if self.connected == 1: if self.connected == 1:
self.indicator.set_icon(self.online_icon) self.indicator.set_icon(self.online_icon)
self.connect_menu_item.hide()
else: else:
self.indicator.set_icon(self.offline_icon) self.indicator.set_icon(self.offline_icon)
self.connect_menu_item.show()
@log_calls("AppindicatorPlugin") @log_calls("AppindicatorPlugin")
def deactivate(self): def deactivate(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment