[X2Go-Commits] pyhoca-gui.git - build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d (branch) updated: 0.1.0.10-205-gb33c348
X2Go dev team
git-admin at x2go.org
Tue Aug 27 13:22:18 CEST 2013
The branch, build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d has been updated
via b33c348acbc154d47e4adb23ee636cb7addeb1c1 (commit)
from fdadc4b1be3a2f78b45c2916203e05bf94e82d0a (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 | 1 +
pyhoca-gui | 2 ++
pyhoca/wxgui/frontend.py | 6 ++--
pyhoca/wxgui/menus_taskbar.py | 61 +++++++++++++++++++++++++++++------------
4 files changed, 50 insertions(+), 20 deletions(-)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index abb69b9..6ef6c7c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -106,6 +106,7 @@ pyhoca-gui (0.1.2.0-0~x2go1) UNRELEASED; urgency=low
API.
- Add menu item ,,Refresh menu tree'' for sessions with published
applications mode.
+ - Fix/improve --non-interactive command line option.
* Depend on Python X2Go 0.1.2.0.
* Install GNOME icons via dh_links.
* Install X2Go icons with explicit install paths.
diff --git a/pyhoca-gui b/pyhoca-gui
index a9ef219..c62464c 100755
--- a/pyhoca-gui
+++ b/pyhoca-gui
@@ -303,11 +303,13 @@ def parseargs():
if a.session_profile is None:
runtime_error('In non-interactive mode you have to use the --session-profile option (or -P) to specify a certain session profile name!', parser=p)
a.restricted_trayicon = True
+ a.auto_connect = True
a.start_on_connect = True
a.resume_all_on_connect = True
a.exit_on_disconnect = True
a.disconnect_on_suspend = True
a.disconnect_on_terminate = True
+ a.single_session_profile = True
if a.non_interactive and (a.resume_newest_on_connect or a.resume_oldest_on_connect):
# allow override...
diff --git a/pyhoca/wxgui/frontend.py b/pyhoca/wxgui/frontend.py
index 4bdefb6..df48ac7 100644
--- a/pyhoca/wxgui/frontend.py
+++ b/pyhoca/wxgui/frontend.py
@@ -358,12 +358,12 @@ class PyHocaGUI(wx.App, x2go.X2goClient):
if self.args.single_session_profile:
if not x2go.defaults.X2GOCLIENT_OS == 'Windows':
if self.client_running_sessions_of_profile_name(self.args.session_profile):
- self.notifier.send(self.appname, _('Suspending sessions and exiting application...'), icon='application-exit', timeout=10000)
+ self.notifier.send(self.appname, _(u'Suspending sessions and exiting application...'), icon='application-exit', timeout=10000)
else:
if self.is_profile_connected(profile_name=self.args.session_profile):
- self.notifier.send(self.appname, _('Disconnecting %s and exiting application ...') % self.args.session_profile, icon='application-exit', timeout=10000)
+ self.notifier.send(self.appname, _(u'Disconnecting %s and exiting application...') % str(self.args.session_profile), icon='application-exit', timeout=10000)
else:
- self.notifier.send(self.appname, _('Exiting application...'), icon='application-exit', timeout=10000)
+ self.notifier.send(self.appname, _(u'Exiting application...'), icon='application-exit', timeout=10000)
self._eventid_profilenames_map[evt.GetId()] = self.args.session_profile
self.WakeUpIdle()
self.ExitMainLoop()
diff --git a/pyhoca/wxgui/menus_taskbar.py b/pyhoca/wxgui/menus_taskbar.py
index 57a3fa3..aad73e7 100644
--- a/pyhoca/wxgui/menus_taskbar.py
+++ b/pyhoca/wxgui/menus_taskbar.py
@@ -224,12 +224,22 @@ class PyHocaGUI_Menu_TaskbarSessionActions(wx.Menu):
_ts = self.Append(text=_(u"Transfer Session (not possible)"), id=ID_TRANSFERSESSION_DISABLED)
_ts.Enable(False)
- _ss = self.Append(text=_(u"Suspend Session"), id=ID_SUSPENDSESSION)
+ if self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.exit_on_disconnect:
+ _ss = self.Append(text=_(u"Suspend Session (and disconnect/exit)"), id=ID_SUSPENDSESSION)
+ elif self._PyHocaGUI.disconnect_on_suspend:
+ _ss = self.Append(text=_(u"Suspend Session (and disconnect)"), id=ID_SUSPENDSESSION)
+ else:
+ _ss = self.Append(text=_(u"Suspend Session"), id=ID_SUSPENDSESSION)
if _s.is_published_applications_provider() and not self._PyHocaGUI.get_profile_config(profile_name)['published']:
_ss.Enable(False)
- self.Append(text=_(u"Terminate Session"), id=ID_TERMINATESESSION)
+ if self._PyHocaGUI.disconnect_on_terminate and self._PyHocaGUI.exit_on_disconnect:
+ self.Append(text=_(u"Terminate Session (and disconnect/exit)"), id=ID_SUSPENDSESSION)
+ elif self._PyHocaGUI.disconnect_on_terminate:
+ self.Append(text=_(u"Terminate Session (and disconnect)"), id=ID_TERMINATESESSION)
+ else:
+ self.Append(text=_(u"Terminate Session"), id=ID_TERMINATESESSION)
if _s is not None and _s.is_published_applications_provider() and self._PyHocaGUI.get_profile_config(profile_name)['published']:
self.AppendSeparator()
@@ -477,25 +487,27 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
self.Append(id=ID_SESSIONSTART, text='%s (%s)' % (_(u"Start &new Desktop Session"), current_profile_config['command']))
self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART)
elif current_profile_config['command'] == '' and current_profile_config['published']:
+ _pub_app_start_item = None
if profile_name in self._PyHocaGUI._temp_launching_pubapp_profiles:
_pub_app_start_item = self.Append(id=ID_PUBAPPSESSIONSTART, text=_(u"Retrieving Application Menu..."))
_pub_app_start_item.Enable(False)
- else:
+ elif not (self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.disconnect_on_terminate):
self._PyHocaGUI._eventid_profilenames_map[ID_PUBAPPSESSIONSTART] = profile_name
_pub_app_start_item = self.Append(id=ID_PUBAPPSESSIONSTART, text=_(u"Retrieve Application Menu"))
- self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPubAppSessionStart, id=ID_PUBAPPSESSIONSTART)
+ self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPubAppSessionStart, id=ID_PUBAPPSESSIONSTART)
else:
self.Append(id=ID_SESSIONSTART, text=_(u"Start &new Session"))
self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART)
if current_profile_config['command'] == '' and current_profile_config['published']:
- if not self._PyHocaGUI.restricted_trayicon:
+ if self._PyHocaGUI.restricted_trayicon and not (self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.disconnect_on_terminate):
self.AppendSeparator()
_pubapp_sessions = [ _pas for _pas in self._PyHocaGUI.client_pubapp_sessions_of_profile_name(profile_name, return_objects=True) if _pas.is_running() ]
if _pubapp_sessions:
_pubapp_session = _pubapp_sessions[0]
- _pub_app_start_item.Enable(False)
+ if _pub_app_start_item is not None:
+ _pub_app_start_item.Enable(False)
_foldersharing_disabled = _session_name_disabled = self._PyHocaGUI.is_session_name_disabled(profile_name, _pubapp_session.get_session_name())
_category_map = _generate_Menu_PublishedApplications(self._PyHocaGUI, caller=self, profile_name=profile_name, session_name=_pubapp_session.get_session_name())
_category_names = _category_map.keys()
@@ -528,7 +540,12 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
if _pubapp_session.is_running():
_refresh_menu_item = self.Append(text=_(u"Refresh menu tree"), id=ID_REFRESHMENU)
self.AppendSeparator()
- _suspend_item = self.Append(text=_(u"Suspend Session"), id=ID_SUSPENDSESSION)
+ if self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.exit_on_disconnect:
+ _suspend_item = self.Append(text=_(u"Suspend Session (and disconnect/exit)"), id=ID_SUSPENDSESSION)
+ elif self._PyHocaGUI.disconnect_on_suspend:
+ _suspend_item = self.Append(text=_(u"Suspend Session (and disconnect)"), id=ID_SUSPENDSESSION)
+ else:
+ _suspend_item = self.Append(text=_(u"Suspend Session"), id=ID_SUSPENDSESSION)
if _session_name_disabled:
_refresh_menu_item.Enable(False)
_suspend_item.Enable(False)
@@ -536,7 +553,12 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
_resume_item = self.Append(text=_(u"Resume Session"), id=ID_RESUMESESSION)
if _session_name_disabled:
_resume_item.Enable(False)
- _terminate_item = self.Append(text=_(u"Terminate Session"), id=ID_TERMINATESESSION)
+ if self._PyHocaGUI.disconnect_on_terminate and self._PyHocaGUI.exit_on_disconnect:
+ _terminate_item = self.Append(text=_(u"Terminate Session (and disconnect/exit)"), id=ID_TERMINATESESSION)
+ elif self._PyHocaGUI.disconnect_on_terminate:
+ _terminate_item = self.Append(text=_(u"Terminate Session (and disconnect)"), id=ID_TERMINATESESSION)
+ else:
+ _terminate_item = self.Append(text=_(u"Terminate Session"), id=ID_TERMINATESESSION)
if _session_name_disabled:
_terminate_item.Enable(False)
@@ -684,22 +706,27 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
_shared_folders.Enable(False)
- self.AppendSeparator()
-
- if profile_name in self._PyHocaGUI.client_connected_profiles(return_profile_names=True):
+ if profile_name in self._PyHocaGUI.client_connected_profiles(return_profile_names=True) and not self._PyHocaGUI.exit_on_disconnect:
+ self.AppendSeparator()
ID_DISCONNECT = wx.NewId()
self._PyHocaGUI._eventid_profilenames_map[ID_DISCONNECT] = profile_name
self.Append(id=ID_DISCONNECT, text=_(u"&Disconnect from Server"))
self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnServerDisconnect, id=ID_DISCONNECT)
+
if self._PyHocaGUI.args.single_session_profile:
ID_EXIT = wx.NewId()
- if self._PyHocaGUI.client_running_sessions_of_profile_name(profile_name=self._PyHocaGUI.args.session_profile) and self._PyHocaGUI.args.exit_on_disconnect:
- self.Append(id=ID_EXIT, text=_(u"Suspend Sessions and E&xit"))
- elif self._PyHocaGUI.is_profile_connected(profile_name=self._PyHocaGUI.args.session_profile) and self._PyHocaGUI.args.exit_on_disconnect:
- self.Append(id=ID_EXIT, text=_(u"Disconnect and E&xit"))
- else:
+ if self._PyHocaGUI.client_running_sessions_of_profile_name(profile_name=self._PyHocaGUI.args.session_profile) and self._PyHocaGUI.exit_on_disconnect and not self._PyHocaGUI.disconnect_on_suspend:
+ self.AppendSeparator()
+ self.Append(id=ID_EXIT, text=_(u"Suspend Session and E&xit application"))
+ self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT)
+ elif self._PyHocaGUI.is_profile_connected(profile_name=self._PyHocaGUI.args.session_profile) and self._PyHocaGUI.exit_on_disconnect and not self._PyHocaGUI.disconnect_on_suspend:
+ self.AppendSeparator()
+ self.Append(id=ID_EXIT, text=_(u"Disconnect and E&xit application"))
+ self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT)
+ elif not self._PyHocaGUI.exit_on_disconnect and not (self._PyHocaGUI.disconnect_on_suspend or self._PyHocaGUI.disconnect_on_terminate):
+ self.AppendSeparator()
self.Append(id=ID_EXIT, text=_(u"E&xit"))
- self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT)
+ self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT)
class PyHocaGUI_Menu_TaskbarProfileNames(wx.Menu):
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