From 8780537adfab8fe1573b877735522cd21bfbae85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 20 Mar 2018 15:22:31 +0100 Subject: [PATCH 1/2] Make sure the New macro dialog is large enough --- printrun/pronterface.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/printrun/pronterface.py b/printrun/pronterface.py index 62cc3017f..e8a2a651e 100644 --- a/printrun/pronterface.py +++ b/printrun/pronterface.py @@ -2164,19 +2164,19 @@ def delete_macro(self, macro_name): self.update_macros_menu() def new_macro(self, e = None): - dialog = wx.Dialog(self, -1, _("Enter macro name"), size = (260, 85)) + dialog = wx.Dialog(self, -1, _("Enter macro name")) panel = wx.Panel(dialog, -1) vbox = wx.BoxSizer(wx.VERTICAL) wx.StaticText(panel, -1, _("Macro name:"), (8, 14)) dialog.namectrl = wx.TextCtrl(panel, -1, '', (110, 8), size = (130, 24), style = wx.TE_PROCESS_ENTER) hbox = wx.BoxSizer(wx.HORIZONTAL) - okb = wx.Button(dialog, wx.ID_OK, _("Ok"), size = (60, 24)) + okb = wx.Button(dialog, wx.ID_OK, _("Ok")) dialog.Bind(wx.EVT_TEXT_ENTER, lambda e: dialog.EndModal(wx.ID_OK), dialog.namectrl) hbox.Add(okb) - hbox.Add(wx.Button(dialog, wx.ID_CANCEL, _("Cancel"), size = (60, 24))) + hbox.Add(wx.Button(dialog, wx.ID_CANCEL, _("Cancel"))) vbox.Add(panel) vbox.Add(hbox, 1, wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, 10) - dialog.SetSizer(vbox) + dialog.SetSizerAndFit(vbox) dialog.Centre() macro = "" if dialog.ShowModal() == wx.ID_OK: From 719e162b7f8523ccae04c644ff51a620de5032a6 Mon Sep 17 00:00:00 2001 From: Rock Storm Date: Wed, 21 Mar 2018 18:19:22 +0100 Subject: [PATCH 2/2] p/pronterface: Fix new-macro dialog layout --- printrun/pronterface.py | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/printrun/pronterface.py b/printrun/pronterface.py index e8a2a651e..93a56208b 100644 --- a/printrun/pronterface.py +++ b/printrun/pronterface.py @@ -2165,22 +2165,38 @@ def delete_macro(self, macro_name): def new_macro(self, e = None): dialog = wx.Dialog(self, -1, _("Enter macro name")) - panel = wx.Panel(dialog, -1) - vbox = wx.BoxSizer(wx.VERTICAL) - wx.StaticText(panel, -1, _("Macro name:"), (8, 14)) - dialog.namectrl = wx.TextCtrl(panel, -1, '', (110, 8), size = (130, 24), style = wx.TE_PROCESS_ENTER) - hbox = wx.BoxSizer(wx.HORIZONTAL) + text = wx.StaticText(dialog, -1, _("Macro name:")) + namectrl = wx.TextCtrl(dialog, -1, style = wx.TE_PROCESS_ENTER) okb = wx.Button(dialog, wx.ID_OK, _("Ok")) - dialog.Bind(wx.EVT_TEXT_ENTER, lambda e: dialog.EndModal(wx.ID_OK), dialog.namectrl) - hbox.Add(okb) - hbox.Add(wx.Button(dialog, wx.ID_CANCEL, _("Cancel"))) - vbox.Add(panel) - vbox.Add(hbox, 1, wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, 10) - dialog.SetSizerAndFit(vbox) + dialog.Bind(wx.EVT_TEXT_ENTER, + lambda e: dialog.EndModal(wx.ID_OK), namectrl) + cancel_button = wx.Button(dialog, wx.ID_CANCEL, _("Cancel")) + + # Layout + ## Group the buttons horizontally + buttons_sizer = wx.BoxSizer(wx.HORIZONTAL) + buttons_sizer.Add(okb, 0) + buttons_sizer.Add(cancel_button, 0) + ## Set a minimum size for the name control box + min_size = namectrl.GetTextExtent('Default Long Macro Name') + namectrl.SetMinSize(wx.Size(min_size.width, -1)) + ## Group the text and the name control box horizontally + name_sizer = wx.BoxSizer(wx.HORIZONTAL) + name_sizer.Add(text, 0, flag = wx.ALIGN_CENTER) + name_sizer.AddSpacer(10) + name_sizer.Add(namectrl, 1, wx.EXPAND) + ## Group everything vertically + dialog_sizer = wx.BoxSizer(wx.VERTICAL) + dialog_sizer.Add(name_sizer, 0, border = 10, + flag = wx.LEFT | wx.TOP | wx.RIGHT) + dialog_sizer.Add(buttons_sizer, 0, border = 10, + flag = wx.ALIGN_CENTER | wx.ALL) + dialog.SetSizerAndFit(dialog_sizer) dialog.Centre() + macro = "" if dialog.ShowModal() == wx.ID_OK: - macro = dialog.namectrl.GetValue() + macro = namectrl.GetValue() if macro != "": wx.CallAfter(self.edit_macro, macro) dialog.Destroy()