The branch, build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d has been updated via c68c5a5f64749dad34276a4e43185db3fcdc3518 (commit) from bea3b4a98da6ae150b4189b284a2cdde7fcfe41c (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: debian/changelog | 2 + pyhoca/wxgui/profilemanager.py | 591 ++++++++++++++++++++-------------------- 2 files changed, 304 insertions(+), 289 deletions(-) The diff of changes is: diff --git a/debian/changelog b/debian/changelog index cd6f6be..b75262c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -26,6 +26,8 @@ pyhoca-gui (0.1.0.11-0~x2go1) UNRELEASED; urgency=low PyHoca-GUI on Debian or other Distros that also ship the gnome-colors-common icon theme. - Replace non-code string ,,X2go'' by ,,X2Go''. + - Rearrange profile manager. Add one more tab to the profile manager window. + Reintroduce window icon in profile manager. * Depend on Python X2Go 0.1.1.9. * Install GNOME icons via dh_links. * Install X2Go icons with explicit install paths. diff --git a/pyhoca/wxgui/profilemanager.py b/pyhoca/wxgui/profilemanager.py index c876065..0172b7d 100644 --- a/pyhoca/wxgui/profilemanager.py +++ b/pyhoca/wxgui/profilemanager.py @@ -136,14 +136,16 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.profile_config_bak = copy.deepcopy(self.profile_config) self.X2goTabs = wx.Notebook(self, -1, style=0) + 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_Settings = wx.Panel(self.X2goTabs, -1) self.tab_SharedFilesAndFolders = wx.Panel(self.X2goTabs, -1) # boxes for all tabs - self.staticbox_Profile = wx.StaticBox(self.tab_Session, -1, ' %s ' % _(u'Profile ')) - self.staticbox_SessionType = wx.StaticBox(self.tab_Session, -1, ' %s ' % _(u'Session')) + self.staticbox_Profile = wx.StaticBox(self.tab_Profile, -1, ' %s ' % _(u'Session Title')) + self.staticbox_Window = wx.StaticBox(self.tab_Profile, -1, ' %s ' % _(u'Session Window')) + 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_LinkSpeed = wx.StaticBox(self.tab_Connection, -1, ' %s ' % _(u"Connection Link Speed")) self.staticbox_Compression = wx.StaticBox(self.tab_Connection, -1, ' %s ' % _(u"Compression")) @@ -155,37 +157,40 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.staticbox_FileMIMEbox = wx.StaticBox(self.tab_SharedFilesAndFolders, -1, ' %s ' % _(u"File Import")) ### + ### widgets for the PROFILE tab + ### + self.ProfileNameLabel = wx.StaticText(self.tab_Profile, -1, _(u"Name")+":") + self.ProfileName = wx.TextCtrl(self.tab_Profile, -1, "") + self.SetSessionWindowTitle = wx.CheckBox(self.tab_Profile, -1, _(u"Set session window title")) + self.UseDefaultSessionWindowTitle = wx.CheckBox(self.tab_Profile, -1, _(u"Use a default session window title")) + self.CustomSessionWindowTitleLabel = wx.StaticText(self.tab_Profile, -1, _(u"Custom session window title") + ":") + self.CustomSessionWindowTitle = wx.TextCtrl(self.tab_Profile, -1, "") + _share_location = os.path.split(_icons_location)[0] + if 'icon' in self.profile_config: + path_to_icon = self.profile_config['icon'] + path_to_icon = path_to_icon.lstrip(':') + path_to_icon = os.path.join(os.path.normpath(_share_location), os.path.normpath(path_to_icon)) + if not os.path.exists(path_to_icon) or not 'icon' in self.profile_config: + path_to_icon = os.path.normpath('%s/icons/PyHoca/128x128/pyhoca-session.png' % _share_location) + self.IconPath = path_to_icon + self.IconButtonLabel = wx.StaticText(self.tab_Profile, -1, _(u"Window Icon")+':') + self.IconButton = wx.BitmapButton(self.tab_Profile, -1, wx.Bitmap(path_to_icon, wx.BITMAP_TYPE_ANY), size=(128,128)) + + ### ### widgets for the SESSION tab ### - self.ProfileNameLabel = wx.StaticText(self.tab_Session, -1, _(u"Name")+":") - self.ProfileName = wx.TextCtrl(self.tab_Session, -1, "") - #_share_location = os.path.split(_icons_location)[0] - #if 'icon' in self.profile_config: - # path_to_icon = self.profile_config['icon'] - # path_to_icon = path_to_icon.lstrip(':') - # path_to_icon = os.path.join(os.path.normpath(_share_location), os.path.normpath(path_to_icon)) - #if not os.path.exists(path_to_icon) or not 'icon' in self.profile_config: - # path_to_icon = os.path.normpath('%s/icons/PyHoca/128x128/pyhoca-session.png' % _share_location) - #self.IconPath = path_to_icon - #self.IconButtonLabel = wx.StaticText(self.tab_Session, -1, _(u"Icon")+':') - #self.IconButton = wx.BitmapButton(self.tab_Session, -1, wx.Bitmap(path_to_icon, wx.BITMAP_TYPE_ANY), size=(48,48)) - self.SetSessionWindowTitle = wx.CheckBox(self.tab_Session, -1, _(u"Set session window title")) - self.UseDefaultSessionWindowTitle = wx.CheckBox(self.tab_Session, -1, _(u"Use a default session window title")) - self.CustomSessionWindowTitleLabel = wx.StaticText(self.tab_Session, -1, _(u"Custom session window title") + ":") - self.CustomSessionWindowTitle = wx.TextCtrl(self.tab_Session, -1, "") self.SessionTypeLabel = wx.StaticText(self.tab_Session, -1, _(u"Type")+':') self.SessionType = wx.ComboBox(self.tab_Session, -1, choices=self.sessionChoices.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY) self.ApplicationLabel = wx.StaticText(self.tab_Session, -1, _(u"Application")+':') self.Application = wx.ComboBox(self.tab_Session, -1, choices=self.applicationChoices.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY) self.CommandLabel = wx.StaticText(self.tab_Session, -1, _(u"Custom command")+':') - self.Command = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(200,20)) - self.RDPSettingsLabel = wx.StaticText(self.tab_Session, -1, _(u"RDP settings")+':') + self.Command = wx.TextCtrl(self.tab_Session, -1, "", ) + self.XDMCPServerLabel = wx.StaticText(self.tab_Session, -1, _(u"XDMCP server")+':') + self.XDMCPServer = wx.TextCtrl(self.tab_Session, -1, "", ) self.RDPServerLabel = wx.StaticText(self.tab_Session, -1, _(u"RDP server")+':') - self.RDPServer = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(160,20)) + self.RDPServer = wx.TextCtrl(self.tab_Session, -1, "", ) self.RDPOptionsLabel = wx.StaticText(self.tab_Session, -1, _(u"RDP options")+':') - self.RDPOptions = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(160,20)) - self.XDMCPServerLabel = wx.StaticText(self.tab_Session, -1, _(u"XDMCP server")+':') - self.XDMCPServer = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(160,20)) + self.RDPOptions = wx.TextCtrl(self.tab_Session, -1, "", ) ### ### widgets for the CONNECTION tab @@ -291,7 +296,7 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.__do_layout() self.__update_fields() - #self.Bind(wx.EVT_BUTTON, self.OnIconChange, self.IconButton) + self.Bind(wx.EVT_BUTTON, self.OnIconChange, self.IconButton) self.Bind(wx.EVT_COMBOBOX, self.OnSessionTypeSelected, self.SessionType) self.Bind(wx.EVT_CHECKBOX, self.OnUseDefaultSessionWindowTitle, self.UseDefaultSessionWindowTitle) self.Bind(wx.EVT_CHECKBOX, self.OnSetSessionWindowTitle, self.SetSessionWindowTitle) @@ -347,9 +352,11 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.UseDefaultSessionWindowTitle.SetMinSize((-1, _textfield_height)) self.CustomSessionWindowTitleLabel.SetMinSize((160, 16)) self.CustomSessionWindowTitle.SetMinSize((320, _textfield_height)) - #self.IconButton.SetSize(self.IconButton.GetBestSize()) + self.IconButtonLabel.SetMinSize((168, 16)) + self.IconButton.SetSize(self.IconButton.GetBestSize()) + self.SessionTypeLabel.SetMinSize((120, 16)) - self.SessionType.SetMinSize((-1, _textfield_height)) + self.SessionType.SetMinSize((320, _textfield_height)) self.SessionType.SetSelection(5) self.ApplicationLabel.SetMinSize((120, 16)) self.Application.SetMinSize((-1, _textfield_height)) @@ -357,16 +364,15 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.Command.SetMinSize((-1, _textfield_height)) self.XDMCPServerLabel.SetMinSize((120, 16)) self.XDMCPServer.SetMinSize((-1, _textfield_height)) - self.RDPSettingsLabel.SetMinSize((120, 16)) self.RDPServerLabel.SetMinSize((180, 16)) - self.RDPServer.SetMinSize((180, _textfield_height)) - self.RDPOptionsLabel.SetMinSize((120, 16)) - self.RDPOptions.SetMinSize((120, _textfield_height)) + self.RDPServer.SetMinSize((-1, _textfield_height)) + self.RDPOptionsLabel.SetMinSize((180, 16)) + self.RDPOptions.SetMinSize((-1, _textfield_height)) - self.HostLabel.SetMinSize((110, 16)) - self.Host.SetMinSize((180, _textfield_height)) self.UserNameLabel.SetMinSize((110, 16)) - self.UserName.SetMinSize((180, _textfield_height)) + self.UserName.SetMinSize((220, _textfield_height)) + self.HostLabel.SetMinSize((110, 16)) + self.Host.SetMinSize((220, _textfield_height)) self.SSHPortLabel.SetMinSize((110, 16)) self.SSHPort.SetMinSize((65, _textfield_height)) self.SSHKeyFileLabel.SetMinSize((-1, 16)) @@ -428,271 +434,280 @@ class PyHocaGUI_ProfileManager(wx.Dialog): def __do_layout(self): - # SESSION TAB + # PROFILE TAB sizer_1 = wx.BoxSizer(wx.VERTICAL) sizer_1_1 = wx.StaticBoxSizer(self.staticbox_Profile, wx.VERTICAL) sizer_1_1_1 = wx.FlexGridSizer(1, 2, 7, 9) sizer_1_1_1.Add(self.ProfileNameLabel, flag=wx.ALIGN_CENTRE_VERTICAL) sizer_1_1_1.Add(self.ProfileName) - #sizer_1_1_1.Add(self.IconButtonLabel, flag=wx.TOP) - #sizer_1_1_1.Add(self.IconButton) - sizer_1_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_1_1_2.Add(self.SetSessionWindowTitle) - sizer_1_1_2.Add((32,0)) - sizer_1_1_2.Add(self.UseDefaultSessionWindowTitle) - sizer_1_1_3 = wx.FlexGridSizer(1, 2, 7, 9) - sizer_1_1_3.Add(self.CustomSessionWindowTitleLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_1_1_3.Add(self.CustomSessionWindowTitle) - sizer_1_1.Add(sizer_1_1_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_1_1.Add(sizer_1_1_2, flag=wx.EXPAND|wx.ALL, border=7) - sizer_1_1.Add(sizer_1_1_3, flag=wx.EXPAND|wx.ALL, border=7) - - sizer_1_2 = wx.StaticBoxSizer(self.staticbox_SessionType, wx.VERTICAL) - sizer_1_2_1 = wx.GridBagSizer(hgap=3,vgap=6) - sizer_1_2_1.Add(self.SessionTypeLabel, pos=(0,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) - sizer_1_2_1.Add(self.SessionType, pos=(0,1), span=(1,2), flag=wx.EXPAND, ) - sizer_1_2_1.Add(self.ApplicationLabel, pos=(1,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) - sizer_1_2_1.Add(self.Application, pos=(1,1), span=(1,2), flag=wx.EXPAND, ) - sizer_1_2_1.Add(self.CommandLabel, pos=(2,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) - sizer_1_2_1.Add(self.Command, pos=(2, 1), span=(1,2), flag=wx.EXPAND, ) - sizer_1_2_1.Add(self.XDMCPServerLabel, (3,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) - sizer_1_2_1.Add(self.XDMCPServer, pos=(3,1), span=(1,2), flag=wx.EXPAND, ) - sizer_1_2_1.Add(self.RDPServerLabel, pos=(4,1), flag=wx.ALIGN_BOTTOM, ) - sizer_1_2_1.Add(self.RDPOptionsLabel, pos=(4,2), flag=wx.ALIGN_BOTTOM, ) - sizer_1_2_1.Add(self.RDPSettingsLabel, pos=(5,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) - sizer_1_2_1.Add(self.RDPServer, pos=(5, 1), ) - sizer_1_2_1.Add(self.RDPOptions, pos=(5,2), ) + + sizer_1_2 = wx.StaticBoxSizer(self.staticbox_Window, wx.VERTICAL) + sizer_1_2_1 = wx.BoxSizer(wx.HORIZONTAL) + sizer_1_2_1.Add(self.SetSessionWindowTitle) + sizer_1_2_1.Add((32,0)) + sizer_1_2_1.Add(self.UseDefaultSessionWindowTitle) + sizer_1_2_2 = wx.FlexGridSizer(1, 2, 7, 9) + sizer_1_2_2.Add(self.CustomSessionWindowTitleLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_1_2_2.Add(self.CustomSessionWindowTitle) + sizer_1_2_3 = wx.BoxSizer(wx.HORIZONTAL) + sizer_1_2_3.Add(self.IconButtonLabel, flag=wx.TOP) + sizer_1_2_3.Add(self.IconButton) + sizer_1_2.Add(sizer_1_2_1, flag=wx.EXPAND|wx.ALL, border=7) + sizer_1_2.Add(sizer_1_2_2, flag=wx.EXPAND|wx.ALL, border=7) + sizer_1_2.Add(sizer_1_2_3, flag=wx.EXPAND|wx.ALL, border=7) sizer_1.Add(sizer_1_1, flag=wx.EXPAND|wx.ALL, border=5) sizer_1.Add(sizer_1_2, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) - self.tab_Session.SetSizerAndFit(sizer_1) - self.tab_Session.Layout() + self.tab_Profile.SetSizerAndFit(sizer_1) + self.tab_Profile.Layout() - ## CONNECTION TAB + # SESSION TAB sizer_2 = wx.BoxSizer(wx.VERTICAL) - sizer_2_1 = wx.StaticBoxSizer(self.staticbox_Server, wx.VERTICAL) - sizer_2_1_1 = wx.BoxSizer(wx.VERTICAL) - sizer_2_1_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_1_1_1.Add(self.UserNameLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_1_1.Add(self.UserName) - sizer_2_1_1_1.Add((0,32)) - sizer_2_1_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_1_1_2.Add(self.HostLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_1_2.Add(self.Host) - sizer_2_1_1_2.Add((0,32)) - sizer_2_1_1_3 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_1_1_3.Add(self.SSHPortLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_1_3.Add(self.SSHPort) - sizer_2_1_1_3.Add((16,0)) - sizer_2_1_1_3.Add(self.SSHKeyFileLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_1_3.Add((8,0)) - sizer_2_1_1_3.Add(self.SSHKeyFile, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_1_3.Add(self.SSHKeyFileBrowseButton, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_1_3.Add((0,32)) - sizer_2_1_1.Add(sizer_2_1_1_1, flag=wx.EXPAND) - sizer_2_1_1.Add(sizer_2_1_1_2, flag=wx.EXPAND) - sizer_2_1_1.Add(sizer_2_1_1_3, flag=wx.EXPAND) - - sizer_2_1_2 = wx.BoxSizer(wx.VERTICAL) - sizer_2_1_2_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_1_2_1.Add(self.UseSSHProxy, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_1_2_2.Add(self.SSHProxyUserLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_2.Add(self.SSHProxyUser, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_2.Add((16,0)) - sizer_2_1_2_2.Add(self.SSHProxyKeyFileLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_2.Add((8,0)) - sizer_2_1_2_2.Add(self.SSHProxyKeyFile, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_2.Add(self.SSHProxyKeyFileBrowseButton, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_2.Add((0,32)) - sizer_2_1_2_3 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_1_2_3.Add(self.SSHProxyHostLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_3.Add(self.SSHProxyHost, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_3.Add((0,32)) - sizer_2_1_2_4 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_1_2_4.Add(self.SSHProxyTunnelLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_4.Add(self.SSHProxyTunnelFromHost, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_4.Add((4, 0)) - sizer_2_1_2_4.Add(self.SSHProxyTunnelFromPort, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_4.Add((8, 0)) - sizer_2_1_2_4.Add(self.SSHProxyTunnelBetweenLabel, flag=wx.ALIGN_CENTRE_VERTICAL|wx.ALIGN_CENTRE_HORIZONTAL) - sizer_2_1_2_4.Add((8, 0)) - sizer_2_1_2_4.Add(self.SSHProxyTunnelToHost, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_4.Add((4, 0)) - sizer_2_1_2_4.Add(self.SSHProxyTunnelToPort, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_1_2_4.Add((0,32)) - sizer_2_1_2.Add(sizer_2_1_2_1, flag=wx.EXPAND) - sizer_2_1_2.Add(sizer_2_1_2_2, flag=wx.EXPAND) - sizer_2_1_2.Add(sizer_2_1_2_3, flag=wx.EXPAND) - sizer_2_1_2.Add(sizer_2_1_2_4, flag=wx.EXPAND) + sizer_2_1 = wx.StaticBoxSizer(self.staticbox_SessionType, wx.VERTICAL) + sizer_2_1_1 = wx.GridBagSizer(hgap=2,vgap=6) + sizer_2_1_1.Add(self.SessionTypeLabel, pos=(0,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) + sizer_2_1_1.Add(self.SessionType, pos=(0,1), flag=wx.EXPAND, ) + sizer_2_1_1.Add(self.ApplicationLabel, pos=(1,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) + sizer_2_1_1.Add(self.Application, pos=(1,1), flag=wx.EXPAND, ) + sizer_2_1_1.Add(self.CommandLabel, pos=(2,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) + sizer_2_1_1.Add(self.Command, pos=(2, 1), flag=wx.EXPAND, ) + sizer_2_1_1.Add(self.XDMCPServerLabel, (3,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) + sizer_2_1_1.Add(self.XDMCPServer, pos=(3,1), flag=wx.EXPAND, ) + sizer_2_1_1.Add(self.RDPServerLabel, pos=(4,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) + sizer_2_1_1.Add(self.RDPServer, pos=(4,1), flag=wx.EXPAND, ) + sizer_2_1_1.Add(self.RDPOptionsLabel, pos=(5,0), flag=wx.ALIGN_CENTRE_VERTICAL, ) + sizer_2_1_1.Add(self.RDPOptions, pos=(5,1), flag=wx.EXPAND, ) sizer_2_1.Add(sizer_2_1_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_2_1.Add(sizer_2_1_2, flag=wx.EXPAND|wx.ALL, border=7) - - sizer_2_2 = wx.StaticBoxSizer(self.staticbox_LinkSpeed, wx.VERTICAL) - sizer_2_2_1 = wx.BoxSizer(wx.VERTICAL) - sizer_2_2_1_1 = wx.BoxSizer(wx.VERTICAL) - sizer_2_2_1_1.Add(self.LinkSpeed) - sizer_2_2_1_2 = wx.GridSizer(1,5,0,0) - sizer_2_2_1_2.SetMinSize((454/5*6 - 30, -1)) - sizer_2_2_1_2.Add(self.ModemLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_2_2_1_2.Add(self.ISDNLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_2_2_1_2.Add(self.ADSLLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_2_2_1_2.Add(self.WANLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_2_2_1_2.Add(self.LANLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_2_2_1.Add(sizer_2_2_1_1, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_2_2_1.Add(sizer_2_2_1_2, flag=wx.ALIGN_CENTRE_HORIZONTAL) - sizer_2_2.Add(sizer_2_2_1, flag=wx.EXPAND|wx.ALL, border=7) - - sizer_2_3 = wx.StaticBoxSizer(self.staticbox_Compression, wx.VERTICAL) - sizer_2_3_1 = wx.BoxSizer(wx.VERTICAL) - sizer_2_3_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_3_1_1.Add(self.CompressionLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_3_1_1.Add(self.Compression) - sizer_2_3_1_1.Add((0,32)) - sizer_2_3_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_2_3_1_2.Add(self.ImageQualityLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_2_3_1_2.Add(self.ImageQuality) - sizer_2_3_1.Add(sizer_2_3_1_1, flag=wx.EXPAND) - sizer_2_3_1.Add(sizer_2_3_1_2, flag=wx.EXPAND) - sizer_2_3.Add(sizer_2_3_1, proportion=1, flag=wx.EXPAND|wx.ALL, border=7) - - sizer_2.Add(sizer_2_1, flag=wx.EXPAND|wx.ALL, border=5) - sizer_2.Add(sizer_2_2, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) - sizer_2.Add(sizer_2_3, flag=wx.EXPAND|wx.ALL, border=5) - self.tab_Connection.SetSizerAndFit(sizer_2) - self.tab_Connection.Layout() + sizer_2.Add(sizer_2_1, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) + self.tab_Session.SetSizerAndFit(sizer_2) + self.tab_Session.Layout() - ## SETTINGS TAB + ## CONNECTION TAB sizer_3 = wx.BoxSizer(wx.VERTICAL) - sizer_3_1 = wx.StaticBoxSizer(self.staticbox_Display, wx.VERTICAL) + sizer_3_1 = wx.StaticBoxSizer(self.staticbox_Server, wx.VERTICAL) sizer_3_1_1 = wx.BoxSizer(wx.VERTICAL) sizer_3_1_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_3_1_1_1.Add(self.DisplayTypeFullscreen, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_1_1_1.Add((16, 0)) - sizer_3_1_1_1.Add(self.DisplayTypeCustom, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_1_1_1.Add(self.ScreenWidthLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_1_1_1.Add((8,0)) - sizer_3_1_1_1.Add(self.ScreenWidth) - sizer_3_1_1_1.Add((8,0)) - sizer_3_1_1_1.Add(self.ScreenHeightLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_1_1_1.Add((8,0)) - sizer_3_1_1_1.Add(self.ScreenHeight) + sizer_3_1_1_1.Add(self.UserNameLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_1_1.Add(self.UserName) + sizer_3_1_1_1.Add((0,32)) sizer_3_1_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_3_1_1_2.Add((-1,48)) - sizer_3_1_1_2.Add(self.SetDisplayDPI, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_1_1_2.Add((8,0)) - sizer_3_1_1_2.Add(self.DisplayDPI, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_1_1.Add(sizer_3_1_1_1) - sizer_3_1_1.Add(sizer_3_1_1_2) + sizer_3_1_1_2.Add(self.HostLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_1_2.Add(self.Host) + sizer_3_1_1_2.Add((0,32)) + sizer_3_1_1_3 = wx.BoxSizer(wx.HORIZONTAL) + sizer_3_1_1_3.Add(self.SSHPortLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_1_3.Add(self.SSHPort) + sizer_3_1_1_3.Add((16,0)) + sizer_3_1_1_3.Add(self.SSHKeyFileLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_1_3.Add((8,0)) + sizer_3_1_1_3.Add(self.SSHKeyFile, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_1_3.Add(self.SSHKeyFileBrowseButton, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_1_3.Add((0,32)) + sizer_3_1_1.Add(sizer_3_1_1_1, flag=wx.EXPAND) + sizer_3_1_1.Add(sizer_3_1_1_2, flag=wx.EXPAND) + sizer_3_1_1.Add(sizer_3_1_1_3, flag=wx.EXPAND) + + sizer_3_1_2 = wx.BoxSizer(wx.VERTICAL) + sizer_3_1_2_1 = wx.BoxSizer(wx.HORIZONTAL) + sizer_3_1_2_1.Add(self.UseSSHProxy, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_2 = wx.BoxSizer(wx.HORIZONTAL) + sizer_3_1_2_2.Add(self.SSHProxyUserLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_2.Add(self.SSHProxyUser, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_2.Add((16,0)) + sizer_3_1_2_2.Add(self.SSHProxyKeyFileLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_2.Add((8,0)) + sizer_3_1_2_2.Add(self.SSHProxyKeyFile, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_2.Add(self.SSHProxyKeyFileBrowseButton, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_2.Add((0,32)) + sizer_3_1_2_3 = wx.BoxSizer(wx.HORIZONTAL) + sizer_3_1_2_3.Add(self.SSHProxyHostLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_3.Add(self.SSHProxyHost, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_3.Add((0,32)) + sizer_3_1_2_4 = wx.BoxSizer(wx.HORIZONTAL) + sizer_3_1_2_4.Add(self.SSHProxyTunnelLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_4.Add(self.SSHProxyTunnelFromHost, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_4.Add((4, 0)) + sizer_3_1_2_4.Add(self.SSHProxyTunnelFromPort, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_4.Add((8, 0)) + sizer_3_1_2_4.Add(self.SSHProxyTunnelBetweenLabel, flag=wx.ALIGN_CENTRE_VERTICAL|wx.ALIGN_CENTRE_HORIZONTAL) + sizer_3_1_2_4.Add((8, 0)) + sizer_3_1_2_4.Add(self.SSHProxyTunnelToHost, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_4.Add((4, 0)) + sizer_3_1_2_4.Add(self.SSHProxyTunnelToPort, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_1_2_4.Add((0,32)) + sizer_3_1_2.Add(sizer_3_1_2_1, flag=wx.EXPAND) + sizer_3_1_2.Add(sizer_3_1_2_2, flag=wx.EXPAND) + sizer_3_1_2.Add(sizer_3_1_2_3, flag=wx.EXPAND) + sizer_3_1_2.Add(sizer_3_1_2_4, flag=wx.EXPAND) sizer_3_1.Add(sizer_3_1_1, flag=wx.EXPAND|wx.ALL, border=7) + sizer_3_1.Add(sizer_3_1_2, flag=wx.EXPAND|wx.ALL, border=7) - sizer_3_2 = wx.StaticBoxSizer(self.staticbox_Keyboard, wx.VERTICAL) + sizer_3_2 = wx.StaticBoxSizer(self.staticbox_LinkSpeed, wx.VERTICAL) sizer_3_2_1 = wx.BoxSizer(wx.VERTICAL) - sizer_3_2_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_3_2_1_1.Add(self.CurrentKeyBoard, flag=wx.ALIGN_TOP) - sizer_3_2_1_1.Add((0, 32)) - sizer_3_2_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_3_2_1_2.Add((32,0)) - sizer_3_2_1_2_1 = wx.BoxSizer(wx.VERTICAL) - sizer_3_2_1_2_1.Add(self.KeyboardLayoutLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_2_1_2_1.Add(self.KeyboardLayout, flag=wx.EXPAND) - sizer_3_2_1_2_2 = wx.BoxSizer(wx.VERTICAL) - sizer_3_2_1_2_2.Add(self.KeyboardModelLabel) - sizer_3_2_1_2_2.Add(self.KeyboardModel, flag=wx.EXPAND) - sizer_3_2_1_2.Add(sizer_3_2_1_2_1) - sizer_3_2_1_2.Add((32,0)) - sizer_3_2_1_2.Add(sizer_3_2_1_2_2) - sizer_3_2_1.Add(sizer_3_2_1_1) - sizer_3_2_1.Add(sizer_3_2_1_2) + sizer_3_2_1_1 = wx.BoxSizer(wx.VERTICAL) + sizer_3_2_1_1.Add(self.LinkSpeed) + sizer_3_2_1_2 = wx.GridSizer(1,5,0,0) + sizer_3_2_1_2.SetMinSize((454/5*6 - 30, -1)) + sizer_3_2_1_2.Add(self.ModemLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_3_2_1_2.Add(self.ISDNLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_3_2_1_2.Add(self.ADSLLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_3_2_1_2.Add(self.WANLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_3_2_1_2.Add(self.LANLabel, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_3_2_1.Add(sizer_3_2_1_1, flag=wx.ALIGN_CENTRE_HORIZONTAL) + sizer_3_2_1.Add(sizer_3_2_1_2, flag=wx.ALIGN_CENTRE_HORIZONTAL) sizer_3_2.Add(sizer_3_2_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_3_3 = wx.StaticBoxSizer(self.staticbox_Sound, wx.VERTICAL) - sizer_3_3_1 = wx.GridBagSizer(vgap=4, hgap=2) - sizer_3_3_1.Add(self.EnableSound, pos=(0,0), span=(1,2), border=16, ) - sizer_3_3_1.Add(self.PulseAudio, pos=(1,0), flag=wx.RIGHT, border=16, ) - sizer_3_3_1.Add(self.Arts, pos=(2,0), flag=wx.RIGHT, border=16, ) - sizer_3_3_1.Add(self.Esd, pos=(3,0), flag=wx.RIGHT, border=16, ) - sizer_3_3_1.Add(self.DefaultSoundPort, pos=(1,1), ) + sizer_3_3 = wx.StaticBoxSizer(self.staticbox_Compression, wx.VERTICAL) + sizer_3_3_1 = wx.BoxSizer(wx.VERTICAL) sizer_3_3_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_3_3_1_1.Add(self.SoundPortLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_3_1_1.Add((8, -1)) - sizer_3_3_1_1.Add(self.SoundPort, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_3_3_1.Add(sizer_3_3_1_1, pos=(2,1), ) - sizer_3_3.Add(sizer_3_3_1, flag=wx.EXPAND|wx.ALL, border=7) - - sizer_3_4 = wx.StaticBoxSizer(self.staticbox_Printing, wx.VERTICAL) - sizer_3_4.Add(self.ClientSidePrinting, flag=wx.EXPAND|wx.ALL, border=7) + sizer_3_3_1_1.Add(self.CompressionLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_3_1_1.Add(self.Compression) + sizer_3_3_1_1.Add((0,32)) + sizer_3_3_1_2 = wx.BoxSizer(wx.HORIZONTAL) + sizer_3_3_1_2.Add(self.ImageQualityLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_3_3_1_2.Add(self.ImageQuality) + sizer_3_3_1.Add(sizer_3_3_1_1, flag=wx.EXPAND) + sizer_3_3_1.Add(sizer_3_3_1_2, flag=wx.EXPAND) + sizer_3_3.Add(sizer_3_3_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, proportion=1, 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_Settings.SetSizerAndFit(sizer_3) - self.tab_Settings.Layout() + sizer_3.Add(sizer_3_3, flag=wx.EXPAND|wx.ALL, border=5) + self.tab_Connection.SetSizerAndFit(sizer_3) + self.tab_Connection.Layout() - # FOLDERSHARING TAB + ## SETTINGS TAB sizer_4 = wx.BoxSizer(wx.VERTICAL) - sizer_4_1 = wx.StaticBoxSizer(self.staticbox_FolderSharing, wx.VERTICAL) + sizer_4_1 = wx.StaticBoxSizer(self.staticbox_Display, 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.UseLocalFolderSharing) + 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.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_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_1_1_2_1.Add(self.SharedFolderPathLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_2_1.Add(self.SharedFolderPath, flag=wx.ALIGN_CENTRE_VERTICAL|wx.LEFT|wx.RIGHT, border=5) - sizer_4_1_1_2_1.Add(self.SharedFolderPathBrowseButton, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_2_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_1_1_2_3 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_1_1_2_3.Add(self.AddSharedFolderPathButton, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_2_3.Add(self.DeleteSharedFolderPathButton, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_1_2.Add(sizer_4_1_1_2_1, flag=wx.EXPAND|wx.ALIGN_LEFT) - sizer_4_1_1_2.Add(sizer_4_1_1_2_2, proportion=1, flag=wx.EXPAND|wx.ALIGN_LEFT) - sizer_4_1_1_2.Add(sizer_4_1_1_2_3, flag=wx.EXPAND|wx.ALIGN_RIGHT) - sizer_4_1_1_3 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_1_1_3.Add(self.SharedFoldersList, proportion=1, flag=wx.EXPAND) - sizer_4_1_1.Add(sizer_4_1_1_1, flag=wx.EXPAND|wx.BOTTOM, border=12) - sizer_4_1_1.Add(sizer_4_1_1_2, flag=wx.EXPAND) - sizer_4_1_1.Add(sizer_4_1_1_3, flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=5) - sizer_4_1_2 = wx.BoxSizer(wx.VERTICAL) - sizer_4_1_2_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_1_2_1.Add(self.UseEncodingConverter, flag=wx.BOTTOM, border=5) - sizer_4_1_2_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_1_2_2.Add(self.ClientEncodingLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_2_2.Add((8,0)) - sizer_4_1_2_2.Add(self.ClientEncoding) - sizer_4_1_2_2.Add((16,0)) - sizer_4_1_2_2.Add(self.ServerEncodingLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_1_2_2.Add((8,0)) - sizer_4_1_2_2.Add(self.ServerEncoding) - sizer_4_1_2.Add(sizer_4_1_2_1, flag=wx.EXPAND) - sizer_4_1_2.Add(sizer_4_1_2_2, flag=wx.EXPAND) + 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.Add(sizer_4_1_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_4_1.Add(sizer_4_1_2, flag=wx.EXPAND|wx.ALL, border=7) - sizer_4_2 = wx.StaticBoxSizer(self.staticbox_FileMIMEbox, wx.VERTICAL) + sizer_4_2 = wx.StaticBoxSizer(self.staticbox_Keyboard, wx.VERTICAL) sizer_4_2_1 = wx.BoxSizer(wx.VERTICAL) sizer_4_2_1_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_2_1_1.Add(self.UseFileMIMEbox, flag=wx.BOTTOM, border=5) + sizer_4_2_1_1.Add(self.CurrentKeyBoard, flag=wx.ALIGN_TOP) + sizer_4_2_1_1.Add((0, 32)) sizer_4_2_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_4_2_1_2.Add(self.FileMIMEboxExtensionsLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_2_1_2.Add((8,0)) - sizer_4_2_1_2.Add(self.FileMIMEboxExtensions) - sizer_4_2_1_2.Add((16,0)) - sizer_4_2_1_2.Add(self.FileMIMEboxActionLabel, flag=wx.ALIGN_CENTRE_VERTICAL) - sizer_4_2_1_2.Add((8,0)) - sizer_4_2_1_2.Add(self.FileMIMEboxAction) - 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_1_2.Add((32,0)) + sizer_4_2_1_2_1 = wx.BoxSizer(wx.VERTICAL) + sizer_4_2_1_2_1.Add(self.KeyboardLayoutLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_4_2_1_2_1.Add(self.KeyboardLayout, flag=wx.EXPAND) + sizer_4_2_1_2_2 = wx.BoxSizer(wx.VERTICAL) + sizer_4_2_1_2_2.Add(self.KeyboardModelLabel) + sizer_4_2_1_2_2.Add(self.KeyboardModel, flag=wx.EXPAND) + sizer_4_2_1_2.Add(sizer_4_2_1_2_1) + sizer_4_2_1_2.Add((32,0)) + sizer_4_2_1_2.Add(sizer_4_2_1_2_2) + 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.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) - self.tab_SharedFilesAndFolders.SetSizerAndFit(sizer_4) + 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() + + # FOLDERSHARING TAB + sizer_5 = wx.BoxSizer(wx.VERTICAL) + sizer_5_1 = wx.StaticBoxSizer(self.staticbox_FolderSharing, 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_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|wx.RIGHT, border=5) + sizer_5_1_1_2_1.Add(self.SharedFolderPathBrowseButton, flag=wx.ALIGN_CENTRE_VERTICAL) + 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) + 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.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_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.BoxSizer(wx.HORIZONTAL) + sizer_5_2_1_2.Add(self.FileMIMEboxExtensionsLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_2_1_2.Add((8,0)) + sizer_5_2_1_2.Add(self.FileMIMEboxExtensions) + sizer_5_2_1_2.Add((16,0)) + sizer_5_2_1_2.Add(self.FileMIMEboxActionLabel, flag=wx.ALIGN_CENTRE_VERTICAL) + sizer_5_2_1_2.Add((8,0)) + sizer_5_2_1_2.Add(self.FileMIMEboxAction) + 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.Add(sizer_5_2_1, 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() - self.X2goTabs.AddPage(self.tab_Session, _(u"Session Profile")) + 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_Settings, _(u"Settings")) self.X2goTabs.AddPage(self.tab_SharedFilesAndFolders, _(u"Sharing")) @@ -711,20 +726,22 @@ class PyHocaGUI_ProfileManager(wx.Dialog): MainSizer.Add(sizer_B, flag=wx.ALIGN_RIGHT) self.SetSizerAndFit(MainSizer) - max1_x, max1_y = self.tab_Session.GetBestSize() - max2_x, max2_y = self.tab_Connection.GetBestSize() - max3_x, max3_y = self.tab_Settings.GetBestSize() - max4_x, max4_y = self.tab_SharedFilesAndFolders.GetBestSize() + 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() + + #self.SetSize(self.GetBestSize() + self.X2goTabs.GetBestSize()) - self.SetSize(self.GetBestSize()) - self.SetSize((max(max1_x, max2_x, max3_x, max4_x) * 1.05, max(max1_y, max2_y, max3_y, max4_y) + 64)) + 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) + 64)) self.SetAutoLayout(True) self.Layout() self.CentreOnScreen() self.Show(True) # derive ListCtrl widths from sizer information - _sizer_width = sizer_4_1_1_3.GetSize().GetWidth() + _sizer_width = sizer_5_1_1_3.GetSize().GetWidth() self.SharedFoldersList.SetColumnWidth(0, abs(_sizer_width*.7)) self.SharedFoldersList.SetColumnWidth(1, abs(_sizer_width*.3)) @@ -836,13 +853,11 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.XDMCPServer.Enable(True) if _command in ('RDP', 'DirectRDP'): - self.RDPSettingsLabel.Enable(True) self.RDPServerLabel.Enable(True) self.RDPServer.Enable(True) self.RDPOptionsLabel.Enable(True) self.RDPOptions.Enable(True) else: - self.RDPSettingsLabel.Enable(False) self.RDPServerLabel.Enable(False) self.RDPServer.Enable(False) self.RDPOptionsLabel.Enable(False) @@ -1000,8 +1015,8 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.staticbox_Profile.Enable(False) self.ProfileNameLabel.Enable(False) self.ProfileName.Enable(False) - #self.IconButton.Enable(False) - #self.IconButtonLabel.Enable(False) + self.IconButton.Enable(False) + self.IconButtonLabel.Enable(False) self.HostLabel.Enable(False) self.Host.Enable(False) self.UserNameLabel.Enable(False) @@ -1034,7 +1049,7 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.profile_config['sessiontitle'] = '' else: self.profile_config['sessiontitle'] = self.CustomSessionWindowTitle.GetValue() - #self.profile_config['icon'] = self.IconPath + self.profile_config['icon'] = self.IconPath self.profile_config['user'] = self.UserName.GetValue() self.profile_config['key'] = self.SSHKeyFile.GetValue() if self.UseSSHProxy.GetValue(): @@ -1140,25 +1155,25 @@ class PyHocaGUI_ProfileManager(wx.Dialog): _mimebox_action = 'OPEN' self.profile_config['mimeboxaction'] = _mimebox_action - #def OnIconChange(self, event): - # _share_location = os.path.split(_icons_location)[0] - # iconsdir = _icons_location - # if not os.path.exists(iconsdir): - # iconsdir = os.getcwd() - # wildcard = _(u"Icon Files (*.png)|*.png|" \ - # "All files (*.*)|*") - # dlg = wx.FileDialog( - # self, message=_(u"Choose an icon for this session profile"), defaultDir=iconsdir, - # defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR ) - # # Show the dialog and retrieve the user response. If it is the OK response, - # # process the data. - # if dlg.ShowModal() == wx.ID_OK: - # # This returns a Python list of files that were selected. - # path_to_icon = dlg.GetPath() - # self.IconButton.SetBitmapLabel(wx.Bitmap(path_to_icon, wx.BITMAP_TYPE_ANY)) - # rel_path = path_to_icon.replace('%s/' % _share_location, ':') - # rel_path = rel_path.replace( 'icons/PyHoca/128x128/pyhoca-session.png', 'icons/128x128/x2gosession.png') - # self.IconPath = rel_path + def OnIconChange(self, event): + _share_location = os.path.split(_icons_location)[0] + iconsdir = _icons_location + if not os.path.exists(iconsdir): + iconsdir = os.getcwd() + wildcard = _(u"Icon Files (*.png)|*.png|" \ + "All files (*.*)|*") + dlg = wx.FileDialog( + self, message=_(u"Choose an icon for this session profile"), defaultDir=iconsdir, + defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR ) + # Show the dialog and retrieve the user response. If it is the OK response, + # process the data. + if dlg.ShowModal() == wx.ID_OK: + # This returns a Python list of files that were selected. + path_to_icon = dlg.GetPath() + self.IconButton.SetBitmapLabel(wx.Bitmap(path_to_icon, wx.BITMAP_TYPE_ANY)) + rel_path = path_to_icon.replace('%s/' % _share_location, ':') + rel_path = rel_path.replace( 'icons/PyHoca/128x128/pyhoca-session.png', 'icons/128x128/x2gosession.png') + self.IconPath = rel_path def OnSetSessionWindowTitle(self, event): if self.SetSessionWindowTitle.GetValue(): @@ -1253,13 +1268,11 @@ class PyHocaGUI_ProfileManager(wx.Dialog): self.XDMCPServer.Enable(False) if _session_type in ('RDP', 'DirectRDP', ): - self.RDPSettingsLabel.Enable(True) self.RDPServerLabel.Enable(True) self.RDPServer.Enable(True) self.RDPOptionsLabel.Enable(True) self.RDPOptions.Enable(True) else: - self.RDPSettingsLabel.Enable(False) self.RDPServerLabel.Enable(False) self.RDPServer.Enable(False) self.RDPOptionsLabel.Enable(False) 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)).