[X2Go-Commits] pyhoca-gui.git - build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d (branch) updated: 0.1.0.10-115-g1bafcdd
X2Go dev team
git-admin at x2go.org
Tue Aug 27 13:22:07 CEST 2013
The branch, build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d has been updated
via 1bafcdd48927872f3c265a528ff31958e14f3c93 (commit)
from 3b77e6c1a28fd9c752ca092fe56fa422743427b9 (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-gui | 1 +
pyhoca/wxgui/frontend.py | 13 ++++++++++---
pyhoca/wxgui/menus_taskbar.py | 19 +++++++++++++++----
4 files changed, 28 insertions(+), 7 deletions(-)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 79526b5..582bc18 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -69,6 +69,8 @@ pyhoca-gui (0.1.2.0-0~x2go1) UNRELEASED; urgency=low
- Update of en/de i18n files.
- Fix disabling of published applications tick box in profile manager.
- Show the detected GUI language in GUI output.
+ - Add support for published applications with no category submenus.
+ Introduce cmd line option --published-applications-no-submenus <int>.
* 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 7b8ccab..c831ab0 100755
--- a/pyhoca-gui
+++ b/pyhoca-gui
@@ -188,6 +188,7 @@ x2go_gui_options = [
{'args':['--disable-profilemanager'], 'default': False, 'action': 'store_true', 'help': 'disable the session profile manager window', },
{'args':['--display'], 'default': None, 'metavar': '<hostname>:<screennumber>', 'help': 'set the DISPLAY environment variable to <hostname>:<screennumber>', },
{'args':['--logon-window-position'], 'default': None, 'metavar': '<x-pos>x<y-pos>', 'help': 'give a custom position for the logon window, use negative values to position relative to right/bottom border', },
+ {'args':['--published-applications-no-submenus'], 'default': 9, 'metavar': '<number>', 'help': 'the number of published applications that will be rendered without submenus', },
]
if _X2GOCLIENT_OS == 'Windows':
x2go_gui_options.append(
diff --git a/pyhoca/wxgui/frontend.py b/pyhoca/wxgui/frontend.py
index 7597e5f..11fa4ca 100644
--- a/pyhoca/wxgui/frontend.py
+++ b/pyhoca/wxgui/frontend.py
@@ -320,10 +320,14 @@ class PyHocaGUI(wx.App, x2go.X2goClient):
self._pyhoca_logger('exit application', loglevel=x2go.log.loglevel_INFO, )
if self.args.single_session_profile:
if not x2go.defaults.X2GOCLIENT_OS == 'Windows':
- self.notifier.send(self.args.session_profile, _('Suspending Sessions and Exiting...'), icon='application-exit', timeout=10000)
+ if self.client_running_sessions_of_profile_name(self.args.session_profile):
+ self.notifier.send(self.args.session_profile, _('Suspending sessions and exiting...'), icon='application-exit', timeout=10000)
+ else:
+ self.notifier.send(self.args.session_profile, _('Disconnecting and exiting...'), icon='application-exit', timeout=10000)
self._eventid_profilenames_map[evt.GetId()] = self.args.session_profile
self.OnServerDisconnect(evt)
- self.Exit()
+ self.WakeUpIdle()
+ self.ExitMainLoop()
def _start_on_connect(self, evt, session_uuid):
if not self._X2goClient__list_sessions(session_uuid):
@@ -698,7 +702,10 @@ class PyHocaGUI(wx.App, x2go.X2goClient):
self._hide_notifications_map[self.current_profile_name] = self._X2goClient__client_running_sessions_of_profile_name(self.current_profile_name, return_session_names=True)
gevent.spawn(self._X2goClient__disconnect_profile, self.current_profile_name)
- self.notifier.send(_(u'%s - disconnect') % self.current_profile_name, _(u'X2Go Profile is now disconnected.'), icon='auth_disconnect', timeout=4000)
+
+ if not self.args.single_session_profile:
+ self.notifier.send(_(u'%s - disconnect') % self.current_profile_name, _(u'X2Go Profile is now disconnected.'), icon='auth_disconnect', timeout=4000)
+
if self.exit_on_disconnect:
self._pyhoca_logger('Exiting %s because %s got disconnected.' % (self.appname, self.current_profile_name), loglevel=x2go.loglevel_NOTICE)
self.WakeUpIdle()
diff --git a/pyhoca/wxgui/menus_taskbar.py b/pyhoca/wxgui/menus_taskbar.py
index 79b5b33..728d02a 100644
--- a/pyhoca/wxgui/menus_taskbar.py
+++ b/pyhoca/wxgui/menus_taskbar.py
@@ -341,7 +341,7 @@ def _generate_Menu_PublishedApplications(_PyHocaGUI, caller=None, profile_name=N
"""
_lang = _PyHocaGUI.lang
_pub_app_session = _PyHocaGUI.get_session_of_session_name(session_name, return_object=True)
- menu_map = _pub_app_session.get_published_applications(lang=_lang)
+ menu_map = _pub_app_session.get_published_applications(lang=_lang, max_no_submenus=_PyHocaGUI.args.published_applications_no_submenus)
if not menu_map.has_key(_lang):
return {}
@@ -361,6 +361,7 @@ def _generate_Menu_PublishedApplications(_PyHocaGUI, caller=None, profile_name=N
'System': (_(u'System'), os.path.normpath('%s/PyHoca/%s/applications-system.png' % (_icons_location, _icon_size), ), ),
'Utilities': (_(u'Utilities'), os.path.normpath('%s/PyHoca/%s/applications-utilities.png' % (_icons_location, _icon_size), ), ),
'Other Applications': (_(u'Other Applications'), os.path.normpath('%s/PyHoca/%s/applications-other.png' % (_icons_location, _icon_size), ), ),
+ 'NO_SUBMENUS': ('NO_SUBMENUS', os.path.normpath('%s/PyHoca/%s/x2go-logo-grey.png' % (_icons_location, _icon_size), ), ),
}
_PyHocaGUI._eventid_pubapp_execmap[profile_name] = {}
@@ -390,8 +391,8 @@ def _generate_Menu_PublishedApplications(_PyHocaGUI, caller=None, profile_name=N
else:
_icon_bitmap = wx.BitmapFromImage(_icon_image.Scale(22,22))
_menu_item.SetBitmap(_icon_bitmap)
- _wx_menu_map[_category_name_translator[cat][0]][0].AppendItem(_menu_item)
+ _wx_menu_map[_category_name_translator[cat][0]][0].AppendItem(_menu_item)
_PyHocaGUI.Bind(wx.EVT_MENU, _PyHocaGUI.OnPubAppExecution, id=_pubapp_id)
else:
@@ -462,11 +463,16 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
_category_map = _generate_Menu_PublishedApplications(self._PyHocaGUI, caller=self, profile_name=profile_name, session_name=_pub_app_session.get_session_name())
_category_names = _category_map.keys()
_category_names.sort()
- for cat_name in _category_names:
+ for cat_name in [ _cn for _cn in _category_names if _cn != 'NO_SUBMENUS' ]:
_submenu = self.AppendMenu(id=wx.NewId(), text=cat_name, submenu=_category_map[cat_name][0])
_submenu.SetBitmap(wx.Bitmap(_category_map[cat_name][1]))
if _session_name_disabled:
_submenu.Enable(False)
+ if 'NO_SUBMENUS' in _category_names:
+ for _menu_item in _category_map['NO_SUBMENUS'][0].GetMenuItems():
+ _item = self.AppendItem(item=_menu_item)
+ if _session_name_disabled:
+ _item.Enable(False)
self.AppendSeparator()
ID_RESUMESESSION = wx.NewId()
@@ -513,11 +519,16 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
_category_map = _generate_Menu_PublishedApplications(self._PyHocaGUI, caller=self, profile_name=profile_name, session_name=_pub_app_session.get_session_name())
_category_names = _category_map.keys()
_category_names.sort()
- for cat_name in _category_names:
+ for cat_name in [ _cn for _cn in _category_names if _cn != 'NO_SUBMENUS' ]:
_submenu = self.AppendMenu(id=wx.NewId(), text=cat_name, submenu=_category_map[cat_name][0])
_submenu.SetBitmap(wx.Bitmap(_category_map[cat_name][1]))
if _session_name_disabled:
_submenu.Enable(False)
+ if 'NO_SUBMENUS' in _category_names:
+ for _menu_item in _category_map['NO_SUBMENUS'][0].GetMenuItems():
+ _item = self.AppendItem(item=_menu_item)
+ if _session_name_disabled:
+ _item.Enable(False)
self.AppendSeparator()
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