68 lines
2.9 KiB
Python
68 lines
2.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
import wx
|
|
import widgetUtils
|
|
|
|
class attachDialog(widgetUtils.BaseDialog):
|
|
def __init__(self, voice_messages=False):
|
|
super(attachDialog, self).__init__(None, title=_("Add an attachment"))
|
|
panel = wx.Panel(self)
|
|
sizer = wx.BoxSizer(wx.VERTICAL)
|
|
lbl1 = wx.StaticText(panel, wx.NewId(), _("Attachments"))
|
|
self.attachments = widgetUtils.list(panel, _("Type"), _("Title"), style=wx.LC_REPORT)
|
|
box = wx.BoxSizer(wx.HORIZONTAL)
|
|
box.Add(lbl1, 0, wx.ALL, 5)
|
|
box.Add(self.attachments.list, 0, wx.ALL, 5)
|
|
sizer.Add(box, 0, wx.ALL, 5)
|
|
static = wx.StaticBoxSizer(parent=panel, orient=wx.HORIZONTAL, label=_("Add attachments"))
|
|
self.photo = wx.Button(static.GetStaticBox(), wx.NewId(), _("&Photo"))
|
|
self.audio = wx.Button(static.GetStaticBox(), wx.NewId(), _("Audio file"))
|
|
self.document = wx.Button(static.GetStaticBox(), wx.NewId(), _("Document"))
|
|
if voice_messages:
|
|
self.voice_message = wx.Button(static.GetStaticBox(), wx.NewId(), _("Voice message"))
|
|
self.remove = wx.Button(static.GetStaticBox(), wx.NewId(), _("Remove attachment"))
|
|
self.remove.Enable(False)
|
|
static.Add(self.photo, 0, wx.ALL, 5)
|
|
static.Add(self.audio, 0, wx.ALL, 5)
|
|
static.Add(self.document, 0, wx.ALL, 5)
|
|
if voice_messages:
|
|
static.Add(self.voice_message, 0, wx.ALL, 5)
|
|
sizer.Add(static, 0, wx.ALL, 5)
|
|
ok = wx.Button(panel, wx.ID_OK)
|
|
ok.SetDefault()
|
|
cancelBtn = wx.Button(panel, wx.ID_CANCEL)
|
|
btnSizer = wx.BoxSizer()
|
|
btnSizer.Add(ok, 0, wx.ALL, 5)
|
|
btnSizer.Add(cancelBtn, 0, wx.ALL, 5)
|
|
sizer.Add(btnSizer, 0, wx.ALL, 5)
|
|
panel.SetSizer(sizer)
|
|
self.SetClientSize(sizer.CalcMin())
|
|
|
|
def get_image(self):
|
|
openFileDialog = wx.FileDialog(self, _("Select the picture to be uploaded"), "", "", _("Image files (*.png, *.jpg, *.gif)|*.png; *.jpg; *.gif"), wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
|
|
if openFileDialog.ShowModal() == wx.ID_CANCEL:
|
|
return None
|
|
dsc = self.ask_description()
|
|
return (openFileDialog.GetPath(), dsc)
|
|
|
|
def ask_description(self):
|
|
dlg = wx.TextEntryDialog(self, _("please provide a description"), _("Description"))
|
|
dlg.ShowModal()
|
|
result = dlg.GetValue()
|
|
dlg.Destroy()
|
|
return result
|
|
|
|
def get_audio(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_document(self):
|
|
openFileDialog = wx.FileDialog(self, _("Select the file to be uploaded. All extensions are allowed except .mp3 and .exe."), "", "", _("All files (*.*)|*.*"), wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
|
|
if openFileDialog.ShowModal() == wx.ID_CANCEL:
|
|
return None
|
|
return openFileDialog.GetPath()
|
|
|
|
def invalid_attachment(self):
|
|
return wx.MessageDialog(None, _("The file you are trying to upload contains an extension that is not allowed by VK."), _("Error"), style=wx.ICON_ERROR).ShowModal() |