[X2Go-Commits] pyhoca-gui.git - twofactorauth (branch) updated: 0.0.29.0-38-gc7f2129

X2Go dev team git-admin at x2go.org
Sat Sep 14 15:54:47 CEST 2013


The branch, twofactorauth has been updated
       via  c7f21295a90c5ad7d53a00359ef35186403d2fb2 (commit)
      from  d444350f168b5ad8dd5d49338d1cb14873738478 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 pyhoca/wxgui/printingprefs.py |  133 +++++++++++++++++++++++++++++++++++++----
 1 file changed, 122 insertions(+), 11 deletions(-)

The diff of changes is:
diff --git a/pyhoca/wxgui/printingprefs.py b/pyhoca/wxgui/printingprefs.py
index c4724bf..d5ff9c9 100644
--- a/pyhoca/wxgui/printingprefs.py
+++ b/pyhoca/wxgui/printingprefs.py
@@ -49,14 +49,14 @@ class PyHocaGUI_PrintingPreferences(wx.Dialog):
         wx.Dialog.__init__(self, None, -1, style=wx.DEFAULT_DIALOG_STYLE, )
 
         self._availablePrintActions = {
-            'PDFVIEW': _(u'Open with PDF Viewer'),
+            'PDFVIEW': _(u'Open with PDF viewer'),
             'PDFSAVE': _(u'Save to a local folder'),
-            'PRINT': _(u'Print to a local Printer'),
-            'PRINTCMD': _(u'Run Custom Print Command'),
-            'DIALOG': _(u'Open this Dialog Window'),
+            'PRINT': _(u'Print to a local printer'),
+            'PRINTCMD': _(u'Run custom print command'),
+            'DIALOG': _(u'Open this dialog window'),
             }
         if self.mode != 'edit':
-            self._availablePrintActions['DIALOG'] = _(u'<Select a Print Action here>')
+            self._availablePrintActions['DIALOG'] = _(u'<Select a print action here>')
 
         self.client_printing = self._PyHocaGUI.client_printing
 
@@ -69,6 +69,33 @@ class PyHocaGUI_PrintingPreferences(wx.Dialog):
             self.PrintActionLabel = wx.StaticText(self, -1, _(u"Default action for incoming print jobs")+':')
         self.PrintAction = wx.ComboBox(self, -1, choices=self._availablePrintActions.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY)
 
+        # widgets for print action PDFVIEW
+        self.PdfViewCmdLabel = wx.StaticText(self, -1, _(u'PDF viewer command') + ':', )
+        self.PdfViewCmd = wx.TextCtrl(self, -1, '', )
+        self.PdfViewCmdBrowseButton = wx.BitmapButton(self, -1, 
+                                                      wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY)
+                                                     )
+
+        # widgets for print action PDFSAVE
+        self.PdfSaveToFolderLabel = wx.StaticText(self, -1, _(u'Save PDFs to folder') + ':', )
+        self.PdfSaveToFolder = wx.TextCtrl(self, -1, '', )
+        self.PdfSaveToFolderBrowseButton = wx.BitmapButton(self, -1, 
+                                                           wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY)
+                                                          )
+
+        # widgets for print action PRINT
+        _printer_list = []
+        if X2GOCLIENT_OS == 'Windows':
+            pass
+        else:
+            pass
+        self.PrintPrinterLabel = wx.StaticText(self, -1, _(u'Use this printer') + ':', )
+        self.PrintPrinter = wx.ComboBox(self, -1, choices=_printer_list, style=wx.CB_DROPDOWN|wx.CB_READONLY)
+
+        # widgets for print action PRINTCMD
+        self.PrintCmdLabel = wx.StaticText(self, -1, _(u'Custom print command') + ':', )
+        self.PrintCmd = wx.TextCtrl(self, -1, '', )
+
         if self.mode == 'edit':
             self.OKButton = wx.Button(self, -1, _(u"Save"))
         else:
@@ -80,6 +107,8 @@ class PyHocaGUI_PrintingPreferences(wx.Dialog):
         self.__update_fields()
         self.__do_layout()
 
+        self.Bind(wx.EVT_COMBOBOX, self.OnPrintActionChange, self.PrintAction)
+
         self.Bind(wx.EVT_BUTTON, self.OnOKButton, self.OKButton)
         self.Bind(wx.EVT_BUTTON, self.OnCancel, self.CancelButton)
 
@@ -95,12 +124,33 @@ class PyHocaGUI_PrintingPreferences(wx.Dialog):
     def __do_layout(self):
 
         sizer_1 = wx.BoxSizer(wx.VERTICAL)
-        sizer_1_1 = wx.BoxSizer(wx.VERTICAL)
+        sizer_1_1 = wx.GridBagSizer(hgap=2, vgap=5)
+        sizer_1_1.Add(self.PrintActionLabel, pos=(0,0), flag=wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, border=7)
+        sizer_1_1.Add(self.PrintAction, pos=(0,1), )
+
+        sizer_1_1.Add(self.PdfViewCmdLabel, pos=(1,0), flag=wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, border=7)
         sizer_1_1_1 = wx.BoxSizer(wx.HORIZONTAL)
