[X2Go-Commits] pyhoca-gui.git - twofactorauth (branch) updated: 0.1.0.10-18-g1e9ad84

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


The branch, twofactorauth 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 -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 debian/changelog              |    2 ++
 pyhoca/wxgui/frontend.py      |   14 ++++++++++++++
 pyhoca/wxgui/menus_taskbar.py |   40 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 56 insertions(+)

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 at 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)).




More information about the x2go-commits mailing list