roster_tweaks. rewrite pep support
This commit is contained in:
@@ -28,9 +28,29 @@ class RosterTweaksPlugin(GajimPlugin):
|
|||||||
'use_ctr_m': (False, ''),
|
'use_ctr_m': (False, ''),
|
||||||
'menu_visible': (True, ''),
|
'menu_visible': (True, ''),
|
||||||
'quick_status': (False, '')}
|
'quick_status': (False, '')}
|
||||||
self.events_handlers = {'our-show': (ged.GUI2, self.our_show)}
|
self.events_handlers = {'our-show': (ged.GUI2, self.our_show),
|
||||||
|
'pep-received': (ged.GUI2, self.pep_received)}
|
||||||
self.roster = gajim.interface.roster
|
self.roster = gajim.interface.roster
|
||||||
|
|
||||||
|
|
||||||
|
def pep_received(self, obj):
|
||||||
|
if obj.jid != gajim.get_jid_from_account(obj.conn.name):
|
||||||
|
return
|
||||||
|
|
||||||
|
pep_dict = gajim.connections[obj.conn.name].pep
|
||||||
|
if obj.pep_type == 'mood':
|
||||||
|
img = self.xml.get_object('mood_image')
|
||||||
|
if 'mood' in pep_dict:
|
||||||
|
img.set_from_pixbuf(pep_dict['mood'].asPixbufIcon())
|
||||||
|
else:
|
||||||
|
img.set_from_stock('gtk-stop', gtk.ICON_SIZE_MENU)
|
||||||
|
if obj.pep_type == 'activity':
|
||||||
|
img = self.xml.get_object('activity_image')
|
||||||
|
if 'activity' in pep_dict:
|
||||||
|
img.set_from_pixbuf(pep_dict['activity'].asPixbufIcon())
|
||||||
|
else:
|
||||||
|
img.set_from_stock('gtk-stop', gtk.ICON_SIZE_MENU)
|
||||||
|
|
||||||
def our_show(self, obj):
|
def our_show(self, obj):
|
||||||
if self.active:
|
if self.active:
|
||||||
if helpers.get_global_show() != gajim.SHOW_LIST[0]:
|
if helpers.get_global_show() != gajim.SHOW_LIST[0]:
|
||||||
@@ -114,7 +134,6 @@ class RosterTweaksPlugin(GajimPlugin):
|
|||||||
self.pep_dict['activity'] = activity or ''
|
self.pep_dict['activity'] = activity or ''
|
||||||
self.pep_dict['subactivity'] = subactivity or ''
|
self.pep_dict['subactivity'] = subactivity or ''
|
||||||
self.pep_dict['activity_text'] = text
|
self.pep_dict['activity_text'] = text
|
||||||
self.draw_activity()
|
|
||||||
self.send_pep()
|
self.send_pep()
|
||||||
ChangeActivityDialog(on_response, self.pep_dict.get('activity', None),
|
ChangeActivityDialog(on_response, self.pep_dict.get('activity', None),
|
||||||
self.pep_dict.get('subactivity', None),
|
self.pep_dict.get('subactivity', None),
|
||||||
@@ -124,7 +143,6 @@ class RosterTweaksPlugin(GajimPlugin):
|
|||||||
def on_response(mood, text):
|
def on_response(mood, text):
|
||||||
self.pep_dict['mood'] = mood or ''
|
self.pep_dict['mood'] = mood or ''
|
||||||
self.pep_dict['mood_text'] = text
|
self.pep_dict['mood_text'] = text
|
||||||
self.draw_mood()
|
|
||||||
self.send_pep()
|
self.send_pep()
|
||||||
ChangeMoodDialog(on_response, self.pep_dict.get('mood', None),
|
ChangeMoodDialog(on_response, self.pep_dict.get('mood', None),
|
||||||
self.pep_dict.get('mood_text', None))
|
self.pep_dict.get('mood_text', None))
|
||||||
@@ -135,35 +153,6 @@ class RosterTweaksPlugin(GajimPlugin):
|
|||||||
if gajim.account_is_connected(account):
|
if gajim.account_is_connected(account):
|
||||||
self.roster.send_pep(account, self.pep_dict)
|
self.roster.send_pep(account, self.pep_dict)
|
||||||
|
|
||||||
def draw_activity(self):
|
|
||||||
"""
|
|
||||||
Set activity button
|
|
||||||
"""
|
|
||||||
img = self.xml.get_object('activity_image')
|
|
||||||
if 'activity' in self.pep_dict and self.pep_dict['activity'] in \
|
|
||||||
pep.ACTIVITIES:
|
|
||||||
if 'subactivity' in self.pep_dict and self.pep_dict['subactivity'] \
|
|
||||||
in pep.ACTIVITIES[self.pep_dict['activity']]:
|
|
||||||
img.set_from_pixbuf(gtkgui_helpers.load_activity_icon(
|
|
||||||
self.pep_dict['activity'], self.pep_dict['subactivity']).\
|
|
||||||
get_pixbuf())
|
|
||||||
else:
|
|
||||||
img.set_from_pixbuf(gtkgui_helpers.load_activity_icon(
|
|
||||||
self.pep_dict['activity']).get_pixbuf())
|
|
||||||
else:
|
|
||||||
img.set_from_stock('gtk-stop', gtk.ICON_SIZE_MENU)
|
|
||||||
|
|
||||||
def draw_mood(self):
|
|
||||||
"""
|
|
||||||
Set mood button
|
|
||||||
"""
|
|
||||||
img = self.xml.get_object('mood_image')
|
|
||||||
if 'mood' in self.pep_dict and self.pep_dict['mood'] in pep.MOODS:
|
|
||||||
img.set_from_pixbuf(gtkgui_helpers.load_mood_icon(
|
|
||||||
self.pep_dict['mood']).get_pixbuf())
|
|
||||||
else:
|
|
||||||
img.set_from_stock('gtk-stop', gtk.ICON_SIZE_MENU)
|
|
||||||
|
|
||||||
|
|
||||||
class RosterTweaksPluginConfigDialog(GajimPluginConfigDialog):
|
class RosterTweaksPluginConfigDialog(GajimPluginConfigDialog):
|
||||||
def init(self):
|
def init(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user