-        sizer_1_1_1.Add(self.PrintActionLabel, flag=wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, border=7)
-        sizer_1_1_1.Add(self.PrintAction)
-        sizer_1_1.Add(sizer_1_1_1, flag=wx.BOTTOM, border=5)
+        sizer_1_1_1.Add(self.PdfViewCmd, proportion=1, flag=wx.EXPAND|wx.RIGHT, border=7, )
+        sizer_1_1_1.Add(self.PdfViewCmdBrowseButton, )
+        sizer_1_1.Add(sizer_1_1_1, pos=(1,1), flag=wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, )
+
+        sizer_1_1.Add(self.PdfSaveToFolderLabel, pos=(2,0), flag=wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, border=7, )
+        sizer_1_1_2 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_1_1_2.Add(self.PdfSaveToFolder, proportion=1, flag=wx.EXPAND|wx.RIGHT, border=7, )
+        sizer_1_1_2.Add(self.PdfSaveToFolderBrowseButton, )
+        sizer_1_1.Add(sizer_1_1_2, pos=(2,1), flag=wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, )
+
+        sizer_1_1.Add(self.PrintPrinterLabel, pos=(3,0), flag=wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, border=7, )
+        sizer_1_1_3 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_1_1_3.Add(self.PrintPrinter, proportion=1, flag=wx.EXPAND, )
+        sizer_1_1.Add(sizer_1_1_3, pos=(3,1), flag=wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, )
+
+        sizer_1_1.Add(self.PrintCmdLabel, pos=(4,0), flag=wx.ALIGN_CENTER_VERTICAL|wx.RIGHT, border=7, )
+        sizer_1_1_4 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_1_1_4.Add(self.PrintCmd, proportion=1, flag=wx.EXPAND, )
+        sizer_1_1.Add(sizer_1_1_4, pos=(4,1), flag=wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, )
         sizer_1.Add(sizer_1_1, flag=wx.EXPAND|wx.ALL, border=10)
+
         # the bottom area with OK and Cancel buttons
         sizer_B = wx.BoxSizer(wx.HORIZONTAL)
         sizer_B.Add(self.OKButton, flag=wx.ALL, border=5)
@@ -123,9 +173,69 @@ class PyHocaGUI_PrintingPreferences(wx.Dialog):
             self.PrintAction.SetValue(self._availablePrintActions[print_action_name])
         else:
             self.PrintAction.SetValue(print_action_name)
+        self._onPrintActionChange()
 
     def __update_from_screen(self):
-        pass
+        kwargs = {
+            'pdfview_cmd': self.PdfViewCmd.GetValue(),
+            'save_to_folder': self.PdfSaveToFolder.GetValue(),
+            'printer': self.PrintPrinter.GetValue(),
+            'print_cmd': self.PrintCmd.GetValue(),
+        }
+        self.client_printing.set_print_action(self._print_action, **kwargs)
+
+    @property
+    def _print_action(self):
+        return [ p for p in self._availablePrintActions.keys() if self._availablePrintActions[p] == self.PrintAction.GetValue() ][0]
+
+    def _onPrintActionChange(self):
+        if self._print_action == 'PDFVIEW':
+            self.PdfViewSelected()
+        elif self._print_action == 'PDFSAVE':
+            self.PdfSaveToFolderSelected()
+        elif self._print_action == 'PRINT':
+            self.PrintPrinterSelected()
+        elif self._print_action == 'PRINTCMD':
+            self.PrintCmdSelected()
+        else:
+            self._disable_PrintOptions()
+
+    def OnPrintActionChange(self, evt):
+        self._onPrintActionChange()
+
+    def _disable_PrintOptions(self):
+        self.PdfViewCmdLabel.Enable(False)
+        self.PdfViewCmd.Enable(False)
+        self.PdfViewCmdBrowseButton.Enable(False)
+        self.PdfSaveToFolderLabel.Enable(False)
+        self.PdfSaveToFolder.Enable(False)
+        self.PdfSaveToFolderBrowseButton.Enable(False)
+        self.PrintPrinterLabel.Enable(False)
+        self.PrintPrinter.Enable(False)
+        self.PrintCmdLabel.Enable(False)
+        self.PrintCmd.Enable(False)
+
+    def PdfViewSelected(self):
+        self._disable_PrintOptions()
+        self.PdfViewCmdLabel.Enable(True)
+        self.PdfViewCmd.Enable(True)
+        self.PdfViewCmdBrowseButton.Enable(True)
+
+    def PdfSaveToFolderSelected(self):
+        self._disable_PrintOptions()
+        self.PdfSaveToFolderLabel.Enable(True)
+        self.PdfSaveToFolder.Enable(True)
+        self.PdfSaveToFolderBrowseButton.Enable(True)
+
+    def PrintPrinterSelected(self):
+        self._disable_PrintOptions()
+        self.PrintPrinterLabel.Enable(True)
+        self.PrintPrinter.Enable(True)
+
+    def PrintCmdSelected(self):
+        self._disable_PrintOptions()
+        self.PrintCmdLabel.Enable(True)
+        self.PrintCmd.Enable(True)
 
     def __validate(self):
         validateOk = True
@@ -135,7 +245,7 @@ class PyHocaGUI_PrintingPreferences(wx.Dialog):
         wx.BeginBusyCursor()
         self.__update_from_screen()
         if self.__validate():
-            pass
+            self.client_printing.write()
 
             wx.EndBusyCursor()
             self.Close()
@@ -144,6 +254,7 @@ class PyHocaGUI_PrintingPreferences(wx.Dialog):
             wx.EndBusyCursor()
 
     def OnCancel(self, event):
+        self.client_printing.load()
         self.Close()
         self.Destroy()
 


hooks/post-receive
-- 
pyhoca-gui.git (Python X2Go Client (wxPython GUI))

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "pyhoca-gui.git" (Python X2Go Client (wxPython GUI)).




More information about the x2go-commits mailing list