The branch, master has been updated via 4e7c22e6c1994cc74348e8c8ee808e5e31886de1 (commit) from ce4e09cc437f0ff15e4ed53b7a96e100576462bc (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 ----------------------------------------------------------------- commit 4e7c22e6c1994cc74348e8c8ee808e5e31886de1 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Wed Oct 10 22:25:25 2012 +0200 Introduce profile manager tab ,,Link Quality''. Move printing into renamed tab ,,Resource Sharing''. Shrink profile manager window, closes upstream issue: #13. ----------------------------------------------------------------------- Summary of changes: debian/changelog | 3 + pyhoca/wxgui/profilemanager.py | 385 +++++++++++++++++++++------------------- 2 files changed, 201 insertions(+), 187 deletions(-) The diff of changes is: diff --git a/debian/changelog b/debian/changelog index a62501b..6c2b1b0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -28,6 +28,9 @@ pyhoca-gui (0.2.1.0-0~x2go1) UNRELEASED; urgency=low - Disable ,,usesshproxy'' for DirectRDP sessions. - Make ,,maxdim'' option configurable through session profile manager. - Fix naming mismatch ,,autologin'' vs. ,,autoconnect''. + - Introduce profile manager tab ,,Link Quality''. Move printing into renamed + tab ,,Resource Sharing''. Shrink profile manager window, closes upstream + issue: #13. * /debian/control: + Maintainer change in package: X2Go Developers <x2go-dev@lists.berlios.de>. diff --git a/pyhoca/wxgui/profilemanager.py b/pyhoca/wxgui/profilemanager.py index 1888bee..6b80fcf 100644 --- a/pyhoca/wxgui/profilemanager.py +++ b/pyhoca/wxgui/profilemanager.py @@ -163,8 +163,9 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.tab_Profile = wx.Panel(self.X2goTabs, -1) self.tab_Session = wx.Panel(self.X2goTabs, -1) self.tab_Connection = wx.Panel(self.X2goTabs, -1) + self.tab_LinkQuality = wx.Panel(self.X2goTabs, -1) self.tab_Settings = wx.Panel(self.X2goTabs, -1) - self.tab_SharedFilesAndFolders = wx.Panel(self.X2goTabs, -1) + self.tab_SharedResources = wx.Panel(self.X2goTabs, -1) # boxes for all tabs self.staticbox_Profile = wx.StaticBox(self.tab_Profile, -1, ' %s ' % _(u'Session Title')) @@ -172,14 +173,14 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.staticbox_SessionType = wx.StaticBox(self.tab_Session, -1, ' %s ' % _(u'Session Startup')) self.staticbox_Server = wx.StaticBox(self.tab_Connection, -1, ' %s ' % _(u"Server")) self.staticbox_Proxy = wx.StaticBox(self.tab_Connection, -1, ' %s ' % _(u"Proxy")) - self.staticbox_LinkSpeed = wx.StaticBox(self.tab_Connection, -1, ' %s ' % _(u"Connection Link Speed")) - self.staticbox_Compression = wx.StaticBox(self.tab_Connection, -1, ' %s ' % _(u"Compression")) + self.staticbox_LinkSpeed = wx.StaticBox(self.tab_LinkQuality, -1, ' %s ' % _(u"Connection Link Speed")) + self.staticbox_Compression = wx.StaticBox(self.tab_LinkQuality, -1, ' %s ' % _(u"Compression")) self.staticbox_Display = wx.StaticBox(self.tab_Settings, -1, ' %s ' % _(u"Display")) self.staticbox_Keyboard = wx.StaticBox(self.tab_Settings, -1, ' %s ' % _(u"Keyboard")) self.staticbox_Sound = wx.StaticBox(self.tab_Settings, -1, ' %s ' % _(u"Sound")) - self.staticbox_Printing = wx.StaticBox(self.tab_Settings, -1, ' %s ' % _(u"Printing")) - self.staticbox_FolderSharing = wx.StaticBox(self.tab_SharedFilesAndFolders, -1, ' %s ' % _(u"Folder Exports")) - self.staticbox_FileMIMEbox = wx.StaticBox(self.tab_SharedFilesAndFolders, -1, ' %s ' % _(u"File Import")) + self.staticbox_Printing = wx.StaticBox(self.tab_SharedResources, -1, ' %s ' % _(u"Printing")) + self.staticbox_FolderSharing = wx.StaticBox(self.tab_SharedResources, -1, ' %s ' % _(u"Folder Exports")) + self.staticbox_FileMIMEbox = wx.StaticBox(self.tab_SharedResources, -1, ' %s ' % _(u"File Import")) ### ### widgets for the PROFILE tab @@ -268,17 +269,17 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.SSHProxyTunnelToHost = wx.TextCtrl(self.tab_Connection, -1, "", size=wx.Size(200,20)) self.SSHProxyTunnelToPort = wx.SpinCtrl(self.tab_Connection, -1, "22", min=1, max=65534) - self.LinkSpeed = wx.Slider(self.tab_Connection, -1, 0, 0, 4) - self.ModemLabel = wx.StaticText(self.tab_Connection, -1, "|\n "+_(u"Modem"), style=wx.ALIGN_CENTRE) - self.ISDNLabel = wx.StaticText(self.tab_Connection, -1, "|\n "+_(u"ISDN"), style=wx.ALIGN_CENTRE) - self.ADSLLabel = wx.StaticText(self.tab_Connection, -1, "|\n"+_(u"ADSL"), style=wx.ALIGN_CENTRE) - self.WANLabel = wx.StaticText(self.tab_Connection, -1, "|\n"+_(u"WAN"), style=wx.ALIGN_CENTRE) - self.LANLabel = wx.StaticText(self.tab_Connection, -1, "|\n"+_(u"LAN"), style=wx.ALIGN_CENTRE) + self.LinkSpeed = wx.Slider(self.tab_LinkQuality, -1, 0, 0, 4) + self.ModemLabel = wx.StaticText(self.tab_LinkQuality, -1, "|\n "+_(u"Modem"), style=wx.ALIGN_CENTRE) + self.ISDNLabel = wx.StaticText(self.tab_LinkQuality, -1, "|\n "+_(u"ISDN"), style=wx.ALIGN_CENTRE) + self.ADSLLabel = wx.StaticText(self.tab_LinkQuality, -1, "|\n"+_(u"ADSL"), style=wx.ALIGN_CENTRE) + self.WANLabel = wx.StaticText(self.tab_LinkQuality, -1, "|\n"+_(u"WAN"), style=wx.ALIGN_CENTRE) + self.LANLabel = wx.StaticText(self.tab_LinkQuality, -1, "|\n"+_(u"LAN"), style=wx.ALIGN_CENTRE) - self.CompressionLabel = wx.StaticText(self.tab_Connection, -1, _(u"Method")+": ") - self.Compression = wx.ComboBox(self.tab_Connection, -1, choices=self.compressionChoices.values(), style=wx.CB_DROPDOWN) - self.ImageQualityLabel = wx.StaticText(self.tab_Connection, -1, _(u"Image quality")+": ") - self.ImageQuality = wx.SpinCtrl(self.tab_Connection, -1, "9", min=0, max=9) + self.CompressionLabel = wx.StaticText(self.tab_LinkQuality, -1, _(u"Method")+": ") + self.Compression = wx.ComboBox(self.tab_LinkQuality, -1, choices=self.compressionChoices.values(), style=wx.CB_DROPDOWN) + self.ImageQualityLabel = wx.StaticText(self.tab_LinkQuality, -1, _(u"Image quality")+": ") + self.ImageQuality = wx.SpinCtrl(self.tab_LinkQuality, -1, "9", min=0, max=9) ### ### wigdets for the SETTINGS tab @@ -313,29 +314,30 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.DefaultSoundPort = wx.CheckBox(self.tab_Settings, -1, _(u"Use default sound port")) self.SoundPortLabel = wx.StaticText(self.tab_Settings, -1, _(u"Custom sound port")+": ") self.SoundPort = wx.SpinCtrl(self.tab_Settings, -1, "4713", min=23, max=64889) - self.ClientSidePrinting = wx.CheckBox(self.tab_Settings, -1, _(u"Client Side printing")) - - self.UseLocalFolderSharing = wx.CheckBox(self.tab_SharedFilesAndFolders, -1, _(u"Use local folder sharing")) - self.SharedFolderPathLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Path")+": ") - self.SharedFolderPath = wx.TextCtrl(self.tab_SharedFilesAndFolders, -1, "", style=wx.TE_PROCESS_ENTER) - self.SharedFolderPathBrowseButton = wx.BitmapButton(self.tab_SharedFilesAndFolders, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY), size=wx.Size(self._textfield_height,self._textfield_height), ) - self.AddSharedFolderPathButton = wx.Button(self.tab_SharedFilesAndFolders, -1, _(u"Add")) - self.SharedFoldersList = CheckListCtrl(self.tab_SharedFilesAndFolders) + + self.UseLocalFolderSharing = wx.CheckBox(self.tab_SharedResources, -1, _(u"Use local folder sharing")) + self.SharedFolderPathLabel = wx.StaticText(self.tab_SharedResources, -1, _(u"Path")+": ") + self.SharedFolderPath = wx.TextCtrl(self.tab_SharedResources, -1, "", style=wx.TE_PROCESS_ENTER) + self.SharedFolderPathBrowseButton = wx.BitmapButton(self.tab_SharedResources, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY), size=wx.Size(self._textfield_height,self._textfield_height), ) + self.AddSharedFolderPathButton = wx.Button(self.tab_SharedResources, -1, _(u"Add")) + self.SharedFoldersList = CheckListCtrl(self.tab_SharedResources) self.SharedFoldersList.InsertColumn(0, _("Local Path"), wx.LIST_FORMAT_LEFT) self.SharedFoldersList.InsertColumn(1, _("Connect Method"), wx.LIST_FORMAT_CENTER) - self.DeleteSharedFolderPathButton = wx.Button(self.tab_SharedFilesAndFolders, -1, _(u"Delete")) + self.DeleteSharedFolderPathButton = wx.Button(self.tab_SharedResources, -1, _(u"Delete")) + + self.UseEncodingConverter = wx.CheckBox(self.tab_SharedResources, -1, _(u"Convert between client and server encodings")) + self.ClientEncodingLabel = wx.StaticText(self.tab_SharedResources, -1, _(u"Client encoding")+": ") + self.ClientEncoding = wx.ComboBox(self.tab_SharedResources, -1, choices=_known_encodings, style=wx.CB_DROPDOWN|wx.CB_READONLY) + self.ServerEncodingLabel = wx.StaticText(self.tab_SharedResources, -1, _(u"Server encoding")+": ") + self.ServerEncoding = wx.ComboBox(self.tab_SharedResources, -1, choices=_known_encodings, style=wx.CB_DROPDOWN|wx.CB_READONLY) - self.UseEncodingConverter = wx.CheckBox(self.tab_SharedFilesAndFolders, -1, _(u"Convert between client and server encodings")) - self.ClientEncodingLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Client encoding")+": ") - self.ClientEncoding = wx.ComboBox(self.tab_SharedFilesAndFolders, -1, choices=_known_encodings, style=wx.CB_DROPDOWN|wx.CB_READONLY) - self.ServerEncodingLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Server encoding")+": ") - self.ServerEncoding = wx.ComboBox(self.tab_SharedFilesAndFolders, -1, choices=_known_encodings, style=wx.CB_DROPDOWN|wx.CB_READONLY) + self.UseFileMIMEbox = wx.CheckBox(self.tab_SharedResources, -1, _(u"Use file MIME box for local file import")) + self.FileMIMEboxExtensionsLabel = wx.StaticText(self.tab_SharedResources, -1, _(u"Extensions")+": ") + self.FileMIMEboxExtensions = wx.TextCtrl(self.tab_SharedResources, -1, "", style=wx.TE_PROCESS_ENTER) + self.FileMIMEboxActionLabel = wx.StaticText(self.tab_SharedResources, -1, _(u"Action")+": ") + self.FileMIMEboxAction = wx.ComboBox(self.tab_SharedResources, -1, choices=self.mimeboxactionChoices.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY) - self.UseFileMIMEbox = wx.CheckBox(self.tab_SharedFilesAndFolders, -1, _(u"Use file MIME box for local file import")) - self.FileMIMEboxExtensionsLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Extensions")+": ") - self.FileMIMEboxExtensions = wx.TextCtrl(self.tab_SharedFilesAndFolders, -1, "", style=wx.TE_PROCESS_ENTER) - self.FileMIMEboxActionLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Action")+": ") - self.FileMIMEboxAction = wx.ComboBox(self.tab_SharedFilesAndFolders, -1, choices=self.mimeboxactionChoices.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY) + self.ClientSidePrinting = wx.CheckBox(self.tab_SharedResources, -1, _(u"Client Side printing")) if self.action == 'ADD': self.OKButton = wx.Button(self, -1, _(u"Add")) @@ -491,7 +493,7 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.SoundPort.SetMinSize((-1, self._textfield_height)) self.ClientSidePrinting.SetMinSize((-1, self._textfield_height)) self.SharedFolderPath.SetMinSize((220, self._textfield_height)) - self.SharedFoldersList.SetMinSize((-1, 180)) + self.SharedFoldersList.SetMinSize((-1, 90)) self.ClientEncoding.SetMinSize((140, self._textfield_height)) self.ServerEncoding.SetMinSize((140, self._textfield_height)) @@ -604,178 +606,188 @@ class PyHocaGUI_ProfileManager(wx.Dialog): sizer_3_2_1.Add(sizer_3_2_1_1, pos=(4,0), span=(1,6)) sizer_3_2.Add(sizer_3_2_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_3_3 = wx.StaticBoxSizer(self.staticbox_LinkSpeed, wx.VERTICAL) - sizer_3_3_1 = wx.BoxSizer(wx.VERTICAL) - sizer_3_3_1_1 = wx.BoxSizer(wx.VERTICAL) - sizer_3_3_1_1.Add(self.LinkSpeed) - sizer_3_3_1_2 = wx.GridSizer(1,5,0,0) - sizer_3_3_1_2.SetMinSize((454/5*6 - 30, 36)) - sizer_3_3_1_2.Add(self.ModemLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_3_3_1_2.Add(self.ISDNLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_3_3_1_2.Add(self.ADSLLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_3_3_1_2.Add(self.WANLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_3_3_1_2.Add(self.LANLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_3_3_1.Add(sizer_3_3_1_1, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_3_3_1.Add(sizer_3_3_1_2, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_3_3.Add(sizer_3_3_1, flag=wx.EXPAND|wx.ALL, border=7) - - sizer_3_4 = wx.StaticBoxSizer(self.staticbox_Compression, wx.VERTICAL) - sizer_3_4_1 = wx.BoxSizer(wx.VERTICAL) - sizer_3_4_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_3_4_1_1.Add(self.CompressionLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_4_1_1.Add(self.Compression) - sizer_3_4_1_1.Add((0,32)) - sizer_3_4_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_3_4_1_2.Add(self.ImageQualityLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_4_1_2.Add(self.ImageQuality) - sizer_3_4_1.Add(sizer_3_4_1_1, flag=wx.EXPAND) - sizer_3_4_1.Add(sizer_3_4_1_2, flag=wx.EXPAND) - sizer_3_4.Add(sizer_3_4_1, proportion=1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_3.Add(sizer_3_1, flag=wx.EXPAND|wx.ALL, border=5) sizer_3.Add(sizer_3_2, flag=wx.EXPAND|wx.ALL, border=5) - sizer_3.Add(sizer_3_3, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) - sizer_3.Add(sizer_3_4, flag=wx.EXPAND|wx.ALL, border=5) self.tab_Connection.SetSizerAndFit(sizer_3) self.tab_Connection.Layout() - ## SETTINGS TAB + ## LINK QUALITY TAB sizer_4 = wx.BoxSizer(wx.VERTICAL) - sizer_4_1 = wx.StaticBoxSizer(self.staticbox_Display, wx.VERTICAL) + sizer_4_1 = wx.StaticBoxSizer(self.staticbox_LinkSpeed, wx.VERTICAL) sizer_4_1_1 = wx.BoxSizer(wx.VERTICAL) - sizer_4_1_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_1_1_1.Add(self.DisplayTypeFullscreen, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_1.Add((16, 0)) - sizer_4_1_1_1.Add(self.DisplayTypeMaximize, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_1.Add((16, 0)) - sizer_4_1_1_1.Add(self.DisplayTypeCustom, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_1.Add(self.ScreenWidthLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_1.Add((8,0)) - sizer_4_1_1_1.Add(self.ScreenWidth) - sizer_4_1_1_1.Add((8,0)) - sizer_4_1_1_1.Add(self.ScreenHeightLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_1.Add((8,0)) - sizer_4_1_1_1.Add(self.ScreenHeight) - sizer_4_1_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_1_1_2.Add((-1,48)) - sizer_4_1_1_2.Add(self.SetDisplayDPI, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_2.Add((8,0)) - sizer_4_1_1_2.Add(self.DisplayDPI, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1.Add(sizer_4_1_1_1) - sizer_4_1_1.Add(sizer_4_1_1_2) + sizer_4_1_1_1 = wx.BoxSizer(wx.VERTICAL) + sizer_4_1_1_1.Add(self.LinkSpeed) + sizer_4_1_1_2 = wx.GridSizer(1,5,0,0) + sizer_4_1_1_2.SetMinSize((454/5*6 - 30, 36)) + sizer_4_1_1_2.Add(self.ModemLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_4_1_1_2.Add(self.ISDNLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_4_1_1_2.Add(self.ADSLLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_4_1_1_2.Add(self.WANLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_4_1_1_2.Add(self.LANLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_4_1_1.Add(sizer_4_1_1_1, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_4_1_1.Add(sizer_4_1_1_2, flag=wx.ALIGN_CENTRE_HORIZONTAL) sizer_4_1.Add(sizer_4_1_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_4_2 = wx.StaticBoxSizer(self.staticbox_Keyboard, wx.VERTICAL) + sizer_4_2 = wx.StaticBoxSizer(self.staticbox_Compression, wx.VERTICAL) sizer_4_2_1 = wx.BoxSizer(wx.VERTICAL) - sizer_4_2_1_1 = wx.BoxSizer(wx.VERTICAL) - sizer_4_2_1_1.Add(self.DontSetKeyboard, ) - sizer_4_2_1_1.Add(self.AutoSetKeyboard, ) - sizer_4_2_1_1.Add(self.CustomSetKeyboard, ) - sizer_4_2_1_1.Add((0,8)) + sizer_4_2_1_1 = wx.BoxSizer(wx.HORIZONTAL) + sizer_4_2_1_1.Add(self.CompressionLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_4_2_1_1.Add(self.Compression) + sizer_4_2_1_1.Add((0,32)) sizer_4_2_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_2_1_2.Add((32,0)) - sizer_4_2_1_2_1 = wx.GridBagSizer(hgap=2, vgap=2) - sizer_4_2_1_2_1.Add(self.KeyboardModelLabel, pos=(0,0),) - sizer_4_2_1_2_1.Add(self.KeyboardModel, flag=wx.EXPAND, pos=(1,0),) - sizer_4_2_1_2_1.Add((32,0), pos=(0,1), span=(2,1)) - sizer_4_2_1_2_1.Add(self.KeyboardLayoutLabel, flag=wx.ALIGN_CENTRE_VERTICAL, pos=(0,2), ) - sizer_4_2_1_2_1.Add(self.KeyboardLayout, flag=wx.EXPAND, pos=(1,2), ) - sizer_4_2_1_2_1.Add((32,0), pos=(0,3), span=(2,1)) - sizer_4_2_1_2_1.Add(self.KeyboardVariantLabel, pos=(0,4),) - sizer_4_2_1_2_1.Add(self.KeyboardVariant, flag=wx.EXPAND, pos=(1,4),) - sizer_4_2_1_2.Add(sizer_4_2_1_2_1) - sizer_4_2_1.Add(sizer_4_2_1_1) - sizer_4_2_1.Add(sizer_4_2_1_2) - sizer_4_2.Add(sizer_4_2_1, flag=wx.EXPAND|wx.ALL, border=7) - - sizer_4_3 = wx.StaticBoxSizer(self.staticbox_Sound, wx.VERTICAL) - sizer_4_3_1 = wx.GridBagSizer(vgap=4, hgap=2) - sizer_4_3_1.Add(self.EnableSound, pos=(0,0), span=(1,2), border=16, ) - sizer_4_3_1.Add(self.PulseAudio, pos=(1,0), flag=wx.RIGHT, border=16, ) - sizer_4_3_1.Add(self.Arts, pos=(2,0), flag=wx.RIGHT, border=16, ) - sizer_4_3_1.Add(self.Esd, pos=(3,0), flag=wx.RIGHT, border=16, ) - sizer_4_3_1.Add(self.DefaultSoundPort, pos=(1,1), ) - sizer_4_3_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_3_1_1.Add(self.SoundPortLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_3_1_1.Add((8, -1)) - sizer_4_3_1_1.Add(self.SoundPort, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_3_1.Add(sizer_4_3_1_1, pos=(2,1), ) - sizer_4_3.Add(sizer_4_3_1, flag=wx.EXPAND|wx.ALL, border=7) - - sizer_4_4 = wx.StaticBoxSizer(self.staticbox_Printing, wx.VERTICAL) - sizer_4_4.Add(self.ClientSidePrinting, flag=wx.EXPAND|wx.ALL, border=7) + sizer_4_2_1_2.Add(self.ImageQualityLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_4_2_1_2.Add(self.ImageQuality) + sizer_4_2_1.Add(sizer_4_2_1_1, flag=wx.EXPAND) + sizer_4_2_1.Add(sizer_4_2_1_2, flag=wx.EXPAND) + sizer_4_2.Add(sizer_4_2_1, proportion=1, flag=wx.EXPAND|wx.ALL, border=7) sizer_4.Add(sizer_4_1, flag=wx.EXPAND|wx.ALL, border=5) - sizer_4.Add(sizer_4_2, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) - sizer_4.Add(sizer_4_3, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) - sizer_4.Add(sizer_4_4, flag=wx.EXPAND|wx.ALL, border=5) - self.tab_Settings.SetSizerAndFit(sizer_4) - self.tab_Settings.Layout() + sizer_4.Add(sizer_4_2, flag=wx.EXPAND|wx.ALL, border=5) + self.tab_LinkQuality.SetSizerAndFit(sizer_4) + self.tab_LinkQuality.Layout() - # FOLDERSHARING TAB + ## SETTINGS TAB sizer_5 = wx.BoxSizer(wx.VERTICAL) - sizer_5_1 = wx.StaticBoxSizer(self.staticbox_FolderSharing, wx.VERTICAL) + sizer_5_1 = wx.StaticBoxSizer(self.staticbox_Display, wx.VERTICAL) sizer_5_1_1 = wx.BoxSizer(wx.VERTICAL) sizer_5_1_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_1_1_1.Add(self.UseLocalFolderSharing) + sizer_5_1_1_1.Add(self.DisplayTypeFullscreen, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_1_1_1.Add((16, 0)) + sizer_5_1_1_1.Add(self.DisplayTypeMaximize, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_1_1_1.Add((16, 0)) + sizer_5_1_1_1.Add(self.DisplayTypeCustom, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_1_1_1.Add(self.ScreenWidthLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_1_1_1.Add((8,0)) + sizer_5_1_1_1.Add(self.ScreenWidth) + sizer_5_1_1_1.Add((8,0)) + sizer_5_1_1_1.Add(self.ScreenHeightLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_1_1_1.Add((8,0)) + sizer_5_1_1_1.Add(self.ScreenHeight) sizer_5_1_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_1_1_2_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_1_1_2_1.Add(self.SharedFolderPathLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_5_1_1_2_1.Add(self.SharedFolderPath, flag=wx.ALIGN_CENTRE_VERTICAL|wx.LEFT, border=5) - sizer_5_1_1_2_1.Add(self.SharedFolderPathBrowseButton, flag=wx.ALIGN_CENTRE_VERTICAL|wx.LEFT, border=2) - sizer_5_1_1_2_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_1_1_2_3 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_1_1_2_3.Add(self.AddSharedFolderPathButton, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_5_1_1_2_3.Add(self.DeleteSharedFolderPathButton, flag=wx.ALIGN_CENTRE_VERTICAL|wx.LEFT, border=2) - sizer_5_1_1_2.Add(sizer_5_1_1_2_1, flag=wx.EXPAND|wx.ALIGN_LEFT) - sizer_5_1_1_2.Add(sizer_5_1_1_2_2, proportion=1, flag=wx.EXPAND|wx.ALIGN_LEFT) - sizer_5_1_1_2.Add(sizer_5_1_1_2_3, flag=wx.EXPAND|wx.ALIGN_RIGHT) - sizer_5_1_1_3 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_1_1_3.Add(self.SharedFoldersList, proportion=1, flag=wx.EXPAND) - sizer_5_1_1.Add(sizer_5_1_1_1, flag=wx.EXPAND|wx.BOTTOM, border=12) - sizer_5_1_1.Add(sizer_5_1_1_2, flag=wx.EXPAND) - sizer_5_1_1.Add(sizer_5_1_1_3, flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=5) - sizer_5_1_2 = wx.BoxSizer(wx.VERTICAL) - sizer_5_1_2_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_1_2_1.Add(self.UseEncodingConverter, flag=wx.BOTTOM, border=5) - sizer_5_1_2_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_1_2_2.Add(self.ClientEncodingLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_5_1_2_2.Add((8,0)) - sizer_5_1_2_2.Add(self.ClientEncoding) - sizer_5_1_2_2.Add((16,0)) - sizer_5_1_2_2.Add(self.ServerEncodingLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_5_1_2_2.Add((8,0)) - sizer_5_1_2_2.Add(self.ServerEncoding) - sizer_5_1_2.Add(sizer_5_1_2_1, flag=wx.EXPAND) - sizer_5_1_2.Add(sizer_5_1_2_2, flag=wx.EXPAND) + sizer_5_1_1_2.Add((-1,48)) + sizer_5_1_1_2.Add(self.SetDisplayDPI, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_1_1_2.Add((8,0)) + sizer_5_1_1_2.Add(self.DisplayDPI, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_1_1.Add(sizer_5_1_1_1) + sizer_5_1_1.Add(sizer_5_1_1_2) sizer_5_1.Add(sizer_5_1_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_5_1.Add(sizer_5_1_2, flag=wx.EXPAND|wx.ALL, border=7) - sizer_5_2 = wx.StaticBoxSizer(self.staticbox_FileMIMEbox, wx.VERTICAL) + sizer_5_2 = wx.StaticBoxSizer(self.staticbox_Keyboard, wx.VERTICAL) sizer_5_2_1 = wx.BoxSizer(wx.VERTICAL) - sizer_5_2_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_2_1_1.Add(self.UseFileMIMEbox, flag=wx.BOTTOM, border=5) - sizer_5_2_1_2 = wx.GridBagSizer(vgap=2, hgap=3) - sizer_5_2_1_2.Add(self.FileMIMEboxActionLabel, pos=(0,0), flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_5_2_1_2.Add(self.FileMIMEboxAction, pos=(0,2)) - sizer_5_2_1_2.Add((8,0), pos=(0,1)) - sizer_5_2_1_2.Add((8,0), pos=(1,1)) - sizer_5_2_1_2.Add(self.FileMIMEboxExtensionsLabel, pos=(1,0), flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_5_2_1_2.Add(self.FileMIMEboxExtensions, pos=(1,2)) - sizer_5_2_1.Add(sizer_5_2_1_1, flag=wx.EXPAND) - sizer_5_2_1.Add(sizer_5_2_1_2, flag=wx.EXPAND) + sizer_5_2_1_1 = wx.BoxSizer(wx.VERTICAL) + sizer_5_2_1_1.Add(self.DontSetKeyboard, ) + sizer_5_2_1_1.Add(self.AutoSetKeyboard, ) + sizer_5_2_1_1.Add(self.CustomSetKeyboard, ) + sizer_5_2_1_1.Add((0,8)) + sizer_5_2_1_2 = wx.BoxSizer(wx.HORIZONTAL) + sizer_5_2_1_2.Add((32,0)) + sizer_5_2_1_2_1 = wx.GridBagSizer(hgap=2, vgap=2) + sizer_5_2_1_2_1.Add(self.KeyboardModelLabel, pos=(0,0),) + sizer_5_2_1_2_1.Add(self.KeyboardModel, flag=wx.EXPAND, pos=(1,0),) + sizer_5_2_1_2_1.Add((32,0), pos=(0,1), span=(2,1)) + sizer_5_2_1_2_1.Add(self.KeyboardLayoutLabel, flag=wx.ALIGN_CENTRE_VERTICAL, pos=(0,2), ) + sizer_5_2_1_2_1.Add(self.KeyboardLayout, flag=wx.EXPAND, pos=(1,2), ) + sizer_5_2_1_2_1.Add((32,0), pos=(0,3), span=(2,1)) + sizer_5_2_1_2_1.Add(self.KeyboardVariantLabel, pos=(0,4),) + sizer_5_2_1_2_1.Add(self.KeyboardVariant, flag=wx.EXPAND, pos=(1,4),) + sizer_5_2_1_2.Add(sizer_5_2_1_2_1) + sizer_5_2_1.Add(sizer_5_2_1_1) + sizer_5_2_1.Add(sizer_5_2_1_2) sizer_5_2.Add(sizer_5_2_1, flag=wx.EXPAND|wx.ALL, border=7) + sizer_5_3 = wx.StaticBoxSizer(self.staticbox_Sound, wx.VERTICAL) + sizer_5_3_1 = wx.GridBagSizer(vgap=4, hgap=2) + sizer_5_3_1.Add(self.EnableSound, pos=(0,0), span=(1,2), border=16, ) + sizer_5_3_1.Add(self.PulseAudio, pos=(1,0), flag=wx.RIGHT, border=16, ) + sizer_5_3_1.Add(self.Arts, pos=(2,0), flag=wx.RIGHT, border=16, ) + sizer_5_3_1.Add(self.Esd, pos=(3,0), flag=wx.RIGHT, border=16, ) + sizer_5_3_1.Add(self.DefaultSoundPort, pos=(1,1), ) + sizer_5_3_1_1 = wx.BoxSizer(wx.HORIZONTAL) + sizer_5_3_1_1.Add(self.SoundPortLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_3_1_1.Add((8, -1)) + sizer_5_3_1_1.Add(self.SoundPort, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_3_1.Add(sizer_5_3_1_1, pos=(2,1), ) + sizer_5_3.Add(sizer_5_3_1, flag=wx.EXPAND|wx.ALL, border=7) + + sizer_5_4 = wx.StaticBoxSizer(self.staticbox_Printing, wx.VERTICAL) + sizer_5_4.Add(self.ClientSidePrinting, flag=wx.EXPAND|wx.ALL, border=7) + sizer_5.Add(sizer_5_1, flag=wx.EXPAND|wx.ALL, border=5) - sizer_5.Add(sizer_5_2, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) - self.tab_SharedFilesAndFolders.SetSizerAndFit(sizer_5) - self.tab_SharedFilesAndFolders.Layout() + sizer_5.Add(sizer_5_2, flag=wx.EXPAND|wx.ALL, border=5) + sizer_5.Add(sizer_5_3, flag=wx.EXPAND|wx.ALL, border=5) + sizer_5.Add(sizer_5_4, flag=wx.EXPAND|wx.ALL, border=5) + self.tab_Settings.SetSizerAndFit(sizer_5) + self.tab_Settings.Layout() + + # RESOURCE SHARING TAB + sizer_6 = wx.BoxSizer(wx.VERTICAL) + sizer_6_1 = wx.StaticBoxSizer(self.staticbox_FolderSharing, wx.VERTICAL) + sizer_6_1_1 = wx.BoxSizer(wx.VERTICAL) + sizer_6_1_1_1 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_1_1_1.Add(self.UseLocalFolderSharing) + sizer_6_1_1_2 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_1_1_2_1 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_1_1_2_1.Add(self.SharedFolderPathLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_6_1_1_2_1.Add(self.SharedFolderPath, flag=wx.ALIGN_CENTRE_VERTICAL|wx.LEFT, border=5) + sizer_6_1_1_2_1.Add(self.SharedFolderPathBrowseButton, flag=wx.ALIGN_CENTRE_VERTICAL|wx.LEFT, border=2) + sizer_6_1_1_2_2 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_1_1_2_3 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_1_1_2_3.Add(self.AddSharedFolderPathButton, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_6_1_1_2_3.Add(self.DeleteSharedFolderPathButton, flag=wx.ALIGN_CENTRE_VERTICAL|wx.LEFT, border=2) + sizer_6_1_1_2.Add(sizer_6_1_1_2_1, flag=wx.EXPAND|wx.ALIGN_LEFT) + sizer_6_1_1_2.Add(sizer_6_1_1_2_2, proportion=1, flag=wx.EXPAND|wx.ALIGN_LEFT) + sizer_6_1_1_2.Add(sizer_6_1_1_2_3, flag=wx.EXPAND|wx.ALIGN_RIGHT) + sizer_6_1_1_3 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_1_1_3.Add(self.SharedFoldersList, proportion=1, flag=wx.EXPAND) + sizer_6_1_1.Add(sizer_6_1_1_1, flag=wx.EXPAND|wx.BOTTOM, border=12) + sizer_6_1_1.Add(sizer_6_1_1_2, flag=wx.EXPAND) + sizer_6_1_1.Add(sizer_6_1_1_3, flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=5) + sizer_6_1_2 = wx.BoxSizer(wx.VERTICAL) + sizer_6_1_2_1 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_1_2_1.Add(self.UseEncodingConverter, flag=wx.BOTTOM, border=5) + sizer_6_1_2_2 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_1_2_2.Add(self.ClientEncodingLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_6_1_2_2.Add((8,0)) + sizer_6_1_2_2.Add(self.ClientEncoding) + sizer_6_1_2_2.Add((16,0)) + sizer_6_1_2_2.Add(self.ServerEncodingLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_6_1_2_2.Add((8,0)) + sizer_6_1_2_2.Add(self.ServerEncoding) + sizer_6_1_2.Add(sizer_6_1_2_1, flag=wx.EXPAND) + sizer_6_1_2.Add(sizer_6_1_2_2, flag=wx.EXPAND) + sizer_6_1.Add(sizer_6_1_1, flag=wx.EXPAND|wx.ALL, border=7) + sizer_6_1.Add(sizer_6_1_2, flag=wx.EXPAND|wx.ALL, border=7) + + sizer_6_2 = wx.StaticBoxSizer(self.staticbox_FileMIMEbox, wx.VERTICAL) + sizer_6_2_1 = wx.BoxSizer(wx.VERTICAL) + sizer_6_2_1_1 = wx.BoxSizer(wx.HORIZONTAL) + sizer_6_2_1_1.Add(self.UseFileMIMEbox, flag=wx.BOTTOM, border=5) + sizer_6_2_1_2 = wx.GridBagSizer(vgap=2, hgap=3) + sizer_6_2_1_2.Add(self.FileMIMEboxActionLabel, pos=(0,0), flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_6_2_1_2.Add(self.FileMIMEboxAction, pos=(0,2)) + sizer_6_2_1_2.Add((8,0), pos=(0,1)) + sizer_6_2_1_2.Add((8,0), pos=(1,1)) + sizer_6_2_1_2.Add(self.FileMIMEboxExtensionsLabel, pos=(1,0), flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_6_2_1_2.Add(self.FileMIMEboxExtensions, pos=(1,2)) + sizer_6_2_1.Add(sizer_6_2_1_1, flag=wx.EXPAND) + sizer_6_2_1.Add(sizer_6_2_1_2, flag=wx.EXPAND) + sizer_6_2.Add(sizer_6_2_1, flag=wx.EXPAND|wx.ALL, border=7) + + sizer_6_3 = wx.StaticBoxSizer(self.staticbox_Printing, wx.VERTICAL) + sizer_6_3.Add(self.ClientSidePrinting, flag=wx.EXPAND|wx.ALL, border=7) + + sizer_6.Add(sizer_6_1, flag=wx.EXPAND|wx.ALL, border=5) + sizer_6.Add(sizer_6_2, flag=wx.EXPAND|wx.ALL, border=5) + sizer_6.Add(sizer_6_3, flag=wx.EXPAND|wx.ALL, border=5) + self.tab_SharedResources.SetSizerAndFit(sizer_6) + self.tab_SharedResources.Layout() self.X2goTabs.AddPage(self.tab_Profile, _(u"Profile")) self.X2goTabs.AddPage(self.tab_Session, _(u"Session")) self.X2goTabs.AddPage(self.tab_Connection, _(u"Connection")) + self.X2goTabs.AddPage(self.tab_LinkQuality, _(u"Link Quality")) self.X2goTabs.AddPage(self.tab_Settings, _(u"Settings")) - self.X2goTabs.AddPage(self.tab_SharedFilesAndFolders, _(u"Sharing")) + self.X2goTabs.AddPage(self.tab_SharedResources, _(u"Shared Resources")) # the bottom area with OK, Defaults and Cancel buttons sizer_B = wx.BoxSizer(wx.HORIZONTAL) @@ -794,19 +806,20 @@ class PyHocaGUI_ProfileManager(wx.Dialog): max1_x, max1_y = self.tab_Profile.GetBestSize() max2_x, max2_y = self.tab_Session.GetBestSize() max3_x, max3_y = self.tab_Connection.GetBestSize() - max4_x, max4_y = self.tab_Settings.GetBestSize() - max5_x, max5_y = self.tab_SharedFilesAndFolders.GetBestSize() + max4_x, max4_y = self.tab_LinkQuality.GetBestSize() + max5_x, max5_y = self.tab_Settings.GetBestSize() + max6_x, max6_y = self.tab_SharedResources.GetBestSize() #self.SetSize(self.GetBestSize() + self.X2goTabs.GetBestSize()) - self.SetSize((max(max1_x, max2_x, max3_x, max4_x, max5_x) * 1.05, max(max1_y, max2_y, max3_y, max4_y, max5_y) + 80)) + self.SetSize((max(max1_x, max2_x, max3_x, max4_x, max5_x) * 1.05, max(max1_y, max2_y, max3_y, max4_y, max5_y) + 50)) self.SetAutoLayout(True) self.Layout() self.CentreOnScreen() self.Show(True) # derive ListCtrl widths from sizer information - _sizer_width = sizer_5_1_1_3.GetSize().GetWidth() + _sizer_width = sizer_6_1_1_3.GetSize().GetWidth() self.SharedFoldersList.SetColumnWidth(0, abs(_sizer_width*.7)) self.SharedFoldersList.SetColumnWidth(1, abs(_sizer_width*.3)) @@ -1454,7 +1467,7 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.SoundPortLabel.Enable(False) self.SoundPort.Enable(False) self.Esd.Enable(False) - self.tab_SharedFilesAndFolders.Enable(True) + self.tab_SharedResources.Enable(True) self.RDPServer.Enable(False) self.RDPServer.SetValue(self.Host.GetValue()) self.RDPOptions.SetValue(self.profile_config_bak['directrdpsettings']) @@ -1504,7 +1517,7 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.DefaultSoundPort.Enable(True) self.DefaultSoundPort.SetValue(True) self.Esd.Enable(True) - self.tab_SharedFilesAndFolders.Enable(True) + self.tab_SharedResources.Enable(True) self.RDPServer.SetValue(self.profile_config_bak['rdpserver']) self.RDPOptions.SetValue(self.profile_config_bak['rdpoptions']) if self.Application.GetValue() in self.rdpclientChoices.keys(): @@ -2246,7 +2259,6 @@ class PyHocaGUI_ProfileManager(wx.Dialog): try: wx.EndBusyCursor() except: pass self.Close() - self.Destroy() else: try: wx.EndBusyCursor() except: pass @@ -2260,7 +2272,6 @@ class PyHocaGUI_ProfileManager(wx.Dialog): """ self.Close() - self.Destroy() def OnDefault(self, event): """\ 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)).