mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2026-03-07 01:47:32 +01:00
Avance
This commit is contained in:
95
srcantiguo/wxUI/dialogs/userAliasDialogs.py
Normal file
95
srcantiguo/wxUI/dialogs/userAliasDialogs.py
Normal file
@@ -0,0 +1,95 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import wx
|
||||
import gettext
|
||||
from . import baseDialog
|
||||
|
||||
class addAliasDialog(baseDialog.BaseWXDialog):
|
||||
def __init__(self, title, users):
|
||||
super(addAliasDialog, self).__init__(parent=None, id=wx.ID_ANY, title=title)
|
||||
panel = wx.Panel(self)
|
||||
userSizer = wx.BoxSizer()
|
||||
self.cb = wx.ComboBox(panel, -1, choices=users, value=users[0], size=wx.DefaultSize)
|
||||
self.cb.SetFocus()
|
||||
self.autocompletion = wx.Button(panel, -1, _(u"&Autocomplete users"))
|
||||
userSizer.Add(wx.StaticText(panel, -1, _(u"User")), 0, wx.ALL, 5)
|
||||
userSizer.Add(self.cb, 0, wx.ALL, 5)
|
||||
userSizer.Add(self.autocompletion, 0, wx.ALL, 5)
|
||||
aliasSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
aliasLabel = wx.StaticText(panel, wx.ID_ANY, _("Alias"))
|
||||
self.alias = wx.TextCtrl(panel, wx.ID_ANY)
|
||||
aliasSizer.Add(aliasLabel, 0, wx.ALL, 5)
|
||||
aliasSizer.Add(self.alias, 0, wx.ALL, 5)
|
||||
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
ok = wx.Button(panel, wx.ID_OK, _(u"OK"))
|
||||
ok.SetDefault()
|
||||
cancel = wx.Button(panel, wx.ID_CANCEL, _(u"Close"))
|
||||
btnsizer = wx.BoxSizer()
|
||||
btnsizer.Add(ok, 0, wx.ALL, 5)
|
||||
btnsizer.Add(cancel, 0, wx.ALL, 5)
|
||||
sizer.Add(userSizer, 0, wx.ALL, 5)
|
||||
sizer.Add(aliasSizer, 0, wx.ALL, 5)
|
||||
sizer.Add(btnsizer, 0, wx.ALL, 5)
|
||||
panel.SetSizer(sizer)
|
||||
self.SetClientSize(sizer.CalcMin())
|
||||
|
||||
def get_user(self):
|
||||
return (self.cb.GetValue(), self.alias.GetValue())
|
||||
|
||||
class userAliasEditorDialog(wx.Dialog):
|
||||
def __init__(self, *args, **kwds):
|
||||
super(userAliasEditorDialog, self).__init__(parent=None)
|
||||
self.SetTitle(_("Edit user aliases"))
|
||||
main_sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
userListSizer = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, _("Users")), wx.VERTICAL)
|
||||
main_sizer.Add(userListSizer, 1, wx.EXPAND, 0)
|
||||
self.users = wx.ListBox(self, wx.ID_ANY, choices=[])
|
||||
self.users.Bind(wx.EVT_LISTBOX, self.on_selection_changes)
|
||||
userListSizer.Add(self.users, 0, 0, 0)
|
||||
actionsSizer = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, _("Actions")), wx.HORIZONTAL)
|
||||
main_sizer.Add(actionsSizer, 1, wx.EXPAND, 0)
|
||||
self.add = wx.Button(self, wx.ID_ANY, _("Add alias"))
|
||||
self.add.SetToolTip(_("Adds a new user alias"))
|
||||
actionsSizer.Add(self.add, 0, 0, 0)
|
||||
self.edit = wx.Button(self, wx.ID_ANY, _("Edit"))
|
||||
self.edit.SetToolTip(_("Edit the currently focused user Alias."))
|
||||
self.edit.Enable(False)
|
||||
actionsSizer.Add(self.edit, 0, 0, 0)
|
||||
self.remove = wx.Button(self, wx.ID_ANY, _("Remove"))
|
||||
self.remove.SetToolTip(_("Remove the currently focused user alias."))
|
||||
self.remove.Enable(False)
|
||||
actionsSizer.Add(self.remove, 0, 0, 0)
|
||||
btnSizer = wx.StdDialogButtonSizer()
|
||||
main_sizer.Add(btnSizer, 0, wx.ALIGN_RIGHT | wx.ALL, 4)
|
||||
self.button_CLOSE = wx.Button(self, wx.ID_CLOSE, "")
|
||||
btnSizer.AddButton(self.button_CLOSE)
|
||||
btnSizer.Realize()
|
||||
self.SetSizer(main_sizer)
|
||||
main_sizer.Fit(self)
|
||||
self.SetEscapeId(self.button_CLOSE.GetId())
|
||||
self.Layout()
|
||||
|
||||
def on_selection_changes(self, *args, **kwargs):
|
||||
selection = self.users.GetSelection()
|
||||
if selection == -1:
|
||||
self.enable_action_buttons(False)
|
||||
else:
|
||||
self.enable_action_buttons(True)
|
||||
|
||||
def get_selected_user(self):
|
||||
return self.users.GetStringSelection()
|
||||
|
||||
def remove_alias_dialog(self, *args, **kwargs):
|
||||
dlg = wx.MessageDialog(self, _("Are you sure you want to delete this user alias?"), _("Remove user alias"), wx.YES_NO)
|
||||
if dlg.ShowModal() == wx.ID_YES:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def enable_action_buttons(self, enabled=True):
|
||||
self.edit.Enable(enabled)
|
||||
self.remove.Enable(enabled)
|
||||
|
||||
def edit_alias_dialog(self, title):
|
||||
dlg = wx.TextEntryDialog(self, title, _("User alias"))
|
||||
if dlg.ShowModal() == wx.ID_OK:
|
||||
return dlg.GetValue()
|
||||
Reference in New Issue
Block a user