The branch, master has been updated via 1e9ad84f60aa19beb4540303414934d6bc213b3a (commit) from 367871d39ee8a270aed41f7ac0e16bc61d706470 (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 1e9ad84f60aa19beb4540303414934d6bc213b3a Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Wed Dec 7 12:59:56 2011 +0100 Add extra menu: launch single application, once a session profile is connected. ----------------------------------------------------------------------- Summary of changes: debian/changelog | 2 ++ pyhoca/wxgui/frontend.py | 14 ++++++++++++++ pyhoca/wxgui/menus_taskbar.py | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 0 deletions(-) The diff of changes is: diff --git a/debian/changelog b/debian/changelog index eaeaf02..1312f46 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,8 @@ pyhoca-gui (0.1.0.11-0~x2go1) UNRELEASED; urgency=low - Enable session profile submenus functionality to profile manager. - Rename single application OFFICE from Openoffice.org to Office (more generic name). + - Add extra menu: launch single application, once a session profile is + connected. * Depend on Python X2Go 0.1.1.9. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 09 Nov 2011 03:13:09 +0100 diff --git a/pyhoca/wxgui/frontend.py b/pyhoca/wxgui/frontend.py index 6cd11e5..bba8e87 100644 --- a/pyhoca/wxgui/frontend.py +++ b/pyhoca/wxgui/frontend.py @@ -223,6 +223,7 @@ class PyHocaGUI(wx.App, x2go.X2goClient): self._hide_notifications_map = {} self._eventid_profilenames_map = {} self._eventid_sessionnames_map = {} + self._eventid_applications_map = {} self._eventid_shared_folders_map = {} self._eventid_unshared_folders_map = {} self._temp_disabled_profile_names = [] @@ -488,6 +489,19 @@ class PyHocaGUI(wx.App, x2go.X2goClient): gevent.spawn(self._X2goClient__start_session, session_uuid) _dummy = self._X2goClient__list_sessions(session_uuid, refresh_cache=True) + def OnApplicationStart(self, evt): + """\ + STILL UNDOCUMENTED + + """ + self.current_profile_name = self._eventid_profilenames_map[evt.GetId()] + _application = self._eventid_applications_map[evt.GetId()] + _query_session = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0] + session_uuid = self._X2goClient__register_session(profile_name=self.current_profile_name, cmd=_application) + if self._X2goClient__server_is_alive(session_uuid): + gevent.spawn(self._X2goClient__start_session, session_uuid) + _dummy = self._X2goClient__list_sessions(session_uuid, refresh_cache=True) + def _disable_session_name(self, profile_name, session_name): if profile_name not in self._temp_disabled_session_names.keys(): self._temp_disabled_session_names[profile_name] = [] diff --git a/pyhoca/wxgui/menus_taskbar.py b/pyhoca/wxgui/menus_taskbar.py index 502f998..341e8fc 100644 --- a/pyhoca/wxgui/menus_taskbar.py +++ b/pyhoca/wxgui/menus_taskbar.py @@ -259,6 +259,36 @@ class PyHocaGUI_Menu_TaskbarProfileSharedFolders(wx.Menu): self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnUnshareAllLocalFolders, id=ID_UNSHAREALLLOCALFOLDERS) +class PyHocaGUI_Menu_LaunchSingleApplication(wx.Menu): + + def __init__(self, _PyHocaGUI, caller=None, profile_name=None): + """\ + STILL UNDOCUMENTED + + """ + self._PyHocaGUI = _PyHocaGUI + self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger + + wx.Menu.__init__(self) + + current_profile_config = self._PyHocaGUI.get_profile_config(profile_name) + + _available_applications = { + 'WWWBROWSER': _(u'Internet Browser'), + 'MAILCLIENT': _(u'Email Client'), + 'OFFICE': _(u'Office'), + 'TERMINAL': _(u'Terminal'), + } + + for application in current_profile_config['applications']: + + _app_id = wx.NewId() + self._PyHocaGUI._eventid_profilenames_map[_app_id] = profile_name + self._PyHocaGUI._eventid_applications_map[_app_id] = application + self.Append(id=_app_id, text=_available_applications[application]) + self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnApplicationStart, id=_app_id) + + class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu): """\ STILL UNDOCUMENTED @@ -283,8 +313,12 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu): current_profile_config = self._PyHocaGUI.get_profile_config(profile_name) + if current_profile_config['applications']: + ID_LAUNCHAPPLICATION = wx.NewId() + # preparing profile_name information for the main PyHocaGUI instance self._PyHocaGUI._eventid_profilenames_map[ID_SESSIONSTART] = \ + self._PyHocaGUI._eventid_profilenames_map[ID_LAUNCHAPPLICATION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_CLEANSESSIONS] = \ self._PyHocaGUI._eventid_profilenames_map[ID_EDITPROFILEWHILECONNECTED] = \ self._PyHocaGUI._eventid_profilenames_map[ID_SHARELOCALFOLDER] = \ @@ -292,6 +326,12 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu): self._PyHocaGUI._eventid_profilenames_map[ID_DISCONNECT] = profile_name self.Append(id=ID_SESSIONSTART, text=_(u"Start &new Session")) + + if current_profile_config['applications']: + self.AppendMenu(id=ID_LAUNCHAPPLICATION, text=_(u"Launch Single Application"), + submenu=PyHocaGUI_Menu_LaunchSingleApplication(self._PyHocaGUI, caller=self, profile_name=profile_name) + ) + self.AppendSeparator() _query_session_uuid = self._PyHocaGUI.client_connected_sessions_of_profile_name(profile_name, return_objects=False)[0] 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)).