Separated also tab GUI components in modules so it will be easier to mantain the codebase in the future
This commit is contained in:
parent
0a0e2a4dd9
commit
5978a7749d
@ -11,7 +11,7 @@ from pubsub import pub
|
|||||||
from vk_api import upload
|
from vk_api import upload
|
||||||
from mutagen.id3 import ID3
|
from mutagen.id3 import ID3
|
||||||
from presenters import player
|
from presenters import player
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import audio
|
||||||
from sessionmanager import utils
|
from sessionmanager import utils
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
from wxUI import commonMessages, menus
|
from wxUI import commonMessages, menus
|
||||||
@ -22,7 +22,7 @@ log = logging.getLogger("controller.buffers.audio")
|
|||||||
|
|
||||||
class audioBuffer(wallBuffer):
|
class audioBuffer(wallBuffer):
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.audioTab(parent)
|
self.tab = audio.audioTab(parent)
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
if self.name == "me_audio":
|
if self.name == "me_audio":
|
||||||
|
@ -3,7 +3,7 @@ import logging
|
|||||||
import wx
|
import wx
|
||||||
import widgetUtils
|
import widgetUtils
|
||||||
import output
|
import output
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import audioAlbum
|
||||||
from .audio import audioBuffer
|
from .audio import audioBuffer
|
||||||
|
|
||||||
log = logging.getLogger("controller.buffers.audioPlaylist")
|
log = logging.getLogger("controller.buffers.audioPlaylist")
|
||||||
@ -13,7 +13,7 @@ class audioAlbumBuffer(audioBuffer):
|
|||||||
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."""
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.audioAlbumTab(parent)
|
self.tab = audioAlbum.audioAlbumTab(parent)
|
||||||
self.tab.play.Enable(False)
|
self.tab.play.Enable(False)
|
||||||
self.tab.play_all.Enable(False)
|
self.tab.play_all.Enable(False)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
|
@ -11,7 +11,7 @@ import widgetUtils
|
|||||||
import output
|
import output
|
||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from vk_api.exceptions import VkApiError
|
from vk_api.exceptions import VkApiError
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import chat
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
from wxUI import commonMessages, menus
|
from wxUI import commonMessages, menus
|
||||||
from sessionmanager import renderers
|
from sessionmanager import renderers
|
||||||
@ -76,7 +76,7 @@ class chatBuffer(homeBuffer):
|
|||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.chatTab(parent)
|
self.tab = chat.chatTab(parent)
|
||||||
self.attachments = list()
|
self.attachments = list()
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
@ -187,7 +187,7 @@ class chatBuffer(homeBuffer):
|
|||||||
if i["type"] == "photos_list":
|
if i["type"] == "photos_list":
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
rendered_object = add_attachment(i)
|
rendered_object = renderers.add_attachment(i)
|
||||||
except:
|
except:
|
||||||
log.exception("Error parsing the following attachment on chat: %r" % (i,))
|
log.exception("Error parsing the following attachment on chat: %r" % (i,))
|
||||||
attachments.append(rendered_object)
|
attachments.append(rendered_object)
|
||||||
|
@ -8,7 +8,7 @@ import views
|
|||||||
import interactors
|
import interactors
|
||||||
import widgetUtils
|
import widgetUtils
|
||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import communityBoard
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
from .wall import wallBuffer
|
from .wall import wallBuffer
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ log = logging.getLogger("controller.buffers.communityBoard")
|
|||||||
class communityBoardBuffer(wallBuffer):
|
class communityBoardBuffer(wallBuffer):
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.topicTab(parent)
|
self.tab = communityBoard.communityBoardTab(parent)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
if "can_create_topic" not in self.session.db["group_info"][self.kwargs["group_id"]*-1] or ("can_create_topic" in self.session.db["group_info"][self.kwargs["group_id"]*-1] and self.session.db["group_info"][self.kwargs["group_id"]*-1]["can_create_topic"] != True):
|
if "can_create_topic" not in self.session.db["group_info"][self.kwargs["group_id"]*-1] or ("can_create_topic" in self.session.db["group_info"][self.kwargs["group_id"]*-1] and self.session.db["group_info"][self.kwargs["group_id"]*-1]["can_create_topic"] != True):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import logging
|
import logging
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import communityDocuments
|
||||||
from .documents import documentsBuffer
|
from .documents import documentsBuffer
|
||||||
|
|
||||||
log = logging.getLogger("controller.buffers.communityDocuments")
|
log = logging.getLogger("controller.buffers.communityDocuments")
|
||||||
@ -9,7 +9,7 @@ class communityDocumentsBuffer(documentsBuffer):
|
|||||||
can_get_items = True
|
can_get_items = True
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.documentCommunityTab(parent)
|
self.tab = communityDocuments.communityDocumentsTab(parent)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
||||||
|
@ -8,7 +8,7 @@ import interactors
|
|||||||
import widgetUtils
|
import widgetUtils
|
||||||
import output
|
import output
|
||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import communityWall
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
from .wall import wallBuffer
|
from .wall import wallBuffer
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ class communityWallBuffer(wallBuffer):
|
|||||||
self.group_id = self.kwargs["owner_id"]
|
self.group_id = self.kwargs["owner_id"]
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.communityTab(parent)
|
self.tab = communityWall.communityWallTab(parent)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
self.tab.post.Enable(False)
|
self.tab.post.Enable(False)
|
||||||
|
@ -8,7 +8,7 @@ import languageHandler
|
|||||||
import widgetUtils
|
import widgetUtils
|
||||||
import output
|
import output
|
||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import documents
|
||||||
from sessionmanager import utils
|
from sessionmanager import utils
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
from wxUI import menus
|
from wxUI import menus
|
||||||
@ -20,7 +20,7 @@ class documentsBuffer(wallBuffer):
|
|||||||
can_get_items = False
|
can_get_items = False
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.documentTab(parent)
|
self.tab = documents.documentsTab(parent)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
""" A buffer is a (virtual) list of items. All items belong to a category (wall posts, messages, persons...)"""
|
""" A buffer is a (virtual) list of items. All items belong to a category (wall posts, messages, persons...)"""
|
||||||
import logging
|
import logging
|
||||||
import output
|
import output
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import empty
|
||||||
|
|
||||||
log = logging.getLogger("controller.buffers.empty")
|
log = logging.getLogger("controller.buffers.empty")
|
||||||
|
|
||||||
class emptyBuffer(object):
|
class emptyBuffer(object):
|
||||||
|
|
||||||
def __init__(self, name=None, parent=None, *args, **kwargs):
|
def __init__(self, name=None, parent=None, *args, **kwargs):
|
||||||
self.tab = home.empty(parent=parent, name=name)
|
self.tab = empty.emptyTab(parent=parent, name=name)
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
||||||
def get_items(self, *args, **kwargs):
|
def get_items(self, *args, **kwargs):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import logging
|
import logging
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import notification
|
||||||
from .wall import wallBuffer
|
from .wall import wallBuffer
|
||||||
|
|
||||||
log = logging.getLogger("controller.buffers")
|
log = logging.getLogger("controller.buffers")
|
||||||
@ -8,7 +8,7 @@ log = logging.getLogger("controller.buffers")
|
|||||||
class notificationBuffer(wallBuffer):
|
class notificationBuffer(wallBuffer):
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.notificationTab(parent)
|
self.tab = notification.notificationTab(parent)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import interactors
|
|||||||
import languageHandler
|
import languageHandler
|
||||||
import widgetUtils
|
import widgetUtils
|
||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import people
|
||||||
from wxUI.dialogs import timeline
|
from wxUI.dialogs import timeline
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
from wxUI import commonMessages, menus
|
from wxUI import commonMessages, menus
|
||||||
@ -37,7 +37,7 @@ class peopleBuffer(wallBuffer):
|
|||||||
call_threaded(pub.sendMessage, "post", parent_endpoint="wall", child_endpoint="post", from_buffer=self.name, attachments_list=attachments, post_arguments=post_arguments)
|
call_threaded(pub.sendMessage, "post", parent_endpoint="wall", child_endpoint="post", from_buffer=self.name, attachments_list=attachments, post_arguments=post_arguments)
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.peopleTab(parent)
|
self.tab = people.peopleTab(parent)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
||||||
|
@ -4,7 +4,7 @@ import webbrowser
|
|||||||
import wx
|
import wx
|
||||||
import widgetUtils
|
import widgetUtils
|
||||||
import output
|
import output
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import video
|
||||||
from wxUI import commonMessages, menus
|
from wxUI import commonMessages, menus
|
||||||
from controller import selector
|
from controller import selector
|
||||||
from .wall import wallBuffer
|
from .wall import wallBuffer
|
||||||
@ -15,7 +15,7 @@ class videoBuffer(wallBuffer):
|
|||||||
""" This buffer represents video elements, and it can be used for showing videos for the logged user or someone else."""
|
""" This buffer represents video elements, and it can be used for showing videos for the logged user or someone else."""
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.videoTab(parent)
|
self.tab = video.videoTab(parent)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
if hasattr(self, "can_post") and self.can_post == False and hasattr(self.tab, "post"):
|
||||||
|
@ -3,7 +3,7 @@ import logging
|
|||||||
import wx
|
import wx
|
||||||
import widgetUtils
|
import widgetUtils
|
||||||
import output
|
import output
|
||||||
from wxUI.tabs import home
|
from wxUI.tabs import videoAlbum
|
||||||
from .video import videoBuffer
|
from .video import videoBuffer
|
||||||
|
|
||||||
log = logging.getLogger("controller.buffers")
|
log = logging.getLogger("controller.buffers")
|
||||||
@ -11,7 +11,7 @@ log = logging.getLogger("controller.buffers")
|
|||||||
class videoAlbumBuffer(videoBuffer):
|
class videoAlbumBuffer(videoBuffer):
|
||||||
|
|
||||||
def create_tab(self, parent):
|
def create_tab(self, parent):
|
||||||
self.tab = home.videoAlbumTab(parent)
|
self.tab = video.videoAlbumTab(parent)
|
||||||
self.tab.play.Enable(False)
|
self.tab.play.Enable(False)
|
||||||
self.connect_events()
|
self.connect_events()
|
||||||
self.tab.name = self.name
|
self.tab.name = self.name
|
||||||
|
@ -10,7 +10,6 @@ import widgetUtils
|
|||||||
import output
|
import output
|
||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from vk_api.exceptions import VkApiError
|
from vk_api.exceptions import VkApiError
|
||||||
from wxUI.tabs import home
|
|
||||||
from mysc.thread_utils import call_threaded
|
from mysc.thread_utils import call_threaded
|
||||||
from wxUI import commonMessages
|
from wxUI import commonMessages
|
||||||
from .home import homeBuffer
|
from .home import homeBuffer
|
||||||
|
39
src/wxUI/tabs/audio.py
Normal file
39
src/wxUI/tabs/audio.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
import widgetUtils
|
||||||
|
from .home import homeTab
|
||||||
|
|
||||||
|
class audioTab(homeTab):
|
||||||
|
def create_list(self):
|
||||||
|
self.lbl = wx.StaticText(self, wx.NewId(), _("Mu&sic"))
|
||||||
|
self.list = widgetUtils.multiselectionList(self, *[_("Title"), _("Artist"), _("Duration")], style=wx.LC_REPORT, name=_("Music"))
|
||||||
|
self.list.set_windows_size(0, 160)
|
||||||
|
self.list.set_windows_size(1, 380)
|
||||||
|
self.list.set_windows_size(2, 80)
|
||||||
|
self.list.set_size()
|
||||||
|
self.list.list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnKeyDown)
|
||||||
|
|
||||||
|
def create_post_buttons(self):
|
||||||
|
self.postBox = wx.StaticBoxSizer(parent=self, orient=wx.HORIZONTAL, label=_("Actions"))
|
||||||
|
self.post = wx.Button(self.postBox.GetStaticBox(), -1, _("&Upload audio"))
|
||||||
|
self.post.Enable(False)
|
||||||
|
self.play = wx.Button(self.postBox.GetStaticBox(), -1, _("P&lay"))
|
||||||
|
self.play_all = wx.Button(self.postBox.GetStaticBox(), -1, _("Play &All"))
|
||||||
|
self.postBox.Add(self.post, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.play, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.play_all, 0, wx.ALL, 5)
|
||||||
|
|
||||||
|
def get_file_to_upload(self):
|
||||||
|
openFileDialog = wx.FileDialog(self, _("Select the audio file to be uploaded"), "", "", _("Audio files (*.mp3)|*.mp3"), wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
|
||||||
|
if openFileDialog.ShowModal() == wx.ID_CANCEL:
|
||||||
|
return None
|
||||||
|
return openFileDialog.GetPath()
|
||||||
|
|
||||||
|
def get_download_path(self, filename="", multiple=False):
|
||||||
|
if multiple == False:
|
||||||
|
d = wx.FileDialog(self, _("Save this file"), "", filename, _("Audio Files(*.mp3)|*.mp3"), wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
|
||||||
|
else:
|
||||||
|
d = wx.DirDialog(None, _("Select a folder to save all files"))
|
||||||
|
if d.ShowModal() == wx.ID_OK:
|
||||||
|
return d.GetPath()
|
||||||
|
d.Destroy()
|
16
src/wxUI/tabs/audioAlbum.py
Normal file
16
src/wxUI/tabs/audioAlbum.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
from .audio import audioTab
|
||||||
|
|
||||||
|
class audioAlbumTab(audioTab):
|
||||||
|
|
||||||
|
def create_post_buttons(self):
|
||||||
|
self.postBox = wx.StaticBoxSizer(parent=self, orient=wx.HORIZONTAL, label=_("Actions"))
|
||||||
|
self.load = wx.Button(self.postBox.GetStaticBox(), wx.NewId(), _("Load buffer"))
|
||||||
|
self.post = wx.Button(self.postBox.GetStaticBox(), -1, _("&Post"))
|
||||||
|
self.play = wx.Button(self.postBox.GetStaticBox(), -1, _("P&lay"))
|
||||||
|
self.play_all = wx.Button(self.postBox.GetStaticBox(), -1, _("Play &All"))
|
||||||
|
self.postBox.Add(self.load, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.post, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.play, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.play_all, 0, wx.ALL, 5)
|
72
src/wxUI/tabs/chat.py
Normal file
72
src/wxUI/tabs/chat.py
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
import widgetUtils
|
||||||
|
from pubsub import pub
|
||||||
|
|
||||||
|
class chatTab(wx.Panel):
|
||||||
|
|
||||||
|
def insert_attachments(self, attachments):
|
||||||
|
for i in attachments:
|
||||||
|
self.attachments.insert_item(False, *i)
|
||||||
|
|
||||||
|
def __init__(self, parent):
|
||||||
|
super(chatTab, self).__init__(parent=parent)
|
||||||
|
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||||
|
sizer.Add(self.create_controls())
|
||||||
|
sizer.Add(self.create_attachments(), 0, wx.ALL, 5)
|
||||||
|
sizer.Add(self.create_chat(), 0, wx.ALL, 5)
|
||||||
|
self.attachment = wx.Button(self, wx.NewId(), _("Add"))
|
||||||
|
sizer.Add(self.attachment, 0, wx.ALL, 5)
|
||||||
|
self.send = wx.Button(self, -1, _("Send"))
|
||||||
|
sizer.Add(self.send, 0, wx.ALL, 5)
|
||||||
|
self.SetSizer(sizer)
|
||||||
|
|
||||||
|
def create_controls(self):
|
||||||
|
lbl1 = wx.StaticText(self, wx.NewId(), _("History"))
|
||||||
|
self.history = wx.TextCtrl(self, wx.NewId(), style=wx.TE_READONLY|wx.TE_MULTILINE, size=(500, 300))
|
||||||
|
selectId = wx.NewId()
|
||||||
|
self.Bind(wx.EVT_MENU, self.onSelect, id=selectId)
|
||||||
|
self.accel_tbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('A'), selectId)])
|
||||||
|
self.SetAcceleratorTable(self.accel_tbl)
|
||||||
|
box = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
|
box.Add(lbl1, 0, wx.ALL, 5)
|
||||||
|
box.Add(self.history, 0, wx.ALL, 5)
|
||||||
|
return box
|
||||||
|
|
||||||
|
def onSelect(self, event, *args, **kwargs):
|
||||||
|
if self.history.HasFocus():
|
||||||
|
self.history.SelectAll()
|
||||||
|
else:
|
||||||
|
self.text.SelectAll()
|
||||||
|
event.Skip()
|
||||||
|
|
||||||
|
def create_attachments(self):
|
||||||
|
lbl = wx.StaticText(self, -1, _("Attachments"))
|
||||||
|
self.attachments = widgetUtils.list(self, _("Type"), _("Title"), style=wx.LC_REPORT)
|
||||||
|
box = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
|
box.Add(lbl, 0, wx.ALL, 5)
|
||||||
|
box.Add(self.attachments.list, 0, wx.ALL, 5)
|
||||||
|
self.attachments.list.Enable(False)
|
||||||
|
return box
|
||||||
|
|
||||||
|
def create_chat(self):
|
||||||
|
lbl2 = wx.StaticText(self, -1, _("Write a message"))
|
||||||
|
self.text = wx.TextCtrl(self, -1, size=(400, -1), style=wx.TE_MULTILINE)
|
||||||
|
box = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
|
box.Add(lbl2, 0, wx.ALL, 20)
|
||||||
|
box.Add(self.text, 0, wx.ALL, 5)
|
||||||
|
return box
|
||||||
|
|
||||||
|
def set_focus_function(self, focus_function):
|
||||||
|
self.history.Bind(wx.EVT_KEY_UP , focus_function)
|
||||||
|
|
||||||
|
def add_message(self, message, reverse=False):
|
||||||
|
old_line = self.history.GetNumberOfLines()#.count("\n")
|
||||||
|
point = self.history.GetInsertionPoint()
|
||||||
|
if reverse:
|
||||||
|
wx.CallAfter(self.history.SetValue, message+"\n"+self.history.GetValue())
|
||||||
|
else:
|
||||||
|
wx.CallAfter(self.history.AppendText, message+"\n")
|
||||||
|
wx.CallAfter(self.history.SetInsertionPoint, point)
|
||||||
|
new_line = self.history.GetNumberOfLines()#.count("\n")
|
||||||
|
return (old_line, new_line)
|
15
src/wxUI/tabs/communityBoard.py
Normal file
15
src/wxUI/tabs/communityBoard.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
import widgetUtils
|
||||||
|
from .home import homeTab
|
||||||
|
|
||||||
|
class communityBoardTab(homeTab):
|
||||||
|
def create_list(self):
|
||||||
|
self.lbl = wx.StaticText(self, wx.NewId(), _("Topics"))
|
||||||
|
self.list = widgetUtils.list(self, *[_("User"), _("Title"), _("Posts"), _("Last")], style=wx.LC_REPORT)
|
||||||
|
self.list.set_windows_size(0, 200)
|
||||||
|
self.list.set_windows_size(1, 64)
|
||||||
|
self.list.set_windows_size(2, 15)
|
||||||
|
self.list.set_windows_size(2, 250)
|
||||||
|
self.list.set_size()
|
||||||
|
self.list.list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnKeyDown)
|
21
src/wxUI/tabs/communityDocuments.py
Normal file
21
src/wxUI/tabs/communityDocuments.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
import widgetUtils
|
||||||
|
from .home import homeTab
|
||||||
|
|
||||||
|
class communityDocumentsTab(homeTab):
|
||||||
|
def create_list(self):
|
||||||
|
self.lbl = wx.StaticText(self, wx.NewId(), _("Documents"))
|
||||||
|
self.list = widgetUtils.list(self, *[_("User"), _("Title"), _("Type"), _("Size"), _("Date")], style=wx.LC_REPORT)
|
||||||
|
self.list.set_windows_size(0, 200)
|
||||||
|
self.list.set_windows_size(1, 128)
|
||||||
|
self.list.set_windows_size(2, 35)
|
||||||
|
self.list.set_windows_size(3, 15)
|
||||||
|
self.list.set_windows_size(4, 25)
|
||||||
|
self.list.set_size()
|
||||||
|
self.list.list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnKeyDown)
|
||||||
|
|
||||||
|
def get_download_path(self, filename):
|
||||||
|
saveFileDialog = wx.FileDialog(self, _("Save document as"), "", filename, _("All files (*.*)|*.*"), wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
|
||||||
|
if saveFileDialog.ShowModal() == widgetUtils.OK:
|
||||||
|
return saveFileDialog.GetPath()
|
12
src/wxUI/tabs/communityWall.py
Normal file
12
src/wxUI/tabs/communityWall.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
from .home import homeTab
|
||||||
|
|
||||||
|
class communityWallTab(homeTab):
|
||||||
|
|
||||||
|
def create_post_buttons(self):
|
||||||
|
self.postBox = wx.StaticBoxSizer(parent=self, orient=wx.HORIZONTAL, label=_("Actions"))
|
||||||
|
self.load = wx.Button(self.postBox.GetStaticBox(), wx.NewId(), _("Load buffer"))
|
||||||
|
self.post = wx.Button(self.postBox.GetStaticBox(), -1, _("&Post in group"))
|
||||||
|
self.postBox.Add(self.load, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.post, 0, wx.ALL, 5)
|
11
src/wxUI/tabs/documents.py
Normal file
11
src/wxUI/tabs/documents.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
from .communityDocuments import communityDocumentsTab
|
||||||
|
|
||||||
|
class documentsTab(communityDocumentsTab):
|
||||||
|
def create_post_buttons(self):
|
||||||
|
self.postBox = wx.StaticBoxSizer(parent=self, orient=wx.HORIZONTAL, label=_("Actions"))
|
||||||
|
self.load = wx.Button(self.postBox.GetStaticBox(), wx.NewId(), _("Load buffer"))
|
||||||
|
self.post = wx.Button(self.postBox.GetStaticBox(), -1, _("&Post"))
|
||||||
|
self.postBox.Add(self.load, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.post, 0, wx.ALL, 5)
|
9
src/wxUI/tabs/empty.py
Normal file
9
src/wxUI/tabs/empty.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
|
||||||
|
class emptyTab(wx.Panel):
|
||||||
|
def __init__(self, parent, name):
|
||||||
|
super(emptyTab, self).__init__(parent=parent, name=name)
|
||||||
|
self.name = name
|
||||||
|
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||||
|
self.SetSizer(sizer)
|
16
src/wxUI/tabs/notification.py
Normal file
16
src/wxUI/tabs/notification.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
import widgetUtils
|
||||||
|
from pubsub import pub
|
||||||
|
from .home import homeTab
|
||||||
|
|
||||||
|
class notificationTab(homeTab):
|
||||||
|
def OnKeyDown(self, ev=None):
|
||||||
|
pub.sendMessage("show-notification", buffer=self.name)
|
||||||
|
ev.Skip()
|
||||||
|
|
||||||
|
def create_list(self):
|
||||||
|
self.lbl = wx.StaticText(self, wx.NewId(), _("Po&sts"))
|
||||||
|
self.list = widgetUtils.list(self, *[_("Notification"), _("Date")], style=wx.LC_REPORT)
|
||||||
|
self.list.set_windows_size(0, 190)
|
||||||
|
self.list.list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnKeyDown)
|
22
src/wxUI/tabs/people.py
Normal file
22
src/wxUI/tabs/people.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
import widgetUtils
|
||||||
|
from pubsub import pub
|
||||||
|
from .home import homeTab
|
||||||
|
|
||||||
|
class peopleTab(homeTab):
|
||||||
|
|
||||||
|
def create_list(self):
|
||||||
|
self.lbl = wx.StaticText(self, wx.NewId(), _("Friends"))
|
||||||
|
self.list = widgetUtils.list(self, *[_("Name"), _("Last seen")], style=wx.LC_REPORT)
|
||||||
|
self.list.set_windows_size(0, 190)
|
||||||
|
self.list.set_windows_size(1, 100)
|
||||||
|
self.list.set_size()
|
||||||
|
self.list.list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnKeyDown)
|
||||||
|
|
||||||
|
def create_post_buttons(self):
|
||||||
|
self.postBox = wx.StaticBoxSizer(parent=self, orient=wx.HORIZONTAL, label=_("Actions"))
|
||||||
|
self.post = wx.Button(self.postBox.GetStaticBox(), -1, _("&Post on user's wall"))
|
||||||
|
self.new_chat = wx.Button(self.postBox.GetStaticBox(), wx.NewId(), _("Send message"))
|
||||||
|
self.postBox.Add(self.post, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.new_chat, 0, wx.ALL, 5)
|
23
src/wxUI/tabs/photoAlbum.py
Normal file
23
src/wxUI/tabs/photoAlbum.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
import widgetUtils
|
||||||
|
from pubsub import pub
|
||||||
|
from .home import homeTab
|
||||||
|
|
||||||
|
class albumTab(homeTab):
|
||||||
|
def __init__(self, parent):
|
||||||
|
super(albumTab, self).__init__(parent=parent)
|
||||||
|
self.name = "albums"
|
||||||
|
|
||||||
|
def OnKeyDown(self, ev=None):
|
||||||
|
pub.sendMessage("show-album", buffer=self.name)
|
||||||
|
ev.Skip()
|
||||||
|
|
||||||
|
def create_list(self):
|
||||||
|
self.list = widgetUtils.list(self, *[_("User"), _("Name"), _("Description"), _("Photos"), _("Created at")], style=wx.LC_REPORT)
|
||||||
|
self.list.set_windows_size(0, 190)
|
||||||
|
self.list.set_windows_size(1, 320)
|
||||||
|
self.list.set_windows_size(2, 513)
|
||||||
|
self.list.set_windows_size(3, 390)
|
||||||
|
self.list.set_windows_size(4, 180)
|
||||||
|
self.list.list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnKeyDown)
|
21
src/wxUI/tabs/video.py
Normal file
21
src/wxUI/tabs/video.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
import widgetUtils
|
||||||
|
from .home import homeTab
|
||||||
|
|
||||||
|
class videoTab(homeTab):
|
||||||
|
def create_list(self):
|
||||||
|
self.lbl = wx.StaticText(self, wx.NewId(), _("Video&s"))
|
||||||
|
self.list = widgetUtils.list(self, *[_("Title"), _("Description"), _("Duration")], style=wx.LC_REPORT)
|
||||||
|
self.list.set_windows_size(0, 160)
|
||||||
|
self.list.set_windows_size(1, 380)
|
||||||
|
self.list.set_windows_size(2, 80)
|
||||||
|
self.list.set_size()
|
||||||
|
self.list.list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnKeyDown)
|
||||||
|
|
||||||
|
def create_post_buttons(self):
|
||||||
|
self.postBox = wx.StaticBoxSizer(parent=self, orient=wx.HORIZONTAL, label=_("Actions"))
|
||||||
|
self.post = wx.Button(self.postBox.GetStaticBox(), -1, _("&Post"))
|
||||||
|
self.play = wx.Button(self.postBox.GetStaticBox(), -1, _("P&lay"))
|
||||||
|
self.postBox.Add(self.post, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.play, 0, wx.ALL, 5)
|
13
src/wxUI/tabs/videoAlbum.py
Normal file
13
src/wxUI/tabs/videoAlbum.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import wx
|
||||||
|
from .video import videoTab
|
||||||
|
|
||||||
|
class videoAlbumTab(videoTab):
|
||||||
|
|
||||||
|
def create_post_buttons(self):
|
||||||
|
self.postBox = wx.BoxSizer(parent=self, orient=wx.HORIZONTAL, label=_("Actions"))
|
||||||
|
self.load = wx.Button(self.postBox.GetStaticBox(), wx.NewId(), _("Load buffer"))
|
||||||
|
self.post = wx.Button(self.postBox.GetStaticBox(), -1, _("&Post"))
|
||||||
|
self.play = wx.Button(self.postBox.GetStaticBox(), -1, _("P&lay"))
|
||||||
|
self.postBox.Add(self.post, 0, wx.ALL, 5)
|
||||||
|
self.postBox.Add(self.play, 0, wx.ALL, 5)
|
Loading…
Reference in New Issue
Block a user