[X2Go-Commits] pyhoca-gui.git - build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d (branch) updated: 0.0.34.0-28-g7211b53
X2Go dev team
git-admin at x2go.org
Tue Aug 27 13:21:34 CEST 2013
The branch, build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d has been updated
via 7211b53e3c828f3778d16210e3e9ff262d35543b (commit)
from acaeaf5df8984dc7e822101e23793f1935c25c2a (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:
pyhoca/wxgui/menus_taskbar.py | 59 ++++++++++++++++++++++++++++++++--------
pyhoca/wxgui/profilemanager.py | 2 +-
pyhoca/wxgui/taskbar.py | 4 +--
3 files changed, 51 insertions(+), 14 deletions(-)
The diff of changes is:
diff --git a/pyhoca/wxgui/menus_taskbar.py b/pyhoca/wxgui/menus_taskbar.py
index b3156f0..346d767 100644
--- a/pyhoca/wxgui/menus_taskbar.py
+++ b/pyhoca/wxgui/menus_taskbar.py
@@ -88,7 +88,8 @@ class PyHocaGUI_Menu_TaskbarOptionsManager(wx.Menu):
submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI,
caller=self,
disabled_profiles=self._PyHocaGUI.client_connected_profiles(return_profile_names=True),
- submenu=PyHocaGUI_Menu_TaskbarManageProfile
+ submenu=PyHocaGUI_Menu_TaskbarManageProfile,
+ group_menus=False,
)
)
if self._PyHocaGUI.profilemanager_disabled:
@@ -246,7 +247,7 @@ class PyHocaGUI_Menu_TaskbarProfileNames(wx.Menu):
STILL UNDOCUMENTED
"""
- def __init__(self, _PyHocaGUI, caller=None, filter_profiles=None, disabled_profiles=None, bind_method=None, submenu=None):
+ def __init__(self, _PyHocaGUI, caller=None, group_name='', sub_profile_items=[], filter_profiles=[], disabled_profiles=[], bind_method=None, submenu=None, group_menus=True):
"""\
STILL UNDOCUMENTED
@@ -254,7 +255,6 @@ class PyHocaGUI_Menu_TaskbarProfileNames(wx.Menu):
self._PyHocaGUI = _PyHocaGUI
self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
-
wx.Menu.__init__(self)
if type(caller) == PyHocaGUI_Menu_TaskbarOptionsManager:
@@ -264,24 +264,61 @@ class PyHocaGUI_Menu_TaskbarProfileNames(wx.Menu):
self.AppendSeparator()
- _profile_names = self._PyHocaGUI.session_profiles.profile_names
+ if sub_profile_items:
+ _profile_names = sub_profile_items
+ else:
+ _profile_names = self._PyHocaGUI.session_profiles.profile_names
_profile_names.sort()
+
+ if group_menus:
+
+ # grouping of session profile menus
+ _profile_groups = []
+ for profile_name in _profile_names:
+ if len(profile_name.split('/')) >= 2:
+ _group_name = profile_name.split('/')[0]
+ if not _group_name in _profile_groups:
+ _profile_groups.append(_group_name)
+
+ _profile_groups.sort()
+
+ for profile_group in _profile_groups:
+ _sub_profile_items = []
+ for profile_name in [ p for p in _profile_names if p.startswith('%s/' % profile_group) ]:
+ _sub_profile_name = "/".join(profile_name.split('/')[1:])
+ _sub_profile_items.append(_sub_profile_name)
+ filter_profiles.append(profile_name)
+
+ _this_id = wx.NewId()
+ _group = self.AppendMenu(text=profile_group, id=_this_id,
+ submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI,
+ caller=self,
+ sub_profile_items=_sub_profile_items,
+ bind_method=bind_method,
+ group_name=profile_group,
+ group_menus=False)
+ )
+
if filter_profiles:
_profile_names = [ p for p in _profile_names if p not in filter_profiles ]
- _profile_names.sort()
-
for profile_name in _profile_names:
+ if group_name:
+ _real_profile_name = '%s/%s' % (group_name, profile_name)
+ _show_profile_name = profile_name
+ else:
+ _real_profile_name = profile_name
+ _show_profile_name = profile_name
_this_id = wx.NewId()
- self._PyHocaGUI._eventid_profilenames_map[_this_id] = profile_name
- _menu_profile_name = self._PyHocaGUI.show_profile_metatypes and '%s (%s)' % (profile_name, self._PyHocaGUI.get_profile_metatype(profile_name)) or profile_name
+ self._PyHocaGUI._eventid_profilenames_map[_this_id] = _real_profile_name
+ _menu_profile_name = self._PyHocaGUI.show_profile_metatypes and '%s (%s)' % (_show_profile_name, self._PyHocaGUI.get_profile_metatype(_real_profile_name)) or _show_profile_name
if submenu is not None:
- _sub = self.AppendMenu(text=_menu_profile_name, id=_this_id, submenu=submenu(self._PyHocaGUI, caller=self, profile_name=profile_name))
- if disabled_profiles and profile_name in disabled_profiles:
+ _sub = self.AppendMenu(text=_menu_profile_name, id=_this_id, submenu=submenu(self._PyHocaGUI, caller=self, profile_name=_show_profile_name))
+ if disabled_profiles and _real_profile_name in disabled_profiles:
_sub.Enable(False)
else:
_item = self.Append(text=_menu_profile_name, id=_this_id)
- if disabled_profiles and profile_name in disabled_profiles:
+ if disabled_profiles and _real_profile_name in disabled_profiles:
_item.Enable(False)
if bind_method is not None:
self._PyHocaGUI.Bind(wx.EVT_MENU, bind_method, id=_this_id)
diff --git a/pyhoca/wxgui/profilemanager.py b/pyhoca/wxgui/profilemanager.py
index bb1fd3b..d8b521b 100644
--- a/pyhoca/wxgui/profilemanager.py
+++ b/pyhoca/wxgui/profilemanager.py
@@ -1373,7 +1373,7 @@ class PyHocaGUI_ProfileManager(wx.Dialog):
elif self.profile_config['name'].strip() != self.profile_config_bak['name'] and self.profile_config['name'] in self.session_profiles.profile_names:
validateOk = False
self._PyHocaGUI.notifier.send(title=_(u'Profile Manager'), text=_(u'Profile name %s already exists!!!' % self.profile_config['name'].strip()), icon='profile_error')
- elif self.profile_config['usesshproxy']:
+ elif self.profile_config['usesshproxy'] and self.profile_config['name'] == self.profile_config_bak['name']:
print self.profile_config['sshproxytunnel'].split(':')[0:2]
try:
(from_host, from_port) = self.profile_config['sshproxytunnel'].split(':')[0:2]
diff --git a/pyhoca/wxgui/taskbar.py b/pyhoca/wxgui/taskbar.py
index a770a3b..d4b3c50 100644
--- a/pyhoca/wxgui/taskbar.py
+++ b/pyhoca/wxgui/taskbar.py
@@ -94,7 +94,7 @@ class PyHocaGUI_TaskBarIcon(wx.TaskBarIcon):
STILL UNDOCUMENTED
"""
- self.menu_sessionmanager = self.PopupMenu(menus_taskbar.PyHocaGUI_Menu_TaskbarSessionManager(self._PyHocaGUI, caller=self))
+ self.menu_sessionmanager = self.PopupMenu(menus_taskbar.PyHocaGUI_Menu_TaskbarSessionManager(self._PyHocaGUI, caller=self,))
return self.menu_sessionmanager
def CreatePopupMenu(self):
@@ -107,7 +107,7 @@ class PyHocaGUI_TaskBarIcon(wx.TaskBarIcon):
return self.CreateProfileManagerPopupMenu()
def CreateProfileManagerPopupMenu(self):
- self.menu_optionsmanager = self.PopupMenu(menus_taskbar.PyHocaGUI_Menu_TaskbarOptionsManager(self._PyHocaGUI, caller=self))
+ self.menu_optionsmanager = self.PopupMenu(menus_taskbar.PyHocaGUI_Menu_TaskbarOptionsManager(self._PyHocaGUI, caller=self,))
return self.menu_optionsmanager
def MakeIcon(self, icon_name):
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