diff -Nru pyhoca-gui-0.5.0.3/bbfreeze_cleanup.sh pyhoca-gui-0.4.0.9/bbfreeze_cleanup.sh --- pyhoca-gui-0.5.0.3/bbfreeze_cleanup.sh 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/bbfreeze_cleanup.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -#!/bin/bash - -rm dist/ -Rfv -find * | egrep ".*\.pyc$" | while read file; do rm -v "$file"; done Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/bg/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/bg/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/da/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/da/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/de/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/de/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/en/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/en/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/es/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/es/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/et/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/et/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/fi/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/fi/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/fr/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/fr/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/nb_NO/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/nb_NO/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/nl/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/nl/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/ru/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/ru/LC_MESSAGES/PyHoca-GUI.mo differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/build/mo/sv/LC_MESSAGES/PyHoca-GUI.mo and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/build/mo/sv/LC_MESSAGES/PyHoca-GUI.mo differ diff -Nru pyhoca-gui-0.5.0.3/ChangeLog pyhoca-gui-0.4.0.9/ChangeLog --- pyhoca-gui-0.5.0.3/ChangeLog 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,1261 +0,0 @@ -pyhoca-gui (0.5.0.3-0x2go1) unstable; urgency=medium - - [ Mike Gabriel ] - * New upstream version (0.5.0.3): - - Update README.i18n and po/*.po: Use our new mailing list - URL and address. - * debian/control: - + Add to S (pyhoca-gui): mteleplayer-clientside. - - [ Mark Pedersen-Cook ] - * New upstream version (0.5.0.3): - - Update Danish translation file. - - [ Martti Pitkanen ] - * New upstream version (0.5.0.3): - - Update / finalize Finnish translation file. - - -- Mike Gabriel Thu, 27 Nov 2014 11:34:41 +0100 - -pyhoca-gui (0.5.0.2-0x2go1) unstable; urgency=medium - - * New upstream version (0.5.0.2): - - Fix module version (0.5.0.0 -> 0.5.0.2). - - -- Mike Gabriel Mon, 20 Oct 2014 23:54:20 +0200 - -pyhoca-gui (0.5.0.1-0x2go1) unstable; urgency=medium - - * New upstream version (0.5.0.1): - - Update README.Unity file. - - Add author name to README.ssh-agent file. - - Update TODO file. - - Provide my email address in README.ssh-agent and README.i18n. - - Update README file. - - man page: Update version and date. - * debian/control: - + Fix wxPython dependencies as proposed by Olly Betts (Thanks!). - + Bump Standards: to 3.9.6. No changes needed. - - -- Mike Gabriel Mon, 20 Oct 2014 23:49:15 +0200 - -pyhoca-gui (0.5.0.0-0x2go1) unstable; urgency=low - - [ Mike Gabriel ] - * New upstream version (0.5.0.0): - - (Now really) Support Python wxWidgets 3.0. - - Add X2Go Session Broker support. - - Adapt to new backend concept found in Python X2Go (>= 0.5.0.0). - - Move most code of the pyhoca-gui executable into a dedicated class - named PyHocaGUI_Launcher. - - Allow automatic image branding (splash, about image, tray icon) by - setting another application name than the default. - - Rename icon files to match default application name (PyHoca-GUI). - - Make default cmdline option parameters overridable before the - arg parser gets initialized. - - Make SCRIPT_NAME in setup.py configurable (monkey-patchable). - - Make setup.py importable, only run setup() function on direct calls. - - Don't refer to py2exe anymore in nsis_template's naming scheme. - - Provide separate mswin_logging module. - - Install more modules into setup.exe: hmac (for ecdsa). - - NSIS script: empty installation destination before installing new files - into $INSTDIR. - - Allow appname based mini icons on About... windows. - - Make the hover text of the tray icon brandable (drop hard-coded - PyHoca-GUI application name). - - NSIS script: make sure SetOutPath gets called at the beginning of - every section. - - Show printing preferences when tray icon is in restricted mode. - - Session profile manager: the host parameter will be of type ListType - for future versions of Python X2Go (>= 0.5.0.0). - - Focus the user name field on logon if no user name is stored in the - session profile. - - Re-order cmdline sections (man page, defaults.py). - - Optimize menu rendering. Reduce accessing session profile data as best - as is possible. - - Provide cmdline option --broker-cacertfile. Enable https:// connections - with SSL certificates that have been self-signed against a non-public - root-CA certificate file. - - Handle "Connection refused" errors during broker login attempts. - - Gracefully handle "Connection refused" errors after a broker login has - already been successful. - - Properly set focus in broker logon window (default: password, if no - username - provided: username, if no URL provided: broker-URL field). - - Fix check_running() method in PyHocaGUI_Launcher on MS Windows. - - Make broker support available for the MS Windows build of PyHoca-GUI. - - Make check_running() test terminal server / multi-session safe. - (Fixes: #19). - - Windows PyHoca-GUI.log file: create with PID in file name. On log file - creation try removing all old log files that are not still open. - - Create Windows log file folder before attempting clean up (old log file - removal). - - Make sure new session profiles are mutable in the session profile manager - GUI. - - Gray-out Apply button in session profile GUI on profile creation. - - Windows builder: Explicitly add the requests module to the set of - bundled Python modules. - - In session profile manager GUI: handle multiple clicks on the Apply button - gracefully. - - Notification about multiply started PyHoca-GUI instances. Don't hard code the - application name. - - Fix path name detection for default icons. (Fixes: #394). - - Update English / German translation. - - Add subsystem string support for HOOK_forward_tunnel_setup_failed hook. - - Improve NX performance by reducing reactivity of wx widgets. - - Grey-out all SSH related options for DirectRDP sessions. - - Make the clipboard mode configurable through the session profile manager - window. (Fixes: #507). - - Make the published applications menu tree more robust against unknown - icon image types. - - Prepare for running against wxPython 3.0. More testing needed. (Fixes: - #534). - - Rename LICENSE.txt to COPYING. - - Add Keywords= field to pyhoca-gui.desktop file. - - Don't flood PyHocaGUI._eventid_(uns)hared_folders_map dict with - non-valid-anymore event IDs. - - pyhoca-gui.desktop: Set Categories: to Network;RemoteAccess;. - - setup.py: Install .mo files into DESTDIR. - - brokerlogin.py: Fix parameter error when evoking message box. - - More reliably handle errors in a given --broker-url option value. - * debian/control: - + Add D (bin:package pyhoca-gui): python-cups. (Fixes: #460). - * pyhoca-gui.spec: - + Adapt to building on openSUSE/SLES. - + openSUSE has python-notify whereas Fedora/RHEL has notify-python. - + openSUSE (at least >= 12.3) has wxPython 2.9. So let's use it. (On openSUSE - 13.1, pyhoca-gui segfaults with wxPython 2.8). - + Try to build the .po -> .mo files during package build. - + Install locale files into bin:package. - + No extra BR on gettext, intltool will pull it in anyway. - - [ Mike DePaulo ] - * New upstream version (0.5.0.0): - - Windows: Set the pyhoca-gui icon on pyhoca-gui.exe (Fixes: #548) - The icon will show up in Task Manager too. - - Windows: Upgrade PulseAudio from 1.1 to 5.0-rev18 from OBS. - Fixes choppy sound in Adobe Flash Player (Fixes: #533) - - Windows: Upgrade from VcXsrv 1.14.2.0 to VcXsrv-xp 1.14.3.2 - Windows: Update nxproxy from 3.5.0.12 to 3.5.0.27 - (linked against latest cygwin packages as of 2014-06-09) - - Windows: Update Python from an earlier version of 2.7.x to 2.7.8 - - Windows: Update wxPython from 2.9.x to 3.0.0.0 - - Windows: Updates/Upgrades to other libraries also - - Windows: List as "PyHoca-GUI (A graphical X2Go client)" - instead of "PyHoca-GUI" in add/remove programs - - Windows: Use Unicode NSIS instead of regular NSIS. - See x2goclient bug #528 for reasoning. - - Windows: Reduce size of NSIS installer by switching to lzma solid compression - - Windows: Numerous other improvements to NSIS installer. - For example, in add/remove programs, add version string, icon, size, etc. - - [ Daniel Lindgren ] - * New upstream version (0.5.0.0): - - Update Swedish translation file. - - [ Ricardo Díaz Martín ] - * New upstream version (0.5.0.0): - - Update Spanish translation file (2x). - - [ Martti Pitkänen ] - * New upstream version (0.5.0.0): - - Add Finnish translation file. - - [ Jos Wolfram ] - * New upstream version (0.5.0.0): - - Update Dutch translation file. - - [ Robert Parts ] - * New upstream version (0.5.0.0): - - Add Estonian translation file. - - [ Klaus Ade Johnstad ] - * New upstream version (0.5.0.0): - - Update Bokmal (Norway) translation file. - - * Translation status: - + UNTRANSLATED - bg: 0 translated messages, 398 untranslated messages. - + INCOMPLETE - da: 350 translated messages, 28 fuzzy translations, 20 untranslated - messages. - + OK - de: 398 translated messages. - + OK - en: 398 translated messages. - + OK - es: 398 translated messages. - + INCOMPLETE - et: 366 translated messages, 32 untranslated messages. - + UNTRANSLATED - fr: 0 translated messages, 398 untranslated messages. - + BROKEN - fi: 0 translated messages, 188 fuzzy translations, 210 untranslated messages. - + OK - nb_NO: 398 translated messages. - + OK - nl: 398 translated messages. - + INCOMPLETE - ru: 351 translated messages, 28 fuzzy translations, 19 untranslated - messages. - + OK - sv: 398 translated messages. - - -- Mike Gabriel Mon, 20 Oct 2014 12:51:05 +0200 - -pyhoca-gui (0.4.0.10-0x2go1) UNRELEASED; urgency=low - - * New upstream release (0.4.0.10): - - Fix referencing backends X2GoServerSessionInfo and X2GoServerSessionList. - - -- Mike Gabriel Wed, 08 Jan 2014 21:28:37 +0100 - -pyhoca-gui (0.4.0.9-0x2go1) unstable; urgency=low - - [ Mike Gabriel ] - * New upstream release (0.4.0.9): - - Make notifications more robust. - - Add support for encrypted/locked/passphrase-protected SSH private key - files. - - Only show notifications if there really is something to show. - - Support encrypted on SSH proxy whith password authentication on X2Go - Server. - - Implement two-factor authentication. - - Don't crash if no notification-daemon provide is registered in DBUS. - (Fixes: #321). - - Become aware of new Python X2Go hook method - (HOOK_on_failing_SFTP_client). - - Become aware of new Python X2Go hook method (HOOK_desktop_sharing_denied). - - Connect to sharable desktop session when selecting the session display - with double click from the list of available desktop sessions. - - Allow multiple PyHoca-GUI instances for the same user, one per $DISPLAY. - - Allow for full path taskbar icon names, resolve tilde char in icon file - path. - - Allow for full path about image icon names, resolve tilde char in icon - file path. - - Resolve tilde char in file path of the about image. - - Resolve tilde char in file path of the splash image. - - Resolve tilde char in base directories for the PyHoca-GUI application. - - Resolve tilde char in session icon names. - - Fix termination of published application sessions. - - Initialize thisPyHocaGUI instance as NoneType object before starting - the wxApplication. - - Slight notification layout change for HOOK_on_control_session_death() method. - - Update German and English translation. - - When installing icons via setup.py, let's use the copied icons rather than - the icon set from icons_symlinked. That assures that really all icons are - present. (The icons_symlinked folder is rather Debianic and not appropriate - for non-Debian derived distributions). - * debian/copyright: - + Update file. Add entry for file icon2exe.py. - * debian/control: - + Recommend mate-notification-daemon (or notification-daemon as fallback). - * debian/source/format: - + Switch to format 1.0. - * pyhoca-gui.spec: - + Ship pyhoca-gui.spec (RPM package definitions) in upstream project. - (Thanks to the Fedora package maintainers). - + Add to BR: python-argparse, python-cups. - - [ Ricardo Díaz Martín ] - * New upstream release (0.4.0.9): - - Update Spanish translation. - - [ Daniel Lindgren ] - * New upstream release (0.4.0.9): - - Update Swedish translation. - - -- Mike Gabriel Wed, 08 Jan 2014 15:20:20 +0100 - -pyhoca-gui (0.4.0.8-0~x2go1) unstable; urgency=low - - * New upstream version (0.4.0.8): - - Fix updating/editing session profiles. - - Throw exceptions on ,,unknown errors'' during authentication when - application is run in debug/libdebug mode. - - -- Mike Gabriel Tue, 27 Aug 2013 18:08:23 +0200 - -pyhoca-gui (0.4.0.7-0~x2go1) unstable; urgency=low - - [ Nicolai Hansen ] - * New upstream version (0.4.0.7): - - Update Danish translation file. - - [ Terje Andersen ] - * New upstream version (0.4.0.7): - - Update Norwegian Bokmaal translation file. - - [ Mike Gabriel ] - * New upstream version (0.4.0.7): - - Add import feature to the session profile manager. - - Update German and English translation files. - - Tolerate blanks during profile name validation. - - Hand over the complete session profile parameter to add_profile() on - profile creation. - * /debian/control: - + Replace LDAP support with session brokerage support in LONG_DESCRIPTION. - + Depend on python-x2go (>= 0.4.0.7). - - [ Dick Kniep ] - * New upstream version (0.4.0.7): - - Update Dutch translation file. - - [ Nable 80 ] - * New upstream version (0.4.0.7): - - Update Russion translation file. - - [ Ricardo Díaz Martín ] - * New upstream version (0.4.0.7): - - Update of Spanish translation file. - - [ Daniel Lindgren ] - * New upstream version (0.4.0.7): - - Update Swedish translation file. - - -- Mike Gabriel Mon, 26 Aug 2013 14:44:29 +0200 - -pyhoca-gui (0.4.0.6-0~x2go1) unstable; urgency=low - - * New upstream version (0.4.0.6): - - Fix AttributeError in setup.py when using py2exe build method. - - Only use default speed if it cannot be obtained from the session profile - configuration. Makes the speed setting now configurable. (Fixes: #274). - - -- Mike Gabriel Tue, 30 Jul 2013 13:19:41 +0200 - -pyhoca-gui (0.4.0.5-0~x2go1) unstable; urgency=low - - * New upstream version (0.4.0.5): - - Make PyHoca-GUI aware of the MATE desktop environment. - * Depend on Python X2Go (>= 0.4.0.6). - - -- Mike Gabriel Sun, 28 Jul 2013 19:50:28 +0200 - -pyhoca-gui (0.4.0.4-0~x2go1) unstable; urgency=low - - * New upstream version (0.4.0.4): - - Allow custom window titles for About...windows. - - Fix size of ,,About...'' windows for Win32 version. - - -- Mike Gabriel Fri, 19 Jul 2013 22:32:33 +0200 - -pyhoca-gui (0.4.0.3-0~x2go1) unstable; urgency=low - - * New upstream version (0.4.0.3): - - On selecting »Unshare All Local Folders« purge all shares from the - »export« session profile parameter if »restoreexports« is set to true - in the session profile. - - Catch SSH Exception for mismatching host keys and make it translatable. - (Fixes: #166). - - Add an ,,About Python X2Go...'' menu item that opens a window providing - information on the Python X2Go source code download location. - - -- Mike Gabriel Fri, 19 Jul 2013 20:50:06 +0200 - -pyhoca-gui (0.4.0.2-0~x2go1) unstable; urgency=low - - * New upstream version (0.4.0.2): - - Make PyHoca-GUI aware of the Cinnamon desktop shell. - - Make sure that there is no KeyException when checking/unchecking the - restoreexports item in the shared folders menu. - * MS Windows specific: - + Use bbfreeze to freeze the Win32 version of PyHoca-GUI. - + Make sure PyHoca-GUI freezing works with gevent 1.0b3 and later. - + Freeze with gui_only enabled, hides the console Window PyHoca-GUI runs in. - + Provide icon2exe.py for adding .ico files to .exe files. Thanks - to the original authors: Giovanni Bajo and previously McMillan - Enterprises, Inc. - + Use TaskBarIcon.ShowBalloon() instead of wx.NotificationMessage for - notifications. Let's us get rid of the multiple notification icons - in the system tray. - + On MS Windows, also use the PyHoca icon in the system tray. - - -- Mike Gabriel Sun, 21 Apr 2013 22:45:46 +0200 - -pyhoca-gui (0.4.0.1-0~x2go1) unstable; urgency=low - - * Fix image installation in setup.py. Thanks to Orion Poplawski for spotting. - - -- Mike Gabriel Wed, 13 Feb 2013 12:50:40 +0100 - -pyhoca-gui (0.4.0.0-0~x2go1) unstable; urgency=low - - [ Orion Poplawski ] - * New upstream version (0.4.0.0): - - Importing all of pyhoca.wxgui in setup.py causes rpmbuild problems due to - DISPLAY not being set. It is overkill as well, causing extra dependencies - to be installed at build time. (Fixes: #91). - - [ Mike Gabriel ] - * Bump version to 0.4.0.0. - * WARNING: starting with version 0.4.0.0 of PyHoca-GUI, PyHoca-CLI and Python - X2Go, all class identifiers are now X2Go..., not X2go... anymore. - * New upstream version (0.4.0.0): - - Add rules to setup.py that install PyHoca-GUI's data files under Linux - (i.e. icons, images, man page, etc.). Thanks to Orion Poplawski for - coming up with an inspiring patch. (Fixes: #92). - - Add support for exporting session profiles and session profile groups. - - Translation source file (.pot) updated. Update of en.po and de.po. - - Drop SSH proxy tunnel configuration parameter. Adapt PyHoca-GUI to the - way X2GoClient configures the SSH proxy settings. (Fixes: #85). - - Add cmdline option --add-to-known-hosts. Add SSH host keys automatically - to the client's known_hosts file. - - Add checkbox for unique host key aliases feature to session profile - manager. - - Show ,,Start RDP sessions'' in menu if RDP (X2Go-proxied) has been - selected as command. - - Give control of auto-starting and auto-resuming fully into the hands - of the session profiles. No extra cmdline options needed anymore to - activate auto-starting/-resuming of sessions. - - Add support for desktop sharing in PyHoca-GUI. Requires X2Go Server - 4.1.0.0 and above. (Fixes: #37). - - Filter out other session types than desktop sessions from the list - of sharable desktops. - - Add dialog box that shows server information (components, add-ons, - features, versions). - - Add »Apply« to session profile manager window. - - Add another tab »Media« to session profile configuration window. - Makes the windows display on netbook screens again (Fixes: #13). - - Become aware of multiple PyHoca-GUI processes being allowed. - Pre-requisited, that each instance runs on its own $DISPLAY - ($DISPLAY detection yet unfinished). - - Fix print dialog box: update the configuration from the GUI widgets - before handing it over to some calling agent. - * /debian/control: - + Thanks to Orion's patch in bug #91 we can drop many build dependencies. - + Versioned Depend: on python-x2go (>= 0.4.0.0-0~). - + Add gnome-colors-common to Build-Depends. - - [ Christoffer Krakou ] - * New upstream version (0.4.0.0): - - Update Danish translation file. - - [ Daniel Lindgren ] - * New upstream version (0.4.0.0): - - Update Swedish translation file. - - [ Dick Kniep ] - * New upstream version (0.4.0.0): - - Update Dutch translation file. - - [ Ricardo Díaz Martín ] - * New upstream version (0.4.0.0): - - Update Spanish translation file. - - [ Terje Andersen ] - * New upstream version (0.4.0.0): - - Update Bokmal (Norway) translation file. - - [ Oleksandr Shneyder ] - * New upstream version (0.4.0.0): - - Update russian translation file. - - -- Mike Gabriel Tue, 12 Feb 2013 11:10:06 +0100 - -pyhoca-gui (0.2.1.1-0~x2go1) unstable; urgency=low - - * New upstream version (0.2.1.1): - - Do not disable the session profile template when creating a session - profile from an already existing session profile. (Fixes: #90). - - Use new feature in Python X2Go 0.2.1.1 that allows the differentiation - of sessions associated to different session profiles. - - -- Mike Gabriel Tue, 18 Dec 2012 12:52:57 +0100 - -pyhoca-gui (0.2.1.0-0~x2go1) unstable; urgency=low - - [ Mike Gabriel ] - * New upstream version (0.2.1.0): - - Session profile file option ,,export'': stay empty if no exports are - definded. - - Make sure RDP (X2Go-proxy) sessions stored by PyHoca-GUI get recognized - as such by X2goClient. - - Make session icon handling more robust, be more compatible with X2Go - Client about the session icon name. Rewrite mistakes pyhoca-gui - (<= 0.2.0.4) did on the icon attribute in the session profile config. - - Make DirectRDP sessions configurable through PyHoca-GUI profile manager. - - Slight change in internal message box API, rename custom_message class - option to msg. - - Add a warning message box that DirectRDP is not yet supported by - PyHoca-GUI. - - Widen session type widget to make sure all widget (also when translated) - fit in. - - Do not offer DirectRDP sessions in profile manager while connected to a - real X2Go server via SSH. - - Configure SSH proxy port in a separate session profile option - (sshproxyport). - - Make sure that SSH proxy port migration works flawlessly. - - Rework session profile manager around SSH proxy settings. Implement - session - profile options ,,sshproxysameuser'' and ,,sshproxysamepass''. - - Rebuild of i18n files, update of en.po and de.po. - - Disable ,,usesshproxy'' for DirectRDP sessions. - - Make ,,maxdim'' option configurable through session profile manager. - - Fix naming mismatch ,,autologin'' vs. ,,autoconnect''. - - Introduce profile manager tab ,,Link Quality''. Move printing into renamed - tab ,,Resource Sharing''. Shrink profile manager window. (Fixes: #13). - - Implement SSH agent, automatic key discovery, and SSH agent authentication - request forwarding in session profile manager. - - Add SSH agent README. - - Rename session type XFCE4 to XFCE (using an unversioned session type name). - - Make pub app session startup more robust. - - Allow autologin and SSH key file at the same time. - - Scale profile manager differently on Windows and Linux (Windows needs - a slightly larger window). - - Profile manager: apply text field height to keyboard configuration radio - buttons. - - Disable SSH agent forwarding for Windows. Code in Python Paramiko is no - executable on MS Windows, currently. - - Use threading.Lock() to prevent from simultaneous calls of the - _init_pubapp_sessions() method. - - Implement functionality for restoring mounted shares on session - resumption / re-start. Sponsored by Dick Kniep, LinDix NL. - - Hide the file sharing submenu if the master session's submenu is currently - disabled due to some current action and an expected session status change. - - If the profile manager is open for a certain session profile, disable - all menu items that relate to this session profile. Re-enable the menu - items again, once the corresponding profile manager window has been - closed. - - Rebuild i18n files prior to release. - * /debian/control: - + Maintainer change in package: X2Go Developers - . - + Add Oleksandr Shneyder to Uploaders. - + Depend on python-x2go (>=0.2.0.11-0~). - + Reduce python version in Build-Depends to allow build against Ubuntu - 10.04. - * /debian/rules: - + Allow package build on systems with missing dh_python2. - * /debian/pyhoca-gui.docs: - + Install README.i18n into package. - - [ Christoffer Krakou ] - * New upstream version (0.2.1.0): - - Add Danish translation. - - Add Danish translation (restoreexports feature). - - [ Daniel Lindgren ] - * New upstream version (0.2.1.0): - - Update Swedish translation file. - - Add Swedish translation for NSIS installer. - - Update Swedish translation file (restoreexports). - - [ Dick Kniep ] - * New upstream version (0.2.1.0): - - Update Dutch translation file. - - [ Ricardo Díaz Martín ] - * New upstream version (0.2.1.0): - - Update Spanish translation file. - - Update Spanish translation file (restoreexports). - - [ Nable ] - * New upstream version (0.2.1.0): - - Add Russian translation for NSIS installer. - - Fine-tune Russion translation. - - [ Terje Andersen ] - * New upstream version (0.2.1.0): - - Update Bokmal (Norway) translation file. - - Update Bokmal (Norway) translation file (restoreexports). - - [ Oleksandr Shneyder ] - * New upstream version (0.2.1.0): - - Add Russian translation. - - Update Russian translation. - - -- Mike Gabriel Mon, 10 Dec 2012 13:06:10 +0100 - -pyhoca-gui (0.2.0.4-0~x2go1) unstable; urgency=low - - * New upstream version (0.2.0.4): - - Add namespace pyhoca to setup.py. - - Avoid Python exception: UnboundLocalError: local variable - 'thisPyHocaGUI' referenced before assignment - * Update packaging files from Debian package. - - -- Mike Gabriel Fri, 17 Aug 2012 16:32:29 +0200 - -pyhoca-gui (0.2.0.3-0~x2go1) unstable; urgency=low - - * New upstream version (0.2.0.3): - - Fix faulty copyright headers in setup.py, pyhoca/wxgui/messages.py - and nsis_template.py. - - -- Mike Gabriel Tue, 24 Jul 2012 02:38:29 +0200 - -pyhoca-gui (0.2.0.2-0~x2go1) unstable; urgency=low - - * New upstream version (0.2.0.2): - - Allow modifications of session icon and shared folder tab while - a session profile is connected. - - Allow SSH ports less than 22 in session profile manager. SSH ports - below port 22 is not that much of a common practice, but it eases - keyboard input in the corresponding wx widgets. - - Avoid KeyError in logon window. - - -- Mike Gabriel Thu, 12 Jul 2012 21:43:33 +0200 - -pyhoca-gui (0.2.0.1-0~x2go1) unstable; urgency=low - - * New upstream version (0.2.0.1): - - Drop Encoding key from .desktop file (deprecated as of latest - FreeDesktop.org specs. - - Fix grammatical error in man page. - - Let logon window and session title window be positioned at top - of screen also for ,,gnome-fallback'' sessions. - - Let logon window and session title window be positioned at top - of screen also for ,,ubuntu-2d'' sessions. - - Provide empty template for the French translation of PyHoca-GUI. - - Let logon window and session title window be positioned at top - of screen also for ,,openbox-gnome'' sessions. - - -- Mike Gabriel Mon, 02 Jul 2012 20:26:40 +0200 - -pyhoca-gui (0.2.0.0-0~x2go1) unstable; urgency=low - - [ Mike Gabriel ] - * New upstream version (0.2.0.0): - - Add XFCE4 support. - - Add support for renaming session window titles from the client-side. - - Add switch that enables/disables custom/server-side session window - titles. - - Add switch that enables/disables default/custom session window title. - - Fix profile manager window size (shrinking for usage on netbooks). - - Existing profiles can be used as templates for new session profiles. - - Session profile menu: allow multi-depth submenu structures, use '/' - as submenu separator item in session profile name. - - Port 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. - - Add extra session menu item: Rename Session Window. - - Show desktop session name in menu for ,,start session'' item. - - Show session window title in session menu. - - Add support for bringing a session window on top of all other - windows (i.e. to foreground). Currently only works on MS Windows. - - Add icons folder ,,icons_symlinked'' for people who will package - PyHoca-GUI on Debian or other Distros that also ship the - gnome-colors-common icon theme. - - Replace non-code string ,,X2go'' by ,,X2Go''. - - Rearrange profile manager. Add one more tab to the profile manager - window. - - Use x2golistmounts to detect server-side unsharing of client-side - folders. - - Remove pointed brackets from new/derived session profile names. - - Introduce master session concept. Only master sessions can mount - client-side folders into a session. Mark master sessions with a - marker ,,(*)''. - - Catch AttributeError during taskbar menu generation that occured - during querying the session command from a non-existent session. - - Enforce startup of rootless session if launching a single application. - - Fix profile manager GUI layout, make default keyboard layout i18n - capable. - - Handle the situation that no printer is installed with CUPS/WinSpool - gracefully. - - Hook methods that notify about non-availabilities around printing, - MIME box, local folder sharing. - - Only allow session window manipulations for sessions that are associated - to the running PyHoca-GUI client. - - Fix icon and button sizes in profile manager. - - Use different textfield sizes for wxMSWin and wxGTK. - - Beautify MIME box configuration block in profile manager. - - Add published applications support. - - Send a libnotify warning if server does not support published - applications. - - Add icon support for the published applications menu (any icon - type except SVGs work). - - On exit only suspend running sessions we are associated with. - - Provide icons for category submenus. - - Provide 'en' as default language if --lang has not been given on the - command line (MS Windows issue). - - Published Applications on MS Windows: icon size is 16x16. - - Catch X2GoSessionRegistryException if used session UUID is not valid - anymore. - - Implement single session profile support (--single-session-profile - boolean command line option). - - Rendering of published applications menu tree has partially been moved - into Python X2Go. - - 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 . - - The maximum number of menu items in published applications mode can now - be specified as a session option for X2goSession instances. - - Fix for CUPS printer recognition if no default printer was defined. - - Add widget to configure autologin and autostart session profile - parameters. - - Auto-resuming and auto-starting of sessions, as well as auto-connecting - to session profiles has been moved into Python X2Go. - - Do not let wx.EndBusyCursor crash the application on Windows. - - Add connect and exit menu items if in single-session-profile mode. - - Properly catch CTRL-C and SIGTERM signals (not working on MS Windows, - yet). - - Make sure application really exits gracefully. - - Provide a separate SetExitHandler function to catch signals from outside - (currently unused, though). - - Windows binary: include pulseaudio 1.1 and vcxsrv 1.12.0.1. - - Provide code for Windows packaging (py2exe, NSIS) in PyHoca-GUI's - setup.py. - - Stdout/stderr diversion when frozen with py2exe: stdout will overwrite - the last log file, stderr will append to the very same file. - - Allow TCP ports higher than 64000 for SSH and sound server connections. - - Be more precise on error causes during SSH authentication. - - Fix cmdline option --restricted-trayicon. - - Add cmdline option --disable-notifications. - - Drop unused cmdline option --username. Introduce new cmdline option - --remember-username. - - Implement X2Go-Top category in .desktop files that get used in the - context of published applications. - - Allow one PyHoca-GUI instance per user, not per system. - - Fix folder path extraction from session profile config if client-side - folders contain a Windows drive letter. - - Update license information and source download location in About-Window. - - Add timeout as **kwarg for prepare method in the Windows notification - API. - - Add menu item ,,Refresh menu tree'' for sessions with published - applications mode. - - Fix/improve --non-interactive command line option. - - When packaging Windows binary with py2exe, use nxproxy-3.5.0.12. - - Fix missing declaration of notificationmessage_NotifierPopup.timeout. - - Make sure the log file on Windows does not grow limitlessly. - - Catch AttributeError in case a published applications session has not yet - fully started. - - Catch and notify command startup failures for published applications - sessions. - - Do not suspend session if profile is disconnected. - - Non-interactive application runs only disconnect/exit for associated - sessions. - - Only auto-resume if session profile is not configured for published - applications. - - Windows packaging: remove dist directory before calling py2exe. - - For empty menu maps create a dummy menu. - - Python gevent will drop gevent.dns in v1.0. Not using it anymore. - - Add options --tray-icon and --tray-icon-connecting to customize the - system tray icon (e.g. for branding). - - Add option --splash-image that allows to name a custom splash image - that gets shown during application startup. - - Only show splash if the splash image file does exist. - - Fallback to default splash image if the custom splash does not exist. - - Do not crash if a provided system tray icon cannot be found. Use a - fallback icon instead. - - os.path.is require string options, not Unicode. - - Add option --about-image. Allow changing the application's name by - renaming (or symlinking) the ,,pyhoca-gui'' script. - - Allow custom commands to be desktop sessions. - - Make new session option keyboard ,,variant'' configurable in profile - manager. - - Re-register available/registered sessions after session profile changes. - - Update man page. - - Let logon and session title window appear at top of screen for pyhoca-gui - running within a Ubuntu Unity session. - - Provide README.Unity that explains how to re-allow the PyHoca-GUI icon in - the systray of the panel. - - Make auto-detected keyboard setup (i.e. usage of x2gosetkeyboard) - configurable in the profile manager. - * Depend on Python X2Go 0.2.0.2. - * Install GNOME icons via dh_links. - * Install X2Go icons with explicit install paths. - * Add /debian/source/options file with entry single-debian-patch. Fix control - file. - * Depend on icons in gnome-colors-common package. - * Include dialog-*.png icons for 64x64 pixel size as they are missing in - gnome-colors-common package. - * Install published applications icons in Debian package. - - [ Terje Andersen ] - * New upstream version (0.2.0.0): - - Add Bokmal (Norway) translation file (not complete, yet). - - [ Daniel Lindgren ] - * New upstream version (0.2.0.0): - - Add Swedish translation file. - - [ Dick Kniep ] - * New upstream version (0.2.0.0): - - Update Dutch translation file. - - [ Ricardo Díaz Martín ] - * New upstream version (0.2.0.0): - - Update Spanish translation file. - - -- Mike Gabriel Sun, 10 Jun 2012 21:19:13 +0200 - -pyhoca-gui (0.1.0.10-0~x2go1) unstable; urgency=low - - * Bugfix release for Windows (0.1.0.10): - - Fix for shared folders tab in profile manager on Windows platform. - - -- Mike Gabriel Wed, 02 Nov 2011 08:41:15 +0100 - -pyhoca-gui (0.1.0.9-0~x2go1) unstable; urgency=low - - * New upstream version (0.1.0.9): - - Add folder unsharing (umount) support. - - Update of en/de translation files. - - Suspend running sessions properly on application exit (or STRG-C in - terminal window if run from the command line). - - Use X2goClient.session_can_auto_connect method to detect if we can use - SSH pubkey authentication. Speeds up appearance of password dialog box. - - Profile manager: x2goclient compat fix, add auto-connect flag for shared - folders. - - Add submenu support for sharing non-auto-connected shared folders. - - Only offer foldering sharing in menus if server provides it. - - Add error message in case logon fails due to a missing home directory on - the remote X2Go server. - - Spanish i18n update. - - Dutch i18n update. - - Update of README.i18n. - - Catch SSHExceptions during interactive authentication. - * Depend on python-x2go (>=0.1.1.8). - - -- Mike Gabriel Tue, 01 Nov 2011 15:39:13 +0100 - -pyhoca-gui (0.1.0.8-0~x2go1) unstable; urgency=low - - * New upstream version (0.1.0.8): - - fix session profile breakage when switching between rootless and - non-rootless sessions, fixes problems with x2goclient after - pyhoca-gui has been used on session profiles that have been switched - from desktop to rootless to desktop. - - x2goclient compat fix: make sure applications property in session - profiles gets always set. - - -- Mike Gabriel Wed, 14 Sep 2011 21:45:19 +0200 - -pyhoca-gui (0.1.0.7-0~x2go1) unstable; urgency=low - - * New upstream version (0.1.0.7) - - minor i18n fixes (de) - - Delaying taskbar icon closure as much as possible. - - Check if print system (CUPS/WinSpool) is available or not. - - On no such command errors, detect if we already have a session_name. If - not, leave it out in the GUI notification. - - Add HOOK_session_startup_failed as a GUI notification (was: exception - raisure), requires Python X2Go >= 0.1.1.5. - - Provide complete list of compression methods, profile manager GUI - improved. - - Fix for usekbd session profile option, it was misinterpreted before... - - -- Mike Gabriel Sun, 11 Sep 2011 18:29:13 +0200 - -pyhoca-gui (0.1.0.6-0~x2go1) unstable; urgency=low - - * New upstream version (0.1.0.6): - - bugfix release. - - unicode fix for Windows notifications - - i18n fixes - - README/TODO update. - - Handle X2goSession failures (SFTP open) during authentication. - * Properly depend on Python X2Go package. - * Depend on Python X2Go 0.1.1.3. - - -- Mike Gabriel Wed, 06 Jul 2011 22:13:14 +0200 - -pyhoca-gui (0.1.0.5-0~x2go1) unstable; urgency=low - - * New upstream version (0.1.0.5): - - bugfix release - - Fix for new color depth filter feature if the session is not registered - any more. - - Add --logon-window-position option that allows custom placing of the logon - window on your desktop. - - Add GUI notification message if a seconed instance of PyHoca-GUI is - started (PyHoca-GUI is already running...) - - Fix for permanently disabled session profile when Cancel button has been - hit in logon window. - - Make tab traversal work in logon window. - - Update i18n (en, de, nl). - - Fix session auto-connecting. - * React to bug Debian bug #627990, prefer man2html-base over man2html. - * Depend on Python X2Go 0.1.1.2 - - -- Mike Gabriel Fri, 01 Jul 2011 13:55:42 +0200 - -pyhoca-gui (0.1.0.4-0~x2go1) unstable; urgency=low - - New upstream version (0.1.0.4): - - minor bug fixes - - only offer resume/transfer session for sessions with correct - color depth. - - -- Mike Gabriel Fri, 24 Jun 2011 01:52:39 +0200 - -pyhoca-gui (0.1.0.3-0~x2go1) unstable; urgency=low - - New upstream version (0.1.0.3): - - Fix utf-8 errors during authentication. - - Release session name on connection errors when greyed out. - - Spawn initial list sessions call into background to unblock I/O - during/after authentication. - * Depend on Python X2Go 0.1.1.0. - - -- Mike Gabriel Thu, 23 Jun 2011 00:45:34 +0200 - -pyhoca-gui (0.1.0.2-0~x2go1) unstable; urgency=low - - * New upstream release (0.1.0.2): - - minor bug fix for authentication of SSH proxy connections - - -- Mike Gabriel Wed, 08 Jun 2011 16:42:48 +0200 - -pyhoca-gui (0.1.0.1-0~x2go1) unstable; urgency=low - - * new upstream release (0.1.0.1): - - fixes session profile menus - * depends on Python X2Go 0.1.0.2 - - -- Mike Gabriel Tue, 31 May 2011 14:40:51 +0200 - -pyhoca-gui (0.1.0.0-0~x2go3) unstable; urgency=low - - * fixes build sequence - - -- Mike Gabriel Thu, 26 May 2011 12:09:59 +0200 - -pyhoca-gui (0.1.0.0-0~x2go2) unstable; urgency=low - - * build-depends on man2html - - -- Mike Gabriel Thu, 26 May 2011 10:34:36 +0200 - -pyhoca-gui (0.1.0.0-0~x2go1) unstable; urgency=low - - * new upstream version (0.1.0.0): - - adds submenu functionality for session profiles list - - adds guidance for managing SSH proxy based profiles - - -- Mike Gabriel Thu, 26 May 2011 08:00:30 +0200 - -pyhoca-gui (0.0.34.1-0~x2go1) unstable; urgency=low - - * new upstream version (0.0.34.1): - - minor fixes - * depends on new Python X2Go release - * adds html version of man page in doc folder - * minor fixes in upstream code - - -- Mike Gabriel Wed, 25 May 2011 19:54:20 +0200 - -pyhoca-gui (0.0.34.0-0~x2go2) unstable; urgency=low - - * fixes dependency on python-x2go - - -- Mike Gabriel Tue, 26 Apr 2011 07:45:33 +0200 - -pyhoca-gui (0.0.34.0-0~x2go1) unstable; urgency=low - - * depending on python-x2go 0.0.43.0 - * new upstream - - renames feature x2godropbox to x2gomimebox - * fixes in debian folder (now builds with pbuilder in clean chroots) - - -- Mike Gabriel Tue, 26 Apr 2011 00:49:36 +0200 - -pyhoca-gui (0.0.33.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low - - * depending on python-x2go 0.0.42.0 - * new upstream - - adds unity-2d support - - purges session list after server disconnect - - Dutch i18n update (thx to Dick Kniep) - - profile manager fixes - - -- Mike Gabriel Mon, 18 Apr 2011 16:05:53 +0200 - -pyhoca-gui (0.0.32.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low - - * depending on python-x2go 0.0.41.0 - * new upstream - - adds --disable-splash cmdline option - - speeds up application bootstrap - - adds --non-interactive cmdline option - - support for Trinity X Desktop sessions - - -- Mike Gabriel Fri, 26 Mar 2011 21:11:27 +0100 - -pyhoca-gui (0.0.31.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low - - * depending on python-x2go 0.0.40.0 - * new upstream - - add confirmation dialog on session profile deletion - - updated Spanish i18n file, thanks to Ricardo Díaz - Martín - - session submenus that process an action will be greyed out - - making sure that splash screen disappears after five secs - - about window can be closed with ESC key - - sorting session and connected profile menus by name - - -- Mike Gabriel Fri, 11 Mar 2011 00:10:00 +0100 - -pyhoca-gui (0.0.30.1-0~nwt1) natty lucid maverick stable testing unstable; urgency=low - - * depending on python-x2go 0.0.39.1 - * new upstream - - enabled printing preferences for non-development versions - - -- Mike Gabriel Tue, 1 Mar 2011 01:10:00 +0100 - -pyhoca-gui (0.0.30.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low - - * depending on python-x2go 0.0.39.0 - * new upstream - - added printing preferences dialog window - - -- Mike Gabriel Tue, 1 Mar 2011 00:40:00 +0100 - -pyhoca-gui (0.0.29.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low - - * depending on python-x2go 0.0.38.0 - * new upstream - - added message box framework - - added SSH host key authorization dialog box - - Ctrl-C is now possible from the command line that runs PyHoca-GUI - - -- Mike Gabriel Sun, 27 Feb 2011 02:50:00 +0100 - -pyhoca-gui (0.0.28.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low - - * depending on python-x2go 0.0.37.0 - * new upstream: - - reworked profile manager layout (added loads of invisible borders) - - -- Mike Gabriel Fri, 25 Feb 2011 17:48:00 +0100 - -pyhoca-gui (0.0.27-0~nwt2) natty lucid maverick stable testing unstable; urgency=low - - * fixed missing i18n translations - - -- Mike Gabriel Tue, 22 Feb 2011 12:55:00 +0100 - -pyhoca-gui (0.0.26-0~nwt2) lucid maverick testing unstable; urgency=low - - * depending on python-x2go (>= 0.0.35) - - -- Mike Gabriel Wed, 19 Jan 2011 18:26:00 +0100 - -pyhoca-gui (0.0.26-0~nwt1) lucid maverick testing unstable; urgency=low - - * added PulseAudio support for Windows (still unstable) - * Unicode / i18n work (Umlaute in profile names, Umlaute in i18n tags) - * work on the Windows version stability - * work on audio setup in profile manager - * now new config files will be created on first application start - * NSIS installer for Windows - - -- Mike Gabriel Wed, 19 Jan 2011 18:25:00 +0100 - -pyhoca-gui (0.0.25-0~nwt2) lucid maverick testing unstable; urgency=low - - * changed maintainer email address - - -- Mike Gabriel Mon, 17 Jan 2011 00:26:00 +0100 - -pyhoca-gui (0.0.25-0~nwt1) lucid maverick testing unstable; urgency=low - - * fixed profile manager for Windows - * layout change on profile manager's session tab - * added i18n support to Windows version - - -- Mike Gabriel Mon, 17 Jan 2011 00:25:00 +0100 - -pyhoca-gui (0.0.24-0~nwt1) lucid maverick testing unstable; urgency=low - - * fixed profile manager window for Windows (and KDE4) - * reworked logon window - - -- Mike Gabriel Fri, 14 Jan 2011 03:54:00 +0100 - -pyhoca-gui (0.0.23-0~nwt1) lucid maverick testing unstable; urgency=low - - * uncommenting debug code - - -- Mike Gabriel Wed, 12 Jan 2011 00:36:00 +0100 - -pyhoca-gui (0.0.22-0~nwt1) lucid maverick testing unstable; urgency=low - - * bugfix for error reporting when a non-X2Go user authenticates - - -- Mike Gabriel Wed, 12 Jan 2011 00:35:00 +0100 - -pyhoca-gui (0.0.21-0~nwt3) lucid maverick testing unstable; urgency=low - - * simple rebuild - - -- Mike Gabriel Tue, 11 Jan 2011 21:40:00 +0100 - -pyhoca-gui (0.0.21-0~nwt2) lucid maverick testing unstable; urgency=low - - * uncommented build_icons, build_help - - -- Mike Gabriel Tue, 11 Jan 2011 21:30:00 +0100 - -pyhoca-gui (0.0.21-0~nwt1) lucid maverick testing unstable; urgency=low - - * added ,,Transfer session'' menu item for running sessions that are not - associated (i.e. running from within PyHoca-GUI) - * now X2goSessionRegistry.update_status() can differentiate between - ,,already running'' sessions (directly after connect) and newly appearing - running sessions while having been connected for quite a while - * added i18n support - * added i18n English translation file en.po - * added i18n German translation file de.po - * added i18n Dutch translation file nl.po - * added i18n Spanish translation file es.po - - -- Mike Gabriel Tue, 11 Jan 2011 14:00:00 +0100 - -pyhoca-gui (0.0.20-0~nwt1) lucid maverick testing unstable; urgency=low - - * profile manager: added encoding support for local folder sharing - * profile manager: removed widgets for fstunnel and soundtunnel (PyHoca-GUI will - always tunnel through SSH) - - -- Mike Gabriel Fri, 31 Dec 2010 23:35:00 +0100 - -pyhoca-gui (0.0.19-0~nwt1) lucid maverick testing unstable; urgency=low - - * bugfix release (add_to_known_hosts / known_hosts issue when using X2goSSHProxy) - - -- Mike Gabriel Fri, 31 Dec 2010 13:35:00 +0100 - -pyhoca-gui (0.0.18-0~nwt1) lucid maverick testing unstable; urgency=low - - * bugfix release (enables profilemanager for release versions) - - -- Mike Gabriel Fri, 31 Dec 2010 02:10:00 +0100 - -pyhoca-gui (0.0.17-0~nwt1) lucid maverick testing unstable; urgency=low - - * updated documentation - * updated man page - - -- Mike Gabriel Fri, 31 Dec 2010 02:00:00 +0100 - -pyhoca-gui (0.0.16-0~nwt3) lucid maverick testing unstable; urgency=low - - * updated Python X2Go dependency - - -- Mike Gabriel Fri, 31 Dec 2010 01:05:00 +0100 - -pyhoca-gui (0.0.16-0~nwt2) lucid maverick testing unstable; urgency=low - - * updated Python X2Go dependency - - -- Mike Gabriel Fri, 31 Dec 2010 00:30:00 +0100 - -pyhoca-gui (0.0.16-0~nwt1) lucid maverick testing unstable; urgency=low - - * implemented profile manager - * using X2goClient HOOL_* methods for notifications - * menu changes - * implemented editing of connected sessions - * implemented local folder sharing for connected sessions - * added XMDCP support (still buggy) - - -- Mike Gabriel Thu, 30 Dec 2010 23:00:00 +0100 - -pyhoca-gui (0.0.15-0~nwt1) lucid maverick testing unstable; urgency=low - - * using setproctitle module to change the process name during runtime - * much work for Windows compatibitity - * Windows: added necessary information for build environment (py2exe) - * Windows: Logon window now understands ENTER and ESC keys - - -- Mike Gabriel Fri, 17 Dec 2010 17:00:00 +0100 - -pyhoca-gui (0.0.14-0~nwt1) lucid maverick testing unstable; urgency=low - - * artwork fine-tuning - * work on Windows code - - -- Mike Gabriel Tue, 14 Dec 2010 18:36:00 +0100 - -pyhoca-gui (0.0.13-0~nwt3) lucid maverick testing unstable; urgency=low - - * fixing image path - - -- Mike Gabriel Tue, 14 Dec 2010 16:21:00 +0100 - -pyhoca-gui (0.0.13-0~nwt1) lucid maverick testing unstable; urgency=low - - * added splash screen - * added ,,About...'' window - * added new artwork from Heinz-M. Graesing - - -- Mike Gabriel Tue, 14 Dec 2010 16:15:00 +0100 - -pyhoca-gui (0.0.12-0~nwt1) lucid maverick testing unstable; urgency=low - - * added MS remote desktop (RDP) support - - -- Mike Gabriel Fri, 10 Dec 2010 21:19:00 +0100 - -pyhoca-gui (0.0.11-0~nwt2) lucid maverick testing unstable; urgency=low - - * added dependencies: wx-common (>=2.8.10.0) and python-wxtools (>=2.8.10.0) - Thanks to Udo Lembke!!! - - -- Mike Gabriel Fri, 10 Dec 2010 17:22:00 +0100 - -pyhoca-gui (0.0.11-0~nwt1) lucid maverick testing unstable; urgency=low - - * forgot to adapt version for Python egg (setup.py) - - -- Mike Gabriel Fri, 10 Dec 2010 13:45:00 +0100 - -pyhoca-gui (0.0.10-0~nwt1) lucid maverick testing unstable; urgency=low - - * depending on Python X2Go 0.0.22 - - -- Mike Gabriel Fri, 10 Dec 2010 13:40:00 +0100 - -pyhoca-gui (0.0.9-0~nwt1) lucid maverick testing unstable; urgency=low - - * reducing CPU usage by factor 2-3 (allowing 25 nxproxy window refreshes - per second, instead of 50) - - -- Mike Gabriel Fri, 10 Dec 2010 12:39:00 +0100 - -pyhoca-gui (0.0.8-0~nwt1) lucid maverick testing unstable; urgency=low - - * reverting back to pixmaps based desktop icon, but now as .svg... - - -- Mike Gabriel Fri, 10 Dec 2010 12:12:00 +0100 - -pyhoca-gui (0.0.7-0~nwt1) lucid maverick testing unstable; urgency=low - - * still fiddling around with desktop icon... - using hicolor folder in /usr/share/icons now - - -- Mike Gabriel Fri, 10 Dec 2010 12:10:00 +0100 - -pyhoca-gui (0.0.6-0~nwt1) lucid maverick testing unstable; urgency=low - - * replacing desktop icon .xpm by .png image - - -- Mike Gabriel Fri, 10 Dec 2010 11:52:00 +0100 - -pyhoca-gui (0.0.5-0~nwt1) lucid maverick testing unstable; urgency=low - - * fixing pixmap desktop icon - - -- Mike Gabriel Fri, 10 Dec 2010 11:50:00 +0100 - -pyhoca-gui (0.0.4-0~nwt1) lucid maverick testing unstable; urgency=low - - * changed handling of icons - * added pixmap for PyHocaGUI app menu item - * changed systray icon - * removed images.py - - -- Mike Gabriel Fri, 10 Dec 2010 11:25:00 +0100 - -pyhoca-gui (0.0.3-0~nwt1) lucid maverick testing unstable; urgency=low - - * really disabled options and profilemanager menu (bugfix) - - -- Mike Gabriel Thu, 09 Dec 2010 23:55:00 +0100 - -pyhoca-gui (0.0.2-0~nwt1) lucid maverick testing unstable; urgency=low - - * bugfix in frontend.py - - -- Mike Gabriel Thu, 09 Dec 2010 23:50:00 +0100 - -pyhoca-gui (0.0.1-0~nwt1) lucid maverick testing unstable; urgency=low - - * initializing PyHoca-GUI .deb package - - -- Mike Gabriel Thu, 09 Dec 2010 23:30:00 +0100 - diff -Nru pyhoca-gui-0.5.0.3/COPYING pyhoca-gui-0.4.0.9/COPYING --- pyhoca-gui-0.5.0.3/COPYING 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/COPYING 1970-01-01 00:00:00.000000000 +0000 @@ -1,661 +0,0 @@ - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. diff -Nru pyhoca-gui-0.5.0.3/debian/bzr-builder.manifest pyhoca-gui-0.4.0.9/debian/bzr-builder.manifest --- pyhoca-gui-0.5.0.3/debian/bzr-builder.manifest 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/bzr-builder.manifest 2015-09-23 07:21:48.000000000 +0000 @@ -0,0 +1,2 @@ +# bzr-builder format 0.3 deb-version {debupstream}-0~1107 +lp:~x2go/x2go/pyhoca-gui_build-baikal revid:git-v1:c465830ea3cea929ce6a88bca057ec99df12bff3 diff -Nru pyhoca-gui-0.5.0.3/debian/changelog pyhoca-gui-0.4.0.9/debian/changelog --- pyhoca-gui-0.5.0.3/debian/changelog 2014-11-27 10:44:41.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/changelog 2015-09-23 07:21:48.000000000 +0000 @@ -1,112 +1,1066 @@ -pyhoca-gui (0.5.0.3-1) unstable; urgency=medium +pyhoca-gui (0.4.0.9-0~1107~ubuntu15.04.1) vivid; urgency=low - * New upstream release. - - Fix Finnish translation (was 100% fuzzy in 0.5.0.2). - - Update Danish translation. - - Minor change in setup.py affecting the MS Windows builds - of PyHoca-GUI. - - Fix wrong mailing list addresses at several locations. - - Update README.i18n, explaining how PyHoca-GUI gets translated - to other languages. - * debian/copyright: - + Update copyright years. + * Auto build. - -- Mike Gabriel Thu, 27 Nov 2014 11:42:35 +0100 + -- Mike Gabriel Wed, 23 Sep 2015 07:21:48 +0000 -pyhoca-gui (0.5.0.2-1) unstable; urgency=medium +pyhoca-gui (0.4.0.9-0x2go1) unstable; urgency=low - * New upstream version. - - Now supports wxPython 3.0. (Closes: #759079). - - Plus many other changes, see upstream ChangeLog. - * debian/upstream/changelog: - + Stop manually shipping upstream ChangeLog files anymore. From now on - provided in upstream tarball. - * debian/control: - + Bump Standards: to 3.9.6. No changes needed. + [ Mike Gabriel ] + * New upstream release (0.4.0.9): + - Make notifications more robust. + - Add support for encrypted/locked/passphrase-protected SSH private key + files. + - Only show notifications if there really is something to show. + - Support encrypted on SSH proxy whith password authentication on X2Go + Server. + - Implement two-factor authentication. + - Don't crash if no notification-daemon provide is registered in DBUS. + (Fixes: #321). + - Become aware of new Python X2Go hook method + (HOOK_on_failing_SFTP_client). + - Become aware of new Python X2Go hook method (HOOK_desktop_sharing_denied). + - Connect to sharable desktop session when selecting the session display + with double click from the list of available desktop sessions. + - Allow multiple PyHoca-GUI instances for the same user, one per $DISPLAY. + - Allow for full path taskbar icon names, resolve tilde char in icon file + path. + - Allow for full path about image icon names, resolve tilde char in icon + file path. + - Resolve tilde char in file path of the about image. + - Resolve tilde char in file path of the splash image. + - Resolve tilde char in base directories for the PyHoca-GUI application. + - Resolve tilde char in session icon names. + - Fix termination of published application sessions. + - Initialize thisPyHocaGUI instance as NoneType object before starting + the wxApplication. + - Slight notification layout change for HOOK_on_control_session_death() method. + - Update German and English translation. + - When installing icons via setup.py, let's use the copied icons rather than + the icon set from icons_symlinked. That assures that really all icons are + present. (The icons_symlinked folder is rather Debianic and not appropriate + for non-Debian derived distributions). + * debian/copyright: + + Update file. Add entry for file icon2exe.py. * debian/control: - + Raise versioned D (pyhoca-gui): python-x2go (>= 0.5.0.0). - + Drop D (pyhoca-gui): wx-common, python-wxtools. - + Add D (pyhoca-gui): python-wxgtk3.0. + + Recommend mate-notification-daemon (or notification-daemon as fallback). + * debian/source/format: + + Switch to format 1.0. + * pyhoca-gui.spec: + + Ship pyhoca-gui.spec (RPM package definitions) in upstream project. + (Thanks to the Fedora package maintainers). + + Add to BR: python-argparse, python-cups. + + [ Ricardo Díaz Martín ] + * New upstream release (0.4.0.9): + - Update Spanish translation. + + [ Daniel Lindgren ] + * New upstream release (0.4.0.9): + - Update Swedish translation. + + -- Mike Gabriel Wed, 08 Jan 2014 15:20:20 +0100 + +pyhoca-gui (0.4.0.8-0~x2go1) unstable; urgency=low + + * New upstream version (0.4.0.8): + - Fix updating/editing session profiles. + - Throw exceptions on ,,unknown errors'' during authentication when + application is run in debug/libdebug mode. + + -- Mike Gabriel Tue, 27 Aug 2013 18:08:23 +0200 + +pyhoca-gui (0.4.0.7-0~x2go1) unstable; urgency=low + + [ Nicolai Hansen ] + * New upstream version (0.4.0.7): + - Update Danish translation file. + + [ Terje Andersen ] + * New upstream version (0.4.0.7): + - Update Norwegian Bokmaal translation file. + + [ Mike Gabriel ] + * New upstream version (0.4.0.7): + - Add import feature to the session profile manager. + - Update German and English translation files. + - Tolerate blanks during profile name validation. + - Hand over the complete session profile parameter to add_profile() on + profile creation. + * /debian/control: + + Replace LDAP support with session brokerage support in LONG_DESCRIPTION. + + Depend on python-x2go (>= 0.4.0.7). - -- Mike Gabriel Tue, 21 Oct 2014 01:28:27 +0200 + [ Dick Kniep ] + * New upstream version (0.4.0.7): + - Update Dutch translation file. + + [ Nable 80 ] + * New upstream version (0.4.0.7): + - Update Russion translation file. + + [ Ricardo Díaz Martín ] + * New upstream version (0.4.0.7): + - Update of Spanish translation file. + + [ Daniel Lindgren ] + * New upstream version (0.4.0.7): + - Update Swedish translation file. + + -- Mike Gabriel Mon, 26 Aug 2013 14:44:29 +0200 + +pyhoca-gui (0.4.0.6-0~x2go1) unstable; urgency=low + + * New upstream version (0.4.0.6): + - Fix AttributeError in setup.py when using py2exe build method. + - Only use default speed if it cannot be obtained from the session profile + configuration. Makes the speed setting now configurable. (Fixes: #274). + + -- Mike Gabriel Tue, 30 Jul 2013 13:19:41 +0200 + +pyhoca-gui (0.4.0.5-0~x2go1) unstable; urgency=low + + * New upstream version (0.4.0.5): + - Make PyHoca-GUI aware of the MATE desktop environment. + * Depend on Python X2Go (>= 0.4.0.6). + + -- Mike Gabriel Sun, 28 Jul 2013 19:50:28 +0200 + +pyhoca-gui (0.4.0.4-0~x2go1) unstable; urgency=low + + * New upstream version (0.4.0.4): + - Allow custom window titles for About...windows. + - Fix size of ,,About...'' windows for Win32 version. + + -- Mike Gabriel Fri, 19 Jul 2013 22:32:33 +0200 + +pyhoca-gui (0.4.0.3-0~x2go1) unstable; urgency=low + + * New upstream version (0.4.0.3): + - On selecting »Unshare All Local Folders« purge all shares from the + »export« session profile parameter if »restoreexports« is set to true + in the session profile. + - Catch SSH Exception for mismatching host keys and make it translatable. + (Fixes: #166). + - Add an ,,About Python X2Go...'' menu item that opens a window providing + information on the Python X2Go source code download location. + + -- Mike Gabriel Fri, 19 Jul 2013 20:50:06 +0200 + +pyhoca-gui (0.4.0.2-0~x2go1) unstable; urgency=low + + * New upstream version (0.4.0.2): + - Make PyHoca-GUI aware of the Cinnamon desktop shell. + - Make sure that there is no KeyException when checking/unchecking the + restoreexports item in the shared folders menu. + * MS Windows specific: + + Use bbfreeze to freeze the Win32 version of PyHoca-GUI. + + Make sure PyHoca-GUI freezing works with gevent 1.0b3 and later. + + Freeze with gui_only enabled, hides the console Window PyHoca-GUI runs in. + + Provide icon2exe.py for adding .ico files to .exe files. Thanks + to the original authors: Giovanni Bajo and previously McMillan + Enterprises, Inc. + + Use TaskBarIcon.ShowBalloon() instead of wx.NotificationMessage for + notifications. Let's us get rid of the multiple notification icons + in the system tray. + + On MS Windows, also use the PyHoca icon in the system tray. + + -- Mike Gabriel Sun, 21 Apr 2013 22:45:46 +0200 + +pyhoca-gui (0.4.0.1-0~x2go1) unstable; urgency=low + + * Fix image installation in setup.py. Thanks to Orion Poplawski for spotting. + + -- Mike Gabriel Wed, 13 Feb 2013 12:50:40 +0100 + +pyhoca-gui (0.4.0.0-0~x2go1) unstable; urgency=low + + [ Orion Poplawski ] + * New upstream version (0.4.0.0): + - Importing all of pyhoca.wxgui in setup.py causes rpmbuild problems due to + DISPLAY not being set. It is overkill as well, causing extra dependencies + to be installed at build time. (Fixes: #91). + + [ Mike Gabriel ] + * Bump version to 0.4.0.0. + * WARNING: starting with version 0.4.0.0 of PyHoca-GUI, PyHoca-CLI and Python + X2Go, all class identifiers are now X2Go..., not X2go... anymore. + * New upstream version (0.4.0.0): + - Add rules to setup.py that install PyHoca-GUI's data files under Linux + (i.e. icons, images, man page, etc.). Thanks to Orion Poplawski for + coming up with an inspiring patch. (Fixes: #92). + - Add support for exporting session profiles and session profile groups. + - Translation source file (.pot) updated. Update of en.po and de.po. + - Drop SSH proxy tunnel configuration parameter. Adapt PyHoca-GUI to the + way X2GoClient configures the SSH proxy settings. (Fixes: #85). + - Add cmdline option --add-to-known-hosts. Add SSH host keys automatically + to the client's known_hosts file. + - Add checkbox for unique host key aliases feature to session profile + manager. + - Show ,,Start RDP sessions'' in menu if RDP (X2Go-proxied) has been + selected as command. + - Give control of auto-starting and auto-resuming fully into the hands + of the session profiles. No extra cmdline options needed anymore to + activate auto-starting/-resuming of sessions. + - Add support for desktop sharing in PyHoca-GUI. Requires X2Go Server + 4.1.0.0 and above. (Fixes: #37). + - Filter out other session types than desktop sessions from the list + of sharable desktops. + - Add dialog box that shows server information (components, add-ons, + features, versions). + - Add »Apply« to session profile manager window. + - Add another tab »Media« to session profile configuration window. + Makes the windows display on netbook screens again (Fixes: #13). + - Become aware of multiple PyHoca-GUI processes being allowed. + Pre-requisited, that each instance runs on its own $DISPLAY + ($DISPLAY detection yet unfinished). + - Fix print dialog box: update the configuration from the GUI widgets + before handing it over to some calling agent. + * /debian/control: + + Thanks to Orion's patch in bug #91 we can drop many build dependencies. + + Versioned Depend: on python-x2go (>= 0.4.0.0-0~). + + Add gnome-colors-common to Build-Depends. + + [ Christoffer Krakou ] + * New upstream version (0.4.0.0): + - Update Danish translation file. + + [ Daniel Lindgren ] + * New upstream version (0.4.0.0): + - Update Swedish translation file. + + [ Dick Kniep ] + * New upstream version (0.4.0.0): + - Update Dutch translation file. + + [ Ricardo Díaz Martín ] + * New upstream version (0.4.0.0): + - Update Spanish translation file. + + [ Terje Andersen ] + * New upstream version (0.4.0.0): + - Update Bokmal (Norway) translation file. + + [ Oleksandr Shneyder ] + * New upstream version (0.4.0.0): + - Update russian translation file. + + -- Mike Gabriel Tue, 12 Feb 2013 11:10:06 +0100 + +pyhoca-gui (0.2.1.1-0~x2go1) unstable; urgency=low + + * New upstream version (0.2.1.1): + - Do not disable the session profile template when creating a session + profile from an already existing session profile. (Fixes: #90). + - Use new feature in Python X2Go 0.2.1.1 that allows the differentiation + of sessions associated to different session profiles. + + -- Mike Gabriel Tue, 18 Dec 2012 12:52:57 +0100 + +pyhoca-gui (0.2.1.0-0~x2go1) unstable; urgency=low + + [ Mike Gabriel ] + * New upstream version (0.2.1.0): + - Session profile file option ,,export'': stay empty if no exports are + definded. + - Make sure RDP (X2Go-proxy) sessions stored by PyHoca-GUI get recognized + as such by X2goClient. + - Make session icon handling more robust, be more compatible with X2Go + Client about the session icon name. Rewrite mistakes pyhoca-gui + (<= 0.2.0.4) did on the icon attribute in the session profile config. + - Make DirectRDP sessions configurable through PyHoca-GUI profile manager. + - Slight change in internal message box API, rename custom_message class + option to msg. + - Add a warning message box that DirectRDP is not yet supported by + PyHoca-GUI. + - Widen session type widget to make sure all widget (also when translated) + fit in. + - Do not offer DirectRDP sessions in profile manager while connected to a + real X2Go server via SSH. + - Configure SSH proxy port in a separate session profile option + (sshproxyport). + - Make sure that SSH proxy port migration works flawlessly. + - Rework session profile manager around SSH proxy settings. Implement + session + profile options ,,sshproxysameuser'' and ,,sshproxysamepass''. + - Rebuild of i18n files, update of en.po and de.po. + - Disable ,,usesshproxy'' for DirectRDP sessions. + - Make ,,maxdim'' option configurable through session profile manager. + - Fix naming mismatch ,,autologin'' vs. ,,autoconnect''. + - Introduce profile manager tab ,,Link Quality''. Move printing into renamed + tab ,,Resource Sharing''. Shrink profile manager window. (Fixes: #13). + - Implement SSH agent, automatic key discovery, and SSH agent authentication + request forwarding in session profile manager. + - Add SSH agent README. + - Rename session type XFCE4 to XFCE (using an unversioned session type name). + - Make pub app session startup more robust. + - Allow autologin and SSH key file at the same time. + - Scale profile manager differently on Windows and Linux (Windows needs + a slightly larger window). + - Profile manager: apply text field height to keyboard configuration radio + buttons. + - Disable SSH agent forwarding for Windows. Code in Python Paramiko is no + executable on MS Windows, currently. + - Use threading.Lock() to prevent from simultaneous calls of the + _init_pubapp_sessions() method. + - Implement functionality for restoring mounted shares on session + resumption / re-start. Sponsored by Dick Kniep, LinDix NL. + - Hide the file sharing submenu if the master session's submenu is currently + disabled due to some current action and an expected session status change. + - If the profile manager is open for a certain session profile, disable + all menu items that relate to this session profile. Re-enable the menu + items again, once the corresponding profile manager window has been + closed. + * /debian/control: + + Maintainer change in package: X2Go Developers + . + + Add Oleksandr Shneyder to Uploaders. + + Depend on python-x2go (>=0.2.0.11-0~). + + Reduce python version in Build-Depends to allow build against Ubuntu + 10.04. + * /debian/rules: + + Allow package build on systems with missing dh_python2. + * /debian/pyhoca-gui.docs: + + Install README.i18n into package. -pyhoca-gui (0.4.0.9-1) unstable; urgency=medium + [ Christoffer Krakou ] + * New upstream version (0.2.1.0): + - Add Danish translation. + - Add Danish translation (restoreexports feature). - * New upstream release. - * debian/control: - + Bump Standards: to 3.9.5. No changes needed. - + Upgrade versioned D (python-x2go): 0.4.0.8 -> 0.4.0.9. - + Drop from B-D: python-support. - + Drop from D (pyhoca-gui): python-support. - * debian/watch: - + Add cryptographic signature verification for upstream tarball. - * Update upstream changelog. + [ Daniel Lindgren ] + * New upstream version (0.2.1.0): + - Update Swedish translation file. + - Add Swedish translation for NSIS installer. + - Update Swedish translation file (restoreexports). - -- Mike Gabriel Wed, 06 Aug 2014 18:11:16 +0200 + [ Dick Kniep ] + * New upstream version (0.2.1.0): + - Update Dutch translation file. -pyhoca-gui (0.4.0.8-1) unstable; urgency=low + [ Ricardo Díaz Martín ] + * New upstream version (0.2.1.0): + - Update Spanish translation file. + - Update Spanish translation file (restoreexports). - * New upstream release. - * /debian/control: - + Canonicalize Vcs-*: fields (Alioth Git). - + Replace "LDAP support" by "session brokerage support" in - LONG_DESCRIPTION. + [ Nable ] + * New upstream version (0.2.1.0): + - Add Russian translation for NSIS installer. + - Fine-tune Russion translation. - -- Mike Gabriel Tue, 03 Sep 2013 01:55:55 +0200 + [ Terje Andersen ] + * New upstream version (0.2.1.0): + - Update Bokmal (Norway) translation file. + - Update Bokmal (Norway) translation file (restoreexports). -pyhoca-gui (0.4.0.4-1) unstable; urgency=low + [ Oleksandr Shneyder ] + * New upstream version (0.2.1.0): + - Add Russian translation. + - Update Russian translation. - * New upstream release. + -- Mike Gabriel Mon, 10 Dec 2012 13:06:10 +0100 - -- Mike Gabriel Sat, 20 Jul 2013 00:27:02 +0200 +pyhoca-gui (0.2.0.4-0~x2go1) unstable; urgency=low -pyhoca-gui (0.4.0.2-1) unstable; urgency=low + * New upstream version (0.2.0.4): + - Add namespace pyhoca to setup.py. + - Avoid Python exception: UnboundLocalError: local variable + 'thisPyHocaGUI' referenced before assignment + * Update packaging files from Debian package. - * New upstream release. - * /debian/control: - + Use my DD address in Uploaders: field. - + Bump Standards: to 3.9.4, no changes needed. - + Versioned Depend: on python-x2go (>= 0.4.0.3-0~). - * /debian/copyright: - + Place packaging files under AGPL-3+ license, so that the packaging - license is identical to the upstream license. - + Add copyright stanza for new file: icon2exe.py. - * Raise compat level to 9. No changes needed. + -- Mike Gabriel Fri, 17 Aug 2012 16:32:29 +0200 - -- Mike Gabriel Mon, 22 Apr 2013 00:09:45 +0200 +pyhoca-gui (0.2.0.3-0~x2go1) unstable; urgency=low -pyhoca-gui (0.4.0.1-1) unstable; urgency=low + * New upstream version (0.2.0.3): + - Fix faulty copyright headers in setup.py, pyhoca/wxgui/messages.py + and nsis_template.py. - * New upstream release. - * /debian/control: - + Drop several build dependencies due to a change in setup.py when retrieving - the egg version. - + Versioned Depend: python-x2go (>= 0.4.0.2-0~). - * /debian/pyhoca-gui.links: - + Add some more symlinks referring to official GNOME icons. + -- Mike Gabriel Tue, 24 Jul 2012 02:38:29 +0200 - -- Mike Gabriel Sun, 03 Mar 2013 16:51:04 +0100 +pyhoca-gui (0.2.0.2-0~x2go1) unstable; urgency=low -pyhoca-gui (0.2.1.0-1) unstable; urgency=low + * New upstream version (0.2.0.2): + - Allow modifications of session icon and shared folder tab while + a session profile is connected. + - Allow SSH ports less than 22 in session profile manager. SSH ports + below port 22 is not that much of a common practice, but it eases + keyboard input in the corresponding wx widgets. + - Avoid KeyError in logon window. - * New upstream release. - * /debian/control: - + Depend on python-x2go (>= 0.2.1.0-0~). - + Build-depend on python-x2go (>= 0.2.1.0-0~). + -- Mike Gabriel Thu, 12 Jul 2012 21:43:33 +0200 - -- Mike Gabriel Tue, 11 Dec 2012 14:26:34 +0100 +pyhoca-gui (0.2.0.1-0~x2go1) unstable; urgency=low -pyhoca-gui (0.2.0.4-1) unstable; urgency=low + * New upstream version (0.2.0.1): + - Drop Encoding key from .desktop file (deprecated as of latest + FreeDesktop.org specs. + - Fix grammatical error in man page. + - Let logon window and session title window be positioned at top + of screen also for ,,gnome-fallback'' sessions. + - Let logon window and session title window be positioned at top + of screen also for ,,ubuntu-2d'' sessions. + - Provide empty template for the French translation of PyHoca-GUI. + - Let logon window and session title window be positioned at top + of screen also for ,,openbox-gnome'' sessions. - * New upstream release. (Closes: #684733). - * /debian/control: - + Versioned Build-Depends on python (>= 2.6.6-14~). - + Add ${python:Depends} to Depends. + -- Mike Gabriel Mon, 02 Jul 2012 20:26:40 +0200 + +pyhoca-gui (0.2.0.0-0~x2go1) unstable; urgency=low + + [ Mike Gabriel ] + * New upstream version (0.2.0.0): + - Add XFCE4 support. + - Add support for renaming session window titles from the client-side. + - Add switch that enables/disables custom/server-side session window + titles. + - Add switch that enables/disables default/custom session window title. + - Fix profile manager window size (shrinking for usage on netbooks). + - Existing profiles can be used as templates for new session profiles. + - Session profile menu: allow multi-depth submenu structures, use '/' + as submenu separator item in session profile name. + - Port 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. + - Add extra session menu item: Rename Session Window. + - Show desktop session name in menu for ,,start session'' item. + - Show session window title in session menu. + - Add support for bringing a session window on top of all other + windows (i.e. to foreground). Currently only works on MS Windows. + - Add icons folder ,,icons_symlinked'' for people who will package + PyHoca-GUI on Debian or other Distros that also ship the + gnome-colors-common icon theme. + - Replace non-code string ,,X2go'' by ,,X2Go''. + - Rearrange profile manager. Add one more tab to the profile manager + window. + - Use x2golistmounts to detect server-side unsharing of client-side + folders. + - Remove pointed brackets from new/derived session profile names. + - Introduce master session concept. Only master sessions can mount + client-side folders into a session. Mark master sessions with a + marker ,,(*)''. + - Catch AttributeError during taskbar menu generation that occured + during querying the session command from a non-existent session. + - Enforce startup of rootless session if launching a single application. + - Fix profile manager GUI layout, make default keyboard layout i18n + capable. + - Handle the situation that no printer is installed with CUPS/WinSpool + gracefully. + - Hook methods that notify about non-availabilities around printing, + MIME box, local folder sharing. + - Only allow session window manipulations for sessions that are associated + to the running PyHoca-GUI client. + - Fix icon and button sizes in profile manager. + - Use different textfield sizes for wxMSWin and wxGTK. + - Beautify MIME box configuration block in profile manager. + - Add published applications support. + - Send a libnotify warning if server does not support published + applications. + - Add icon support for the published applications menu (any icon + type except SVGs work). + - On exit only suspend running sessions we are associated with. + - Provide icons for category submenus. + - Provide 'en' as default language if --lang has not been given on the + command line (MS Windows issue). + - Published Applications on MS Windows: icon size is 16x16. + - Catch X2GoSessionRegistryException if used session UUID is not valid + anymore. + - Implement single session profile support (--single-session-profile + boolean command line option). + - Rendering of published applications menu tree has partially been moved + into Python X2Go. + - 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 . + - The maximum number of menu items in published applications mode can now + be specified as a session option for X2goSession instances. + - Fix for CUPS printer recognition if no default printer was defined. + - Add widget to configure autologin and autostart session profile + parameters. + - Auto-resuming and auto-starting of sessions, as well as auto-connecting + to session profiles has been moved into Python X2Go. + - Do not let wx.EndBusyCursor crash the application on Windows. + - Add connect and exit menu items if in single-session-profile mode. + - Properly catch CTRL-C and SIGTERM signals (not working on MS Windows, + yet). + - Make sure application really exits gracefully. + - Provide a separate SetExitHandler function to catch signals from outside + (currently unused, though). + - Windows binary: include pulseaudio 1.1 and vcxsrv 1.12.0.1. + - Provide code for Windows packaging (py2exe, NSIS) in PyHoca-GUI's + setup.py. + - Stdout/stderr diversion when frozen with py2exe: stdout will overwrite + the last log file, stderr will append to the very same file. + - Allow TCP ports higher than 64000 for SSH and sound server connections. + - Be more precise on error causes during SSH authentication. + - Fix cmdline option --restricted-trayicon. + - Add cmdline option --disable-notifications. + - Drop unused cmdline option --username. Introduce new cmdline option + --remember-username. + - Implement X2Go-Top category in .desktop files that get used in the + context of published applications. + - Allow one PyHoca-GUI instance per user, not per system. + - Fix folder path extraction from session profile config if client-side + folders contain a Windows drive letter. + - Update license information and source download location in About-Window. + - Add timeout as **kwarg for prepare method in the Windows notification + API. + - Add menu item ,,Refresh menu tree'' for sessions with published + applications mode. + - Fix/improve --non-interactive command line option. + - When packaging Windows binary with py2exe, use nxproxy-3.5.0.12. + - Fix missing declaration of notificationmessage_NotifierPopup.timeout. + - Make sure the log file on Windows does not grow limitlessly. + - Catch AttributeError in case a published applications session has not yet + fully started. + - Catch and notify command startup failures for published applications + sessions. + - Do not suspend session if profile is disconnected. + - Non-interactive application runs only disconnect/exit for associated + sessions. + - Only auto-resume if session profile is not configured for published + applications. + - Windows packaging: remove dist directory before calling py2exe. + - For empty menu maps create a dummy menu. + - Python gevent will drop gevent.dns in v1.0. Not using it anymore. + - Add options --tray-icon and --tray-icon-connecting to customize the + system tray icon (e.g. for branding). + - Add option --splash-image that allows to name a custom splash image + that gets shown during application startup. + - Only show splash if the splash image file does exist. + - Fallback to default splash image if the custom splash does not exist. + - Do not crash if a provided system tray icon cannot be found. Use a + fallback icon instead. + - os.path.is require string options, not Unicode. + - Add option --about-image. Allow changing the application's name by + renaming (or symlinking) the ,,pyhoca-gui'' script. + - Allow custom commands to be desktop sessions. + - Make new session option keyboard ,,variant'' configurable in profile + manager. + - Re-register available/registered sessions after session profile changes. + - Update man page. + - Let logon and session title window appear at top of screen for pyhoca-gui + running within a Ubuntu Unity session. + - Provide README.Unity that explains how to re-allow the PyHoca-GUI icon in + the systray of the panel. + - Make auto-detected keyboard setup (i.e. usage of x2gosetkeyboard) + configurable in the profile manager. + * Depend on Python X2Go 0.2.0.2. + * Install GNOME icons via dh_links. + * Install X2Go icons with explicit install paths. + * Add /debian/source/options file with entry single-debian-patch. Fix control + file. + * Depend on icons in gnome-colors-common package. + * Include dialog-*.png icons for 64x64 pixel size as they are missing in + gnome-colors-common package. + * Install published applications icons in Debian package. + + [ Terje Andersen ] + * New upstream version (0.2.0.0): + - Add Bokmal (Norway) translation file (not complete, yet). + + [ Daniel Lindgren ] + * New upstream version (0.2.0.0): + - Add Swedish translation file. + + [ Dick Kniep ] + * New upstream version (0.2.0.0): + - Update Dutch translation file. + + [ Ricardo Díaz Martín ] + * New upstream version (0.2.0.0): + - Update Spanish translation file. + + -- Mike Gabriel Sun, 10 Jun 2012 21:19:13 +0200 + +pyhoca-gui (0.1.0.10-0~x2go1) unstable; urgency=low + + * Bugfix release for Windows (0.1.0.10): + - Fix for shared folders tab in profile manager on Windows platform. + + -- Mike Gabriel Wed, 02 Nov 2011 08:41:15 +0100 + +pyhoca-gui (0.1.0.9-0~x2go1) unstable; urgency=low + + * New upstream version (0.1.0.9): + - Add folder unsharing (umount) support. + - Update of en/de translation files. + - Suspend running sessions properly on application exit (or STRG-C in + terminal window if run from the command line). + - Use X2goClient.session_can_auto_connect method to detect if we can use + SSH pubkey authentication. Speeds up appearance of password dialog box. + - Profile manager: x2goclient compat fix, add auto-connect flag for shared + folders. + - Add submenu support for sharing non-auto-connected shared folders. + - Only offer foldering sharing in menus if server provides it. + - Add error message in case logon fails due to a missing home directory on + the remote X2Go server. + - Spanish i18n update. + - Dutch i18n update. + - Update of README.i18n. + - Catch SSHExceptions during interactive authentication. + * Depend on python-x2go (>=0.1.1.8). + + -- Mike Gabriel Tue, 01 Nov 2011 15:39:13 +0100 + +pyhoca-gui (0.1.0.8-0~x2go1) unstable; urgency=low + + * New upstream version (0.1.0.8): + - fix session profile breakage when switching between rootless and + non-rootless sessions, fixes problems with x2goclient after + pyhoca-gui has been used on session profiles that have been switched + from desktop to rootless to desktop. + - x2goclient compat fix: make sure applications property in session + profiles gets always set. + + -- Mike Gabriel Wed, 14 Sep 2011 21:45:19 +0200 + +pyhoca-gui (0.1.0.7-0~x2go1) unstable; urgency=low + + * New upstream version (0.1.0.7) + - minor i18n fixes (de) + - Delaying taskbar icon closure as much as possible. + - Check if print system (CUPS/WinSpool) is available or not. + - On no such command errors, detect if we already have a session_name. If + not, leave it out in the GUI notification. + - Add HOOK_session_startup_failed as a GUI notification (was: exception + raisure), requires Python X2Go >= 0.1.1.5. + - Provide complete list of compression methods, profile manager GUI + improved. + - Fix for usekbd session profile option, it was misinterpreted before... + + -- Mike Gabriel Sun, 11 Sep 2011 18:29:13 +0200 + +pyhoca-gui (0.1.0.6-0~x2go1) unstable; urgency=low + + * New upstream version (0.1.0.6): + - bugfix release. + - unicode fix for Windows notifications + - i18n fixes + - README/TODO update. + - Handle X2goSession failures (SFTP open) during authentication. + * Properly depend on Python X2Go package. + * Depend on Python X2Go 0.1.1.3. + + -- Mike Gabriel Wed, 06 Jul 2011 22:13:14 +0200 + +pyhoca-gui (0.1.0.5-0~x2go1) unstable; urgency=low + + * New upstream version (0.1.0.5): + - bugfix release + - Fix for new color depth filter feature if the session is not registered + any more. + - Add --logon-window-position option that allows custom placing of the logon + window on your desktop. + - Add GUI notification message if a seconed instance of PyHoca-GUI is + started (PyHoca-GUI is already running...) + - Fix for permanently disabled session profile when Cancel button has been + hit in logon window. + - Make tab traversal work in logon window. + - Update i18n (en, de, nl). + - Fix session auto-connecting. + * React to bug Debian bug #627990, prefer man2html-base over man2html. + * Depend on Python X2Go 0.1.1.2 + + -- Mike Gabriel Fri, 01 Jul 2011 13:55:42 +0200 + +pyhoca-gui (0.1.0.4-0~x2go1) unstable; urgency=low + + New upstream version (0.1.0.4): + - minor bug fixes + - only offer resume/transfer session for sessions with correct + color depth. + + -- Mike Gabriel Fri, 24 Jun 2011 01:52:39 +0200 + +pyhoca-gui (0.1.0.3-0~x2go1) unstable; urgency=low + + New upstream version (0.1.0.3): + - Fix utf-8 errors during authentication. + - Release session name on connection errors when greyed out. + - Spawn initial list sessions call into background to unblock I/O + during/after authentication. + * Depend on Python X2Go 0.1.1.0. + + -- Mike Gabriel Thu, 23 Jun 2011 00:45:34 +0200 + +pyhoca-gui (0.1.0.2-0~x2go1) unstable; urgency=low + + * New upstream release (0.1.0.2): + - minor bug fix for authentication of SSH proxy connections + + -- Mike Gabriel Wed, 08 Jun 2011 16:42:48 +0200 + +pyhoca-gui (0.1.0.1-0~x2go1) unstable; urgency=low + + * new upstream release (0.1.0.1): + - fixes session profile menus + * depends on Python X2Go 0.1.0.2 + + -- Mike Gabriel Tue, 31 May 2011 14:40:51 +0200 + +pyhoca-gui (0.1.0.0-0~x2go3) unstable; urgency=low + + * fixes build sequence + + -- Mike Gabriel Thu, 26 May 2011 12:09:59 +0200 + +pyhoca-gui (0.1.0.0-0~x2go2) unstable; urgency=low + + * build-depends on man2html + + -- Mike Gabriel Thu, 26 May 2011 10:34:36 +0200 + +pyhoca-gui (0.1.0.0-0~x2go1) unstable; urgency=low + + * new upstream version (0.1.0.0): + - adds submenu functionality for session profiles list + - adds guidance for managing SSH proxy based profiles + + -- Mike Gabriel Thu, 26 May 2011 08:00:30 +0200 + +pyhoca-gui (0.0.34.1-0~x2go1) unstable; urgency=low + + * new upstream version (0.0.34.1): + - minor fixes + * depends on new Python X2Go release + * adds html version of man page in doc folder + * minor fixes in upstream code + + -- Mike Gabriel Wed, 25 May 2011 19:54:20 +0200 + +pyhoca-gui (0.0.34.0-0~x2go2) unstable; urgency=low + + * fixes dependency on python-x2go + + -- Mike Gabriel Tue, 26 Apr 2011 07:45:33 +0200 + +pyhoca-gui (0.0.34.0-0~x2go1) unstable; urgency=low + + * depending on python-x2go 0.0.43.0 + * new upstream + - renames feature x2godropbox to x2gomimebox + * fixes in debian folder (now builds with pbuilder in clean chroots) + + -- Mike Gabriel Tue, 26 Apr 2011 00:49:36 +0200 + +pyhoca-gui (0.0.33.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low + + * depending on python-x2go 0.0.42.0 + * new upstream + - adds unity-2d support + - purges session list after server disconnect + - Dutch i18n update (thx to Dick Kniep) + - profile manager fixes + + -- Mike Gabriel Mon, 18 Apr 2011 16:05:53 +0200 + +pyhoca-gui (0.0.32.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low + + * depending on python-x2go 0.0.41.0 + * new upstream + - adds --disable-splash cmdline option + - speeds up application bootstrap + - adds --non-interactive cmdline option + - support for Trinity X Desktop sessions + + -- Mike Gabriel Fri, 26 Mar 2011 21:11:27 +0100 + +pyhoca-gui (0.0.31.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low + + * depending on python-x2go 0.0.40.0 + * new upstream + - add confirmation dialog on session profile deletion + - updated Spanish i18n file, thanks to Ricardo Díaz + Martín + - session submenus that process an action will be greyed out + - making sure that splash screen disappears after five secs + - about window can be closed with ESC key + - sorting session and connected profile menus by name + + -- Mike Gabriel Fri, 11 Mar 2011 00:10:00 +0100 + +pyhoca-gui (0.0.30.1-0~nwt1) natty lucid maverick stable testing unstable; urgency=low + + * depending on python-x2go 0.0.39.1 + * new upstream + - enabled printing preferences for non-development versions + + -- Mike Gabriel Tue, 1 Mar 2011 01:10:00 +0100 + +pyhoca-gui (0.0.30.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low + + * depending on python-x2go 0.0.39.0 + * new upstream + - added printing preferences dialog window + + -- Mike Gabriel Tue, 1 Mar 2011 00:40:00 +0100 + +pyhoca-gui (0.0.29.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low + + * depending on python-x2go 0.0.38.0 + * new upstream + - added message box framework + - added SSH host key authorization dialog box + - Ctrl-C is now possible from the command line that runs PyHoca-GUI + + -- Mike Gabriel Sun, 27 Feb 2011 02:50:00 +0100 + +pyhoca-gui (0.0.28.0-0~nwt1) natty lucid maverick stable testing unstable; urgency=low + + * depending on python-x2go 0.0.37.0 + * new upstream: + - reworked profile manager layout (added loads of invisible borders) + + -- Mike Gabriel Fri, 25 Feb 2011 17:48:00 +0100 + +pyhoca-gui (0.0.27-0~nwt2) natty lucid maverick stable testing unstable; urgency=low + + * fixed missing i18n translations + + -- Mike Gabriel Tue, 22 Feb 2011 12:55:00 +0100 + +pyhoca-gui (0.0.26-0~nwt2) lucid maverick testing unstable; urgency=low + + * depending on python-x2go (>= 0.0.35) + + -- Mike Gabriel Wed, 19 Jan 2011 18:26:00 +0100 + +pyhoca-gui (0.0.26-0~nwt1) lucid maverick testing unstable; urgency=low + + * added PulseAudio support for Windows (still unstable) + * Unicode / i18n work (Umlaute in profile names, Umlaute in i18n tags) + * work on the Windows version stability + * work on audio setup in profile manager + * now new config files will be created on first application start + * NSIS installer for Windows + + -- Mike Gabriel Wed, 19 Jan 2011 18:25:00 +0100 + +pyhoca-gui (0.0.25-0~nwt2) lucid maverick testing unstable; urgency=low + + * changed maintainer email address + + -- Mike Gabriel Mon, 17 Jan 2011 00:26:00 +0100 + +pyhoca-gui (0.0.25-0~nwt1) lucid maverick testing unstable; urgency=low + + * fixed profile manager for Windows + * layout change on profile manager's session tab + * added i18n support to Windows version + + -- Mike Gabriel Mon, 17 Jan 2011 00:25:00 +0100 + +pyhoca-gui (0.0.24-0~nwt1) lucid maverick testing unstable; urgency=low + + * fixed profile manager window for Windows (and KDE4) + * reworked logon window + + -- Mike Gabriel Fri, 14 Jan 2011 03:54:00 +0100 + +pyhoca-gui (0.0.23-0~nwt1) lucid maverick testing unstable; urgency=low + + * uncommenting debug code + + -- Mike Gabriel Wed, 12 Jan 2011 00:36:00 +0100 + +pyhoca-gui (0.0.22-0~nwt1) lucid maverick testing unstable; urgency=low + + * bugfix for error reporting when a non-X2Go user authenticates + + -- Mike Gabriel Wed, 12 Jan 2011 00:35:00 +0100 + +pyhoca-gui (0.0.21-0~nwt3) lucid maverick testing unstable; urgency=low + + * simple rebuild + + -- Mike Gabriel Tue, 11 Jan 2011 21:40:00 +0100 + +pyhoca-gui (0.0.21-0~nwt2) lucid maverick testing unstable; urgency=low + + * uncommented build_icons, build_help + + -- Mike Gabriel Tue, 11 Jan 2011 21:30:00 +0100 + +pyhoca-gui (0.0.21-0~nwt1) lucid maverick testing unstable; urgency=low + + * added ,,Transfer session'' menu item for running sessions that are not + associated (i.e. running from within PyHoca-GUI) + * now X2goSessionRegistry.update_status() can differentiate between + ,,already running'' sessions (directly after connect) and newly appearing + running sessions while having been connected for quite a while + * added i18n support + * added i18n English translation file en.po + * added i18n German translation file de.po + * added i18n Dutch translation file nl.po + * added i18n Spanish translation file es.po + + -- Mike Gabriel Tue, 11 Jan 2011 14:00:00 +0100 + +pyhoca-gui (0.0.20-0~nwt1) lucid maverick testing unstable; urgency=low + + * profile manager: added encoding support for local folder sharing + * profile manager: removed widgets for fstunnel and soundtunnel (PyHoca-GUI will + always tunnel through SSH) + + -- Mike Gabriel Fri, 31 Dec 2010 23:35:00 +0100 + +pyhoca-gui (0.0.19-0~nwt1) lucid maverick testing unstable; urgency=low + + * bugfix release (add_to_known_hosts / known_hosts issue when using X2goSSHProxy) + + -- Mike Gabriel Fri, 31 Dec 2010 13:35:00 +0100 + +pyhoca-gui (0.0.18-0~nwt1) lucid maverick testing unstable; urgency=low + + * bugfix release (enables profilemanager for release versions) + + -- Mike Gabriel Fri, 31 Dec 2010 02:10:00 +0100 + +pyhoca-gui (0.0.17-0~nwt1) lucid maverick testing unstable; urgency=low + + * updated documentation + * updated man page + + -- Mike Gabriel Fri, 31 Dec 2010 02:00:00 +0100 + +pyhoca-gui (0.0.16-0~nwt3) lucid maverick testing unstable; urgency=low + + * updated Python X2Go dependency + + -- Mike Gabriel Fri, 31 Dec 2010 01:05:00 +0100 + +pyhoca-gui (0.0.16-0~nwt2) lucid maverick testing unstable; urgency=low + + * updated Python X2Go dependency + + -- Mike Gabriel Fri, 31 Dec 2010 00:30:00 +0100 + +pyhoca-gui (0.0.16-0~nwt1) lucid maverick testing unstable; urgency=low + + * implemented profile manager + * using X2goClient HOOL_* methods for notifications + * menu changes + * implemented editing of connected sessions + * implemented local folder sharing for connected sessions + * added XMDCP support (still buggy) + + -- Mike Gabriel Thu, 30 Dec 2010 23:00:00 +0100 + +pyhoca-gui (0.0.15-0~nwt1) lucid maverick testing unstable; urgency=low + + * using setproctitle module to change the process name during runtime + * much work for Windows compatibitity + * Windows: added necessary information for build environment (py2exe) + * Windows: Logon window now understands ENTER and ESC keys + + -- Mike Gabriel Fri, 17 Dec 2010 17:00:00 +0100 + +pyhoca-gui (0.0.14-0~nwt1) lucid maverick testing unstable; urgency=low + + * artwork fine-tuning + * work on Windows code + + -- Mike Gabriel Tue, 14 Dec 2010 18:36:00 +0100 + +pyhoca-gui (0.0.13-0~nwt3) lucid maverick testing unstable; urgency=low + + * fixing image path + + -- Mike Gabriel Tue, 14 Dec 2010 16:21:00 +0100 + +pyhoca-gui (0.0.13-0~nwt1) lucid maverick testing unstable; urgency=low + + * added splash screen + * added ,,About...'' window + * added new artwork from Heinz-M. Graesing + + -- Mike Gabriel Tue, 14 Dec 2010 16:15:00 +0100 + +pyhoca-gui (0.0.12-0~nwt1) lucid maverick testing unstable; urgency=low + + * added MS remote desktop (RDP) support + + -- Mike Gabriel Fri, 10 Dec 2010 21:19:00 +0100 + +pyhoca-gui (0.0.11-0~nwt2) lucid maverick testing unstable; urgency=low + + * added dependencies: wx-common (>=2.8.10.0) and python-wxtools (>=2.8.10.0) + Thanks to Udo Lembke!!! + + -- Mike Gabriel Fri, 10 Dec 2010 17:22:00 +0100 + +pyhoca-gui (0.0.11-0~nwt1) lucid maverick testing unstable; urgency=low + + * forgot to adapt version for Python egg (setup.py) + + -- Mike Gabriel Fri, 10 Dec 2010 13:45:00 +0100 + +pyhoca-gui (0.0.10-0~nwt1) lucid maverick testing unstable; urgency=low + + * depending on Python X2Go 0.0.22 + + -- Mike Gabriel Fri, 10 Dec 2010 13:40:00 +0100 + +pyhoca-gui (0.0.9-0~nwt1) lucid maverick testing unstable; urgency=low + + * reducing CPU usage by factor 2-3 (allowing 25 nxproxy window refreshes + per second, instead of 50) + + -- Mike Gabriel Fri, 10 Dec 2010 12:39:00 +0100 + +pyhoca-gui (0.0.8-0~nwt1) lucid maverick testing unstable; urgency=low + + * reverting back to pixmaps based desktop icon, but now as .svg... + + -- Mike Gabriel Fri, 10 Dec 2010 12:12:00 +0100 + +pyhoca-gui (0.0.7-0~nwt1) lucid maverick testing unstable; urgency=low + + * still fiddling around with desktop icon... + using hicolor folder in /usr/share/icons now + + -- Mike Gabriel Fri, 10 Dec 2010 12:10:00 +0100 + +pyhoca-gui (0.0.6-0~nwt1) lucid maverick testing unstable; urgency=low + + * replacing desktop icon .xpm by .png image + + -- Mike Gabriel Fri, 10 Dec 2010 11:52:00 +0100 + +pyhoca-gui (0.0.5-0~nwt1) lucid maverick testing unstable; urgency=low + + * fixing pixmap desktop icon + + -- Mike Gabriel Fri, 10 Dec 2010 11:50:00 +0100 + +pyhoca-gui (0.0.4-0~nwt1) lucid maverick testing unstable; urgency=low + + * changed handling of icons + * added pixmap for PyHocaGUI app menu item + * changed systray icon + * removed images.py + + -- Mike Gabriel Fri, 10 Dec 2010 11:25:00 +0100 + +pyhoca-gui (0.0.3-0~nwt1) lucid maverick testing unstable; urgency=low + + * really disabled options and profilemanager menu (bugfix) + + -- Mike Gabriel Thu, 09 Dec 2010 23:55:00 +0100 + +pyhoca-gui (0.0.2-0~nwt1) lucid maverick testing unstable; urgency=low + + * bugfix in frontend.py + + -- Mike Gabriel Thu, 09 Dec 2010 23:50:00 +0100 - -- Mike Gabriel Fri, 17 Aug 2012 18:58:02 +0200 +pyhoca-gui (0.0.1-0~nwt1) lucid maverick testing unstable; urgency=low -pyhoca-gui (0.2.0.3-1) unstable; urgency=low + * initializing PyHoca-GUI .deb package - * Initial release (Closes: #655603). + -- Mike Gabriel Thu, 09 Dec 2010 23:30:00 +0100 - -- Mike Gabriel Tue, 24 Jul 2012 02:53:35 +0200 diff -Nru pyhoca-gui-0.5.0.3/debian/compat pyhoca-gui-0.4.0.9/debian/compat --- pyhoca-gui-0.5.0.3/debian/compat 2013-03-04 04:38:25.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/compat 2015-09-23 07:21:47.000000000 +0000 @@ -1 +1 @@ -9 +7 diff -Nru pyhoca-gui-0.5.0.3/debian/control pyhoca-gui-0.4.0.9/debian/control --- pyhoca-gui-0.5.0.3/debian/control 2014-10-20 23:31:56.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/control 2015-09-23 07:21:47.000000000 +0000 @@ -1,33 +1,36 @@ Source: pyhoca-gui Section: python Priority: optional -Maintainer: X2Go Packaging Team +Maintainer: X2Go Packaging Team Uploaders: - Mike Gabriel + Mike Gabriel , + Oleksandr Shneyder , Build-Depends: - debhelper (>= 9~), + debhelper (>= 7.0.50~), man2html-base | man2html, - python (>=2.6.6-14~), + python (>=2.6.5-0~), python-setuptools, + python-support, python-distutils-extra, gnome-colors-common, -Standards-Version: 3.9.6 -Homepage: http://wiki.x2go.org -Vcs-Git: git://anonscm.debian.org/collab-maint/pyhoca-gui.git -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/pyhoca-gui.git;a=summary +Standards-Version: 3.9.3 +Homepage: http://code.x2go.org/releases/source/pyhoca-gui +Vcs-Git: git://code.x2go.org/pyhoca-gui.git +Vcs-Browser: http://code.x2go.org/gitweb/?p=pyhoca-gui.git;a=summary X-Python-Version: >= 2.6 Package: pyhoca-gui Architecture: all Depends: ${misc:Depends}, - ${python:Depends}, python, - python-x2go (>=0.5.0.0), + python-x2go (>=0.4.0.9-0~), python-argparse, python-notify, python-setproctitle, - python-wxgtk3.0, + wx-common (>=2.8.10.0), + python-wxtools (>=2.8.10.0), + python-support (>=0.90), gnome-colors-common, Recommends: mate-notification-daemon | notification-daemon, @@ -35,7 +38,7 @@ X2Go is a server based computing environment with - session resuming - low bandwidth support - - sesion brokerage support + - session brokerage support - client-side mass storage mounting support - client-side printing support - audio support diff -Nru pyhoca-gui-0.5.0.3/debian/copyright pyhoca-gui-0.4.0.9/debian/copyright --- pyhoca-gui-0.5.0.3/debian/copyright 2014-10-20 23:37:44.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/copyright 2015-09-23 07:21:47.000000000 +0000 @@ -4,8 +4,8 @@ Source: http://wiki.x2go.org Files: * -Copyright: 2010-2014, Mike Gabriel - 2010-2014, Dick Kniep +Copyright: 2010-2013, Mike Gabriel + 2010-2013, Dick Kniep License: AGPL-3+ Files: Makefile.docupload @@ -54,7 +54,7 @@ `/usr/share/common-licenses/GPL-2'. Files: debian/* -Copyright: 2010-2014, Mike Gabriel +Copyright: 2010-2013, Mike Gabriel License: AGPL-3+ License: AGPL-3+ diff -Nru pyhoca-gui-0.5.0.3/debian/source/format pyhoca-gui-0.4.0.9/debian/source/format --- pyhoca-gui-0.5.0.3/debian/source/format 2014-08-06 16:09:42.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/source/format 2015-09-23 07:21:47.000000000 +0000 @@ -1 +1 @@ -3.0 (quilt) +1.0 diff -Nru pyhoca-gui-0.5.0.3/debian/source/options pyhoca-gui-0.4.0.9/debian/source/options --- pyhoca-gui-0.5.0.3/debian/source/options 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/source/options 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1 @@ +single-debian-patch \ No newline at end of file diff -Nru pyhoca-gui-0.5.0.3/debian/upstream/signing-key.asc pyhoca-gui-0.4.0.9/debian/upstream/signing-key.asc --- pyhoca-gui-0.5.0.3/debian/upstream/signing-key.asc 2014-08-06 16:11:03.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/upstream/signing-key.asc 1970-01-01 00:00:00.000000000 +0000 @@ -1,6346 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.12 (GNU/Linux) - -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 -PW2DBnGYwjuIWcAUctNE0hNJPU5cLE6kcHqEHiN+06gnJS6u6cLU+YdLk7Iz660G -VjQbQtUQEDLcTBinCf6zXQi3htD5Q5gMvYVwXn3CcajANxk3Sm9QdXaYkW1F3lR0 -Qg9IXEBFCCneOtjn6PO54QQs55aTEbtnOi4Z4pGIRgQQEQIABgUCUjapzAAKCRBx -bUQTPYwiLcqjAJ4uoPV0fLKlKk4yPzuGYPyZvpe04QCfX3pqYaDSViHtf6BrskMJ -V5+9Ms2IRgQQEQIABgUCUjaqAAAKCRBW1Sk+yXoGVFh0AJ0T5e6z2DvLXRqrmBe3 -MpGu9G0tkQCg5lCoBP7/Oy6CVP9Ww6cpEwtQzjOJAhwEEAECAAYFAlI2qggACgkQ -GpdLkt6Ii6CSWA//R+M2QJ4fGxYpf4VAUJnzHIUNKAvMG3pQgEQYD9lwCJioHlzk -DD6V42tClbbAI+KFT6GCO34wUPVVgzqRgvV16SlAnl0ohtKN2QE7WmNnLbhRMdDm -YMXmObLaCxiqmY6lKiPv1i+md/PS9S4rLf9Jan7Ui/bPnqKM0P+GlGNtjs738rKS -CWjaOdBUfzftao9ZDNEws4po6enigpuWnnilN9OmshJIETVRbDQhNTB8WL/rSpmp -Brhjgwcv5+le1rfoOGGU/QguQNsytQ9wqa0oF0D60Y1OldVa6dzelLjk3pxoXSJK -SJrCS8hbr+hofAxksL/CG+q5V/ARXrmC4jV5hX7DASS2WtLzIAdYqg9/dQjBtyDy -g3ugvsN7v1i8iXdFhdNSXjOsZI9Wgku6JBodlZvqEBWlSG7A5bSKrb4Xv8hzzzGy -5OEuLgkm3Ir1eixdaZUevVrXFiLj3EkN/0jLbKV9KQyPGN1pH6nf3LcxJfn9+d6f -Jivn28cr9RMrwAS0voVbRs3Vm32U0diHSgJFSrlpiiQ3jszZhJgVo76QSTlFoRj/ -8uicDKSPXUo5FBCO1/jWEeXeTn+2caleuG+wuNw2vmSg3/tSHT//tZmCYdqfEl/R -lYJGc9nIe5wQsybBgjwvR3+Lx1Qg5t4zOHwqpVtiR0lzkUnN8wKNUlhbBHKJARwE -EAECAAYFAlIJJPsACgkQLDtDb+rGgQFxnQf/R2GDZRCGmw5HrVD04WDAFFLyFEvY -v7yRUmm8dFZJN2AnpjpySImdMsrB5mX5VU7YANwI2b+fMPvJNXXGjQCvpuvBynM8 -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 -DdI0lC+B4m7S1x0tv76Vf8E3HlWhgf4= -=RZgf ------END PGP PUBLIC KEY BLOCK----- diff -Nru pyhoca-gui-0.5.0.3/debian/watch pyhoca-gui-0.4.0.9/debian/watch --- pyhoca-gui-0.5.0.3/debian/watch 2014-08-06 16:11:03.000000000 +0000 +++ pyhoca-gui-0.4.0.9/debian/watch 2015-09-23 07:21:47.000000000 +0000 @@ -1,3 +1,2 @@ version=3 -opts=pgpsigurlmangle=s/$/.asc/ \ http://code.x2go.org/releases/source/pyhoca-gui/pyhoca-gui-(.+)\.tar\.gz diff -Nru pyhoca-gui-0.5.0.3/desktop/pyhoca-gui.desktop pyhoca-gui-0.4.0.9/desktop/pyhoca-gui.desktop --- pyhoca-gui-0.5.0.3/desktop/pyhoca-gui.desktop 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/desktop/pyhoca-gui.desktop 2015-09-23 07:21:47.000000000 +0000 @@ -9,5 +9,4 @@ X-Osso-Type=application/x-executable Terminal=false Type=Application -Keywords=X2Go;Remote;Desktop;Published;Applications;Administration;Applet; -Categories=Network;RemoteAccess; +Categories=GNOME;KDE;Network; Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/128x128/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/128x128/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/128x128/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/128x128/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/128x128/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/128x128/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/128x128/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/128x128/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/128x128/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/128x128/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/16x16/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/16x16/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/16x16/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/16x16/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/16x16/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/16x16/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/16x16/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/16x16/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/16x16/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/16x16/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/22x22/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/22x22/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/22x22/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/22x22/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/22x22/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/22x22/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/22x22/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/22x22/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/22x22/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/22x22/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/32x32/connect_error.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/32x32/connect_error.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/32x32/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/32x32/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/32x32/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/32x32/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/32x32/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/32x32/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/32x32/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/32x32/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/32x32/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/32x32/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/48x48/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/48x48/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/48x48/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/48x48/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/48x48/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/48x48/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/48x48/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/48x48/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/48x48/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/48x48/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/64x64/connect_error.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/64x64/connect_error.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/64x64/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/64x64/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/64x64/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/64x64/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/64x64/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/64x64/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/64x64/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/64x64/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/64x64/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/64x64/pyhoca-winicon.png differ diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/auth_disconnect.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/auth_disconnect.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/auth_disconnect.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/auth_disconnect.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,661 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/auth_error.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/auth_error.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/auth_error.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/auth_error.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/auth_success.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/auth_success.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/auth_success.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/auth_success.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/profile_add.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/profile_add.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/profile_add.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/profile_add.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/profile_delete.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/profile_delete.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/profile_delete.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/profile_delete.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/profile_edit.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/profile_edit.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/profile_edit.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/profile_edit.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,788 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/profile_save.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/profile_save.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/profile_save.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/profile_save.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,920 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/PyHoca-GUI_sessionicon.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/PyHoca-GUI_sessionicon.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/PyHoca-GUI_sessionicon.svg 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/PyHoca-GUI_sessionicon.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,568 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/PyHoca-GUI_trayicon.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/PyHoca-GUI_trayicon.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/PyHoca-GUI_trayicon.svg 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/PyHoca-GUI_trayicon.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,568 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/PyHoca-GUI_winicon.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/PyHoca-GUI_winicon.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/PyHoca-GUI_winicon.svg 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/PyHoca-GUI_winicon.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,568 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/pyhoca-trayicon.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/pyhoca-trayicon.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/pyhoca-trayicon.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/pyhoca-trayicon.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/pyhoca-winicon.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/pyhoca-winicon.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/pyhoca-winicon.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/pyhoca-winicon.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_cleanall.svg and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_cleanall.svg differ diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_error.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_error.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_error.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_error.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_pause.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_pause.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_pause.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_pause.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + + + Pause + + + playback + pause + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_printing.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_printing.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_printing.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_printing.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,731 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_resume.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_resume.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_resume.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_resume.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,1495 @@ + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_start.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_start.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_start.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_start.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,1495 @@ + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_terminate.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_terminate.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_terminate.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_terminate.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_warning.svg pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_warning.svg --- pyhoca-gui-0.5.0.3/icons/PyHoca/scalable/session_warning.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons/PyHoca/scalable/session_warning.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/128x128/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/128x128/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/128x128/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/128x128/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/128x128/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/128x128/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/128x128/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/128x128/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/128x128/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/128x128/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/16x16/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/16x16/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/16x16/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/16x16/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/16x16/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/16x16/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/16x16/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/16x16/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/16x16/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/16x16/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/22x22/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/22x22/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/22x22/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/22x22/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/22x22/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/22x22/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/22x22/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/22x22/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/22x22/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/22x22/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/32x32/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/32x32/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/32x32/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/32x32/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/32x32/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/32x32/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/32x32/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/32x32/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/32x32/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/32x32/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/32x32/session_cleanall.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/32x32/session_cleanall.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/32x32/session_resume.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/32x32/session_resume.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/32x32/session_start.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/32x32/session_start.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/48x48/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/48x48/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/48x48/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/48x48/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/48x48/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/48x48/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/48x48/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/48x48/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/48x48/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/48x48/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/audio_error.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/audio_error.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/auth_error.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/auth_error.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/auth_failed.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/auth_failed.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/auth_success.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/auth_success.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/error.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/error.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/profile_error.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/profile_error.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/profile_warning.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/profile_warning.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/PyHoca-GUI_sessionicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/PyHoca-GUI_sessionicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/PyHoca-GUI_trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/PyHoca-GUI_trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/PyHoca-GUI_winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/PyHoca-GUI_winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/pyhoca-trayicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/pyhoca-trayicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/pyhoca-winicon.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/pyhoca-winicon.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/session_error.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/session_error.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/session_warning.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/session_warning.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/success.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/success.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/64x64/warning.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/64x64/warning.png differ diff -Nru pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/PyHoca-GUI_session.svg pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/PyHoca-GUI_session.svg --- pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/PyHoca-GUI_session.svg 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/PyHoca-GUI_session.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,568 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/PyHoca-GUI_trayicon.svg pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/PyHoca-GUI_trayicon.svg --- pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/PyHoca-GUI_trayicon.svg 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/PyHoca-GUI_trayicon.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,568 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/PyHoca-GUI_winicon.svg pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/PyHoca-GUI_winicon.svg --- pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/PyHoca-GUI_winicon.svg 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/PyHoca-GUI_winicon.svg 1970-01-01 00:00:00.000000000 +0000 @@ -1,568 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/pyhoca-session.svg pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/pyhoca-session.svg --- pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/pyhoca-session.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/pyhoca-session.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/pyhoca-trayicon.svg pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/pyhoca-trayicon.svg --- pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/pyhoca-trayicon.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/pyhoca-trayicon.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/pyhoca-winicon.svg pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/pyhoca-winicon.svg --- pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/pyhoca-winicon.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/pyhoca-winicon.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/session_cleanall.svg and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/session_cleanall.svg differ diff -Nru pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/session_resume.svg pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/session_resume.svg --- pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/session_resume.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/session_resume.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,1495 @@ + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/session_start.svg pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/session_start.svg --- pyhoca-gui-0.5.0.3/icons_symlinked/PyHoca/scalable/session_start.svg 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/icons_symlinked/PyHoca/scalable/session_start.svg 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,1495 @@ + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + x2go Logo + + 12.06.2007 + + + + Heinz-M. Graesing + + + + + + obviously-nice + + + + + + obviously-nice + + + + http://www.x2go.org/artwork + + DE + + + + Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/img/pyhoca-about-logo.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/img/pyhoca-about-logo.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/img/PyHoca-GUI_about-logo.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/img/PyHoca-GUI_about-logo.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/img/PyHoca-GUI_splash.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/img/PyHoca-GUI_splash.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/img/pyhoca-splash.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/img/pyhoca-splash.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/img/pythonx2go-about-logo.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/img/pythonx2go-about-logo.png differ Binary files /tmp/vJaXxROkrr/pyhoca-gui-0.5.0.3/img/Python-X2Go_about-logo.png and /tmp/CU8DjGRUEJ/pyhoca-gui-0.4.0.9/img/Python-X2Go_about-logo.png differ diff -Nru pyhoca-gui-0.5.0.3/LICENSE.txt pyhoca-gui-0.4.0.9/LICENSE.txt --- pyhoca-gui-0.5.0.3/LICENSE.txt 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/LICENSE.txt 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff -Nru pyhoca-gui-0.5.0.3/Makefile.docupload pyhoca-gui-0.4.0.9/Makefile.docupload --- pyhoca-gui-0.5.0.3/Makefile.docupload 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/Makefile.docupload 2015-09-23 07:21:47.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/make -f # Makefile.docupload file - for pyhoca-gui -# Copyright 2010-2014 by Mike Gabriel , GPLv3 applies to this file +# Copyright 2010-2013 by Mike Gabriel , GPLv3 applies to this file VERSION=`head -n1 debian/changelog | sed 's,.*(\(.*\)).*,\1,' | cut -d"-" -f1` DOC_HOST=code.x2go.org @@ -16,3 +16,5 @@ ssh -l${DOC_USER} ${DOC_HOST} "{ mkdir -p ${DOC_PATH}; rm -Rfv ${DOC_PATH}/*; }" scp -r .build_man2html/html/* ${DOC_USER}@${DOC_HOST}:${DOC_PATH}/ + + diff -Nru pyhoca-gui-0.5.0.3/man/man1/pyhoca-gui.1 pyhoca-gui-0.4.0.9/man/man1/pyhoca-gui.1 --- pyhoca-gui-0.5.0.3/man/man1/pyhoca-gui.1 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/man/man1/pyhoca-gui.1 2015-09-23 07:21:47.000000000 +0000 @@ -5,7 +5,7 @@ \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac -.TH pyhoca-gui 1 "Oct 2014" "Version 0.5.0.3" "X2Go Application" +.TH pyhoca-gui 1 "Feb 2013" "Version 0.4.x.y" "X2Go Application" .SH NAME pyhoca-gui \- graphical X2Go client applet written in Python .SH SYNOPSIS @@ -55,7 +55,7 @@ .TP \*(T<\fB\-\-libdebug-sftpxfer\fR\*(T> Enable debugging code of Python X2Go's sFTP server code (very verbose, and it may even reveal promiscuous data). -.SH SESSION RELATED OPTIONS +.SH GUI OPTIONS .TP \*(T<\fB\-P, \-\-session-profile\fR\*(T> The name of the session profile to be used to make the connection. You can actually pass a komma-separated list of @@ -124,48 +124,6 @@ \*(T<\fB\-\-disconnect-on-terminate\fR\*(T> Disconnect from a server if a session on that server has been terminated. .TP -\*(T<\fB\-\-display :\fR\*(T> -Set the DISPLAY environment variable to :. - -.SH BROKERAGE OPTIONS -In case you want to retrieve X2Go session profiles from an X2Go Session Broker use the following options: -.TP -\*(T<\fB\-\-broker\-url=\fR\*(T> -Specify the of the X2Go Session Broker. \fBpyhoca\-gui\fR can access http:// and ssh:// style URLs. - -Syntax of for HTTP brokerage: - -http(s)://:@:/path/to/broker - -Syntax of for SSH brokerage: - -ssh://:@:/usr/bin/x2gobroker (or any executable that -provides the broker via SSH). - -As a special you can type "HTTP" or "SSH" and then the application will provide a login window with -a pre-formatted / schematic URL. -.TP -\*(T<\fB\-\-broker\-password \fR\*(T> -Session broker password for retrieving session profiles from the X2Go Session Broker. -The cleartext password that has been specified at the command line will be masqueraded in -the systems process list (Linux, MacOS). On Windows systems the usage of the \-\-broker-password option is -forbidden. -.TP -\*(T<\fB\-\-broker\-name \fR\*(T> -Provide a human readable name for the session broker. This name overrides the default broker name ("X2Go Session Broker") -in the application's menus and notification bubbles. -.TP -\*(T<\fB\-\-broker\-cacertfile CACERT_FILE\fR\*(T> -For https:// brokers with SSL certificates that have been signed against a self-signed root-CA, use this -command line option to point to the self-signed root-CA certificate file. -.TP -\*(T<\fB\-\-broker\-autoconnect\fR\*(T> -If this command line option is given the session broker authentication dialog will appear on application startup. - -.SH BRANDING OPTIONS -The \fBpyhoca-gui\fR provides some feature that allow to easily brand its appearance. Here some options -for tweaking the \fBpyhoca-gui\fR appearance and behaviour. -.TP \*(T<\fB\-\-splash-image\fR \fI\fR\*(T> Define an alternative splash image that gets shown on application startup (PNG files only, full path or filename as found in /img). .TP @@ -191,6 +149,9 @@ \*(T<\fB\-\-disable-notifications\fR\*(T> Disable all applet notifications. .TP +\*(T<\fB\-\-display :\fR\*(T> +Set the DISPLAY environment variable to :. +.TP \*(T<\fB\-\-logon\-window\-position\fR \fIx\fR\*(T> Give a custom position for the logon window, use negative values to position relative to right/bottom border. .TP diff -Nru pyhoca-gui-0.5.0.3/nsis_template.py pyhoca-gui-0.4.0.9/nsis_template.py --- pyhoca-gui-0.5.0.3/nsis_template.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/nsis_template.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel +# Copyright (C) 2010-2013 by Mike Gabriel # # PyHoca is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -24,17 +24,15 @@ !define VERSION {program_version} -!define UNINSTALL_REGKEY "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" - ;-------------------------------- ; The name of the installer Name "{program_name}" -; Sets the title bar text -Caption "{program_desc_short}" +; Sets the title bar text (although NSIS seems to append "Installer") +Caption "{program_desc}" -!define distOutputDirectory '{output_dir}' +!define py2exeOutputDirectory '{output_dir}' ; The file to write OutFile "..\\{program_name}_${{VERSION}}_win32-setup.exe" @@ -42,10 +40,6 @@ ; The default installation directory InstallDir $PROGRAMFILES\\{program_name} -; NSIS 2.46 defaults to zlib. Setting this reduces the size of current -; builds (which include no fonts for the X server) by about 27% -SetCompressor /SOLID lzma - ; Registry key to check for directory (so if you install again, it will ; overwrite the old one automatically) InstallDirRegKey HKLM "Software\\{program_name}" "Install_Dir" @@ -60,7 +54,7 @@ !include MUI2.nsh !insertmacro MULTIUSER_PAGE_INSTALLMODE -!insertmacro MUI_PAGE_LICENSE COPYING +!insertmacro MUI_PAGE_LICENSE LICENSE.txt !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES @@ -125,17 +119,17 @@ ; License data ; Not exactly translated, but it shows what's needed -LicenseLangString myLicenseData ${{LANG_ENGLISH}} "COPYING" -LicenseLangString myLicenseData ${{LANG_DUTCH}} "COPYING" -;LicenseLangString myLicenseData ${{LANG_FRENCH}} "COPYING" -LicenseLangString myLicenseData ${{LANG_GERMAN}} "COPYING" -;LicenseLangString myLicenseData ${{LANG_KOREAN}} "COPYING" -LicenseLangString myLicenseData ${{LANG_RUSSIAN}} "COPYING" -LicenseLangString myLicenseData ${{LANG_SPANISH}} "COPYING" -LicenseLangString myLicenseData ${{LANG_SWEDISH}} "COPYING" -;LicenseLangString myLicenseData ${{LANG_TRADCHINESE}} "COPYING" -;LicenseLangString myLicenseData ${{LANG_SIMPCHINESE}} "COPYING" -;LicenseLangString myLicenseData ${{LANG_SLOVAK}} "COPYING" +LicenseLangString myLicenseData ${{LANG_ENGLISH}} "LICENSE.txt" +LicenseLangString myLicenseData ${{LANG_DUTCH}} "LICENSE.txt" +;LicenseLangString myLicenseData ${{LANG_FRENCH}} "LICENSE.txt" +LicenseLangString myLicenseData ${{LANG_GERMAN}} "LICENSE.txt" +;LicenseLangString myLicenseData ${{LANG_KOREAN}} "LICENSE.txt" +LicenseLangString myLicenseData ${{LANG_RUSSIAN}} "LICENSE.txt" +LicenseLangString myLicenseData ${{LANG_SPANISH}} "LICENSE.txt" +LicenseLangString myLicenseData ${{LANG_SWEDISH}} "LICENSE.txt" +;LicenseLangString myLicenseData ${{LANG_TRADCHINESE}} "LICENSE.txt" +;LicenseLangString myLicenseData ${{LANG_SIMPCHINESE}} "LICENSE.txt" +;LicenseLangString myLicenseData ${{LANG_SLOVAK}} "LICENSE.txt" LicenseData $(myLicenseData) @@ -250,27 +244,16 @@ SectionIn RO ; Set output path to the installation directory. SetOutPath "$INSTDIR" - ; Empty $INSTDIR before writing new files to it. - RmDir /r "$INSTDIR\\*.*" - ; Install new files... - File /r /x .svn /x .git "${{distOutputDirectory}}\\*.*" + File /r /x .svn /x .git "${{py2exeOutputDirectory}}\\*.*" ; Write the installation path into the registry WriteRegStr HKLM SOFTWARE\\{program_name} "Install_Dir" "$INSTDIR" ; Write the uninstall keys for Windows - - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "InstallLocation" "$INSTDIR" - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "UninstallString" "$INSTDIR\\uninstall.exe" - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "DisplayIcon" "$INSTDIR\\{icon_location}" - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "DisplayName" "{uninstall_name}" - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "DisplayVersion" "${{VERSION}}" - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "Publisher" "{publisher}" - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "HelpLink" "{url}" - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "URLInfoAbout" "{url}" - WriteRegStr HKLM ${{UNINSTALL_REGKEY}} "URLUpdateInfo" "{url}" - WriteRegDWORD HKLM ${{UNINSTALL_REGKEY}} "NoModify" 1 - WriteRegDWORD HKLM ${{UNINSTALL_REGKEY}} "NoRepair" 1 + WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" "DisplayName" "{program_name}" + WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" "UninstallString" '"$INSTDIR\\uninstall.exe"' + WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" "NoModify" 1 + WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" "NoRepair" 1 WriteUninstaller "uninstall.exe" SectionEnd @@ -278,7 +261,6 @@ ; Optional section (can be disabled by the user) Section "$STARTMENU_LINKS" - SetOutPath "$INSTDIR" CreateDirectory "$SMPROGRAMS\\{program_name}" CreateShortCut "$SMPROGRAMS\\{program_name}\\{program_name}.lnk" "$INSTDIR\\{program_name}.exe" "--quiet --start-xserver --start-pulseaudio --lang $LC_MESSAGES" "$INSTDIR\\icons\\{program_name}.ico" 0 CreateShortCut "$SMPROGRAMS\\{program_name}\\{program_name} ($WITHOUT_PULSEAUDIO).lnk" "$INSTDIR\\{program_name}.exe" "--quiet --start-xserver --lang $LC_MESSAGES" "$INSTDIR\\icons\\{program_name}.ico" 0 @@ -292,19 +274,10 @@ ; Optional section (can be disabled by the user) Section "$DESKTOP_LINKS" - SetOutPath "$INSTDIR" CreateShortCut "$DESKTOP\\{program_name}.lnk" "$INSTDIR\\{program_name}.exe" "--quiet --start-xserver --start-pulseaudio --lang $LC_MESSAGES" "$INSTDIR\\icons\\{program_name}.ico" 0 SectionEnd -; Hidden section, always enabled -Section -EstimatedSize - SectionIn RO - ${{GetSize}} "$INSTDIR" "/S=0K" $0 $1 $2 - IntFmt $0 "0x%08X" $0 - WriteRegDWORD HKLM ${{UNINSTALL_REGKEY}} "EstimatedSize" "$0" -SectionEnd - ;-------------------------------- ; Uninstaller @@ -312,7 +285,7 @@ Section "Uninstall" ; Remove registry keys - DeleteRegKey HKLM ${{UNINSTALL_REGKEY}} + DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{program_name}" DeleteRegKey HKLM SOFTWARE\\{program_name} ; Remove files and uninstaller diff -Nru pyhoca-gui-0.5.0.3/po/bg.po pyhoca-gui-0.4.0.9/po/bg.po --- pyhoca-gui-0.5.0.3/po/bg.po 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/po/bg.po 2015-09-23 07:21:47.000000000 +0000 @@ -1,5 +1,5 @@ # PyHoca-GUI / i18n. -# Copyright (C) 2010-2014 Mike Gabriel +# Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # Mike Gabriel , 2011. @@ -8,10 +8,10 @@ msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-20 12:52+0200\n" +"POT-Creation-Date: 2013-11-21 23:29+0100\n" "PO-Revision-Date: 2011-09-17 02:17+0100\n" "Last-Translator: Mike Gabriel \n" -"Language-Team: X2Go i18n \n" +"Language-Team: X2Go i18n \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,163 +21,123 @@ "X-Poedit-Country: Bulgaria\n" "X-Poedit-SourceCharset: utf-8\n" -#: ../pyhoca/wxgui/brokerlogon.py:54 -msgid "Logon" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:57 -msgid "Broker URL" +#: ../pyhoca/wxgui/logon.py:92 +#, python-format +msgid "%s (via %s)" msgstr "" -#: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 -#: ../pyhoca/wxgui/logon.py:99 +#: ../pyhoca/wxgui/logon.py:98 ../pyhoca/wxgui/logon.py:110 msgid "Username" msgstr "" -#: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 -#: ../pyhoca/wxgui/logon.py:101 +#: ../pyhoca/wxgui/logon.py:100 ../pyhoca/wxgui/logon.py:112 msgid "Password" msgstr "" -#: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 +#: ../pyhoca/wxgui/logon.py:103 msgid "Authenticate" msgstr "" -#: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 -#: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 -#: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 -#: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 -msgid "Cancel" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -#, python-format -msgid "%s - success" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -msgid "" -"Authentication to session broker has been\n" -"successful." -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:167 -#, python-format -msgid "%s - failure" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:167 -msgid "Authentication to session broker failed." -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "%s: Connection refused error" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "Connection to %s failed. Retry?" -msgstr "" - -#: ../pyhoca/wxgui/logon.py:81 -#, python-format -msgid "%s (via %s)" -msgstr "" - -#: ../pyhoca/wxgui/logon.py:104 +#: ../pyhoca/wxgui/logon.py:115 msgid "Start SSH tunnel" msgstr "" -#: ../pyhoca/wxgui/logon.py:112 +#: ../pyhoca/wxgui/logon.py:123 msgid "Session login" msgstr "" -#: ../pyhoca/wxgui/logon.py:113 +#: ../pyhoca/wxgui/logon.py:124 msgid "SSH proxy server login" msgstr "" -#: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 -#: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 -#: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 -#: ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:135 ../pyhoca/wxgui/passphrase.py:102 +#: ../pyhoca/wxgui/profilemanager.py:375 ../pyhoca/wxgui/listdesktops.py:98 +#: ../pyhoca/wxgui/messages.py:130 ../pyhoca/wxgui/printingprefs.py:147 +#: ../pyhoca/wxgui/sessiontitle.py:85 +msgid "Cancel" +msgstr "" + +#: ../pyhoca/wxgui/logon.py:307 ../pyhoca/wxgui/logon.py:360 +#: ../pyhoca/wxgui/passphrase.py:225 ../pyhoca/wxgui/passphrase.py:232 +#: ../pyhoca/wxgui/passphrase.py:239 ../pyhoca/wxgui/passphrase.py:246 +#: ../pyhoca/wxgui/frontend.py:617 #, python-format msgid "%s - connect failure" msgstr "" -#: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:308 ../pyhoca/wxgui/frontend.py:617 msgid "User is not allowed to start X2Go sessions!" msgstr "" -#: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/logon.py:313 ../pyhoca/wxgui/passphrase.py:207 +#: ../pyhoca/wxgui/frontend.py:624 #, python-format msgid "%s - connect" msgstr "" -#: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 +#: ../pyhoca/wxgui/logon.py:314 ../pyhoca/wxgui/passphrase.py:208 msgid "Authentication has been successful." msgstr "" -#: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 +#: ../pyhoca/wxgui/logon.py:356 ../pyhoca/wxgui/logon.py:456 msgid "SSH tunnel started" msgstr "" -#: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 +#: ../pyhoca/wxgui/logon.py:361 ../pyhoca/wxgui/passphrase.py:240 msgid "Authentication failed!" msgstr "" -#: ../pyhoca/wxgui/logon.py:358 +#: ../pyhoca/wxgui/logon.py:369 #, python-format msgid "%s - SSH proxy" msgstr "" -#: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 +#: ../pyhoca/wxgui/logon.py:370 ../pyhoca/wxgui/passphrase.py:247 msgid "Authentication to the SSH proxy server failed!" msgstr "" -#: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 -#: ../pyhoca/wxgui/frontend.py:750 +#: ../pyhoca/wxgui/logon.py:397 ../pyhoca/wxgui/passphrase.py:253 +#: ../pyhoca/wxgui/frontend.py:729 #, python-format msgid "%s - socket error" msgstr "" -#: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 -#: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/logon.py:404 ../pyhoca/wxgui/passphrase.py:260 +#: ../pyhoca/wxgui/frontend.py:708 ../pyhoca/wxgui/frontend.py:715 #, python-format msgid "%s - host key error" msgstr "" -#: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 -#: ../pyhoca/wxgui/frontend.py:729 +#: ../pyhoca/wxgui/logon.py:405 ../pyhoca/wxgui/passphrase.py:261 +#: ../pyhoca/wxgui/frontend.py:708 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" -#: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:412 ../pyhoca/wxgui/passphrase.py:268 +#: ../pyhoca/wxgui/frontend.py:743 #, python-format msgid "%s - missing home directory" msgstr "" -#: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:413 ../pyhoca/wxgui/passphrase.py:269 +#: ../pyhoca/wxgui/frontend.py:743 msgid "The remote user's home directory does not exist." msgstr "" -#: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 +#: ../pyhoca/wxgui/logon.py:420 ../pyhoca/wxgui/passphrase.py:291 #, python-format msgid "%s - key error" msgstr "" -#: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 -#: ../pyhoca/wxgui/frontend.py:771 +#: ../pyhoca/wxgui/logon.py:428 ../pyhoca/wxgui/passphrase.py:299 +#: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - auth error" msgstr "" -#: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 -#: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 +#: ../pyhoca/wxgui/logon.py:460 ../pyhoca/wxgui/passphrase.py:287 +#: ../pyhoca/wxgui/passphrase.py:318 ../pyhoca/wxgui/frontend.py:678 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" @@ -186,1019 +146,962 @@ "However, for security reasons the connection will not be established!!!" msgstr "" -#: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 -#: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 +#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/frontend.py:686 ../pyhoca/wxgui/frontend.py:706 #, python-format msgid "%s - SSH error" msgstr "" -#: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 +#: ../pyhoca/wxgui/logon.py:475 ../pyhoca/wxgui/passphrase.py:331 #, python-format msgid "%s - unknown error" msgstr "" -#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/logon.py:476 ../pyhoca/wxgui/passphrase.py:332 msgid "An unknown error occured during authentication!" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:69 +#: ../pyhoca/wxgui/passphrase.py:78 #, python-format msgid "%s (SSH proxy)" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:71 +#: ../pyhoca/wxgui/passphrase.py:80 #, python-format msgid "%s (X2Go Server)" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:81 +#: ../pyhoca/wxgui/passphrase.py:90 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "" -#: ../pyhoca/wxgui/passphrase.py:83 +#: ../pyhoca/wxgui/passphrase.py:92 msgid "Unlock auto-discovered SSH private key..." msgstr "" -#: ../pyhoca/wxgui/passphrase.py:85 +#: ../pyhoca/wxgui/passphrase.py:94 msgid "Passphrase" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:88 +#: ../pyhoca/wxgui/passphrase.py:97 msgid "Unlock SSH key" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:217 +#: ../pyhoca/wxgui/passphrase.py:226 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:224 +#: ../pyhoca/wxgui/passphrase.py:233 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "" -#: ../pyhoca/wxgui/taskbar.py:111 +#: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" -#: ../pyhoca/wxgui/taskbar.py:115 +#: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" -#: ../pyhoca/wxgui/taskbar.py:125 -#, python-format +#: ../pyhoca/wxgui/taskbar.py:139 msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "" -#: ../pyhoca/wxgui/taskbar.py:129 -#, python-format +#: ../pyhoca/wxgui/taskbar.py:143 msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:81 +#: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:82 +#: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:83 +#: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:84 +#: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:85 +#: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:86 +#: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:87 +#: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:88 +#: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:89 +#: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:90 +#: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:91 +#: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:92 +#: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:93 +#: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:94 +#: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 +#: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 +#: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 +#: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 +#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 +#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:106 -msgid "between client and server" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:107 -msgid "from server to client only" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:108 -msgid "from client to server only" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:109 -msgid "not at all" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:127 +#: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:128 +#: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:129 +#: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:157 +#: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "" #. boxes for all tabs -#: ../pyhoca/wxgui/profilemanager.py:205 +#: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:206 +#: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:207 +#: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:208 +#: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:209 +#: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:210 +#: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:211 +#: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:212 +#: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:213 -msgid "Clipboard" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:214 +#: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:215 +#: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:216 +#: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:217 +#: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:218 +#: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "" #. ## #. ## widgets for the PROFILE tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:223 +#: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:230 +#: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:231 +#: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:232 +#: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:251 +#: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "" #. ## #. ## widgets for the SESSION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:257 +#: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:258 +#: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:259 +#: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:261 +#: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:265 +#: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:267 +#: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:269 +#: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:271 +#: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:272 +#: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "" #. ## #. ## widgets for the CONNECTION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 +#: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 +#: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 +#: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:285 +#: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:288 +#: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:290 +#: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:291 +#: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:292 +#: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:295 +#: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:296 +#: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:297 +#: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:304 +#: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:307 +#: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:308 +#: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:309 +#: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:310 +#: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:311 +#: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:313 +#: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:315 +#: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "" #. ## #. ## wigdets for the IO tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:321 +#: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:322 +#: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:323 +#: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:328 +#: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:330 -msgid "Allow copy'n'paste" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:332 +#: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:333 +#: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:334 +#: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:335 +#: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:337 +#: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:339 +#: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "" #. ## #. ## wigdets for the MEDIA tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:344 +#: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:345 +#: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this -#: ../pyhoca/wxgui/profilemanager.py:349 +#: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:352 +#: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:353 +#: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:354 +#: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:357 +#: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "" #. ## #. ## wigdets for the SHARING tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:363 +#: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:364 +#: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:365 +#: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 +#: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:370 +#: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:371 +#: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:372 +#: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:374 +#: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:375 +#: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:377 +#: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:380 +#: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:381 +#: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:383 +#: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:388 +#: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:390 +#: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:391 +#: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 +#: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:453 -#: ../pyhoca/wxgui/profilemanager.py:1184 -#: ../pyhoca/wxgui/profilemanager.py:2364 +#: ../pyhoca/wxgui/profilemanager.py:425 +#: ../pyhoca/wxgui/profilemanager.py:1141 +#: ../pyhoca/wxgui/profilemanager.py:2312 msgid "automatically" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:455 -#: ../pyhoca/wxgui/profilemanager.py:1186 +#: ../pyhoca/wxgui/profilemanager.py:427 +#: ../pyhoca/wxgui/profilemanager.py:1143 msgid "manually" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:464 -#, python-format -msgid "%s Profile Manager - new profile" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:467 -#, python-format -msgid "%s Profile Manager - %s (connected)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:469 -#, python-format -msgid "%s Profile Manager - %s (connected, immutable)" +#: ../pyhoca/wxgui/profilemanager.py:436 +msgid "PyHoca-GUI Profile Manager - new profile" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:472 +#: ../pyhoca/wxgui/profilemanager.py:438 #, python-format -msgid "%s Profile Manager - %s" +msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:474 +#: ../pyhoca/wxgui/profilemanager.py:440 #, python-format -msgid "%s Profile Manager - %s (immutable)" +msgid "PyHoca-GUI Profile Manager - %s" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:851 +#: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:852 +#: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:853 +#: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:854 +#: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:855 +#: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:856 +#: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:857 +#: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1044 +#: ../pyhoca/wxgui/profilemanager.py:995 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1045 +#: ../pyhoca/wxgui/profilemanager.py:996 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1046 +#: ../pyhoca/wxgui/profilemanager.py:997 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1504 +#: ../pyhoca/wxgui/profilemanager.py:1458 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1507 +#: ../pyhoca/wxgui/profilemanager.py:1461 msgid "Choose an icon for this session profile" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1956 +#: ../pyhoca/wxgui/profilemanager.py:1904 msgid "All files (*.*)|*" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1958 -#: ../pyhoca/wxgui/profilemanager.py:1982 +#: ../pyhoca/wxgui/profilemanager.py:1906 +#: ../pyhoca/wxgui/profilemanager.py:1930 msgid "Choose a public SSH key" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2316 +#: ../pyhoca/wxgui/profilemanager.py:2264 msgid "Choose a folder to share within a session" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2444 -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 +#: ../pyhoca/wxgui/profilemanager.py:2392 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2444 +#: ../pyhoca/wxgui/profilemanager.py:2392 msgid "Profile name is missing, profile unusable!!!" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 #, python-format msgid "Profile name %s already exists!!!" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2478 +#: ../pyhoca/wxgui/profilemanager.py:2425 #, python-format msgid "%s - profile added" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2479 +#: ../pyhoca/wxgui/profilemanager.py:2426 msgid "A new session profile has been added." msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2483 +#: ../pyhoca/wxgui/profilemanager.py:2430 #, python-format msgid "%s - modified" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2484 +#: ../pyhoca/wxgui/profilemanager.py:2431 msgid "Changes to profile have been saved." msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:66 +#: ../pyhoca/wxgui/listdesktops.py:81 #, python-format msgid "Share Desktop Session - %s" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:68 +#: ../pyhoca/wxgui/listdesktops.py:83 msgid "Select one of the available desktop sessions on this server" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:74 +#: ../pyhoca/wxgui/listdesktops.py:89 msgid "View session only" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:75 +#: ../pyhoca/wxgui/listdesktops.py:90 msgid "Gain full access" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:79 +#: ../pyhoca/wxgui/listdesktops.py:94 msgid "Share Desktop" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:82 +#: ../pyhoca/wxgui/listdesktops.py:97 msgid "Refresh list" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:65 +#: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:67 -msgid "View Profile" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:75 +#: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:79 +#: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:83 +#: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 +#: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:139 +#: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:148 -msgid "Disconnect from session broker" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:153 +#: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:161 +#: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 -#: ../pyhoca/wxgui/menus_taskbar.py:1070 +#: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 +#: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:241 +#: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 +#: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:249 +#: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:260 +#: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:262 +#: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 +#: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 +#: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 +#: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 +#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 +#: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 +#: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:284 +#: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:286 +#: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:288 +#: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 +#: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:301 +#: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:302 +#: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:344 +#: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:356 +#: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:366 +#: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:374 +#: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:380 +#: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:461 +#: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:462 +#: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:463 +#: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:464 +#: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:465 +#: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:466 +#: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:467 +#: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:468 +#: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:469 +#: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:470 +#: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 -msgid "Connect to" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 +#: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:559 +#: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:574 +#: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 +#: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 +#: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 +#: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:591 +#: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:594 +#: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:674 +#: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:715 +#: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:770 +#: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:772 +#: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:791 +#: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:798 +#: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:800 -msgid "View &profile" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:815 +#: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:827 +#: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:834 +#: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:841 +#: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:845 +#: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:899 +#: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:976 -msgid "Session broker is not connected" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:978 +#: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:989 +#: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:991 +#: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:997 +#: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:1040 +#: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "" -#: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 +#: ../pyhoca/wxgui/about.py:88 ../pyhoca/wxgui/about.py:90 #, python-format msgid "About %s ..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:489 +#: ../pyhoca/wxgui/frontend.py:468 msgid "Suspending sessions and exiting application..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:492 +#: ../pyhoca/wxgui/frontend.py:471 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:494 +#: ../pyhoca/wxgui/frontend.py:473 msgid "Exiting application..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 #, python-format msgid "%s - server warning" msgstr "" -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 msgid "The X2Go Server does not publish an application menu." msgstr "" -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/frontend.py:624 msgid "SSH key authentication has been successful." msgstr "" -#: ../pyhoca/wxgui/frontend.py:719 +#: ../pyhoca/wxgui/frontend.py:698 msgid "" "Host key verification failed. The SSH proxy server may have been " "compromised.\n" @@ -1208,30 +1111,30 @@ "However, for security reasons the connection will not be established!!!" msgstr "" -#: ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/frontend.py:715 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - EOF error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 msgid "Authentication protocol communication incomplete! Try again..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:778 +#: ../pyhoca/wxgui/frontend.py:757 msgid "An unknown error occurred during authentication!" msgstr "" -#: ../pyhoca/wxgui/frontend.py:807 +#: ../pyhoca/wxgui/frontend.py:786 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "" -#: ../pyhoca/wxgui/frontend.py:808 +#: ../pyhoca/wxgui/frontend.py:787 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1242,16 +1145,16 @@ "DirectRDP support will be available in %s (>= 1.0.0.0)." msgstr "" -#: ../pyhoca/wxgui/frontend.py:823 +#: ../pyhoca/wxgui/frontend.py:799 msgid "Unknown session profile, configure before using it..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:884 +#: ../pyhoca/wxgui/frontend.py:830 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "" -#: ../pyhoca/wxgui/frontend.py:885 +#: ../pyhoca/wxgui/frontend.py:831 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1263,57 +1166,57 @@ "X2Go Server 4.1.0.0 and above." msgstr "" -#: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:889 ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "%s - session warning" msgstr "" -#: ../pyhoca/wxgui/frontend.py:943 +#: ../pyhoca/wxgui/frontend.py:889 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1084 +#: ../pyhoca/wxgui/frontend.py:1030 msgid "Cleaning X2Go sessions..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 #, python-format msgid "%s - disconnect" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 msgid "X2Go Profile is now disconnected." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1153 +#: ../pyhoca/wxgui/frontend.py:1099 msgid "New Session Profile" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1208 +#: ../pyhoca/wxgui/frontend.py:1154 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 #, python-format msgid "%s - profile deleted" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 msgid "The session profile has been deleted." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1225 +#: ../pyhoca/wxgui/frontend.py:1174 msgid "import session profile(s)" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1237 +#: ../pyhoca/wxgui/frontend.py:1186 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1238 +#: ../pyhoca/wxgui/frontend.py:1187 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" @@ -1322,12 +1225,12 @@ "Are you sure the session profiles file has the correct format?" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1266 +#: ../pyhoca/wxgui/frontend.py:1215 #, python-format msgid "%s: Write failure after import" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1267 +#: ../pyhoca/wxgui/frontend.py:1216 msgid "" "The session profiles configuration could not be written to file after " "import\n" @@ -1335,47 +1238,47 @@ "Check for common problems (disk full, insufficient access, etc.)." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1272 +#: ../pyhoca/wxgui/frontend.py:1221 msgid "None of the session profiles could be imported..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 +#: ../pyhoca/wxgui/frontend.py:1224 ../pyhoca/wxgui/frontend.py:1234 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1279 +#: ../pyhoca/wxgui/frontend.py:1228 msgid "Only these session profiles could be imported..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1282 +#: ../pyhoca/wxgui/frontend.py:1231 msgid "Whereas these session profiles failed to import..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1288 +#: ../pyhoca/wxgui/frontend.py:1237 msgid "New session profiles have been imported..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1293 +#: ../pyhoca/wxgui/frontend.py:1242 msgid "New session profile has been imported..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1322 +#: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "%s - export session profiles" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1327 +#: ../pyhoca/wxgui/frontend.py:1276 #, python-format msgid "%s - export session profile" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1339 +#: ../pyhoca/wxgui/frontend.py:1288 #, python-format msgid "%s: Export file already exists" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1340 +#: ../pyhoca/wxgui/frontend.py:1289 #, python-format msgid "" "The file »%s« already exists in this folder.\n" @@ -1383,32 +1286,32 @@ "Do you want to replace it?" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "%s - profiles exported" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "%s - profile exported" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1367 +#: ../pyhoca/wxgui/frontend.py:1316 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1368 +#: ../pyhoca/wxgui/frontend.py:1317 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" @@ -1417,12 +1320,12 @@ "Check for common problems (disk full, insufficient access, etc.)." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1387 +#: ../pyhoca/wxgui/frontend.py:1336 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1553 +#: ../pyhoca/wxgui/frontend.py:1502 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" @@ -1431,17 +1334,17 @@ "Are you sure you want to continue connecting?" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1561 +#: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s: Confirm Host Authorization" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "%s - channel error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" @@ -1449,12 +1352,12 @@ "Try to re-authenticate to the server..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 #, python-format msgid "%s - SFTP client error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" @@ -1464,168 +1367,163 @@ "Not starting new session..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 -#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1591 ../pyhoca/wxgui/frontend.py:1647 +#: ../pyhoca/wxgui/frontend.py:1649 ../pyhoca/wxgui/frontend.py:1685 #, python-format msgid "%s - session failure" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1642 +#: ../pyhoca/wxgui/frontend.py:1591 msgid "The session startup failed." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1655 -msgid "The session initialization failed." -msgstr "" - -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 #, python-format msgid "%s - desktop sharing failure" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 #, python-format msgid "%s - timeout" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "%s - desktop sharing failed" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1711 +#: ../pyhoca/wxgui/frontend.py:1647 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1713 +#: ../pyhoca/wxgui/frontend.py:1649 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1685 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " -"X2Go/SSH server. Subsystem %sstartup failed." +"X2Go/SSH server. Session startup failed." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 #, python-format msgid "%s - audio warning" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1718 #, python-format msgid "%s - audio error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1782 +#: ../pyhoca/wxgui/frontend.py:1711 msgid "The X2Go PulseAudio system could not be started." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1718 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - audio problem" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "%s - client-side printing not available" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "%s - MIME box not available" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "%s - client-side folders not sharable" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "%s - client resources not sharable" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1797 ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "%s - print error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1868 +#: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "%s\n" @@ -1633,7 +1531,7 @@ "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "" "%s\n" @@ -1641,235 +1539,210 @@ "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1814 ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "%s - start" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1885 +#: ../pyhoca/wxgui/frontend.py:1814 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1844 ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "%s - resume" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1915 +#: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "%s - running" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "%s - suspend" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "%s - terminate" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 -#, python-format -msgid "%s: connection failure" -msgstr "" - -#: ../pyhoca/wxgui/frontend.py:2017 -#, python-format -msgid "" -"While initializing a session for profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" - -#: ../pyhoca/wxgui/frontend.py:2023 -#, python-format -msgid "" -"While connecting to profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" - -#: ../pyhoca/wxgui/messages.py:70 +#: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" -#: ../pyhoca/wxgui/messages.py:71 -#, python-brace-format +#: ../pyhoca/wxgui/messages.py:73 +#, python-format msgid "" -"{appname} is already running for user ,,{username}''!\n" +"PyHoca-GUI is already running for user ,,%s''!\n" "\n" -"Only one instance of {appname} can be started per\n" -"user. The {appname} icon can be found in your desktop's\n" +"Only one instance of PyHoca-GUI can be started per\n" +"user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" -#: ../pyhoca/wxgui/messages.py:109 +#: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "" -#: ../pyhoca/wxgui/messages.py:110 +#: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "" -#: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 +#: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:67 +#: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:69 +#: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:74 +#: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:75 +#: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:76 +#: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:77 +#: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:78 +#: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:81 +#: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:115 +#: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" -msgstr "Udskrifts handling" +msgstr "Udskriftshandling" -#: ../pyhoca/wxgui/printingprefs.py:117 +#: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" -msgstr "Standard handling for indkommende udskrifts job" +msgstr "Standardhandling for inkommende udskriftsjobs" #. widgets for print action PDFVIEW -#: ../pyhoca/wxgui/printingprefs.py:121 +#: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "PDF fremviser kommando" #. widgets for print action PDFSAVE -#: ../pyhoca/wxgui/printingprefs.py:128 +#: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" -msgstr "Gem PDF'er til mappe" +msgstr "Gem PDF-filer til mappe" #. widgets for print action PRINT -#: ../pyhoca/wxgui/printingprefs.py:135 +#: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "Brug denne printer" #. widgets for print action PRINTCMD -#: ../pyhoca/wxgui/printingprefs.py:139 +#: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" -msgstr "Bruger Difineret printer kommando" +msgstr "Tilpasser printerkommando" -#: ../pyhoca/wxgui/printingprefs.py:146 +#: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "Udskriv" -#: ../pyhoca/wxgui/printingprefs.py:250 +#: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "- ingen printere installeret -" -#: ../pyhoca/wxgui/printingprefs.py:255 +#: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" -msgstr "- udskrifts system er ikke tilgængeligt -" +msgstr "- udskriftssystem er ikke tilgængeligt" -#: ../pyhoca/wxgui/printingprefs.py:409 +#: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" -msgstr "Vælg PDF fremviser program" +msgstr "Vælg PDF fremviser" -#: ../pyhoca/wxgui/printingprefs.py:432 +#: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" -msgstr "Vælg lokation for at gemme PDF" +msgstr "Vælg lokation for gemte PDF-filer" -#: ../pyhoca/wxgui/sessiontitle.py:65 +#: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" -msgstr "Session tiel -%s" +msgstr "Sessionstiel -%s" -#: ../pyhoca/wxgui/sessiontitle.py:67 +#: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" -msgstr "Skift session titel til" +msgstr "Skift sessionsitel til" -#: ../pyhoca/wxgui/sessiontitle.py:69 +#: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "OK" -#: ../pyhoca/wxgui/serverinfo.py:61 +#: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "Server Information - %s" -#: ../pyhoca/wxgui/serverinfo.py:63 +#: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" -"Session profil: %s\n" +"Sessionsprofil: %s\n" "\n" -"Liste over X2Go Server komponenter, tilføjelser og deres versioner..." +"Liste over X2Go server komponenter, tilføjelser og deres versioner..." -#: ../pyhoca/wxgui/serverinfo.py:68 +#: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" -msgstr "Genopfrisk" +msgstr "Opfrisk" -#: ../pyhoca/wxgui/serverinfo.py:69 +#: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "Luk" -#: ../pyhoca/wxgui/serverinfo.py:138 +#: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "X2Go Server" -#: ../pyhoca/wxgui/serverinfo.py:139 +#: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" -msgstr "Server Kerne" +msgstr "Serverkerne" -#: ../pyhoca/wxgui/serverinfo.py:147 +#: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "Server Udvidelser" -#: ../pyhoca/wxgui/serverinfo.py:153 +#: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "X2Go Server Tilføjelser" -#: ../pyhoca/wxgui/serverinfo.py:157 +#: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "X2Go Server Features" -#~ msgid "PyHoca-GUI Profile Manager - %s" -#~ msgstr "PyHoca-GUI Profilmanager - %s" - #~ msgid "%s - auth key error" #~ msgstr "%s - auth nøglefejl" diff -Nru pyhoca-gui-0.5.0.3/po/de.po pyhoca-gui-0.4.0.9/po/de.po --- pyhoca-gui-0.5.0.3/po/de.po 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/po/de.po 2015-09-23 07:21:47.000000000 +0000 @@ -1,5 +1,5 @@ # PyHoca-GUI / i18n. -# Copyright (C) 2010-2014 Mike Gabriel +# Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # Mike Gabriel , 2011. @@ -8,10 +8,10 @@ msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-20 12:52+0200\n" -"PO-Revision-Date: 2014-06-29 14:28+0100\n" +"POT-Creation-Date: 2013-11-21 23:29+0100\n" +"PO-Revision-Date: 2013-11-21 23:36+0100\n" "Last-Translator: Mike Gabriel \n" -"Language-Team: X2Go i18n \n" +"Language-Team: X2Go i18n \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,168 +20,146 @@ "X-Poedit-Country: GERMANY\n" "X-Poedit-SourceCharset: utf-8\n" -#: ../pyhoca/wxgui/brokerlogon.py:54 -msgid "Logon" -msgstr "Anmeldung" - -#: ../pyhoca/wxgui/brokerlogon.py:57 -msgid "Broker URL" -msgstr "Broker-URL" +#: ../pyhoca/wxgui/logon.py:92 +#, python-format +msgid "%s (via %s)" +msgstr "%s (via %s)" -#: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 -#: ../pyhoca/wxgui/logon.py:99 +#: ../pyhoca/wxgui/logon.py:98 +#: ../pyhoca/wxgui/logon.py:110 msgid "Username" msgstr "Benutzername" -#: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 -#: ../pyhoca/wxgui/logon.py:101 +#: ../pyhoca/wxgui/logon.py:100 +#: ../pyhoca/wxgui/logon.py:112 msgid "Password" msgstr "Kennwort" -#: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 +#: ../pyhoca/wxgui/logon.py:103 msgid "Authenticate" msgstr "Anmelden" -#: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 -#: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 -#: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 -#: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 -msgid "Cancel" -msgstr "Abbrechen" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -#, python-format -msgid "%s - success" -msgstr "%s - erfolgreich" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -msgid "" -"Authentication to session broker has been\n" -"successful." -msgstr "" -"Anmeldung am Sitzungsbroker war\n" -"erfolgreich." - -#: ../pyhoca/wxgui/brokerlogon.py:167 -#, python-format -msgid "%s - failure" -msgstr "%s - fehlgeschlagen" - -#: ../pyhoca/wxgui/brokerlogon.py:167 -msgid "Authentication to session broker failed." -msgstr "Die Anmeldung am Sitzungsbroker ist fehlgeschlagen." - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "%s: Connection refused error" -msgstr "%s: Die Verbindung wurde verweigert" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "Connection to %s failed. Retry?" -msgstr "Verbindung mit %s ist fehlgeschlagen. Nochmal versuchen?" - -#: ../pyhoca/wxgui/logon.py:81 -#, python-format -msgid "%s (via %s)" -msgstr "%s (via %s)" - -#: ../pyhoca/wxgui/logon.py:104 +#: ../pyhoca/wxgui/logon.py:115 msgid "Start SSH tunnel" msgstr "SSH Tunnel aufbauen" -#: ../pyhoca/wxgui/logon.py:112 +#: ../pyhoca/wxgui/logon.py:123 msgid "Session login" msgstr "Sitzungslogin" -#: ../pyhoca/wxgui/logon.py:113 +#: ../pyhoca/wxgui/logon.py:124 msgid "SSH proxy server login" msgstr "Anmeldung an SSH Proxy" -#: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 -#: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 -#: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 -#: ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:135 +#: ../pyhoca/wxgui/passphrase.py:102 +#: ../pyhoca/wxgui/profilemanager.py:375 +#: ../pyhoca/wxgui/listdesktops.py:98 +#: ../pyhoca/wxgui/messages.py:130 +#: ../pyhoca/wxgui/printingprefs.py:147 +#: ../pyhoca/wxgui/sessiontitle.py:85 +msgid "Cancel" +msgstr "Abbrechen" + +#: ../pyhoca/wxgui/logon.py:307 +#: ../pyhoca/wxgui/logon.py:360 +#: ../pyhoca/wxgui/passphrase.py:225 +#: ../pyhoca/wxgui/passphrase.py:232 +#: ../pyhoca/wxgui/passphrase.py:239 +#: ../pyhoca/wxgui/passphrase.py:246 +#: ../pyhoca/wxgui/frontend.py:617 #, python-format msgid "%s - connect failure" msgstr "%s - Verbindung fehlgeschlagen" -#: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:308 +#: ../pyhoca/wxgui/frontend.py:617 msgid "User is not allowed to start X2Go sessions!" msgstr "Benutzer darf keine X2Go Sitzungen starten!" -#: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/logon.py:313 +#: ../pyhoca/wxgui/passphrase.py:207 +#: ../pyhoca/wxgui/frontend.py:624 #, python-format msgid "%s - connect" msgstr "%s - verbinden" -#: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 +#: ../pyhoca/wxgui/logon.py:314 +#: ../pyhoca/wxgui/passphrase.py:208 msgid "Authentication has been successful." msgstr "Anmeldung war erfolgreich." -#: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 +#: ../pyhoca/wxgui/logon.py:356 +#: ../pyhoca/wxgui/logon.py:456 msgid "SSH tunnel started" msgstr "SSH Tunnel gestartet" -#: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 +#: ../pyhoca/wxgui/logon.py:361 +#: ../pyhoca/wxgui/passphrase.py:240 msgid "Authentication failed!" msgstr "Anmeldung fehlgeschlagen!" -#: ../pyhoca/wxgui/logon.py:358 +#: ../pyhoca/wxgui/logon.py:369 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH Proxy" -#: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 +#: ../pyhoca/wxgui/logon.py:370 +#: ../pyhoca/wxgui/passphrase.py:247 msgid "Authentication to the SSH proxy server failed!" msgstr "Anmeldung am SSH Proxy Server ist fehlgeschlagen" -#: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 -#: ../pyhoca/wxgui/frontend.py:750 +#: ../pyhoca/wxgui/logon.py:397 +#: ../pyhoca/wxgui/passphrase.py:253 +#: ../pyhoca/wxgui/frontend.py:729 #, python-format msgid "%s - socket error" msgstr "%s - Socket-Fehler" -#: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 -#: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/logon.py:404 +#: ../pyhoca/wxgui/passphrase.py:260 +#: ../pyhoca/wxgui/frontend.py:708 +#: ../pyhoca/wxgui/frontend.py:715 #, python-format msgid "%s - host key error" msgstr "%s - ungültiger Server-Schlüssel" -#: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 -#: ../pyhoca/wxgui/frontend.py:729 -msgid "" -"The remote server's host key is invalid or has not been accepted by the user" -msgstr "" -"Der Host-Schlüssel des X2Go Servers ist ungültig oder wurde vom Benutzer " -"nicht akzeptiert" - -#: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:405 +#: ../pyhoca/wxgui/passphrase.py:261 +#: ../pyhoca/wxgui/frontend.py:708 +msgid "The remote server's host key is invalid or has not been accepted by the user" +msgstr "Der Host-Schlüssel des X2Go Servers ist ungültig oder wurde vom Benutzer nicht akzeptiert" + +#: ../pyhoca/wxgui/logon.py:412 +#: ../pyhoca/wxgui/passphrase.py:268 +#: ../pyhoca/wxgui/frontend.py:743 #, python-format msgid "%s - missing home directory" msgstr "%s - Benutzerverzeichnis nicht vorhanden" -#: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:413 +#: ../pyhoca/wxgui/passphrase.py:269 +#: ../pyhoca/wxgui/frontend.py:743 msgid "The remote user's home directory does not exist." -msgstr "" -"Das serverseitige Benutzerverzeichnis (HOME-Verzeichnis) existiert nicht." +msgstr "Das serverseitige Benutzerverzeichnis (HOME-Verzeichnis) existiert nicht." -#: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 +#: ../pyhoca/wxgui/logon.py:420 +#: ../pyhoca/wxgui/passphrase.py:291 #, python-format msgid "%s - key error" msgstr "%s - ungültiger Schlüssel" -#: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 -#: ../pyhoca/wxgui/frontend.py:771 +#: ../pyhoca/wxgui/logon.py:428 +#: ../pyhoca/wxgui/passphrase.py:299 +#: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - auth error" msgstr "%s - Anmeldefehler" -#: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 -#: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 +#: ../pyhoca/wxgui/logon.py:460 +#: ../pyhoca/wxgui/passphrase.py:287 +#: ../pyhoca/wxgui/passphrase.py:318 +#: ../pyhoca/wxgui/frontend.py:678 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" @@ -189,1086 +167,1040 @@ "\n" "However, for security reasons the connection will not be established!!!" msgstr "" -"Überprüfung des Hostkeys fehlgeschlagen. Der X2Go Server könnte " -"kompromittiert worden sein.\n" +"Überprüfung des Hostkeys fehlgeschlagen. Der X2Go Server könnte kompromittiert worden sein.\n" "\n" "Ebenso ist es möglich, dass der Hostkey einfach nur geändert wurde.\n" "\n" "Dennoch wird die Verbindung aus Sicherheitsgründen abgebrochen!!!" -#: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 -#: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 +#: ../pyhoca/wxgui/logon.py:465 +#: ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/frontend.py:686 +#: ../pyhoca/wxgui/frontend.py:706 #, python-format msgid "%s - SSH error" msgstr "%s - SSH-Fehler" -#: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 +#: ../pyhoca/wxgui/logon.py:475 +#: ../pyhoca/wxgui/passphrase.py:331 #, python-format msgid "%s - unknown error" msgstr "%s - unbekannter Fehler" -#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/logon.py:476 +#: ../pyhoca/wxgui/passphrase.py:332 msgid "An unknown error occured during authentication!" msgstr "Ein unbekannter Fehler ist während der Serveranmeldung aufgetreten!" -#: ../pyhoca/wxgui/passphrase.py:69 +#: ../pyhoca/wxgui/passphrase.py:78 #, python-format msgid "%s (SSH proxy)" msgstr "%s (SSH Proxy)" -#: ../pyhoca/wxgui/passphrase.py:71 +#: ../pyhoca/wxgui/passphrase.py:80 #, python-format msgid "%s (X2Go Server)" msgstr "%s (X2Go Server)" -#: ../pyhoca/wxgui/passphrase.py:81 +#: ../pyhoca/wxgui/passphrase.py:90 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "Privaten SSH-Schlüssel (%s) entsperren..." -#: ../pyhoca/wxgui/passphrase.py:83 +#: ../pyhoca/wxgui/passphrase.py:92 msgid "Unlock auto-discovered SSH private key..." msgstr "Automatisch erkannten SSH-Schlüssel entsperren..." -#: ../pyhoca/wxgui/passphrase.py:85 +#: ../pyhoca/wxgui/passphrase.py:94 msgid "Passphrase" msgstr "Passphrase" -#: ../pyhoca/wxgui/passphrase.py:88 +#: ../pyhoca/wxgui/passphrase.py:97 msgid "Unlock SSH key" msgstr "SSH-Schlüssel entsperren" -#: ../pyhoca/wxgui/passphrase.py:217 +#: ../pyhoca/wxgui/passphrase.py:226 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "SSH-Schlüssel (für X2Go Server) konnte nicht entsperrt werden!" -#: ../pyhoca/wxgui/passphrase.py:224 +#: ../pyhoca/wxgui/passphrase.py:233 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "SSH-Schlüsseldatei (für SSH-Proxy) konnte nicht entsperrt werden!" -#: ../pyhoca/wxgui/taskbar.py:111 +#: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" -"%s\n" +"PyHoca-GUI\n" "Verbinde mit ,,%s''" -#: ../pyhoca/wxgui/taskbar.py:115 +#: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Verbindungsaufbau zu X2Go Server ,,%s'' läuft" -#: ../pyhoca/wxgui/taskbar.py:125 -#, python-format +#: ../pyhoca/wxgui/taskbar.py:139 msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to X2Go..." -msgstr "" -"%s\n" -"Verbinden mit X2Go Server..." +msgstr "Verbinden mit X2Go Server..." -#: ../pyhoca/wxgui/taskbar.py:129 -#, python-format +#: ../pyhoca/wxgui/taskbar.py:143 msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Verbindungen zu entferntem X2Go Server aufbauen" -#: ../pyhoca/wxgui/profilemanager.py:81 +#: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" -#: ../pyhoca/wxgui/profilemanager.py:82 +#: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" -#: ../pyhoca/wxgui/profilemanager.py:83 +#: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" -#: ../pyhoca/wxgui/profilemanager.py:84 +#: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" -#: ../pyhoca/wxgui/profilemanager.py:85 +#: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" -#: ../pyhoca/wxgui/profilemanager.py:86 +#: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (ähnlich KDE3)" -#: ../pyhoca/wxgui/profilemanager.py:87 +#: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Umgebung (UNITY)" -#: ../pyhoca/wxgui/profilemanager.py:88 +#: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" -#: ../pyhoca/wxgui/profilemanager.py:89 +#: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "Server-publizierte Anwendungen" -#: ../pyhoca/wxgui/profilemanager.py:90 +#: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "Einzelne Anwendung" -#: ../pyhoca/wxgui/profilemanager.py:91 +#: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "Desktopsharing Sitzung (SHADOW)" -#: ../pyhoca/wxgui/profilemanager.py:92 +#: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "XDMCP-Serveranfrage (Query)" -#: ../pyhoca/wxgui/profilemanager.py:93 +#: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminalserver (RDP via X2Go-Proxy)" -#: ../pyhoca/wxgui/profilemanager.py:94 +#: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (Direktes RDP)" -#: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 +#: ../pyhoca/wxgui/profilemanager.py:93 +#: ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "Benutzerdef. Kommando" -#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 +#: ../pyhoca/wxgui/profilemanager.py:98 +#: ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "Internetbrowser" -#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 +#: ../pyhoca/wxgui/profilemanager.py:99 +#: ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "E-Mail Programm" -#: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 +#: ../pyhoca/wxgui/profilemanager.py:100 +#: ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "Büroprogramm (Office)" -#: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 +#: ../pyhoca/wxgui/profilemanager.py:101 +#: ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "Terminalkonsole" -#: ../pyhoca/wxgui/profilemanager.py:106 -msgid "between client and server" -msgstr "zwischen Client und Server" - -#: ../pyhoca/wxgui/profilemanager.py:107 -msgid "from server to client only" -msgstr "nur vom Server zum Client" - -#: ../pyhoca/wxgui/profilemanager.py:108 -msgid "from client to server only" -msgstr "nur vom Client zum Server" - -#: ../pyhoca/wxgui/profilemanager.py:109 -msgid "not at all" -msgstr "überhaupt nicht" - -#: ../pyhoca/wxgui/profilemanager.py:127 +#: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "Mit Standardanwendung des Systems öffnen" -#: ../pyhoca/wxgui/profilemanager.py:128 +#: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "Auswahldialog öffnen, um Anwendung auszuwählen" -#: ../pyhoca/wxgui/profilemanager.py:129 +#: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "Eingehende Datei speichern unter ..." -#: ../pyhoca/wxgui/profilemanager.py:157 +#: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "Einstellungen übernommen von" #. boxes for all tabs -#: ../pyhoca/wxgui/profilemanager.py:205 +#: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "Sitzungstitel" -#: ../pyhoca/wxgui/profilemanager.py:206 +#: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "Sitzungsfenster" -#: ../pyhoca/wxgui/profilemanager.py:207 +#: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "Sitzungsstart" -#: ../pyhoca/wxgui/profilemanager.py:208 +#: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "Server" -#: ../pyhoca/wxgui/profilemanager.py:209 +#: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "Proxy" -#: ../pyhoca/wxgui/profilemanager.py:210 +#: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "Verbindungsgeschwindigkeit" -#: ../pyhoca/wxgui/profilemanager.py:211 +#: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "Komprimierung" -#: ../pyhoca/wxgui/profilemanager.py:212 +#: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "Anzeige" -#: ../pyhoca/wxgui/profilemanager.py:213 -msgid "Clipboard" -msgstr "Zwischenablage" - -#: ../pyhoca/wxgui/profilemanager.py:214 +#: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "Tastatur" -#: ../pyhoca/wxgui/profilemanager.py:215 +#: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "Audio" -#: ../pyhoca/wxgui/profilemanager.py:216 +#: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "Drucken" -#: ../pyhoca/wxgui/profilemanager.py:217 +#: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "Ordnerfreigabe" -#: ../pyhoca/wxgui/profilemanager.py:218 +#: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "Dateiimport" #. ## #. ## widgets for the PROFILE tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:223 +#: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "Name" -#: ../pyhoca/wxgui/profilemanager.py:230 +#: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "Sitzungsfenstertitel setzen" -#: ../pyhoca/wxgui/profilemanager.py:231 +#: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "Standardtitel für Sitzungsfenster" -#: ../pyhoca/wxgui/profilemanager.py:232 +#: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "Sitzungstitel anpassen" -#: ../pyhoca/wxgui/profilemanager.py:251 +#: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "Fenstersymbol" #. ## #. ## widgets for the SESSION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:257 +#: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "Sitzung nach Anmeldung automatisch starten" -#: ../pyhoca/wxgui/profilemanager.py:258 +#: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "Automatisch anmelden nach %s Programmstart (nur mit --auto-connect)" -#: ../pyhoca/wxgui/profilemanager.py:259 +#: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "Typ" -#: ../pyhoca/wxgui/profilemanager.py:261 +#: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "Anwendung" -#: ../pyhoca/wxgui/profilemanager.py:265 +#: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "XDMCP Server" -#: ../pyhoca/wxgui/profilemanager.py:267 +#: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "RDP Server" -#: ../pyhoca/wxgui/profilemanager.py:269 +#: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "RDP Optionen" -#: ../pyhoca/wxgui/profilemanager.py:271 +#: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" -msgstr "" -"Serverseitige Anwendung(en) in lokalen Desktop integrieren (sog. rootless " -"Modus)" +msgstr "Serverseitige Anwendung(en) in lokalen Desktop integrieren (sog. rootless Modus)" -#: ../pyhoca/wxgui/profilemanager.py:272 +#: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "Menü mit Server-publizierten Anwendungen" #. ## #. ## widgets for the CONNECTION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 +#: ../pyhoca/wxgui/profilemanager.py:261 +#: ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "Benutzer" -#: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 +#: ../pyhoca/wxgui/profilemanager.py:263 +#: ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "Hostname" -#: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 +#: ../pyhoca/wxgui/profilemanager.py:265 +#: ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "Port" -#: ../pyhoca/wxgui/profilemanager.py:285 +#: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "Schlüssel" -#: ../pyhoca/wxgui/profilemanager.py:288 +#: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "Finde SSH Schlüssel oder verwende SSH Agent für X2Go-Anmeldung" -#: ../pyhoca/wxgui/profilemanager.py:290 +#: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Weiterleitung von SSH Agent Authentifizierungsanfragen" -#: ../pyhoca/wxgui/profilemanager.py:291 +#: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" -msgstr "" -"SSH Host-Schlüssel unter der (eindeutigen) X2Go Sitzungsprofil-ID speichern" +msgstr "SSH Host-Schlüssel unter der (eindeutigen) X2Go Sitzungsprofil-ID speichern" -#: ../pyhoca/wxgui/profilemanager.py:292 +#: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "Server hinter SSH-Proxy" -#: ../pyhoca/wxgui/profilemanager.py:295 +#: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "Verwende gleichen Anmeldenamen für X2Go Server und Proxy" -#: ../pyhoca/wxgui/profilemanager.py:296 +#: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "Verwende die gleichen Anmeldeinformationen für X2Go Server und Proxy" -#: ../pyhoca/wxgui/profilemanager.py:297 +#: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "Schlüssel" -#: ../pyhoca/wxgui/profilemanager.py:304 +#: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "Finde SSH Schlüssel oder verwende SSH Agent für Proxy-Anmeldung" -#: ../pyhoca/wxgui/profilemanager.py:307 +#: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "Modem" -#: ../pyhoca/wxgui/profilemanager.py:308 +#: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "ISDN" -#: ../pyhoca/wxgui/profilemanager.py:309 +#: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "ADSL" -#: ../pyhoca/wxgui/profilemanager.py:310 +#: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "WAN" -#: ../pyhoca/wxgui/profilemanager.py:311 +#: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "LAN" -#: ../pyhoca/wxgui/profilemanager.py:313 +#: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "Methode" -#: ../pyhoca/wxgui/profilemanager.py:315 +#: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "Bildqualität" #. ## #. ## wigdets for the IO tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:321 +#: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "Vollbild" -#: ../pyhoca/wxgui/profilemanager.py:322 +#: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "Maximiert" -#: ../pyhoca/wxgui/profilemanager.py:323 +#: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "Benutzerdefinierte Größe" -#: ../pyhoca/wxgui/profilemanager.py:328 +#: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "DPI-Wert für Anzeige setzen" -#: ../pyhoca/wxgui/profilemanager.py:330 -msgid "Allow copy'n'paste" -msgstr "Kopieren und Einfügen erlauben" - -#: ../pyhoca/wxgui/profilemanager.py:332 +#: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" -msgstr "" -"Keine Einstellungen (zum Konfigurieren der Tastatur müssen Server-seitige " -"Tools verwendet werden)" +msgstr "Keine Einstellungen (zum Konfigurieren der Tastatur müssen Server-seitige Tools verwendet werden)" -#: ../pyhoca/wxgui/profilemanager.py:333 -msgid "" -"Automatically detect and use client-side keyboard configuration inside the " -"session" -msgstr "" -"Tastaturkonfiguration dieses Computers automatisch erkennen und in der " -"Sitzung verwenden" +#: ../pyhoca/wxgui/profilemanager.py:313 +msgid "Automatically detect and use client-side keyboard configuration inside the session" +msgstr "Tastaturkonfiguration dieses Computers automatisch erkennen und in der Sitzung verwenden" -#: ../pyhoca/wxgui/profilemanager.py:334 +#: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "Tastatureinstellungen der Sitzung wie folgt anpassen" -#: ../pyhoca/wxgui/profilemanager.py:335 +#: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "Tastaturmodell" -#: ../pyhoca/wxgui/profilemanager.py:337 +#: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "Layout" -#: ../pyhoca/wxgui/profilemanager.py:339 +#: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "Layoutvariante" #. ## #. ## wigdets for the MEDIA tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:344 +#: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "Audiounterstützung aktivieren" -#: ../pyhoca/wxgui/profilemanager.py:345 +#: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "Pulse Audio" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this -#: ../pyhoca/wxgui/profilemanager.py:349 +#: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "Arts (nicht unterstützt)" -#: ../pyhoca/wxgui/profilemanager.py:352 +#: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "esd" -#: ../pyhoca/wxgui/profilemanager.py:353 +#: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "Standard Audio-Port verwenden" -#: ../pyhoca/wxgui/profilemanager.py:354 +#: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "Benutzerdefinierter Audio-Port" -#: ../pyhoca/wxgui/profilemanager.py:357 +#: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "Unterstützung für lokale Druckeranbindung" #. ## #. ## wigdets for the SHARING tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:363 +#: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "Lokale Ordnerfreigabe verwenden" -#: ../pyhoca/wxgui/profilemanager.py:364 +#: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "Freigabenliste nach Sitzungsende speichern" -#: ../pyhoca/wxgui/profilemanager.py:365 +#: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "Pfad" -#: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 +#: ../pyhoca/wxgui/profilemanager.py:349 +#: ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "Hinzufügen" -#: ../pyhoca/wxgui/profilemanager.py:370 +#: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "Lokaler Pfad" -#: ../pyhoca/wxgui/profilemanager.py:371 +#: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "Verbindungsart" -#: ../pyhoca/wxgui/profilemanager.py:372 +#: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "Entfernen" -#: ../pyhoca/wxgui/profilemanager.py:374 +#: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "Zeichenkodierung zwischen Server und Client übersetzen" -#: ../pyhoca/wxgui/profilemanager.py:375 +#: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "Zeichenkodierung Client" -#: ../pyhoca/wxgui/profilemanager.py:377 +#: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "Server" -#: ../pyhoca/wxgui/profilemanager.py:380 +#: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "MIME-Box für lokalen Dateiimport verwenden" -#: ../pyhoca/wxgui/profilemanager.py:381 +#: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "Erweiterungen" -#: ../pyhoca/wxgui/profilemanager.py:383 +#: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "Aktion" -#: ../pyhoca/wxgui/profilemanager.py:388 +#: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "Standardwerte" -#: ../pyhoca/wxgui/profilemanager.py:390 +#: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "Speichern" -#: ../pyhoca/wxgui/profilemanager.py:391 +#: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "Zurücksetzen" -#: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 +#: ../pyhoca/wxgui/profilemanager.py:374 +#: ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "Anwenden" -#: ../pyhoca/wxgui/profilemanager.py:453 -#: ../pyhoca/wxgui/profilemanager.py:1184 -#: ../pyhoca/wxgui/profilemanager.py:2364 +#: ../pyhoca/wxgui/profilemanager.py:425 +#: ../pyhoca/wxgui/profilemanager.py:1141 +#: ../pyhoca/wxgui/profilemanager.py:2312 msgid "automatically" msgstr "automatisch" -#: ../pyhoca/wxgui/profilemanager.py:455 -#: ../pyhoca/wxgui/profilemanager.py:1186 +#: ../pyhoca/wxgui/profilemanager.py:427 +#: ../pyhoca/wxgui/profilemanager.py:1143 msgid "manually" msgstr "manuell" -#: ../pyhoca/wxgui/profilemanager.py:464 -#, python-format -msgid "%s Profile Manager - new profile" -msgstr "%s Profilmanager - neues Sitzungsprofil" - -#: ../pyhoca/wxgui/profilemanager.py:467 -#, python-format -msgid "%s Profile Manager - %s (connected)" -msgstr "%s Profilmanager - %s (verbunden)" - -#: ../pyhoca/wxgui/profilemanager.py:469 -#, python-format -msgid "%s Profile Manager - %s (connected, immutable)" -msgstr "%s Profilmanager - %s (verbunden, unveränderlich)" +#: ../pyhoca/wxgui/profilemanager.py:436 +msgid "PyHoca-GUI Profile Manager - new profile" +msgstr "PyHoca-GUI Profilmanager - neues Sitzungsprofil" -#: ../pyhoca/wxgui/profilemanager.py:472 +#: ../pyhoca/wxgui/profilemanager.py:438 #, python-format -msgid "%s Profile Manager - %s" -msgstr "%s Profilmanager - %s" +msgid "PyHoca-GUI Profile Manager - %s (connected)" +msgstr "PyHoca-GUI Profilmanager - %s (verbunden)" -#: ../pyhoca/wxgui/profilemanager.py:474 +#: ../pyhoca/wxgui/profilemanager.py:440 #, python-format -msgid "%s Profile Manager - %s (immutable)" -msgstr "%s Profilmanager - %s (unveränderlich)" +msgid "PyHoca-GUI Profile Manager - %s" +msgstr "PyHoca-GUI Profilmanager - %s" -#: ../pyhoca/wxgui/profilemanager.py:851 +#: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "Profil" -#: ../pyhoca/wxgui/profilemanager.py:852 +#: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "Sitzung" -#: ../pyhoca/wxgui/profilemanager.py:853 +#: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "Verbindung" -#: ../pyhoca/wxgui/profilemanager.py:854 +#: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "Verbindungsqualität" -#: ../pyhoca/wxgui/profilemanager.py:855 +#: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "Ein-/Ausgabe" -#: ../pyhoca/wxgui/profilemanager.py:856 +#: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "Medien" -#: ../pyhoca/wxgui/profilemanager.py:857 +#: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "Freigaben" -#: ../pyhoca/wxgui/profilemanager.py:1044 +#: ../pyhoca/wxgui/profilemanager.py:995 msgid "" msgstr "pc105/de" -#: ../pyhoca/wxgui/profilemanager.py:1045 +#: ../pyhoca/wxgui/profilemanager.py:996 msgid "" msgstr "de" -#: ../pyhoca/wxgui/profilemanager.py:1046 +#: ../pyhoca/wxgui/profilemanager.py:997 msgid "" msgstr "nodeadkeys" -#: ../pyhoca/wxgui/profilemanager.py:1504 +#: ../pyhoca/wxgui/profilemanager.py:1458 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Icon Dateien (*.png)|*.png|Alle Dateien (*.*)|*" -#: ../pyhoca/wxgui/profilemanager.py:1507 +#: ../pyhoca/wxgui/profilemanager.py:1461 msgid "Choose an icon for this session profile" msgstr "Sitzungs-Icon für dieses Sitzungsprofil auswählen" -#: ../pyhoca/wxgui/profilemanager.py:1956 +#: ../pyhoca/wxgui/profilemanager.py:1904 msgid "All files (*.*)|*" msgstr "Alle Dateien (*.*)|*" -#: ../pyhoca/wxgui/profilemanager.py:1958 -#: ../pyhoca/wxgui/profilemanager.py:1982 +#: ../pyhoca/wxgui/profilemanager.py:1906 +#: ../pyhoca/wxgui/profilemanager.py:1930 msgid "Choose a public SSH key" msgstr "Öffentlichen SSH-Schlüssel auswählen" -#: ../pyhoca/wxgui/profilemanager.py:2316 +#: ../pyhoca/wxgui/profilemanager.py:2264 msgid "Choose a folder to share within a session" msgstr "Ordner zur Freigabe für Sitzungen auswählen" -#: ../pyhoca/wxgui/profilemanager.py:2444 -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 +#: ../pyhoca/wxgui/profilemanager.py:2392 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 +#: ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "Profilmanager" -#: ../pyhoca/wxgui/profilemanager.py:2444 +#: ../pyhoca/wxgui/profilemanager.py:2392 msgid "Profile name is missing, profile unusable!!!" msgstr "Der Profilname fehlt, Profil so nicht verwendbar!!!" -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 #, python-format msgid "Profile name %s already exists!!!" msgstr "Ein Sitzungsprofil mit dem Namen %s existiert bereits!!!" -#: ../pyhoca/wxgui/profilemanager.py:2478 +#: ../pyhoca/wxgui/profilemanager.py:2425 #, python-format msgid "%s - profile added" msgstr "%s - Profil hinzugefügt" -#: ../pyhoca/wxgui/profilemanager.py:2479 +#: ../pyhoca/wxgui/profilemanager.py:2426 msgid "A new session profile has been added." msgstr "Ein neues Sitzungsprofil wurde hinzugefügt." -#: ../pyhoca/wxgui/profilemanager.py:2483 +#: ../pyhoca/wxgui/profilemanager.py:2430 #, python-format msgid "%s - modified" msgstr "%s - modifiziert" -#: ../pyhoca/wxgui/profilemanager.py:2484 +#: ../pyhoca/wxgui/profilemanager.py:2431 msgid "Changes to profile have been saved." msgstr "Änderungen am Profil wurden übernommen." -#: ../pyhoca/wxgui/listdesktops.py:66 +#: ../pyhoca/wxgui/listdesktops.py:81 #, python-format msgid "Share Desktop Session - %s" msgstr "Desktopsharing Sitzung - %s" -#: ../pyhoca/wxgui/listdesktops.py:68 +#: ../pyhoca/wxgui/listdesktops.py:83 msgid "Select one of the available desktop sessions on this server" msgstr "" "Bitte eine der verfügbaren Desktop-Sitzungen auf diesem\n" "Server auswählen" -#: ../pyhoca/wxgui/listdesktops.py:74 +#: ../pyhoca/wxgui/listdesktops.py:89 msgid "View session only" msgstr "Sitzung nur betrachten" -#: ../pyhoca/wxgui/listdesktops.py:75 +#: ../pyhoca/wxgui/listdesktops.py:90 msgid "Gain full access" msgstr "Vollzugriff erhalten" -#: ../pyhoca/wxgui/listdesktops.py:79 +#: ../pyhoca/wxgui/listdesktops.py:94 msgid "Share Desktop" msgstr "Desktopsharing starten" -#: ../pyhoca/wxgui/listdesktops.py:82 +#: ../pyhoca/wxgui/listdesktops.py:97 msgid "Refresh list" msgstr "Liste aktualisieren" -#: ../pyhoca/wxgui/menus_taskbar.py:65 +#: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "Sitzungsprofil bearbeiten" -#: ../pyhoca/wxgui/menus_taskbar.py:67 -msgid "View Profile" -msgstr "Profil ansehen" - -#: ../pyhoca/wxgui/menus_taskbar.py:75 +#: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "Als Vorlage für neues Profil verwenden" -#: ../pyhoca/wxgui/menus_taskbar.py:79 +#: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "Sitzungsprofil exportieren" -#: ../pyhoca/wxgui/menus_taskbar.py:83 +#: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "Sitzungsprofil löschen" -#: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 +#: ../pyhoca/wxgui/menus_taskbar.py:112 +#: ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "Über %s (%s) ..." -#: ../pyhoca/wxgui/menus_taskbar.py:139 +#: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "Sitzungsprofil verwalten" -#: ../pyhoca/wxgui/menus_taskbar.py:148 -msgid "Disconnect from session broker" -msgstr "Sitzung mit Broker beenden" - -#: ../pyhoca/wxgui/menus_taskbar.py:153 +#: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "Druckeinstellungen" -#: ../pyhoca/wxgui/menus_taskbar.py:161 +#: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "Optionen" -#: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 -#: ../pyhoca/wxgui/menus_taskbar.py:1070 +#: ../pyhoca/wxgui/menus_taskbar.py:163 +#: ../pyhoca/wxgui/menus_taskbar.py:829 +#: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "&Beenden" -#: ../pyhoca/wxgui/menus_taskbar.py:241 +#: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "Fenstertitel" -#: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 +#: ../pyhoca/wxgui/menus_taskbar.py:241 +#: ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "Sitzung fortsetzen" -#: ../pyhoca/wxgui/menus_taskbar.py:249 +#: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "Sitzung fortsetzen (nicht möglich)" -#: ../pyhoca/wxgui/menus_taskbar.py:260 +#: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "Sitzung übernehmen" -#: ../pyhoca/wxgui/menus_taskbar.py:262 +#: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "Sitzung übernehmen (nicht möglich)" -#: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 +#: ../pyhoca/wxgui/menus_taskbar.py:261 +#: ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "Sitzung anhalten (und Verbindung trenen / Anwendung beenden)" -#: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 +#: ../pyhoca/wxgui/menus_taskbar.py:263 +#: ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "Sitzungen anhalten (und Verbindung trennen)" -#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 +#: ../pyhoca/wxgui/menus_taskbar.py:265 +#: ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "Sitzung anhalten" -#: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 +#: ../pyhoca/wxgui/menus_taskbar.py:271 +#: ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "Sitzung beenden (und Verbindung trennen / Anwendung beenden)" -#: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 +#: ../pyhoca/wxgui/menus_taskbar.py:273 +#: ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "Sitzung beenden (und Verbindung trennen)" -#: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 +#: ../pyhoca/wxgui/menus_taskbar.py:275 +#: ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "Sitzung beenden" -#: ../pyhoca/wxgui/menus_taskbar.py:284 +#: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Desktopsharing beenden (und Verbindung trennen / Anwendung beenden)" -#: ../pyhoca/wxgui/menus_taskbar.py:286 +#: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "Desktopsharing beenden (und Verbindung trennen)" -#: ../pyhoca/wxgui/menus_taskbar.py:288 +#: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "Desktopsharing beenden" -#: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 +#: ../pyhoca/wxgui/menus_taskbar.py:286 +#: ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "Menübaum aktualisieren" -#: ../pyhoca/wxgui/menus_taskbar.py:301 +#: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "Sitzungsfenster umbenennen" -#: ../pyhoca/wxgui/menus_taskbar.py:302 +#: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "Sitzungsfenster anzeigen" -#: ../pyhoca/wxgui/menus_taskbar.py:344 +#: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "Lokalen Ordner für &Freigabe wählen" -#: ../pyhoca/wxgui/menus_taskbar.py:356 +#: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "Freigeben:" -#: ../pyhoca/wxgui/menus_taskbar.py:366 +#: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "Aushängen:" -#: ../pyhoca/wxgui/menus_taskbar.py:374 +#: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "Alle aushängen" -#: ../pyhoca/wxgui/menus_taskbar.py:380 +#: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "Freigaben in nächster Sitzung wiederherstellen" -#: ../pyhoca/wxgui/menus_taskbar.py:461 +#: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "Multimedia" -#: ../pyhoca/wxgui/menus_taskbar.py:462 +#: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "Entwicklung" -#: ../pyhoca/wxgui/menus_taskbar.py:463 +#: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "Bildung" -#: ../pyhoca/wxgui/menus_taskbar.py:464 +#: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "Spiele" -#: ../pyhoca/wxgui/menus_taskbar.py:465 +#: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "Grafik" -#: ../pyhoca/wxgui/menus_taskbar.py:466 +#: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "Internet" -#: ../pyhoca/wxgui/menus_taskbar.py:467 +#: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "Büroanwendungen" -#: ../pyhoca/wxgui/menus_taskbar.py:468 +#: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "System" -#: ../pyhoca/wxgui/menus_taskbar.py:469 +#: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "Dienstprogramme" -#: ../pyhoca/wxgui/menus_taskbar.py:470 +#: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "Weitere Anwendungen" -#: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 -msgid "Connect to" -msgstr "Verbinde mit" - -#: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 +#: ../pyhoca/wxgui/menus_taskbar.py:536 +#: ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "Mit %s verbinden" -#: ../pyhoca/wxgui/menus_taskbar.py:559 +#: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "Verbindung wird aufgebaut..." -#: ../pyhoca/wxgui/menus_taskbar.py:574 +#: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "&Neue Desktopsitzung starten" -#: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 +#: ../pyhoca/wxgui/menus_taskbar.py:561 +#: ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "Desktopsharing Sitzung starten" -#: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 +#: ../pyhoca/wxgui/menus_taskbar.py:567 +#: ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "Hole Anwendungsmenü..." -#: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 +#: ../pyhoca/wxgui/menus_taskbar.py:571 +#: ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "Hole Anwendungsmenü" -#: ../pyhoca/wxgui/menus_taskbar.py:591 +#: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "&Neue RDP-Sitzung starten" -#: ../pyhoca/wxgui/menus_taskbar.py:594 +#: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "&Neue Sitzung starten" -#: ../pyhoca/wxgui/menus_taskbar.py:674 +#: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "Einzelne Anwendung starten" -#: ../pyhoca/wxgui/menus_taskbar.py:715 +#: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "Anwendungsmenü verwalten" -#: ../pyhoca/wxgui/menus_taskbar.py:770 +#: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "aktiv" -#: ../pyhoca/wxgui/menus_taskbar.py:772 +#: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "angehalten" -#: ../pyhoca/wxgui/menus_taskbar.py:791 +#: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "Alle Sitzungen beenden" -#: ../pyhoca/wxgui/menus_taskbar.py:798 +#: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "Sitzungsprofil anpassen" -#: ../pyhoca/wxgui/menus_taskbar.py:800 -msgid "View &profile" -msgstr "&Profil ansehen" - -#: ../pyhoca/wxgui/menus_taskbar.py:815 +#: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "Freigegebene Ordner" -#: ../pyhoca/wxgui/menus_taskbar.py:827 +#: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "Server-Information" -#: ../pyhoca/wxgui/menus_taskbar.py:834 +#: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "Von Server trennen" -#: ../pyhoca/wxgui/menus_taskbar.py:841 +#: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "Sitzung anhalten und Anwendung beenden" -#: ../pyhoca/wxgui/menus_taskbar.py:845 +#: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "Verbindung Trennen und Anwendung schließen" -#: ../pyhoca/wxgui/menus_taskbar.py:899 +#: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "Sitzungsprofil hinzufügen" -#: ../pyhoca/wxgui/menus_taskbar.py:976 -msgid "Session broker is not connected" -msgstr "Sitzungsbroker ist nicht verbunden" - -#: ../pyhoca/wxgui/menus_taskbar.py:978 +#: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "keine Sitzungsprofile definiert" -#: ../pyhoca/wxgui/menus_taskbar.py:989 +#: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "Alle Sitzungsprofile exportieren" -#: ../pyhoca/wxgui/menus_taskbar.py:991 +#: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "Sitzungsprofilgruppe exportieren" -#: ../pyhoca/wxgui/menus_taskbar.py:997 +#: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "Sitzungsprofile importieren" -#: ../pyhoca/wxgui/menus_taskbar.py:1040 +#: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "Serververbindung aufbauen" -#: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 +#: ../pyhoca/wxgui/about.py:88 +#: ../pyhoca/wxgui/about.py:90 #, python-format msgid "About %s ..." msgstr "Über %s ..." -#: ../pyhoca/wxgui/frontend.py:489 +#: ../pyhoca/wxgui/frontend.py:468 msgid "Suspending sessions and exiting application..." msgstr "Sitzungen werden angehalten und Programm beendet..." -#: ../pyhoca/wxgui/frontend.py:492 +#: ../pyhoca/wxgui/frontend.py:471 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Trenne %s und schließe Anwendung..." -#: ../pyhoca/wxgui/frontend.py:494 +#: ../pyhoca/wxgui/frontend.py:473 msgid "Exiting application..." msgstr "Programm wird beendet..." -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 #, python-format msgid "%s - server warning" msgstr "%s - Serverwarnung" -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 msgid "The X2Go Server does not publish an application menu." msgstr "Der X2Go-Server publiziert kein Anwendungsmenü." -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/frontend.py:624 msgid "SSH key authentication has been successful." msgstr "Authentifizierung mit SSH Schlüssel war erfolgreich." -#: ../pyhoca/wxgui/frontend.py:719 +#: ../pyhoca/wxgui/frontend.py:698 msgid "" -"Host key verification failed. The SSH proxy server may have been " -"compromised.\n" +"Host key verification failed. The SSH proxy server may have been compromised.\n" "\n" "It is also possible that the host key has just been changed.\n" "\n" "However, for security reasons the connection will not be established!!!" msgstr "" -"Überprüfung des Hostkeys fehlgeschlagen. Der SSH-Proxy Server könnte " -"kompromittiert worden sein.\n" +"Überprüfung des Hostkeys fehlgeschlagen. Der SSH-Proxy Server könnte kompromittiert worden sein.\n" "\n" "Ebenso ist es möglich, dass der Hostkey einfach nur geändert wurde.\n" "\n" "Dennoch wird die Verbindung aus Sicherheitsgründen abgebrochen!!!" -#: ../pyhoca/wxgui/frontend.py:736 -msgid "" -"The SSH proxy's host key is invalid or has not been accepted by the user" -msgstr "" -"Der Host-Schlüssel des SSH Proxy-Servers ist ungültig oder wurde vom " -"Benutzer nicht akzeptiert" +#: ../pyhoca/wxgui/frontend.py:715 +msgid "The SSH proxy's host key is invalid or has not been accepted by the user" +msgstr "Der Host-Schlüssel des SSH Proxy-Servers ist ungültig oder wurde vom Benutzer nicht akzeptiert" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - EOF error" msgstr "%s - EOF-Fehler" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 msgid "Authentication protocol communication incomplete! Try again..." -msgstr "" -"Kommunikation während Authentifizierungsprotokoll unvollständig! Nochmal " -"versuchen..." +msgstr "Kommunikation während Authentifizierungsprotokoll unvollständig! Nochmal versuchen..." -#: ../pyhoca/wxgui/frontend.py:778 +#: ../pyhoca/wxgui/frontend.py:757 msgid "An unknown error occurred during authentication!" msgstr "Ein unbekannter Fehler ist während der Serveranmeldung aufgetreten!" -#: ../pyhoca/wxgui/frontend.py:807 +#: ../pyhoca/wxgui/frontend.py:786 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirectRDP noch nicht unterstützt" -#: ../pyhoca/wxgui/frontend.py:808 +#: ../pyhoca/wxgui/frontend.py:787 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1285,16 +1217,16 @@ "\n" "DirectRDP wird in %s (>= 1.0.0.0) verfügbar sein." -#: ../pyhoca/wxgui/frontend.py:823 +#: ../pyhoca/wxgui/frontend.py:799 msgid "Unknown session profile, configure before using it..." msgstr "Unbekanntes Sitzungsprofil, vor Benutzung bitte einrichten..." -#: ../pyhoca/wxgui/frontend.py:884 +#: ../pyhoca/wxgui/frontend.py:830 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Desktopsharing mit %s wird vom Server nicht unterstützt" -#: ../pyhoca/wxgui/frontend.py:885 +#: ../pyhoca/wxgui/frontend.py:831 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1313,57 +1245,58 @@ "Desktopsharing mit %s erfordert\n" "X2Go Server 4.1.0.0 oder höher." -#: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:889 +#: ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "%s - session warning" msgstr "%s - Sitzungsfunktion eingeschränkt" -#: ../pyhoca/wxgui/frontend.py:943 +#: ../pyhoca/wxgui/frontend.py:889 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Das Ausführen des Befehls ,,%s'' ist fehlgeschlagen." -#: ../pyhoca/wxgui/frontend.py:1084 +#: ../pyhoca/wxgui/frontend.py:1030 msgid "Cleaning X2Go sessions..." msgstr "Beende X2Go Sitzungen..." -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 #, python-format msgid "%s - disconnect" msgstr "%s - trennen" -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 msgid "X2Go Profile is now disconnected." msgstr "X2Go Profil ist nun nicht mehr verbunden." -#: ../pyhoca/wxgui/frontend.py:1153 +#: ../pyhoca/wxgui/frontend.py:1099 msgid "New Session Profile" msgstr "Neues Sitzungsprofil" -#: ../pyhoca/wxgui/frontend.py:1208 +#: ../pyhoca/wxgui/frontend.py:1154 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Das Sitzungsprofil ,,%s'' wirklich löschen?" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 #, python-format msgid "%s - profile deleted" msgstr "%s - Profil gelöscht" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 msgid "The session profile has been deleted." msgstr "Das Sitzungsprofil wurde gelöscht." -#: ../pyhoca/wxgui/frontend.py:1225 +#: ../pyhoca/wxgui/frontend.py:1174 msgid "import session profile(s)" msgstr "Sitzungsprofil(e) importieren" -#: ../pyhoca/wxgui/frontend.py:1237 +#: ../pyhoca/wxgui/frontend.py:1186 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: Import von Sitzungsprofil(en) ist fehlgeschlagen" -#: ../pyhoca/wxgui/frontend.py:1238 +#: ../pyhoca/wxgui/frontend.py:1187 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" @@ -1376,68 +1309,66 @@ "\n" "Hat die Sitzungsprofildatei wirklich ein korrektes Format?" -#: ../pyhoca/wxgui/frontend.py:1266 +#: ../pyhoca/wxgui/frontend.py:1215 #, python-format msgid "%s: Write failure after import" msgstr "%s: Schreibfehler nach Import" -#: ../pyhoca/wxgui/frontend.py:1267 +#: ../pyhoca/wxgui/frontend.py:1216 msgid "" -"The session profiles configuration could not be written to file after " -"import\n" +"The session profiles configuration could not be written to file after import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" -"Die Sitzungsprofilkonfiguration konnte nach Import nicht auf den " -"Datenträger\n" +"Die Sitzungsprofilkonfiguration konnte nach Import nicht auf den Datenträger\n" "geschrieben werden.\n" "\n" -"Bitte häufige Fehlerursachen prüfen (Datenträger voll, unzureichender " -"Zugriff, usw)." +"Bitte häufige Fehlerursachen prüfen (Datenträger voll, unzureichender Zugriff, usw)." -#: ../pyhoca/wxgui/frontend.py:1272 +#: ../pyhoca/wxgui/frontend.py:1221 msgid "None of the session profiles could be imported..." msgstr "Keines der Sitzungsprofile konnte importiert werden..." -#: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 +#: ../pyhoca/wxgui/frontend.py:1224 +#: ../pyhoca/wxgui/frontend.py:1234 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" "Um weitere Hinweise zu erhalten, %s von der Kommandozeile starten\n" "und den Import erneut durchführen." -#: ../pyhoca/wxgui/frontend.py:1279 +#: ../pyhoca/wxgui/frontend.py:1228 msgid "Only these session profiles could be imported..." msgstr "Nur diese Sitzungsprofile konnten importiert werden..." -#: ../pyhoca/wxgui/frontend.py:1282 +#: ../pyhoca/wxgui/frontend.py:1231 msgid "Whereas these session profiles failed to import..." msgstr "Der Import dieser Sitzungsprofile schlug hingegen fehl..." -#: ../pyhoca/wxgui/frontend.py:1288 +#: ../pyhoca/wxgui/frontend.py:1237 msgid "New session profiles have been imported..." msgstr "Neue Sitzungsprofile wurden importiert..." -#: ../pyhoca/wxgui/frontend.py:1293 +#: ../pyhoca/wxgui/frontend.py:1242 msgid "New session profile has been imported..." msgstr "Neues Sitzungsprofil wurde importiert..." -#: ../pyhoca/wxgui/frontend.py:1322 +#: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "%s - export session profiles" msgstr "%s - Sitzungsprofile exportieren" -#: ../pyhoca/wxgui/frontend.py:1327 +#: ../pyhoca/wxgui/frontend.py:1276 #, python-format msgid "%s - export session profile" msgstr "%s - Sitzungsprofil exportieren" -#: ../pyhoca/wxgui/frontend.py:1339 +#: ../pyhoca/wxgui/frontend.py:1288 #, python-format msgid "%s: Export file already exists" msgstr "%s: Export-Datei existiert bereits" -#: ../pyhoca/wxgui/frontend.py:1340 +#: ../pyhoca/wxgui/frontend.py:1289 #, python-format msgid "" "The file »%s« already exists in this folder.\n" @@ -1448,35 +1379,32 @@ "\n" "Soll die Datei ersetzt werden?" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "%s - profiles exported" msgstr "%s - Sitzungsprofilexport" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." -msgstr "" -"Der Export der Sitzungsprofilgruppe ,,%s'' in Datei ,,%s'' war erfolgreich." +msgstr "Der Export der Sitzungsprofilgruppe ,,%s'' in Datei ,,%s'' war erfolgreich." -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "%s - profile exported" msgstr "%s - Sitzungsprofilexport" -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." -msgstr "" -"Der Export des einzelnen Sitzungsprofils ,,%s'' in Datei ,,%s'' war " -"erfolgreich." +msgstr "Der Export des einzelnen Sitzungsprofils ,,%s'' in Datei ,,%s'' war erfolgreich." -#: ../pyhoca/wxgui/frontend.py:1367 +#: ../pyhoca/wxgui/frontend.py:1316 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Export von Sitzungsprofil(en) ist fehlgeschlagen" -#: ../pyhoca/wxgui/frontend.py:1368 +#: ../pyhoca/wxgui/frontend.py:1317 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" @@ -1487,15 +1415,14 @@ "Die/das ausgewählte(n) Sitzungsprofil(e) konnte(n) nicht exportiert\n" "werden in Datei ,,%s''.\n" "\n" -"Bitte häufige Fehlerursachen prüfen (Datenträger voll, unzureichender " -"Zugriff, usw)." +"Bitte häufige Fehlerursachen prüfen (Datenträger voll, unzureichender Zugriff, usw)." -#: ../pyhoca/wxgui/frontend.py:1387 +#: ../pyhoca/wxgui/frontend.py:1336 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - lokalen Ordner für dieses Sitzungsprofile freigeben" -#: ../pyhoca/wxgui/frontend.py:1553 +#: ../pyhoca/wxgui/frontend.py:1502 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" @@ -1508,17 +1435,17 @@ "\n" "Sind Sie sicher, dass sie fortfahren möchten? " -#: ../pyhoca/wxgui/frontend.py:1561 +#: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Echtheit des Servers bestätigen" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "%s - channel error" msgstr "%s - Verbindungsfehler" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" @@ -1529,12 +1456,12 @@ "\n" "Bitte versuchen Sie, sich neu am Server anzumelden..." -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 #, python-format msgid "%s - SFTP client error" msgstr "%s - SFTP-Client Fehler" -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" @@ -1550,27 +1477,24 @@ "\n" "Sitzung wird nicht gestartet..." -#: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 -#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1591 +#: ../pyhoca/wxgui/frontend.py:1647 +#: ../pyhoca/wxgui/frontend.py:1649 +#: ../pyhoca/wxgui/frontend.py:1685 #, python-format msgid "%s - session failure" msgstr "%s - Verbindung fehlgeschlagen" -#: ../pyhoca/wxgui/frontend.py:1642 +#: ../pyhoca/wxgui/frontend.py:1591 msgid "The session startup failed." msgstr "Der Start der Sitzung ist fehlgeschlagen." -#: ../pyhoca/wxgui/frontend.py:1655 -msgid "The session initialization failed." -msgstr "Die Initialisierung der Sitzung ist fehlgeschlagen." - -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 #, python-format msgid "%s - desktop sharing failure" msgstr "%s - Desktopsharing fehlgeschlagen" -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." @@ -1578,12 +1502,12 @@ "Desktopsharing wurde vom anderen Benutzer abgelehnt oder\n" "Sie haben beide unzureichende Rechte, um Desktop Sharing zu benutzen." -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 #, python-format msgid "%s - timeout" msgstr "%s - Zeitüberschreitung" -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" @@ -1591,22 +1515,22 @@ "Der Server hat in der erlaubten Zeit keine Desktop-Liste geliefert.\n" "Dies kann manchmal vorkommen, bitte noch einmal versuchen." -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - Desktopsharing fehlgeschlagen" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "Der Desktop %s ist für Desktopsharing nicht (mehr) verfügbar." -#: ../pyhoca/wxgui/frontend.py:1711 +#: ../pyhoca/wxgui/frontend.py:1647 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Der Befehl ,,%s'' ist auf dem X2Go Server nicht verfügbar." -#: ../pyhoca/wxgui/frontend.py:1713 +#: ../pyhoca/wxgui/frontend.py:1649 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" @@ -1615,55 +1539,45 @@ "Der Befehl ,,%s'' ist auf dem X2Go Server nicht verfügbar\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:1666 #, python-format -msgid "" -"Reverse TCP port forwarding request for session %s to server port %s has " -"been denied." -msgstr "" -"Eine Reverse TCP Port Weiterleitungsanfrage für Sitzung %s an Serverport %s " -"wurde vom X2Go Server abgelehnt." +msgid "Reverse TCP port forwarding request for session %s to server port %s has been denied." +msgstr "Eine Reverse TCP Port Weiterleitungsanfrage für Sitzung %s an Serverport %s wurde vom X2Go Server abgelehnt." -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1685 #, python-format -msgid "" -"Forwarding tunnel request to [%s]:%s for session %s was denied by remote " -"X2Go/SSH server. Subsystem %sstartup failed." -msgstr "" -"SSH Forwarding Tunnel zu [%s]:%s wurde für Sitzung %s vom X2Go/SSH Server " -"verweigert. Der Start des Subsystems %s schlug fehl." +msgid "Forwarding tunnel request to [%s]:%s for session %s was denied by remote X2Go/SSH server. Session startup failed." +msgstr "SSH Forwarding Tunnel zu [%s]:%s wurde für Sitzung %s vom X2Go/SSH Server verweigert. Die Sitzung konnte nicht gestartet werden." -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 #, python-format msgid "%s - audio warning" msgstr "%s - Warnung Audiosystem" -#: ../pyhoca/wxgui/frontend.py:1775 -msgid "" -"The X2Go PulseAudio system is not available within Remote Desktop sessions." -msgstr "" -"Das X2Go PulseAudio System ist innerhalb von Remote Desktop Sitzungen nicht " -"verfügbar." +#: ../pyhoca/wxgui/frontend.py:1704 +msgid "The X2Go PulseAudio system is not available within Remote Desktop sessions." +msgstr "Das X2Go PulseAudio System ist innerhalb von Remote Desktop Sitzungen nicht verfügbar." -#: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1711 +#: ../pyhoca/wxgui/frontend.py:1718 #, python-format msgid "%s - audio error" msgstr "%s - Audiofehler" -#: ../pyhoca/wxgui/frontend.py:1782 +#: ../pyhoca/wxgui/frontend.py:1711 msgid "The X2Go PulseAudio system could not be started." msgstr "Das X2Go PulseAudio System konnte nicht gestartet werden." -#: ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1718 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "Das X2Go PulseAudio System ist soeben abgestürzt." -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - audio problem" msgstr "%s - Audioproblem" -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "The audio connection could not be set up for this session.\n" @@ -1672,27 +1586,26 @@ "Die Audio-Verbindung für diese Sitzung konnte nicht aufgebaut werden.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "%s - client-side printing not available" msgstr "%s - Client-seitiges Drucken nicht verfügbar" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" -"In dieser Sitzung können Client-seitige Drucker nicht verwendet werden. Der " -"Server verweigert die Verbindung.\n" +"In dieser Sitzung können Client-seitige Drucker nicht verwendet werden. Der Server verweigert die Verbindung.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME box nicht verfügbar" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" @@ -1701,42 +1614,41 @@ "Der Server unterstützt die X2Go MIME box nicht.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - keine Freigabe Client-seitiger Ordner" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" -"Client-seitige Ordner können in dieser Sitzung nicht freigegeben werden. Der " -"Server verweigert die Verbindung.\n" +"Client-seitige Ordner können in dieser Sitzung nicht freigegeben werden. Der Server verweigert die Verbindung.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "%s - client resources not sharable" msgstr "%s - keine Client-seitigen Ordner- und Druckerfreigaben möglich" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" -"Client-seitige Ordner und Drucker können für diese Sitzung nicht freigegeben " -"werden.\n" +"Client-seitige Ordner und Drucker können für diese Sitzung nicht freigegeben werden.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1797 +#: ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "%s - print error" msgstr "%s - Druckfehler" -#: ../pyhoca/wxgui/frontend.py:1868 +#: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "%s\n" @@ -1747,7 +1659,7 @@ "...verursacht an Drucker durch Sitzung\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "" "%s\n" @@ -1758,12 +1670,13 @@ "...verursacht von Sitzung\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1814 +#: ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "%s - start" msgstr "%s - starten" -#: ../pyhoca/wxgui/frontend.py:1885 +#: ../pyhoca/wxgui/frontend.py:1814 #, python-format msgid "" "New X2Go session starting up...\n" @@ -1772,7 +1685,7 @@ "Neue X2Go Sitzung wird gestartet...\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "" "Another client started X2Go session\n" @@ -1781,12 +1694,13 @@ "Ein anderes X2Go Programm hat diese Sitzung gestartet\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1844 +#: ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "%s - resume" msgstr "%s - fortsetzen" -#: ../pyhoca/wxgui/frontend.py:1915 +#: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "Resuming X2Go session...\n" @@ -1795,7 +1709,7 @@ "X2Go Sitzung wird fortgesetzt...\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "" "Another client resumed X2Go session\n" @@ -1804,12 +1718,12 @@ "Eine andere X2Go Anwendung hat die Sitzung fortgesetzt\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "%s - running" msgstr "%s - aktiv" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "" "Found already running session\n" @@ -1818,12 +1732,12 @@ "Bereits aktive Sitzung gefunden\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "%s - suspend" msgstr "%s - anhalten" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "" "X2Go Session has been suspended\n" @@ -1832,12 +1746,12 @@ "X2Go Sitzung wurde angehalten\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "%s - terminate" msgstr "%s - beenden" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "" "X2Go Session has terminated\n" @@ -1846,42 +1760,7 @@ "X2Go Sitzung wurde beendet\n" "%s" -#: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 -#, python-format -msgid "%s: connection failure" -msgstr "%s: Verbindung fehlgeschlagen" - -#: ../pyhoca/wxgui/frontend.py:2017 -#, python-format -msgid "" -"While initializing a session for profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" -"Während der Sitzungsinitialisierung für Profil '%s' ist die\n" -"Verbindung mit %s fehlgeschlagen.\n" -"\n" -"Es besteht die Möglichkeit, die Sitzung trotzdem zu initialisieren.\n" -"Möchten Sie fortfahren?" - -#: ../pyhoca/wxgui/frontend.py:2023 -#, python-format -msgid "" -"While connecting to profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" -"Während des Verbindungsaufbaus für Profil '%s' ist die\n" -"Verbindung mit %s fehlgeschlagen.\n" -"\n" -"Es besteht die Möglichkeit, die Sitzung trotzdem zu initialisieren.\n" -"Möchten Sie fortfahren?" - -#: ../pyhoca/wxgui/messages.py:70 +#: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" @@ -1891,134 +1770,135 @@ "das Sitzungsprofil ,,%s''\n" "wirklich löschen möchten?" -#: ../pyhoca/wxgui/messages.py:71 -#, python-brace-format +#: ../pyhoca/wxgui/messages.py:73 +#, python-format msgid "" -"{appname} is already running for user ,,{username}''!\n" +"PyHoca-GUI is already running for user ,,%s''!\n" "\n" -"Only one instance of {appname} can be started per\n" -"user. The {appname} icon can be found in your desktop's\n" +"Only one instance of PyHoca-GUI can be started per\n" +"user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" -"{appname} ist bereits gestartet für Benutzer/in ,,{username}''!\n" +"PyHoca-GUI ist bereits gestartet für Benutzer/in ,,%s''!\n" "\n" -"Nur eine Instanz von {appname} kann pro Benutzer/in\n" -"gestartet werden. Das {appname} Icon befindet sich auf\n" +"Nur eine Instanz von PyHoca-GUI kann pro Benutzer/in\n" +"gestartet werden. Das PyHoca-GUI Icon befindet sich auf\n" "Ihrem Desktop in der Benachrichtigungsleiste." -#: ../pyhoca/wxgui/messages.py:109 +#: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "Ja" -#: ../pyhoca/wxgui/messages.py:110 +#: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "Nein" -#: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 +#: ../pyhoca/wxgui/messages.py:124 +#: ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "OK" -#: ../pyhoca/wxgui/printingprefs.py:67 +#: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Druckeinstellungen" -#: ../pyhoca/wxgui/printingprefs.py:69 +#: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Eingehender Druckauftrag von %s (%s)" -#: ../pyhoca/wxgui/printingprefs.py:74 +#: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "Dieses Auswahlfenster öffnen" -#: ../pyhoca/wxgui/printingprefs.py:75 +#: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "MIt PDF-Betrachter öffnen" -#: ../pyhoca/wxgui/printingprefs.py:76 +#: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "In lokalem Ordner speichern" -#: ../pyhoca/wxgui/printingprefs.py:77 +#: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "Auf lokalem Drucker drucken" -#: ../pyhoca/wxgui/printingprefs.py:78 +#: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "Benutzerdefiniertes Druckkommando ausführen" -#: ../pyhoca/wxgui/printingprefs.py:81 +#: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:115 +#: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "Imprimir" -#: ../pyhoca/wxgui/printingprefs.py:117 +#: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "Acción por defecto para los trabajos de impresión recibidos" #. widgets for print action PDFVIEW -#: ../pyhoca/wxgui/printingprefs.py:121 +#: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "Comando para abrir el visor PDF" #. widgets for print action PDFSAVE -#: ../pyhoca/wxgui/printingprefs.py:128 +#: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "Guardar PDFs en una carpeta" #. widgets for print action PRINT -#: ../pyhoca/wxgui/printingprefs.py:135 +#: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "Usar esta impresora" #. widgets for print action PRINTCMD -#: ../pyhoca/wxgui/printingprefs.py:139 +#: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "Comando de impresión personalizado" -#: ../pyhoca/wxgui/printingprefs.py:146 +#: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "Imprimir" -#: ../pyhoca/wxgui/printingprefs.py:250 +#: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "- hay impresoras instaladas -" -#: ../pyhoca/wxgui/printingprefs.py:255 +#: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "- el sistema de impresión no está disponible -" -#: ../pyhoca/wxgui/printingprefs.py:409 +#: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "Elegir visor PDF" -#: ../pyhoca/wxgui/printingprefs.py:432 +#: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "Elegir localización para los PDFs" -#: ../pyhoca/wxgui/sessiontitle.py:65 +#: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "Título de la sesión - %s" -#: ../pyhoca/wxgui/sessiontitle.py:67 +#: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "Cambiar título de la sesión a" -#: ../pyhoca/wxgui/sessiontitle.py:69 +#: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "Ok" -#: ../pyhoca/wxgui/serverinfo.py:61 +#: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "Información del Servidor - %s" -#: ../pyhoca/wxgui/serverinfo.py:63 +#: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" @@ -2015,37 +1885,34 @@ "\n" "Listado de componentes del servidor X2Go, módulos y versiones..." -#: ../pyhoca/wxgui/serverinfo.py:68 +#: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "Actualizar" -#: ../pyhoca/wxgui/serverinfo.py:69 +#: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "Cerrar" -#: ../pyhoca/wxgui/serverinfo.py:138 +#: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "X2Go Server" -#: ../pyhoca/wxgui/serverinfo.py:139 +#: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "Server Core" -#: ../pyhoca/wxgui/serverinfo.py:147 +#: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "Extensiones del Servidor" -#: ../pyhoca/wxgui/serverinfo.py:153 +#: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "Añadidos al servidor X2Go" -#: ../pyhoca/wxgui/serverinfo.py:157 +#: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "Características del servidor X2Go" -#~ msgid "PyHoca-GUI Profile Manager - %s" -#~ msgstr "PyHoca-GUI Gestor de Perfiles - %s" - #~ msgid "%s - auth key error" #~ msgstr "%s - error en la clave de identificación" @@ -2093,6 +1960,9 @@ #~ msgid "%s - DNS error" #~ msgstr "%s - error en la clave" +#~ msgid "%s - connect error" +#~ msgstr "%s - error en la conexión" + #~ msgid "Unknown Session Profile" #~ msgstr "Nuevo Perfil de Sesión" @@ -2105,6 +1975,12 @@ #~ msgid "Icon" #~ msgstr "Icono" +#~ msgid "All session profiles are connected" +#~ msgstr "No se han definido perfiles de sesión" + +#~ msgid "New Profile" +#~ msgstr "Perfil " + #~ msgid "%s - print job" #~ msgstr "%s - imprimir" diff -Nru pyhoca-gui-0.5.0.3/po/et.po pyhoca-gui-0.4.0.9/po/et.po --- pyhoca-gui-0.5.0.3/po/et.po 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/po/et.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,2017 +0,0 @@ -# PyHoca-GUI / i18n. -# Copyright (C) 2010-2014 Mike Gabriel -# Dick Kniep -# This file is distributed under the same license as the PyHoca-GUI package. -# -# Contributing TRANSLATORS: -# 2013, xxx yyy -msgid "" -msgstr "" -"Project-Id-Version: PyHoca-GUI VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-20 12:52+0200\n" -"PO-Revision-Date: 2014-08-19 17:00+0200\n" -"Last-Translator: Robert Parts \n" -"Language-Team: Estonia \n" -"Language: et\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Language: et_EE\n" - -#: ../pyhoca/wxgui/brokerlogon.py:54 -msgid "Logon" -msgstr "Logi sisse" - -#: ../pyhoca/wxgui/brokerlogon.py:57 -msgid "Broker URL" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 -#: ../pyhoca/wxgui/logon.py:99 -msgid "Username" -msgstr "Kasutajanimi" - -#: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 -#: ../pyhoca/wxgui/logon.py:101 -msgid "Password" -msgstr "Salasõna" - -#: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 -msgid "Authenticate" -msgstr "Autentimine" - -#: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 -#: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 -#: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 -#: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 -msgid "Cancel" -msgstr "Loobu" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -#, python-format -msgid "%s - success" -msgstr "%s - õnnestunud" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -msgid "" -"Authentication to session broker has been\n" -"successful." -msgstr "Brokeri autoriseerimine õnnestus." - -#: ../pyhoca/wxgui/brokerlogon.py:167 -#, python-format -msgid "%s - failure" -msgstr " %s - ebaõnnestunud" - -#: ../pyhoca/wxgui/brokerlogon.py:167 -msgid "Authentication to session broker failed." -msgstr "Autentimine ebaõnnestus." - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "%s: Connection refused error" -msgstr "%s: Ühendusest keeldumise viga" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "Connection to %s failed. Retry?" -msgstr "Ühendus %s ebaõnnestus. Kas kordame?" - -#: ../pyhoca/wxgui/logon.py:81 -#, python-format -msgid "%s (via %s)" -msgstr "%s (kasutades %s)" - -#: ../pyhoca/wxgui/logon.py:104 -msgid "Start SSH tunnel" -msgstr "Käivita SSH tunnel" - -#: ../pyhoca/wxgui/logon.py:112 -msgid "Session login" -msgstr "Sessiooni lsisenemine" - -#: ../pyhoca/wxgui/logon.py:113 -msgid "SSH proxy server login" -msgstr "SSH proxy serverisse sisenemine" - -#: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 -#: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 -#: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 -#: ../pyhoca/wxgui/frontend.py:638 -#, python-format -msgid "%s - connect failure" -msgstr "%s - ühendus ebaõnnestus" - -#: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 -msgid "User is not allowed to start X2Go sessions!" -msgstr "kasutajal ei ole luba käivitada X2Go sessioone!" - -#: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 -#: ../pyhoca/wxgui/frontend.py:645 -#, python-format -msgid "%s - connect" -msgstr "%s - ühendus" - -#: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 -msgid "Authentication has been successful." -msgstr "Sisenemine oli edukas." - -#: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 -msgid "SSH tunnel started" -msgstr "SSH tunnel käivitus" - -#: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 -msgid "Authentication failed!" -msgstr "Autentimine ebaõnnestus!" - -#: ../pyhoca/wxgui/logon.py:358 -#, python-format -msgid "%s - SSH proxy" -msgstr "%s - SSH proxy" - -#: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 -msgid "Authentication to the SSH proxy server failed!" -msgstr "Autentimine SSH proxy serveriga ebaõnnestus!" - -#: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 -#: ../pyhoca/wxgui/frontend.py:750 -#, python-format -msgid "%s - socket error" -msgstr "%s - socket'i viga" - -#: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 -#: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 -#, python-format -msgid "%s - host key error" -msgstr "%s - host võtme viga" - -#: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 -#: ../pyhoca/wxgui/frontend.py:729 -msgid "" -"The remote server's host key is invalid or has not been accepted by the user" -msgstr "Kaugserveri host võti on vigane või seda ei aktsepteerita" - -#: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 -#: ../pyhoca/wxgui/frontend.py:764 -#, python-format -msgid "%s - missing home directory" -msgstr "%s - puudub kodukataloog" - -#: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 -#: ../pyhoca/wxgui/frontend.py:764 -msgid "The remote user's home directory does not exist." -msgstr "Kauserveris puudubkasutaja kodukataloog." - -#: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 -#, python-format -msgid "%s - key error" -msgstr "%s - võtme viga" - -#: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 -#: ../pyhoca/wxgui/frontend.py:771 -#, python-format -msgid "%s - auth error" -msgstr "%s - autentimisviga" - -#: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 -#: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 -msgid "" -"Host key verification failed. The X2Go server may have been compromised.\n" -"\n" -"It is also possible that the host key has just been changed.\n" -"\n" -"However, for security reasons the connection will not be established!!!" -msgstr "" -"Võtme verifitseerimine ebaõnnestus. X2Go server võib olla ohustatud.\n" -"\n" -"Võib ka olla et võti on muudetud.\n" -"\n" -"Sellegipoolest, turvalisuse kaalutlustel ühendust ei loodud!!!" - -#: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 -#: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 -#, python-format -msgid "%s - SSH error" -msgstr "%s - SSH viga" - -#: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 -#, python-format -msgid "%s - unknown error" -msgstr "%s - tundmatu viga" - -#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 -msgid "An unknown error occured during authentication!" -msgstr "Autentimise käigus tekkis tundmatu viga!" - -#: ../pyhoca/wxgui/passphrase.py:69 -#, python-format -msgid "%s (SSH proxy)" -msgstr "%s (SSH proxy)" - -#: ../pyhoca/wxgui/passphrase.py:71 -#, python-format -msgid "%s (X2Go Server)" -msgstr "%s (X2Go Server)" - -#: ../pyhoca/wxgui/passphrase.py:81 -#, python-format -msgid "Unlock SSH private key (%s)..." -msgstr "Vabasta SSH privaatvõti (5s)..." - -#: ../pyhoca/wxgui/passphrase.py:83 -msgid "Unlock auto-discovered SSH private key..." -msgstr "Vabasta autoavastatud SSH privaatvõti ..." - -#: ../pyhoca/wxgui/passphrase.py:85 -msgid "Passphrase" -msgstr "Salasõna" - -#: ../pyhoca/wxgui/passphrase.py:88 -msgid "Unlock SSH key" -msgstr "Vabasta SSH võti" - -#: ../pyhoca/wxgui/passphrase.py:217 -msgid "SSH key file (for X2Go server) could not be unlocked!" -msgstr "SSH võtmefaili (X2Go serveri jaoks) ei saa.vabastada!" - -#: ../pyhoca/wxgui/passphrase.py:224 -msgid "SSH key file (for SSH proxy) could not be unlocked!" -msgstr "SSH võtmefaili (SSH proxy jaoks) ei saa.vabastada!" - -#: ../pyhoca/wxgui/taskbar.py:111 -#, python-format -msgid "" -"%s\n" -"Connecting you to ,,%s''" -msgstr "%s ühendab Sind ,,%s\"" - -#: ../pyhoca/wxgui/taskbar.py:115 -#, python-format -msgid "" -"%s\n" -"Currently connecting you to remote X2Go server ,,%s''" -msgstr "%s ühendame Sind X2Go serveriga ,,%s\"" - -#: ../pyhoca/wxgui/taskbar.py:125 -#, python-format -msgid "" -"%s\n" -"Connecting you to X2Go..." -msgstr "%s ühendab Sind X2Go..." - -#: ../pyhoca/wxgui/taskbar.py:129 -#, python-format -msgid "" -"%s\n" -"Client for connecting you to a remote X2Go server" -msgstr "%s klient ühendamaks Sind X2Go serveriga" - -#: ../pyhoca/wxgui/profilemanager.py:81 -msgid "Cinnamon Desktop (CINNAMON)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:82 -msgid "GNOME Desktop (GNOME)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:83 -msgid "MATE Desktop (MATE)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:84 -msgid "K Desktop Environment (KDE)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:85 -msgid "Lightweight X Desktop (LXDE)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:86 -msgid "Trinity X Desktop (KDE3-like)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:87 -msgid "Unity X Desktop Shell (UNITY)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:88 -msgid "XFCE Desktop (XFCE)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:89 -msgid "Published Applications" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:90 -msgid "Single Application" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:91 -msgid "Share desktop session (SHADOW)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:92 -msgid "XDMCP Query" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:93 -msgid "Windows Terminal Server (X2Go-proxied RDP)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:94 -msgid "Windows Terminal Server (Direct RDP)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 -msgid "Custom command" -msgstr "Muu" - -#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 -msgid "Internet Browser" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 -msgid "Email Client" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 -msgid "Office" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 -msgid "Terminal" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:106 -msgid "between client and server" -msgstr "kliendi ja serveri vahel" - -#: ../pyhoca/wxgui/profilemanager.py:107 -msgid "from server to client only" -msgstr "ainult serverist klienti" - -#: ../pyhoca/wxgui/profilemanager.py:108 -msgid "from client to server only" -msgstr "ainult kliendist serverisse" - -#: ../pyhoca/wxgui/profilemanager.py:109 -msgid "not at all" -msgstr "keelatud" - -#: ../pyhoca/wxgui/profilemanager.py:127 -msgid "Open file with system's default application" -msgstr "Ava vaikimisi programmiga" - -#: ../pyhoca/wxgui/profilemanager.py:128 -msgid "Open application chooser dialog" -msgstr "Ava programmi valimise dialoog" - -#: ../pyhoca/wxgui/profilemanager.py:129 -msgid "Save incoming file as ..." -msgstr "Salvesta sissetulev fail nimega..." - -#: ../pyhoca/wxgui/profilemanager.py:157 -msgid "settings derived from " -msgstr "seaded on tuletatud (samad kui) " - -#. boxes for all tabs -#: ../pyhoca/wxgui/profilemanager.py:205 -msgid "Session Title" -msgstr "Sessiooni Pealdis" - -#: ../pyhoca/wxgui/profilemanager.py:206 -msgid "Session Window" -msgstr "Sessiooni aken" - -#: ../pyhoca/wxgui/profilemanager.py:207 -msgid "Session Startup" -msgstr "Sessiooni Käivitamine" - -#: ../pyhoca/wxgui/profilemanager.py:208 -msgid "Server" -msgstr "Server" - -#: ../pyhoca/wxgui/profilemanager.py:209 -msgid "Proxy" -msgstr "Proxy" - -#: ../pyhoca/wxgui/profilemanager.py:210 -msgid "Connection Link Speed" -msgstr "Ühenduse kiirus" - -#: ../pyhoca/wxgui/profilemanager.py:211 -msgid "Compression" -msgstr "Pakkimine" - -#: ../pyhoca/wxgui/profilemanager.py:212 -msgid "Display" -msgstr "Displei" - -#: ../pyhoca/wxgui/profilemanager.py:213 -msgid "Clipboard" -msgstr "Clipboard" - -#: ../pyhoca/wxgui/profilemanager.py:214 -msgid "Keyboard" -msgstr "Klaviatuur" - -#: ../pyhoca/wxgui/profilemanager.py:215 -msgid "Sound" -msgstr "Heli" - -#: ../pyhoca/wxgui/profilemanager.py:216 -msgid "Printing" -msgstr "Printimine" - -#: ../pyhoca/wxgui/profilemanager.py:217 -msgid "Folder Exports" -msgstr "Kataloogi Export" - -#: ../pyhoca/wxgui/profilemanager.py:218 -msgid "File Import" -msgstr "Faili import" - -#. ## -#. ## widgets for the PROFILE tab -#. ## -#: ../pyhoca/wxgui/profilemanager.py:223 -msgid "Name" -msgstr "Nimi" - -#: ../pyhoca/wxgui/profilemanager.py:230 -msgid "Set session window title" -msgstr "Anna sessiooniakna pealdis" - -#: ../pyhoca/wxgui/profilemanager.py:231 -msgid "Use a default session window title" -msgstr "Kasuta vaikimisi sessiooniakna pealdist" - -#: ../pyhoca/wxgui/profilemanager.py:232 -msgid "Custom session window title" -msgstr "Kasuta sessiooniakna pealdisena" - -#: ../pyhoca/wxgui/profilemanager.py:251 -msgid "Window Icon" -msgstr "Akna ikoon" - -#. ## -#. ## widgets for the SESSION tab -#. ## -#: ../pyhoca/wxgui/profilemanager.py:257 -msgid "Start session automatically after login" -msgstr "Alusta automaatselt sessiooni pärast sisselogimist" - -#: ../pyhoca/wxgui/profilemanager.py:258 -#, python-format -msgid "Login automatically after %s has started (needs --auto-connect)" -msgstr "" -"Logi automaatselt sisse kui %s on käivitunud (vajab võtit --auto-connect)" - -#: ../pyhoca/wxgui/profilemanager.py:259 -msgid "Type" -msgstr "Tüüp" - -#: ../pyhoca/wxgui/profilemanager.py:261 -msgid "Application" -msgstr "Aplikatsioon" - -#: ../pyhoca/wxgui/profilemanager.py:265 -msgid "XDMCP server" -msgstr "XDMCP server" - -#: ../pyhoca/wxgui/profilemanager.py:267 -msgid "RDP server" -msgstr "RDP server" - -#: ../pyhoca/wxgui/profilemanager.py:269 -msgid "RDP options" -msgstr "RDP sätted" - -#: ../pyhoca/wxgui/profilemanager.py:271 -msgid "Integrate remote application(s) into local desktop (rootless mode)" -msgstr "Integreeri kaugaplikatsioon(id) lokaalsele töölauale (rootless mode)" - -#: ../pyhoca/wxgui/profilemanager.py:272 -msgid "Menu of published applications" -msgstr "Aplikatsioonide menüü" - -#. ## -#. ## widgets for the CONNECTION tab -#. ## -#: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 -msgid "User" -msgstr "Kasutaja" - -#: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 -msgid "Host" -msgstr "Host" - -#: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 -msgid "Port" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:285 -msgid "Key" -msgstr "Võti" - -#: ../pyhoca/wxgui/profilemanager.py:288 -msgid "Discover SSH keys or use SSH agent for X2Go authentication" -msgstr "Otsi SSH võti või kasuta SSH agenti X2Go autentimiseks" - -#: ../pyhoca/wxgui/profilemanager.py:290 -msgid "Enable forwarding of SSH authentication agent connections" -msgstr "Luba SSH autentimisagendi ühenduse suunamine" - -#: ../pyhoca/wxgui/profilemanager.py:291 -msgid "Store SSH host keys under (unique) X2Go session profile ID" -msgstr "" -"Salvesta SSH hosti võti X2Go sessiooni profiili (andes sellele unikaalse ID)" - -#: ../pyhoca/wxgui/profilemanager.py:292 -msgid "Server behind SSH proxy" -msgstr "Server SSH proxy taga" - -#: ../pyhoca/wxgui/profilemanager.py:295 -msgid "Use same username for X2Go and proxy host" -msgstr "Kasuta sama kasutajanime X2Go ja proxy jaoks" - -#: ../pyhoca/wxgui/profilemanager.py:296 -msgid "Use same authentication for X2Go and proxy host" -msgstr "Kasuta sama autentimist X2Go ja proxy jaoks" - -#: ../pyhoca/wxgui/profilemanager.py:297 -msgid "Key file" -msgstr "Võtmefail" - -#: ../pyhoca/wxgui/profilemanager.py:304 -msgid "Discover SSH keys or use SSH agent for proxy authentication" -msgstr "Otsi SSH võti või kasuta SSH agenti proxy autentimiseks" - -#: ../pyhoca/wxgui/profilemanager.py:307 -msgid "Modem" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:308 -msgid "ISDN" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:309 -msgid "ADSL" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:310 -msgid "WAN" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:311 -msgid "LAN" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:313 -msgid "Method" -msgstr "Meetod" - -#: ../pyhoca/wxgui/profilemanager.py:315 -msgid "Image quality" -msgstr "Pildi kvaliteet" - -#. ## -#. ## wigdets for the IO tab -#. ## -#: ../pyhoca/wxgui/profilemanager.py:321 -msgid "Fullscreen" -msgstr "Täisekraan" - -#: ../pyhoca/wxgui/profilemanager.py:322 -msgid "Maximized" -msgstr "Maksimeeri" - -#: ../pyhoca/wxgui/profilemanager.py:323 -msgid "Custom Size" -msgstr "Anna suurus" - -#: ../pyhoca/wxgui/profilemanager.py:328 -msgid "Set display DPI" -msgstr "Anna displei punktitihedus (punkti tollile)" - -#: ../pyhoca/wxgui/profilemanager.py:330 -msgid "Allow copy'n'paste" -msgstr "Luba kopeeri ja aseta" - -#: ../pyhoca/wxgui/profilemanager.py:332 -msgid "Do not set (use server-side tools to configure the keyboard)" -msgstr "" -"Määramata (kasuta serveripoolseid vahendeid klaviatuuri konfigureerimiseks)" - -#: ../pyhoca/wxgui/profilemanager.py:333 -msgid "" -"Automatically detect and use client-side keyboard configuration inside the " -"session" -msgstr "Leia ja kasuta automaatselt kliendipoolse klaviatuuri seadeid" - -#: ../pyhoca/wxgui/profilemanager.py:334 -msgid "Use custom keyboard settings as provided below" -msgstr "Määra klaviatuuri seaded" - -#: ../pyhoca/wxgui/profilemanager.py:335 -msgid "Keyboard model" -msgstr "Klaviatuuri mudel" - -#: ../pyhoca/wxgui/profilemanager.py:337 -msgid "Layout" -msgstr "Paigutus" - -#: ../pyhoca/wxgui/profilemanager.py:339 -msgid "Layout variant" -msgstr "Paigutuse variant" - -#. ## -#. ## wigdets for the MEDIA tab -#. ## -#: ../pyhoca/wxgui/profilemanager.py:344 -msgid "Enable sound support" -msgstr "Luba heli" - -#: ../pyhoca/wxgui/profilemanager.py:345 -msgid "Pulse Audio" -msgstr "" - -#. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. -#. However, config files can contain an Arts configuration, so we will honour this -#: ../pyhoca/wxgui/profilemanager.py:349 -msgid "Arts (not supported)" -msgstr "Arts (ei ole toetatud)" - -#: ../pyhoca/wxgui/profilemanager.py:352 -msgid "esd" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:353 -msgid "Use default sound port" -msgstr "Kasuta vaikimise helikanalit" - -#: ../pyhoca/wxgui/profilemanager.py:354 -msgid "Custom sound port" -msgstr "Anna helikanal" - -#: ../pyhoca/wxgui/profilemanager.py:357 -msgid "Client Side printing" -msgstr "Kliendipoolne printimine" - -#. ## -#. ## wigdets for the SHARING tab -#. ## -#: ../pyhoca/wxgui/profilemanager.py:363 -msgid "Use local folder sharing" -msgstr "Kasuta 'local file sharing'" - -#: ../pyhoca/wxgui/profilemanager.py:364 -msgid "Store share list at end of session" -msgstr "Salvesta jagamisnimekiri (share list) sessiooni lõpetamisel" - -#: ../pyhoca/wxgui/profilemanager.py:365 -msgid "Path" -msgstr "Kataloog" - -#: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 -msgid "Add" -msgstr "Lisa" - -#: ../pyhoca/wxgui/profilemanager.py:370 -msgid "Local Path" -msgstr "Lokaalne Kataloog" - -#: ../pyhoca/wxgui/profilemanager.py:371 -msgid "Connect Method" -msgstr "Ühendusmeetod" - -#: ../pyhoca/wxgui/profilemanager.py:372 -msgid "Delete" -msgstr "Kustuta" - -#: ../pyhoca/wxgui/profilemanager.py:374 -msgid "Convert between client and server encodings" -msgstr "Konerteeri kasutades kliendi ja serveri kooditabeleid" - -#: ../pyhoca/wxgui/profilemanager.py:375 -msgid "Client encoding" -msgstr "Kliendi kooditabel" - -#: ../pyhoca/wxgui/profilemanager.py:377 -msgid "Server encoding" -msgstr "Serveri kooditabel" - -#: ../pyhoca/wxgui/profilemanager.py:380 -msgid "Use file MIME box for local file import" -msgstr "Kasuta faili 'MIME box' lokaalsete failide impordil" - -#: ../pyhoca/wxgui/profilemanager.py:381 -msgid "Extensions" -msgstr "Laiendid" - -#: ../pyhoca/wxgui/profilemanager.py:383 -msgid "Action" -msgstr "Tegevus" - -#: ../pyhoca/wxgui/profilemanager.py:388 -msgid "Defaults" -msgstr "Vaikimisi" - -#: ../pyhoca/wxgui/profilemanager.py:390 -msgid "Save" -msgstr "salvesta" - -#: ../pyhoca/wxgui/profilemanager.py:391 -msgid "Reset" -msgstr "Algseadista" - -#: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 -msgid "Apply" -msgstr "Lisa" - -#: ../pyhoca/wxgui/profilemanager.py:453 -#: ../pyhoca/wxgui/profilemanager.py:1184 -#: ../pyhoca/wxgui/profilemanager.py:2364 -msgid "automatically" -msgstr "automaatselt" - -#: ../pyhoca/wxgui/profilemanager.py:455 -#: ../pyhoca/wxgui/profilemanager.py:1186 -msgid "manually" -msgstr "käsitsi" - -#: ../pyhoca/wxgui/profilemanager.py:464 -#, python-format -msgid "%s Profile Manager - new profile" -msgstr "%s Profiilihaldur - uus profiil" - -#: ../pyhoca/wxgui/profilemanager.py:467 -#, python-format -msgid "%s Profile Manager - %s (connected)" -msgstr "%s Profiilihaldur - %s (ühendatud)" - -#: ../pyhoca/wxgui/profilemanager.py:469 -#, python-format -msgid "%s Profile Manager - %s (connected, immutable)" -msgstr "%s Profiilihaldur - %s (ühendatud, muudetamatu)" - -#: ../pyhoca/wxgui/profilemanager.py:472 -#, python-format -msgid "%s Profile Manager - %s" -msgstr "%s Profiilihaldur - %s" - -#: ../pyhoca/wxgui/profilemanager.py:474 -#, python-format -msgid "%s Profile Manager - %s (immutable)" -msgstr "%s Profiilihaldur - %s (muudetamatu)" - -#: ../pyhoca/wxgui/profilemanager.py:851 -msgid "Profile" -msgstr "Profiil" - -#: ../pyhoca/wxgui/profilemanager.py:852 -msgid "Session" -msgstr "Sessioon" - -#: ../pyhoca/wxgui/profilemanager.py:853 -msgid "Connection" -msgstr "Ühendus" - -#: ../pyhoca/wxgui/profilemanager.py:854 -msgid "Link Quality" -msgstr "Lingi kvaliteet" - -#: ../pyhoca/wxgui/profilemanager.py:855 -msgid "Input/Output" -msgstr "Sisend/Väljund" - -#: ../pyhoca/wxgui/profilemanager.py:856 -msgid "Media" -msgstr "Meedia" - -#: ../pyhoca/wxgui/profilemanager.py:857 -msgid "Sharing" -msgstr "Jagamine" - -#: ../pyhoca/wxgui/profilemanager.py:1044 -msgid "" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:1045 -msgid "" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:1046 -msgid "" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:1504 -msgid "Icon Files (*.png)|*.png|All files (*.*)|*" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:1507 -msgid "Choose an icon for this session profile" -msgstr "Vali ikoon sellele sessiooni profiilile" - -#: ../pyhoca/wxgui/profilemanager.py:1956 -msgid "All files (*.*)|*" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:1958 -#: ../pyhoca/wxgui/profilemanager.py:1982 -msgid "Choose a public SSH key" -msgstr "Vali SSH avalik võti" - -#: ../pyhoca/wxgui/profilemanager.py:2316 -msgid "Choose a folder to share within a session" -msgstr "Vali sessiooniaegne jagatav kataloog" - -#: ../pyhoca/wxgui/profilemanager.py:2444 -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 -msgid "Profile Manager" -msgstr "Profiilihaldur" - -#: ../pyhoca/wxgui/profilemanager.py:2444 -msgid "Profile name is missing, profile unusable!!!" -msgstr "Profiili nimi puudub, profiil pole kasutuskõlbulik!!!" - -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 -#, python-format -msgid "Profile name %s already exists!!!" -msgstr "Sellise nimega %s profiil on juba olemas!!!" - -#: ../pyhoca/wxgui/profilemanager.py:2478 -#, python-format -msgid "%s - profile added" -msgstr "%s - profiil on lisatud" - -#: ../pyhoca/wxgui/profilemanager.py:2479 -msgid "A new session profile has been added." -msgstr "Uus sessiooni profiil on lisatud." - -#: ../pyhoca/wxgui/profilemanager.py:2483 -#, python-format -msgid "%s - modified" -msgstr "%s - muudetud" - -#: ../pyhoca/wxgui/profilemanager.py:2484 -msgid "Changes to profile have been saved." -msgstr "Profiili muudatused on salvestatud." - -#: ../pyhoca/wxgui/listdesktops.py:66 -#, python-format -msgid "Share Desktop Session - %s" -msgstr "Jaga töölauda Sessiooniga - %s" - -#: ../pyhoca/wxgui/listdesktops.py:68 -msgid "Select one of the available desktop sessions on this server" -msgstr "Vali üks saadaolevatest sessioonidest" - -#: ../pyhoca/wxgui/listdesktops.py:74 -msgid "View session only" -msgstr "Ainult vaatamine" - -#: ../pyhoca/wxgui/listdesktops.py:75 -msgid "Gain full access" -msgstr "Kõik õigused" - -#: ../pyhoca/wxgui/listdesktops.py:79 -msgid "Share Desktop" -msgstr "Jaga töölauda" - -#: ../pyhoca/wxgui/listdesktops.py:82 -msgid "Refresh list" -msgstr "Värskenda nimekirja" - -#: ../pyhoca/wxgui/menus_taskbar.py:65 -msgid "Edit Profile" -msgstr "Muuda profiili" - -#: ../pyhoca/wxgui/menus_taskbar.py:67 -msgid "View Profile" -msgstr "Vaata profiili" - -#: ../pyhoca/wxgui/menus_taskbar.py:75 -msgid "Use as Template for New Profile" -msgstr "Kasuta templiiti uue profiili jaoks" - -#: ../pyhoca/wxgui/menus_taskbar.py:79 -msgid "Export Profile" -msgstr "Ekspordi profiil" - -#: ../pyhoca/wxgui/menus_taskbar.py:83 -msgid "Delete Profile" -msgstr "Kustuta profiil" - -#: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 -#, python-format -msgid "About %s (%s)..." -msgstr "Info %s (%s) kohta..." - -#: ../pyhoca/wxgui/menus_taskbar.py:139 -msgid "Manage Session Profile" -msgstr "Halda Sessiooni profiili" - -#: ../pyhoca/wxgui/menus_taskbar.py:148 -msgid "Disconnect from session broker" -msgstr "Lõpeta ühendus " - -#: ../pyhoca/wxgui/menus_taskbar.py:153 -msgid "Printing Preferences" -msgstr "Printimise seaded" - -#: ../pyhoca/wxgui/menus_taskbar.py:161 -msgid "Client Options" -msgstr "Kliendi seaded" - -#: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 -#: ../pyhoca/wxgui/menus_taskbar.py:1070 -msgid "E&xit" -msgstr "Välju" - -#: ../pyhoca/wxgui/menus_taskbar.py:241 -msgid "Window title" -msgstr "Akna pealdis" - -#: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 -msgid "Resume Session" -msgstr "Jätka sessiooni" - -#: ../pyhoca/wxgui/menus_taskbar.py:249 -msgid "Resume Session (not possible)" -msgstr "Jätka sessiooni (ei ole võimalik)" - -#: ../pyhoca/wxgui/menus_taskbar.py:260 -msgid "Transfer Session" -msgstr "Kanna sessioon üle" - -#: ../pyhoca/wxgui/menus_taskbar.py:262 -msgid "Transfer Session (not possible)" -msgstr "Kanna sessioon üle (ei ole võimalik)" - -#: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 -msgid "Suspend Session (and disconnect/exit)" -msgstr "Peata sessioon (ja lõpeta ühendus/välju)" - -#: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 -msgid "Suspend Session (and disconnect)" -msgstr "Peata sessioon (ja lõpeta ühendus)" - -#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 -msgid "Suspend Session" -msgstr "Peata sessioon" - -#: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 -msgid "Terminate Session (and disconnect/exit)" -msgstr "Lõpeta sessioon (ja lõpeta ühendus/välju)" - -#: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 -msgid "Terminate Session (and disconnect)" -msgstr "Lõpeta sessioon (ja lõpeta ühendus/välju)" - -#: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 -msgid "Terminate Session" -msgstr "Lõpeta Sessioon" - -#: ../pyhoca/wxgui/menus_taskbar.py:284 -msgid "End Desktop Sharing (and disconnect/exit)" -msgstr "Lõpeta töölaua jagamine (ja lõpeta ühendus/välju)" - -#: ../pyhoca/wxgui/menus_taskbar.py:286 -msgid "End Desktop Sharing (and disconnect)" -msgstr "Lõpeta töölaua jagamine (ja lõpeta ühendus)" - -#: ../pyhoca/wxgui/menus_taskbar.py:288 -msgid "End Desktop Sharing" -msgstr "Lõpeta töölaua jagamine" - -#: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 -msgid "Refresh menu tree" -msgstr "Värskenda menüü" - -#: ../pyhoca/wxgui/menus_taskbar.py:301 -msgid "Rename Session Window" -msgstr "Nimeta sessiooni aken ringi" - -#: ../pyhoca/wxgui/menus_taskbar.py:302 -msgid "Show Session Window" -msgstr "Näita sessiooni akent" - -#: ../pyhoca/wxgui/menus_taskbar.py:344 -msgid "&Share custom local folder" -msgstr "&Jaga oma lokaalset kataloogi" - -#: ../pyhoca/wxgui/menus_taskbar.py:356 -msgid "Share:" -msgstr "Jaga:" - -#: ../pyhoca/wxgui/menus_taskbar.py:366 -msgid "Unshare:" -msgstr "Lõpeta jagamine:" - -#: ../pyhoca/wxgui/menus_taskbar.py:374 -msgid "Unshare &all local folders" -msgstr "&Lõpeta kõigi lokaalsete kataloogide jagamine" - -#: ../pyhoca/wxgui/menus_taskbar.py:380 -msgid "Restore shares in next session" -msgstr "Taasta jagamised järgmistel sessioonidel" - -#: ../pyhoca/wxgui/menus_taskbar.py:461 -msgid "Multimedia" -msgstr "Multimeedia" - -#: ../pyhoca/wxgui/menus_taskbar.py:462 -msgid "Development" -msgstr "Arendus" - -#: ../pyhoca/wxgui/menus_taskbar.py:463 -msgid "Education" -msgstr "Koolitus" - -#: ../pyhoca/wxgui/menus_taskbar.py:464 -msgid "Games" -msgstr "Mängud" - -#: ../pyhoca/wxgui/menus_taskbar.py:465 -msgid "Graphics" -msgstr "Graafika" - -#: ../pyhoca/wxgui/menus_taskbar.py:466 -msgid "Internet" -msgstr "Internet" - -#: ../pyhoca/wxgui/menus_taskbar.py:467 -msgid "Office Applications" -msgstr "Rakendused" - -#: ../pyhoca/wxgui/menus_taskbar.py:468 -msgid "System" -msgstr "Süsteem" - -#: ../pyhoca/wxgui/menus_taskbar.py:469 -msgid "Utilities" -msgstr "Utiliidid" - -#: ../pyhoca/wxgui/menus_taskbar.py:470 -msgid "Other Applications" -msgstr "Muud aplikatsioonid" - -#: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 -msgid "Connect to" -msgstr "Ühendu" - -#: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 -#, python-format -msgid "Connect %s" -msgstr "Ühenda %s" - -#: ../pyhoca/wxgui/menus_taskbar.py:559 -msgid "Currently connecting..." -msgstr "Ühendamine..." - -#: ../pyhoca/wxgui/menus_taskbar.py:574 -msgid "Start &new Desktop Session" -msgstr "Alusta &uut sessiooni" - -#: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 -msgid "Start Desktop Sharing Session" -msgstr "Alusta sessiooni" - -#: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 -msgid "Retrieving Application Menu..." -msgstr "Otsin aplikatsioonide menüüd..." - -#: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 -msgid "Retrieve Application Menu" -msgstr "otsi aplikatsioonide menüü" - -#: ../pyhoca/wxgui/menus_taskbar.py:591 -msgid "Start &new RDP Session" -msgstr "Alusta &uut RDP sessiooni" - -#: ../pyhoca/wxgui/menus_taskbar.py:594 -msgid "Start &new Session" -msgstr "&Alusta uut sessiooni" - -#: ../pyhoca/wxgui/menus_taskbar.py:674 -msgid "Launch Single Application" -msgstr "Käivita programm" - -#: ../pyhoca/wxgui/menus_taskbar.py:715 -msgid "Manage Application Menu" -msgstr "Halda programmide menüüd" - -#: ../pyhoca/wxgui/menus_taskbar.py:770 -msgid "Running" -msgstr "Töötab" - -#: ../pyhoca/wxgui/menus_taskbar.py:772 -msgid "Suspended" -msgstr "Peata" - -#: ../pyhoca/wxgui/menus_taskbar.py:791 -msgid "&Clean all sessions" -msgstr "&Lõpeta kõik sessioonid" - -#: ../pyhoca/wxgui/menus_taskbar.py:798 -msgid "Customize &profile" -msgstr "Muuda &profiili" - -#: ../pyhoca/wxgui/menus_taskbar.py:800 -msgid "View &profile" -msgstr "&Vaata profiili" - -#: ../pyhoca/wxgui/menus_taskbar.py:815 -msgid "Shared &folders" -msgstr "Jagatud &kataloogid" - -#: ../pyhoca/wxgui/menus_taskbar.py:827 -msgid "Server Information" -msgstr "Serveri info" - -#: ../pyhoca/wxgui/menus_taskbar.py:834 -msgid "&Disconnect from Server" -msgstr "&Lõpeta ühendus serveriga" - -#: ../pyhoca/wxgui/menus_taskbar.py:841 -msgid "Suspend Session and E&xit application" -msgstr "&Lõpeta sessioon ja sule" - -#: ../pyhoca/wxgui/menus_taskbar.py:845 -msgid "Disconnect and E&xit application" -msgstr "&Katkesta ühendus ja sule" - -#: ../pyhoca/wxgui/menus_taskbar.py:899 -msgid "Add Profile" -msgstr "Lisa profiil" - -#: ../pyhoca/wxgui/menus_taskbar.py:976 -msgid "Session broker is not connected" -msgstr "Sessioonihaldur ei ole ühendatud" - -#: ../pyhoca/wxgui/menus_taskbar.py:978 -msgid "No session profiles defined" -msgstr "Sessiooni profiile ei ole" - -#: ../pyhoca/wxgui/menus_taskbar.py:989 -msgid "Export all Profiles" -msgstr "Ekspordi kõik profiilid" - -#: ../pyhoca/wxgui/menus_taskbar.py:991 -msgid "Export Profile Group" -msgstr "Ekspordi profiilide grupp" - -#: ../pyhoca/wxgui/menus_taskbar.py:997 -msgid "Import Session Profiles" -msgstr "Impordi sessiooni profiilid" - -#: ../pyhoca/wxgui/menus_taskbar.py:1040 -msgid "Connect Server" -msgstr "Ühenda server" - -#: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 -#, python-format -msgid "About %s ..." -msgstr "Inf %s ..." - -#: ../pyhoca/wxgui/frontend.py:489 -msgid "Suspending sessions and exiting application..." -msgstr "Peatan sessioonid ja sulen programmi ..." - -#: ../pyhoca/wxgui/frontend.py:492 -#, python-format -msgid "Disconnecting %s and exiting application..." -msgstr "Katkestan %s ja sulen programmi..." - -#: ../pyhoca/wxgui/frontend.py:494 -msgid "Exiting application..." -msgstr "Sulen programmi..." - -#: ../pyhoca/wxgui/frontend.py:594 -#, python-format -msgid "%s - server warning" -msgstr "%s - hoiatus serverilt" - -#: ../pyhoca/wxgui/frontend.py:594 -msgid "The X2Go Server does not publish an application menu." -msgstr "X2Go server einäita aplikatsioonide menüüd." - -#: ../pyhoca/wxgui/frontend.py:645 -msgid "SSH key authentication has been successful." -msgstr "SSH võtmega autentimine õnnestus." - -#: ../pyhoca/wxgui/frontend.py:719 -msgid "" -"Host key verification failed. The SSH proxy server may have been " -"compromised.\n" -"\n" -"It is also possible that the host key has just been changed.\n" -"\n" -"However, for security reasons the connection will not be established!!!" -msgstr "" -"Võtme verifitseerimine ebaõnnestus. SSH server võib olla ohustatud\n" -"\n" -"Ka on võimalik, et võti on vahetatud.\n" -"\n" -"Sellegipoolest, turvalisuse kaalutlustelühendust ei loodud!!!" - -#: ../pyhoca/wxgui/frontend.py:736 -msgid "" -"The SSH proxy's host key is invalid or has not been accepted by the user" -msgstr "SSH proxy võti on vigane või seda ei aktsepteerita" - -#: ../pyhoca/wxgui/frontend.py:757 -#, python-format -msgid "%s - EOF error" -msgstr "%s - EOF -viga" - -#: ../pyhoca/wxgui/frontend.py:757 -msgid "Authentication protocol communication incomplete! Try again..." -msgstr "Autentimine on pooliki! Ürita uuesti..." - -#: ../pyhoca/wxgui/frontend.py:778 -msgid "An unknown error occurred during authentication!" -msgstr "Autentimise käigus tekkis tundmatu viga!" - -#: ../pyhoca/wxgui/frontend.py:807 -#, python-format -msgid "%s: DirectRDP not supported yet" -msgstr "%s: DirectRDP ei ole veel toetatud" - -#: ../pyhoca/wxgui/frontend.py:808 -#, python-format -msgid "" -"We apologize for the inconvenience...\n" -"\n" -"Session profiles of type ,,DirectRDP'' are not\n" -"supported by %s (%s), yet!!\n" -"\n" -"DirectRDP support will be available in %s (>= 1.0.0.0)." -msgstr "" -"Vabandame...\n" -"\n" -",,DirectRDP'' ei ole\n" -"veel toetatud %s (%s) poolt!!\n" -"\n" -"DirectRDP -tugi tuleb versiooni %s (>= 1.0.0.0)." - -#: ../pyhoca/wxgui/frontend.py:823 -msgid "Unknown session profile, configure before using it..." -msgstr "Tundmatu sessiooni profiil anna selle parameetrid..." - -#: ../pyhoca/wxgui/frontend.py:884 -#, python-format -msgid "Desktop Sharing with %s not supported by server" -msgstr "Töölaua jagamine %s'ga ei ole serveri poolt toetatud" - -#: ../pyhoca/wxgui/frontend.py:885 -#, python-format -msgid "" -"We apologize for the inconvenience...\n" -"\n" -"Session profiles of type ,,SHADOW'' are not\n" -"supported by X2Go Server (v%s)!!!\n" -"\n" -"Desktop Sharing with %s requires\n" -"X2Go Server 4.1.0.0 and above." -msgstr "" -"Vabandame...\n" -"\n" -",,SHADOW'' ei ole\n" -"veel toetatud %s (%s) poolt!!\n" -"\n" -"Töölauai jagamine %s'ga tuleb versiooni %s (>= 4.1.0.0)." - -#: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 -#, python-format -msgid "%s - session warning" -msgstr "%s - sessiooni hoiatus" - -#: ../pyhoca/wxgui/frontend.py:943 -#, python-format -msgid "Execution of command ,,%s'' failed." -msgstr ",,%s\" käivitamine ebaõnnestus." - -#: ../pyhoca/wxgui/frontend.py:1084 -msgid "Cleaning X2Go sessions..." -msgstr "Puhastame X2Go sessioonid..." - -#: ../pyhoca/wxgui/frontend.py:1132 -#, python-format -msgid "%s - disconnect" -msgstr "%s - ühenduse lõpetamine" - -#: ../pyhoca/wxgui/frontend.py:1132 -msgid "X2Go Profile is now disconnected." -msgstr "X2Go -profiili ühendus on nüüd lõpetatud." - -#: ../pyhoca/wxgui/frontend.py:1153 -msgid "New Session Profile" -msgstr "Uus sessiooni profiil" - -#: ../pyhoca/wxgui/frontend.py:1208 -#, python-format -msgid "Really Delete Session Profile ,,%s''?" -msgstr "Kas tõesti soovite kustutada profiili ,,%s''?" - -#: ../pyhoca/wxgui/frontend.py:1213 -#, python-format -msgid "%s - profile deleted" -msgstr "Profiil %s on kustutatud" - -#: ../pyhoca/wxgui/frontend.py:1213 -msgid "The session profile has been deleted." -msgstr "Sessiooni profiil on kustutatud." - -#: ../pyhoca/wxgui/frontend.py:1225 -msgid "import session profile(s)" -msgstr "Impordi sessiooni profiilid" - -#: ../pyhoca/wxgui/frontend.py:1237 -#, python-format -msgid "%s: Import of session profile(s) failed" -msgstr "%s: sessiooni profiilide import ebaõnnestus" - -#: ../pyhoca/wxgui/frontend.py:1238 -#, python-format -msgid "" -"The selected session profile(s) could not be imported from \n" -"file »%s«.\n" -"\n" -"Are you sure the session profiles file has the correct format?" -msgstr "" -"Valitud sessiooniprofiilide import\n" -"failist »%s« ebaõnnestus.\n" -"\n" -"Kas oled kindel, et nende struktuur on õige?" - -#: ../pyhoca/wxgui/frontend.py:1266 -#, python-format -msgid "%s: Write failure after import" -msgstr "%s: Importimisejärgne salvestusviga" - -#: ../pyhoca/wxgui/frontend.py:1267 -msgid "" -"The session profiles configuration could not be written to file after " -"import\n" -"\n" -"Check for common problems (disk full, insufficient access, etc.)." -msgstr "" -"Ei õnnestu salvestada imporditud sessiooniprofiile\n" -"\n" -"Kontrolli tavalisemaid vigu (ketas täis; kirjutuskaitstud kataloog jms)." - -#: ../pyhoca/wxgui/frontend.py:1272 -msgid "None of the session profiles could be imported..." -msgstr "Ei õnnestunud ühegi sessiooniprofiili import..." - -#: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 -#, python-format -msgid "For details, start %s from the command line and retry the import." -msgstr "Saad täpsemad andmed kui käivitad %s ja üritad uuesti importida." - -#: ../pyhoca/wxgui/frontend.py:1279 -msgid "Only these session profiles could be imported..." -msgstr "Õnnestus ainult nende sessiooniprofiilide import..." - -#: ../pyhoca/wxgui/frontend.py:1282 -msgid "Whereas these session profiles failed to import..." -msgstr "Nende sessiooniprofiilide importimine ebaõnnestus..." - -#: ../pyhoca/wxgui/frontend.py:1288 -msgid "New session profiles have been imported..." -msgstr "Uued sessiooniprofiilid on imporditud..." - -#: ../pyhoca/wxgui/frontend.py:1293 -msgid "New session profile has been imported..." -msgstr "Uus sessiooniprofiil on imporditud..." - -#: ../pyhoca/wxgui/frontend.py:1322 -#, python-format -msgid "%s - export session profiles" -msgstr "%s -ekspordib sessiooniprofiile" - -#: ../pyhoca/wxgui/frontend.py:1327 -#, python-format -msgid "%s - export session profile" -msgstr "%s -ekspordib sessiooniprofiili" - -#: ../pyhoca/wxgui/frontend.py:1339 -#, python-format -msgid "%s: Export file already exists" -msgstr "%s: Ekspordifail on juba olemas" - -#: ../pyhoca/wxgui/frontend.py:1340 -#, python-format -msgid "" -"The file »%s« already exists in this folder.\n" -"\n" -"Do you want to replace it?" -msgstr "" -"Fail »%s« on juba kataloogis olemas.\n" -"\n" -"Kas kirjutame selle üle?" - -#: ../pyhoca/wxgui/frontend.py:1361 -#, python-format -msgid "%s - profiles exported" -msgstr "%s: -profiilid on eksporditud" - -#: ../pyhoca/wxgui/frontend.py:1361 -#, python-format -msgid "Successfully exported session profile group »%s« to file »%s«." -msgstr "Sessiooniprofiilide rühm »%s« on eksporditud faili »%s«." - -#: ../pyhoca/wxgui/frontend.py:1363 -#, python-format -msgid "%s - profile exported" -msgstr "%s - profiil on eksporditud" - -#: ../pyhoca/wxgui/frontend.py:1363 -#, python-format -msgid "Successfully exported single session profile »%s« to file »%s«." -msgstr "Profiil »%s« on salvestatud faili »%s«." - -#: ../pyhoca/wxgui/frontend.py:1367 -#, python-format -msgid "%s: Exporting session profile(s) failed" -msgstr "%s: Profiili(de) eksport ebaõnnestus" - -#: ../pyhoca/wxgui/frontend.py:1368 -#, python-format -msgid "" -"The selected session profile(s) could not be exported to the \n" -"file »%s«.\n" -"\n" -"Check for common problems (disk full, insufficient access, etc.)." -msgstr "" -"Valitud sessiooniprofiilide eksport\n" -"faili »%s« ebaõnnestus.\n" -"\n" -"Kontrolli neid tavalispõhjuseid (ketas täis, kirjutuskaitse jne.)." - -#: ../pyhoca/wxgui/frontend.py:1387 -#, python-format -msgid "%s - share local folder with sessions of this profile" -msgstr "jaga oma lokaalset kataloogi %s profiili sessioonidega" - -#: ../pyhoca/wxgui/frontend.py:1553 -#, python-format -msgid "" -"The authenticity of host [%s]:%s can't be established.\n" -"%s key fingerprint is ,,%s''.\n" -"\n" -"Are you sure you want to continue connecting?" -msgstr "" -"Ei suuda kontrollida serveri [%s]:%s autentsust.\n" -"% võtme kontroll on ,,%s''.\n" -"\n" -"Kas oled kindel et tahad ühenduse avamist jätkata?" - -#: ../pyhoca/wxgui/frontend.py:1561 -#, python-format -msgid "%s: Confirm Host Authorization" -msgstr "%s: Kinnita serveri õiguseid" - -#: ../pyhoca/wxgui/frontend.py:1607 -#, python-format -msgid "%s - channel error" -msgstr "%s: kanali viga" - -#: ../pyhoca/wxgui/frontend.py:1607 -#, python-format -msgid "" -"Lost connection to server %s unexpectedly!\n" -"\n" -"Try to re-authenticate to the server..." -msgstr "" -"Ühendus serveriga %s katkes!\n" -"\n" -"Ürita uuesti sisse logida..." - -#: ../pyhoca/wxgui/frontend.py:1625 -#, python-format -msgid "%s - SFTP client error" -msgstr "%s: - SFTP -viga" - -# Tarkista kaiutus -#: ../pyhoca/wxgui/frontend.py:1625 -msgid "" -"New X2Go session will lack SFTP client support.\n" -"Check your server setup.\n" -"\n" -"Avoid echoing ~/.*shrc files on server!!!\n" -"\n" -"Not starting new session..." -msgstr "" -"Avatud X2Go sessioonis ei ole kasutusel SFTP.\n" -"Kontrolli oma serveri seadeid.\n" -"\n" -"Väldi ~/.*shrc -faile serveril!!!\n" -"\n" -"Uut sessiooni ei avata..." - -#: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 -#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 -#: ../pyhoca/wxgui/frontend.py:1756 -#, python-format -msgid "%s - session failure" -msgstr "%s - sessioon ebaõnnestus" - -#: ../pyhoca/wxgui/frontend.py:1642 -msgid "The session startup failed." -msgstr "Sessiooni avamine ebaõnnestus." - -#: ../pyhoca/wxgui/frontend.py:1655 -msgid "The session initialization failed." -msgstr "Sessiooni initsialiseerimine ebaõnnestus." - -#: ../pyhoca/wxgui/frontend.py:1668 -#, python-format -msgid "%s - desktop sharing failure" -msgstr "%s - töölaua jagamine ebaõnnestus" - -#: ../pyhoca/wxgui/frontend.py:1668 -msgid "" -"Desktop sharing was denied by the other user or\n" -"both of you have insufficient privileges to share one another's desktop." -msgstr "" -"Töölaua jagamine keelati teise kasutaja pooltvõi\n" -"teil kummalgi ei ole piisavalt õigusi jagada teineteise töölauda." - -#: ../pyhoca/wxgui/frontend.py:1681 -#, python-format -msgid "%s - timeout" -msgstr "%s - timeout" - -#: ../pyhoca/wxgui/frontend.py:1681 -msgid "" -"The server took long to provide a list of sharable desktops.\n" -"This can happen from time to time, please try again" -msgstr "" -"Server ei saanud mõistliku aja jooksul saadetud jagatavate töölaudade " -"listi.\n" -"See viga võib olla juhuslik, palun proovi uuesti" - -#: ../pyhoca/wxgui/frontend.py:1693 -#, python-format -msgid "%s - desktop sharing failed" -msgstr "%s - töölaua jagamine ebaõnnestus" - -#: ../pyhoca/wxgui/frontend.py:1693 -#, python-format -msgid "The desktop %s is not available for sharing (anymore)." -msgstr "Töölaud %s ei ole (enam) kättesaadav jagamiseks." - -#: ../pyhoca/wxgui/frontend.py:1711 -#, python-format -msgid "The command ,,%s'' is not available on X2Go server." -msgstr "Käsk ,,%s'' ei ole kasutuses X2Go -serveril." - -#: ../pyhoca/wxgui/frontend.py:1713 -#, python-format -msgid "" -"The command ,,%s'' is not available on X2Go server\n" -"%s." -msgstr "Käsk ,,%s'' ei ole kasutuses X2Go -serveril %s." - -#: ../pyhoca/wxgui/frontend.py:1730 -#, python-format -msgid "" -"Reverse TCP port forwarding request for session %s to server port %s has " -"been denied." -msgstr "" -"Reverse TCP -pordi edasisuunamine sessioonist %s serveri porti %s on " -"keelatud." - -#: ../pyhoca/wxgui/frontend.py:1756 -#, python-format -msgid "" -"Forwarding tunnel request to [%s]:%s for session %s was denied by remote " -"X2Go/SSH server. Subsystem %sstartup failed." -msgstr "" -"Tunnel request'i edasisuunamine [%s]:%s sessiooni %s jaoks on keelatud X2Go/" -"SSH serveris. Alamsüsteemi % käivitusebaõnnestus." - -#: ../pyhoca/wxgui/frontend.py:1775 -#, python-format -msgid "%s - audio warning" -msgstr "%s - helihoiatus" - -#: ../pyhoca/wxgui/frontend.py:1775 -msgid "" -"The X2Go PulseAudio system is not available within Remote Desktop sessions." -msgstr "" -"X3Go PulseAudio - süsteem ei ole kasutusel Remote Desktop -sessioonides." - -#: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 -#, python-format -msgid "%s - audio error" -msgstr "%s - heli viga" - -#: ../pyhoca/wxgui/frontend.py:1782 -msgid "The X2Go PulseAudio system could not be started." -msgstr "X2Go PulseAudio -teenus ei käivitunud." - -#: ../pyhoca/wxgui/frontend.py:1789 -msgid "The X2Go PulseAudio system has died unexpectedly." -msgstr "X2Go PulseAudio -teenus lõpetas töötamise." - -#: ../pyhoca/wxgui/frontend.py:1801 -#, python-format -msgid "%s - audio problem" -msgstr "%s - audio probleem" - -#: ../pyhoca/wxgui/frontend.py:1801 -#, python-format -msgid "" -"The audio connection could not be set up for this session.\n" -"%s" -msgstr "" -"Audio -ühendust ei saadud toimima selles sessioonis.\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1813 -#, python-format -msgid "%s - client-side printing not available" -msgstr "%s - kliendipoolne printimine ei ole võimalik" - -#: ../pyhoca/wxgui/frontend.py:1813 -#, python-format -msgid "" -"The server denies client-side printing from within this session.\n" -"%s" -msgstr "" -"Server keelab kliendipoolse printimise selles sessioonis.\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1825 -#, python-format -msgid "%s - MIME box not available" -msgstr "%s - MIME postkast ei ole kättesaadav" - -#: ../pyhoca/wxgui/frontend.py:1825 -#, python-format -msgid "" -"The server does not support the X2Go MIME box.\n" -"%s" -msgstr "" -"Server ei toeta X2Go MIME -postkasti kasutamist.\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1837 -#, python-format -msgid "%s - client-side folders not sharable" -msgstr "%s - kliendi kataloogid ei ole jagatavad" - -#: ../pyhoca/wxgui/frontend.py:1837 -#, python-format -msgid "" -"The server denies client-side folder sharing with this session.\n" -"%s" -msgstr "" -"Server keelab kliendipoolse kataloogide jagamiseselles sessioonis.\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1849 -#, python-format -msgid "%s - client resources not sharable" -msgstr "%s kliendi ressursid ei ole jagatavad" - -#: ../pyhoca/wxgui/frontend.py:1849 -#, python-format -msgid "" -"Client-side folders and printers cannot be shared with this session.\n" -"%s" -msgstr "" -"Kliendipoolsed kataloogid ja printerid ei ole jagatavad selles sessioonis.\n" -"%" - -#: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 -#, python-format -msgid "%s - print error" -msgstr "%s - printimisviga" - -#: ../pyhoca/wxgui/frontend.py:1868 -#, python-format -msgid "" -"%s\n" -"...caused on printer %s by session\n" -"%s" -msgstr "" -"%s\n" -"...põhjustas printeris %s sessioonis\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1870 -#, python-format -msgid "" -"%s\n" -"...caused by session\n" -"%s" -msgstr "" -"%s\n" -"...põjustatud sessioonist\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 -#, python-format -msgid "%s - start" -msgstr "%s - alustab" - -#: ../pyhoca/wxgui/frontend.py:1885 -#, python-format -msgid "" -"New X2Go session starting up...\n" -"%s" -msgstr "" -"Uus X2Go -sessioon käivitub...\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1900 -#, python-format -msgid "" -"Another client started X2Go session\n" -"%s" -msgstr "" -"Teine klient käivitas X2Go sessiooni\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 -#, python-format -msgid "%s - resume" -msgstr "%s - jätkamine" - -#: ../pyhoca/wxgui/frontend.py:1915 -#, python-format -msgid "" -"Resuming X2Go session...\n" -"%s" -msgstr "" -"Jätkame X2Go sessiooni...\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1930 -#, python-format -msgid "" -"Another client resumed X2Go session\n" -"%s" -msgstr "" -"Teine klient alustas uuesti X2Go sessiooni\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1945 -#, python-format -msgid "%s - running" -msgstr "%s - töötab" - -#: ../pyhoca/wxgui/frontend.py:1945 -#, python-format -msgid "" -"Found already running session\n" -"%s" -msgstr "" -"Leidus juba töötav sessioon\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1965 -#, python-format -msgid "%s - suspend" -msgstr "%s - peata" - -#: ../pyhoca/wxgui/frontend.py:1965 -#, python-format -msgid "" -"X2Go Session has been suspended\n" -"%s" -msgstr "" -"X2Go -Sessioon on peatatud\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:1992 -#, python-format -msgid "%s - terminate" -msgstr "%s - Lõpeta" - -#: ../pyhoca/wxgui/frontend.py:1992 -#, python-format -msgid "" -"X2Go Session has terminated\n" -"%s" -msgstr "" -"X2Go -Sessioon on lõppenud\n" -"%s" - -#: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 -#, python-format -msgid "%s: connection failure" -msgstr "%s: ühenduse viga" - -#: ../pyhoca/wxgui/frontend.py:2017 -#, python-format -msgid "" -"While initializing a session for profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" -"Sessiooni initsialiseerimisel profiilile %s ühendus\n" -"%le ebaõnnestus.\n" -"\n" -"Võid üritada uuesti\n" -"Kas soovid jätkata?" - -#: ../pyhoca/wxgui/frontend.py:2023 -#, python-format -msgid "" -"While connecting to profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" -"ühendumisel profiilile %s ühendus\n" -"%le ebaõnnestus.\n" -"\n" -"Võid üritada uuesti\n" -"Kas soovid jätkata?" - -#: ../pyhoca/wxgui/messages.py:70 -#, python-format -msgid "" -"Are you really sure you want to\n" -"delete the session profile ,,%s''?" -msgstr "" -"Kas tõesti soovite kustutada \n" -"profiili ,,%s''?" - -#: ../pyhoca/wxgui/messages.py:71 -#, python-brace-format -msgid "" -"{appname} is already running for user ,,{username}''!\n" -"\n" -"Only one instance of {appname} can be started per\n" -"user. The {appname} icon can be found in your desktop's\n" -"notification area/systray." -msgstr "" -"{appname} on juba käivitatud kasutajale ,,{username}''!\n" -"\n" -"Ainult üks {appname} võib olla käivitatud ühe kasutaja\n" -"kohta.{appname} ikoon leidub töölaua toiminguriba teadete alal." - -#: ../pyhoca/wxgui/messages.py:109 -msgid "Yes" -msgstr "Jah" - -#: ../pyhoca/wxgui/messages.py:110 -msgid "No" -msgstr "Ei" - -#: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 -msgid "Ok" -msgstr "Ok" - -#: ../pyhoca/wxgui/printingprefs.py:67 -#, python-format -msgid "%s - Printing Preferences" -msgstr "%s - Printeri seaded" - -#: ../pyhoca/wxgui/printingprefs.py:69 -#, python-format -msgid "%s - Incoming Print Job from %s (%s)" -msgstr "%s - Sissetulev printimistöö %s (%s)" - -#: ../pyhoca/wxgui/printingprefs.py:74 -msgid "Open this dialog window" -msgstr "Ava see dialoogiaken" - -#: ../pyhoca/wxgui/printingprefs.py:75 -msgid "Open with PDF viewer" -msgstr "Ava PDF viewr'iga" - -#: ../pyhoca/wxgui/printingprefs.py:76 -msgid "Save to a local folder" -msgstr "Salvesta lokaalsele kettale" - -#: ../pyhoca/wxgui/printingprefs.py:77 -msgid "Print to a local printer" -msgstr "Prindi lokaalsele printerile" - -#: ../pyhoca/wxgui/printingprefs.py:78 -msgid "Run custom print command" -msgstr "Käivita printimiskäsk" - -#: ../pyhoca/wxgui/printingprefs.py:81 -msgid "" -msgstr "" +msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:115 +#: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" -msgstr "Tulostustoiminto" +msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:117 +#: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" -msgstr "Oletusohjaus saaduille tulostustehtäville" +msgstr "" #. widgets for print action PDFVIEW -#: ../pyhoca/wxgui/printingprefs.py:121 +#: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" -msgstr "PDF-katseluohjelman komento" +msgstr "" #. widgets for print action PDFSAVE -#: ../pyhoca/wxgui/printingprefs.py:128 +#: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" -msgstr "Talleta PDF-tiedostot kansioon" +msgstr "" #. widgets for print action PRINT -#: ../pyhoca/wxgui/printingprefs.py:135 +#: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" -msgstr "Käytä tätä tulostinta" +msgstr "" #. widgets for print action PRINTCMD -#: ../pyhoca/wxgui/printingprefs.py:139 +#: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" -msgstr "Erikseen määritelty tulostinkomento" +msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:146 +#: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" -msgstr "Tulosta" +msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:250 +#: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" -msgstr "- tulostinta ei ole asennettu -" +msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:255 +#: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" -msgstr "- tulotinjärjestelmä ei ole saatavilla -" +msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:409 +#: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" -msgstr "Valitse PDF-tiedoston katseluohjelma" +msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:432 +#: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" -msgstr "Valitse PDF-tiedoston talletushakemisto" +msgstr "" -#: ../pyhoca/wxgui/sessiontitle.py:65 +#: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" -msgstr "Istunnon otsikko - %s" +msgstr "" -#: ../pyhoca/wxgui/sessiontitle.py:67 +#: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" -msgstr "Vaiha istunnon otsikko" +msgstr "" -#: ../pyhoca/wxgui/sessiontitle.py:69 +#: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" -msgstr "OK" +msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:61 +#: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" -msgstr "Palvelimen tiedot . %s" +msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:63 +#: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" -"Istunnon profiili: %s\n" -"\n" -"Luettelo X2Go palvelimen komponenteista, lisäykset ja niiden versionumerot..." -#: ../pyhoca/wxgui/serverinfo.py:68 +#: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" -msgstr "Päivitä näyttö" +msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:69 +#: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" -msgstr "Sulje" +msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:138 +#: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" -msgstr "X2Go -palvelin" +msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:139 +#: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" -msgstr "Palvelimen perusjärjestelmä" +msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:147 +#: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" -msgstr "Palvelimen laajennukset" +msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:153 +#: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" -msgstr "X2Go -palvelimen lisäykset" +msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:157 +#: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" -msgstr "X2Go -palvelimen ominaisuudet" +msgstr "" diff -Nru pyhoca-gui-0.5.0.3/po/fr.po pyhoca-gui-0.4.0.9/po/fr.po --- pyhoca-gui-0.5.0.3/po/fr.po 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/po/fr.po 2015-09-23 07:21:47.000000000 +0000 @@ -1,5 +1,5 @@ # PyHoca-GUI / i18n. -# Copyright (C) 2010-2014 Mike Gabriel +# Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # Mike Gabriel , 2011. @@ -8,10 +8,10 @@ msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-20 12:52+0200\n" +"POT-Creation-Date: 2013-11-21 23:29+0100\n" "PO-Revision-Date: 2011-09-17 02:17+0100\n" "Last-Translator: Mike Gabriel \n" -"Language-Team: X2Go i18n \n" +"Language-Team: X2Go i18n \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,163 +21,123 @@ "X-Poedit-Country: French\n" "X-Poedit-SourceCharset: utf-8\n" -#: ../pyhoca/wxgui/brokerlogon.py:54 -msgid "Logon" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:57 -msgid "Broker URL" +#: ../pyhoca/wxgui/logon.py:92 +#, python-format +msgid "%s (via %s)" msgstr "" -#: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 -#: ../pyhoca/wxgui/logon.py:99 +#: ../pyhoca/wxgui/logon.py:98 ../pyhoca/wxgui/logon.py:110 msgid "Username" msgstr "" -#: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 -#: ../pyhoca/wxgui/logon.py:101 +#: ../pyhoca/wxgui/logon.py:100 ../pyhoca/wxgui/logon.py:112 msgid "Password" msgstr "" -#: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 +#: ../pyhoca/wxgui/logon.py:103 msgid "Authenticate" msgstr "" -#: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 -#: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 -#: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 -#: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 -msgid "Cancel" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -#, python-format -msgid "%s - success" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -msgid "" -"Authentication to session broker has been\n" -"successful." -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:167 -#, python-format -msgid "%s - failure" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:167 -msgid "Authentication to session broker failed." -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "%s: Connection refused error" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "Connection to %s failed. Retry?" -msgstr "" - -#: ../pyhoca/wxgui/logon.py:81 -#, python-format -msgid "%s (via %s)" -msgstr "" - -#: ../pyhoca/wxgui/logon.py:104 +#: ../pyhoca/wxgui/logon.py:115 msgid "Start SSH tunnel" msgstr "" -#: ../pyhoca/wxgui/logon.py:112 +#: ../pyhoca/wxgui/logon.py:123 msgid "Session login" msgstr "" -#: ../pyhoca/wxgui/logon.py:113 +#: ../pyhoca/wxgui/logon.py:124 msgid "SSH proxy server login" msgstr "" -#: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 -#: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 -#: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 -#: ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:135 ../pyhoca/wxgui/passphrase.py:102 +#: ../pyhoca/wxgui/profilemanager.py:375 ../pyhoca/wxgui/listdesktops.py:98 +#: ../pyhoca/wxgui/messages.py:130 ../pyhoca/wxgui/printingprefs.py:147 +#: ../pyhoca/wxgui/sessiontitle.py:85 +msgid "Cancel" +msgstr "" + +#: ../pyhoca/wxgui/logon.py:307 ../pyhoca/wxgui/logon.py:360 +#: ../pyhoca/wxgui/passphrase.py:225 ../pyhoca/wxgui/passphrase.py:232 +#: ../pyhoca/wxgui/passphrase.py:239 ../pyhoca/wxgui/passphrase.py:246 +#: ../pyhoca/wxgui/frontend.py:617 #, python-format msgid "%s - connect failure" msgstr "" -#: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:308 ../pyhoca/wxgui/frontend.py:617 msgid "User is not allowed to start X2Go sessions!" msgstr "" -#: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/logon.py:313 ../pyhoca/wxgui/passphrase.py:207 +#: ../pyhoca/wxgui/frontend.py:624 #, python-format msgid "%s - connect" msgstr "" -#: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 +#: ../pyhoca/wxgui/logon.py:314 ../pyhoca/wxgui/passphrase.py:208 msgid "Authentication has been successful." msgstr "" -#: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 +#: ../pyhoca/wxgui/logon.py:356 ../pyhoca/wxgui/logon.py:456 msgid "SSH tunnel started" msgstr "" -#: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 +#: ../pyhoca/wxgui/logon.py:361 ../pyhoca/wxgui/passphrase.py:240 msgid "Authentication failed!" msgstr "" -#: ../pyhoca/wxgui/logon.py:358 +#: ../pyhoca/wxgui/logon.py:369 #, python-format msgid "%s - SSH proxy" msgstr "" -#: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 +#: ../pyhoca/wxgui/logon.py:370 ../pyhoca/wxgui/passphrase.py:247 msgid "Authentication to the SSH proxy server failed!" msgstr "" -#: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 -#: ../pyhoca/wxgui/frontend.py:750 +#: ../pyhoca/wxgui/logon.py:397 ../pyhoca/wxgui/passphrase.py:253 +#: ../pyhoca/wxgui/frontend.py:729 #, python-format msgid "%s - socket error" msgstr "" -#: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 -#: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/logon.py:404 ../pyhoca/wxgui/passphrase.py:260 +#: ../pyhoca/wxgui/frontend.py:708 ../pyhoca/wxgui/frontend.py:715 #, python-format msgid "%s - host key error" msgstr "" -#: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 -#: ../pyhoca/wxgui/frontend.py:729 +#: ../pyhoca/wxgui/logon.py:405 ../pyhoca/wxgui/passphrase.py:261 +#: ../pyhoca/wxgui/frontend.py:708 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" -#: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:412 ../pyhoca/wxgui/passphrase.py:268 +#: ../pyhoca/wxgui/frontend.py:743 #, python-format msgid "%s - missing home directory" msgstr "" -#: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:413 ../pyhoca/wxgui/passphrase.py:269 +#: ../pyhoca/wxgui/frontend.py:743 msgid "The remote user's home directory does not exist." msgstr "" -#: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 +#: ../pyhoca/wxgui/logon.py:420 ../pyhoca/wxgui/passphrase.py:291 #, python-format msgid "%s - key error" msgstr "" -#: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 -#: ../pyhoca/wxgui/frontend.py:771 +#: ../pyhoca/wxgui/logon.py:428 ../pyhoca/wxgui/passphrase.py:299 +#: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - auth error" msgstr "" -#: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 -#: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 +#: ../pyhoca/wxgui/logon.py:460 ../pyhoca/wxgui/passphrase.py:287 +#: ../pyhoca/wxgui/passphrase.py:318 ../pyhoca/wxgui/frontend.py:678 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" @@ -186,1019 +146,962 @@ "However, for security reasons the connection will not be established!!!" msgstr "" -#: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 -#: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 +#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/frontend.py:686 ../pyhoca/wxgui/frontend.py:706 #, python-format msgid "%s - SSH error" msgstr "" -#: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 +#: ../pyhoca/wxgui/logon.py:475 ../pyhoca/wxgui/passphrase.py:331 #, python-format msgid "%s - unknown error" msgstr "" -#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/logon.py:476 ../pyhoca/wxgui/passphrase.py:332 msgid "An unknown error occured during authentication!" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:69 +#: ../pyhoca/wxgui/passphrase.py:78 #, python-format msgid "%s (SSH proxy)" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:71 +#: ../pyhoca/wxgui/passphrase.py:80 #, python-format msgid "%s (X2Go Server)" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:81 +#: ../pyhoca/wxgui/passphrase.py:90 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "" -#: ../pyhoca/wxgui/passphrase.py:83 +#: ../pyhoca/wxgui/passphrase.py:92 msgid "Unlock auto-discovered SSH private key..." msgstr "" -#: ../pyhoca/wxgui/passphrase.py:85 +#: ../pyhoca/wxgui/passphrase.py:94 msgid "Passphrase" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:88 +#: ../pyhoca/wxgui/passphrase.py:97 msgid "Unlock SSH key" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:217 +#: ../pyhoca/wxgui/passphrase.py:226 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:224 +#: ../pyhoca/wxgui/passphrase.py:233 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "" -#: ../pyhoca/wxgui/taskbar.py:111 +#: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" -#: ../pyhoca/wxgui/taskbar.py:115 +#: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" -#: ../pyhoca/wxgui/taskbar.py:125 -#, python-format +#: ../pyhoca/wxgui/taskbar.py:139 msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "" -#: ../pyhoca/wxgui/taskbar.py:129 -#, python-format +#: ../pyhoca/wxgui/taskbar.py:143 msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:81 +#: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:82 +#: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:83 +#: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:84 +#: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:85 +#: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:86 +#: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:87 +#: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:88 +#: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:89 +#: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:90 +#: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:91 +#: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:92 +#: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:93 +#: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:94 +#: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 +#: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 +#: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 +#: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 +#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 +#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:106 -msgid "between client and server" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:107 -msgid "from server to client only" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:108 -msgid "from client to server only" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:109 -msgid "not at all" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:127 +#: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:128 +#: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:129 +#: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:157 +#: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "" #. boxes for all tabs -#: ../pyhoca/wxgui/profilemanager.py:205 +#: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:206 +#: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:207 +#: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:208 +#: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:209 +#: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:210 +#: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:211 +#: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:212 +#: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:213 -msgid "Clipboard" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:214 +#: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:215 +#: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:216 +#: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:217 +#: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:218 +#: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "" #. ## #. ## widgets for the PROFILE tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:223 +#: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:230 +#: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:231 +#: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:232 +#: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:251 +#: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "" #. ## #. ## widgets for the SESSION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:257 +#: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:258 +#: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:259 +#: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:261 +#: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:265 +#: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:267 +#: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:269 +#: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:271 +#: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:272 +#: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "" #. ## #. ## widgets for the CONNECTION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 +#: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 +#: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 +#: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:285 +#: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:288 +#: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:290 +#: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:291 +#: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:292 +#: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:295 +#: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:296 +#: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:297 +#: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:304 +#: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:307 +#: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:308 +#: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:309 +#: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:310 +#: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:311 +#: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:313 +#: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:315 +#: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "" #. ## #. ## wigdets for the IO tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:321 +#: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:322 +#: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:323 +#: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:328 +#: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:330 -msgid "Allow copy'n'paste" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:332 +#: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:333 +#: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:334 +#: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:335 +#: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:337 +#: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:339 +#: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "" #. ## #. ## wigdets for the MEDIA tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:344 +#: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:345 +#: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this -#: ../pyhoca/wxgui/profilemanager.py:349 +#: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:352 +#: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:353 +#: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:354 +#: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:357 +#: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "" #. ## #. ## wigdets for the SHARING tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:363 +#: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:364 +#: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:365 +#: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 +#: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:370 +#: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:371 +#: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:372 +#: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:374 +#: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:375 +#: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:377 +#: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:380 +#: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:381 +#: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:383 +#: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:388 +#: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:390 +#: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:391 +#: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 +#: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:453 -#: ../pyhoca/wxgui/profilemanager.py:1184 -#: ../pyhoca/wxgui/profilemanager.py:2364 +#: ../pyhoca/wxgui/profilemanager.py:425 +#: ../pyhoca/wxgui/profilemanager.py:1141 +#: ../pyhoca/wxgui/profilemanager.py:2312 msgid "automatically" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:455 -#: ../pyhoca/wxgui/profilemanager.py:1186 +#: ../pyhoca/wxgui/profilemanager.py:427 +#: ../pyhoca/wxgui/profilemanager.py:1143 msgid "manually" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:464 -#, python-format -msgid "%s Profile Manager - new profile" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:467 -#, python-format -msgid "%s Profile Manager - %s (connected)" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:469 -#, python-format -msgid "%s Profile Manager - %s (connected, immutable)" +#: ../pyhoca/wxgui/profilemanager.py:436 +msgid "PyHoca-GUI Profile Manager - new profile" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:472 +#: ../pyhoca/wxgui/profilemanager.py:438 #, python-format -msgid "%s Profile Manager - %s" +msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:474 +#: ../pyhoca/wxgui/profilemanager.py:440 #, python-format -msgid "%s Profile Manager - %s (immutable)" +msgid "PyHoca-GUI Profile Manager - %s" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:851 +#: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:852 +#: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:853 +#: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:854 +#: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:855 +#: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:856 +#: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:857 +#: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1044 +#: ../pyhoca/wxgui/profilemanager.py:995 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1045 +#: ../pyhoca/wxgui/profilemanager.py:996 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1046 +#: ../pyhoca/wxgui/profilemanager.py:997 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1504 +#: ../pyhoca/wxgui/profilemanager.py:1458 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1507 +#: ../pyhoca/wxgui/profilemanager.py:1461 msgid "Choose an icon for this session profile" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1956 +#: ../pyhoca/wxgui/profilemanager.py:1904 msgid "All files (*.*)|*" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1958 -#: ../pyhoca/wxgui/profilemanager.py:1982 +#: ../pyhoca/wxgui/profilemanager.py:1906 +#: ../pyhoca/wxgui/profilemanager.py:1930 msgid "Choose a public SSH key" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2316 +#: ../pyhoca/wxgui/profilemanager.py:2264 msgid "Choose a folder to share within a session" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2444 -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 +#: ../pyhoca/wxgui/profilemanager.py:2392 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2444 +#: ../pyhoca/wxgui/profilemanager.py:2392 msgid "Profile name is missing, profile unusable!!!" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 #, python-format msgid "Profile name %s already exists!!!" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2478 +#: ../pyhoca/wxgui/profilemanager.py:2425 #, python-format msgid "%s - profile added" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2479 +#: ../pyhoca/wxgui/profilemanager.py:2426 msgid "A new session profile has been added." msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2483 +#: ../pyhoca/wxgui/profilemanager.py:2430 #, python-format msgid "%s - modified" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:2484 +#: ../pyhoca/wxgui/profilemanager.py:2431 msgid "Changes to profile have been saved." msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:66 +#: ../pyhoca/wxgui/listdesktops.py:81 #, python-format msgid "Share Desktop Session - %s" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:68 +#: ../pyhoca/wxgui/listdesktops.py:83 msgid "Select one of the available desktop sessions on this server" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:74 +#: ../pyhoca/wxgui/listdesktops.py:89 msgid "View session only" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:75 +#: ../pyhoca/wxgui/listdesktops.py:90 msgid "Gain full access" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:79 +#: ../pyhoca/wxgui/listdesktops.py:94 msgid "Share Desktop" msgstr "" -#: ../pyhoca/wxgui/listdesktops.py:82 +#: ../pyhoca/wxgui/listdesktops.py:97 msgid "Refresh list" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:65 +#: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:67 -msgid "View Profile" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:75 +#: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:79 +#: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:83 +#: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 +#: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:139 +#: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:148 -msgid "Disconnect from session broker" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:153 +#: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:161 +#: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 -#: ../pyhoca/wxgui/menus_taskbar.py:1070 +#: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 +#: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:241 +#: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 +#: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:249 +#: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:260 +#: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:262 +#: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 +#: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 +#: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 +#: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 +#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 +#: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 +#: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:284 +#: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:286 +#: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:288 +#: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 +#: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:301 +#: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:302 +#: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:344 +#: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:356 +#: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:366 +#: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:374 +#: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:380 +#: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:461 +#: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:462 +#: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:463 +#: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:464 +#: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:465 +#: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:466 +#: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:467 +#: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:468 +#: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:469 +#: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:470 +#: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 -msgid "Connect to" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 +#: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:559 +#: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:574 +#: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 +#: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 +#: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 +#: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:591 +#: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:594 +#: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:674 +#: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:715 +#: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:770 +#: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:772 +#: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:791 +#: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:798 +#: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:800 -msgid "View &profile" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:815 +#: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:827 +#: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:834 +#: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:841 +#: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:845 +#: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:899 +#: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:976 -msgid "Session broker is not connected" -msgstr "" - -#: ../pyhoca/wxgui/menus_taskbar.py:978 +#: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:989 +#: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:991 +#: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:997 +#: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "" -#: ../pyhoca/wxgui/menus_taskbar.py:1040 +#: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "" -#: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 +#: ../pyhoca/wxgui/about.py:88 ../pyhoca/wxgui/about.py:90 #, python-format msgid "About %s ..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:489 +#: ../pyhoca/wxgui/frontend.py:468 msgid "Suspending sessions and exiting application..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:492 +#: ../pyhoca/wxgui/frontend.py:471 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:494 +#: ../pyhoca/wxgui/frontend.py:473 msgid "Exiting application..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 #, python-format msgid "%s - server warning" msgstr "" -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 msgid "The X2Go Server does not publish an application menu." msgstr "" -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/frontend.py:624 msgid "SSH key authentication has been successful." msgstr "" -#: ../pyhoca/wxgui/frontend.py:719 +#: ../pyhoca/wxgui/frontend.py:698 msgid "" "Host key verification failed. The SSH proxy server may have been " "compromised.\n" @@ -1208,30 +1111,30 @@ "However, for security reasons the connection will not be established!!!" msgstr "" -#: ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/frontend.py:715 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - EOF error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 msgid "Authentication protocol communication incomplete! Try again..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:778 +#: ../pyhoca/wxgui/frontend.py:757 msgid "An unknown error occurred during authentication!" msgstr "" -#: ../pyhoca/wxgui/frontend.py:807 +#: ../pyhoca/wxgui/frontend.py:786 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "" -#: ../pyhoca/wxgui/frontend.py:808 +#: ../pyhoca/wxgui/frontend.py:787 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1242,16 +1145,16 @@ "DirectRDP support will be available in %s (>= 1.0.0.0)." msgstr "" -#: ../pyhoca/wxgui/frontend.py:823 +#: ../pyhoca/wxgui/frontend.py:799 msgid "Unknown session profile, configure before using it..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:884 +#: ../pyhoca/wxgui/frontend.py:830 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "" -#: ../pyhoca/wxgui/frontend.py:885 +#: ../pyhoca/wxgui/frontend.py:831 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1263,57 +1166,57 @@ "X2Go Server 4.1.0.0 and above." msgstr "" -#: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:889 ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "%s - session warning" msgstr "" -#: ../pyhoca/wxgui/frontend.py:943 +#: ../pyhoca/wxgui/frontend.py:889 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1084 +#: ../pyhoca/wxgui/frontend.py:1030 msgid "Cleaning X2Go sessions..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 #, python-format msgid "%s - disconnect" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 msgid "X2Go Profile is now disconnected." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1153 +#: ../pyhoca/wxgui/frontend.py:1099 msgid "New Session Profile" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1208 +#: ../pyhoca/wxgui/frontend.py:1154 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 #, python-format msgid "%s - profile deleted" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 msgid "The session profile has been deleted." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1225 +#: ../pyhoca/wxgui/frontend.py:1174 msgid "import session profile(s)" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1237 +#: ../pyhoca/wxgui/frontend.py:1186 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1238 +#: ../pyhoca/wxgui/frontend.py:1187 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" @@ -1322,12 +1225,12 @@ "Are you sure the session profiles file has the correct format?" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1266 +#: ../pyhoca/wxgui/frontend.py:1215 #, python-format msgid "%s: Write failure after import" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1267 +#: ../pyhoca/wxgui/frontend.py:1216 msgid "" "The session profiles configuration could not be written to file after " "import\n" @@ -1335,47 +1238,47 @@ "Check for common problems (disk full, insufficient access, etc.)." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1272 +#: ../pyhoca/wxgui/frontend.py:1221 msgid "None of the session profiles could be imported..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 +#: ../pyhoca/wxgui/frontend.py:1224 ../pyhoca/wxgui/frontend.py:1234 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1279 +#: ../pyhoca/wxgui/frontend.py:1228 msgid "Only these session profiles could be imported..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1282 +#: ../pyhoca/wxgui/frontend.py:1231 msgid "Whereas these session profiles failed to import..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1288 +#: ../pyhoca/wxgui/frontend.py:1237 msgid "New session profiles have been imported..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1293 +#: ../pyhoca/wxgui/frontend.py:1242 msgid "New session profile has been imported..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1322 +#: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "%s - export session profiles" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1327 +#: ../pyhoca/wxgui/frontend.py:1276 #, python-format msgid "%s - export session profile" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1339 +#: ../pyhoca/wxgui/frontend.py:1288 #, python-format msgid "%s: Export file already exists" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1340 +#: ../pyhoca/wxgui/frontend.py:1289 #, python-format msgid "" "The file »%s« already exists in this folder.\n" @@ -1383,32 +1286,32 @@ "Do you want to replace it?" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "%s - profiles exported" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "%s - profile exported" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1367 +#: ../pyhoca/wxgui/frontend.py:1316 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1368 +#: ../pyhoca/wxgui/frontend.py:1317 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" @@ -1417,12 +1320,12 @@ "Check for common problems (disk full, insufficient access, etc.)." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1387 +#: ../pyhoca/wxgui/frontend.py:1336 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1553 +#: ../pyhoca/wxgui/frontend.py:1502 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" @@ -1431,17 +1334,17 @@ "Are you sure you want to continue connecting?" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1561 +#: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s: Confirm Host Authorization" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "%s - channel error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" @@ -1449,12 +1352,12 @@ "Try to re-authenticate to the server..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 #, python-format msgid "%s - SFTP client error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" @@ -1464,168 +1367,163 @@ "Not starting new session..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 -#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1591 ../pyhoca/wxgui/frontend.py:1647 +#: ../pyhoca/wxgui/frontend.py:1649 ../pyhoca/wxgui/frontend.py:1685 #, python-format msgid "%s - session failure" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1642 +#: ../pyhoca/wxgui/frontend.py:1591 msgid "The session startup failed." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1655 -msgid "The session initialization failed." -msgstr "" - -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 #, python-format msgid "%s - desktop sharing failure" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 #, python-format msgid "%s - timeout" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "%s - desktop sharing failed" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1711 +#: ../pyhoca/wxgui/frontend.py:1647 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1713 +#: ../pyhoca/wxgui/frontend.py:1649 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1685 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " -"X2Go/SSH server. Subsystem %sstartup failed." +"X2Go/SSH server. Session startup failed." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 #, python-format msgid "%s - audio warning" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1718 #, python-format msgid "%s - audio error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1782 +#: ../pyhoca/wxgui/frontend.py:1711 msgid "The X2Go PulseAudio system could not be started." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1718 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - audio problem" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "%s - client-side printing not available" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "%s - MIME box not available" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "%s - client-side folders not sharable" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "%s - client resources not sharable" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1797 ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "%s - print error" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1868 +#: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "%s\n" @@ -1633,7 +1531,7 @@ "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "" "%s\n" @@ -1641,235 +1539,210 @@ "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1814 ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "%s - start" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1885 +#: ../pyhoca/wxgui/frontend.py:1814 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1844 ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "%s - resume" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1915 +#: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "%s - running" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "%s - suspend" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "%s - terminate" msgstr "" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" -#: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 -#, python-format -msgid "%s: connection failure" -msgstr "" - -#: ../pyhoca/wxgui/frontend.py:2017 -#, python-format -msgid "" -"While initializing a session for profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" - -#: ../pyhoca/wxgui/frontend.py:2023 -#, python-format -msgid "" -"While connecting to profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" - -#: ../pyhoca/wxgui/messages.py:70 +#: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" -#: ../pyhoca/wxgui/messages.py:71 -#, python-brace-format +#: ../pyhoca/wxgui/messages.py:73 +#, python-format msgid "" -"{appname} is already running for user ,,{username}''!\n" +"PyHoca-GUI is already running for user ,,%s''!\n" "\n" -"Only one instance of {appname} can be started per\n" -"user. The {appname} icon can be found in your desktop's\n" +"Only one instance of PyHoca-GUI can be started per\n" +"user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" -#: ../pyhoca/wxgui/messages.py:109 +#: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "" -#: ../pyhoca/wxgui/messages.py:110 +#: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "" -#: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 +#: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:67 +#: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:69 +#: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:74 +#: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:75 +#: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:76 +#: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:77 +#: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:78 +#: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:81 +#: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:115 +#: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" -msgstr "Skrivut handling" +msgstr "Skriv ut handling" -#: ../pyhoca/wxgui/printingprefs.py:117 +#: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "Forvalgt handling for innkommende utskriftsjobber" #. widgets for print action PDFVIEW -#: ../pyhoca/wxgui/printingprefs.py:121 +#: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "PDF leser kommando" #. widgets for print action PDFSAVE -#: ../pyhoca/wxgui/printingprefs.py:128 +#: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "Lagre PDF'er i en mappe" #. widgets for print action PRINT -#: ../pyhoca/wxgui/printingprefs.py:135 +#: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "Benytt denne skriveren" #. widgets for print action PRINTCMD -#: ../pyhoca/wxgui/printingprefs.py:139 +#: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "Selvvalgt kommando for utskrift" -#: ../pyhoca/wxgui/printingprefs.py:146 +#: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "Skriv ut" -#: ../pyhoca/wxgui/printingprefs.py:250 +#: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "- ingen skrivere installert -" -#: ../pyhoca/wxgui/printingprefs.py:255 +#: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "- utskriftssystemet er ikke tilgjengelig -" -#: ../pyhoca/wxgui/printingprefs.py:409 +#: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "Velg PDF leseprogram" -#: ../pyhoca/wxgui/printingprefs.py:432 +#: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "Velg plassering for PDF lagring" -#: ../pyhoca/wxgui/sessiontitle.py:65 +#: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "Sesjonstittel - %s" -#: ../pyhoca/wxgui/sessiontitle.py:67 +#: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "Endre sesjonstittelen til" -#: ../pyhoca/wxgui/sessiontitle.py:69 +#: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" -msgstr "Greit" +msgstr "OK" -#: ../pyhoca/wxgui/serverinfo.py:61 +#: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "Serverinformasjon - %s" -#: ../pyhoca/wxgui/serverinfo.py:63 +#: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" @@ -2010,36 +1865,33 @@ "\n" "Liste over X2Go Server komponenter, tillegg og deres versjoner..." -#: ../pyhoca/wxgui/serverinfo.py:68 +#: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "Oppfrisk" -#: ../pyhoca/wxgui/serverinfo.py:69 +#: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "Lukk" -#: ../pyhoca/wxgui/serverinfo.py:138 +#: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "X2Go Server" -#: ../pyhoca/wxgui/serverinfo.py:139 +#: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" -msgstr "Serverkjerne" +msgstr "Server kjerne" -#: ../pyhoca/wxgui/serverinfo.py:147 +#: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" -msgstr "Serverutvidelser" +msgstr "Server utvidelser" -#: ../pyhoca/wxgui/serverinfo.py:153 +#: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" -msgstr "X2Go Servertillegg" +msgstr "X2Go Server tillegg" -#: ../pyhoca/wxgui/serverinfo.py:157 +#: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" -msgstr "X2Go Serverfunksjoner" - -#~ msgid "PyHoca-GUI Profile Manager - %s" -#~ msgstr "PyHoca-GUI Profil håndterer - %s" +msgstr "X2Go Server Funksjoner" #~ msgid "%s - auth key error" #~ msgstr "%s - Feil med autentiseringsnøkkel" @@ -2047,9 +1899,11 @@ #~ msgid "Settings" #~ msgstr "Innstillinger" +#, fuzzy #~ msgid "%s (%s)\n" #~ msgstr "%s (via %s)" +#, fuzzy #~ msgid "Connect to another Desktop Session" #~ msgstr "Start &ny sesjon" @@ -2071,6 +1925,7 @@ #~ "lokal SSH mellomtjener.\n" #~ "Vennligst endre SSH mellomtjener innstillingene tilsvarende." +#, fuzzy #~ msgid "Remember shared folders" #~ msgstr "Delte &mapper" @@ -2089,12 +1944,18 @@ #~ msgid "Keyboard layout" #~ msgstr "Tastaturoppsett" +#, fuzzy #~ msgid "%s - DNS error" #~ msgstr "%s - nøkkel feil" +#~ msgid "%s - connect error" +#~ msgstr "%s - tilkoblings feil" + +#, fuzzy #~ msgid "Unknown Session Profile" #~ msgstr "Ny sesjonsprofil" +#, fuzzy #~ msgid "Retrieving Application menu..." #~ msgstr "Enkelt applikasjon" @@ -2104,6 +1965,12 @@ #~ msgid "RDP settings" #~ msgstr "RDP innstillinger" +#~ msgid "All session profiles are connected" +#~ msgstr "All session profiles are connected" + +#~ msgid "New Profile" +#~ msgstr "New Profile" + #~ msgid "%s - print job" #~ msgstr "%s - print job" diff -Nru pyhoca-gui-0.5.0.3/po/nl.po pyhoca-gui-0.4.0.9/po/nl.po --- pyhoca-gui-0.5.0.3/po/nl.po 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/po/nl.po 2015-09-23 07:21:47.000000000 +0000 @@ -1,5 +1,5 @@ # PyHoca-GUI / i18n. -# Copyright (C) 2010-2014 Mike Gabriel +# Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # Mike Gabriel , 2011. @@ -8,10 +8,10 @@ msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-20 12:52+0200\n" -"PO-Revision-Date: 2014-08-17 21:29+0100\n" -"Last-Translator: Jos \n" -"Language-Team: X2Go i18n \n" +"POT-Creation-Date: 2013-11-21 23:29+0100\n" +"PO-Revision-Date: 2013-01-29 20:57+0100\n" +"Last-Translator: Mike Gabriel \n" +"Language-Team: X2Go i18n \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,165 +20,125 @@ "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-SourceCharset: utf-8\n" -#: ../pyhoca/wxgui/brokerlogon.py:54 -msgid "Logon" -msgstr "Aanmelden" - -#: ../pyhoca/wxgui/brokerlogon.py:57 -msgid "Broker URL" -msgstr "Broker URL" +#: ../pyhoca/wxgui/logon.py:92 +#, python-format +msgid "%s (via %s)" +msgstr "%s (via %s)" -#: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 -#: ../pyhoca/wxgui/logon.py:99 +#: ../pyhoca/wxgui/logon.py:98 ../pyhoca/wxgui/logon.py:110 msgid "Username" msgstr "Gebruiker" -#: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 -#: ../pyhoca/wxgui/logon.py:101 +#: ../pyhoca/wxgui/logon.py:100 ../pyhoca/wxgui/logon.py:112 msgid "Password" msgstr "Wachtwoord" -#: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 +#: ../pyhoca/wxgui/logon.py:103 msgid "Authenticate" -msgstr "Authenticatie" - -#: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 -#: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 -#: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 -#: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 -msgid "Cancel" -msgstr "Afbreken" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -#, python-format -msgid "%s - success" -msgstr "%s - success" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -msgid "" -"Authentication to session broker has been\n" -"successful." -msgstr "Authenticatie met de broker is gelukt." - -#: ../pyhoca/wxgui/brokerlogon.py:167 -#, python-format -msgid "%s - failure" -msgstr "%s - mislukt" - -#: ../pyhoca/wxgui/brokerlogon.py:167 -msgid "Authentication to session broker failed." -msgstr "Authenticatie met broker is mislukt!" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "%s: Connection refused error" -msgstr "%s - Verbindingsfout geweigerd" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "Connection to %s failed. Retry?" -msgstr "Verbinden met %s mislukt. Opnieuw proberen?" - -#: ../pyhoca/wxgui/logon.py:81 -#, python-format -msgid "%s (via %s)" -msgstr "%s (via %s)" +msgstr "Aanmelden" -#: ../pyhoca/wxgui/logon.py:104 +#: ../pyhoca/wxgui/logon.py:115 msgid "Start SSH tunnel" msgstr "Start SSH Tunnel" -#: ../pyhoca/wxgui/logon.py:112 +#: ../pyhoca/wxgui/logon.py:123 msgid "Session login" msgstr "Sessie login" -#: ../pyhoca/wxgui/logon.py:113 +#: ../pyhoca/wxgui/logon.py:124 msgid "SSH proxy server login" msgstr "Login via SSH Proxy" -#: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 -#: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 -#: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 -#: ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:135 ../pyhoca/wxgui/passphrase.py:102 +#: ../pyhoca/wxgui/profilemanager.py:375 ../pyhoca/wxgui/listdesktops.py:98 +#: ../pyhoca/wxgui/messages.py:130 ../pyhoca/wxgui/printingprefs.py:147 +#: ../pyhoca/wxgui/sessiontitle.py:85 +msgid "Cancel" +msgstr "Afbreken" + +#: ../pyhoca/wxgui/logon.py:307 ../pyhoca/wxgui/logon.py:360 +#: ../pyhoca/wxgui/passphrase.py:225 ../pyhoca/wxgui/passphrase.py:232 +#: ../pyhoca/wxgui/passphrase.py:239 ../pyhoca/wxgui/passphrase.py:246 +#: ../pyhoca/wxgui/frontend.py:617 #, python-format msgid "%s - connect failure" msgstr "%s - verbinden mislukt" -#: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:308 ../pyhoca/wxgui/frontend.py:617 msgid "User is not allowed to start X2Go sessions!" -msgstr "Gebruiker mag geen X2Go sessies starten!" +msgstr "Gebruiker mag geen X2Go sessie starten!" -#: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/logon.py:313 ../pyhoca/wxgui/passphrase.py:207 +#: ../pyhoca/wxgui/frontend.py:624 #, python-format msgid "%s - connect" msgstr "%s - verbinden" -#: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 +#: ../pyhoca/wxgui/logon.py:314 ../pyhoca/wxgui/passphrase.py:208 msgid "Authentication has been successful." msgstr "Authenticatie is gelukt." -#: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 +#: ../pyhoca/wxgui/logon.py:356 ../pyhoca/wxgui/logon.py:456 msgid "SSH tunnel started" msgstr "SSH Tunnel gestart" -#: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 +#: ../pyhoca/wxgui/logon.py:361 ../pyhoca/wxgui/passphrase.py:240 msgid "Authentication failed!" msgstr "Authenticatie mislukt!" -#: ../pyhoca/wxgui/logon.py:358 +#: ../pyhoca/wxgui/logon.py:369 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH Proxy" -#: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 +#: ../pyhoca/wxgui/logon.py:370 ../pyhoca/wxgui/passphrase.py:247 msgid "Authentication to the SSH proxy server failed!" -msgstr "Authenticatie voor SSH Proxy Server mislukt!" +msgstr "Authenticatie via SSH Proxy Server mislukt!" -#: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 -#: ../pyhoca/wxgui/frontend.py:750 +#: ../pyhoca/wxgui/logon.py:397 ../pyhoca/wxgui/passphrase.py:253 +#: ../pyhoca/wxgui/frontend.py:729 #, python-format msgid "%s - socket error" msgstr "%s - socket fout" -#: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 -#: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/logon.py:404 ../pyhoca/wxgui/passphrase.py:260 +#: ../pyhoca/wxgui/frontend.py:708 ../pyhoca/wxgui/frontend.py:715 #, python-format msgid "%s - host key error" -msgstr "%s - serversleutel fout" +msgstr "%s - server sleutel fout" -#: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 -#: ../pyhoca/wxgui/frontend.py:729 +#: ../pyhoca/wxgui/logon.py:405 ../pyhoca/wxgui/passphrase.py:261 +#: ../pyhoca/wxgui/frontend.py:708 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" "De sleutel van de server is ongeldig of is niet geaccepteerd door de " "gebruiker" -#: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:412 ../pyhoca/wxgui/passphrase.py:268 +#: ../pyhoca/wxgui/frontend.py:743 #, python-format msgid "%s - missing home directory" msgstr "%s - home directory niet aanwezig" -#: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:413 ../pyhoca/wxgui/passphrase.py:269 +#: ../pyhoca/wxgui/frontend.py:743 msgid "The remote user's home directory does not exist." -msgstr "De home directory van de remote gebruiker bestaat niet" +msgstr "De home directory op afstand van de gebruiker bestaat niet" -#: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 +#: ../pyhoca/wxgui/logon.py:420 ../pyhoca/wxgui/passphrase.py:291 #, python-format msgid "%s - key error" msgstr "%s - sleutel fout" -#: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 -#: ../pyhoca/wxgui/frontend.py:771 +#: ../pyhoca/wxgui/logon.py:428 ../pyhoca/wxgui/passphrase.py:299 +#: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - auth error" msgstr "%s - authenticatie fout" -#: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 -#: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 +#: ../pyhoca/wxgui/logon.py:460 ../pyhoca/wxgui/passphrase.py:287 +#: ../pyhoca/wxgui/passphrase.py:318 ../pyhoca/wxgui/frontend.py:678 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" @@ -186,1040 +146,969 @@ "\n" "However, for security reasons the connection will not be established!!!" msgstr "" -"Hostsleutel verificatie mislukt. Mogelijk heeft iemand onrechtmatige toegang " -"tot de X2GO server gekregen.\n" -"\n" -"Het is ook mogelijk dat de hostsleutel net is gewijzigd.\n" -"\n" -"Hoe dan ook, uit veiligheidsoverweging zal de verbinding niet tot stand " -"gebracht worden!!!" -#: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 -#: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 +#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/frontend.py:686 ../pyhoca/wxgui/frontend.py:706 #, python-format msgid "%s - SSH error" -msgstr "%s - SSH fout" +msgstr "%s - sleutel fout" -#: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 +#: ../pyhoca/wxgui/logon.py:475 ../pyhoca/wxgui/passphrase.py:331 #, python-format msgid "%s - unknown error" msgstr "%s - onbekende fout" -#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/logon.py:476 ../pyhoca/wxgui/passphrase.py:332 msgid "An unknown error occured during authentication!" -msgstr "Er is een onbekende fout opgetreden bij de authenticatie!" +msgstr "Een onbekende fout is bij de authenticatie opgetreden" -#: ../pyhoca/wxgui/passphrase.py:69 -#, python-format +#: ../pyhoca/wxgui/passphrase.py:78 +#, fuzzy, python-format msgid "%s (SSH proxy)" -msgstr "%s (SSH proxy)" +msgstr "%s - SSH Proxy" -#: ../pyhoca/wxgui/passphrase.py:71 -#, python-format +#: ../pyhoca/wxgui/passphrase.py:80 +#, fuzzy, python-format msgid "%s (X2Go Server)" -msgstr "%s (X2Go Server)" +msgstr "X2Go Server" -#: ../pyhoca/wxgui/passphrase.py:81 +#: ../pyhoca/wxgui/passphrase.py:90 #, python-format msgid "Unlock SSH private key (%s)..." -msgstr "SSH prive sleutel openen (%s)..." +msgstr "" -#: ../pyhoca/wxgui/passphrase.py:83 +#: ../pyhoca/wxgui/passphrase.py:92 msgid "Unlock auto-discovered SSH private key..." -msgstr "Automatisch gedetecteerde SSH prive sleutel openen" +msgstr "" -#: ../pyhoca/wxgui/passphrase.py:85 +#: ../pyhoca/wxgui/passphrase.py:94 msgid "Passphrase" -msgstr "Wachtwoord" +msgstr "" -#: ../pyhoca/wxgui/passphrase.py:88 +#: ../pyhoca/wxgui/passphrase.py:97 msgid "Unlock SSH key" -msgstr "SSH sleutel openen" +msgstr "" -#: ../pyhoca/wxgui/passphrase.py:217 +#: ../pyhoca/wxgui/passphrase.py:226 msgid "SSH key file (for X2Go server) could not be unlocked!" -msgstr "SSH sleutel (voor X2GO server) kon niet geopend worden!" +msgstr "" -#: ../pyhoca/wxgui/passphrase.py:224 +#: ../pyhoca/wxgui/passphrase.py:233 msgid "SSH key file (for SSH proxy) could not be unlocked!" -msgstr "SSH sleutel (voor SSH proxy) kon niet geopend worden!" +msgstr "" -#: ../pyhoca/wxgui/taskbar.py:111 +#: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" -"%s\n" +"PyHoca-GUI\n" "Verbinden met ,,%s''" -#: ../pyhoca/wxgui/taskbar.py:115 +#: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" -"%s\n" -"Momenteel verbonden met X2GO server ,,%s''" +"PyHoca-GUI (Python X2Go Client)\n" +"Verbinding met X2Go server ,,%s'' wordt gemaakt" -#: ../pyhoca/wxgui/taskbar.py:125 -#, python-format +#: ../pyhoca/wxgui/taskbar.py:139 msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to X2Go..." -msgstr "" -"%s\n" -"Verbindt u met X2Go ..." +msgstr "Bezig je te verbinden met X2Go ..." -#: ../pyhoca/wxgui/taskbar.py:129 -#, python-format +#: ../pyhoca/wxgui/taskbar.py:143 msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" -"%s\n" -"Client om verbinding te maken met een remote X2GO server" +"PyHoca-GUI (Python X2Go Client)\n" +"Verbinding met remote X2Go server aan het opbouwen" -#: ../pyhoca/wxgui/profilemanager.py:81 +#: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" -#: ../pyhoca/wxgui/profilemanager.py:82 +#: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" -#: ../pyhoca/wxgui/profilemanager.py:83 +#: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" -#: ../pyhoca/wxgui/profilemanager.py:84 +#: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" -msgstr "K Desktop (KDE)" +msgstr "K Desktop Environment (KDE)" -#: ../pyhoca/wxgui/profilemanager.py:85 +#: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" -msgstr "Lightgewicht X Desktop (LXDE)" +msgstr "Lightweight X Desktop (LXDE)" -#: ../pyhoca/wxgui/profilemanager.py:86 +#: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" -msgstr "Trinity X Desktop (Als KDE3 Desktop)" +msgstr "Trinity X Desktop (KDE3)" -#: ../pyhoca/wxgui/profilemanager.py:87 +#: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" -#: ../pyhoca/wxgui/profilemanager.py:88 +#: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" -#: ../pyhoca/wxgui/profilemanager.py:89 +#: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "Gepubliceerde applicaties" -#: ../pyhoca/wxgui/profilemanager.py:90 +#: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" -msgstr "Enkele applicatie" +msgstr "Enkelvoudige Applicatie" -#: ../pyhoca/wxgui/profilemanager.py:91 +#: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" -msgstr "Desktop sessie delen (SHADOW)" +msgstr "Delen desktop sessie (SHADOW)" -#: ../pyhoca/wxgui/profilemanager.py:92 +#: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "XDMCP Query" -#: ../pyhoca/wxgui/profilemanager.py:93 +#: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" -msgstr "Windows Terminalserver (RDP via X2Go-proxy)" +msgstr "Windows Terminalserver (via X2Go-proxy)" -#: ../pyhoca/wxgui/profilemanager.py:94 +#: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminalserver (Direct RDP)" -#: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 +#: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "Speciaal Commando" -#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 +#: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "Internetbrowser" -#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 +#: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "E-Mail Programma" -#: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 +#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "Office" -#: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 +#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "Terminal" -#: ../pyhoca/wxgui/profilemanager.py:106 -msgid "between client and server" -msgstr "tussen client en server " - -#: ../pyhoca/wxgui/profilemanager.py:107 -msgid "from server to client only" -msgstr "alleen van server naar client" - -#: ../pyhoca/wxgui/profilemanager.py:108 -msgid "from client to server only" -msgstr "alleen van client naar server" - -#: ../pyhoca/wxgui/profilemanager.py:109 -msgid "not at all" -msgstr "helemaal niet" - -#: ../pyhoca/wxgui/profilemanager.py:127 +#: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" -msgstr "Bestand openen met standaard systeem applicatie" +msgstr "Open bestand met het geassocieerde programma" -#: ../pyhoca/wxgui/profilemanager.py:128 +#: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" -msgstr "Open dialoog, om applicatie te kiezen" +msgstr "Open dialoog, om Applicatie te kiezen" -#: ../pyhoca/wxgui/profilemanager.py:129 +#: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." -msgstr "Ontvangen bestand opslaan als ..." +msgstr "Opslaan bestand als ..." -#: ../pyhoca/wxgui/profilemanager.py:157 +#: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " -msgstr "instellingen afgeleid van" +msgstr "configuratie afgeleid van" #. boxes for all tabs -#: ../pyhoca/wxgui/profilemanager.py:205 +#: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "Sessie naam" -#: ../pyhoca/wxgui/profilemanager.py:206 +#: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" -msgstr "Sessie venster" +msgstr "Sessie Window" -#: ../pyhoca/wxgui/profilemanager.py:207 +#: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "Sessie start" -#: ../pyhoca/wxgui/profilemanager.py:208 +#: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "Server" -#: ../pyhoca/wxgui/profilemanager.py:209 +#: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "Proxy" -#: ../pyhoca/wxgui/profilemanager.py:210 +#: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" -msgstr "Snelheid van de verbinding" +msgstr "Verbindings snelheid" -#: ../pyhoca/wxgui/profilemanager.py:211 +#: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "Compressie" -#: ../pyhoca/wxgui/profilemanager.py:212 +#: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "Display" -#: ../pyhoca/wxgui/profilemanager.py:213 -msgid "Clipboard" -msgstr "Klembord" - -#: ../pyhoca/wxgui/profilemanager.py:214 +#: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "Toetsenbord" -#: ../pyhoca/wxgui/profilemanager.py:215 +#: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "Geluid" -#: ../pyhoca/wxgui/profilemanager.py:216 +#: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "Afdrukken" -#: ../pyhoca/wxgui/profilemanager.py:217 +#: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "Map export" -#: ../pyhoca/wxgui/profilemanager.py:218 +#: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "Bestands import" #. ## #. ## widgets for the PROFILE tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:223 +#: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "Naam" -#: ../pyhoca/wxgui/profilemanager.py:230 +#: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" -msgstr "Instellen schermtitel sessie" +msgstr "Stel sessiescherm titel in" -#: ../pyhoca/wxgui/profilemanager.py:231 +#: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" -msgstr "Gebruik een standaardsessie schermtitel" +msgstr "Gebruik een standaard sessienaam" -#: ../pyhoca/wxgui/profilemanager.py:232 +#: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" -msgstr "Gewijzigde sessie schermtitel" +msgstr "Aangepaste sessienaam" -#: ../pyhoca/wxgui/profilemanager.py:251 +#: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "Scherm icoon" #. ## #. ## widgets for the SESSION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:257 +#: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" -msgstr "Sessie automatisch starten na inloggen" +msgstr "Start sessie automatisch na login" -#: ../pyhoca/wxgui/profilemanager.py:258 +#: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" -msgstr "" -"Automatisch inloggen nadat %s is gestart (--automatisch-inloggen vereist)" +msgstr "Login automatisch nadat %s is gestart (--auto-connect vereist)" -#: ../pyhoca/wxgui/profilemanager.py:259 +#: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "Type" -#: ../pyhoca/wxgui/profilemanager.py:261 +#: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "Applicatie" -#: ../pyhoca/wxgui/profilemanager.py:265 +#: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "XDMCP Server" -#: ../pyhoca/wxgui/profilemanager.py:267 +#: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "RDP Server" -#: ../pyhoca/wxgui/profilemanager.py:269 +#: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "RDP Opties" -#: ../pyhoca/wxgui/profilemanager.py:271 +#: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integreer remote toepassing in de lokale desktop (rootless mode)" -#: ../pyhoca/wxgui/profilemanager.py:272 +#: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "Menu met gepubliceerde applicaties" #. ## #. ## widgets for the CONNECTION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 +#: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "Gebruiker" -#: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 +#: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "Host" -#: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 +#: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" -msgstr "Poort" +msgstr "Port" -#: ../pyhoca/wxgui/profilemanager.py:285 +#: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "Sleutel" -#: ../pyhoca/wxgui/profilemanager.py:288 +#: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" -msgstr "Zoek SSH sleutels of gebruik SSH agent voor X2GO authenticatie" +msgstr "Gebruik SSH agent voor authenticatie of zoek SSH sleutels" -#: ../pyhoca/wxgui/profilemanager.py:290 +#: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" -msgstr "" -"Gebruik SSH forwarding van SSH authenticatie agent verbindingen inschakelen" +msgstr "Gebruik SSH forwarding van SSH authenticatie agent" -#: ../pyhoca/wxgui/profilemanager.py:291 +#: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" -msgstr "SSH hostsleutels opslaan onder (uniek) X2Go sessieprofiel iD" +msgstr "Sla SSH host keys op onder (uniek) X2Go sessie profiel" -#: ../pyhoca/wxgui/profilemanager.py:292 +#: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "Server achter SSH-Proxy" -#: ../pyhoca/wxgui/profilemanager.py:295 +#: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" -msgstr "Gebruik dezelfde gebruikersnaam voor X2Go en SSH Proxy server" +msgstr "Gebruik zelfde gebruikersnaam voor X2Go en de SSH Proxy" -#: ../pyhoca/wxgui/profilemanager.py:296 +#: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" -msgstr "Gebruik dezelfde authenticatie voor X2Go en SSH Proxy server" +msgstr "Gebruik dezelfde authenticatie voor X2Go en de SSH Proxy" -#: ../pyhoca/wxgui/profilemanager.py:297 +#: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "Sleutel" -#: ../pyhoca/wxgui/profilemanager.py:304 +#: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" -msgstr "Zoek SSH sleutels of gebruik SSH agent voor proxy authenticatie" +msgstr "Gebruik SSH agent voor proxy authenticatie of zoek SSH sleutels" -#: ../pyhoca/wxgui/profilemanager.py:307 +#: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "Modem" -#: ../pyhoca/wxgui/profilemanager.py:308 +#: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "ISDN" -#: ../pyhoca/wxgui/profilemanager.py:309 +#: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "ADSL" -#: ../pyhoca/wxgui/profilemanager.py:310 +#: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "WAN" -#: ../pyhoca/wxgui/profilemanager.py:311 +#: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "LAN" -#: ../pyhoca/wxgui/profilemanager.py:313 +#: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "Methode" -#: ../pyhoca/wxgui/profilemanager.py:315 +#: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "Beeldkwaliteit" #. ## #. ## wigdets for the IO tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:321 +#: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" -msgstr "Volledig scherm" +msgstr "Fullscreen" -#: ../pyhoca/wxgui/profilemanager.py:322 +#: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" -msgstr "Gemaximaliseerd" +msgstr "Maximaliseered" -#: ../pyhoca/wxgui/profilemanager.py:323 +#: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" -msgstr "Gewijzigde Grootte" +msgstr "Grootte instellen" -#: ../pyhoca/wxgui/profilemanager.py:328 +#: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" -msgstr "DPI waarden scherm instellen" - -#: ../pyhoca/wxgui/profilemanager.py:330 -msgid "Allow copy'n'paste" -msgstr "Copy en paste toestaan" +msgstr "DPI-waarde instellen" -#: ../pyhoca/wxgui/profilemanager.py:332 +#: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" -msgstr "" -"Niet inschakelen (gebruik server-side tools om toetsenbord in te stellen)" +msgstr "Uitzetten (gebruik server-side tools om het toetsenbord in te stellen)" -#: ../pyhoca/wxgui/profilemanager.py:333 +#: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" -msgstr "" -"Automatisch gedetecteerde toetsenbord instellingen van client gebruiken " -"binnen de sessie" +msgstr "Gebruik automatisch gedetecteerd toetsenbord in de sessie" -#: ../pyhoca/wxgui/profilemanager.py:334 +#: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" -msgstr "Gebruik de onderstaande gewijzigde toetsenbord instellingen" +msgstr "Gebruik de onderstaande speciale toetsenbord instellingen" -#: ../pyhoca/wxgui/profilemanager.py:335 +#: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" -msgstr "Model toetsenbord" +msgstr "Toetsenbord model" -#: ../pyhoca/wxgui/profilemanager.py:337 +#: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "Layout" -#: ../pyhoca/wxgui/profilemanager.py:339 +#: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "Layout variant" #. ## #. ## wigdets for the MEDIA tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:344 +#: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" -msgstr "Geluidsondersteuning inschakelen" +msgstr "Geluid gebruiken" -#: ../pyhoca/wxgui/profilemanager.py:345 +#: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "Pulse Audio" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this -#: ../pyhoca/wxgui/profilemanager.py:349 +#: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "Arts (niet ondersteund)" -#: ../pyhoca/wxgui/profilemanager.py:352 +#: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "esd" -#: ../pyhoca/wxgui/profilemanager.py:353 +#: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" -msgstr "Standaard audio poort gebruiken" +msgstr "Standaard Audio-Port gebruiken" -#: ../pyhoca/wxgui/profilemanager.py:354 +#: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" -msgstr "Gewijzigde audio poort" +msgstr "Speciale Audio-Port" -#: ../pyhoca/wxgui/profilemanager.py:357 +#: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" -msgstr "Afdrukken aan clientzijde" +msgstr "Afdrukken via deze computer" #. ## #. ## wigdets for the SHARING tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:363 +#: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" -msgstr "Gebruik delen van lokale map" +msgstr "Delen van lokale mappen" -#: ../pyhoca/wxgui/profilemanager.py:364 +#: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" -msgstr "Sla de lijst met te delen informatie op wanneer de sessie eindigt" +msgstr "Sla de lijst met te delen informatie wanneer de sessie eindigt" -#: ../pyhoca/wxgui/profilemanager.py:365 +#: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "Pad" -#: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 +#: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "Toevoegen" -#: ../pyhoca/wxgui/profilemanager.py:370 +#: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" -msgstr "Lokaal pad" +msgstr "Lokaal Pad" -#: ../pyhoca/wxgui/profilemanager.py:371 +#: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "Verbindingsmethode" -#: ../pyhoca/wxgui/profilemanager.py:372 +#: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "Verwijderen" -#: ../pyhoca/wxgui/profilemanager.py:374 +#: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" -msgstr "Codering tussen client en server vertalen" +msgstr "Encoding tussen client en server vertalen" -#: ../pyhoca/wxgui/profilemanager.py:375 +#: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "Client encoding" -#: ../pyhoca/wxgui/profilemanager.py:377 +#: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "Server encoding" -#: ../pyhoca/wxgui/profilemanager.py:380 +#: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "Importeren lokale bestanden via MIME box" -#: ../pyhoca/wxgui/profilemanager.py:381 +#: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" -msgstr "Extensies" +msgstr "Extra's" -#: ../pyhoca/wxgui/profilemanager.py:383 +#: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "Actie" -#: ../pyhoca/wxgui/profilemanager.py:388 +#: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "Standaardwaarden" -#: ../pyhoca/wxgui/profilemanager.py:390 +#: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "Opslaan" -#: ../pyhoca/wxgui/profilemanager.py:391 +#: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "Reset" -#: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 +#: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "Toepassen" -#: ../pyhoca/wxgui/profilemanager.py:453 -#: ../pyhoca/wxgui/profilemanager.py:1184 -#: ../pyhoca/wxgui/profilemanager.py:2364 +#: ../pyhoca/wxgui/profilemanager.py:425 +#: ../pyhoca/wxgui/profilemanager.py:1141 +#: ../pyhoca/wxgui/profilemanager.py:2312 msgid "automatically" msgstr "automatisch" -#: ../pyhoca/wxgui/profilemanager.py:455 -#: ../pyhoca/wxgui/profilemanager.py:1186 +#: ../pyhoca/wxgui/profilemanager.py:427 +#: ../pyhoca/wxgui/profilemanager.py:1143 msgid "manually" msgstr "handmatig" -#: ../pyhoca/wxgui/profilemanager.py:464 -#, python-format -msgid "%s Profile Manager - new profile" -msgstr "%s Profiel beheerder - nieuw profiel" - -#: ../pyhoca/wxgui/profilemanager.py:467 -#, python-format -msgid "%s Profile Manager - %s (connected)" -msgstr "%s Profiel beheerder - %s (verbonden)" - -#: ../pyhoca/wxgui/profilemanager.py:469 -#, python-format -msgid "%s Profile Manager - %s (connected, immutable)" -msgstr "%s Profiel beheerder - %s (verbonden, onveranderlijk)" +#: ../pyhoca/wxgui/profilemanager.py:436 +msgid "PyHoca-GUI Profile Manager - new profile" +msgstr "PyHoca-GUI Profiel manager - nieuw profiel" -#: ../pyhoca/wxgui/profilemanager.py:472 +#: ../pyhoca/wxgui/profilemanager.py:438 #, python-format -msgid "%s Profile Manager - %s" -msgstr "%s Profiel beheerder -%s" +msgid "PyHoca-GUI Profile Manager - %s (connected)" +msgstr "PyHoca-GUI Profiel manager - %s (verbonden)" -#: ../pyhoca/wxgui/profilemanager.py:474 +#: ../pyhoca/wxgui/profilemanager.py:440 #, python-format -msgid "%s Profile Manager - %s (immutable)" -msgstr "%s Profiel beheerder - %s (onveranderlijk)" +msgid "PyHoca-GUI Profile Manager - %s" +msgstr "PyHoca-GUI Profiel manager - %s" -#: ../pyhoca/wxgui/profilemanager.py:851 +#: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "Profiel" -#: ../pyhoca/wxgui/profilemanager.py:852 +#: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "Sessie" -#: ../pyhoca/wxgui/profilemanager.py:853 +#: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "Verbinding" -#: ../pyhoca/wxgui/profilemanager.py:854 +#: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "Verbindingskwaliteit" -#: ../pyhoca/wxgui/profilemanager.py:855 +#: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "Input/Output" -#: ../pyhoca/wxgui/profilemanager.py:856 +#: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "Multimedia" -#: ../pyhoca/wxgui/profilemanager.py:857 +#: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "Delen" -#: ../pyhoca/wxgui/profilemanager.py:1044 +#: ../pyhoca/wxgui/profilemanager.py:995 msgid "" msgstr "pc105/us" -#: ../pyhoca/wxgui/profilemanager.py:1045 +#: ../pyhoca/wxgui/profilemanager.py:996 msgid "" msgstr "us" -#: ../pyhoca/wxgui/profilemanager.py:1046 +#: ../pyhoca/wxgui/profilemanager.py:997 msgid "" msgstr "intl" -#: ../pyhoca/wxgui/profilemanager.py:1504 +#: ../pyhoca/wxgui/profilemanager.py:1458 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" -msgstr "Icoon Bestanden (*.png)|*.png|Alle bestanden (*.*)|*" +msgstr "Icon Bestanden (*.png)|*.png|Alle Bestanden (*.*)|*" -#: ../pyhoca/wxgui/profilemanager.py:1507 +#: ../pyhoca/wxgui/profilemanager.py:1461 msgid "Choose an icon for this session profile" -msgstr "Kies een icoon voor dit sessie profiel" +msgstr "Icon voor dit Profiel kiezen" -#: ../pyhoca/wxgui/profilemanager.py:1956 +#: ../pyhoca/wxgui/profilemanager.py:1904 msgid "All files (*.*)|*" -msgstr "Alle bestanden (*.*)|*" +msgstr "Alle Bestanden (*.*)|*" -#: ../pyhoca/wxgui/profilemanager.py:1958 -#: ../pyhoca/wxgui/profilemanager.py:1982 +#: ../pyhoca/wxgui/profilemanager.py:1906 +#: ../pyhoca/wxgui/profilemanager.py:1930 msgid "Choose a public SSH key" -msgstr "Kies een publieke SSH sleutel" +msgstr "Kies een public SSH-key" -#: ../pyhoca/wxgui/profilemanager.py:2316 +#: ../pyhoca/wxgui/profilemanager.py:2264 msgid "Choose a folder to share within a session" -msgstr "Kies een map om te delen binnen een sessie" +msgstr "Kies een map om te delen" -#: ../pyhoca/wxgui/profilemanager.py:2444 -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 +#: ../pyhoca/wxgui/profilemanager.py:2392 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" -msgstr "Profiel beheerder" +msgstr "Profiel manager" -#: ../pyhoca/wxgui/profilemanager.py:2444 +#: ../pyhoca/wxgui/profilemanager.py:2392 msgid "Profile name is missing, profile unusable!!!" -msgstr "Profielnaam ontbreekt, profiel onbruikbaar!!!" +msgstr "Profiel naam ontbreekt, kan niet gebruikt worden!!!" -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 #, python-format msgid "Profile name %s already exists!!!" -msgstr "Profielnaam %s bestaat al!!!" +msgstr "Profiel %s bestaat al" -#: ../pyhoca/wxgui/profilemanager.py:2478 +#: ../pyhoca/wxgui/profilemanager.py:2425 #, python-format msgid "%s - profile added" msgstr "%s - Profiel toegevoegd" -#: ../pyhoca/wxgui/profilemanager.py:2479 +#: ../pyhoca/wxgui/profilemanager.py:2426 msgid "A new session profile has been added." -msgstr "Een nieuw sessie profiel is toegevoegd." +msgstr "Een nieuw Profiel is toegevoegd" -#: ../pyhoca/wxgui/profilemanager.py:2483 +#: ../pyhoca/wxgui/profilemanager.py:2430 #, python-format msgid "%s - modified" msgstr "%s - gewijzigd" -#: ../pyhoca/wxgui/profilemanager.py:2484 +#: ../pyhoca/wxgui/profilemanager.py:2431 msgid "Changes to profile have been saved." -msgstr "Wijzigingen van het profiel zijn opgeslagen." +msgstr "Wijzigingen in het profiel zijn opgeslagen." -#: ../pyhoca/wxgui/listdesktops.py:66 +#: ../pyhoca/wxgui/listdesktops.py:81 #, python-format msgid "Share Desktop Session - %s" msgstr "Delen desktop sessie - %s" -#: ../pyhoca/wxgui/listdesktops.py:68 +#: ../pyhoca/wxgui/listdesktops.py:83 msgid "Select one of the available desktop sessions on this server" msgstr "Kies één van de beschikbare desktop sessies op deze server" -#: ../pyhoca/wxgui/listdesktops.py:74 +#: ../pyhoca/wxgui/listdesktops.py:89 msgid "View session only" -msgstr "Alleen sessie bekijken" +msgstr "Sessie alleen bekijken" -#: ../pyhoca/wxgui/listdesktops.py:75 +#: ../pyhoca/wxgui/listdesktops.py:90 msgid "Gain full access" -msgstr "Volledige toegang verkrijgen" +msgstr "Volledige toegang" -#: ../pyhoca/wxgui/listdesktops.py:79 +#: ../pyhoca/wxgui/listdesktops.py:94 msgid "Share Desktop" -msgstr "Deel desktop" +msgstr "Delen desktop" -#: ../pyhoca/wxgui/listdesktops.py:82 +#: ../pyhoca/wxgui/listdesktops.py:97 msgid "Refresh list" msgstr "Ververs lijst" -#: ../pyhoca/wxgui/menus_taskbar.py:65 +#: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" -msgstr "Profiel wijzigen" +msgstr "Profiel bijwerken" -#: ../pyhoca/wxgui/menus_taskbar.py:67 -msgid "View Profile" -msgstr "Bekijk profiel" - -#: ../pyhoca/wxgui/menus_taskbar.py:75 +#: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "Gebruik als sjabloon voor een nieuw profiel" -#: ../pyhoca/wxgui/menus_taskbar.py:79 +#: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "Export profiel" -#: ../pyhoca/wxgui/menus_taskbar.py:83 +#: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "Profiel verwijderen" -#: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 +#: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." -msgstr "Over %s (%s) ..." +msgstr "About %s (%s) ..." -#: ../pyhoca/wxgui/menus_taskbar.py:139 +#: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" -msgstr "Beheer sessie profiel" - -#: ../pyhoca/wxgui/menus_taskbar.py:148 -msgid "Disconnect from session broker" -msgstr "Verbinding met sessie broker verbreken" +msgstr "Onderhoud sessieprofiel" -#: ../pyhoca/wxgui/menus_taskbar.py:153 +#: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" -msgstr "Voorkeuren voor afdrukken" +msgstr "Voorkeur voor afdrukken" -#: ../pyhoca/wxgui/menus_taskbar.py:161 +#: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" -msgstr "Client opties" +msgstr "Opties" -#: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 -#: ../pyhoca/wxgui/menus_taskbar.py:1070 +#: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 +#: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" -msgstr "&Beëindigen" +msgstr "&Beeindigen" -#: ../pyhoca/wxgui/menus_taskbar.py:241 +#: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "Scherm titel" -#: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 +#: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "Sessie hervatten" -#: ../pyhoca/wxgui/menus_taskbar.py:249 +#: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "Sessie hervatten (niet mogelijk)" -#: ../pyhoca/wxgui/menus_taskbar.py:260 +#: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "Sessie overnemen" -#: ../pyhoca/wxgui/menus_taskbar.py:262 +#: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "Sessie overnemen (niet mogelijk)" -#: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 +#: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" -msgstr "Sessie pauzeren (en verbinding verbreken/afsluiten)" +msgstr "Suspend Sessie (en Verbinding verbreken / e&xit)" -#: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 +#: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" -msgstr "Sessie pauzeren (en verbinding verbreken)" +msgstr "Suspend Sessie (en Verbinding verbreken)" -#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 +#: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" -msgstr "Sessie pauzeren" +msgstr "Suspend Sessie" -#: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 +#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" -msgstr "Sessie beëindigen (en verbinding verbreken/afsluiten)" +msgstr "Sessie beëindigen (en Verbinding verbreken / e&xit)" -#: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 +#: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" -msgstr "Sessie beëindigen (en verbinding verbreken)" +msgstr "Sessie beëindigen (en Verbinding verbreken)" -#: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 +#: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "Sessie beëindigen" -#: ../pyhoca/wxgui/menus_taskbar.py:284 +#: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Beëindig delen van de desktop (en verbreek verbinding/afsluiten)" -#: ../pyhoca/wxgui/menus_taskbar.py:286 +#: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "Beëindig delen van de desktop (en verbreek verbinding)" -#: ../pyhoca/wxgui/menus_taskbar.py:288 +#: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "Beëindig delen van de desktop" -#: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 +#: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "Ververs menu" -#: ../pyhoca/wxgui/menus_taskbar.py:301 +#: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" -msgstr "Hernoem sessiescherm" +msgstr "Hernoem sessie" -#: ../pyhoca/wxgui/menus_taskbar.py:302 +#: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "Toon sessiescherm" -#: ../pyhoca/wxgui/menus_taskbar.py:344 +#: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" -msgstr "&Delen aangepaste lokale map" +msgstr "Delen lokale &map" -#: ../pyhoca/wxgui/menus_taskbar.py:356 +#: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "Delen:" -#: ../pyhoca/wxgui/menus_taskbar.py:366 +#: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" -msgstr "Niet meer delen:" +msgstr "Niet meer delen" -#: ../pyhoca/wxgui/menus_taskbar.py:374 +#: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" -msgstr "&Alle lokale mappen niet meer delen" +msgstr "Niet langer delen alle lokale &mappen" -#: ../pyhoca/wxgui/menus_taskbar.py:380 +#: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "Herstel gedeelde mappen in de volgende sessie" -#: ../pyhoca/wxgui/menus_taskbar.py:461 +#: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "Multimedia" -#: ../pyhoca/wxgui/menus_taskbar.py:462 +#: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "Ontwikkeling" -#: ../pyhoca/wxgui/menus_taskbar.py:463 +#: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" -msgstr "Educatie" +msgstr "Opleiding" -#: ../pyhoca/wxgui/menus_taskbar.py:464 +#: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "Spelletjes" -#: ../pyhoca/wxgui/menus_taskbar.py:465 +#: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" -msgstr "Grafisch" +msgstr "Graphics" -#: ../pyhoca/wxgui/menus_taskbar.py:466 +#: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "Internet" -#: ../pyhoca/wxgui/menus_taskbar.py:467 +#: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "Kantoor applicaties" -#: ../pyhoca/wxgui/menus_taskbar.py:468 +#: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "Systeem" -#: ../pyhoca/wxgui/menus_taskbar.py:469 +#: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "Hulpmiddelen" -#: ../pyhoca/wxgui/menus_taskbar.py:470 +#: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" -msgstr "Overige applicaties" +msgstr "Andere applicaties" -#: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 -msgid "Connect to" -msgstr "Verbinden met" - -#: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 +#: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "Verbind %s" -#: ../pyhoca/wxgui/menus_taskbar.py:559 +#: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." -msgstr "Momenteel aan het verbinden..." +msgstr "Nu aan het verbinden..." -#: ../pyhoca/wxgui/menus_taskbar.py:574 +#: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" -msgstr "Start &nieuwe Desktop Sessie" +msgstr "&Nieuwe Desktop Sessie starten" -#: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 +#: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" -msgstr "Start desktop delen sessie" +msgstr "Start delen van de desktop" -#: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 +#: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "Bezig met ophalen applicatiemenu..." -#: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 +#: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "Haal applicatiemenu op" -#: ../pyhoca/wxgui/menus_taskbar.py:591 +#: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" -msgstr "Start &nieuwe RDP sessie" +msgstr "&Nieuwe RDP Sessie starten" -#: ../pyhoca/wxgui/menus_taskbar.py:594 +#: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" -msgstr "&Nieuwe sessie starten" +msgstr "&Nieuwe Sessie starten" -#: ../pyhoca/wxgui/menus_taskbar.py:674 +#: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" -msgstr "Enkele applicatie starten" +msgstr "Enkelvoudige Applicatie starten" -#: ../pyhoca/wxgui/menus_taskbar.py:715 +#: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" -msgstr "Applicatie menu beheren" +msgstr "Onderhoud applicatie menu" -#: ../pyhoca/wxgui/menus_taskbar.py:770 +#: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "Aktief" -#: ../pyhoca/wxgui/menus_taskbar.py:772 +#: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" -msgstr "Pauzeren" +msgstr "Suspended" -#: ../pyhoca/wxgui/menus_taskbar.py:791 +#: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" -msgstr "&Alle sessies verwijderen" +msgstr "Alle Sessies beëindigen" -#: ../pyhoca/wxgui/menus_taskbar.py:798 +#: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" -msgstr "Wijzigen &profiel" +msgstr "Sessieprofiel wijzigen" -#: ../pyhoca/wxgui/menus_taskbar.py:800 -msgid "View &profile" -msgstr "Bekijk &profiel" - -#: ../pyhoca/wxgui/menus_taskbar.py:815 +#: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" -msgstr "Gedeelde &mappen" +msgstr "Delen &mappen" -#: ../pyhoca/wxgui/menus_taskbar.py:827 +#: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "Server informatie" -#: ../pyhoca/wxgui/menus_taskbar.py:834 +#: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" -msgstr "&Verbinding met server verbreken" +msgstr "&Verbinding verbreken" -#: ../pyhoca/wxgui/menus_taskbar.py:841 +#: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" -msgstr "Sessie pauzeren en a&fsluiten applicatie" +msgstr "Suspend Sessie en e&xit" -#: ../pyhoca/wxgui/menus_taskbar.py:845 +#: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" -msgstr "Verbinding verbreken en a&fsluiten applicatie" +msgstr "verbinding verbreken en e&xit" -#: ../pyhoca/wxgui/menus_taskbar.py:899 +#: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "Profiel toevoegen" -#: ../pyhoca/wxgui/menus_taskbar.py:976 -msgid "Session broker is not connected" -msgstr "Sessie broker is niet verbonden" - -#: ../pyhoca/wxgui/menus_taskbar.py:978 +#: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" -msgstr "Geen sessie profielen gedefinieerd" +msgstr "Geen Profiel gedefinieerd" -#: ../pyhoca/wxgui/menus_taskbar.py:989 +#: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" -msgstr "Alle profielen exporteren" +msgstr "Export alle profielen" -#: ../pyhoca/wxgui/menus_taskbar.py:991 +#: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" -msgstr " Profielgroep exporteren" +msgstr "Export profielgroep" -#: ../pyhoca/wxgui/menus_taskbar.py:997 +#: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "Importeer sessie profielen" -#: ../pyhoca/wxgui/menus_taskbar.py:1040 +#: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" -msgstr "Verbinden met server" +msgstr "Verbinden met Server" -#: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 +#: ../pyhoca/wxgui/about.py:88 ../pyhoca/wxgui/about.py:90 #, python-format msgid "About %s ..." -msgstr "Over %s ..." +msgstr "About %s ..." -#: ../pyhoca/wxgui/frontend.py:489 +#: ../pyhoca/wxgui/frontend.py:468 msgid "Suspending sessions and exiting application..." -msgstr "Bezig met pauzeren van sessies en afsluiten van applicatie..." +msgstr "Bezig met suspend van sessie en afsluiten van applicatie" -#: ../pyhoca/wxgui/frontend.py:492 +#: ../pyhoca/wxgui/frontend.py:471 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Bezig met verbreken verbinding %s en afsluiten applicatie..." -#: ../pyhoca/wxgui/frontend.py:494 +#: ../pyhoca/wxgui/frontend.py:473 msgid "Exiting application..." msgstr "Afsluiten van applicatie..." -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 #, python-format msgid "%s - server warning" msgstr "%s - server waarschuwing" -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 msgid "The X2Go Server does not publish an application menu." msgstr "De X2Go server publiceert geen applicatie menu" -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/frontend.py:624 msgid "SSH key authentication has been successful." -msgstr "SSH sleutel authenticatie is gelukt." +msgstr "SSH-key authenticatie is gelukt." -#: ../pyhoca/wxgui/frontend.py:719 +#: ../pyhoca/wxgui/frontend.py:698 msgid "" "Host key verification failed. The SSH proxy server may have been " "compromised.\n" @@ -1228,40 +1117,33 @@ "\n" "However, for security reasons the connection will not be established!!!" msgstr "" -"Hostsleutel verificatie mislukt. Mogelijk heeft iemand onrechtmatige toegang " -"tot de SSH proxy server gekregen.\n" -"\n" -"Het is ook mogelijk dat de hostsleutel net is gewijzigd.\n" -"\n" -"Hoe dan ook, uit veiligheidsoverweging zal de verbinding niet tot stand " -"gebracht worden!!!" -#: ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/frontend.py:715 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "De sleutel van de SSH proxy is ongeldig of is niet geaccepteerd door de " "gebruiker" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - EOF error" msgstr "%s - EOF fout" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Authenticatie was niet volledig! Opnieuw proberen..." -#: ../pyhoca/wxgui/frontend.py:778 +#: ../pyhoca/wxgui/frontend.py:757 msgid "An unknown error occurred during authentication!" -msgstr "Er is een onbekende fout opgetreden bij de authenticatie" +msgstr "Een onbekende fout is bij de authenticatie opgetreden" -#: ../pyhoca/wxgui/frontend.py:807 +#: ../pyhoca/wxgui/frontend.py:786 #, python-format msgid "%s: DirectRDP not supported yet" -msgstr "%s: Direct RDP wordt nog niet ondersteund" +msgstr "%s: DirectRDP wordt nog niet ondersteund" -#: ../pyhoca/wxgui/frontend.py:808 +#: ../pyhoca/wxgui/frontend.py:787 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1273,22 +1155,21 @@ msgstr "" "Excuses voor het ongemak...\n" "\n" -"Sessie profielen van het type \"Direct RDP\" worden door\n" +"Sessie profielen voor DirectRDP worden door\n" "%s (%s) nog niet ondersteund!!\n" "\n" -"Direct RDP ondersteuning is beschikbaar in %s (>= 1.0.0.0)." +"DirectRDP wordt ondersteund in %s (>= 1.0.0.0)." -#: ../pyhoca/wxgui/frontend.py:823 +#: ../pyhoca/wxgui/frontend.py:799 msgid "Unknown session profile, configure before using it..." -msgstr "" -"Onbekend sessie profiel, voor het in gebruik nemen eerst configureren..." +msgstr "Onekend sessie profiel, stel dit in voordat je het gebruikt..." -#: ../pyhoca/wxgui/frontend.py:884 +#: ../pyhoca/wxgui/frontend.py:830 #, python-format msgid "Desktop Sharing with %s not supported by server" -msgstr "Desktop delen met %s wordt niet ondersteund door de server" +msgstr "Delen van de desktop met %s wordt niet ondersteund door de server" -#: ../pyhoca/wxgui/frontend.py:885 +#: ../pyhoca/wxgui/frontend.py:831 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1301,63 +1182,63 @@ msgstr "" "Excuses voor het ongemak...\n" "\n" -"Sessie profielen met het ,,SHADOW'' type worden\n" -"door X2Go server (v%s)!!! nog niet ondersteund\n" +"Sessie profielen met het ,,SHADOW'' type worden \n" +"door X2Go server nog niet ondersteund\n" "\n" "Delen van de desktop met %s wordt ondersteund\n" -"vanaf X2Go Server 4.1.0.0 en hoger." +"vanaf X2Go Server 4.1.0.0 en hoger" -#: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:889 ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "%s - session warning" msgstr "%s - sessie waarschuwing" -#: ../pyhoca/wxgui/frontend.py:943 +#: ../pyhoca/wxgui/frontend.py:889 #, python-format msgid "Execution of command ,,%s'' failed." -msgstr "Uitvoering van commando \"%s\" mislukt." +msgstr "Uitvoering van commando \"%s\" faalde" -#: ../pyhoca/wxgui/frontend.py:1084 +#: ../pyhoca/wxgui/frontend.py:1030 msgid "Cleaning X2Go sessions..." msgstr "Opschonen X2Go sessies..." -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 #, python-format msgid "%s - disconnect" msgstr "%s - verbinding verbreken" -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 msgid "X2Go Profile is now disconnected." -msgstr "X2Go profiel is nu niet meer verbonden." +msgstr "X2Go Profiel is nu niet meer verbonden." -#: ../pyhoca/wxgui/frontend.py:1153 +#: ../pyhoca/wxgui/frontend.py:1099 msgid "New Session Profile" -msgstr "Nieuw sessie profiel" +msgstr "Nieuw Profiel" -#: ../pyhoca/wxgui/frontend.py:1208 +#: ../pyhoca/wxgui/frontend.py:1154 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Verwijder sessie profiel ,,%s''?" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 #, python-format msgid "%s - profile deleted" -msgstr "%s - profiel is verwijderd!" +msgstr "%s - Profiel is verwijderd!" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 msgid "The session profile has been deleted." msgstr "Het sessie profiel is verwijderd." -#: ../pyhoca/wxgui/frontend.py:1225 +#: ../pyhoca/wxgui/frontend.py:1174 msgid "import session profile(s)" -msgstr "importeer sessie profiel(en)" +msgstr "importeer sessie profielen" -#: ../pyhoca/wxgui/frontend.py:1237 +#: ../pyhoca/wxgui/frontend.py:1186 #, python-format msgid "%s: Import of session profile(s) failed" -msgstr "%s: Importeren van sessie profiel(en) mislukt" +msgstr "%s: Import van sessie profiel(en) mislukt" -#: ../pyhoca/wxgui/frontend.py:1238 +#: ../pyhoca/wxgui/frontend.py:1187 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" @@ -1365,71 +1246,68 @@ "\n" "Are you sure the session profiles file has the correct format?" msgstr "" -"Geselecteerde sessie profiel(en) kon niet worden geïmporteerd\n" -"van bestand »%s«.\n" +"Het geselecteerde profiel(en) kon niet worden geimporteerd\n" +"van file »%s«.\n" "\n" -"Weet u zeker dat het sessie profiel het juiste format heeft?" +"Weet u zeker dat het profiel het juiste formaat heeft?" -#: ../pyhoca/wxgui/frontend.py:1266 +#: ../pyhoca/wxgui/frontend.py:1215 #, python-format msgid "%s: Write failure after import" -msgstr "%s: Schrijffout na importeren" +msgstr "" -#: ../pyhoca/wxgui/frontend.py:1267 +#: ../pyhoca/wxgui/frontend.py:1216 msgid "" "The session profiles configuration could not be written to file after " "import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" -"De configuratie van het profiel kon niet worden weggeschreven na importeren\n" +"Het geselecteerde profiel kon niet worden weggeschreven worden \n" "\n" -"Controleer de meest voorkomende problemen (schijf vol, onvoldoende " -"toegangsrechten, etc.)." +"Controleer of er voldoende schijfruimte is en of u toegang hebt" -#: ../pyhoca/wxgui/frontend.py:1272 +#: ../pyhoca/wxgui/frontend.py:1221 msgid "None of the session profiles could be imported..." -msgstr "Geen van de sessie profielen kon worden geïmporteerd..." +msgstr "Geen van de profielen kon worden geïmporteerd..." -#: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 +#: ../pyhoca/wxgui/frontend.py:1224 ../pyhoca/wxgui/frontend.py:1234 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" -"Voor meer details, start %s van de command line (terminal) en probeer het " -"importeren opnieuw." -#: ../pyhoca/wxgui/frontend.py:1279 +#: ../pyhoca/wxgui/frontend.py:1228 msgid "Only these session profiles could be imported..." -msgstr "Alleen deze sessie profielen konden worden geïmporteerd... " +msgstr "Alleen deze sessie profielen konden worden geimporteerd..." -#: ../pyhoca/wxgui/frontend.py:1282 +#: ../pyhoca/wxgui/frontend.py:1231 msgid "Whereas these session profiles failed to import..." msgstr "Deze sessie profielen konden niet geïmporteerd worden..." -#: ../pyhoca/wxgui/frontend.py:1288 +#: ../pyhoca/wxgui/frontend.py:1237 msgid "New session profiles have been imported..." msgstr "Nieuwe sessie profielen zijn geïmporteerd..." -#: ../pyhoca/wxgui/frontend.py:1293 +#: ../pyhoca/wxgui/frontend.py:1242 msgid "New session profile has been imported..." -msgstr "Een nieuw profiel is geïmporteerd..." +msgstr "Een nieuw Profiel is geïmporteerd..." -#: ../pyhoca/wxgui/frontend.py:1322 +#: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "%s - export session profiles" -msgstr "%s - exporteer sessie profielen" +msgstr "%s - export sessie profielen" -#: ../pyhoca/wxgui/frontend.py:1327 +#: ../pyhoca/wxgui/frontend.py:1276 #, python-format msgid "%s - export session profile" -msgstr "%s - exporteer sessie profiel" +msgstr "%s - export sessie profiel" -#: ../pyhoca/wxgui/frontend.py:1339 +#: ../pyhoca/wxgui/frontend.py:1288 #, python-format msgid "%s: Export file already exists" -msgstr "%s: Geëxporteerde bestand bestaat al" +msgstr "%s: Export file bestaat al" -#: ../pyhoca/wxgui/frontend.py:1340 +#: ../pyhoca/wxgui/frontend.py:1289 #, python-format msgid "" "The file »%s« already exists in this folder.\n" @@ -1440,32 +1318,32 @@ "\n" "Wilt u het vervangen?" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "%s - profiles exported" msgstr "%s - Profielen geëxporteerd" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." -msgstr "Exporteren van sessieprofiel groep »%s« naar file »%s« geslaagd." +msgstr "Exporteren van sessieprofiel groep »%s« naar file »%s« geslaagd" -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "%s - profile exported" msgstr "%s - Profiel is geëxporteerd" -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." -msgstr "Exporteren van sessieprofiel »%s« naar file »%s« geslaagd." +msgstr "Exporteren van sessieprofiel »%s« naar file »%s« geslaagd" -#: ../pyhoca/wxgui/frontend.py:1367 +#: ../pyhoca/wxgui/frontend.py:1316 #, python-format msgid "%s: Exporting session profile(s) failed" -msgstr "%s: Exporteren van sessie profiel(en) mislukt" +msgstr "%s: Export van sessie profiel mislukt" -#: ../pyhoca/wxgui/frontend.py:1368 +#: ../pyhoca/wxgui/frontend.py:1317 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" @@ -1473,18 +1351,17 @@ "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" -"Het geselecteerde sessie profiel kon niet worden geëxporteerd \n" +"Het geselecteerde profiel kon niet worden geëxporteerd \n" "naar »%s«.\n" "\n" -"Controleer de meest voorkomende problemen (schijfruimte, onvoldoende " -"toegangsrechten, etc.)." +"Controleer of er voldoende schijfruimte is en of u toegang hebt" -#: ../pyhoca/wxgui/frontend.py:1387 +#: ../pyhoca/wxgui/frontend.py:1336 #, python-format msgid "%s - share local folder with sessions of this profile" -msgstr "%s - deel lokale map met sessies van dit profiel" +msgstr "%s - deel lokale map met dit Profiel" -#: ../pyhoca/wxgui/frontend.py:1553 +#: ../pyhoca/wxgui/frontend.py:1502 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" @@ -1495,19 +1372,19 @@ "De authenticiteit van host [%s]:%s kan niet vastgesteld worden.\n" "%s sleutel kenmerken zijn ,,%s''.\n" "\n" -"Weet u zeker dat u door wilt gaan met verbinding maken?" +"Weet u zeker dat u de verbinding wilt maken?" -#: ../pyhoca/wxgui/frontend.py:1561 +#: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Bevestig dat de Host geautoriseerd is" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "%s - channel error" -msgstr "%s - Fout verkeerd kanaal" +msgstr "%s - Verbindingsfout (channel error)" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" @@ -1516,14 +1393,14 @@ msgstr "" "De Verbinding met de server %s werd onverwacht verbroken!\n" "\n" -"Probeer u opnieuw bij de server aan te melden..." +"Probeer om u opnieuw aan te melden..." -#: ../pyhoca/wxgui/frontend.py:1625 -#, python-format +#: ../pyhoca/wxgui/frontend.py:1574 +#, fuzzy, python-format msgid "%s - SFTP client error" -msgstr "%s - SFTP client fout" +msgstr "%s - Printfout" -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" @@ -1532,71 +1409,57 @@ "\n" "Not starting new session..." msgstr "" -"Nieuwe X2Go sessie heeft geen SFTP client ondersteuning.\n" -"Controleer uw server instellingen.\n" -"\n" -"Voorkom echoing ~/.*shrc bestanden op de server!!!\n" -"\n" -"Nieuwe sessie niet gestart..." -#: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 -#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1591 ../pyhoca/wxgui/frontend.py:1647 +#: ../pyhoca/wxgui/frontend.py:1649 ../pyhoca/wxgui/frontend.py:1685 #, python-format msgid "%s - session failure" msgstr "%s - sessie fout" -#: ../pyhoca/wxgui/frontend.py:1642 +#: ../pyhoca/wxgui/frontend.py:1591 msgid "The session startup failed." msgstr "Opstarten van de sessie is mislukt" -#: ../pyhoca/wxgui/frontend.py:1655 -msgid "The session initialization failed." -msgstr "Initialiseren van de sessie is mislukt" - -#: ../pyhoca/wxgui/frontend.py:1668 -#, python-format +#: ../pyhoca/wxgui/frontend.py:1604 +#, fuzzy, python-format msgid "%s - desktop sharing failure" -msgstr "%s - delen van desktop mislukt" +msgstr "%s - delen van de desktop mislukte" -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" -"Delen van de desktop is geweigerd door de andere gebruiker of\n" -"u heeft allebei onvoldoende rechten voor het delen van elkaars desktop." -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 #, python-format msgid "%s - timeout" msgstr "%s - timeout" -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" -"Server time out, de server deed er te lang over om een lijst met gedeelde " -"desktops op te halen\n" -"Dit komt zo nu en dan voor, probeer het aub opnieuw" +"Het duurde te lang om de lijst met deelbare desktops op te halen\n" +"Dit gebeurt soms, probeer het nogmaals" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "%s - desktop sharing failed" -msgstr "%s - delen van desktop mislukt" +msgstr "%s - delen van de desktop mislukte" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "De %s desktop kan niet (meer) gedeeld worden" -#: ../pyhoca/wxgui/frontend.py:1711 +#: ../pyhoca/wxgui/frontend.py:1647 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Het commando ,,%s'' is niet beschikbaar op de X2Go server." -#: ../pyhoca/wxgui/frontend.py:1713 +#: ../pyhoca/wxgui/frontend.py:1649 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" @@ -1605,55 +1468,54 @@ "Het commando ,,%s'' is niet beschikbaar op de X2Go server\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" -"Verzoek om reverse TCP poort forwarden voor sessie %s naar server poort %s " -"niet toegestaan." +"Reverse TCP port forwarding request voor sessie %s naar server port %s niet " +"toegestaan" -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1685 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " -"X2Go/SSH server. Subsystem %sstartup failed." +"X2Go/SSH server. Session startup failed." msgstr "" -"Tunnel forwarding verzoek naar [%s]:%s voor sessie %s is geweigerd door " -"remote X2Go/SSH server. Subsysteem %sopstarten mislukt." +"Forwarding tunnel request naar [%s]:%s voor sessie %s niet toegestaan door " +"remote X2Go/SSH server. Het starten van de sessie is mislukt." -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 #, python-format msgid "%s - audio warning" msgstr "%s - audio waarschuwing" -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" -"Het X2Go PulseAudio systeem is niet beschikbaar binnen Remote Desktop " -"sessies." +"Het X2Go PulseAudio systeem is niet beschikbaar voor Remote Desktop sessies" -#: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1718 #, python-format msgid "%s - audio error" msgstr "%s - audio fout" -#: ../pyhoca/wxgui/frontend.py:1782 +#: ../pyhoca/wxgui/frontend.py:1711 msgid "The X2Go PulseAudio system could not be started." -msgstr "Het X2Go PulseAudio systeem kon niet gestart worden." +msgstr "Het X2Go PulseAudio systeem kon niet gestart worden" -#: ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1718 msgid "The X2Go PulseAudio system has died unexpectedly." -msgstr "Het X2Go PulseAudio systeem is onverwacht gestopt." +msgstr "Het X2Go PulseAudio systeem is gecrashed" -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - audio problem" msgstr "%s - audio probleem" -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "The audio connection could not be set up for this session.\n" @@ -1662,70 +1524,64 @@ "De audio verbinding kon niet worden gemaakt voor deze sessie.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "%s - client-side printing not available" -msgstr "%s - clientzijde printen niet beschikbaar" +msgstr "%s - client-side print systeem niet beschikbaar" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" -msgstr "" -"De server staat printen aan clientzijde niet toe binnen deze sessie.\n" -"%s" +msgstr "De server staat client-side printing niet toe" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "%s - MIME box not available" msgstr "%s- MIME box is niet beschikbaar" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" -msgstr "" -"De server ondersteunt geen X2Go MIME box.\n" -"%s" +msgstr "De server ondersteunt geen X2Go MIME box" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "%s - client-side folders not sharable" -msgstr "%s - mappen clientzijde zijn niet te delen" +msgstr "%s - client-side mappen worden niet gedeeld" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" -"De server staat het delen van mappen aan cllientzijde binnen deze sessie " -"niet toe.\n" +"De server staat client-side mappen deling in deze sessie niet toe.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "%s - client resources not sharable" msgstr "%s - client bronnen kunnen niet gedeeld worden" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" -"Mappen en printers aan clientzijde kunnen niet gedeeld worden in deze " -"sessie.\n" +"Client-side mappen en printers kunnen niet gedeeld worden in deze sessie.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1797 ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "%s - print error" msgstr "%s - Printfout" -#: ../pyhoca/wxgui/frontend.py:1868 +#: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "%s\n" @@ -1733,10 +1589,10 @@ "%s" msgstr "" "%s\n" -"...veroorzaakt op printer %s door sessie\n" +"...veroorzaakt door printer %s in sessie\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "" "%s\n" @@ -1747,12 +1603,12 @@ "...veroorzaakt door sessie\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1814 ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "%s - start" -msgstr "%s - start" +msgstr "%s - Start" -#: ../pyhoca/wxgui/frontend.py:1885 +#: ../pyhoca/wxgui/frontend.py:1814 #, python-format msgid "" "New X2Go session starting up...\n" @@ -1761,44 +1617,44 @@ "Nieuwe X2Go sessie wordt gestart...\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" -"Een andere client heeft X2Go sessie gestart\n" -"%s " +"Een andere X2Go-client heeft deze sessie gestart\n" +"%s" -#: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1844 ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "%s - resume" msgstr "%s - hervatten" -#: ../pyhoca/wxgui/frontend.py:1915 +#: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" -"X2Go sessie wordt hervat...\n" -"%s " +"X2Go Sessie wordt hervat...\n" +"%s" -#: ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" -"Een andere client heeft X2GO sessie\n" -"%s hervat" +"Een andere X2Go-client heeft de Sessie hervat\n" +"%s" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "%s - running" msgstr "%s - actief" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "" "Found already running session\n" @@ -1807,71 +1663,35 @@ "Reeds actieve sessie gevonden\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "%s - suspend" -msgstr "%s - pauzeren" +msgstr "%s - suspend" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" -"X2Go sessie is gepauzeerd\n" +"X2Go Sessie is suspended\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "%s - terminate" msgstr "%s - beëindigen" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" -"X2Go sessie is beëindigd\n" +"X2Go Sessie wordt beëindigd\n" "%s" -#: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 -#, python-format -msgid "%s: connection failure" -msgstr "%s - verbinding mislukt" - -#: ../pyhoca/wxgui/frontend.py:2017 -#, python-format -msgid "" -"While initializing a session for profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" -"Tijdens het tot stand brengen van een sessie voor profiel '%s' is de " -"verbinding\n" -"met %s mislukt.\n" -"\n" -"Het is mogelijk om desondanks te proberen de sessie tot stand te brengen.\n" -"Wilt u doorgaan?" - -#: ../pyhoca/wxgui/frontend.py:2023 -#, python-format -msgid "" -"While connecting to profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" -"Tijdens het verbinden met profiel '%s' is de verbinding\n" -"met %s mislukt.\n" -"\n" -"Het is mogelijk om desondanks te proberen de sessie tot stand te brengen.\n" -"Wilt u doorgaan?" - -#: ../pyhoca/wxgui/messages.py:70 +#: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" @@ -1880,134 +1700,134 @@ "Weet u zeker dat u het sessie\n" "profiel ,,%s'' wilt verwijderen??" -#: ../pyhoca/wxgui/messages.py:71 -#, python-brace-format +#: ../pyhoca/wxgui/messages.py:73 +#, python-format msgid "" -"{appname} is already running for user ,,{username}''!\n" +"PyHoca-GUI is already running for user ,,%s''!\n" "\n" -"Only one instance of {appname} can be started per\n" -"user. The {appname} icon can be found in your desktop's\n" +"Only one instance of PyHoca-GUI can be started per\n" +"user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" -"{appname} is al actief voor gebruiker ,,{username}''!\n" +"Pyhoca-GUI is al actief voor gebruiker ,,%s''!\n" "\n" -"Er kan slechts één instantie van {appname} per gebruiker gestart worden.\n" -"Het {appname} icoon kan gevonden worden in de\n" +"Er kan slechts één instantie per gebruiker gestart worden.\n" +"Het Pyhoca-GUI icoontje kan gevonden worden in de\n" "taakbalk van uw desktop." -#: ../pyhoca/wxgui/messages.py:109 +#: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "Ja" -#: ../pyhoca/wxgui/messages.py:110 +#: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "Nee" -#: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 +#: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "Ok" -#: ../pyhoca/wxgui/printingprefs.py:67 +#: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Print voorkeuren" -#: ../pyhoca/wxgui/printingprefs.py:69 +#: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" -msgstr "%s - Inkomende printer taak van %s (%s)" +msgstr "%s - Inkomende afdruk taak van %s (%s)" -#: ../pyhoca/wxgui/printingprefs.py:74 +#: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "Open dit dialoog venster" -#: ../pyhoca/wxgui/printingprefs.py:75 +#: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "Openen met PDF viewer" -#: ../pyhoca/wxgui/printingprefs.py:76 +#: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" -msgstr "Opslaan naar een lokale map" +msgstr "Opslaan naar lokale map" -#: ../pyhoca/wxgui/printingprefs.py:77 +#: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "Printen naar lokale printer" -#: ../pyhoca/wxgui/printingprefs.py:78 +#: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" -msgstr "Printen met speciaal commando" +msgstr "Afdrukken met speciaal commando" -#: ../pyhoca/wxgui/printingprefs.py:81 +#: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:115 +#: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:117 +#: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "" #. widgets for print action PDFVIEW -#: ../pyhoca/wxgui/printingprefs.py:121 +#: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "" #. widgets for print action PDFSAVE -#: ../pyhoca/wxgui/printingprefs.py:128 +#: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "" #. widgets for print action PRINT -#: ../pyhoca/wxgui/printingprefs.py:135 +#: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "" #. widgets for print action PRINTCMD -#: ../pyhoca/wxgui/printingprefs.py:139 +#: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:146 +#: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:250 +#: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:255 +#: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:409 +#: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:432 +#: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "" -#: ../pyhoca/wxgui/sessiontitle.py:65 +#: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "" -#: ../pyhoca/wxgui/sessiontitle.py:67 +#: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "" -#: ../pyhoca/wxgui/sessiontitle.py:69 +#: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:61 +#: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:63 +#: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" @@ -1873,30 +1746,30 @@ "List of X2Go Server components, add-ons and their versions..." msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:68 +#: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:69 +#: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:138 +#: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:139 +#: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:147 +#: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:153 +#: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "" -#: ../pyhoca/wxgui/serverinfo.py:157 +#: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "" diff -Nru pyhoca-gui-0.5.0.3/po/ru.po pyhoca-gui-0.4.0.9/po/ru.po --- pyhoca-gui-0.5.0.3/po/ru.po 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/po/ru.po 2015-09-23 07:21:47.000000000 +0000 @@ -1,5 +1,5 @@ # PyHoca-GUI / i18n. -# Copyright (C) 2010-2014 Mike Gabriel +# Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # @@ -9,10 +9,10 @@ msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-20 12:52+0200\n" +"POT-Creation-Date: 2013-11-21 23:29+0100\n" "PO-Revision-Date: 2013-01-28 13:39+0100\n" "Last-Translator: Oleksandr Shneyder \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,165 +26,123 @@ "X-Source-Language: C\n" "X-Generator: Lokalize 1.4\n" -#: ../pyhoca/wxgui/brokerlogon.py:54 -msgid "Logon" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:57 -msgid "Broker URL" -msgstr "" +#: ../pyhoca/wxgui/logon.py:92 +#, python-format +msgid "%s (via %s)" +msgstr "%s (через %s)" -#: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 -#: ../pyhoca/wxgui/logon.py:99 +#: ../pyhoca/wxgui/logon.py:98 ../pyhoca/wxgui/logon.py:110 msgid "Username" msgstr "Имя пользователя" -#: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 -#: ../pyhoca/wxgui/logon.py:101 +#: ../pyhoca/wxgui/logon.py:100 ../pyhoca/wxgui/logon.py:112 msgid "Password" msgstr "Пароль" -#: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 +#: ../pyhoca/wxgui/logon.py:103 msgid "Authenticate" msgstr "Авторизовать" -#: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 -#: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 -#: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 -#: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 -msgid "Cancel" -msgstr "Отмена" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -#, fuzzy, python-format -msgid "%s - success" -msgstr "%s - восстановить" - -#: ../pyhoca/wxgui/brokerlogon.py:165 -#, fuzzy -msgid "" -"Authentication to session broker has been\n" -"successful." -msgstr "Авторизация успешна." - -#: ../pyhoca/wxgui/brokerlogon.py:167 -#, fuzzy, python-format -msgid "%s - failure" -msgstr "%s - ошибка соединения" - -#: ../pyhoca/wxgui/brokerlogon.py:167 -#, fuzzy -msgid "Authentication to session broker failed." -msgstr "Ошибка авторизации на прокси сервере SSH!" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "%s: Connection refused error" -msgstr "" - -#: ../pyhoca/wxgui/brokerlogon.py:171 -#, python-format -msgid "Connection to %s failed. Retry?" -msgstr "" - -#: ../pyhoca/wxgui/logon.py:81 -#, python-format -msgid "%s (via %s)" -msgstr "%s (через %s)" - -#: ../pyhoca/wxgui/logon.py:104 +#: ../pyhoca/wxgui/logon.py:115 msgid "Start SSH tunnel" msgstr "Создать SSH туннель" -#: ../pyhoca/wxgui/logon.py:112 +#: ../pyhoca/wxgui/logon.py:123 msgid "Session login" msgstr "Логин сессии" -#: ../pyhoca/wxgui/logon.py:113 +#: ../pyhoca/wxgui/logon.py:124 msgid "SSH proxy server login" msgstr "Логин SSH прокси сервера" -#: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 -#: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 -#: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 -#: ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:135 ../pyhoca/wxgui/passphrase.py:102 +#: ../pyhoca/wxgui/profilemanager.py:375 ../pyhoca/wxgui/listdesktops.py:98 +#: ../pyhoca/wxgui/messages.py:130 ../pyhoca/wxgui/printingprefs.py:147 +#: ../pyhoca/wxgui/sessiontitle.py:85 +msgid "Cancel" +msgstr "Отмена" + +#: ../pyhoca/wxgui/logon.py:307 ../pyhoca/wxgui/logon.py:360 +#: ../pyhoca/wxgui/passphrase.py:225 ../pyhoca/wxgui/passphrase.py:232 +#: ../pyhoca/wxgui/passphrase.py:239 ../pyhoca/wxgui/passphrase.py:246 +#: ../pyhoca/wxgui/frontend.py:617 #, python-format msgid "%s - connect failure" msgstr "%s - ошибка соединения" -#: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 +#: ../pyhoca/wxgui/logon.py:308 ../pyhoca/wxgui/frontend.py:617 msgid "User is not allowed to start X2Go sessions!" msgstr "Пользователю не разрешено открывать X2Go сессии!" -#: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/logon.py:313 ../pyhoca/wxgui/passphrase.py:207 +#: ../pyhoca/wxgui/frontend.py:624 #, python-format msgid "%s - connect" msgstr "%s - соединение" -#: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 +#: ../pyhoca/wxgui/logon.py:314 ../pyhoca/wxgui/passphrase.py:208 msgid "Authentication has been successful." msgstr "Авторизация успешна." -#: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 +#: ../pyhoca/wxgui/logon.py:356 ../pyhoca/wxgui/logon.py:456 msgid "SSH tunnel started" msgstr "SSH туннель установлен" -#: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 +#: ../pyhoca/wxgui/logon.py:361 ../pyhoca/wxgui/passphrase.py:240 msgid "Authentication failed!" msgstr "Ошибка авторизации!" -#: ../pyhoca/wxgui/logon.py:358 +#: ../pyhoca/wxgui/logon.py:369 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH прокси" -#: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 +#: ../pyhoca/wxgui/logon.py:370 ../pyhoca/wxgui/passphrase.py:247 msgid "Authentication to the SSH proxy server failed!" msgstr "Ошибка авторизации на прокси сервере SSH!" -#: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 -#: ../pyhoca/wxgui/frontend.py:750 +#: ../pyhoca/wxgui/logon.py:397 ../pyhoca/wxgui/passphrase.py:253 +#: ../pyhoca/wxgui/frontend.py:729 #, python-format msgid "%s - socket error" msgstr "%s - ошибка сокета" -#: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 -#: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/logon.py:404 ../pyhoca/wxgui/passphrase.py:260 +#: ../pyhoca/wxgui/frontend.py:708 ../pyhoca/wxgui/frontend.py:715 #, python-format msgid "%s - host key error" msgstr "%s - ошибка ключа хоста" -#: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 -#: ../pyhoca/wxgui/frontend.py:729 +#: ../pyhoca/wxgui/logon.py:405 ../pyhoca/wxgui/passphrase.py:261 +#: ../pyhoca/wxgui/frontend.py:708 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "Удаленный серверный ключ недействителен и не был принят пользователем" -#: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:412 ../pyhoca/wxgui/passphrase.py:268 +#: ../pyhoca/wxgui/frontend.py:743 #, python-format msgid "%s - missing home directory" msgstr "%s - домашний каталог отсутствует" -#: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 -#: ../pyhoca/wxgui/frontend.py:764 +#: ../pyhoca/wxgui/logon.py:413 ../pyhoca/wxgui/passphrase.py:269 +#: ../pyhoca/wxgui/frontend.py:743 msgid "The remote user's home directory does not exist." msgstr "Домашний каталог удаленного пользователя не существует." -#: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 +#: ../pyhoca/wxgui/logon.py:420 ../pyhoca/wxgui/passphrase.py:291 #, python-format msgid "%s - key error" msgstr "%s - ошибка ключа" -#: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 -#: ../pyhoca/wxgui/frontend.py:771 +#: ../pyhoca/wxgui/logon.py:428 ../pyhoca/wxgui/passphrase.py:299 +#: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - auth error" msgstr "%s - ошибка авторизации" -#: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 -#: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 +#: ../pyhoca/wxgui/logon.py:460 ../pyhoca/wxgui/passphrase.py:287 +#: ../pyhoca/wxgui/passphrase.py:318 ../pyhoca/wxgui/frontend.py:678 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" @@ -199,1038 +157,975 @@ "\n" "Тем не менее, по соображениям безопасности соединение не будет установлено!!!" -#: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 -#: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 +#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/frontend.py:686 ../pyhoca/wxgui/frontend.py:706 #, python-format msgid "%s - SSH error" msgstr "%s - ошибка SSH" -#: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 +#: ../pyhoca/wxgui/logon.py:475 ../pyhoca/wxgui/passphrase.py:331 #, python-format msgid "%s - unknown error" msgstr "%s - неизвестная ошибка" -#: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 +#: ../pyhoca/wxgui/logon.py:476 ../pyhoca/wxgui/passphrase.py:332 msgid "An unknown error occured during authentication!" msgstr "Неизвестная ошибка при авторизации!" -#: ../pyhoca/wxgui/passphrase.py:69 +#: ../pyhoca/wxgui/passphrase.py:78 #, fuzzy, python-format msgid "%s (SSH proxy)" msgstr "%s - SSH прокси" -#: ../pyhoca/wxgui/passphrase.py:71 +#: ../pyhoca/wxgui/passphrase.py:80 #, fuzzy, python-format msgid "%s (X2Go Server)" msgstr "Сервер X2Go" -#: ../pyhoca/wxgui/passphrase.py:81 +#: ../pyhoca/wxgui/passphrase.py:90 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "" -#: ../pyhoca/wxgui/passphrase.py:83 +#: ../pyhoca/wxgui/passphrase.py:92 msgid "Unlock auto-discovered SSH private key..." msgstr "" -#: ../pyhoca/wxgui/passphrase.py:85 +#: ../pyhoca/wxgui/passphrase.py:94 msgid "Passphrase" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:88 +#: ../pyhoca/wxgui/passphrase.py:97 msgid "Unlock SSH key" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:217 +#: ../pyhoca/wxgui/passphrase.py:226 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "" -#: ../pyhoca/wxgui/passphrase.py:224 +#: ../pyhoca/wxgui/passphrase.py:233 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "" -#: ../pyhoca/wxgui/taskbar.py:111 -#, fuzzy, python-format +#: ../pyhoca/wxgui/taskbar.py:125 +#, python-format msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" "PyHoca-GUI\n" "Соединяет Вас с ,,%s''" -#: ../pyhoca/wxgui/taskbar.py:115 -#, fuzzy, python-format +#: ../pyhoca/wxgui/taskbar.py:129 +#, python-format msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Соединяет Вас с удаленным сервером X2Go ,,%s''" -#: ../pyhoca/wxgui/taskbar.py:125 -#, fuzzy, python-format +#: ../pyhoca/wxgui/taskbar.py:139 msgid "" -"%s\n" +"PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "" "PyHoca-GUI\n" "Соединяет Вас с X2Go..." -#: ../pyhoca/wxgui/taskbar.py:129 -#, fuzzy, python-format +#: ../pyhoca/wxgui/taskbar.py:143 msgid "" -"%s\n" +"PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Для соединения с удаленным сервером X2Go" -#: ../pyhoca/wxgui/profilemanager.py:81 +#: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" -#: ../pyhoca/wxgui/profilemanager.py:82 +#: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" -#: ../pyhoca/wxgui/profilemanager.py:83 +#: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" -#: ../pyhoca/wxgui/profilemanager.py:84 +#: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" -#: ../pyhoca/wxgui/profilemanager.py:85 +#: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" -#: ../pyhoca/wxgui/profilemanager.py:86 +#: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (KDE3-like)" -#: ../pyhoca/wxgui/profilemanager.py:87 +#: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" -#: ../pyhoca/wxgui/profilemanager.py:88 +#: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" -#: ../pyhoca/wxgui/profilemanager.py:89 +#: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "Удаленные приложения" -#: ../pyhoca/wxgui/profilemanager.py:90 +#: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "Приложение" -#: ../pyhoca/wxgui/profilemanager.py:91 +#: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "Присоединиться к существующей сессии (SHADOW)" -#: ../pyhoca/wxgui/profilemanager.py:92 +#: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "XDMCP Запрос" -#: ../pyhoca/wxgui/profilemanager.py:93 +#: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Сервер терминалов Windows (RDP через X2Go прокси)" -#: ../pyhoca/wxgui/profilemanager.py:94 +#: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "Сервер терминалов Windows (прямое RDP соединение)" -#: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 +#: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "Команда пользователя" -#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 +#: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "Веб-броузер" -#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 +#: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "Почтовый клиент" -#: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 +#: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "Офис" -#: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 +#: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "Терминал" -#: ../pyhoca/wxgui/profilemanager.py:106 -#, fuzzy -msgid "between client and server" -msgstr "Кодировка имен файлов" - -#: ../pyhoca/wxgui/profilemanager.py:107 -msgid "from server to client only" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:108 -msgid "from client to server only" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:109 -msgid "not at all" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:127 +#: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "Открыть файл с приложением по умолчанию" -#: ../pyhoca/wxgui/profilemanager.py:128 +#: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "Открыть диалог выбора приложения" -#: ../pyhoca/wxgui/profilemanager.py:129 +#: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "Сохранить файл как ..." -#: ../pyhoca/wxgui/profilemanager.py:157 +#: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "настройки импортированы из " #. boxes for all tabs -#: ../pyhoca/wxgui/profilemanager.py:205 +#: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "Заголовок сессии" -#: ../pyhoca/wxgui/profilemanager.py:206 +#: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "Окно сессии" -#: ../pyhoca/wxgui/profilemanager.py:207 +#: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "Запуск сессии" -#: ../pyhoca/wxgui/profilemanager.py:208 +#: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "Сервер" -#: ../pyhoca/wxgui/profilemanager.py:209 +#: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "Прокси" -#: ../pyhoca/wxgui/profilemanager.py:210 +#: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "Скорость соединения" -#: ../pyhoca/wxgui/profilemanager.py:211 +#: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "Сжатие" -#: ../pyhoca/wxgui/profilemanager.py:212 +#: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "Дисплей" -#: ../pyhoca/wxgui/profilemanager.py:213 -msgid "Clipboard" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:214 +#: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "Клавиатура" -#: ../pyhoca/wxgui/profilemanager.py:215 +#: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "Звук" -#: ../pyhoca/wxgui/profilemanager.py:216 +#: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "Печать" -#: ../pyhoca/wxgui/profilemanager.py:217 +#: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "Экспорт каталогов" -#: ../pyhoca/wxgui/profilemanager.py:218 +#: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "Импорт файлов" #. ## #. ## widgets for the PROFILE tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:223 +#: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "Имя" -#: ../pyhoca/wxgui/profilemanager.py:230 +#: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "Установить заголовок окна сессии" -#: ../pyhoca/wxgui/profilemanager.py:231 +#: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "Использовать заголовок окна сессии по умолчанию" -#: ../pyhoca/wxgui/profilemanager.py:232 +#: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "Произвольный заголовок окна сессии" -#: ../pyhoca/wxgui/profilemanager.py:251 +#: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "Пиктограмма" #. ## #. ## widgets for the SESSION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:257 +#: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "Запускать сессию автоматически после входа" -#: ../pyhoca/wxgui/profilemanager.py:258 +#: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "Автоматический вход после запуска %s (требуется опция --auto-connect)" -#: ../pyhoca/wxgui/profilemanager.py:259 +#: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "Тип" -#: ../pyhoca/wxgui/profilemanager.py:261 +#: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "Приложение" -#: ../pyhoca/wxgui/profilemanager.py:265 +#: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "XDMCP сервер" -#: ../pyhoca/wxgui/profilemanager.py:267 +#: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "RDP сервер" -#: ../pyhoca/wxgui/profilemanager.py:269 +#: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "Опции RDP" -#: ../pyhoca/wxgui/profilemanager.py:271 +#: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Интегрировать удаленное приложение в локальный десктоп" -#: ../pyhoca/wxgui/profilemanager.py:272 +#: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "Меню удаленных приложений" #. ## #. ## widgets for the CONNECTION tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 +#: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "Пользователь" -#: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 +#: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "Хост" -#: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 +#: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "Порт" -#: ../pyhoca/wxgui/profilemanager.py:285 +#: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "Ключ" -#: ../pyhoca/wxgui/profilemanager.py:288 +#: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "" "Автоматически определять SSH ключи или использовать SSH агент для " "аутентификации" -#: ../pyhoca/wxgui/profilemanager.py:290 +#: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Разрешить ретрансляцию соединений агента SSH" -#: ../pyhoca/wxgui/profilemanager.py:291 +#: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Сохранять SSH ключ сервера с уникальным ID профиля сессии" -#: ../pyhoca/wxgui/profilemanager.py:292 +#: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "Сервер за SSH прокси" -#: ../pyhoca/wxgui/profilemanager.py:295 +#: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "Использовать то же имя пользователя, что и на сервере X2Go" -#: ../pyhoca/wxgui/profilemanager.py:296 +#: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "Использовать тот же пароль, что и на сервере X2Go" -#: ../pyhoca/wxgui/profilemanager.py:297 +#: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "Файл ключа" -#: ../pyhoca/wxgui/profilemanager.py:304 +#: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "" "Автоматически определять SSH ключи или использовать SSH агент для " "аутентификации на прокси сервере" -#: ../pyhoca/wxgui/profilemanager.py:307 +#: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "Модем" -#: ../pyhoca/wxgui/profilemanager.py:308 +#: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "ISDN" -#: ../pyhoca/wxgui/profilemanager.py:309 +#: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "ADSL" -#: ../pyhoca/wxgui/profilemanager.py:310 +#: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "WAN" -#: ../pyhoca/wxgui/profilemanager.py:311 +#: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "LAN" -#: ../pyhoca/wxgui/profilemanager.py:313 +#: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "Метод" -#: ../pyhoca/wxgui/profilemanager.py:315 +#: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "Качество изображения" #. ## #. ## wigdets for the IO tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:321 +#: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "Полноэкранный режим" -#: ../pyhoca/wxgui/profilemanager.py:322 +#: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "Максимальный размер" -#: ../pyhoca/wxgui/profilemanager.py:323 +#: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "Другой размер" -#: ../pyhoca/wxgui/profilemanager.py:328 +#: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "Установить DPI" -#: ../pyhoca/wxgui/profilemanager.py:330 -msgid "Allow copy'n'paste" -msgstr "" - -#: ../pyhoca/wxgui/profilemanager.py:332 +#: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "Не устанавливать (конфигурация на стороне сервера)" -#: ../pyhoca/wxgui/profilemanager.py:333 +#: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" "Автоматически определять конфигурацию клиента и использовать её для сессии" -#: ../pyhoca/wxgui/profilemanager.py:334 +#: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "Использовать следующие установки" -#: ../pyhoca/wxgui/profilemanager.py:335 +#: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "Модель" -#: ../pyhoca/wxgui/profilemanager.py:337 +#: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "Раскладка" -#: ../pyhoca/wxgui/profilemanager.py:339 +#: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "Вариант раскладки" #. ## #. ## wigdets for the MEDIA tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:344 +#: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "Активировать звук" -#: ../pyhoca/wxgui/profilemanager.py:345 +#: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "Pulse Audio" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this -#: ../pyhoca/wxgui/profilemanager.py:349 +#: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "Arts (не поддерживается)" -#: ../pyhoca/wxgui/profilemanager.py:352 +#: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "esd" -#: ../pyhoca/wxgui/profilemanager.py:353 +#: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "Звуковой порт по умолчанию" -#: ../pyhoca/wxgui/profilemanager.py:354 +#: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "Другой звуковой порт" -#: ../pyhoca/wxgui/profilemanager.py:357 +#: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "Печать на стороне клиента" #. ## #. ## wigdets for the SHARING tab #. ## -#: ../pyhoca/wxgui/profilemanager.py:363 +#: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "Доступ к локальным каталогам" -#: ../pyhoca/wxgui/profilemanager.py:364 +#: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "Сохранить список экспортируемых каталогов по завершению сессии" -#: ../pyhoca/wxgui/profilemanager.py:365 +#: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "Путь" -#: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 +#: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "Добавить" -#: ../pyhoca/wxgui/profilemanager.py:370 +#: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "Локальный путь" -#: ../pyhoca/wxgui/profilemanager.py:371 +#: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "Метод подключения" -#: ../pyhoca/wxgui/profilemanager.py:372 +#: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "Удалить" -#: ../pyhoca/wxgui/profilemanager.py:374 +#: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "Кодировка имен файлов" -#: ../pyhoca/wxgui/profilemanager.py:375 +#: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "На стороне клиента" -#: ../pyhoca/wxgui/profilemanager.py:377 +#: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "На стороне сервера" -#: ../pyhoca/wxgui/profilemanager.py:380 +#: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "Использовать MIME box для импорта локальных файлов" -#: ../pyhoca/wxgui/profilemanager.py:381 +#: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "Расширения" -#: ../pyhoca/wxgui/profilemanager.py:383 +#: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "Действие" -#: ../pyhoca/wxgui/profilemanager.py:388 +#: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "По умолчанию" -#: ../pyhoca/wxgui/profilemanager.py:390 +#: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "Сохранить" -#: ../pyhoca/wxgui/profilemanager.py:391 +#: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "Восстановить" -#: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 +#: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "Применить" -#: ../pyhoca/wxgui/profilemanager.py:453 -#: ../pyhoca/wxgui/profilemanager.py:1184 -#: ../pyhoca/wxgui/profilemanager.py:2364 +#: ../pyhoca/wxgui/profilemanager.py:425 +#: ../pyhoca/wxgui/profilemanager.py:1141 +#: ../pyhoca/wxgui/profilemanager.py:2312 msgid "automatically" msgstr "автоматически" -#: ../pyhoca/wxgui/profilemanager.py:455 -#: ../pyhoca/wxgui/profilemanager.py:1186 +#: ../pyhoca/wxgui/profilemanager.py:427 +#: ../pyhoca/wxgui/profilemanager.py:1143 msgid "manually" msgstr "вручную" -#: ../pyhoca/wxgui/profilemanager.py:464 -#, fuzzy, python-format -msgid "%s Profile Manager - new profile" +#: ../pyhoca/wxgui/profilemanager.py:436 +msgid "PyHoca-GUI Profile Manager - new profile" msgstr "PyHoca-GUI Profile Manager - новый профиль" -#: ../pyhoca/wxgui/profilemanager.py:467 -#, fuzzy, python-format -msgid "%s Profile Manager - %s (connected)" -msgstr "PyHoca-GUI Profile Manager - %s (соединение)" - -#: ../pyhoca/wxgui/profilemanager.py:469 -#, fuzzy, python-format -msgid "%s Profile Manager - %s (connected, immutable)" +#: ../pyhoca/wxgui/profilemanager.py:438 +#, python-format +msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "PyHoca-GUI Profile Manager - %s (соединение)" -#: ../pyhoca/wxgui/profilemanager.py:472 -#, fuzzy, python-format -msgid "%s Profile Manager - %s" -msgstr "Profile Manager" - -#: ../pyhoca/wxgui/profilemanager.py:474 -#, fuzzy, python-format -msgid "%s Profile Manager - %s (immutable)" -msgstr "PyHoca-GUI Profile Manager - %s (соединение)" +#: ../pyhoca/wxgui/profilemanager.py:440 +#, python-format +msgid "PyHoca-GUI Profile Manager - %s" +msgstr "PyHoca-GUI Profile Manager - %s" -#: ../pyhoca/wxgui/profilemanager.py:851 +#: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "Профиль" -#: ../pyhoca/wxgui/profilemanager.py:852 +#: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "Сессия" -#: ../pyhoca/wxgui/profilemanager.py:853 +#: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "Соединение" -#: ../pyhoca/wxgui/profilemanager.py:854 +#: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "Качество соединения" -#: ../pyhoca/wxgui/profilemanager.py:855 +#: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "Ввод/Вывод" -#: ../pyhoca/wxgui/profilemanager.py:856 +#: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "Медиа" -#: ../pyhoca/wxgui/profilemanager.py:857 +#: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "Доступ" -#: ../pyhoca/wxgui/profilemanager.py:1044 +#: ../pyhoca/wxgui/profilemanager.py:995 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1045 +#: ../pyhoca/wxgui/profilemanager.py:996 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1046 +#: ../pyhoca/wxgui/profilemanager.py:997 msgid "" msgstr "" -#: ../pyhoca/wxgui/profilemanager.py:1504 +#: ../pyhoca/wxgui/profilemanager.py:1458 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Графические файлы (*.png)|*.png|Все файлы (*.*)|*" -#: ../pyhoca/wxgui/profilemanager.py:1507 +#: ../pyhoca/wxgui/profilemanager.py:1461 msgid "Choose an icon for this session profile" msgstr "Выбрать пиктограмму" -#: ../pyhoca/wxgui/profilemanager.py:1956 +#: ../pyhoca/wxgui/profilemanager.py:1904 msgid "All files (*.*)|*" msgstr "Все файлы (*.*)|*" -#: ../pyhoca/wxgui/profilemanager.py:1958 -#: ../pyhoca/wxgui/profilemanager.py:1982 +#: ../pyhoca/wxgui/profilemanager.py:1906 +#: ../pyhoca/wxgui/profilemanager.py:1930 msgid "Choose a public SSH key" msgstr "Выбрать публичный ключ SSH" -#: ../pyhoca/wxgui/profilemanager.py:2316 +#: ../pyhoca/wxgui/profilemanager.py:2264 msgid "Choose a folder to share within a session" msgstr "Выбрать экспортируемый каталог" -#: ../pyhoca/wxgui/profilemanager.py:2444 -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 +#: ../pyhoca/wxgui/profilemanager.py:2392 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "Profile Manager" -#: ../pyhoca/wxgui/profilemanager.py:2444 +#: ../pyhoca/wxgui/profilemanager.py:2392 msgid "Profile name is missing, profile unusable!!!" msgstr "Имя профиля не установлено!!!" -#: ../pyhoca/wxgui/profilemanager.py:2447 -#: ../pyhoca/wxgui/profilemanager.py:2450 +#: ../pyhoca/wxgui/profilemanager.py:2395 +#: ../pyhoca/wxgui/profilemanager.py:2398 #, python-format msgid "Profile name %s already exists!!!" msgstr "Профиль с именем %s уже существует!!!" -#: ../pyhoca/wxgui/profilemanager.py:2478 +#: ../pyhoca/wxgui/profilemanager.py:2425 #, python-format msgid "%s - profile added" msgstr "%s - профиль добавлен" -#: ../pyhoca/wxgui/profilemanager.py:2479 +#: ../pyhoca/wxgui/profilemanager.py:2426 msgid "A new session profile has been added." msgstr "Новый профиль сессии добавлен." -#: ../pyhoca/wxgui/profilemanager.py:2483 +#: ../pyhoca/wxgui/profilemanager.py:2430 #, python-format msgid "%s - modified" msgstr "%s - модифицирован" -#: ../pyhoca/wxgui/profilemanager.py:2484 +#: ../pyhoca/wxgui/profilemanager.py:2431 msgid "Changes to profile have been saved." msgstr "Изменения в профиле сохранены." -#: ../pyhoca/wxgui/listdesktops.py:66 +#: ../pyhoca/wxgui/listdesktops.py:81 #, python-format msgid "Share Desktop Session - %s" msgstr "присоединиться к существующей сессии - %s" -#: ../pyhoca/wxgui/listdesktops.py:68 +#: ../pyhoca/wxgui/listdesktops.py:83 msgid "Select one of the available desktop sessions on this server" msgstr "Выберите одну из доступных сессий на сервере" -#: ../pyhoca/wxgui/listdesktops.py:74 +#: ../pyhoca/wxgui/listdesktops.py:89 msgid "View session only" msgstr "Только просмотр сессии" -#: ../pyhoca/wxgui/listdesktops.py:75 +#: ../pyhoca/wxgui/listdesktops.py:90 msgid "Gain full access" msgstr "Открыть полный доступ" -#: ../pyhoca/wxgui/listdesktops.py:79 +#: ../pyhoca/wxgui/listdesktops.py:94 msgid "Share Desktop" msgstr "Разделить Десктоп" -#: ../pyhoca/wxgui/listdesktops.py:82 +#: ../pyhoca/wxgui/listdesktops.py:97 msgid "Refresh list" msgstr "Обновить список" -#: ../pyhoca/wxgui/menus_taskbar.py:65 +#: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "Редактировать профиль" -#: ../pyhoca/wxgui/menus_taskbar.py:67 -#, fuzzy -msgid "View Profile" -msgstr "Редактировать профиль" - -#: ../pyhoca/wxgui/menus_taskbar.py:75 +#: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "Использовать в качестве шаблона для нового профиля" -#: ../pyhoca/wxgui/menus_taskbar.py:79 +#: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "Экспорт профиля" -#: ../pyhoca/wxgui/menus_taskbar.py:83 +#: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "Удалить профиль" -#: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 +#: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "О %s (%s)..." -#: ../pyhoca/wxgui/menus_taskbar.py:139 +#: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "Управление профилем сессии" -#: ../pyhoca/wxgui/menus_taskbar.py:148 -#, fuzzy -msgid "Disconnect from session broker" -msgstr "&Отсоединить от сервера" - -#: ../pyhoca/wxgui/menus_taskbar.py:153 +#: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "Установки печати" -#: ../pyhoca/wxgui/menus_taskbar.py:161 +#: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "Опции клиента" -#: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 -#: ../pyhoca/wxgui/menus_taskbar.py:1070 +#: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 +#: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "Вы&ход" -#: ../pyhoca/wxgui/menus_taskbar.py:241 +#: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "Заголовок окна" -#: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 +#: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "Восстановить сессию" -#: ../pyhoca/wxgui/menus_taskbar.py:249 +#: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "Восстановить сессию (невозможно)" -#: ../pyhoca/wxgui/menus_taskbar.py:260 +#: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "Трансфер сессии" -#: ../pyhoca/wxgui/menus_taskbar.py:262 +#: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "Трансфер сессии (невозможен)" -#: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 +#: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "Прервать сессию (и разъединить/выйти)" -#: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 +#: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "Прервать сессию (и разъединить)" -#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 +#: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "Прервать сессию" -#: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 +#: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "Завершить сессию (и разъединить/выйти)" -#: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 +#: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "Завершить сессию (и разъединить)" -#: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 +#: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "Завершить сессию" -#: ../pyhoca/wxgui/menus_taskbar.py:284 +#: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Завершить сессию (и разъединить/выйти)" -#: ../pyhoca/wxgui/menus_taskbar.py:286 +#: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "Завершить сессию (и разъединить)" -#: ../pyhoca/wxgui/menus_taskbar.py:288 +#: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "Завершить сессию" -#: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 +#: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "Обновить меню" -#: ../pyhoca/wxgui/menus_taskbar.py:301 +#: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "Переименовать окно сессии" -#: ../pyhoca/wxgui/menus_taskbar.py:302 +#: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "Показать окно сессии" -#: ../pyhoca/wxgui/menus_taskbar.py:344 +#: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "Э&кспорт произвольного каталога" -#: ../pyhoca/wxgui/menus_taskbar.py:356 +#: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "Экспорт:" -#: ../pyhoca/wxgui/menus_taskbar.py:366 +#: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "Разъединить:" -#: ../pyhoca/wxgui/menus_taskbar.py:374 +#: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "Разъединить &все каталоги" -#: ../pyhoca/wxgui/menus_taskbar.py:380 +#: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "Восстановить экспортируемые каталоги в следующей сессии" -#: ../pyhoca/wxgui/menus_taskbar.py:461 +#: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "Мультимедиа" -#: ../pyhoca/wxgui/menus_taskbar.py:462 +#: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "Разработка" -#: ../pyhoca/wxgui/menus_taskbar.py:463 +#: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "Образование" -#: ../pyhoca/wxgui/menus_taskbar.py:464 +#: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "Игры" -#: ../pyhoca/wxgui/menus_taskbar.py:465 +#: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "Графика" -#: ../pyhoca/wxgui/menus_taskbar.py:466 +#: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "Интернет" -#: ../pyhoca/wxgui/menus_taskbar.py:467 +#: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "Офисные приложения" -#: ../pyhoca/wxgui/menus_taskbar.py:468 +#: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "Системные" -#: ../pyhoca/wxgui/menus_taskbar.py:469 +#: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "Утилиты" -#: ../pyhoca/wxgui/menus_taskbar.py:470 +#: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "Другие программы" -#: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 -#, fuzzy -msgid "Connect to" -msgstr "Метод подключения" - -#: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 +#: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "Соединение %s" -#: ../pyhoca/wxgui/menus_taskbar.py:559 +#: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "Соединение ..." -#: ../pyhoca/wxgui/menus_taskbar.py:574 +#: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "Запустить &новую сессию" -#: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 +#: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "Запустить сессию разделения десктопа" -#: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 +#: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "Получаем меню приложений..." -#: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 +#: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "Получить меню приложений" -#: ../pyhoca/wxgui/menus_taskbar.py:591 +#: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "Запустить &новую RDP сессию" -#: ../pyhoca/wxgui/menus_taskbar.py:594 +#: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "Запустить &новую сессию" -#: ../pyhoca/wxgui/menus_taskbar.py:674 +#: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "Запустить приложение" -#: ../pyhoca/wxgui/menus_taskbar.py:715 +#: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "Управление меню приложений" -#: ../pyhoca/wxgui/menus_taskbar.py:770 +#: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "Выполняется" -#: ../pyhoca/wxgui/menus_taskbar.py:772 +#: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "Приостановлено" -#: ../pyhoca/wxgui/menus_taskbar.py:791 +#: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "&Очистить все сессии" -#: ../pyhoca/wxgui/menus_taskbar.py:798 +#: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "Изменить &профиль" -#: ../pyhoca/wxgui/menus_taskbar.py:800 -#, fuzzy -msgid "View &profile" -msgstr "Изменить &профиль" - -#: ../pyhoca/wxgui/menus_taskbar.py:815 +#: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "Экспорт &каталогов" -#: ../pyhoca/wxgui/menus_taskbar.py:827 +#: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "Информация о сервере" -#: ../pyhoca/wxgui/menus_taskbar.py:834 +#: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "&Отсоединить от сервера" -#: ../pyhoca/wxgui/menus_taskbar.py:841 +#: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "&Прервать сессию и покинуть программу" -#: ../pyhoca/wxgui/menus_taskbar.py:845 +#: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "&Разъединить и покинуть программу" -#: ../pyhoca/wxgui/menus_taskbar.py:899 +#: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "Добавить профиль" -#: ../pyhoca/wxgui/menus_taskbar.py:976 -#, fuzzy -msgid "Session broker is not connected" -msgstr "X2Go Профиль отсоединен." - -#: ../pyhoca/wxgui/menus_taskbar.py:978 +#: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "Профили не определены" -#: ../pyhoca/wxgui/menus_taskbar.py:989 +#: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "Экспортировать все профили" -#: ../pyhoca/wxgui/menus_taskbar.py:991 +#: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "Экспортировать группу профилей" -#: ../pyhoca/wxgui/menus_taskbar.py:997 +#: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "Импортировать профили сессии" -#: ../pyhoca/wxgui/menus_taskbar.py:1040 +#: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "Соединить с сервером" -#: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 +#: ../pyhoca/wxgui/about.py:88 ../pyhoca/wxgui/about.py:90 #, python-format msgid "About %s ..." msgstr "О %s ..." -#: ../pyhoca/wxgui/frontend.py:489 +#: ../pyhoca/wxgui/frontend.py:468 msgid "Suspending sessions and exiting application..." msgstr "Прерываем сессию и покидаем программу..." -#: ../pyhoca/wxgui/frontend.py:492 +#: ../pyhoca/wxgui/frontend.py:471 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Разъединяем %s и покидаем программу..." -#: ../pyhoca/wxgui/frontend.py:494 +#: ../pyhoca/wxgui/frontend.py:473 msgid "Exiting application..." msgstr "Покидаем программу..." -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 #, python-format msgid "%s - server warning" msgstr "%s - предупреждение сервера" -#: ../pyhoca/wxgui/frontend.py:594 +#: ../pyhoca/wxgui/frontend.py:573 msgid "The X2Go Server does not publish an application menu." msgstr "Сервер X2Go не публикует меню приложений." -#: ../pyhoca/wxgui/frontend.py:645 +#: ../pyhoca/wxgui/frontend.py:624 msgid "SSH key authentication has been successful." msgstr "Авторизация по публичному ключу завершена." -#: ../pyhoca/wxgui/frontend.py:719 +#: ../pyhoca/wxgui/frontend.py:698 #, fuzzy msgid "" "Host key verification failed. The SSH proxy server may have been " @@ -1247,30 +1142,30 @@ "\n" "Тем не менее, по соображениям безопасности соединение не будет установлено!!!" -#: ../pyhoca/wxgui/frontend.py:736 +#: ../pyhoca/wxgui/frontend.py:715 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "SSH прокси ключ недействителен и не был принят пользователем" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - EOF error" msgstr "%s - EOF ошибка" -#: ../pyhoca/wxgui/frontend.py:757 +#: ../pyhoca/wxgui/frontend.py:736 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Ошибка авторизации! Попробуйте еще раз..." -#: ../pyhoca/wxgui/frontend.py:778 +#: ../pyhoca/wxgui/frontend.py:757 msgid "An unknown error occurred during authentication!" msgstr "Неизвестная ошибка при авторизации!" -#: ../pyhoca/wxgui/frontend.py:807 +#: ../pyhoca/wxgui/frontend.py:786 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirectRDP пока не поддерживается" -#: ../pyhoca/wxgui/frontend.py:808 +#: ../pyhoca/wxgui/frontend.py:787 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1287,16 +1182,16 @@ "\n" "Поддержка DirectRDP будет доступна в %s (>= 1.0.0.0)." -#: ../pyhoca/wxgui/frontend.py:823 +#: ../pyhoca/wxgui/frontend.py:799 msgid "Unknown session profile, configure before using it..." msgstr "Неизвестный профиль сессии..." -#: ../pyhoca/wxgui/frontend.py:884 +#: ../pyhoca/wxgui/frontend.py:830 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Разделение десктопа с %s не поддерживается сервером" -#: ../pyhoca/wxgui/frontend.py:885 +#: ../pyhoca/wxgui/frontend.py:831 #, python-format msgid "" "We apologize for the inconvenience...\n" @@ -1314,57 +1209,57 @@ "\n" "Требуется сервер X2Go версии 4.1.0.0 или выше." -#: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:889 ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "%s - session warning" msgstr "%s - предупреждение" -#: ../pyhoca/wxgui/frontend.py:943 +#: ../pyhoca/wxgui/frontend.py:889 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Невозможно выполнить команду ,,%s''." -#: ../pyhoca/wxgui/frontend.py:1084 +#: ../pyhoca/wxgui/frontend.py:1030 msgid "Cleaning X2Go sessions..." msgstr "Очищаем сессии X2Go..." -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 #, python-format msgid "%s - disconnect" msgstr "%s - разъединение" -#: ../pyhoca/wxgui/frontend.py:1132 +#: ../pyhoca/wxgui/frontend.py:1078 msgid "X2Go Profile is now disconnected." msgstr "X2Go Профиль отсоединен." -#: ../pyhoca/wxgui/frontend.py:1153 +#: ../pyhoca/wxgui/frontend.py:1099 msgid "New Session Profile" msgstr "Новый профиль" -#: ../pyhoca/wxgui/frontend.py:1208 +#: ../pyhoca/wxgui/frontend.py:1154 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Удалить профиль ,,%s''?" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 #, python-format msgid "%s - profile deleted" msgstr "%s - профиль удален" -#: ../pyhoca/wxgui/frontend.py:1213 +#: ../pyhoca/wxgui/frontend.py:1160 msgid "The session profile has been deleted." msgstr "Профиль был удален." -#: ../pyhoca/wxgui/frontend.py:1225 +#: ../pyhoca/wxgui/frontend.py:1174 msgid "import session profile(s)" msgstr "импорт профилей сессии" -#: ../pyhoca/wxgui/frontend.py:1237 +#: ../pyhoca/wxgui/frontend.py:1186 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: Импорт профиля сессии не удался" -#: ../pyhoca/wxgui/frontend.py:1238 +#: ../pyhoca/wxgui/frontend.py:1187 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" @@ -1377,12 +1272,12 @@ "\n" "Вы уверены что это файл в правильном формате?" -#: ../pyhoca/wxgui/frontend.py:1266 +#: ../pyhoca/wxgui/frontend.py:1215 #, python-format msgid "%s: Write failure after import" msgstr "%s: Ошибка записи после импортирования" -#: ../pyhoca/wxgui/frontend.py:1267 +#: ../pyhoca/wxgui/frontend.py:1216 msgid "" "The session profiles configuration could not be written to file after " "import\n" @@ -1393,48 +1288,48 @@ "\n" "Проверьте дисковое пространство и права доступа." -#: ../pyhoca/wxgui/frontend.py:1272 +#: ../pyhoca/wxgui/frontend.py:1221 msgid "None of the session profiles could be imported..." msgstr "Не удалось импортировать ни один из профилей сессии..." -#: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 +#: ../pyhoca/wxgui/frontend.py:1224 ../pyhoca/wxgui/frontend.py:1234 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" "Чтобы узнать больше, запустите %s из командной строки и попробуйте ещё раз." -#: ../pyhoca/wxgui/frontend.py:1279 +#: ../pyhoca/wxgui/frontend.py:1228 msgid "Only these session profiles could be imported..." msgstr "Только эти профили сессии удалось импортировать..." -#: ../pyhoca/wxgui/frontend.py:1282 +#: ../pyhoca/wxgui/frontend.py:1231 msgid "Whereas these session profiles failed to import..." msgstr "В то время как с этими возникли проблемы..." -#: ../pyhoca/wxgui/frontend.py:1288 +#: ../pyhoca/wxgui/frontend.py:1237 msgid "New session profiles have been imported..." msgstr "Новые профили сессии были импортированы..." -#: ../pyhoca/wxgui/frontend.py:1293 +#: ../pyhoca/wxgui/frontend.py:1242 msgid "New session profile has been imported..." msgstr "Новый профиль сессии был импортирован..." -#: ../pyhoca/wxgui/frontend.py:1322 +#: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "%s - export session profiles" msgstr "%s - экспорт профилей сессии" -#: ../pyhoca/wxgui/frontend.py:1327 +#: ../pyhoca/wxgui/frontend.py:1276 #, python-format msgid "%s - export session profile" msgstr "%s - экспорт профиля сессии" -#: ../pyhoca/wxgui/frontend.py:1339 +#: ../pyhoca/wxgui/frontend.py:1288 #, python-format msgid "%s: Export file already exists" msgstr "%s: Файл уже существует" -#: ../pyhoca/wxgui/frontend.py:1340 +#: ../pyhoca/wxgui/frontend.py:1289 #, python-format msgid "" "The file »%s« already exists in this folder.\n" @@ -1445,32 +1340,32 @@ "\n" "Переписать?" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "%s - profiles exported" msgstr "%s - профили экспортированы" -#: ../pyhoca/wxgui/frontend.py:1361 +#: ../pyhoca/wxgui/frontend.py:1310 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "Группа профилей сессий »%s« успешно экспортирована в файл »%s«." -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "%s - profile exported" msgstr "%s - профиль экспортирован" -#: ../pyhoca/wxgui/frontend.py:1363 +#: ../pyhoca/wxgui/frontend.py:1312 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Профиль сессии »%s« успешно экспортирован в файл »%s«." -#: ../pyhoca/wxgui/frontend.py:1367 +#: ../pyhoca/wxgui/frontend.py:1316 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s - экспорт профиля сессии не удался" -#: ../pyhoca/wxgui/frontend.py:1368 +#: ../pyhoca/wxgui/frontend.py:1317 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" @@ -1483,12 +1378,12 @@ "\n" "Проверьте дисковое пространство и права доступа." -#: ../pyhoca/wxgui/frontend.py:1387 +#: ../pyhoca/wxgui/frontend.py:1336 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - экспортируемый каталог" -#: ../pyhoca/wxgui/frontend.py:1553 +#: ../pyhoca/wxgui/frontend.py:1502 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" @@ -1501,17 +1396,17 @@ "\n" "Продолжить соединение?" -#: ../pyhoca/wxgui/frontend.py:1561 +#: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Подтвердите авторизацию хоста" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "%s - channel error" msgstr "%s - ошибка канала" -#: ../pyhoca/wxgui/frontend.py:1607 +#: ../pyhoca/wxgui/frontend.py:1556 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" @@ -1522,12 +1417,12 @@ "\n" "Попытайтесь соединиться еще раз..." -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 #, fuzzy, python-format msgid "%s - SFTP client error" msgstr "%s - ошибка печати" -#: ../pyhoca/wxgui/frontend.py:1625 +#: ../pyhoca/wxgui/frontend.py:1574 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" @@ -1537,39 +1432,33 @@ "Not starting new session..." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 -#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 -#: ../pyhoca/wxgui/frontend.py:1756 +#: ../pyhoca/wxgui/frontend.py:1591 ../pyhoca/wxgui/frontend.py:1647 +#: ../pyhoca/wxgui/frontend.py:1649 ../pyhoca/wxgui/frontend.py:1685 #, python-format msgid "%s - session failure" msgstr "%s - ошибка сессии" -#: ../pyhoca/wxgui/frontend.py:1642 +#: ../pyhoca/wxgui/frontend.py:1591 msgid "The session startup failed." msgstr "Запуск сессии не удался." -#: ../pyhoca/wxgui/frontend.py:1655 -#, fuzzy -msgid "The session initialization failed." -msgstr "Запуск сессии не удался." - -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 #, fuzzy, python-format msgid "%s - desktop sharing failure" msgstr "%s - разделение десктопа не удалось" -#: ../pyhoca/wxgui/frontend.py:1668 +#: ../pyhoca/wxgui/frontend.py:1604 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 #, python-format msgid "%s - timeout" msgstr "%s - превышение интервала ожидания" -#: ../pyhoca/wxgui/frontend.py:1681 +#: ../pyhoca/wxgui/frontend.py:1617 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" @@ -1578,22 +1467,22 @@ "предоставления списка сессий.\n" "Это иногда случается, попытайтесь еще раз" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - разделение десктопа не удалось" -#: ../pyhoca/wxgui/frontend.py:1693 +#: ../pyhoca/wxgui/frontend.py:1629 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "Десктоп %s недоступен для разделения." -#: ../pyhoca/wxgui/frontend.py:1711 +#: ../pyhoca/wxgui/frontend.py:1647 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Команда ,,%s'' недоступна на сервере X2Go." -#: ../pyhoca/wxgui/frontend.py:1713 +#: ../pyhoca/wxgui/frontend.py:1649 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" @@ -1602,7 +1491,7 @@ "Команда ,,%s'' недоступна на сервере X2Go\n" "%s." -#: ../pyhoca/wxgui/frontend.py:1730 +#: ../pyhoca/wxgui/frontend.py:1666 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " @@ -1610,44 +1499,44 @@ msgstr "" "Запрос ретрансляции порта TCP для сессии %s к порту сервера %s был отклонен." -#: ../pyhoca/wxgui/frontend.py:1756 -#, fuzzy, python-format +#: ../pyhoca/wxgui/frontend.py:1685 +#, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " -"X2Go/SSH server. Subsystem %sstartup failed." +"X2Go/SSH server. Session startup failed." msgstr "" "Запрос туннеля к серверу [%s]:%s для сессии %s был отклонен удаленным " "сервером X2Go/SSH. Запуск сессии не удался." -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 #, python-format msgid "%s - audio warning" msgstr "%s - предупреждение audio" -#: ../pyhoca/wxgui/frontend.py:1775 +#: ../pyhoca/wxgui/frontend.py:1704 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "Система X2Go PulseAudio недоступна в сессиях удаленного десктопа." -#: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1718 #, python-format msgid "%s - audio error" msgstr "%s - ошибка audio" -#: ../pyhoca/wxgui/frontend.py:1782 +#: ../pyhoca/wxgui/frontend.py:1711 msgid "The X2Go PulseAudio system could not be started." msgstr "Система X2Go PulseAudio не может быть запущена." -#: ../pyhoca/wxgui/frontend.py:1789 +#: ../pyhoca/wxgui/frontend.py:1718 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "Сбой системы X2Go PulseAudio." -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - audio problem" msgstr "%s - ошибка audio" -#: ../pyhoca/wxgui/frontend.py:1801 +#: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "The audio connection could not be set up for this session.\n" @@ -1657,12 +1546,12 @@ "%s" # %s - печать недоступна -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "%s - client-side printing not available" msgstr "%s - печать недоступна" -#: ../pyhoca/wxgui/frontend.py:1813 +#: ../pyhoca/wxgui/frontend.py:1742 #, python-format msgid "" "The server denies client-side printing from within this session.\n" @@ -1671,12 +1560,12 @@ "Сервер отклонил печать внутри этой сессии.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME box недоступен" -#: ../pyhoca/wxgui/frontend.py:1825 +#: ../pyhoca/wxgui/frontend.py:1754 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" @@ -1685,12 +1574,12 @@ "Сервер не поддерживает X2Go MIME box.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - клиентские каталоги не экспортируемы" -#: ../pyhoca/wxgui/frontend.py:1837 +#: ../pyhoca/wxgui/frontend.py:1766 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" @@ -1699,12 +1588,12 @@ "Сервер отклонил экспорт каталогов внутри этой сессии.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "%s - client resources not sharable" msgstr "%s - клиентские ресурсы не экспортируемы" -#: ../pyhoca/wxgui/frontend.py:1849 +#: ../pyhoca/wxgui/frontend.py:1778 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" @@ -1714,12 +1603,12 @@ "этой сессии.\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1797 ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "%s - print error" msgstr "%s - ошибка печати" -#: ../pyhoca/wxgui/frontend.py:1868 +#: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "%s\n" @@ -1730,7 +1619,7 @@ "...на принтере %s в сессии\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1870 +#: ../pyhoca/wxgui/frontend.py:1799 #, python-format msgid "" "%s\n" @@ -1741,12 +1630,12 @@ "...в сессии\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1814 ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "%s - start" msgstr "%s - пуск" -#: ../pyhoca/wxgui/frontend.py:1885 +#: ../pyhoca/wxgui/frontend.py:1814 #, python-format msgid "" "New X2Go session starting up...\n" @@ -1755,7 +1644,7 @@ "Новая сессия X2Go запускается...\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1900 +#: ../pyhoca/wxgui/frontend.py:1829 #, python-format msgid "" "Another client started X2Go session\n" @@ -1764,12 +1653,12 @@ "Другой клиент запускает сессию X2Go\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1844 ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "%s - resume" msgstr "%s - восстановить" -#: ../pyhoca/wxgui/frontend.py:1915 +#: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "Resuming X2Go session...\n" @@ -1778,7 +1667,7 @@ "Восстанавливаем X2Go сессию...\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1930 +#: ../pyhoca/wxgui/frontend.py:1859 #, python-format msgid "" "Another client resumed X2Go session\n" @@ -1787,12 +1676,12 @@ "Другой клиент восстанавливает сессию X2Go\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "%s - running" msgstr "%s - выполняется" -#: ../pyhoca/wxgui/frontend.py:1945 +#: ../pyhoca/wxgui/frontend.py:1874 #, python-format msgid "" "Found already running session\n" @@ -1801,12 +1690,12 @@ "Найдена уже запущенная сессия\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "%s - suspend" msgstr "%s - прервать" -#: ../pyhoca/wxgui/frontend.py:1965 +#: ../pyhoca/wxgui/frontend.py:1894 #, python-format msgid "" "X2Go Session has been suspended\n" @@ -1815,12 +1704,12 @@ "X2Go сессия прервана\n" "%s" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "%s - terminate" msgstr "%s - завершить" -#: ../pyhoca/wxgui/frontend.py:1992 +#: ../pyhoca/wxgui/frontend.py:1921 #, python-format msgid "" "X2Go Session has terminated\n" @@ -1829,45 +1718,20 @@ "X2Go сессия завершена\n" "%s" -#: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 -#, fuzzy, python-format -msgid "%s: connection failure" -msgstr "%s - ошибка соединения" - -#: ../pyhoca/wxgui/frontend.py:2017 -#, python-format -msgid "" -"While initializing a session for profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" - -#: ../pyhoca/wxgui/frontend.py:2023 -#, python-format -msgid "" -"While connecting to profile '%s' the connection\n" -"to %s has failed.\n" -"\n" -"It is possible to attempt session initialization anyway. Do you\n" -"want to continue?" -msgstr "" - -#: ../pyhoca/wxgui/messages.py:70 +#: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "Удалить профиль ,,%s''?" -#: ../pyhoca/wxgui/messages.py:71 -#, fuzzy, python-brace-format +#: ../pyhoca/wxgui/messages.py:73 +#, python-format msgid "" -"{appname} is already running for user ,,{username}''!\n" +"PyHoca-GUI is already running for user ,,%s''!\n" "\n" -"Only one instance of {appname} can be started per\n" -"user. The {appname} icon can be found in your desktop's\n" +"Only one instance of PyHoca-GUI can be started per\n" +"user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" "PyHoca-GUI уже выполняется пользователем ,,%s''!\n" @@ -1876,119 +1740,119 @@ "один экземпляр PyHoca-GUI. Значок PyHoca-GUI можно найти\n" "в системном трее или области уведомлений." -#: ../pyhoca/wxgui/messages.py:109 +#: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "Да" -#: ../pyhoca/wxgui/messages.py:110 +#: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "Нет" -#: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 +#: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "ОК" -#: ../pyhoca/wxgui/printingprefs.py:67 +#: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Установки печати" -#: ../pyhoca/wxgui/printingprefs.py:69 +#: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Поступило задание печати от %s (%s)" -#: ../pyhoca/wxgui/printingprefs.py:74 +#: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "Открывать этот диалог" -#: ../pyhoca/wxgui/printingprefs.py:75 +#: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "Открыть с программой просмотра PDF" -#: ../pyhoca/wxgui/printingprefs.py:76 +#: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "Сохранить" -#: ../pyhoca/wxgui/printingprefs.py:77 +#: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "Печатать" -#: ../pyhoca/wxgui/printingprefs.py:78 +#: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "Команда печати" -#: ../pyhoca/wxgui/printingprefs.py:81 +#: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" -#: ../pyhoca/wxgui/printingprefs.py:115 +#: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "Utskriftshantering" -#: ../pyhoca/wxgui/printingprefs.py:117 +#: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "Standardhantering av inkommande utskriftsjobb" #. widgets for print action PDFVIEW -#: ../pyhoca/wxgui/printingprefs.py:121 +#: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "Kommando för PDF-visare" #. widgets for print action PDFSAVE -#: ../pyhoca/wxgui/printingprefs.py:128 +#: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "Spara PDF:er till mapp" #. widgets for print action PRINT -#: ../pyhoca/wxgui/printingprefs.py:135 +#: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "Använd denna skrivare" #. widgets for print action PRINTCMD -#: ../pyhoca/wxgui/printingprefs.py:139 +#: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "Anpassat utskriftskommando" -#: ../pyhoca/wxgui/printingprefs.py:146 +#: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "Skriv ut" -#: ../pyhoca/wxgui/printingprefs.py:250 +#: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "- utskrifter ej tillgängliga -" -#: ../pyhoca/wxgui/printingprefs.py:255 +#: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "- utskriftssystem ej tillgängligt -" -#: ../pyhoca/wxgui/printingprefs.py:409 +#: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "Välj PDF-visare" -#: ../pyhoca/wxgui/printingprefs.py:432 +#: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "Välj mapp att spara PDF:er i" -#: ../pyhoca/wxgui/sessiontitle.py:65 +#: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "Sessionstitel - %s" -#: ../pyhoca/wxgui/sessiontitle.py:67 +#: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "Ändra sessionstitel till" -#: ../pyhoca/wxgui/sessiontitle.py:69 +#: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "OK" -#: ../pyhoca/wxgui/serverinfo.py:61 +#: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "Serverinformation - %s" -#: ../pyhoca/wxgui/serverinfo.py:63 +#: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" @@ -2001,37 +1904,34 @@ "\n" "Lista över X2Go Servers komponenter, tillägg och deras versioner..." -#: ../pyhoca/wxgui/serverinfo.py:68 +#: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "Uppdatera" -#: ../pyhoca/wxgui/serverinfo.py:69 +#: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "Stäng" -#: ../pyhoca/wxgui/serverinfo.py:138 +#: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "X2Go Server" -#: ../pyhoca/wxgui/serverinfo.py:139 +#: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "Server Core" -#: ../pyhoca/wxgui/serverinfo.py:147 +#: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "Servertillägg" -#: ../pyhoca/wxgui/serverinfo.py:153 +#: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "X2Go Servertillägg" -#: ../pyhoca/wxgui/serverinfo.py:157 +#: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "X2Go Serverfunktioner" -#~ msgid "PyHoca-GUI Profile Manager - %s" -#~ msgstr "PyHoca-GUI Profilhanterare - %s" - #~ msgid "%s - auth key error" #~ msgstr "%s - autentiseringsnyckel fel" @@ -2099,6 +1999,9 @@ #~ msgid "Disconnect and E&xit" #~ msgstr "Koppla ifrån och avsluta" +#~ msgid "%s - connect error" +#~ msgstr "%s - anslutning misslyckades" + #, fuzzy #~ msgid "Unknown Session Profile" #~ msgstr "Ny sessionsprofil" diff -Nru pyhoca-gui-0.5.0.3/pyhoca/__init__.py pyhoca-gui-0.4.0.9/pyhoca/__init__.py --- pyhoca-gui-0.5.0.3/pyhoca/__init__.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/__init__.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/about.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/about.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/about.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/about.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -22,6 +22,16 @@ import os +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + # Python X2Go import x2go @@ -36,7 +46,7 @@ wxWidget displaying an ,,About'' window for this application. """ - def __init__(self, _PyHocaGUI, caller=None, about_image=None, icon_name=None, about_what=None, ): + def __init__(self, _PyHocaGUI, caller=None, about_image=None, icon_name='pyhoca-winicon', about_what=None, ): """\ About window (constructor). @@ -55,10 +65,10 @@ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger - fallback_about_image = 'PyHoca-GUI_about-logo.png' + fallback_about_image = 'pyhoca-about-logo.png' if about_image is None: - about_image = '{appname}_about-logo.png'.format(appname=_PyHocaGUI.appname) + about_image = fallback_about_image if not about_image.lower().endswith('.png'): about_image = '%s.png' % about_image @@ -98,19 +108,16 @@ elif "wxMAC" in wx.PlatformInfo: icon_size = '128x128' - if icon_name is None: - icon_name = '{appname}_winicon.png'.format(appname=_PyHocaGUI.appname) - icon_name = os.path.expanduser(icon_name) if not icon_name.lower().endswith('.png'): icon_name = '%s.png' % icon_name icon_file = icon_name if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): - icon_folder = 'PyHoca' - if os.path.isdir(os.path.join(basepath.icons_basepath, _PyHocaGUI.appname)): - icon_folder = _PyHocaGUI.appname - icon_file = '%s/%s/%s/%s' % (basepath.icons_basepath, icon_folder, icon_size, icon_name) + icon_file = '%s/PyHoca/%s/%s' % (basepath.icons_basepath, icon_size, icon_name) + + if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): + icon_file = os.path.normpath('%s/PyHoca/%s/%s.png' % (basepath.icons_basepath, icon_size, 'pyhoca-winicon')) img = wx.Image(icon_file) icon = wx.IconFromBitmap(img.ConvertToBitmap()) diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/basepath.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/basepath.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/basepath.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/basepath.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -21,40 +21,32 @@ import os from x2go import X2GOCLIENT_OS as _X2GOCLIENT_OS -def reload_base_paths(): - if os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1': +if os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1': + _base_location = os.path.abspath(os.path.curdir) + _icons_location = os.path.join(_base_location, 'icons') + _images_location = os.path.join(_base_location, 'img') + if _X2GOCLIENT_OS != 'Windows': + _locale_location = os.path.join(_base_location, 'locale') + else: + _locale_location = os.path.join(_base_location, 'build', 'mo') + _nxproxy_location = os.path.join(_base_location, '..', 'pyhoca-contrib', 'mswin', 'nxproxy-mswin', 'nxproxy.exe') + _pulseaudio_location = os.path.join(_base_location, '..', 'pyhoca-contrib', 'mswin', 'pulseaudio-mswin', 'pulseaudio-1.1', 'pulseaudio.exe') +else: + if _X2GOCLIENT_OS == 'Windows': _base_location = os.path.abspath(os.path.curdir) _icons_location = os.path.join(_base_location, 'icons') _images_location = os.path.join(_base_location, 'img') - if _X2GOCLIENT_OS != 'Windows': - _locale_location = os.path.join(_base_location, 'locale') - else: - _locale_location = os.path.join(_base_location, 'build', 'mo') - _nxproxy_location = os.path.join(_base_location, '..', 'pyhoca-contrib', 'mswin', 'nxproxy-mswin', 'nxproxy.exe') - _pulseaudio_location = os.path.join(_base_location, '..', 'pyhoca-contrib', 'mswin', 'pulseaudio-mswin', 'pulseaudio-5.0-rev18', 'pulseaudio.exe') + _locale_location = os.path.join(_base_location, 'mo') + _nxproxy_location = os.path.join(_base_location, 'nxproxy', 'nxproxy.exe') + _pulseaudio_location = os.path.join(_base_location, 'pulseaudio', 'pulseaudio.exe') else: - if _X2GOCLIENT_OS == 'Windows': - _base_location = os.path.abspath(os.path.curdir) - _icons_location = os.path.join(_base_location, 'icons') - _images_location = os.path.join(_base_location, 'img') - _locale_location = os.path.join(_base_location, 'mo') - _nxproxy_location = os.path.join(_base_location, 'nxproxy', 'nxproxy.exe') - _pulseaudio_location = os.path.join(_base_location, 'pulseaudio', 'pulseaudio.exe') - else: - _icons_location = '/usr/share/icons' - _images_location = '/usr/share/pyhoca/img' - _locale_location = '/usr/share/locale' - - global icons_basepath - global images_basepath - icons_basepath = _icons_location - images_basepath = _images_location - if _X2GOCLIENT_OS == 'Windows': - global nxproxy_binary - nxproxy_binary = _nxproxy_location - global pulseaudio_binary - pulseaudio_binary = _pulseaudio_location - global locale_basepath - locale_basepath = _locale_location + _icons_location = '/usr/share/icons' + _images_location = '/usr/share/pyhoca/img' + _locale_location = '/usr/share/locale' -reload_base_paths() +icons_basepath = _icons_location +images_basepath = _images_location +if _X2GOCLIENT_OS == 'Windows': + nxproxy_binary = _nxproxy_location + pulseaudio_binary = _pulseaudio_location +locale_basepath = _locale_location diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/brokerlogon.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/brokerlogon.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/brokerlogon.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/brokerlogon.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,198 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep -# -# PyHoca GUI is free software; you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# PyHoca GUI is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program; if not, write to the -# Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. - -modules ={} - -# Python X2Go -import x2go - -import wx -import os - -import messages - -if os.environ.has_key('DESKTOP_SESSION'): - WINDOW_MANAGER = os.environ['DESKTOP_SESSION'] -else: - WINDOW_MANAGER = 'generic' - -class PyHocaGUI_BrokerDialogBoxPassword(wx.Dialog): - """\ - Broker logon window for L{PyHocaGUI}. - - """ - def __init__(self, _PyHocaGUI, caller=None): - """\ - Broker logon window (constructor) - - @param _PyHocaGUI: main application instance - @type _PyHocaGUI: C{obj} - - """ - self._PyHocaGUI = _PyHocaGUI - self._PyHocaGUI.gevent_sleep_when_idle = 0.1 - self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger - self._pyhoca_logger('password dialog box started', loglevel=x2go.loglevel_INFO, ) - - wx.Dialog.__init__(self, None, id=-1, title=self._PyHocaGUI.broker_name + ' ' + _(u'Logon'), style=wx.DEFAULT_FRAME_STYLE, ) - self._PyHocaGUI._sub_windows.append(self) - - self.brokerLbl = wx.StaticText(self, wx.ID_ANY, _(u'Broker URL')+':', size=(-1, -1)) - self.brokerTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(240, -1)) - - self.userLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) - self.userTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(240, -1)) - - self.passwordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) - self.passwordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(240, -1)) - self.passwordTxt.SetFocus() - - if self._PyHocaGUI.session_profiles.get_broker_username(): - self.userTxt.SetValue(self._PyHocaGUI.session_profiles.get_broker_username()) - else: - self.userTxt.SetFocus() - - if self._PyHocaGUI.session_profiles.get_broker_url(): - if self._PyHocaGUI.session_profiles.get_broker_url().upper() in ('HTTP', 'SSH'): - self.brokerTxt.SetFocus() - if self._PyHocaGUI.session_profiles.get_broker_type() == 'http': - self.brokerTxt.SetValue('http://[:]/json/') - self.userTxt.SetValue('') - elif self._PyHocaGUI.session_profiles.get_broker_type() == 'ssh': - self.brokerTxt.SetValue('ssh://[:]/usr/bin/x2gobroker') - self.userTxt.SetValue('') - else: - self.brokerTxt.SetValue(self._PyHocaGUI.session_profiles.get_broker_url()) - - self.loginBtn = wx.Button(self, wx.ID_OK, _(u'Authenticate'), ) - self.loginBtn.SetDefault() - self.cancelBtn = wx.Button(self, wx.ID_CANCEL, _(u'Cancel'), ) - _tab_order = [self.userTxt, self.passwordTxt, self.loginBtn, self.cancelBtn, ] - - self.Bind(wx.EVT_BUTTON, self.OnLogin, self.loginBtn) - self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.brokerTxt) - self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.userTxt) - self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.passwordTxt) - self.Bind(wx.EVT_BUTTON, self.OnCancel, self.cancelBtn) - - btnSizer = wx.BoxSizer(wx.HORIZONTAL) - mainSizer = wx.BoxSizer(wx.VERTICAL) - - credSizer = wx.GridBagSizer(hgap=2, vgap=3) - credSizer.Add(self.brokerLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) - credSizer.Add(self.brokerTxt, pos=(0,1), flag=wx.ALL, border=5) - credSizer.Add(self.userLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) - credSizer.Add(self.userTxt, pos=(1,1), flag=wx.ALL, border=5) - credSizer.Add(self.passwordLbl, pos=(2,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) - credSizer.Add(self.passwordTxt, pos=(2,1), flag=wx.ALL, border=5) - - btnSizer.Add(self.loginBtn, 0, wx.ALL, 5) - btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) - - mainSizer.Add(credSizer, 0, wx.ALL, 5) - mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5) - - # Logged in variable - self.loggedIn = False - - self.SetSizerAndFit(mainSizer) - self.Layout() - - for i in xrange(len(_tab_order) - 1): - _tab_order[i+1].MoveAfterInTabOrder(_tab_order[i]) - - maxX, maxY = wx.GetDisplaySize() - - if self._PyHocaGUI.logon_window_position_x and self._PyHocaGUI.logon_window_position_y: - - # allow positioning of logon window via command line option - if self._PyHocaGUI.logon_window_position_x < 0: - move_x = maxX - (self.GetSize().GetWidth() + self._PyHocaGUI.logon_window_position_x) - else: - move_x = self._PyHocaGUI.logon_window_position_x - if self._PyHocaGUI.logon_window_position_y < 0: - move_y = maxX - (self.GetSize().GetHeight() + self._PyHocaGUI.logon_window_position_y) - else: - move_y = self._PyHocaGUI.logon_window_position_y - - elif (x2go.X2GOCLIENT_OS == 'Linux') and (WINDOW_MANAGER in ('gnome', 'gnome-fallback', 'awesome', 'mate', 'ubuntu', 'ubuntu-2d', 'openbox-gnome', )): - - # automatically place logon Window for GNOME, awesome - move_x = maxX - (self.GetSize().GetWidth() + 20) - move_y = 35 - - else: - - # automatically place logon Window for KDE4, LXDE, etc. - move_x = maxX - (self.GetSize().GetWidth() + 20) - move_y = maxY - (self.GetSize().GetHeight() + 70) - - self.Move((move_x, move_y)) - self.Show() - - def OnLogin(self, evt): - """\ - If the user clicks ,,Ok'' in the logon window. - - @param evt: event - @type evt: C{obj} - - """ - broker_url = self.brokerTxt.GetValue() - username = self.userTxt.GetValue() - password = self.passwordTxt.GetValue() - - self._PyHocaGUI.session_profiles.set_broker_url(broker_url) - try: - if self._PyHocaGUI.session_profiles.broker_simpleauth(username, password): - self._PyHocaGUI.notifier.send(_(u"%s - success") % self._PyHocaGUI.broker_name, _(u"Authentication to session broker has been\nsuccessful."), icon='auth_success', timeout=10000) - else: - self._PyHocaGUI.notifier.send(_(u"%s - failure") % self._PyHocaGUI.broker_name, _(u"Authentication to session broker failed."), icon='auth_failed', timeout=10000) - self.Close() - self.Destroy() - except x2go.x2go_exceptions.X2GoBrokerConnectionException: - m = messages.PyHoca_MessageWindow_YesNo(self._PyHocaGUI, title=_(u'%s: Connection refused error') % self._PyHocaGUI.appname, msg=_(u'Connection to %s failed. Retry?') % self._PyHocaGUI.broker_name, icon='connect_error') - m.ShowModal() - if m.No(): - self.Close() - self.Destroy() - - def OnCancel(self, evt): - """ - If the user clicks ,,Cancel'' in the logon window. - - @param evt: event - @type evt: C{obj} - - """ - self.Close() - self.Destroy() - - def Destroy(self): - """ - Tidy up some stuff in the main application instance when the logon window gets destroyed. - - """ - self._PyHocaGUI.gevent_sleep_when_idle = 0.25 - try: - self._PyHocaGUI._sub_windows.remove(self) - except ValueError: - pass - wx.Dialog.Destroy(self) diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/defaults.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/defaults.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/defaults.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/defaults.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,112 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep -# -# PyHoca GUI is free software; you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# PyHoca GUI is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program; if not, write to the -# Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. - -from x2go import X2GOCLIENT_OS -from x2go import BACKENDS - -_profiles_backend_default = BACKENDS['X2GoSessionProfiles']['default'] -_settings_backend_default = BACKENDS['X2GoClientSettings']['default'] -_printing_backend_default = BACKENDS['X2GoClientPrinting']['default'] - -if X2GOCLIENT_OS == 'Windows': - from x2go import X2GoClientXConfig - _x = X2GoClientXConfig() - _known_xservers = _x.known_xservers - _installed_xservers = _x.installed_xservers - -if X2GOCLIENT_OS == 'Windows': - _config_backends = ('FILE', 'WINREG') -elif X2GOCLIENT_OS == 'Linux': - _config_backends = ('FILE', 'GCONF') -else: - _config_backends = ('FILE') - -default_options = { - - # common - 'debug': False, - 'quiet': False, - 'libdebug': False, - 'libdebug_sftpxfer': False, - 'version': False, - - # session related options - 'session_profile': '', - 'remember_username': False, - 'non_interactive': False, - 'auto_connect': False, - 'show_profile_metatypes': False, - 'single_session_profile': False, - 'tray_icon': '', - 'tray_icon_connecting': '', - 'restricted_trayicon': False, - 'add_to_known_hosts': False, - 'start_on_connect': False, - 'exit_on_disconnect': False, - 'resume_newest_on_connect': False, - 'resume_oldest_on_connect': False, - 'resume_all_on_connect': False, - 'disconnect_on_suspend': False, - 'disconnect_on_terminate': False, - 'display': '', - - # brokerage - 'broker_url': '', - 'broker_password': '', - 'broker_name': 'X2Go Session Broker', - 'broker_cacertfile': '', - 'broker_autoconnect': False, - - # branding - 'splash_image': '', - 'about_image': '', - 'disable_splash': False, - 'disable_options': False, - 'disable_printingprefs': False, - 'disable_profilemanager': False, - 'disable_notifications': False, - 'logon_window_position': False, - 'published_applications_no_submenus': 10, - - # backends - 'backend_controlsession': '', - 'backend_terminalsession': '', - 'backend_serversessioninfo': '', - 'backend_serversessionlist': '', - 'backend_proxy': '', - 'backend_sessionprofiles': '', - 'backend_clientsettings': '', - 'backend_clientprinting': '', - - # file locations - 'client_rootdir': '', - 'sessions_rootdir': '', - 'ssh_rootdir': '', -} - -if X2GOCLIENT_OS == 'Windows': - default_options.update( - { 'lang': 'en', - 'start_xserver': False, - 'preferred_xserver': '', - 'start_pulseaudio': False, - } - ) diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/frontend.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/frontend.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/frontend.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/frontend.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,16 +20,30 @@ modules ={} +try: + import wxversion + wxversion.select('2.9') + #print 'USING wxPython 2.9' + +except: pass + +try: + import wxversion + wxversion.select('2.8') + #print 'USING wxPython 2.8' + +except: pass + import os -import re # Python X2Go import x2go import gevent +import gevent.monkey +gevent.monkey.patch_all() import wx -import types import copy import threading import locale @@ -37,7 +51,6 @@ # PyHoca-GUI modules import about import logon -import brokerlogon import passphrase import taskbar import profilemanager @@ -51,6 +64,7 @@ import serverinfo wx.SetDefaultPyEncoding("utf-8") +wx.InitAllImageHandlers() #def SetExitHandler(func): # """\ @@ -103,8 +117,8 @@ wxPython and gevent. """ - def __init__(self, args, logger, liblogger, - appname='PyHoca-GUI', + def __init__(self, args, logger, liblogger, + appname='PyHoca-GUI', vendorname='Open Source Software Foundation', version=None,): """\ @@ -138,8 +152,6 @@ self.args = args - self.gevent_sleep_when_idle = 0.25 - if logger is None: self._pyhoca_logger = x2go.X2GoLogger(tag=self.appname) else: @@ -200,30 +212,6 @@ if x2go.X2GOCLIENT_OS == 'Windows' and self.args.start_pulseaudio and os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1': _x2goclient_kwargs['pulseaudio_installdir'] = os.path.dirname(basepath.pulseaudio_binary) - self.broker_autoconnect = self.args.broker_autoconnect - if self.args.broker_url: - _x2goclient_kwargs['broker_url'] = self.args.broker_url - if not re.match('^(http://|https://|ssh://).*', self.args.broker_url): - self.broker_autoconnect = True - else: - if not re.match('(http|ssh)', self.args.broker_url.lower()): - # fall back broker mode... -> HTTP (and trigger querying for the exact URL) - _x2goclient_kwargs['broker_url'] = 'HTTP' - self.with_brokerage = True - else: - self.with_brokerage = False - - if self.args.broker_password: - _x2goclient_kwargs['broker_password'] = self.args.broker_password - - if self.args.broker_name: - self.broker_name = self.args.broker_name - - if self.args.broker_cacertfile is not None: - self.broker_cacertfile = os.path.expanduser(self.args.broker_cacertfile) - if self.broker_cacertfile and os.path.exists(self.broker_cacertfile): - os.environ['REQUESTS_CA_BUNDLE'] = self.broker_cacertfile - try: if self.args.logon_window_position: self.logon_window_position_x = int(self.args.logon_window_position.split('x')[0]) @@ -236,10 +224,11 @@ x2go.X2GoClient.__init__(self, **_x2goclient_kwargs) wx.App.__init__(self, redirect=False, clearSigInt=False) + #SetExitHandler(self._exit_handler) if not self.args.disable_splash: - splash.PyHocaGUI_SplashScreen(self, splash_image=self.args.splash_image) + splash.PyHocaGUI_SplashScreen(splash_image=self.args.splash_image) self.Bind(wx.EVT_IDLE, self.OnIdle) @@ -272,7 +261,7 @@ """ try: - gevent.sleep(self.gevent_sleep_when_idle) + gevent.sleep(.04) except KeyboardInterrupt: self._pyhoca_logger('Received Ctrl-C keyboard interrupt... Wait till %s has exited cleanly.' % self.appname, loglevel=x2go.loglevel_NOTICE) self.WakeUpIdle() @@ -314,7 +303,7 @@ self.about = about.PyHocaGUI_AboutFrame(self, about_image=self.args.about_image) self.about.Show(False) - self.about_pythonx2go = about.PyHocaGUI_AboutFrame(self, about_image='Python-X2Go_about-logo.png', about_what="Python X2Go") + self.about_pythonx2go = about.PyHocaGUI_AboutFrame(self, about_image='pythonx2go-about-logo.png', about_what="Python X2Go") self.about_pythonx2go.Show(False) self.taskbar = taskbar.PyHocaGUI_TaskBarIcon(self.about) @@ -361,20 +350,15 @@ if not self.args.single_session_profile: self.auto_connect = True self._pyhoca_logger('opening default session profile %s' % profile_name, loglevel=x2go.log.loglevel_NOTICE) - try: - self._X2GoClient__register_session(profile_name=profile_name, auto_connect=self.auto_connect) - except x2go.x2go_exceptions.X2GoBrokerConnectionException: - self.session_registration_failed(profile_name=profile_name) + self._X2GoClient__register_session(profile_name=profile_name, auto_connect=self.auto_connect) - if self.auto_connect or self.broker_autoconnect: + if self.auto_connect: gevent.spawn(self._auto_connect) def _auto_connect(self): """\ Register all available session profiles on application start. - If brokerage is used, handle auto connecting to the broker before that, as well. - The auto-registration of all session profiles will trigger the auto-connect feature implemented in C{X2GoClient} of Python X2Go. @@ -382,12 +366,7 @@ # wait for splash to appear if not self.args.disable_splash: gevent.sleep(1) - - # auto connect to the broker if requested - if self.with_brokerage and self.broker_autoconnect: - self.OnBrokerAuthenticate(None) - - if self.auto_connect and not self.args.session_profile: + if not self.args.session_profile: self._X2GoClient__register_all_session_profiles() def session_auto_connect(self, session_uuid, **kwargs): @@ -812,10 +791,7 @@ return self.taskbar.SetIconConnecting(profile_name) if session_uuid is None: - try: - session_uuid = self._X2GoClient__register_session(profile_name=profile_name) - except x2go.x2go_exceptions.X2GoBrokerConnectionException: - self.session_registration_failed(profile_name) + session_uuid = self._X2GoClient__register_session(profile_name=profile_name) if session_uuid: self._temp_disabled_profile_names.append(profile_name) gevent.spawn(self._do_authenticate, evt, session_uuid) @@ -824,36 +800,6 @@ if not self.is_session_profile(profile_name): profilemanager.PyHocaGUI_ProfileManager(self, 'ADD_EXPLICITLY', profile_name=profile_name) - def OnBrokerAuthenticate(self, evt): - """\ - Gets called if the user requests connecting to a session profile. - - @param evt: event - @type evt: C{obj} - - """ - brokerlogon.PyHocaGUI_BrokerDialogBoxPassword(self, caller=self) - - def OnBrokerDisconnect(self, evt): - """\ - Reset (disconnect from) the broker connection. - - @param evt: event - @type evt: C{obj} - - """ - self._hide_notifications_map = {} - self._temp_launching_pubapp_profiles = [] - self._temp_launching_pubapp_locks = {} - self._temp_disabled_profile_names = [] - self._temp_disabled_session_names = {} - self._remember_shared_folders = {} - - for profile_name in self._X2GoClient__client_connected_profiles(return_profile_names=True): - self._X2GoClient__disconnect_profile(profile_name) - - self.session_profiles.broker_disconnect() - def OnSessionStart(self, evt): """\ Gets called if the user requests to start a new X2Go session. @@ -1565,7 +1511,7 @@ else: m.Show() while m in self._sub_windows: - gevent.sleep(.2) + gevent.sleep(.04) retval = m.Yes() m.Destroy() @@ -1644,19 +1590,6 @@ self.WakeUpIdle() self.ExitMainLoop() - def session_registration_failed(self, profile_name='UNKNOWN', **kwargs): - """\ - Notify about session registration failures. - - @param profile_name: profile name of session that called this hook method - @type profile_name: C{str} - - """ - self.notifier.send(_(u'%s - session failure') % profile_name, _(u'The session initialization failed.'), icon='session_error', timeout=10000) - if self.exit_on_disconnect: - self.WakeUpIdle() - self.ExitMainLoop() - def HOOK_desktop_sharing_denied(self, profile_name='UNKNOWN', **kwargs): """\ Notify about the denial of desktop sharing by the other user. @@ -1732,7 +1665,7 @@ self.WakeUpIdle() self.ExitMainLoop() - def HOOK_forwarding_tunnel_setup_failed(self, profile_name='UNKNOWN', session_name='UNKNOWN', chain_host='UNKNOWN', chain_port=0, subsystem=None, **kwargs): + def HOOK_forwarding_tunnel_setup_failed(self, profile_name='UNKNOWN', session_name='UNKNOWN', chain_host='UNKNOWN', chain_port=0, **kwargs): """\ Notify about port forwarding tunnel setup failures. @@ -1744,16 +1677,9 @@ @type chain_host: C{str} @param chain_port: port of chain host (forwarding tunnel end point) @type chain_port: C{str} - @param subsystem: information on the subsystem that provoked this hook call - @type subsystem: C{str} """ - if type(subsystem) in (types.StringType, types.UnicodeType): - _subsystem = '(%s) ' % subsystem - else: - _subsystem = '' - - self.notifier.send(_(u'%s - session failure') % profile_name, _(u'Forwarding tunnel request to [%s]:%s for session %s was denied by remote X2Go/SSH server. Subsystem %sstartup failed.') % (chain_host, chain_port, session_name, _subsystem), icon='session_error', timeout=10000) + self.notifier.send(_(u'%s - session failure') % profile_name, _(u'Forwarding tunnel request to [%s]:%s for session %s was denied by remote X2Go/SSH server. Session startup failed.') % (chain_host, chain_port, session_name), icon='session_error', timeout=10000) if not self._hide_notifications_map.has_key(profile_name): self._hide_notifications_map[profile_name] = [] self._hide_notifications_map[profile_name].append(session_name) @@ -1997,32 +1923,3 @@ evt.SetId(_dummy_id) self.OnServerDisconnect(evt) - def HOOK_broker_ignore_connection_problems(self, profile_name='UNKNOWN', is_profile_connected=False, **kwargs): - """\ - Query about what to do with broker connection failures. - - @param profile_name: profile name of a session that triggered this hook method - @type profile_name: C{str} - @param is_profile_connected: C{True} if the given session profile is already conneced to the server - @type is_profile_connected: C{bool} - - @return: C{true} if session startup shall be attempted anyway, even if session - broker is down. - @rtype: C{bool} - - """ - if is_profile_connected: - m = messages.PyHoca_MessageWindow_OkCancel(self, - title=_(u'%s: connection failure') % self.broker_name, - msg=_(u"While initializing a session for profile '%s' the connection\nto %s has failed.\n\nIt is possible to attempt session initialization anyway. Do you\nwant to continue?") % (profile_name, self.broker_name), - icon='warning', - profile_name=profile_name) - else: - m = messages.PyHoca_MessageWindow_OkCancel(self, - title=_(u'%s: connection failure') % self.broker_name, - msg=_(u"While connecting to profile '%s' the connection\nto %s has failed.\n\nIt is possible to attempt session initialization anyway. Do you\nwant to continue?") % (profile_name, self.broker_name), - icon='warning', - profile_name=profile_name) - - m.ShowModal() - return m.Ok() diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/__init__.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/__init__.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/__init__.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/__init__.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -18,4 +18,6 @@ # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. -__VERSION__ = '0.5.0.3' +__VERSION__ = '0.4.0.9' + +from frontend import * diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/launcher.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/launcher.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/launcher.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/launcher.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,407 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep -# -# PyHoca GUI is free software; you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# PyHoca GUI is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program; if not, write to the -# Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. - -modules ={} - -import sys -import os -import shutil -import argparse -import gettext -import subprocess -import copy - -import wx - -# we need to register a wx.App() instance before we load any -# of the X2Go modules. When importing x2go.*, gevent.monkey_patch_all() -# is called which seems to break wxPython 3.0... -_dummy_app = wx.App(redirect=False, clearSigInt=False) - -from x2go import X2GOCLIENT_OS -from x2go import CURRENT_LOCAL_USER -from x2go import BACKENDS -from x2go import X2GoLogger - -from pyhoca.wxgui import __VERSION__ -from frontend import PyHocaGUI -from messages import PyHoca_MessageWindow_Ok - -import defaults -import basepath - - -class PyHocaGUI_Launcher(object): - - def __init__(self): - self.PROG_NAME = os.path.basename(sys.argv[0]).replace('.exe', '') - self.PROG_PID = os.getpid() - self.VERSION=__VERSION__ - self.VERSION_TEXT=""" -%s[%s] - an X2Go GUI client written in Python ----------------------------------------------------------------------- -developed by Mike Gabriel -sponsored by Dick Kniep (2010-2014) - -VERSION: %s - -""" % (self.PROG_NAME, self.PROG_PID, self.VERSION) - - self.default_options = defaults.default_options - - def setup_progname(self, pname): - self.PROG_NAME = pname - - def setup_version(self, v): - self.VERSION = v - - def setup_version_text(self, text): - self.VERSION_TEXT = text - - def setup_process(self): - PROG_OPTIONS = " ".join(sys.argv[1:]).replace("=", " ").split() - try: - _broker_password_index = PROG_OPTIONS.index('--broker-password')+1 - PROG_OPTIONS[_broker_password_index] = "XXXXXXXX" - except ValueError: - # ignore if --broker-password option is not specified - pass - if X2GOCLIENT_OS in ('Linux', 'Mac'): - import setproctitle - #setproctitle.setproctitle("%s %s" % (self.PROG_NAME, " ".join(PROG_OPTIONS))) - setproctitle.setproctitle(self.PROG_NAME) - - if X2GOCLIENT_OS == 'Windows': - from pyhoca.wxgui.basepath import nxproxy_binary - os.environ.update({'NXPROXY_BINARY': nxproxy_binary, }) - - def modify_default_option(self, option, value): - if self.default_options.has_key(option): - if type(self.default_options[option]) == type(value): - self.default_options[option] = value - - def setup_devmode(self): - if sys.argv[0].startswith('./') or sys.argv[0].startswith('python'): - sys.path.insert(0, os.getcwd()) - os.environ['PYHOCAGUI_DEVELOPMENT'] = '1' - print '### {progname} running in development mode ###'.format(progname=self.PROG_NAME) - basepath.reload_base_paths() - - def check_running(self): - _executable = os.path.basename(sys.argv[0]) - - if X2GOCLIENT_OS in ('Linux', 'Mac'): - - p = subprocess.Popen(['ps', '-U', CURRENT_LOCAL_USER, '-u', CURRENT_LOCAL_USER], stdout=subprocess.PIPE) - psA_out = p.communicate() - if psA_out[0].count(_executable) <= 1: - - if os.path.isdir(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))): - shutil.rmtree(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))) - - my_pid = str(os.getpid()) - if not os.path.exists(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))): - os.makedirs(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))) - my_pidfile = os.path.expanduser("~/.x2go/{progname}/display.{pid}".format(progname=_executable, pid=my_pid)) - - my_display = os.environ['DISPLAY'] - open(my_pidfile, 'w').write(my_display) - - for pidfile in os.listdir(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))): - - # this is our own pid file... - if my_pidfile.endswith(pidfile): - continue - - display = open(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable)) + pidfile, 'r').read() - - if display.split('.')[0] == my_display.split('.')[0]: - other_pid = pidfile.split('.')[1] - print - print('One instance of {progname} (PID: {other_pid}) is already running for this $DISPLAY {display}'.format(progname=_executable, other_pid=other_pid, display=my_display)) - - return True - - return False - - elif X2GOCLIENT_OS == 'Windows': - import wmi - w = wmi.WMI() - _p = {} - for process in w.Win32_Process(): - if process.Name == _executable: - _p[process.ProcessId] = process.SessionId - return len([ _p_id for _p_id in _p.keys() if _p[self.PROG_PID] == _p[_p_id] ]) > 1 - - - def version(self): - # version information - - # print version text and exit - sys.stderr.write ("%s\n" % self.VERSION_TEXT) - self.remove_pidfile() - - sys.exit(0) - - - # sometimes we have to fail... - def runtime_error(self, m, parser=None, exitcode=-1): - """\ - STILL UNDOCUMENTED - """ - if parser is not None: - parser.print_usage() - sys.stderr.write ("%s: error: %s\n" % (self.PROG_NAME, m)) - - self.remove_pidfile() - sys.exit(exitcode) - - - def remove_pidfile(self): - - if X2GOCLIENT_OS in ('Linux', 'Mac'): - my_pid = str(os.getpid()) - if os.path.exists(os.path.expanduser("~/.x2go/pyhoca-gui/display.{pid}".format(pid=my_pid))): - os.remove(os.path.expanduser("~/.x2go/pyhoca-gui/display.{pid}".format(pid=my_pid))) - - - def parseargs(self): - - _profiles_backend_default = BACKENDS['X2GoSessionProfiles']['default'] - _settings_backend_default = BACKENDS['X2GoClientSettings']['default'] - _printing_backend_default = BACKENDS['X2GoClientPrinting']['default'] - - if X2GOCLIENT_OS == 'Windows': - from x2go import X2GoClientXConfig - _x = X2GoClientXConfig() - _known_xservers = _x.known_xservers - _installed_xservers = _x.installed_xservers - - if X2GOCLIENT_OS == 'Windows': - _config_backends = ('FILE', 'WINREG') - elif X2GOCLIENT_OS == 'Linux': - _config_backends = ('FILE', 'GCONF') - else: - _config_backends = ('FILE') - - _default_options = copy.deepcopy(self.default_options) - for key in _default_options.keys(): - if not _default_options[key]: - _default_options[key] = None - - # debug options... - debug_options = [ - {'args':['-d','--debug'], 'default': _default_options['debug'], 'action': 'store_true', 'help': 'enable application debugging code', }, - {'args':['--quiet'], 'default': _default_options['quiet'], 'action': 'store_true', 'help': 'disable any kind of log output', }, - {'args':['--libdebug'], 'default': _default_options['libdebug'], 'action': 'store_true', 'help': 'enable debugging code of the underlying Python X2Go module', }, - {'args':['--libdebug-sftpxfer'], 'default': _default_options['libdebug_sftpxfer'], 'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP server code (very verbose, and even promiscuous)', }, - {'args':['-V', '--version'], 'default': _default_options['version'], 'action': 'store_true', 'help': 'print version number and exit', }, - ] - x2go_gui_options = [ - {'args':['-P','--session-profile'], 'default': _default_options['session_profile'], 'metavar': '', 'help': 'directly connect to a session profile', }, - {'args':['--remember-username'], 'default': _default_options['remember_username'], 'action': 'store_true', 'help': 'for profiles with interactive authentication, remember the last-used username', }, - {'args':['--non-interactive'], 'default': _default_options['non_interactive'], 'action': 'store_true', 'help': 'run the session manager in non-interactive mode, this option sets the following options to true: --restricted-trayicon, --single_session_profile, --start-on-connect, --resume-all-on-connect, --exit-on-disconnect, --disconnect-on-suspend and --disconnect-on-terminate', }, - {'args':['--auto-connect'], 'default': _default_options['auto_connect'], 'action': 'store_true', 'help': 'connect sessions via SSH pubkey authentication if possible', }, - {'args':['--show-profile-metatypes'], 'default': _default_options['show_profile_metatypes'], 'action': 'store_true', 'help': 'show descriptive meta information on session profiles in menus (NOTE: this makes menus appear a bit more sluggish, use it mostly for debugging)', }, - {'args':['--single-session-profile'], 'default': _default_options['single_session_profile'], 'action': 'store_true', 'help': 'disable support of handling multiple session profiles', }, - {'args':['--tray-icon'], 'default': _default_options['tray_icon'], 'metavar': '', 'help': 'define an alternative system tray icon file (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, - {'args':['--tray-icon-connecting'], 'default': _default_options['tray_icon_connecting'], 'metavar': '', 'help': 'define an alternative system tray icon file while connecting to a server (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, - {'args':['--restricted-trayicon'], 'default': _default_options['restricted_trayicon'], 'action': 'store_true', 'help': 'restricts session manager\'s main icon functionality to information window and application exit; on left-click only a minimal session menu is shown', }, - {'args':['--add-to-known-hosts'], 'default': _default_options['add_to_known_hosts'], 'action': 'store_true', 'help': 'automatically add SSH host keys to the known_hosts files of the client-side user', }, - {'args':['--start-on-connect'], 'default': _default_options['start_on_connect'], 'action': 'store_true', 'help': 'This is now the hard-coded default. start a session directly after authentication if no session is currently running/suspended', }, - {'args':['--exit-on-disconnect'], 'default': _default_options['exit_on_disconnect'], 'action': 'store_true', 'help': 'exit the session manager after a server connection has died', }, - {'args':['--resume-newest-on-connect', '--resume-on-connect'], 'default': _default_options['resume_newest_on_connect'], 'action': 'store_true', 'help': 'This is now the hard-coded default. On connect auto-resume the newest suspended session', }, - {'args':['--resume-oldest-on-connect'], 'default': _default_options['resume_oldest_on_connect'], 'action': 'store_true', 'help': 'on connect auto-resume the oldest suspended session', }, - {'args':['--resume-all-on-connect'], 'default': _default_options['resume_all_on_connect'], 'action': 'store_true', 'help': 'auto-resume all suspended sessions on connect', }, - {'args':['--disconnect-on-suspend'], 'default': _default_options['disconnect_on_suspend'], 'action': 'store_true', 'help': 'disconnect a server if a session has been suspended', }, - {'args':['--disconnect-on-terminate'], 'default': _default_options['disconnect_on_terminate'], 'action': 'store_true', 'help': 'disconnect a server if a session has been terminated', }, - {'args':['--splash-image'], 'default': _default_options['splash_image'], 'metavar': '', 'help': 'define an alternative splash image that gets shown on application startup (PNG files only, full path or filename as found in /img)', }, - {'args':['--about-image'], 'default': _default_options['about_image'], 'metavar': '', 'help': 'define an alternative image for the application\'s ,,About\'\' window (PNG files only, full path or filename as found in /img)', }, - {'args':['--disable-splash'], 'default': _default_options['disable_splash'], 'action': 'store_true', 'help': 'disable the applications splash screen', }, - {'args':['--disable-options'], 'default': _default_options['disable_options'], 'action': 'store_true', 'help': 'disable the client options configuration window', }, - {'args':['--disable-printingprefs'], 'default': _default_options['disable_printingprefs'], 'action': 'store_true', 'help': 'disable the client\'s printing preferences window', }, - {'args':['--disable-profilemanager'], 'default': _default_options['disable_profilemanager'], 'action': 'store_true', 'help': 'disable the session profile manager window', }, - {'args':['--disable-notifications'], 'default': _default_options['disable_notifications'], 'action': 'store_true', 'help': 'disable all applet notifications', }, - {'args':['--display'], 'default': _default_options['display'], 'metavar': ':', 'help': 'set the DISPLAY environment variable to :', }, - {'args':['--logon-window-position'], 'default': _default_options['logon_window_position'], 'metavar': 'x', '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': _default_options['published_applications_no_submenus'], 'metavar': '', 'help': 'the number of published applications that will be rendered without submenus', }, - ] - - broker_options = [ - {'args':['-B','--broker-url'], 'default': _default_options['broker_url'], 'help': 'retrieve session profiles via an X2Go Session Broker under the given URL', }, - {'args':['--broker-password'], 'default': _default_options['broker_password'], 'help': 'password for authenticating against the X2Go Session Broker', }, - {'args':['--broker-name'], 'default': _default_options['broker_name'], 'help': 'tweak the wording of \'X2Go Session Broker\'', }, - {'args':['--broker-cacertfile'], 'default': _default_options['broker_cacertfile'], 'help': 'for https:// brokers with SSL certificates that have been signed against a self-signed root-CA, use this command line option to point to the self-signed root-CA certificate file', }, - {'args':['--broker-autoconnect'], 'default': _default_options['broker_autoconnect'], 'action': 'store_true', 'help': 'trigger broker authentication directly after application startup', }, - ] - - if X2GOCLIENT_OS == 'Windows': - x2go_gui_options.append( - {'args':['--lang'], 'default': _default_options['lang'], 'metavar': 'LANGUAGE', 'help': 'set the GUI language (currently available: en, de, nl, es)', }, - ) - - backend_options = [ - {'args':['--backend-controlsession'], 'default': _default_options['backend_controlsession'], 'metavar': '', 'choices': BACKENDS['X2GoControlSession'].keys(), 'help': 'force usage of a certain CONTROLSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-terminalsession'], 'default': _default_options['backend_terminalsession'], 'metavar': '', 'choices': BACKENDS['X2GoTerminalSession'].keys(), 'help': 'force usage of a certain TERMINALSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-serversessioninfo'], 'default': _default_options['backend_serversessioninfo'], 'metavar': '', 'choices': BACKENDS['X2GoServerSessionInfo'].keys(), 'help': 'force usage of a certain SERVERSESSIONINFO_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-serversessionlist'], 'default': _default_options['backend_serversessionlist'], 'metavar': '', 'choices': BACKENDS['X2GoServerSessionList'].keys(), 'help': 'force usage of a certain SERVERSESSIONLIST_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-proxy'], 'default': _default_options['backend_proxy'], 'metavar': '', 'choices': BACKENDS['X2GoProxy'].keys(), 'help': 'force usage of a certain PROXY_BACKEND (do not use this unless you know exactly what you are doing)', }, - {'args':['--backend-sessionprofiles'], 'default': _default_options['backend_sessionprofiles'], 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing session profiles, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _profiles_backend_default), }, - {'args':['--backend-clientsettings'], 'default': _default_options['backend_clientsettings'], 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing the client settings configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _settings_backend_default), }, - {'args':['--backend-clientprinting'], 'default': _default_options['backend_clientprinting'], 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing the client printing configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _printing_backend_default), }, - ] - - if X2GOCLIENT_OS == 'Windows': - contrib_options = [ - {'args':['--start-xserver'], 'default': _default_options['start_xserver'], 'action': 'store_true', 'help': 'start the XServer before starting the session manager application, detect best XServer automatically, if more than one XServer is installed on your system', }, - {'args':['-X', '--preferred-xserver'], 'default': _default_options['preferred_xserver'], 'metavar': '', 'choices': _known_xservers, 'help': 'start either of the currently supported XServers: %s -- make sure your preferred XServer is installed on your system' % _known_xservers, }, - {'args':['--start-pulseaudio'], 'default': _default_options['start_pulseaudio'], 'action': 'store_true', 'help': 'start the PulseAudio server before starting the session manager application', }, - ] - - portable_options = [ - {'args':['--client-rootdir'], 'default': _default_options['client_rootdir'], 'metavar': '', 'help': 'define an alternative location where to find plain text config files (default: /.x2goclient). This option will set ,,--backend-profiles FILE\'\', ,,--backend-clientsettings FILE\'\' and ,,--backend-clientprinting FILE\'\'', }, - {'args':['--sessions-rootdir'], 'default': _default_options['sessions_rootdir'], 'metavar': '', 'help': 'define an alternative location for session runtime files'}, - {'args':['--ssh-rootdir'], 'default': _default_options['ssh_rootdir'], 'metavar': '', 'help': 'define an alternative location for SSH files', }, - ] - - p = argparse.ArgumentParser(description='Graphical X2Go client implemented in (wx)Python.',\ - formatter_class=argparse.RawDescriptionHelpFormatter, \ - add_help=True, argument_default=None) - p_debugopts = p.add_argument_group('Debug options') - p_guiopts = p.add_argument_group('{progname} options'.format(progname=self.PROG_NAME)) - p_brokeropts = p.add_argument_group('Brokerage options') - p_portableopts = p.add_argument_group('Portable application support') - p_backendopts = p.add_argument_group('Python X2Go backend options (for experts only)') - - if X2GOCLIENT_OS == 'Windows': - p_contribopts = p.add_argument_group('XServer options (MS Windows only)') - p_portableopts = p.add_argument_group('File locations for portable setups (MS Windows only)') - _option_groups = ((p_guiopts, x2go_gui_options), (p_brokeropts, broker_options), (p_debugopts, debug_options), (p_contribopts, contrib_options), (p_portableopts, portable_options), (p_backendopts, backend_options), ) - else: - _option_groups = ((p_guiopts, x2go_gui_options), (p_brokeropts, broker_options), (p_debugopts, debug_options), (p_portableopts, portable_options), (p_backendopts, backend_options), ) - for (p_group, opts) in _option_groups: - for opt in opts: - - args = opt['args'] - del opt['args'] - p_group.add_argument(*args, **opt) - - a = p.parse_args() - - logger = X2GoLogger(tag=self.PROG_NAME) - liblogger = X2GoLogger() - - if a.debug: - logger.set_loglevel_debug() - - if a.libdebug: - liblogger.set_loglevel_debug() - - if a.quiet: - logger.set_loglevel_quiet() - liblogger.set_loglevel_quiet() - - if a.libdebug_sftpxfer: - liblogger.enable_debug_sftpxfer() - - if a.version: - self.version() - - if a.single_session_profile and a.session_profile is None: - self.runtime_error('The --single-session-profile option requires naming of a specific session profile!', parser=p) - - if a.non_interactive: - if a.session_profile is None: - self.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... - a.resume_all_on_connect = False - - if X2GOCLIENT_OS == 'Windows' and a.preferred_xserver: - if a.preferred_xserver not in _installed_xservers: - self.runtime_error('Xserver ,,%s\'\' is not installed on your Windows system' % a.preferred_xserver, parser=p) - a.start_xserver = a.preferred_xserver - - if X2GOCLIENT_OS == 'Windows' and a.start_xserver and a.display: - self.runtime_error('You can tell %s to handle XServer startup and then specify a DISPLAY environment variable!'.format(progname=self.PROG_NAME), parser=p) - - if a.display: - os.environ.update({'DISPLAY': a.display}) - else: - if X2GOCLIENT_OS == 'Windows' and not a.start_xserver: - os.environ.update({'DISPLAY': 'localhost:0'}) - - if a.client_rootdir: - a.client_rootdir = os.path.expanduser(a.client_rootdir) - - if a.sessions_rootdir: - a.sessions_rootdir = os.path.expanduser(a.sessions_rootdir) - - if a.ssh_rootdir: - a.ssh_rootdir = os.path.expanduser(a.ssh_rootdir) - - if a.client_rootdir: - a.backend_sessionprofiles='FILE' - a.backend_clientsettings='FILE' - a.backend_clientprinting='FILE' - - return a, logger, liblogger - - - def main(self, args, logger=None, liblogger=None): - if X2GOCLIENT_OS == 'Windows': - if args.lang: - lang = gettext.translation('PyHoca-GUI', localedir=basepath.locale_basepath, languages=[args.lang], ) - else: - lang = gettext.translation('PyHoca-GUI', localedir=basepath.locale_basepath, languages=['en'], ) - lang.install(unicode=True) - else: - gettext.install('PyHoca-GUI', localedir=basepath.locale_basepath, unicode=True) - - if self.check_running(): - sys.stderr.write("\n###############################\n### %s: already running for user %s\n###############################\n" % (self.PROG_NAME, CURRENT_LOCAL_USER)) - _dummy_app.appname = self.PROG_NAME - m = PyHoca_MessageWindow_Ok(_dummy_app, shortmsg='ALREADY_RUNNING', title=u'%s (%s)...' % (self.PROG_NAME, self.VERSION), icon='{progname}_trayicon'.format(progname=self.PROG_NAME)) - m.ShowModal() - self.version() - - thisPyHocaGUI = None - try: - thisPyHocaGUI = PyHocaGUI(args, logger, liblogger, appname=self.PROG_NAME, version=self.VERSION) - thisPyHocaGUI.MainLoop() - except KeyboardInterrupt: - if thisPyHocaGUI is not None: - thisPyHocaGUI.WakeUpIdle() - thisPyHocaGUI.ExitMainLoop() - except SystemExit: - if thisPyHocaGUI is not None: - thisPyHocaGUI.WakeUpIdle() - thisPyHocaGUI.ExitMainLoop() - - self.remove_pidfile() diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/listdesktops.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/listdesktops.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/listdesktops.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/listdesktops.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,9 +20,24 @@ modules ={} +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + # Python X2Go import x2go +# gevent +import gevent +import gevent.monkey +gevent.monkey.patch_all() + import wx import os @@ -39,7 +54,7 @@ Dialog box for selection from a list of sharable desktops. """ - def __init__(self, _PyHocaGUI, profile_name): + def __init__(self, _PyHocaGUI, profile_name): """\ Desktop list and selection dialog box (constructor). @@ -65,7 +80,7 @@ self.SetTitle(_(u'Share Desktop Session - %s') % profile_name) - self.titleLbl = wx.StaticText(self, wx.ID_ANY, _(u'Select one of the available desktop sessions on this server')+':', size=(-1, -1)) + self.titleLbl = wx.StaticText(self, wx.ID_ANY, _(u'Select one of the available desktop sessions on this server')+':', size=(-1, -1)) self.desktopList = wx.ListCtrl(self, size=(420,140), style=wx.LC_REPORT|wx.BORDER_SUNKEN|wx.LC_SINGLE_SEL) self.desktopList.InsertColumn(0, 'Display') @@ -101,13 +116,13 @@ modeSizer.Add(self.shareMode0, 0, wx.ALL, 5) modeSizer.Add(self.shareMode1, 0, wx.ALL, 5) - btnSizer.Add(self.okBtn, 0, wx.ALL, 5) - btnSizer.Add(self.refreshBtn, 0, wx.ALL, 5) - btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) - - mainSizer.Add(titleSizer, 0, wx.ALL, 5) - mainSizer.Add(listSizer, 0, wx.ALL|wx.EXPAND, 5) - mainSizer.Add(modeSizer, 0, wx.ALL, 5) + btnSizer.Add(self.okBtn, 0, wx.ALL, 5) + btnSizer.Add(self.refreshBtn, 0, wx.ALL, 5) + btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) + + mainSizer.Add(titleSizer, 0, wx.ALL, 5) + mainSizer.Add(listSizer, 0, wx.ALL|wx.EXPAND, 5) + mainSizer.Add(modeSizer, 0, wx.ALL, 5) mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5) self.SetSizerAndFit(mainSizer) diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/logon.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/logon.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/logon.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/logon.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,11 +20,23 @@ modules ={} +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + # Python X2Go import x2go # gevent import gevent +import gevent.monkey +gevent.monkey.patch_all() import wx import os @@ -42,7 +54,7 @@ Logon window for L{PyHocaGUI}. """ - def __init__(self, _PyHocaGUI, profile_name, caller=None, passphrase=None, sshproxy_passphrase=None, sshproxy_auth=False, twofactor_auth=False, sshproxy_twofactor_auth=False): + def __init__(self, _PyHocaGUI, profile_name, caller=None, passphrase=None, sshproxy_passphrase=None, sshproxy_auth=False, twofactor_auth=False, sshproxy_twofactor_auth=False): """\ Logon window (constructor) @@ -61,7 +73,6 @@ """ self._PyHocaGUI = _PyHocaGUI - self._PyHocaGUI.gevent_sleep_when_idle = 0.1 self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('password dialog box started', loglevel=x2go.loglevel_INFO, ) @@ -84,22 +95,22 @@ self.passphrase = passphrase self.sshproxy_passphrase = sshproxy_passphrase - self.userLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) - self.userTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) - self.passwordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) - self.passwordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) + self.userLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) + self.userTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) + self.passwordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) + self.passwordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) self.passwordTxt.SetFocus() self.loginBtn = wx.Button(self, wx.ID_OK, _(u'Authenticate'), ) self.loginBtn.SetDefault() _tab_order = [] - # widgets + # widgets if self.sshproxy_auth: - self.sshProxyUserLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) - self.sshProxyUserTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) - self.sshProxyPasswordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) - self.sshProxyPasswordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) + self.sshProxyUserLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) + self.sshProxyUserTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) + self.sshProxyPasswordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) + self.sshProxyPasswordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) self.sshProxyPasswordTxt.SetFocus() self.sshProxyLoginBtn = wx.Button(self, wx.ID_OK, ' '+_(u'Start SSH tunnel')+' ') self.sshProxyLoginBtn.SetDefault() @@ -140,7 +151,7 @@ credSizer = wx.GridBagSizer(hgap=2, vgap=2) mainSizer = wx.BoxSizer(wx.VERTICAL) - # sizer / layout + # sizer / layout if self.sshproxy_auth: credSizer = wx.GridBagSizer(hgap=4, vgap=2) @@ -151,37 +162,37 @@ credSizer.Add(self.sshProxyUserLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.sshProxyUserTxt, pos=(1,1), flag=wx.ALL, border=5) - credSizer.Add(self.userLbl, pos=(1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) - credSizer.Add(self.userTxt, pos=(1,3), flag=wx.ALL, border=5) + credSizer.Add(self.userLbl, pos=(1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) + credSizer.Add(self.userTxt, pos=(1,3), flag=wx.ALL, border=5) else: - credSizer.Add(self.userLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) - credSizer.Add(self.userTxt, pos=(0,1), flag=wx.ALL, border=5) + credSizer.Add(self.userLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) + credSizer.Add(self.userTxt, pos=(0,1), flag=wx.ALL, border=5) if self.sshproxy_auth: credSizer.Add(self.sshProxyPasswordLbl, pos=(2,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.sshProxyPasswordTxt, pos=(2,1), flag=wx.ALL, border=5) - credSizer.Add(self.passwordLbl, pos=(2,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) + credSizer.Add(self.passwordLbl, pos=(2,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.passwordTxt, pos=(2,3), flag=wx.ALL, border=5) else: - credSizer.Add(self.passwordLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) + credSizer.Add(self.passwordLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.passwordTxt, pos=(1,1), flag=wx.ALL, border=5) if self.sshproxy_auth: btnSizer.Add(self.sshProxyLoginBtn, 0, wx.ALL, 5) - btnSizer.Add(self.loginBtn, 0, wx.ALL, 5) - btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) + btnSizer.Add(self.loginBtn, 0, wx.ALL, 5) + btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) - mainSizer.Add(credSizer, 0, wx.ALL, 5) + mainSizer.Add(credSizer, 0, wx.ALL, 5) mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5) if self.current_profile_config.has_key('user'): self.userTxt.SetValue(self.current_profile_config['user']) - if not self.current_profile_config['user'] and not self.sshproxy_auth: - self.userTxt.SetFocus() + else: + self.userTxt.SetValue(self._PyHocaGUI.args.username) if self.sshproxy_auth: @@ -192,10 +203,10 @@ if self.current_profile_config.has_key('sshproxysameuser') and self.current_profile_config['sshproxysameuser']: self.sshProxyUserTxt.SetValue(self.current_profile_config['user']) - # Logged in variable + # Logged in variable self.loggedIn = False - self.SetSizerAndFit(mainSizer) + self.SetSizerAndFit(mainSizer) self.Layout() for i in xrange(len(_tab_order) - 1): @@ -274,7 +285,7 @@ force_password_auth = False sshproxy_force_password_auth = True else: - force_password_auth = True + force_password_auth = True sshproxy_force_password_auth = True wx.BeginBusyCursor() @@ -298,7 +309,7 @@ icon='auth_error') self._PyHocaGUI.OnServerDisconnect(evt) else: - self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, + self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - connect') % self.current_profile_name, text=_(u'Authentication has been successful.'), icon='auth_success') @@ -345,8 +356,8 @@ self.sshProxyLoginBtn.SetLabel(_(u'SSH tunnel started')) return else: - self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, - title=_(u'%s - connect failure') % self.current_profile_name, + self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, + title=_(u'%s - connect failure') % self.current_profile_name, text=_(u'Authentication failed!'), icon='auth_failed') connect_failed = True @@ -355,7 +366,7 @@ try: wx.EndBusyCursor() except: pass self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, - title=_(u'%s - SSH proxy') % self.current_profile_name, + title=_(u'%s - SSH proxy') % self.current_profile_name, text=_(u'Authentication to the SSH proxy server failed!'), icon='auth_failed') @@ -375,24 +386,24 @@ connect_failed = True #except gevent.dns.DNSError, e: - # self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, - # title=_(u'%s - DNS error') % self.current_profile_name, + # self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, + # title=_(u'%s - DNS error') % self.current_profile_name, # text=e.strerror + '!', # icon='auth_error') # connect_failed = True except gevent.socket.error, e: - self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, - title=_(u'%s - socket error') % self.current_profile_name, + self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, + title=_(u'%s - socket error') % self.current_profile_name, text=e.strerror + '!', icon='auth_error') connect_failed = True except x2go.X2GoHostKeyException, e: - self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, - title=_(u'%s - host key error') % self.current_profile_name, + self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, + title=_(u'%s - host key error') % self.current_profile_name, text=_(u'The remote server\'s host key is invalid or has not been accepted by the user') + '!', - icon='auth_error', + icon='auth_error', timeout=4000) connect_failed = True @@ -460,8 +471,8 @@ connect_failed = True except: - self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, - title=_(u'%s - unknown error') % self.current_profile_name, + self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, + title=_(u'%s - unknown error') % self.current_profile_name, text=_(u'An unknown error occured during authentication!'), icon='auth_error') connect_failed = True @@ -503,7 +514,6 @@ Tidy up some stuff in the main application instance when the logon window gets destroyed. """ - self._PyHocaGUI.gevent_sleep_when_idle = 0.25 try: self._PyHocaGUI._sub_windows.remove(self) except ValueError: diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/menus_taskbar.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/menus_taskbar.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/menus_taskbar.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/menus_taskbar.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -18,8 +18,19 @@ # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + import os.path import wx +import re import StringIO import base64 @@ -27,6 +38,7 @@ import x2go.x2go_exceptions import basepath +_icons_location = basepath.icons_basepath class PyHocaGUI_Menu_TaskbarManageProfile(wx.Menu): """\ @@ -61,27 +73,18 @@ self._PyHocaGUI._eventid_profilenames_map[ID_EXPORTPROFILE] = \ self._PyHocaGUI._eventid_profilenames_map[ID_DELETEPROFILE] = profile_name - if self._PyHocaGUI.session_profiles.is_mutable(profile_name): - self.Append(text=_(u"Edit Profile"), id=ID_EDITPROFILE) - else: - self.Append(text=_(u"View Profile"), id=ID_EDITPROFILE) - self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileEdit, id=ID_EDITPROFILE) - + self.Append(text=_(u"Edit Profile"), id=ID_EDITPROFILE) if not self._PyHocaGUI.args.single_session_profile: - self.AppendSeparator() - - if self._PyHocaGUI.session_profiles.is_mutable(profile_name): - self.Append(text=_(u"Use as Template for New Profile"), id=ID_COPYPROFILE) - self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileCopy, id=ID_COPYPROFILE) - self.AppendSeparator() - + self.Append(text=_(u"Use as Template for New Profile"), id=ID_COPYPROFILE) + self.AppendSeparator() self.Append(text=_(u"Export Profile"), id=ID_EXPORTPROFILE) - self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileExport, id=ID_EXPORTPROFILE) + self.Append(text=_(u"Delete Profile"), id=ID_DELETEPROFILE) - if self._PyHocaGUI.session_profiles.is_mutable(profile_name): - self.Append(text=_(u"Delete Profile"), id=ID_DELETEPROFILE) - self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileDelete, id=ID_DELETEPROFILE) + self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileEdit, id=ID_EDITPROFILE) + self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileCopy, id=ID_COPYPROFILE) + self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileExport, id=ID_EXPORTPROFILE) + self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileDelete, id=ID_DELETEPROFILE) class PyHocaGUI_Menu_TaskbarOptionsManager(wx.Menu): @@ -118,8 +121,8 @@ if not self._PyHocaGUI.args.single_session_profile: ID_PROFILEMANAGER = wx.NewId() - _maintain_profiles_item = self.AppendMenu(id=ID_PROFILEMANAGER, - text=_(u"Profile Manager"), + _maintain_profiles_item = self.AppendMenu(id=ID_PROFILEMANAGER, + text=_(u"Profile Manager"), submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, caller=self, filter_profiles=[], @@ -131,9 +134,7 @@ if self._PyHocaGUI.profilemanager_disabled: _maintain_profiles_item.Enable(False) - self.AppendSeparator() - - elif self._PyHocaGUI.session_profiles.has_profile_name(self._PyHocaGUI.args.session_profile): + else: ID_SINGLEPROFILEMANAGER = wx.NewId() _maintain_profile_item = self.AppendMenu(id=ID_SINGLEPROFILEMANAGER, text=_(u'Manage Session Profile'), @@ -141,21 +142,14 @@ ) if self._PyHocaGUI.args.session_profile in self._PyHocaGUI.client_connected_profiles(return_profile_names=True): _maintain_profile_item.Enable(False) - self.AppendSeparator() - if self._PyHocaGUI.with_brokerage and self._PyHocaGUI.session_profiles.is_broker_authenticated(): - ID_BROKER_DISCONNECT = wx.NewId() - self.Append(id=ID_BROKER_DISCONNECT, text=_(u"Disconnect from session broker")) - self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnBrokerDisconnect, id=ID_BROKER_DISCONNECT) self.AppendSeparator() - ID_PRINTINGPREFS = wx.NewId() - _printingprefs_item = self.Append(id=ID_PRINTINGPREFS, text=_(u"Printing Preferences")) - self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPrintingPreferences, id=ID_PRINTINGPREFS) - if self._PyHocaGUI.printingprefs_disabled: - _printingprefs_item.Enable(False) - - if not self._PyHocaGUI.restricted_trayicon: + ID_PRINTINGPREFS = wx.NewId() + _printingprefs_item = self.Append(id=ID_PRINTINGPREFS, text=_(u"Printing Preferences")) + self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPrintingPreferences, id=ID_PRINTINGPREFS) + if self._PyHocaGUI.printingprefs_disabled: + _printingprefs_item.Enable(False) ID_OPTIONS = wx.NewId() _options_item = self.Append(id=ID_OPTIONS, text=_(u"Client Options")) @@ -249,7 +243,7 @@ _rs = self.Append(text=_(u"Resume Session (not possible)"), id=ID_RESUMESESSION_DISABLED) _rs.Enable(False) - if session_info is not None and session_info.is_published_applications_provider() and not self._PyHocaGUI.get_profile_config(profile_name, 'published'): + if session_info is not None and session_info.is_published_applications_provider() and not self._PyHocaGUI.get_profile_config(profile_name)['published']: _rs.Enable(False) elif _session_status == 'R': @@ -263,14 +257,14 @@ _ts.Enable(False) if not _s.is_shadow_session(): - if self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.exit_on_disconnect and _s.has_terminal_session(): + if self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.exit_on_disconnect and _s.has_terminal_session(): _ss = self.Append(text=_(u"Suspend Session (and disconnect/exit)"), id=ID_SUSPENDSESSION) elif self._PyHocaGUI.disconnect_on_suspend and _s.has_terminal_session(): _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'): + if _s.is_published_applications_provider() and not self._PyHocaGUI.get_profile_config(profile_name)['published']: _ss.Enable(False) if not _s.is_shadow_session(): if self._PyHocaGUI.disconnect_on_terminate and self._PyHocaGUI.exit_on_disconnect and _s.has_terminal_session(): @@ -287,7 +281,7 @@ else: self.Append(text=_(u"End Desktop Sharing"), id=ID_TERMINATESESSION) - if _s is not None and _s.is_published_applications_provider() and self._PyHocaGUI.get_profile_config(profile_name, 'published'): + if _s is not None and _s.is_published_applications_provider() and self._PyHocaGUI.get_profile_config(profile_name)['published']: self.AppendSeparator() self.Append(text=_(u"Refresh menu tree"), id=ID_REFRESHMENU) @@ -351,7 +345,6 @@ _sharable_folders = _exported_folders.keys() _unshared_folders = [ f for f in _sharable_folders if f and f not in _shared_folders ] - self._PyHocaGUI._eventid_unshared_folders_map = {} if _unshared_folders: self.Append(id=wx.NewId(), text=_(u'Share:')) for _unshared_folder in _unshared_folders: @@ -361,7 +354,6 @@ self._PyHocaGUI._eventid_unshared_folders_map[ID_THISFOLDER] = _unshared_folder self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShareLocalFolder, id=ID_THISFOLDER) - self._PyHocaGUI._eventid_shared_folders_map = {} if _shared_folders: self.Append(id=wx.NewId(), text=_(u'Unshare:')) for _shared_folder in _shared_folders: @@ -409,14 +401,16 @@ 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'), + 'OFFICE': _(u'Office'), + 'TERMINAL': _(u'Terminal'), } - for application in self._PyHocaGUI.get_profile_config(profile_name, 'applications'): + for application in current_profile_config['applications']: _app_id = wx.NewId() self._PyHocaGUI._eventid_profilenames_map[_app_id] = profile_name @@ -456,7 +450,6 @@ else: _icon_size = "22x22" - _icons_location = basepath.icons_basepath _category_name_translator = { 'Multimedia': (_(u'Multimedia'), os.path.normpath('%s/PyHoca/%s/applications-multimedia.png' % (_icons_location, _icon_size), ), ), 'Development': (_(u'Development'), os.path.normpath('%s/PyHoca/%s/applications-development.png' % (_icons_location, _icon_size), ), ), @@ -473,7 +466,6 @@ _PyHocaGUI._eventid_pubapp_execmap[profile_name] = {} - nolog = wx.LogNull() _wx_menu_map = {} if menu_map[_lang].keys(): for cat in menu_map[_lang].keys(): @@ -492,17 +484,17 @@ _menu_item.SetBitmap(wx.Bitmap(os.path.normpath('%s/PyHoca/%s/x2go-logo-grey.png' % (_icons_location, _icon_size)))) else: _menu_entry_icon_decoded = base64.b64decode(_item['icon']) - _icon_image = wx.ImageFromStream(StringIO.StringIO(_menu_entry_icon_decoded)) - if x2go.defaults.X2GOCLIENT_OS == 'Windows': - _icon_bitmap = wx.BitmapFromImage(_icon_image.Scale(16,16)) - else: - _icon_bitmap = wx.BitmapFromImage(_icon_image.Scale(22,22)) - _menu_item.SetBitmap(_icon_bitmap) + if not re.match('^<\?(xml|XML).*version=.*encoding=.*standalone=.*\?>.*', _menu_entry_icon_decoded.split('\n')[0]): + _icon_image = wx.ImageFromStream(StringIO.StringIO(_menu_entry_icon_decoded)) + if x2go.defaults.X2GOCLIENT_OS == 'Windows': + _icon_bitmap = wx.BitmapFromImage(_icon_image.Scale(16,16)) + 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) _PyHocaGUI.Bind(wx.EVT_MENU, _PyHocaGUI.OnPubAppExecution, id=_pubapp_id) - del nolog return _wx_menu_map @@ -528,7 +520,6 @@ wx.Menu.__init__(self) - ID_AUTHENTICATE_BROKER=wx.NewId() ID_CONNECT=wx.NewId() ID_PUBAPPSESSIONSTART=wx.NewId() ID_SESSIONSTART=wx.NewId() @@ -541,19 +532,11 @@ _foldersharing_disabled = False - if self._PyHocaGUI.with_brokerage and not self._PyHocaGUI.session_profiles.is_broker_authenticated(): - _auth_menu_text = _(u'Connect to') + self._PyHocaGUI.broker_name - self.Append(id=ID_AUTHENTICATE_BROKER, text=_auth_menu_text) - self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnBrokerAuthenticate, id=ID_AUTHENTICATE_BROKER) - - elif self._PyHocaGUI.args.single_session_profile and not self._PyHocaGUI.is_session_profile(profile_name): + if self._PyHocaGUI.args.single_session_profile and not self._PyHocaGUI.is_session_profile(profile_name): connect = self.Append(id=ID_CONNECT, text=_(u'Connect %s') % profile_name) connect.Enable(False) else: - _applications = self._PyHocaGUI.get_profile_config(profile_name, 'applications') - _command = self._PyHocaGUI.get_profile_config(profile_name, 'command') - _published = self._PyHocaGUI.get_profile_config(profile_name, 'published') - _useexports = self._PyHocaGUI.get_profile_config(profile_name, 'useexports') + current_profile_config = self._PyHocaGUI.get_profile_config(profile_name) if profile_name in self._PyHocaGUI._temp_disabled_profile_names: _connecting_info = self.Append(wx.NewId(), text=_(u'Currently connecting...')) @@ -570,15 +553,15 @@ self._PyHocaGUI._eventid_profilenames_map[ID_SESSIONSTART] = \ self._PyHocaGUI._eventid_profilenames_map[ID_SHADOWSESSIONSTART] = profile_name - if _command in x2go.defaults.X2GO_DESKTOPSESSIONS: - self.Append(id=ID_SESSIONSTART, text='%s (%s)' % (_(u"Start &new Desktop Session"), _command)) + if current_profile_config['command'] in x2go.defaults.X2GO_DESKTOPSESSIONS: + 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 _command == 'SHADOW': - self.Append(id=ID_SHADOWSESSIONSTART, text=_(u"Start Desktop Sharing Session")) + elif current_profile_config['command'] == 'SHADOW': + start_shadow_session = self.Append(id=ID_SHADOWSESSIONSTART, text=_(u"Start Desktop Sharing Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShadowSessionStart, id=ID_SHADOWSESSIONSTART) - elif _command == '' and _published: + 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...")) @@ -587,14 +570,14 @@ 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) - elif _command == 'RDP': + elif current_profile_config['command'] == 'RDP': self.Append(id=ID_SESSIONSTART, text=_(u"Start &new RDP Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART) else: self.Append(id=ID_SESSIONSTART, text=_(u"Start &new Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART) - if _command == '' and _published: + if current_profile_config['command'] == '' and current_profile_config['published']: _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: @@ -669,16 +652,16 @@ self._PyHocaGUI._eventid_profilenames_map[ID_LAUNCHAPPLICATION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_CLEANSESSIONS] = profile_name - if _applications and _command in x2go.defaults.X2GO_DESKTOPSESSIONS.keys() and not _published: + if current_profile_config['applications'] and current_profile_config['command'] in x2go.defaults.X2GO_DESKTOPSESSIONS.keys() and not current_profile_config['published']: self.AppendSeparator() self.AppendMenu(id=ID_LAUNCHAPPLICATION, text=_(u"Launch Single Application"), submenu=PyHocaGUI_Menu_LaunchSingleApplication(self._PyHocaGUI, caller=self, profile_name=profile_name) ) - if _command != 'SHADOW' and not self._PyHocaGUI.restricted_trayicon: + if current_profile_config['command'] != 'SHADOW' and not self._PyHocaGUI.restricted_trayicon: self.Append(id=ID_SHADOWSESSIONSTART, text=_(u"Start Desktop Sharing Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShadowSessionStart, id=ID_SHADOWSESSIONSTART) - if _published: + if current_profile_config['published']: if not self._PyHocaGUI.restricted_trayicon: self.AppendSeparator() @@ -738,7 +721,7 @@ if _session_list: # newest sessions at the top - if _published: + if current_profile_config['published']: _session_list_names = [ _s_name for _s_name in _session_list.keys() if not _session_list[_s_name].is_published_applications_provider() ] else: _session_list_names = _session_list.keys() @@ -794,17 +777,14 @@ if not self._PyHocaGUI.restricted_trayicon: self.AppendSeparator() - if self._PyHocaGUI.session_profiles.is_mutable(profile_name): - self.Append(id=ID_EDITPROFILEWHILECONNECTED, text=_(u"Customize &profile")) - else: - self.Append(id=ID_EDITPROFILEWHILECONNECTED, text=_(u"View &profile")) + self.Append(id=ID_EDITPROFILEWHILECONNECTED, text=_(u"Customize &profile")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileEditWhileConnected, id=ID_EDITPROFILEWHILECONNECTED) self._PyHocaGUI._eventid_profilenames_map[ID_EDITPROFILEWHILECONNECTED] = \ self._PyHocaGUI._eventid_profilenames_map[ID_SHARELOCALFOLDER] = \ self._PyHocaGUI._eventid_profilenames_map[ID_UNSHAREFOLDERS] = profile_name - if _useexports and \ + if current_profile_config['useexports'] and \ self._PyHocaGUI._X2GoClient__profile_is_folder_sharing_available(profile_name=profile_name) and \ self._PyHocaGUI.get_master_session(profile_name) is not None and \ self._PyHocaGUI.is_session_name_enabled(profile_name, self._PyHocaGUI.get_master_session(profile_name).get_session_name()): @@ -858,7 +838,7 @@ will be rendered in a tree-like fashion. """ - def __init__(self, _PyHocaGUI, caller=None, + def __init__(self, _PyHocaGUI, caller=None, sub_profile_items=[], filter_profiles=[], disabled_profiles=[], bind_method=None, submenu=None, @@ -894,7 +874,7 @@ wx.Menu.__init__(self) - if type(caller) == PyHocaGUI_Menu_TaskbarOptionsManager and self._PyHocaGUI.session_profiles.supports_mutable_profiles(): + if type(caller) == PyHocaGUI_Menu_TaskbarOptionsManager: ID_ADDPROFILE = wx.NewId() self.Append(id=ID_ADDPROFILE, text=_(u"Add Profile")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileAdd, id=ID_ADDPROFILE) @@ -916,7 +896,7 @@ 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: + if not _group_name in _profile_groups: _profile_groups.append(_group_name) _profile_groups.sort() @@ -930,7 +910,7 @@ _this_id = wx.NewId() self.AppendMenu(text=profile_group, id=_this_id, - submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, + submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, caller=self, sub_profile_items=_sub_profile_items, filter_profiles=[], @@ -972,10 +952,7 @@ self._PyHocaGUI.Bind(wx.EVT_UPDATE_UI, self.OnUpdateUI, id=_this_id) if not group_name and (not _profile_groups and not _profile_names) and not filter_profiles: - if self._PyHocaGUI.with_brokerage: - _dummy = self.Append(text=_(u'Session broker is not connected'), id=wx.NewId()) - else: - _dummy = self.Append(text=_(u'No session profiles defined'), id=wx.NewId()) + _dummy = self.Append(text=_(u'No session profiles defined'), id=wx.NewId()) _dummy.Enable(False) else: @@ -991,7 +968,7 @@ self.Append(text=_(u'Export Profile Group'), id=_export_id) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileExport, id=_export_id) - if bind_method is None and not group_name and self._PyHocaGUI.session_profiles.supports_mutable_profiles(): + if bind_method is None and not group_name: _import_id = wx.NewId() self.AppendSeparator() self.Append(text=_(u'Import Session Profiles'), id=_import_id) @@ -1027,25 +1004,18 @@ wx.Menu.__init__(self) - ID_AUTHENTICATE_SESSION = wx.NewId() - ID_AUTHENTICATE_BROKER = wx.NewId() + ID_AUTHENTICATE = wx.NewId() ID_EXIT = wx.NewId() - if self._PyHocaGUI.with_brokerage and not self._PyHocaGUI.session_profiles.is_broker_authenticated(): - _auth_menu_text = _(u'Connect to') + ' ' + self._PyHocaGUI.broker_name - self.Append(id=ID_AUTHENTICATE_BROKER, text=_auth_menu_text) - self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnBrokerAuthenticate, id=ID_AUTHENTICATE_BROKER) - self.AppendSeparator() - else: - _auth_menu_text = _(u'Connect Server') - self.AppendMenu(id=ID_AUTHENTICATE_SESSION, - text=_auth_menu_text, - submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, - caller=self, - filter_profiles=[], - disabled_profiles=self._PyHocaGUI.client_connected_profiles(return_profile_names=True) + self._PyHocaGUI._temp_disabled_profile_names, - bind_method=self._PyHocaGUI.OnSessionAuthenticate)) - self.AppendSeparator() + _auth_menu_text = _(u'Connect Server') + self.AppendMenu(id=ID_AUTHENTICATE, + text=_auth_menu_text, + submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, + caller=self, + filter_profiles=[], + disabled_profiles=self._PyHocaGUI.client_connected_profiles(return_profile_names=True) + self._PyHocaGUI._temp_disabled_profile_names, + bind_method=self._PyHocaGUI.OnSessionAuthenticate)) + self.AppendSeparator() _profile_names = self._PyHocaGUI.session_profiles.profile_names _profile_names.sort() diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/messages.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/messages.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/messages.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/messages.py 2015-09-23 07:21:47.000000000 +0000 @@ -30,12 +30,14 @@ # X2Go modules from x2go.defaults import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER +_icons_location = basepath.icons_basepath + class PyHoca_MessageWindow(wx.Dialog): """\ A simple message window for L{PyHocaGUI}. """ - def __init__(self, _PyHocaGUI, parent=None, title=None, shortmsg=None, msg=None, icon=None, buttontype='ok', + def __init__(self, _PyHocaGUI, parent=None, title=None, shortmsg=None, msg=None, icon=None, buttontype='ok', profile_name=None, session_name=None): """\ @@ -66,9 +68,9 @@ try: wx.EndBusyCursor() except: pass - self._pyhoca_messages = { + self._pyhoca_messages = { 'REALLY_DELETE_PROFILE': _(u'Are you really sure you want to\ndelete the session profile ,,%s\'\'?') % profile_name, - 'ALREADY_RUNNING': _(u'{appname} is already running for user ,,{username}\'\'!\n\nOnly one instance of {appname} can be started per\nuser. The {appname} icon can be found in your desktop\'s\nnotification area/systray.').format(appname=self._PyHocaGUI.appname, username=_CURRENT_LOCAL_USER) + 'ALREADY_RUNNING': _(u'PyHoca-GUI is already running for user ,,%s\'\'!\n\nOnly one instance of PyHoca-GUI can be started per\nuser. The PyHoca-GUI icon can be found in your desktops\'s\nnotification area/systray.') % _CURRENT_LOCAL_USER } @@ -91,15 +93,10 @@ wx.Dialog.__init__(self, parent, wx.ID_ANY, ) self.SetTitle('%s' % title) - _icons_location = basepath.icons_basepath - icon_folder = 'PyHoca' - if os.path.isdir(os.path.join(_icons_location, _PyHocaGUI.appname)): - icon_folder = _PyHocaGUI.appname - if icon: - path_to_icon = os.path.normpath('%s/%s/64x64/%s.png' % (_icons_location, icon_folder, icon)) + path_to_icon = os.path.normpath('%s/PyHoca/64x64/%s.png' % (_icons_location, icon)) self.icon = wx.StaticBitmap(self, wx.ID_ANY, wx.Bitmap(path_to_icon, wx.BITMAP_TYPE_ANY)) - self.message = wx.StaticText(self, wx.ID_ANY, self.show_message, size=(-1, -1), style=wx.ALIGN_LEFT) + self.message = wx.StaticText(self, wx.ID_ANY, self.show_message, size=(-1, -1), style=wx.ALIGN_LEFT) btnSizer = wx.BoxSizer(wx.HORIZONTAL) msgSizer = wx.BoxSizer(wx.HORIZONTAL) @@ -112,8 +109,8 @@ self.Bind(wx.EVT_BUTTON, self.OnTrue, self.yesBtn) self.Bind(wx.EVT_BUTTON, self.OnFalse, self.noBtn) - btnSizer.Add(self.yesBtn, flag=wx.ALL, border=5) - btnSizer.Add(self.noBtn, flag=wx.ALL, border=5) + btnSizer.Add(self.yesBtn, flag=wx.ALL, border=5) + btnSizer.Add(self.noBtn, flag=wx.ALL, border=5) if buttontype == 'yesno': self.yesBtn.SetDefault() @@ -126,13 +123,13 @@ self.okBtn = wx.Button(self, wx.ID_ANY, _(u'Ok'),) self.Bind(wx.EVT_BUTTON, self.OnTrue, self.okBtn) - btnSizer.Add(self.okBtn, flag=wx.ALL, border=5) + btnSizer.Add(self.okBtn, flag=wx.ALL, border=5) if buttontype in ('okcancel', 'cancelok'): self.cancelBtn = wx.Button(self, wx.ID_ANY, _(u'Cancel')) self.Bind(wx.EVT_BUTTON, self.OnFalse, self.cancelBtn) - btnSizer.Add(self.cancelBtn, flag=wx.ALL, border=5) + btnSizer.Add(self.cancelBtn, flag=wx.ALL, borde=5) if buttontype in ('ok', 'okcancel'): self.okBtn.SetDefault() @@ -148,7 +145,7 @@ mainSizer.Add(msgSizer, flag=wx.ALL, border=10) mainSizer.Add(btnSizer, flag=wx.ALL|wx.ALIGN_RIGHT, border=5) - self.SetSizerAndFit(mainSizer) + self.SetSizerAndFit(mainSizer) self.Layout() maxX, maxY = wx.GetDisplaySize() diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/mswin_logging.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/mswin_logging.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/mswin_logging.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/mswin_logging.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep -# -# PyHoca GUI is free software; you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# PyHoca GUI is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program; if not, write to the -# Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. - -import sys -import os - -def setup_mswinlog(PROG_NAME): - if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): - class MSWin_Logging(object): - - softspace = 0 - _fname = os.path.normpath(os.path.join(os.environ['AppData'], PROG_NAME, '%s.%s.log' % (PROG_NAME, os.getpid()))) - _file = None - - def __init__(self, filemode='a'): - try: - os.mkdir(os.path.dirname(self._fname)) - except: - pass - self._filemode = filemode - if self._filemode == "w+": - for _file in os.listdir(os.path.dirname(self._fname)): - try: - os.remove(os.path.join(os.path.dirname(self._fname), _file)) - except WindowsError: - pass - - def write(self, text, **kwargs): - if self._file is None: - try: - try: - os.mkdir(os.path.dirname(self._fname)) - except: - pass - self._file = open(self._fname, self._filemode) - except: - pass - else: - self._file.write(text) - self._file.flush() - - def flush(self): - if self._file is not None: - self._file.flush() - - sys.stdout = MSWin_Logging(filemode='w+') - sys.stderr = MSWin_Logging(filemode='a') - del MSWin_Logging diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/notify.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/notify.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/notify.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/notify.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -25,9 +25,12 @@ import pynotify import exceptions import basepath +from taskbar import MakeIcon import x2go.utils as utils +_icons_location = basepath.icons_basepath + class NotSupportedException(exceptions.StandardError): pass class PyHocaNotificationException(exceptions.StandardError): pass @@ -123,7 +126,6 @@ except KeyError: pass - _icons_location = basepath.icons_basepath if icon: icon = 'file://%s/PyHoca/32x32/%s.png' % (_icons_location, icon) @@ -433,7 +435,7 @@ _notification_msg.SetFlags(icon) _notification_msg.Show(timeout=timeout) except: - # if we are running wxPython 2.8, we ignore missing + # if we are running wxPython 2.8, we ignore missing # wx.NotificationMessage class pass diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/passphrase.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/passphrase.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/passphrase.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/passphrase.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,6 +20,16 @@ modules ={} +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + # Python X2Go import x2go @@ -58,7 +68,6 @@ """ self._PyHocaGUI = _PyHocaGUI - self._PyHocaGUI.gevent_sleep_when_idle = 0.1 self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('SSH key passphrase dialog box started', loglevel=x2go.loglevel_INFO, ) @@ -82,8 +91,8 @@ else: keyfilenameLbl = wx.StaticText(self, wx.ID_ANY, _(u'Unlock auto-discovered SSH private key...')) - self.passphraseLbl = wx.StaticText(self, wx.ID_ANY, _(u'Passphrase')+':', size=(-1, -1)) - self.passphraseTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) + self.passphraseLbl = wx.StaticText(self, wx.ID_ANY, _(u'Passphrase')+':', size=(-1, -1)) + self.passphraseTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) self.passphraseTxt.SetFocus() self.unlockBtn = wx.Button(self, wx.ID_OK, _(u'Unlock SSH key'), ) self.unlockBtn.SetDefault() @@ -102,20 +111,20 @@ credSizer = wx.GridBagSizer(hgap=1, vgap=1) mainSizer = wx.BoxSizer(wx.VERTICAL) - credSizer.Add(self.passphraseLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) + credSizer.Add(self.passphraseLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.passphraseTxt, pos=(0,1), flag=wx.ALL, border=5) - btnSizer.Add(self.unlockBtn, 0, wx.ALL, 5) - btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) + btnSizer.Add(self.unlockBtn, 0, wx.ALL, 5) + btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) mainSizer.Add(keyfilenameLbl, 0, wx.ALL|wx.ALIGN_LEFT, 5) - mainSizer.Add(credSizer, 0, wx.ALL|wx.ALIGN_CENTER, 5) + mainSizer.Add(credSizer, 0, wx.ALL|wx.ALIGN_CENTER, 5) mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5) - # Logged in variable + # Logged in variable self.loggedIn = False - self.SetSizerAndFit(mainSizer) + self.SetSizerAndFit(mainSizer) self.Layout() for i in xrange(len(_tab_order) - 1): @@ -250,7 +259,7 @@ self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - host key error') % self.current_profile_name, text=_(u'The remote server\'s host key is invalid or has not been accepted by the user') + '!', - icon='auth_error', + icon='auth_error', timeout=4000) connect_failed = True @@ -318,8 +327,8 @@ connect_failed = True except: - self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, - title=_(u'%s - unknown error') % self.current_profile_name, + self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, + title=_(u'%s - unknown error') % self.current_profile_name, text=_(u'An unknown error occured during authentication!'), icon='auth_error') connect_failed = True @@ -362,7 +371,6 @@ Tidy up some stuff in the main application instance when the logon window gets destroyed. """ - self._PyHocaGUI.gevent_sleep_when_idle = 0.25 try: self._PyHocaGUI._sub_windows.remove(self) except ValueError: diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/printingprefs.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/printingprefs.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/printingprefs.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/printingprefs.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,7 +20,6 @@ import os import re - import wx import x2go.log as log @@ -120,14 +119,14 @@ # widgets for print action PDFVIEW self.PdfViewCmdLabel = wx.StaticText(self, -1, _(u'PDF viewer command') + ':', ) self.PdfViewCmd = wx.TextCtrl(self, -1, '', ) - self.PdfViewCmdBrowseButton = wx.BitmapButton(self, -1, + self.PdfViewCmdBrowseButton = wx.BitmapButton(self, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY) ) # widgets for print action PDFSAVE self.PdfSaveToFolderLabel = wx.StaticText(self, -1, _(u'Save PDFs to folder') + ':', ) self.PdfSaveToFolder = wx.TextCtrl(self, -1, '', ) - self.PdfSaveToFolderBrowseButton = wx.BitmapButton(self, -1, + self.PdfSaveToFolderBrowseButton = wx.BitmapButton(self, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY) ) @@ -407,7 +406,7 @@ wildcard = "All files (*.*)|*" dlg = wx.FileDialog( self, message=_(u"Choose PDF viewer application"), defaultDir=_LOCAL_HOME, - defaultFile="", wildcard=wildcard, style=wx.FD_OPEN | wx.FD_CHANGE_DIR ) + defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR ) # Show the dialog and retrieve the user response. If it is the OK response, # process the data. if dlg.ShowModal() == wx.ID_OK: diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/profilemanager.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/profilemanager.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/profilemanager.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/profilemanager.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -19,9 +19,10 @@ # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. import wx -import os +import os import copy -import types + +import re import x2go.log as log import x2go.utils as utils @@ -31,6 +32,7 @@ from x2go._paramiko import PARAMIKO_FEATURE import basepath +_icons_location = basepath.icons_basepath _known_encodings = utils.known_encodings() from wx.lib.mixins.listctrl import CheckListCtrlMixin @@ -61,11 +63,7 @@ @type profile_name: C{str} """ - self._icons_location = basepath.icons_basepath - self._PyHocaGUI = _PyHocaGUI - self._PyHocaGUI.gevent_sleep_when_idle = 0.1 - self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('starting profile manager, action is: %s' % action, loglevel=log.loglevel_INFO) @@ -102,12 +100,6 @@ 'OFFICE': _(u'Office'), 'TERMINAL': _(u'Terminal'), } - self.clipboardModeChoices = { - 'both': _(u'between client and server'), - 'server': _(u'from server to client only'), - 'client': _(u'from client to server only'), - 'none': _(u'not at all') - } self.rdpclientChoices = { 'rdesktop': u'rdesktop', 'xfreerdp': u'xfreerdp', @@ -169,10 +161,10 @@ elif self.profile_config['sshproxytunnel'].count(':') == 3: _from_host, _from_port, _to_host, _to_port = self.profile_config['sshproxytunnel'].split(':') - if _to_host: self.profile_config['host'] = [_to_host] + if _to_host: self.profile_config['host'] = _to_host if _to_port: self.profile_config['sshport'] = int(_to_port) - self.profile_config['sshproxytunnel'] = 'DEPRECATED_CAN_BE_SAFELY_REMOVED' + self.profile_config['sshproxytunnel'] = 'DEPRECATED_CAN_BE_SAFELY_REMOVE' # we create a backup dict of our profile_config immediately (for being able to reset erroneously made changes) self.profile_config_orig = copy.deepcopy(self.profile_config) @@ -192,15 +184,6 @@ self.tab_MediaResources = wx.Panel(self.X2GoTabs, -1) self.tab_SharedResources = wx.Panel(self.X2GoTabs, -1) - if not self.session_profiles.is_mutable(self.profile_id) and not self.action.startswith('ADD'): - self.tab_Profile.Enable(False) - self.tab_Session.Enable(False) - self.tab_Connection.Enable(False) - self.tab_LinkQuality.Enable(False) - self.tab_IO.Enable(False) - self.tab_MediaResources.Enable(False) - self.tab_SharedResources.Enable(False) - # boxes for all tabs self.staticbox_Profile = wx.StaticBox(self.tab_Profile, -1, ' %s ' % _(u'Session Title')) self.staticbox_Window = wx.StaticBox(self.tab_Profile, -1, ' %s ' % _(u'Session Window')) @@ -210,7 +193,6 @@ self.staticbox_LinkSpeed = wx.StaticBox(self.tab_LinkQuality, -1, ' %s ' % _(u"Connection Link Speed")) self.staticbox_Compression = wx.StaticBox(self.tab_LinkQuality, -1, ' %s ' % _(u"Compression")) self.staticbox_Display = wx.StaticBox(self.tab_IO, -1, ' %s ' % _(u"Display")) - self.staticbox_Clipboard = wx.StaticBox(self.tab_IO, -1, ' %s ' % _(u"Clipboard")) self.staticbox_Keyboard = wx.StaticBox(self.tab_IO, -1, ' %s ' % _(u"Keyboard")) self.staticbox_Sound = wx.StaticBox(self.tab_MediaResources, -1, ' %s ' % _(u"Sound")) self.staticbox_Printing = wx.StaticBox(self.tab_MediaResources, -1, ' %s ' % _(u"Printing")) @@ -231,7 +213,7 @@ self.UseDefaultSessionWindowTitle = wx.CheckBox(self.tab_Profile, -1, _(u"Use a default session window title")) self.CustomSessionWindowTitleLabel = wx.StaticText(self.tab_Profile, -1, _(u"Custom session window title") + ": ") self.CustomSessionWindowTitle = wx.TextCtrl(self.tab_Profile, -1, "") - path_to_icon = os.path.normpath('%s/%s/128x128/%s_sessionicon.png' % (self._icons_location, self._PyHocaGUI.appname, self._PyHocaGUI.appname)) + path_to_icon = os.path.normpath('%s/PyHoca/128x128/pyhoca-session.png' % _icons_location) self.default_icon = True if 'icon' in self.profile_config and self.profile_config['icon'] == ':icons/128x128/x2gosession.png': # interpret the default x2gosession.png icon entry in session profile config as the PyHoca icon... @@ -245,7 +227,7 @@ path_to_icon = os.path.normpath(path_to_icon) self.default_icon = False if not os.path.exists(os.path.expanduser(path_to_icon)): - path_to_icon = os.path.normpath('%s/PyHoca/128x128/PyHoca-GUI_sessionicon.png' % self._icons_location) + path_to_icon = os.path.normpath('%s/PyHoca/128x128/pyhoca-session.png' % _icons_location) self.default_icon = True self.IconPath = path_to_icon self.IconButtonLabel = wx.StaticText(self.tab_Profile, -1, _(u"Window Icon")+": ") @@ -284,7 +266,7 @@ self.SSHPort = wx.SpinCtrl(self.tab_Connection, -1, "22", min=1, max=65534) self.SSHKeyFileLabel = wx.StaticText(self.tab_Connection, -1, _(u"Key")+": ") self.SSHKeyFile = wx.TextCtrl(self.tab_Connection, -1, style=wx.TE_PROCESS_ENTER) - self.SSHKeyFileBrowseButton = wx.BitmapButton(self.tab_Connection, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % self._icons_location, wx.BITMAP_TYPE_ANY), size=wx.Size(self._textfield_height,self._textfield_height), ) + self.SSHKeyFileBrowseButton = wx.BitmapButton(self.tab_Connection, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY), size=wx.Size(self._textfield_height,self._textfield_height), ) self.SSHAutoLogin = wx.CheckBox(self.tab_Connection, -1, _(u"Discover SSH keys or use SSH agent for X2Go authentication")) if PARAMIKO_FEATURE['forward-ssh-agent']: self.SSHForwardAuthAgent = wx.CheckBox(self.tab_Connection, -1, _(u"Enable forwarding of SSH authentication agent connections")) @@ -296,7 +278,7 @@ self.SSHProxySamePassword = wx.CheckBox(self.tab_Connection, -1, _(u"Use same authentication for X2Go and proxy host")) self.SSHProxyKeyFileLabel = wx.StaticText(self.tab_Connection, -1, _(u"Key file")+": ") self.SSHProxyKeyFile = wx.TextCtrl(self.tab_Connection, -1, style=wx.TE_PROCESS_ENTER) - self.SSHProxyKeyFileBrowseButton = wx.BitmapButton(self.tab_Connection, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % self._icons_location, wx.BITMAP_TYPE_ANY), size=wx.Size(self._textfield_height,self._textfield_height), ) + self.SSHProxyKeyFileBrowseButton = wx.BitmapButton(self.tab_Connection, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY), size=wx.Size(self._textfield_height,self._textfield_height), ) self.SSHProxyHostLabel = wx.StaticText(self.tab_Connection, -1, _(u"Host")+": ") self.SSHProxyHost = wx.TextCtrl(self.tab_Connection, -1, "", size=wx.Size(80,20)) self.SSHProxyPortLabel = wx.StaticText(self.tab_Connection, -1, _(u"Port")+": ") @@ -327,8 +309,6 @@ self.ScreenHeight = wx.SpinCtrl(self.tab_IO, -1, "600", min=500, max=3000) self.SetDisplayDPI = wx.CheckBox(self.tab_IO, -1, _(u"Set display DPI")+": ") self.DisplayDPI = wx.SpinCtrl(self.tab_IO, -1, "96", min=32, max=512) - self.ClipboardModeLabel = wx.StaticText(self.tab_IO, -1, _(u"Allow copy'n'paste")+": ") - self.ClipboardMode = wx.ComboBox(self.tab_IO, -1, choices=self.clipboardModeChoices.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY) self.DontSetKeyboard = wx.RadioButton(self.tab_IO, -1, label=_(u"Do not set (use server-side tools to configure the keyboard)"), style=wx.RB_GROUP) self.AutoSetKeyboard = wx.RadioButton(self.tab_IO, -1, label=_(u"Automatically detect and use client-side keyboard configuration inside the session")) self.CustomSetKeyboard = wx.RadioButton(self.tab_IO, -1, label=_(u"Use custom keyboard settings as provided below") + ": ") @@ -338,6 +318,7 @@ self.KeyboardLayout = wx.TextCtrl(self.tab_IO, -1, "") self.KeyboardVariantLabel = wx.StaticText(self.tab_IO, -1, _(u"Layout variant")+": ") self.KeyboardVariant = wx.TextCtrl(self.tab_IO, -1, "") + ### ### wigdets for the MEDIA tab ### @@ -364,7 +345,7 @@ self.RestoreSharedLocalFolders = wx.CheckBox(self.tab_SharedResources, -1, _(u"Store share list at end of session")) self.SharedFolderPathLabel = wx.StaticText(self.tab_SharedResources, -1, _(u"Path")+": ") self.SharedFolderPath = wx.TextCtrl(self.tab_SharedResources, -1, "", style=wx.TE_PROCESS_ENTER) - self.SharedFolderPathBrowseButton = wx.BitmapButton(self.tab_SharedResources, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % self._icons_location, wx.BITMAP_TYPE_ANY), size=wx.Size(self._textfield_height,self._textfield_height), ) + self.SharedFolderPathBrowseButton = wx.BitmapButton(self.tab_SharedResources, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY), size=wx.Size(self._textfield_height,self._textfield_height), ) self.AddSharedFolderPathButton = wx.Button(self.tab_SharedResources, -1, _(u"Add")) self.SharedFoldersList = CheckListCtrl(self.tab_SharedResources) self.SharedFoldersList.InsertColumn(0, _("Local Path"), wx.LIST_FORMAT_LEFT) @@ -389,18 +370,9 @@ else: self.OKButton = wx.Button(self, -1, _(u"Save")) self.DefaultButton = wx.Button(self, -1, _(u'Reset')) + self.OKButton.SetDefault() self.ApplyButton = wx.Button(self, -1, _(u"Apply")) self.CancelButton = wx.Button(self, -1, _(u"Cancel")) - if self.session_profiles.is_mutable(self.profile_id): - self.OKButton.SetDefault() - elif self.action.startswith('ADD'): - self.OKButton.SetDefault() - self.ApplyButton.Enable(False) - else: - self.OKButton.Enable(False) - self.ApplyButton.Enable(False) - self.DefaultButton.Enable(False) - self.CancelButton.SetDefault() self.__set_properties() self.__do_layout() @@ -461,17 +433,11 @@ """ if self.action == 'ADD': - self.SetTitle(_(u"%s Profile Manager - new profile") % self._PyHocaGUI.appname) + self.SetTitle(_(u"PyHoca-GUI Profile Manager - new profile")) elif self.action == 'EDIT_CONNECTED': - if self._PyHocaGUI.session_profiles.is_mutable(profile_id=self.profile_id): - self.SetTitle(_(u"%s Profile Manager - %s (connected)") % (self._PyHocaGUI.appname, self.profile_config['name'])) - else: - self.SetTitle(_(u"%s Profile Manager - %s (connected, immutable)") % (self._PyHocaGUI.appname, self.profile_config['name'])) + self.SetTitle(_(u"PyHoca-GUI Profile Manager - %s (connected)") % self.profile_config['name']) else: - if self._PyHocaGUI.session_profiles.is_mutable(profile_id=self.profile_id): - self.SetTitle(_(u"%s Profile Manager - %s") % (self._PyHocaGUI.appname, self.profile_config['name'])) - else: - self.SetTitle(_(u"%s Profile Manager - %s (immutable)") % (self._PyHocaGUI.appname, self.profile_config['name'])) + self.SetTitle(_(u"PyHoca-GUI Profile Manager - %s") % self.profile_config['name']) self.SetFont(wx.Font(9, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) self._textfield_height = 30 @@ -539,7 +505,6 @@ self.DontSetKeyboard.SetMinSize((-1, self._textfield_height)) self.AutoSetKeyboard.SetMinSize((-1, self._textfield_height)) self.CustomSetKeyboard.SetMinSize((-1, self._textfield_height)) - self.ClipboardMode.SetMinSize((220, -1)) self.KeyboardModelLabel.SetMinSize((-1, 16)) self.KeyboardModel.SetMinSize((-1, self._textfield_height)) self.KeyboardLayoutLabel.SetMinSize((-1, 16)) @@ -725,41 +690,31 @@ sizer_5_1_1.Add(sizer_5_1_1_2) sizer_5_1.Add(sizer_5_1_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_5_2 = wx.StaticBoxSizer(self.staticbox_Clipboard, wx.VERTICAL) - sizer_5_2_1 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_2_1_1 = wx.GridBagSizer(hgap=1, vgap=3) - sizer_5_2_1_1.Add(self.ClipboardModeLabel, flag=wx.ALIGN_CENTRE_VERTICAL, pos=(0,0),) - sizer_5_2_1_1.Add((8,0), pos=(0,1),) - sizer_5_2_1_1.Add(self.ClipboardMode, flag=wx.EXPAND|wx.ALIGN_CENTRE_VERTICAL, pos=(0,2),) + sizer_5_2 = wx.StaticBoxSizer(self.staticbox_Keyboard, wx.VERTICAL) + sizer_5_2_1 = wx.BoxSizer(wx.VERTICAL) + sizer_5_2_1_1 = wx.BoxSizer(wx.VERTICAL) + sizer_5_2_1_1.Add(self.DontSetKeyboard, ) + sizer_5_2_1_1.Add(self.AutoSetKeyboard, ) + sizer_5_2_1_1.Add(self.CustomSetKeyboard, ) + sizer_5_2_1_1.Add((0,8)) + sizer_5_2_1_2 = wx.BoxSizer(wx.HORIZONTAL) + sizer_5_2_1_2.Add((32,0)) + sizer_5_2_1_2_1 = wx.GridBagSizer(hgap=2, vgap=2) + sizer_5_2_1_2_1.Add(self.KeyboardModelLabel, pos=(0,0),) + sizer_5_2_1_2_1.Add(self.KeyboardModel, flag=wx.EXPAND, pos=(1,0),) + sizer_5_2_1_2_1.Add((32,0), pos=(0,1), span=(2,1)) + sizer_5_2_1_2_1.Add(self.KeyboardLayoutLabel, flag=wx.ALIGN_CENTRE_VERTICAL, pos=(0,2), ) + sizer_5_2_1_2_1.Add(self.KeyboardLayout, flag=wx.EXPAND, pos=(1,2), ) + sizer_5_2_1_2_1.Add((32,0), pos=(0,3), span=(2,1)) + sizer_5_2_1_2_1.Add(self.KeyboardVariantLabel, pos=(0,4),) + sizer_5_2_1_2_1.Add(self.KeyboardVariant, flag=wx.EXPAND, pos=(1,4),) + sizer_5_2_1_2.Add(sizer_5_2_1_2_1) sizer_5_2_1.Add(sizer_5_2_1_1) + sizer_5_2_1.Add(sizer_5_2_1_2) sizer_5_2.Add(sizer_5_2_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_5_3 = wx.StaticBoxSizer(self.staticbox_Keyboard, wx.VERTICAL) - sizer_5_3_1 = wx.BoxSizer(wx.VERTICAL) - sizer_5_3_1_1 = wx.BoxSizer(wx.VERTICAL) - sizer_5_3_1_1.Add(self.DontSetKeyboard, ) - sizer_5_3_1_1.Add(self.AutoSetKeyboard, ) - sizer_5_3_1_1.Add(self.CustomSetKeyboard, ) - sizer_5_3_1_1.Add((0,8)) - sizer_5_3_1_2 = wx.BoxSizer(wx.HORIZONTAL) - sizer_5_3_1_2.Add((32,0)) - sizer_5_3_1_2_1 = wx.GridBagSizer(hgap=2, vgap=2) - sizer_5_3_1_2_1.Add(self.KeyboardModelLabel, pos=(0,0),) - sizer_5_3_1_2_1.Add(self.KeyboardModel, flag=wx.EXPAND, pos=(1,0),) - sizer_5_3_1_2_1.Add((32,0), pos=(0,1), span=(2,1)) - sizer_5_3_1_2_1.Add(self.KeyboardLayoutLabel, flag=wx.ALIGN_CENTRE_VERTICAL, pos=(0,2), ) - sizer_5_3_1_2_1.Add(self.KeyboardLayout, flag=wx.EXPAND, pos=(1,2), ) - sizer_5_3_1_2_1.Add((32,0), pos=(0,3), span=(2,1)) - sizer_5_3_1_2_1.Add(self.KeyboardVariantLabel, pos=(0,4),) - sizer_5_3_1_2_1.Add(self.KeyboardVariant, flag=wx.EXPAND, pos=(1,4),) - sizer_5_3_1_2.Add(sizer_5_3_1_2_1) - sizer_5_3_1.Add(sizer_5_3_1_1) - sizer_5_3_1.Add(sizer_5_3_1_2) - sizer_5_3.Add(sizer_5_3_1, flag=wx.EXPAND|wx.ALL, border=7) - sizer_5.Add(sizer_5_1, flag=wx.EXPAND|wx.ALL, border=5) - sizer_5.Add(sizer_5_2, flag=wx.EXPAND|wx.ALL, border=5) - sizer_5.Add(sizer_5_3, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) + sizer_5.Add(sizer_5_2, proportion=1, flag=wx.EXPAND|wx.ALL, border=5) self.tab_IO.SetSizerAndFit(sizer_5) self.tab_IO.Layout() @@ -899,11 +854,7 @@ self.ProfileName.SetValue(self.profile_config['name']) self.SetSessionWindowTitle.SetValue(self.profile_config['setsessiontitle']) self.CustomSessionWindowTitle.SetValue(self.profile_config['sessiontitle']) - - if type(self.profile_config['host']) is types.ListType: - self.Host.SetValue(",".join(self.profile_config['host'])) - else: - self.Host.SetValue(self.profile_config['host']) + self.Host.SetValue(self.profile_config['host']) self.UserName.SetValue(self.profile_config['user']) self.SSHPort.SetValue(self.profile_config['sshport']) self.SSHAutoLogin.SetValue(self.profile_config['autologin']) @@ -1049,11 +1000,6 @@ self.KeyboardLayout.SetValue(self.profile_config['layout']) self.KeyboardVariant.SetValue(self.profile_config['variant']) - if self.profile_config['clipboard'] in self.clipboardModeChoices.keys(): - self.ClipboardMode.SetValue(self.clipboardModeChoices[self.profile_config['clipboard']]) - else: - self.ClipboardMode.SetValue(self.clipboardModeChoices['both']) - if self.DontSetKeyboard.GetValue() or self.AutoSetKeyboard.GetValue(): self.KeyboardModelLabel.Enable(False) self.KeyboardLayoutLabel.Enable(False) @@ -1172,15 +1118,26 @@ # export = "{string(path_1)}:{boolint(autoconnect_1);...;string(path_n)}:{boolint(autoconnect_n)};" # rewrite path separator from "," to ";" to correct pyhoca-gui (<0.1.0.9) - #if ',' in self.profile_config['export']: - # self.profile_config['export'] = self.profile_config['export'].replace(',', ';') + if ',' in self.profile_config['export']: + self.profile_config['export'] = self.profile_config['export'].replace(',', ';') # strip off whitespaces and ";" from beginning and end of string - _shared_folders = self.profile_config['export'].keys() - - for _shared_folder_path in _shared_folders: + _shared_folders = self.profile_config['export'].strip().strip(';').strip() + # strip off '"' from beginning and end of string + _shared_folders = _shared_folders.strip('"') + # again: strip off whitespaces and ";" from beginning and end of string + _shared_folders = _shared_folders.strip().strip(';').strip() + + _shared_folders = [ sf for sf in _shared_folders.split(';') if sf ] + + for _shared_folder in _shared_folders: + + # support path names with and without ":" as separator between path and autoconnect flag (pyhoca-gui < 0.1.0.9) + if not re.match('^.*:(1|0)$', _shared_folder): + _shared_folder = "%s:1" % _shared_folder - if self.profile_config['export'][_shared_folder_path]: + _shared_folder_path = ":".join(_shared_folder.split(':')[:-1]) + if int(_shared_folder.split(':')[-1]): _shared_folder_autoconnect = _("automatically") else: _shared_folder_autoconnect = _("manually") @@ -1189,7 +1146,7 @@ idx = self.SharedFoldersList.InsertStringItem(0, _shared_folder_path) self.SharedFoldersList.SetStringItem(idx, 1, _shared_folder_autoconnect) - if self.profile_config['export'][_shared_folder_path]: + if int(_shared_folder.split(':')[-1]): self.SharedFoldersList.CheckItem(idx) self.AddSharedFolderPathButton.Enable(False) @@ -1347,8 +1304,7 @@ self.profile_config['icon'] = ':icons/128x128/x2gosession.png' self.profile_config['user'] = self.UserName.GetValue() self.profile_config['key'] = self.SSHKeyFile.GetValue() - _hosts = self.Host.GetValue() - self.profile_config['host'] = _hosts.split(',') + self.profile_config['host'] = self.Host.GetValue() self.profile_config['usesshproxy'] = self.UseSSHProxy.GetValue() if _session_type != 'DirectRDP': self.profile_config['sshport'] = self.SSHPort.GetValue() @@ -1415,8 +1371,6 @@ self.profile_config['setdpi'] = self.SetDisplayDPI.GetValue() self.profile_config['dpi'] = self.DisplayDPI.GetValue() - self.profile_config['clipboard'] = [ m for m in self.clipboardModeChoices.keys() if self.clipboardModeChoices[m] == self.ClipboardMode.GetValue() ][0] - self.profile_config['usekbd'] = self.CustomSetKeyboard.GetValue() or self.AutoSetKeyboard.GetValue() self.profile_config['type'] = self.AutoSetKeyboard.GetValue() and "auto" or self.KeyboardModel.GetValue() self.profile_config['layout'] = self.AutoSetKeyboard.GetValue() and "null" or self.KeyboardLayout.GetValue() @@ -1498,14 +1452,14 @@ @type event: C{obj} """ - iconsdir = self._icons_location + iconsdir = _icons_location if not os.path.exists(iconsdir): iconsdir = os.getcwd() wildcard = _(u"Icon Files (*.png)|*.png|" \ u"All files (*.*)|*") dlg = wx.FileDialog( self, message=_(u"Choose an icon for this session profile"), defaultDir=iconsdir, - defaultFile="", wildcard=wildcard, style=wx.FD_OPEN | wx.FD_CHANGE_DIR ) + defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR ) # Show the dialog and retrieve the user response. If it is the OK response, # process the data. if dlg.ShowModal() == wx.ID_OK: @@ -1567,7 +1521,6 @@ self.SSHAutoLogin.Enable(False) if PARAMIKO_FEATURE['forward-ssh-agent']: self.SSHForwardAuthAgent.Enable(False) - self.UniqueHostKeyAliases.Enable(False) self.UseSSHProxy.Enable(False) self.staticbox_LinkSpeed.Enable(False) self.staticbox_Proxy.Enable(False) @@ -1603,12 +1556,9 @@ self.SoundPortLabel.Enable(False) self.SoundPort.Enable(False) self.Esd.Enable(False) - if self.session_profiles.is_mutable(self.profile_id) or self.action.startswith('ADD'): - self.tab_SharedResources.Enable(True) + self.tab_SharedResources.Enable(True) self.RDPServer.Enable(False) - _hosts = self.Host.GetValue() - # only one host address supported - self.RDPServer.SetValue(_hosts.split(',')[0]) + self.RDPServer.SetValue(self.Host.GetValue()) self.RDPOptions.SetValue(self.profile_config_bak['directrdpsettings']) if self.Application.GetValue() in self.applicationChoices.keys(): self._last_application = self.Application.GetValue() @@ -1638,7 +1588,6 @@ self.SSHKeyFileLabel.Enable(True) self.SSHKeyFile.Enable(True) self.SSHKeyFileBrowseButton.Enable(True) - self.UniqueHostKeyAliases.Enable(True) self.UseSSHProxy.Enable(True) self.staticbox_Proxy.Enable(True) self.staticbox_LinkSpeed.Enable(True) @@ -1662,8 +1611,7 @@ self.DefaultSoundPort.Enable(True) self.DefaultSoundPort.SetValue(True) self.Esd.Enable(True) - if self.session_profiles.is_mutable(self.profile_id) or self.action.startswith('ADD'): - self.tab_SharedResources.Enable(True) + self.tab_SharedResources.Enable(True) self.RDPServer.SetValue(self.profile_config_bak['rdpserver']) self.RDPOptions.SetValue(self.profile_config_bak['rdpoptions']) if self.Application.GetValue() in self.rdpclientChoices.keys(): @@ -1812,7 +1760,7 @@ else: self.profile_config_bak['rdpport'] = self.SSHPort.GetValue() self.profile_config_bak['directrdpsettings'] = self.RDPOptions.GetValue() - if self.RDPServer.GetValue() != self.Host.GetValue().split(',')[0]: + if self.RDPServer.GetValue() != self.Host.GetValue(): self.profile_config_bak['rdpserver'] = self.RDPServer.GetValue() self.profile_config_bak['rdpoptions'] = self.RDPOptions.GetValue() self.disable_DirectRDP() @@ -1940,7 +1888,7 @@ """ if [ k for k in self.sessionChoices.keys() if self.sessionChoices[k] == self.SessionType.GetValue() ][0] == 'DirectRDP': - self.RDPServer.SetValue(self.Host.GetValue().split(',')[0]) + self.RDPServer.SetValue(self.Host.GetValue()) def OnSSHKeyFileBrowse(self, event): """\ @@ -1956,7 +1904,7 @@ wildcard = _(u"All files (*.*)|*") dlg = wx.FileDialog( self, message=_(u"Choose a public SSH key"), defaultDir=sshdir, - defaultFile="", wildcard=wildcard, style=wx.FD_OPEN | wx.FD_CHANGE_DIR ) + defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR ) # Show the dialog and retrieve the user response. If it is the OK response, # process the data. if dlg.ShowModal() == wx.ID_OK: @@ -1980,7 +1928,7 @@ wildcard = "All files (*.*)|*" dlg = wx.FileDialog( self, message=_(u"Choose a public SSH key"), defaultDir=sshdir, - defaultFile="", wildcard=wildcard, style=wx.FD_OPEN | wx.FD_CHANGE_DIR ) + defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR ) # Show the dialog and retrieve the user response. If it is the OK response, # process the data. if dlg.ShowModal() == wx.ID_OK: @@ -2031,7 +1979,7 @@ """ if self.UseSSHProxy.GetValue(): - self.profile_config_bak['host'] = self.Host.GetValue().split(',') + self.profile_config_bak['host'] = self.Host.GetValue() self.profile_config_bak['sshport'] = self.SSHPort.GetValue() self._toggle_SSHProxy() @@ -2472,7 +2420,6 @@ self.session_profiles.write_user_config = True self.session_profiles.write() - self.profile_id = self.session_profiles.to_profile_id(self.profile_config['name']) if self.action == 'ADD': self._PyHocaGUI.notifier.send(title=_(u'%s - profile added') % self.profile_config['name'], @@ -2534,7 +2481,6 @@ Clean-up disabled profile_names when closing the profile manager dialog. """ - self._PyHocaGUI.gevent_sleep_when_idle = 0.25 try: self._PyHocaGUI._temp_disabled_profile_names.remove(self.profile_name) except ValueError: @@ -2547,7 +2493,6 @@ profile manager window. """ - self._PyHocaGUI.gevent_sleep_when_idle = 0.25 try: self._PyHocaGUI._sub_windows.remove(self) except ValueError: diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/serverinfo.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/serverinfo.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/serverinfo.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/serverinfo.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,9 +20,24 @@ modules ={} +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + # Python X2Go import x2go +# gevent +import gevent +import gevent.monkey +gevent.monkey.patch_all() + import wx import os @@ -39,7 +54,7 @@ Simple dialog box for showing server information. """ - def __init__(self, _PyHocaGUI, profile_name): + def __init__(self, _PyHocaGUI, profile_name): """\ Server information dialog box (constructor). @@ -60,7 +75,7 @@ self.SetTitle(_(u'Server Information - %s') % profile_name) - self.titleLbl = wx.StaticText(self, wx.ID_ANY, _(u'Session Profile: %s\n\nList of X2Go Server components, add-ons and their versions...') % self.current_profile_name, size=(-1, -1)) + self.titleLbl = wx.StaticText(self, wx.ID_ANY, _(u'Session Profile: %s\n\nList of X2Go Server components, add-ons and their versions...') % self.current_profile_name, size=(-1, -1)) self.infoArea = wx.TextCtrl(self, id=-1, value="", size=(520,300), style=wx.TE_READONLY|wx.TE_MULTILINE|wx.SUNKEN_BORDER) diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/sessiontitle.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/sessiontitle.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/sessiontitle.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/sessiontitle.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,9 +20,24 @@ modules ={} +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + # Python X2Go import x2go +# gevent +import gevent +import gevent.monkey +gevent.monkey.patch_all() + import wx import os @@ -39,7 +54,7 @@ Simple dialog box for selecting a session title string. """ - def __init__(self, _PyHocaGUI, profile_name, session_name): + def __init__(self, _PyHocaGUI, profile_name, session_name): """\ Session title renaming dialog box (constructor). @@ -52,7 +67,6 @@ """ self._PyHocaGUI = _PyHocaGUI - self._PyHocaGUI.gevent_sleep_when_idle = 0.1 self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('session title query box started', loglevel=x2go.loglevel_INFO, ) @@ -64,8 +78,8 @@ self.SetTitle(_(u'Session Title - %s') % profile_name) - self.titleLbl = wx.StaticText(self, wx.ID_ANY, _(u'Change session title to')+':', size=(-1, -1)) - self.titleTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) + self.titleLbl = wx.StaticText(self, wx.ID_ANY, _(u'Change session title to')+':', size=(-1, -1)) + self.titleTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) self.okBtn = wx.Button(self, wx.ID_OK, _(u'OK'), ) self.okBtn.SetDefault() self.cancelBtn = wx.Button(self, wx.ID_CANCEL, _(u'Cancel'), ) @@ -81,13 +95,13 @@ titleSizer.Add(self.titleLbl, 0, wx.ALL, 5) titleSizer.Add(self.titleTxt, 0, wx.ALL, 5) - btnSizer.Add(self.okBtn, 0, wx.ALL, 5) - btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) + btnSizer.Add(self.okBtn, 0, wx.ALL, 5) + btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) - mainSizer.Add(titleSizer, 0, wx.ALL, 5) + mainSizer.Add(titleSizer, 0, wx.ALL, 5) mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5) - self.SetSizerAndFit(mainSizer) + self.SetSizerAndFit(mainSizer) self.Layout() maxX, maxY = wx.GetDisplaySize() @@ -152,7 +166,6 @@ Do some PyHocaGUI specific cleanup if this window gets destroyed. """ - self._PyHocaGUI.gevent_sleep_when_idle = 0.25 try: self._PyHocaGUI._sub_windows.remove(self) except ValueError: diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/splash.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/splash.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/splash.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/splash.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -18,6 +18,16 @@ # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + import wx import os @@ -29,7 +39,7 @@ L{PyHocaGUI} splash screen that gets shown an application startup. """ - def __init__(self, _PyHocaGUI, splash_image=None): + def __init__(self, splash_image=None): """ Splash screen (constructor). @@ -47,16 +57,14 @@ splash_image = None if splash_image is None: - splash_image = os.path.join(basepath.images_basepath, '{appname}_splash.png'.format(appname=_PyHocaGUI.appname)) - if not os.path.exists(splash_image): - splash_image = os.path.join(basepath.images_basepath, 'PyHoca-GUI_splash.png') + splash_image = os.path.join(basepath.images_basepath, 'pyhoca-splash.png') if os.path.isfile(str(splash_image)): splash_wximage = wx.Image(splash_image, wx.BITMAP_TYPE_PNG, ) splash_wximage.Rescale(400, int(float(400)/splash_wximage.Width*splash_wximage.Height)) splash_wxbitmap = splash_wximage.ConvertToBitmap() - wx.SplashScreen.__init__(self, + wx.SplashScreen.__init__(self, splash_wxbitmap, splashStyle=wx.SPLASH_CENTRE_ON_SCREEN|wx.SPLASH_TIMEOUT, milliseconds=5000, diff -Nru pyhoca-gui-0.5.0.3/pyhoca/wxgui/taskbar.py pyhoca-gui-0.4.0.9/pyhoca/wxgui/taskbar.py --- pyhoca-gui-0.5.0.3/pyhoca/wxgui/taskbar.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca/wxgui/taskbar.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,18 +20,37 @@ modules ={} +try: + import wxversion + wxversion.select('2.9') +except: pass + +try: + import wxversion + wxversion.select('2.8') +except: pass + # Python X2Go import x2go +import gevent +import gevent.monkey +gevent.monkey.patch_all() + import wx + +if x2go.X2GOCLIENT_OS == 'Windows': + import win32gui + import os # PyHoca-GUI modules import menus_taskbar import basepath +_icons_location = basepath.icons_basepath -def MakeIcon(icon_name, fallback_name='PyHoca-GUI_trayicon.png', appname="PyHoca-GUI"): +def MakeIcon(icon_name, fallback_name='pyhoca-trayicon'): """\ The various platforms have different requirements for the icon size... @@ -40,8 +59,6 @@ @type icon_name: C{str} @param fallback_name: a fallback icon file name in case C{icon_name} cannot be found @type fallback_name: C{str} - @param appname: name of this application, used to detect icon file - @type appname: C{str} """ if "wxMSW" in wx.PlatformInfo: @@ -52,21 +69,18 @@ icon_size = '128x128' if icon_name is None: - icon_name = '{appname}_trayicon'.format(appname=appname) - - _icons_location = basepath.icons_basepath + icon_name = fallback_name icon_name = os.path.expanduser(icon_name) if not icon_name.lower().endswith('.png'): icon_name = '%s.png' % icon_name - icon_folder = 'PyHoca' - if os.path.isdir(os.path.join(_icons_location, appname)): - icon_folder = appname + icon_file = icon_name + if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): + icon_file = '%s/PyHoca/%s/%s' % (_icons_location, icon_size, icon_name) - icon_file = '%s/%s/%s/%s' % (_icons_location, icon_folder, icon_size, icon_name) if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): - icon_file = '%s/%s/%s/%s' % (_icons_location, icon_folder, icon_size, fallback_name) + icon_file = '%s/PyHoca/%s/%s.png' % (_icons_location, icon_size, fallback_name) img = wx.Image(icon_file) icon = wx.IconFromBitmap(img.ConvertToBitmap()) @@ -107,12 +121,12 @@ """ if x2go.X2GOCLIENT_OS == 'Windows': icon_name = self._PyHocaGUI.tray_icon_connecting or self._PyHocaGUI.tray_icon - self.icon = MakeIcon(icon_name=icon_name, appname=self._PyHocaGUI.appname) - self.SetIcon(self.icon, _(u"%s\nConnecting you to ,,%s\'\'") % (self._PyHocaGUI.appname, profile_name)) + self.icon = MakeIcon(icon_name=icon_name, fallback_name='pyhoca-trayicon') + self.SetIcon(self.icon, _(u"PyHoca-GUI\nConnecting you to ,,%s\'\'") % profile_name) else: icon_name = self._PyHocaGUI.tray_icon_connecting or self._PyHocaGUI.tray_icon - self.icon = MakeIcon(icon_name=icon_name, appname=self._PyHocaGUI.appname) - self.SetIcon(self.icon, _(u"%s\nCurrently connecting you to remote X2Go server ,,%s\'\'") % (self._PyHocaGUI.appname, profile_name)) + self.icon = MakeIcon(icon_name=icon_name, fallback_name='pyhoca-trayicon') + self.SetIcon(self.icon, _(u"PyHoca-GUI (Python X2Go Client)\nCurrently connecting you to remote X2Go server ,,%s\'\'") % profile_name) def SetIconIdle(self): """\ @@ -121,12 +135,12 @@ """ if x2go.X2GOCLIENT_OS == 'Windows': icon_name = self._PyHocaGUI.tray_icon - self.icon = MakeIcon(icon_name=icon_name, appname=self._PyHocaGUI.appname) - self.SetIcon(self.icon, _(u"%s\nConnecting you to X2Go...") % self._PyHocaGUI.appname) + self.icon = MakeIcon(icon_name=icon_name, fallback_name='pyhoca-trayicon') + self.SetIcon(self.icon, _(u"PyHoca-GUI\nConnecting you to X2Go...")) else: icon_name = self._PyHocaGUI.tray_icon - self.icon = MakeIcon(icon_name=icon_name, appname=self._PyHocaGUI.appname) - self.SetIcon(self.icon, _(u"%s\nClient for connecting you to a remote X2Go server") % self._PyHocaGUI.appname) + self.icon = MakeIcon(icon_name=icon_name, fallback_name='pyhoca-trayicon') + self.SetIcon(self.icon, _(u"PyHoca-GUI (Python X2Go Client)\nClient for connecting you to a remote X2Go server")) def CreateSessionManagerPopupMenu(self, evt): """\ diff -Nru pyhoca-gui-0.5.0.3/pyhoca-gui pyhoca-gui-0.4.0.9/pyhoca-gui --- pyhoca-gui-0.5.0.3/pyhoca-gui 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca-gui 2015-09-23 07:21:47.000000000 +0000 @@ -1,8 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel -# Copyright (C) 2010-2014 by Dick Kniep +# Copyright (C) 2010-2013 by Mike Gabriel +# Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -19,28 +19,416 @@ # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +modules ={} + +import sys +import os +import re +import shutil +PROG_NAME = os.path.basename(sys.argv[0]).replace('.exe', '') +PROG_PID = os.getpid() + +if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): + class Win32_Logging(object): + + softspace = 0 + _fname = os.path.join(os.environ['AppData'], PROG_NAME, '%s.log' % PROG_NAME) + _file = None + + def __init__(self, filemode='a'): + self._filemode = filemode + if os.path.isfile(self._fname) and self._filemode == "w+": + os.remove(self._fname) + + def write(self, text, **kwargs): + if self._file is None: + try: + try: + os.mkdir(os.path.dirname(self._fname)) + except: + pass + self._file = open(self._fname, self._filemode) + except: + pass + else: + self._file.write(text) + self._file.flush() + + def flush(self): + if self._file is not None: + self._file.flush() + + sys.stdout = Win32_Logging(filemode='w+') + sys.stderr = Win32_Logging(filemode='a') + del Win32_Logging + +import gevent +import gevent.monkey +gevent.monkey.patch_all() + +import subprocess + try: import wxversion - wxversion.select(['3.0', '2.9', '2.8']) + wxversion.select('2.9') except: pass - -PROG_NAME = "PyHoca-GUI" try: - from pyhoca.wxgui.mswin_logging import setup_mswinlog - setup_mswinlog(PROG_NAME) -except ImportError: - pass + import wxversion + wxversion.select('2.8') +except: pass + +import argparse +import os +import exceptions +import locale +import gettext +import wx + +from x2go import X2GOCLIENT_OS as _X2GOCLIENT_OS + +if _X2GOCLIENT_OS in ('Linux', 'Mac'): + import setproctitle + setproctitle.setproctitle(PROG_NAME) + +if sys.argv[0].startswith('./') or sys.argv[0].startswith('python'): + sys.path.insert(0, os.getcwd()) + os.environ['PYHOCAGUI_DEVELOPMENT'] = '1' + print '### %s running in development mode ###' % PROG_NAME + +from pyhoca.wxgui.basepath import locale_basepath + +# Python X2Go modules +from x2go import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER +if _X2GOCLIENT_OS == 'Windows': + from x2go import X2GoClientXConfig as _X2GoClientXConfig +from x2go import X2GoLogger as _X2GoLogger +from x2go import x2go_cleanup as _x2go_cleanup + +# X2Go backends +from x2go.defaults import BACKENDS_CONTROLSESSION, BACKEND_CONTROLSESSION_DEFAULT +from x2go.defaults import BACKENDS_TERMINALSESSION, BACKEND_TERMINALSESSION_DEFAULT +from x2go.defaults import BACKENDS_SERVERSESSIONINFO, BACKEND_SERVERSESSIONINFO_DEFAULT +from x2go.defaults import BACKENDS_SERVERSESSIONLIST, BACKEND_SERVERSESSIONLIST_DEFAULT +from x2go.defaults import BACKENDS_PROXY, BACKEND_PROXY_DEFAULT +from x2go.defaults import BACKENDS_SESSIONPROFILES, BACKEND_SESSIONPROFILES_DEFAULT +from x2go.defaults import BACKENDS_CLIENTSETTINGS, BACKEND_CLIENTSETTINGS_DEFAULT +from x2go.defaults import BACKENDS_CLIENTPRINTING, BACKEND_CLIENTPRINTING_DEFAULT + +from pyhoca.wxgui import __VERSION__ as _version +from pyhoca.wxgui import messages +from pyhoca.wxgui import PyHocaGUI -from pyhoca.wxgui import __VERSION__ -from pyhoca.wxgui.launcher import PyHocaGUI_Launcher +if _X2GOCLIENT_OS == 'Windows': + from pyhoca.wxgui.basepath import nxproxy_binary + os.environ.update({'NXPROXY_BINARY': nxproxy_binary, }) __author__ = "Mike Gabriel, Dick Kniep" -__version__ = __VERSION__ +__version__ = _version + +# version information +VERSION=_version +VERSION_TEXT=""" +%s[%s] - an X2Go GUI client written in Python +---------------------------------------------------------------------- +developed by Mike Gabriel +sponsored by Dick Kniep (2010-2013) + +VERSION: %s + +""" % (PROG_NAME, PROG_PID, VERSION) + +def check_running(): + if _X2GOCLIENT_OS in ('Linux', 'Mac'): + + p = subprocess.Popen(['ps', '-U', _CURRENT_LOCAL_USER, '-u', _CURRENT_LOCAL_USER], stdout=subprocess.PIPE) + psA_out = p.communicate() + if psA_out[0].count(PROG_NAME) <= 1: + + if os.path.isdir(os.path.expanduser("~/.x2go/pyhoca-gui/")): + shutil.rmtree(os.path.expanduser("~/.x2go/pyhoca-gui/")) + + my_pid = str(os.getpid()) + if not os.path.exists(os.path.expanduser("~/.x2go/pyhoca-gui/")): + os.makedirs(os.path.expanduser("~/.x2go/pyhoca-gui/")) + my_pidfile = os.path.expanduser("~/.x2go/pyhoca-gui/display.{pid}".format(pid=my_pid)) + + my_display = os.environ['DISPLAY'] + open(my_pidfile, 'w').write(my_display) + + already_running_for_this_display = False + for pidfile in os.listdir(os.path.expanduser("~/.x2go/pyhoca-gui/")): + + # this is our own pid file... + if my_pidfile.endswith(pidfile): + continue + + display = open(os.path.expanduser("~/.x2go/pyhoca-gui/") + pidfile, 'r').read() + + if display.split('.')[0] == my_display.split('.')[0]: + other_pid = pidfile.split('.')[1] + print + print('One instance of PyHoca-GUI (PID: {other_pid}) is already running for this $DISPLAY {display}'.format(other_pid=other_pid, display=my_display)) + + return True + + return False + + elif _X2GOCLIENT_OS == 'Windows': + import wmi + w = wmi.WMI() + _p_names = [] + for process in w.Win32_Process(): + _p_names.append(process.Name) + return len([ _p_name for _p_name in _p_names if _p_name == PROG_NAME]) > 1 + + +def version(): + # print version text and exit + sys.stderr.write ("%s\n" % VERSION_TEXT) + remove_pidfile() + + sys.exit(0) + + +# sometimes we have to fail... +def runtime_error(m, parser=None, exitcode=-1): + """\ + STILL UNDOCUMENTED + """ + if parser is not None: + parser.print_usage() + sys.stderr.write ("%s: error: %s\n" % (PROG_NAME, m)) + + remove_pidfile() + sys.exit(exitcode) + + +if _X2GOCLIENT_OS == 'Windows': + _x = _X2GoClientXConfig() + _known_xservers = _x.known_xservers + _installed_xservers = _x.installed_xservers + +if _X2GOCLIENT_OS == 'Windows': + _config_backends = ('FILE', 'WINREG') +elif _X2GOCLIENT_OS == 'Linux': + _config_backends = ('FILE', 'GCONF') +else: + _config_backends = ('FILE') + +for _profiles_backend_default in _config_backends: + if BACKENDS_SESSIONPROFILES[_profiles_backend_default] == BACKEND_SESSIONPROFILES_DEFAULT: + break +for _settings_backend_default in _config_backends: + if BACKENDS_CLIENTSETTINGS[_settings_backend_default] == BACKEND_CLIENTSETTINGS_DEFAULT: + break +for _printing_backend_default in _config_backends: + if BACKENDS_CLIENTPRINTING[_printing_backend_default] == BACKEND_CLIENTPRINTING_DEFAULT: + break + +# debug options... +debug_options = [ + {'args':['-d','--debug'], 'default': False, 'action': 'store_true', 'help': 'enable application debugging code', }, + {'args':['--quiet'], 'default': False, 'action': 'store_true', 'help': 'disable any kind of log output', }, + {'args':['--libdebug'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of the underlying Python X2Go module', }, + {'args':['--libdebug-sftpxfer'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP server code (very verbose, and even promiscuous)', }, + {'args':['-V', '--version'], 'default': False, 'action': 'store_true', 'help': 'print version number and exit', }, + ] +x2go_gui_options = [ + {'args':['-P','--session-profile'], 'default': None, 'metavar': '', 'help': 'directly connect to a session profile', }, + {'args':['--remember-username'], 'default': False, 'action': 'store_true', 'help': 'for profiles with interactive authentication, remember the last-used username', }, + {'args':['--non-interactive'], 'default': False, 'action': 'store_true', 'help': 'run the session manager in non-interactive mode, this option sets the following options to true: --restricted-trayicon, --single_session_profile, --start-on-connect, --resume-all-on-connect, --exit-on-disconnect, --disconnect-on-suspend and --disconnect-on-terminate', }, + {'args':['--auto-connect'], 'default': False, 'action': 'store_true', 'help': 'connect sessions via SSH pubkey authentication if possible', }, + {'args':['--show-profile-metatypes'], 'default': False, 'action': 'store_true', 'help': 'show descriptive meta information on session profiles in menus (NOTE: this makes menus appear a bit more sluggish, use it mostly for debugging)', }, + {'args':['--single-session-profile'], 'default': False, 'action': 'store_true', 'help': 'disable support of handling multiple session profiles', }, + {'args':['--tray-icon'], 'default': None, 'metavar': '', 'help': 'define an alternative system tray icon file (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, + {'args':['--tray-icon-connecting'], 'default': None, 'metavar': '', 'help': 'define an alternative system tray icon file while connecting to a server (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, + {'args':['--restricted-trayicon'], 'default': False, 'action': 'store_true', 'help': 'restricts session manager\'s main icon functionality to information window and application exit; on left-click only a minimal session menu is shown', }, + {'args':['--add-to-known-hosts'], 'default': False, 'action': 'store_true', 'help': 'automatically add SSH host keys to the known_hosts files of the client-side user', }, + {'args':['--start-on-connect'], 'default': False, 'action': 'store_true', 'help': 'This is now the hard-coded default. start a session directly after authentication if no session is currently running/suspended', }, + {'args':['--exit-on-disconnect'], 'default': False, 'action': 'store_true', 'help': 'exit the session manager after a server connection has died', }, + {'args':['--resume-newest-on-connect', '--resume-on-connect'], 'default': False, 'action': 'store_true', 'help': 'This is now the hard-coded default. On connect auto-resume the newest suspended session', }, + {'args':['--resume-oldest-on-connect'], 'default': False, 'action': 'store_true', 'help': 'on connect auto-resume the oldest suspended session', }, + {'args':['--resume-all-on-connect'], 'default': False, 'action': 'store_true', 'help': 'auto-resume all suspended sessions on connect', }, + {'args':['--disconnect-on-suspend'], 'default': False, 'action': 'store_true', 'help': 'disconnect a server if a session has been suspended', }, + {'args':['--disconnect-on-terminate'], 'default': False, 'action': 'store_true', 'help': 'disconnect a server if a session has been terminated', }, + {'args':['--splash-image'], 'default': None, 'metavar': '', 'help': 'define an alternative splash image that gets shown on application startup (PNG files only, full path or filename as found in /img)', }, + {'args':['--about-image'], 'default': None, 'metavar': '', 'help': 'define an alternative image for the application\'s ,,About\'\' window (PNG files only, full path or filename as found in /img)', }, + {'args':['--disable-splash'], 'default': False, 'action': 'store_true', 'help': 'disable the applications splash screen', }, + {'args':['--disable-options'], 'default': False, 'action': 'store_true', 'help': 'disable the client options configuration window', }, + {'args':['--disable-printingprefs'], 'default': False, 'action': 'store_true', 'help': 'disable the client\'s printing preferences window', }, + {'args':['--disable-profilemanager'], 'default': False, 'action': 'store_true', 'help': 'disable the session profile manager window', }, + {'args':['--disable-notifications'], 'default': False, 'action': 'store_true', 'help': 'disable all applet notifications', }, + {'args':['--display'], 'default': None, 'metavar': ':', 'help': 'set the DISPLAY environment variable to :', }, + {'args':['--logon-window-position'], 'default': None, 'metavar': 'x', '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': 10, 'metavar': '', 'help': 'the number of published applications that will be rendered without submenus', }, + ] +if _X2GOCLIENT_OS == 'Windows': + x2go_gui_options.append( + {'args':['--lang'], 'default': None, 'metavar': 'LANGUAGE', 'help': 'set the GUI language (currently available: en, de, nl, es)', }, + ) + +backend_options = [ + {'args':['--backend-controlsession'], 'default': None, 'metavar': '', 'choices': BACKENDS_CONTROLSESSION.keys(), 'help': 'force usage of a certain CONTROLSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-terminalsession'], 'default': None, 'metavar': '', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain TERMINALSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-serversessioninfo'], 'default': None, 'metavar': '', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain SERVERSESSIONINFO_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-serversessionlist'], 'default': None, 'metavar': '', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain SERVERSESSIONLIST_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-proxy'], 'default': None, 'metavar': '', 'choices': BACKENDS_PROXY.keys(), 'help': 'force usage of a certain PROXY_BACKEND (do not use this unless you know exactly what you are doing)', }, + {'args':['--backend-sessionprofiles'], 'default': None, 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing session profiles, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _profiles_backend_default), }, + {'args':['--backend-clientsettings'], 'default': None, 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing the client settings configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _settings_backend_default), }, + {'args':['--backend-clientprinting'], 'default': None, 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing the client printing configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _printing_backend_default), }, + ] + +if _X2GOCLIENT_OS == 'Windows': + contrib_options = [ + {'args':['--start-xserver'], 'default': False, 'action': 'store_true', 'help': 'start the XServer before starting the session manager application, detect best XServer automatically, if more than one XServer is installed on your system', }, + {'args':['-X', '--preferred-xserver'], 'default': None, 'metavar': '', 'choices': _known_xservers, 'help': 'start either of the currently supported XServers: %s -- make sure your preferred XServer is installed on your system' % _known_xservers, }, + {'args':['--start-pulseaudio'], 'default': False, 'action': 'store_true', 'help': 'start the PulseAudio server before starting the session manager application', }, + ] + +portable_options = [ + {'args':['--client-rootdir'], 'default': None, 'metavar': '', 'help': 'define an alternative location where to find plain text config files (default: /.x2goclient). This option will set ,,--backend-profiles FILE\'\', ,,--backend-clientsettings FILE\'\' and ,,--backend-clientprinting FILE\'\'', }, + {'args':['--sessions-rootdir'], 'default': None, 'metavar': '', 'help': 'define an alternative location for session runtime files'}, + {'args':['--ssh-rootdir'], 'default': None, 'metavar': '', 'help': 'define an alternative location for SSH files', }, + ] + + +def remove_pidfile(): + + if _X2GOCLIENT_OS in ('Linux', 'Mac'): + my_pid = str(os.getpid()) + if os.path.exists(os.path.expanduser("~/.x2go/pyhoca-gui/display.{pid}".format(pid=my_pid))): + os.remove(os.path.expanduser("~/.x2go/pyhoca-gui/display.{pid}".format(pid=my_pid))) + + +def parseargs(): + + global DEBUG + global print_action_args + + p = argparse.ArgumentParser(description='Graphical X2Go client implemented in (wx)Python.',\ + formatter_class=argparse.RawDescriptionHelpFormatter, \ + add_help=True, argument_default=None) + p_debugopts = p.add_argument_group('Debug options') + p_guiopts = p.add_argument_group('%s options' % PROG_NAME) + p_portableopts = p.add_argument_group('Portable application support') + p_backendopts = p.add_argument_group('Python X2Go backend options (for experts only)') + + if _X2GOCLIENT_OS == 'Windows': + p_contribopts = p.add_argument_group('XServer options (MS Windows only)') + p_portableopts = p.add_argument_group('File locations for portable setups (MS Windows only)') + _option_groups = ((p_guiopts, x2go_gui_options), (p_debugopts, debug_options), (p_contribopts, contrib_options), (p_portableopts, portable_options), (p_backendopts, backend_options), ) + else: + _option_groups = ((p_guiopts, x2go_gui_options), (p_debugopts, debug_options), (p_portableopts, portable_options), (p_backendopts, backend_options), ) + for (p_group, opts) in _option_groups: + required = False + for opt in opts: + + args = opt['args'] + del opt['args'] + p_group.add_argument(*args, **opt) + + a = p.parse_args() + + logger = _X2GoLogger(tag=PROG_NAME) + liblogger = _X2GoLogger() + + if a.debug: + logger.set_loglevel_debug() + + if a.libdebug: + liblogger.set_loglevel_debug() + + if a.quiet: + logger.set_loglevel_quiet() + liblogger.set_loglevel_quiet() + + if a.libdebug_sftpxfer: + liblogger.enable_debug_sftpxfer() + + if a.version: + version() + + if a.single_session_profile and a.session_profile is None: + runtime_error('The --single-session-profile option requires naming of a specific session profile!', parser=p) + + if a.non_interactive: + 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... + a.resume_all_on_connect = False + + if _X2GOCLIENT_OS == 'Windows' and a.preferred_xserver: + if a.preferred_xserver not in _installed_xservers: + runtime_error('Xserver ,,%s\'\' is not installed on your Windows system' % a.preferred_xserver, parser=p) + a.start_xserver = a.preferred_xserver + + if _X2GOCLIENT_OS == 'Windows' and a.start_xserver and a.display: + runtime_error('You can tell %s to handle XServer startup and then specify a DISPLAY environment variable!' % PROG_NAME, parser=p) + + if a.display: + os.environ.update({'DISPLAY': a.display}) + else: + if _X2GOCLIENT_OS == 'Windows' and not a.start_xserver: + os.environ.update({'DISPLAY': 'localhost:0'}) + + if a.client_rootdir: + a.client_rootdir = os.path.expanduser(a.client_rootdir) + + if a.sessions_rootdir: + a.sessions_rootdir = os.path.expanduser(a.sessions_rootdir) + + if a.ssh_rootdir: + a.ssh_rootdir = os.path.expanduser(a.ssh_rootdir) + + if a.client_rootdir: + a.backend_sessionprofiles='FILE' + a.backend_clientsettings='FILE' + a.backend_clientprinting='FILE' + + return a, logger, liblogger + +def main(): + args, logger, liblogger = parseargs() + if _X2GOCLIENT_OS == 'Windows': + if args.lang: + lang = gettext.translation('PyHoca-GUI', localedir=locale_basepath, languages=[args.lang], ) + else: + lang = gettext.translation('PyHoca-GUI', localedir=locale_basepath, languages=['en'], ) + lang.install(unicode=True) + else: + gettext.install('PyHoca-GUI', localedir=locale_basepath, unicode=True) + + if check_running(): + sys.stderr.write("\n###############################\n### %s: already running for user %s\n###############################\n" % (PROG_NAME, _CURRENT_LOCAL_USER)) + m = messages.PyHoca_MessageWindow_Ok(wx.App(), shortmsg='ALREADY_RUNNING', title=u'%s (%s)...' % (PROG_NAME, VERSION), icon='pyhoca-trayicon') + m.ShowModal() + version() + + thisPyHocaGUI = None + try: + thisPyHocaGUI = PyHocaGUI(args, logger, liblogger, appname=PROG_NAME, version=VERSION) + thisPyHocaGUI.MainLoop() + except KeyboardInterrupt: + if thisPyHocaGUI is not None: + thisPyHocaGUI.WakeUpIdle() + thisPyHocaGUI.ExitMainLoop() + except SystemExit: + if thisPyHocaGUI is not None: + thisPyHocaGUI.WakeUpIdle() + thisPyHocaGUI.ExitMainLoop() + + remove_pidfile() if __name__ == '__main__': - app = PyHocaGUI_Launcher() - app.setup_process() - app.setup_progname(PROG_NAME) - app.setup_devmode() - args, logger, liblogger = app.parseargs() - app.main(args=args, logger=logger, liblogger=liblogger) + main() + diff -Nru pyhoca-gui-0.5.0.3/pyhoca-gui.spec pyhoca-gui-0.4.0.9/pyhoca-gui.spec --- pyhoca-gui-0.5.0.3/pyhoca-gui.spec 1970-01-01 00:00:00.000000000 +0000 +++ pyhoca-gui-0.4.0.9/pyhoca-gui.spec 2015-09-23 07:21:47.000000000 +0000 @@ -0,0 +1,77 @@ +Name: pyhoca-gui +Version: 0.4.0.9 +Release: 0.0x2go1%{?dist} +Summary: Graphical X2Go client written in (wx)Python + +Group: Applications/Communications +License: AGPLv3+ +URL: http://www.x2go.org/ +Source0: http://code.x2go.org/releases/source/%{name}/%{name}-%{version}.tar.gz + +BuildArch: noarch +BuildRequires: python2-devel +BuildRequires: python-setuptools +BuildRequires: python-distutils-extra +BuildRequires: desktop-file-utils +BuildRequires: intltool +Requires: python-setproctitle +Requires: python-x2go +Requires: notify-python +Requires: wxPython +Requires: python-argparse +Requires: python-cups + +%description +X2Go is a server based computing environment with: + - session resuming + - low bandwidth support + - LDAP support + - client side mass storage mounting support + - client side printing support + - audio support + - authentication by smartcard and USB stick + +PyHoca-GUI is a slim X2Go client that docks to the desktop's +notification area and allows multiple X2Go session handling. + + +%prep +%setup -q + + +%build +%{__python} setup.py build + + +%install +%{__python} setup.py install -O1 --skip-build --root %{buildroot} +mkdir -p %{buildroot}%{_bindir}/ +cp -p %{name} %{buildroot}%{_bindir}/ +desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop + + +%post +/bin/touch --no-create %{_datadir}/icons/PyHoca &>/dev/null || : + +%postun +if [ $1 -eq 0 ] ; then + /bin/touch --no-create %{_datadir}/icons/PyHoca &>/dev/null + /usr/bin/gtk-update-icon-cache %{_datadir}/icons/PyHoca &>/dev/null || : +fi + +%posttrans +/usr/bin/gtk-update-icon-cache %{_datadir}/icons/PyHoca &>/dev/null || : + + +%files +%doc LICENSE.txt README TODO +%{_bindir}/%{name} +%{python_sitelib}/* +%{_datadir}/applications/%{name}.desktop +%{_datadir}/icons/PyHoca/ +%{_datadir}/pixmaps/pyhoca_x2go-logo-ubuntu.svg +%{_datadir}/pyhoca +%{_mandir}/man1/%{name}.1* + + +%changelog diff -Nru pyhoca-gui-0.5.0.3/README pyhoca-gui-0.4.0.9/README --- pyhoca-gui-0.5.0.3/README 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/README 2015-09-23 07:21:47.000000000 +0000 @@ -1,23 +1,19 @@ -pyhoca-gui - Copyright (C) 2010-2014 by Mike Gabriel - Copyright (C) 2010-2014 by Dick Kniep - +pyhoca-gui - Copyright (C) 2010-2013 by Mike Gabriel + Copyright (C) 2010-2013 by Dick Kniep + Published under the terms of the GNU Affero General Public License. -See http://www.gnu.org/licenses/agpl.html for a recent copy. +See http://www.gnu.org/licenses/gpl.html for a recent copy. === What is pyhoca-gui? === === Requirements === -* python-x2go (>= 0.5.0.0) -* python-argparse -* python-notify (libnotify bindings for Python) -* python-setproctitle (Linux only) -* wxPython (2.8 or 3.0) -* python-cups (Linux only) -* a working version of nxproxy/nxproxy.exe somewhere on your system (if you have - installed the X2Go Client application, everything should be in place) - +* the python-x2go module needs to be installed (of course) +* the python-argparse module needs to be available +* a working version of nxproxy/nxproxy.exe somewhere on your system (if you have + installed x2goclient, everything should be fine) +* wxPython (>= 2.8) is needed for the graphical beauty of pyhoca-gui... === Current features === @@ -28,8 +24,6 @@ * desktop sharing support * connect throug SSH proxy host (by forward tunneling) * session configuration fully compatible with X2Go Client -* http(s) session brokerage -* multimedia support (via Telekinesis / mTelePlayer) === How to use it === @@ -43,7 +37,8 @@ Thanks in advance for your feedback and contributions, -Fleckeby (Germany), 20142010 +Kiel (Germany) & LJ Almere Haven (Netherlands), 20130128 + Dick Kniep Mike Gabriel diff -Nru pyhoca-gui-0.5.0.3/README.i18n pyhoca-gui-0.4.0.9/README.i18n --- pyhoca-gui-0.5.0.3/README.i18n 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/README.i18n 2015-09-23 07:21:47.000000000 +0000 @@ -16,11 +16,11 @@ And, if you are new to the team and language files for the language you want to feel responsible for do not yet exist, please subscribe to this mailing list first: - http://lists.x2go.org/listinfo/x2go-i18n + http://lists.berlios.de/mailman/listinfo/x2go-i18n Once you are subscribed, send an email to - x2go-i18n@lists.x2go.org + x2go-i18n@lists.berlios.de that explains your willingness to translate this-and-that language. @@ -86,16 +86,9 @@ /pyhoca-gui/po/.po -to x2go-i18n@lists.x2go.org and remove your working copy of pyhoca-gui from +to x2go-i18n@lists.berlios.de and remove your working copy of pyhoca-gui from your system (or read how to use Git and keep the folder). - -Other translation files for PyHoca-GUI: ---------------------------------------- -The NSIS installer also has some translatable strings. Please take a look at the -subfolder nsis_include/ in the PyHoca-GUI source tree. - - Next time... ------------ You will get informed on x2go-i18n if a translation update is necessary. So check @@ -110,5 +103,4 @@ THANKS AGAIN FOR YOUR TIME!!! light+love, - - Mike Gabriel +Mike Gabriel \ No newline at end of file diff -Nru pyhoca-gui-0.5.0.3/README.ssh-agent pyhoca-gui-0.4.0.9/README.ssh-agent --- pyhoca-gui-0.5.0.3/README.ssh-agent 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/README.ssh-agent 2015-09-23 07:21:47.000000000 +0000 @@ -108,8 +108,3 @@ After you have applied this gconf change, logout and re-start a new GNOME (or XFCE) session. Now SSH agent stuff is handled properly through ssh-agent and the ssh-agent should also be aware of SSH agent forwarding connections. - - -Fleckeby (Germany), 20142010 - - Mike Gabriel \ No newline at end of file diff -Nru pyhoca-gui-0.5.0.3/README.Unity pyhoca-gui-0.4.0.9/README.Unity --- pyhoca-gui-0.5.0.3/README.Unity 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/README.Unity 2015-09-23 07:21:47.000000000 +0000 @@ -1,8 +1,8 @@ -pyhoca-gui - Copyright (C) 2010-2014 by Mike Gabriel - Copyright (C) 2010-2014 by Dick Kniep +pyhoca-gui - Copyright (C) 2010-2013 by Mike Gabriel + Copyright (C) 2010-2013 by Dick Kniep Published under the terms of the GNU Affero General Public License. -See http://www.gnu.org/licenses/agpl.html for a recent copy. +See http://www.gnu.org/licenses/gpl.html for a recent copy. === The PyHoca-GUI icon does not appear on Unity (Ubuntu 12.04 or later)? === @@ -13,12 +13,10 @@ As you can see: PyHoca-GUI is not among those... :-( -There used to be an easy way to either re-enable the Systray for all applications -or to whitelist a few applications (e.g. PyHoca-GUI) you can't live without. +But there's an easy way to either re-enable the Systray for all applications or to +whitelist a few applications (e.g. PyHoca-GUI) you can't live without. Read on to +learn how to get your systray back! - -Solution for Unity on Ubuntu 12.10 and 13.04... ------------------------------------------------ Allow all applications to appear in the systray: $ gsettings set com.canonical.Unity.Panel systray-whitelist "['all']" @@ -32,11 +30,5 @@ replace "YOUR_APPLICATION" with the application you want to whitelist (in our case: "pyhoca-gui"). - -No solution for Unity on recent Ubuntu versions... --------------------------------------------------- -Use Ubuntu MATE Remix instead!!! - - light+love -Mike Gabriel, 20142010 +Mike Gabriel, 20120531 diff -Nru pyhoca-gui-0.5.0.3/setup.py pyhoca-gui-0.4.0.9/setup.py --- pyhoca-gui-0.5.0.3/setup.py 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/setup.py 2015-09-23 07:21:47.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2014 by Mike Gabriel +# Copyright (C) 2010-2013 by Mike Gabriel # # PyHoca is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -21,51 +21,28 @@ # import the PyHoca-GUI import sys import os -import platform PROGRAM_NAME = 'PyHoca-GUI' -# Windows: UNINSTALL_NAME is for add/remove programs -UNINSTALL_NAME = 'PyHoca-GUI (A graphical X2Go client)' -SCRIPT_NAME = 'pyhoca-gui' PROGRAM_DESC = '%s is a cross-platform (Windows, MacOS X, Linux) graphical X2Go client.' % PROGRAM_NAME -PROGRAM_DESC_SHORT = '%s is a graphical X2Go client.' % PROGRAM_NAME - -# silence pyflakes with assigning a dummy version here... the real __VERSION__ assignment happens below -__VERSION__ = '0.0.0.0' for line in file(os.path.join('pyhoca', 'wxgui', '__init__.py')).readlines(): if (line.startswith('__VERSION__')): exec(line.strip()) PROGRAM_VERSION = __VERSION__ - PROGRAM_ICON = "pixmaps/pyhoca_x2go-logo-ubuntu.ico" -# Windows: UNINSTALL_ICON is for add/remove programs. -UNINSTALL_ICON = "icons\\pyhoca-gui.ico" LICENSE = 'AGPLv3+' AUTHOR = 'Mike Gabriel, Dick Kniep' -PUBLISHER = 'X2Go Project' URL = 'http://www.x2go.org' LIBRARY_ZIP = r"lib\shardlib.zip" -if platform.system() == 'Windows': - REGULAR_NSIS = os.path.join(os.environ['ProgramFiles'], 'NSIS', 'makensis.exe') - UNICODE_NSIS = os.path.join(os.environ['ProgramFiles'], 'NSIS','Unicode', 'makensis.exe') - -from setuptools import setup -from distutils.core import Command +from setuptools import setup, find_packages +from distutils.core import setup, Command +import platform base = None executables = [] if platform.system() == 'Windows': default_win32exe_freezer = 'bbfreeze' - - # Prefer Unicode NSIS over regular NSIS. - # See x2goclient bug #528 for reasoning. - # This should be reevaluated once regular NSIS 3.0 is released. - if os.path.isfile(UNICODE_NSIS): - NSIS_COMPILE = UNICODE_NSIS - else: - NSIS_COMPILE = REGULAR_NSIS - + NSIS_COMPILE = os.path.join(os.environ['ProgramFiles'], 'NSIS', 'makensis.exe') if 'build_with_py2exe' in (sys.argv[1], 'build_with_{freezer}'.format(freezer=default_win32exe_freezer)): from py2exe.build_exe import py2exe Freezer = object @@ -80,9 +57,7 @@ sys.path.append(os.path.normpath('../pyhoca-contrib/mswin/ms-vc-runtime')) elif platform.system() == 'Linux': - import DistUtilsExtra.command.build_extra - import DistUtilsExtra.command.build_i18n - import DistUtilsExtra.command.clean_i18n + from DistUtilsExtra.command import * py2exe = object Freezer = object @@ -113,14 +88,10 @@ class NSISScript(object): - def __init__(self, program_name, uninstall_name, program_desc, program_desc_short, program_version, publisher, url, dist_dir, icon_loc): + def __init__(self, program_name, program_desc, program_version, dist_dir, icon_loc): self.program_name = program_name - self.uninstall_name = uninstall_name self.program_desc = program_desc - self.program_desc_short = program_desc_short self.program_version = program_version - self.publisher = publisher - self.url = url self.dist_dir = dist_dir self.icon_loc = icon_loc self.pathname = "setup_%s.nsi" % self.program_name @@ -128,22 +99,19 @@ def create(self): contents = NSIS_SCRIPT_TEMPLATE.format( program_name = self.program_name, - uninstall_name = self.uninstall_name, program_version = self.program_version, program_desc = self.program_desc, - program_desc_short = self.program_desc_short, - publisher = self.publisher, - url = self.url, output_dir = self.dist_dir, - icon_location = self.icon_loc - ) + icon_location = os.path.join(self.dist_dir, self.icon_loc)) with open(self.pathname, "w") as outfile: outfile.write(contents) def compile(self): subproc = subprocess.Popen( - [NSIS_COMPILE, self.pathname], env=os.environ) + # "/P5" uses realtime priority for the LZMA compression stage. + # This can get annoying though. + [NSIS_COMPILE, self.pathname, "/P5"], env=os.environ) subproc.communicate() retcode = subproc.returncode @@ -176,14 +144,10 @@ # Create the installer, using the files py2exe has created. script = NSISScript( PROGRAM_NAME, - UNINSTALL_NAME, PROGRAM_DESC, - PROGRAM_DESC_SHORT, PROGRAM_VERSION, - PUBLISHER, - URL, self.dist_dir, - UNINSTALL_ICON + os.path.normpath(PROGRAM_ICON) ) print "*** creating the NSIS setup script***" script.create() @@ -223,7 +187,6 @@ self.excludes = [] self.packages = [] self.compressed = False - self.include_py = False self.dist_dir = None def finalize_options(self): @@ -236,14 +199,12 @@ if not os.path.exists(self.dist_dir): os.makedirs(self.dist_dir) - def do_build_exe(self): Freezer.__init__(self, self.dist_dir, includes=self.includes, excludes=self.excludes, ) - self.addScript(SCRIPT_NAME, gui_only=True) - self.setIcon('pixmaps/pyhoca-gui.ico') + self.addScript("pyhoca-gui", gui_only=True) Freezer.__call__(self) if self.distribution.has_data_files(): print "*** copy data files ***" @@ -265,16 +226,15 @@ if platform.system() == 'Windows': dll_data_files = [("Microsoft.VC90.CRT", glob(r'..\\pyhoca-contrib\\mswin\\ms-vc-runtime\\*.*'))] - nxproxy_files = [("nxproxy", glob(r'..\\pyhoca-contrib\\mswin\\nxproxy-mswin\\nxproxy-3.5.0.27_cygwin-2014-10-18\\*.*'))] - pulseaudio_files = [("pulseaudio", glob(r'..\\pyhoca-contrib\\mswin\\pulseaudio-mswin\\pulseaudio-5.0-rev18\\*.*'))] - xserver_files = datafilelist('vcxsrv', r'..\\pyhoca-contrib\\mswin\\vcxsrv-mswin\\VcXsrv-1.15.2.1-xp+vc2013+x2go1') + nxproxy_files = [("nxproxy", glob(r'..\\pyhoca-contrib\\mswin\\nxproxy-mswin\\nxproxy-3.5.0.12\\*.*'))] + pulseaudio_files = [("pulseaudio", glob(r'..\\pyhoca-contrib\\mswin\\pulseaudio-mswin\\pulseaudio-1.1\\*.*'))] + xserver_files = datafilelist('vcxsrv', r'..\\pyhoca-contrib\\mswin\\vcxsrv-mswin\\vcxsrv-1.14.2.0') icon_files = datafilelist('icons\\PyHoca', r'icons\\PyHoca') img_files = [("img", glob(r'img\\*.*'))] i18n_files = datafilelist('mo', r'build\\mo') data_files.extend([ ('icons', ["pixmaps\\pyhoca-gui.ico"]), ] + - [ ('icons', ["pixmaps\\pyhoca_x2go-logo-ubuntu.ico"]), ] + dll_data_files + icon_files + img_files + @@ -295,9 +255,9 @@ elif platform.system() == 'Linux': cmd_class.update( { - "build" : DistUtilsExtra.command.build_extra.build_extra, - "build_i18n" : DistUtilsExtra.command.build_i18n.build_i18n, - "clean": DistUtilsExtra.command.clean_i18n.clean_i18n, + "build" : build_extra.build_extra, + "build_i18n" : build_i18n.build_i18n, + "clean": clean_i18n.clean_i18n, } ) @@ -310,13 +270,10 @@ manpage_files = [ ('{prefix}/share/man/man1'.format(prefix=sys.prefix), glob('man/man1/*.1')), ] - i18n_files = datafilelist('{prefix}/share/locale'.format(prefix=sys.prefix), 'build/mo') - data_files.extend(icon_files + img_files + desktop_files + - manpage_files + - i18n_files + manpage_files ) if platform.system() == 'Windows': @@ -332,7 +289,7 @@ 'optimize': 2, }, 'build_with_bbfreeze': { - 'includes': ['hmac', 'greenlet', 'gevent.core', 'gevent.ares', 'gevent._semaphore', 'gevent._util', 'gevent.resolver_thread', 'gevent.resolver_ares', 'gevent.server', 'gevent.socket', 'gevent.threadpool', 'gevent.select', 'gevent.subprocess', 'distutils.version', 'Crypto', 'Crypto.Random', 'Crypto.Hash', 'Crypto.PublicKey', 'Crypto.PublicKey.DSA', 'Crypto.PublicKey.RSA', 'Crypto.Cipher', 'Crypto.Cipher.AES', 'Crypto.Cipher.ARC4', 'Crypto.Cipher.Blowfish', 'Crypto.Cipher.DES3', 'Crypto.Util', 'getpass', 'platform', 'uuid', 'ConfigParser', 'win32process', 'win32event', 'ctypes', 'ctypes.wintypes', 'requests', ], + 'includes': ['greenlet', 'gevent.core', 'gevent.ares', 'gevent._semaphore', 'gevent._util', 'gevent.resolver_thread', 'gevent.resolver_ares', 'gevent.server', 'gevent.socket', 'gevent.threadpool', 'gevent.select', 'gevent.subprocess', 'distutils.version', 'Crypto', 'Crypto.Random', 'Crypto.Hash', 'Crypto.PublicKey', 'Crypto.PublicKey.DSA', 'Crypto.PublicKey.RSA', 'Crypto.Cipher', 'Crypto.Cipher.AES', 'Crypto.Cipher.ARC4', 'Crypto.Cipher.Blowfish', 'Crypto.Cipher.DES3', 'Crypto.Util', 'getpass', 'platform', 'uuid', 'ConfigParser', 'win32process', 'win32event', 'ctypes', 'ctypes.wintypes', ], 'excludes': ['MSVCR90.dll', 'MSVCP90.dll', ], } } @@ -340,29 +297,27 @@ else: cmd_options={} - -if __name__ == "__main__": - setup( - name = PROGRAM_NAME, - version = PROGRAM_VERSION, - description = PROGRAM_DESC, - license = LICENSE, - author = AUTHOR, - url = URL, - namespace_packages = [ 'pyhoca', ], - packages = [ 'pyhoca.wxgui', ], - package_dir = {'': '.'}, - install_requires = [ 'setuptools', ], - cmdclass = cmd_class, - windows = [ - { - "script": SCRIPT_NAME, - "icon_resources": [(0, os.path.normpath(PROGRAM_ICON))], - "dest_base": PROGRAM_NAME, - }, - ], - data_files = data_files, - zipfile = LIBRARY_ZIP, - executables = executables, - options = cmd_options, - ) +setup( + name = PROGRAM_NAME, + version = PROGRAM_VERSION, + description = PROGRAM_DESC, + license = LICENSE, + author = AUTHOR, + url = URL, + namespace_packages = [ 'pyhoca', ], + packages = [ 'pyhoca.wxgui', ], + package_dir = {'': '.'}, + install_requires = [ 'setuptools', ], + cmdclass = cmd_class, + windows = [ + { + "script": "pyhoca-gui", + "icon_resources": [(0, os.path.normpath(PROGRAM_ICON))], + "dest_base": PROGRAM_NAME, + }, + ], + data_files=data_files, + zipfile = LIBRARY_ZIP, + executables = executables, + options=cmd_options, +) diff -Nru pyhoca-gui-0.5.0.3/TODO pyhoca-gui-0.4.0.9/TODO --- pyhoca-gui-0.5.0.3/TODO 2014-11-27 10:36:02.000000000 +0000 +++ pyhoca-gui-0.4.0.9/TODO 2015-09-23 07:21:47.000000000 +0000 @@ -1,13 +1,13 @@ -pyhoca-gui - Copyright (C) 2010-2014 by Mike Gabriel - Copyright (C) 2010-2014 by Dick Kniep +pyhoca-gui - Copyright (C) 2010-2013 by Mike Gabriel + Copyright (C) 2010-2013 by Dick Kniep Published under the terms of the GNU Affero General Public License. See http://www.gnu.org/licenses/gpl.html for a recent copy. === pyhoca-gui TODOs === -* client settings manager (including broker settings) - +* profile manager (Windows registry based) +* options manager === pyhoca-gui Wishlist === @@ -16,6 +16,7 @@ If you find any issues with this programme please let me know. -Fleckeby (Germany), 20142010 +Kiel (Germany) & LJ Almere Haven (Netherlands), 20130128 Mike Gabriel + Dick Kniep