Started the documents menu. For now it just allows to add and remove a document to your documents list
This commit is contained in:
parent
f1f86e04e6
commit
a6291b3ee2
@ -503,24 +503,6 @@ class topicBuffer(feedBuffer):
|
|||||||
return
|
return
|
||||||
a = presenters.displayTopicPresenter(session=self.session, postObject=post, group_id=self.kwargs["group_id"], interactor=interactors.displayPostInteractor(), view=views.displayTopic())
|
a = presenters.displayTopicPresenter(session=self.session, postObject=post, group_id=self.kwargs["group_id"], interactor=interactors.displayPostInteractor(), view=views.displayTopic())
|
||||||
|
|
||||||
class documentCommunityBuffer(feedBuffer):
|
|
||||||
|
|
||||||
def create_tab(self, parent):
|
|
||||||
self.tab = home.documentCommunityTab(parent)
|
|
||||||
self.connect_events()
|
|
||||||
self.tab.name = self.name
|
|
||||||
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
|
||||||
self.tab.post.Enable(False)
|
|
||||||
|
|
||||||
def onFocus(self, *args, **kwargs):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def open_post(self, *args, **kwargs):
|
|
||||||
""" Opens the currently focused post."""
|
|
||||||
post = self.get_post()
|
|
||||||
if post == None:
|
|
||||||
return
|
|
||||||
|
|
||||||
class documentBuffer(feedBuffer):
|
class documentBuffer(feedBuffer):
|
||||||
can_get_items = False
|
can_get_items = False
|
||||||
|
|
||||||
@ -533,6 +515,8 @@ class documentBuffer(feedBuffer):
|
|||||||
|
|
||||||
def connect_events(self):
|
def connect_events(self):
|
||||||
super(documentBuffer, self).connect_events()
|
super(documentBuffer, self).connect_events()
|
||||||
|
# Check if we have a load button in the tab, because documents community buffers don't include it.
|
||||||
|
if hasattr(self.tab, "load"):
|
||||||
widgetUtils.connect_event(self.tab.load, widgetUtils.BUTTON_PRESSED, self.load_documents)
|
widgetUtils.connect_event(self.tab.load, widgetUtils.BUTTON_PRESSED, self.load_documents)
|
||||||
|
|
||||||
def load_documents(self, *args, **kwargs):
|
def load_documents(self, *args, **kwargs):
|
||||||
@ -541,6 +525,42 @@ class documentBuffer(feedBuffer):
|
|||||||
self.tab.load.Enable(False)
|
self.tab.load.Enable(False)
|
||||||
wx.CallAfter(self.get_items)
|
wx.CallAfter(self.get_items)
|
||||||
|
|
||||||
|
def get_menu(self):
|
||||||
|
p = self.get_post()
|
||||||
|
if p == None:
|
||||||
|
return
|
||||||
|
if p["owner_id"] == self.session.user_id:
|
||||||
|
added = True
|
||||||
|
else:
|
||||||
|
added = False
|
||||||
|
m = menus.documentMenu(added)
|
||||||
|
widgetUtils.connect_event(m, widgetUtils.MENU, self.add_remove_document, menuitem=m.action)
|
||||||
|
return m
|
||||||
|
|
||||||
|
def add_remove_document(self, *args, **kwargs):
|
||||||
|
p = self.get_post()
|
||||||
|
if p == None:
|
||||||
|
return
|
||||||
|
if p["owner_id"] == self.session.user_id:
|
||||||
|
result = self.session.vk.client.docs.delete(owner_id=p["owner_id"], doc_id=p["id"])
|
||||||
|
if result == 1:
|
||||||
|
output.speak(_("The document has been successfully deleted."))
|
||||||
|
self.session.db[self.name]["items"].pop(self.tab.list.get_selected())
|
||||||
|
self.tab.list.remove_item(self.tab.list.get_selected())
|
||||||
|
else:
|
||||||
|
result = self.session.vk.client.docs.add(owner_id=p["owner_id"], doc_id=p["id"])
|
||||||
|
output.speak(_("The document has been successfully added."))
|
||||||
|
|
||||||
|
class documentCommunityBuffer(documentBuffer):
|
||||||
|
can_get_items = True
|
||||||
|
|
||||||
|
def create_tab(self, parent):
|
||||||
|
self.tab = home.documentCommunityTab(parent)
|
||||||
|
self.connect_events()
|
||||||
|
self.tab.name = self.name
|
||||||
|
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
||||||
|
self.tab.post.Enable(False)
|
||||||
|
|
||||||
class audioBuffer(feedBuffer):
|
class audioBuffer(feedBuffer):
|
||||||
""" this buffer was supposed to be used with audio elements
|
""" this buffer was supposed to be used with audio elements
|
||||||
but is deprecated as VK removed its audio support for third party apps."""
|
but is deprecated as VK removed its audio support for third party apps."""
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
""" This module contains all context menus needed to be displayed in different sections. Basically any menu that is bigger than 2 menu items should be here."""
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import wx
|
import wx
|
||||||
|
|
||||||
class postMenu(wx.Menu):
|
class postMenu(wx.Menu):
|
||||||
|
""" Display a menu with actions related to posts in the news feed or walls. """
|
||||||
|
|
||||||
def __init__(self, can_delete=False, *args, **kwargs):
|
def __init__(self, can_delete=False, *args, **kwargs):
|
||||||
super(postMenu, self).__init__(*args, **kwargs)
|
super(postMenu, self).__init__(*args, **kwargs)
|
||||||
self.open = wx.MenuItem(self, wx.NewId(), _("Open"))
|
self.open = wx.MenuItem(self, wx.NewId(), _("Open"))
|
||||||
@ -74,6 +77,16 @@ class peopleMenu(wx.Menu):
|
|||||||
self.add = wx.MenuItem(self, wx.NewId(), _("Add to friends"))
|
self.add = wx.MenuItem(self, wx.NewId(), _("Add to friends"))
|
||||||
self.Append(self.add)
|
self.Append(self.add)
|
||||||
|
|
||||||
|
class documentMenu(wx.Menu):
|
||||||
|
def __init__(self, added=False, *args, **kwargs):
|
||||||
|
super(documentMenu, self).__init__(*args, **kwargs)
|
||||||
|
self.view_info = self.Append(wx.NewId(), _("View information"))
|
||||||
|
self.download = self.Append(wx.NewId(), _("Download document"))
|
||||||
|
if added == True:
|
||||||
|
self.action = self.Append(wx.NewId(), _("Remove from my documents"))
|
||||||
|
else:
|
||||||
|
self.action = self.Append(wx.NewId(), _("Add to my documents"))
|
||||||
|
|
||||||
class commentMenu(wx.Menu):
|
class commentMenu(wx.Menu):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(commentMenu, self).__init__(*args, **kwargs)
|
super(commentMenu, self).__init__(*args, **kwargs)
|
||||||
|
Loading…
Reference in New Issue
Block a user