mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-04-17 08:02:29 -04:00
94 lines
4.4 KiB
Python
94 lines
4.4 KiB
Python
|
""" GUI dialogs for tweet writing and displaying. """
|
||
|
import wx
|
||
|
|
||
|
class viewToot(wx.Dialog):
|
||
|
def set_title(self, lenght):
|
||
|
self.SetTitle(_("Toot - %i characters ") % (lenght,))
|
||
|
|
||
|
def __init__(self, text="", boosts_count=0, favs_count=0, source="", date="", privacy="", *args, **kwargs):
|
||
|
super(viewToot, self).__init__(parent=None, id=wx.ID_ANY, size=(850,850))
|
||
|
panel = wx.Panel(self)
|
||
|
label = wx.StaticText(panel, -1, _("Toot"))
|
||
|
self.text = wx.TextCtrl(panel, -1, text, style=wx.TE_READONLY|wx.TE_MULTILINE, size=(250, 180))
|
||
|
self.text.SetFocus()
|
||
|
textBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
textBox.Add(label, 0, wx.ALL, 5)
|
||
|
textBox.Add(self.text, 1, wx.EXPAND, 5)
|
||
|
mainBox = wx.BoxSizer(wx.VERTICAL)
|
||
|
mainBox.Add(textBox, 0, wx.ALL, 5)
|
||
|
label2 = wx.StaticText(panel, -1, _("Image description"))
|
||
|
self.image_description = wx.TextCtrl(panel, -1, style=wx.TE_READONLY|wx.TE_MULTILINE, size=(250, 180))
|
||
|
self.image_description.Enable(False)
|
||
|
iBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
iBox.Add(label2, 0, wx.ALL, 5)
|
||
|
iBox.Add(self.image_description, 1, wx.EXPAND, 5)
|
||
|
mainBox.Add(iBox, 0, wx.ALL, 5)
|
||
|
privacyLabel = wx.StaticText(panel, -1, _("Privacy"))
|
||
|
privacy = wx.TextCtrl(panel, -1, privacy, size=wx.DefaultSize, style=wx.TE_READONLY|wx.TE_MULTILINE)
|
||
|
privacyBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
privacyBox.Add(privacyLabel, 0, wx.ALL, 5)
|
||
|
privacyBox.Add(privacy, 0, wx.ALL, 5)
|
||
|
boostsCountLabel = wx.StaticText(panel, -1, _(u"Boosts: "))
|
||
|
boostsCount = wx.TextCtrl(panel, -1, str(boosts_count), size=wx.DefaultSize, style=wx.TE_READONLY|wx.TE_MULTILINE)
|
||
|
boostBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
boostBox.Add(boostsCountLabel, 0, wx.ALL, 5)
|
||
|
boostBox.Add(boostsCount, 0, wx.ALL, 5)
|
||
|
favsCountLabel = wx.StaticText(panel, -1, _("Favorites: "))
|
||
|
favsCount = wx.TextCtrl(panel, -1, str(favs_count), size=wx.DefaultSize, style=wx.TE_READONLY|wx.TE_MULTILINE)
|
||
|
favsBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
favsBox.Add(favsCountLabel, 0, wx.ALL, 5)
|
||
|
favsBox.Add(favsCount, 0, wx.ALL, 5)
|
||
|
sourceLabel = wx.StaticText(panel, -1, _("Source: "))
|
||
|
source = wx.TextCtrl(panel, -1, source, size=wx.DefaultSize, style=wx.TE_READONLY|wx.TE_MULTILINE)
|
||
|
sourceBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
sourceBox.Add(sourceLabel, 0, wx.ALL, 5)
|
||
|
sourceBox.Add(source, 0, wx.ALL, 5)
|
||
|
dateLabel = wx.StaticText(panel, -1, _(u"Date: "))
|
||
|
date = wx.TextCtrl(panel, -1, date, size=wx.DefaultSize, style=wx.TE_READONLY|wx.TE_MULTILINE)
|
||
|
dateBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
dateBox.Add(dateLabel, 0, wx.ALL, 5)
|
||
|
dateBox.Add(date, 0, wx.ALL, 5)
|
||
|
infoBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
infoBox.Add(privacyBox, 0, wx.ALL, 5)
|
||
|
infoBox.Add(boostBox, 0, wx.ALL, 5)
|
||
|
infoBox.Add(favsBox, 0, wx.ALL, 5)
|
||
|
infoBox.Add(sourceBox, 0, wx.ALL, 5)
|
||
|
mainBox.Add(infoBox, 0, wx.ALL, 5)
|
||
|
mainBox.Add(dateBox, 0, wx.ALL, 5)
|
||
|
self.share = wx.Button(panel, wx.ID_ANY, _("Copy link to clipboard"))
|
||
|
self.share.Enable(False)
|
||
|
self.spellcheck = wx.Button(panel, -1, _("Check &spelling..."), size=wx.DefaultSize)
|
||
|
self.translateButton = wx.Button(panel, -1, _(u"&Translate..."), size=wx.DefaultSize)
|
||
|
cancelButton = wx.Button(panel, wx.ID_CANCEL, _(u"C&lose"), size=wx.DefaultSize)
|
||
|
cancelButton.SetDefault()
|
||
|
buttonsBox = wx.BoxSizer(wx.HORIZONTAL)
|
||
|
buttonsBox.Add(self.share, 0, wx.ALL, 5)
|
||
|
buttonsBox.Add(self.spellcheck, 0, wx.ALL, 5)
|
||
|
buttonsBox.Add(self.translateButton, 0, wx.ALL, 5)
|
||
|
buttonsBox.Add(cancelButton, 0, wx.ALL, 5)
|
||
|
mainBox.Add(buttonsBox, 0, wx.ALL, 5)
|
||
|
selectId = wx.ID_ANY
|
||
|
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)
|
||
|
panel.SetSizer(mainBox)
|
||
|
self.SetClientSize(mainBox.CalcMin())
|
||
|
|
||
|
def set_text(self, text):
|
||
|
self.text.ChangeValue(text)
|
||
|
|
||
|
def get_text(self):
|
||
|
return self.text.GetValue()
|
||
|
|
||
|
def text_focus(self):
|
||
|
self.text.SetFocus()
|
||
|
|
||
|
def onSelect(self, ev):
|
||
|
self.text.SelectAll()
|
||
|
|
||
|
def enable_button(self, buttonName):
|
||
|
if hasattr(self, buttonName):
|
||
|
return getattr(self, buttonName).Enable()
|