diff --git a/src/controller/buffers/mastodon/base.py b/src/controller/buffers/mastodon/base.py index f6e0171f..1556d733 100644 --- a/src/controller/buffers/mastodon/base.py +++ b/src/controller/buffers/mastodon/base.py @@ -228,6 +228,8 @@ class BaseBuffer(base.Buffer): widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.share_item, self.buffer.boost) widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.send_message, self.buffer.dm) widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.reply, self.buffer.reply) + widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.toggle_favorite, self.buffer.fav) + widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.toggle_bookmark, self.buffer.bookmark) widgetUtils.connect_event(self.buffer.list.list, wx.EVT_LIST_ITEM_RIGHT_CLICK, self.show_menu) widgetUtils.connect_event(self.buffer.list.list, wx.EVT_LIST_KEY_DOWN, self.show_menu_by_key) @@ -460,7 +462,7 @@ class BaseBuffer(base.Buffer): item = item.reblog call_threaded(self.session.api_call, call_name="status_unfavourite", preexec_message=_("Removing from favorites..."), _sound="favourite.ogg", id=item.id) - def toggle_favorite(self): + def toggle_favorite(self, *args, **kwargs): item = self.get_item() if item.reblog != None: item = item.reblog @@ -470,6 +472,16 @@ class BaseBuffer(base.Buffer): else: call_threaded(self.session.api_call, call_name="status_unfavourite", preexec_message=_("Removing from favorites..."), _sound="favourite.ogg", id=item.id) + def toggle_bookmark(self, *args, **kwargs): + item = self.get_item() + if item.reblog != None: + item = item.reblog + item = self.session.api.status(item.id) + if item.bookmarked == False: + call_threaded(self.session.api_call, call_name="status_bookmark", preexec_message=_("Adding to bookmarks..."), _sound="favourite.ogg", id=item.id) + else: + call_threaded(self.session.api_call, call_name="status_unbookmark", preexec_message=_("Removing from bookmarks..."), _sound="favourite.ogg", id=item.id) + def view_item(self): post = self.get_item() # Update object so we can retrieve newer stats diff --git a/src/wxUI/buffers/mastodon/base.py b/src/wxUI/buffers/mastodon/base.py index 547954b3..c3aacc70 100644 --- a/src/wxUI/buffers/mastodon/base.py +++ b/src/wxUI/buffers/mastodon/base.py @@ -24,11 +24,15 @@ class basePanel(wx.Panel): self.post = wx.Button(self, -1, _("Post")) self.boost = wx.Button(self, -1, _("Boost")) self.reply = wx.Button(self, -1, _(u"Reply")) + self.fav = wx.Button(self, wx.ID_ANY, _("Favorite")) + self.bookmark = wx.Button(self, wx.ID_ANY, _("Bookmark")) self.dm = wx.Button(self, -1, _(u"Direct message")) btnSizer = wx.BoxSizer(wx.HORIZONTAL) btnSizer.Add(self.post, 0, wx.ALL, 5) btnSizer.Add(self.boost, 0, wx.ALL, 5) btnSizer.Add(self.reply, 0, wx.ALL, 5) + btnSizer.Add(self.fav, 0, wx.ALL, 5) + btnSizer.Add(self.bookmark, 0, wx.ALL, 5) btnSizer.Add(self.dm, 0, wx.ALL, 5) self.sizer.Add(btnSizer, 0, wx.ALL, 5) self.sizer.Add(self.list.list, 0, wx.ALL|wx.EXPAND, 5)