[X2go-Commits] x2goclient.git - build-main (branch) updated: 3.99.1.1

X2Go dev team git-admin at x2go.org
Wed Mar 7 20:43:52 CET 2012


The branch, build-main has been updated
       via  188aa3277110f48cdc58754b69a7b1c9a9e63cdc (commit)
       via  e43d7eb9a0e8654bbfc6c6a667c30d2f48eaf7df (commit)
       via  f9f9efef4450485b53cf43100d1ad14ea8f96b16 (commit)
       via  3b20e0e71cf3c01b1f73ecee2014c4ddf5c07a3f (commit)
       via  93d11591928f54ff28a06edd10cb13494ef10d41 (commit)
       via  db39c41e27721872a3c235298c42c41d202d35b6 (commit)
       via  acc0632ba462e6e3be91bb70e812c00fcfb176c6 (commit)
       via  178a4015b4928a708fa37dd507c0a5f89fa152cf (commit)
       via  c8b59f5802e87941dd8c8a462b8b6173e32eb8d9 (commit)
       via  437e34c48f017b0014bb422da512f2bcd0e07710 (commit)
       via  236d841becb21398f6137f6e8c569494f10ab11f (commit)
       via  0cf7b36b26b81dd2bbb650474ee8af71f82e2ff1 (commit)
       via  ad93ba72500277997ffb92b966dc7d14a5fbe14a (commit)
       via  4a931302e089e07c9d9f01ca263c1c682ce00974 (commit)
       via  a783ba67041653511cff25031dc9c81995225e66 (commit)
       via  c56b99a96b23d2978231b5d3a892b658a727e363 (commit)
       via  4375d10a6834c67ddf638ea52a121d8e04840a0a (commit)
      from  5f90e9ae43cecf2e82ec10ae93e64a854383f763 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 .gitignore                 |   17 ++++
 Makefile                   |    4 +-
 VERSION                    |    2 +-
 config_win.bat             |    1 +
 configdialog.cpp           |    2 +-
 debian/changelog           |   36 ++++++++
 desktop/x2goclient.desktop |    2 +-
 onmainwindow.cpp           |   69 ++++++++++++++-
 onmainwindow.h             |    7 ++-
 onmainwindow_part2.cpp     |   11 ++-
 onmainwindow_part3.cpp     |   93 +++++++++------------
 onmainwindow_part4.cpp     |   34 +++++---
 onmainwindow_privat.h      |    6 +-
 png/power-button.png       |  Bin 0 -> 762 bytes
 resources.rcc              |    1 +
 sshmasterconnection.cpp    |    4 +
 sshprocess.h               |    5 +-
 version.h                  |    2 +-
 x2goclient.pro             |  201 ++++++++++++++++++++++----------------------
 x2goclient_de.ts           |    4 +-
 x2goclient_en.ts           |    2 +-
 x2goclient_fr.ts           |    2 +-
 x2goclient_nb_no.ts        |    4 +-
 x2goclient_ru.ts           |    4 +-
 x2goclient_sv.ts           |   39 +++++----
 x2goclient_zh_tw.ts        |    2 +-
 x2goplugin.rc              |   10 +-
 27 files changed, 348 insertions(+), 216 deletions(-)
 create mode 100644 .gitignore
 create mode 100644 png/power-button.png

The diff of changes is:
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..721e32c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,17 @@
+# Temporary object files/static libs.
+*.[oa]
+
+# Generated by qmake.
+moc_*.cpp
+ui_*.h
+qrc_resources.cpp
+
+# VIM temporary files.
+.*.sw*
+
+# Generated by lrelease.
+x2goclient_*.qm
+
+# Generated by qmake when building on OS X.
+x2goclient.app
+
diff --git a/Makefile b/Makefile
index 5831516..30c12dc 100755
--- a/Makefile
+++ b/Makefile
@@ -28,12 +28,12 @@ all: build
 build: build_client build_plugin build_man
 
 build_client:
-	lrelease-qt4 x2goclient.pro
+	lrelease x2goclient.pro
 	mkdir -p $(CLIENT_DIR) && cd $(CLIENT_DIR) && qmake-qt4 ../x2goclient.pro
 	cd $(CLIENT_DIR) && $(MAKE)
 
 build_plugin:
-	lrelease-qt4 x2goclient.pro
+	lrelease x2goclient.pro
 	mkdir -p $(PLUGIN_DIR) && cd $(PLUGIN_DIR) && X2GO_CLIENT_TARGET=plugin qmake-qt4 ../x2goclient.pro
 	cd $(PLUGIN_DIR) && $(MAKE)
 
diff --git a/VERSION b/VERSION
index 57055b8..bac3e99 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.99.1.0
+3.99.1.1
diff --git a/config_win.bat b/config_win.bat
index 98f1987..695b3e2 100755
--- a/config_win.bat
+++ b/config_win.bat
@@ -1,4 +1,5 @@
 mingw32-make distclean
+lrelease x2goclient.pro
 set X2GO_CLIENT_TARGET=
 qmake
 
diff --git a/configdialog.cpp b/configdialog.cpp
index 6dad751..e8e2a43 100644
--- a/configdialog.cpp
+++ b/configdialog.cpp
@@ -4,7 +4,7 @@
 // Description:
 //
 //
-// Author: Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>, (C) 2006-2011
+// Author: Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>, (C) 2006-2012
 //
 // Copyright: See COPYING file that comes with this distribution
 //
diff --git a/debian/changelog b/debian/changelog
index db8002c..43f67dd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,39 @@
+x2goclient (3.99.1.1-0~x2go1) unstable; urgency=low
+
+  [ Oleksandr Shneyder ]
+  * New upstream version (3.99.1.1):
+    - not including <netinet/in.h> on Q_OS_WIN platform.
+    - not updating Xinerama configuration in "fullscreen" mode.
+    - command line argument "--xinerama": use Xinerama by default.
+    - improved support for use in TCE
+      command line argument --thinclient - running without window manager
+      command line argument --haltbt - button to shutdown the thin client
+    - Fix comments in copyright headers.
+
+  [ Mike Gabriel ]
+  * New upstream version (3.99.1.1):
+    - Update copyright year in about window. Including all translations.
+    - Power button icon: make inner part transparent. Needed for people
+      with a dark GUI theme.
+    - Prettify x2goclient.pro.
+
+  [ Mihai Moldovan ]
+  * New upstream version (3.99.1.1):
+    - Use the Mac OS X 10.5 SDK instead 10.6 to remain compatible with
+      Leopard.
+    - Add .gitignore file.
+    - The default of a 10 seconds SSH connection timeout is pretty low,
+      especially when using tcp_wrappers with the identd option turned on.
+      Wait for a 60 seconds timeout.
+    - On Mac OS X connect to Xserver via Unix file socket.
+    - Properly set DISPLAY environment variable on Mac OS X.
+
+  [ Daniel Lindgren ]
+  * New upstream version (3.99.1.1):
+    - Update/improve Swedish translation after testing x2goclient on Windows.
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 07 Mar 2012 20:42:36 +0100
+
 x2goclient (3.99.1.0-0~x2go1) unstable; urgency=low
 
   [ Mike Gabriel ]
diff --git a/desktop/x2goclient.desktop b/desktop/x2goclient.desktop
index ba3e4ac..fd29411 100644
--- a/desktop/x2goclient.desktop
+++ b/desktop/x2goclient.desktop
@@ -1,6 +1,6 @@
 [Desktop Entry]
 Encoding=UTF-8
-Version=3.99.1.0
+Version=3.99.1.1
 Type=Application
 Name=X2Go Client
 Exec=/usr/bin/x2goclient
diff --git a/onmainwindow.cpp b/onmainwindow.cpp
index a543ce1..aa15ae6 100644
--- a/onmainwindow.cpp
+++ b/onmainwindow.cpp
@@ -1,9 +1,9 @@
-/***************************************************************************
-*   Copyright (C) 2005-2012 by Oleksandr Shneyder   *
-*   oleksandr.shneyder at obviously-nice.de   *
+/**************************************************************************
+*   Copyright (C) 2005-2012 by Oleksandr Shneyder                         *
+*   oleksandr.shneyder at obviously-nice.de                                  *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
-*   it under the terms of the GNU General Public License as published by  F*
+*   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
@@ -57,6 +57,8 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent )
     extLogin=false;
     startMaximized=false;
     startHidden=false;
+    thinMode=false;
+    showHaltBtn=false;
     defaultUseSound=true;
     defaultSetKbd=true;
     defaultSetDPI=false;
@@ -64,6 +66,7 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent )
     extStarted=false;
     defaultLink=2;
     defaultFullscreen=false;
+    defaultXinerama=false;
     acceptRsa=false;
     cardStarted=false;
     cardReady=false;
@@ -392,6 +395,28 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent )
               SLOT ( slotResize ( const QSize ) ) );
     slotResize ( fr->size() );
 
+
+
+#ifdef Q_OS_LINUX
+    if (thinMode)
+    {
+        QTimer *timer = new QTimer(this);
+        connect(timer, SIGNAL(timeout()), this, SLOT(slotSyncX()));
+        timer->start(200);
+    }
+#endif
+    if (showHaltBtn)
+    {
+        QPushButton* bHalt=new QPushButton(bgFrame);
+        QPixmap p(":/png/power-button.png");
+        bHalt->setIcon(p);
+        bHalt->setFocusPolicy(Qt::NoFocus);
+        bHalt->setFixedSize(32,32);
+        bHalt->move(10,10);
+        bHalt->show();
+        connect(bHalt,SIGNAL(clicked()),this, SLOT(slotShutdownThinClient()));
+    }
+
     if (brokerMode)
     {
         broker=new HttpBrokerClient ( this, &config );
@@ -418,6 +443,12 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent )
     connect( xineramaTimer, SIGNAL(timeout()), this, SLOT(slotConfigXinerama()));
 
     x2goDebug<<"ONMainWindows constructor finished, home Directory is:"<<homeDir<<endl;
+    if (thinMode)
+    {
+        showMaximized();
+        activateWindow();
+        raise();
+    }
 }
 
 
@@ -429,8 +460,38 @@ ONMainWindow::~ONMainWindow()
     x2goDebug<<"end of ONMainWindow destructor";
 }
 
+void ONMainWindow::slotShutdownThinClient()
+{
+    QFile file(QDir::homePath()+"/.halt");
+    if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
+        return;
+
+    QTextStream out(&file);
+    out << "\n";
+    file.close();
+}
 
 
+void ONMainWindow::slotSyncX()
+{
+    if (proxyWinId)
+    {
+        if (!isHidden())
+            hide();
+#ifdef Q_OS_LINUX
+        XSync(QX11Info::display(),false);
+#endif
+    }
+    else
+    {
+        if (isHidden())
+        {
+            showMaximized();
+            activateWindow();
+            raise();
+        }
+    }
+}
 
 
 void ONMainWindow::installTranslator()
diff --git a/onmainwindow.h b/onmainwindow.h
index 79d60e4..1f2f08f 100644
--- a/onmainwindow.h
+++ b/onmainwindow.h
@@ -132,6 +132,7 @@ struct x2goSession
     QString sndPort;
     QString fsPort;
     int colorDepth;
+    bool fullscreen;
     enum {DESKTOP,ROOTLESS,SHADOW} sessionType;
     QString command;
     void operator = ( const x2goSession& s );
@@ -464,6 +465,7 @@ private:
     bool startMaximized;
     bool startHidden;
     bool defaultUseSound;
+    bool defaultXinerama;
     bool cardStarted;
     bool defaultSetKbd;
     bool showExport;
@@ -474,6 +476,7 @@ private:
     bool changeBrokerPass;
     bool connTest;
     bool embedMode;
+    bool thinMode;
     QString statusString;
     int defaultLink;
     int defaultQuality;
@@ -626,6 +629,7 @@ private:
     bool proxyWinEmbedded;
     bool useLdap;
     bool showToolBar;
+    bool showHaltBtn;
     bool newSession;
     bool ldapOnly;
     bool isScDaemonOk;
@@ -820,7 +824,6 @@ private slots:
     void slotChangeBrokerPass();
     void slotTestConnection();
     void slotCheckPortableDir();
-
     void readUsers();
     void slotSelectedFromList ( UserButton* user );
     void slotUnameEntered();
@@ -835,6 +838,8 @@ private slots:
     void slotSshConnectionOk();
     void slotServSshConnectionOk(QString server);
     void slotChangeKbdLayout(const QString& layout);
+    void slotSyncX();
+    void slotShutdownThinClient();
 
 public slots:
     void slotConfig();
diff --git a/onmainwindow_part2.cpp b/onmainwindow_part2.cpp
index 7d1a206..e8df279 100644
--- a/onmainwindow_part2.cpp
+++ b/onmainwindow_part2.cpp
@@ -730,6 +730,7 @@ void ONMainWindow::startNewSession()
         cmd+=sessTypeStr+QString::number ( shadowMode ) +"XSHAD"+
              shadowUser+"XSHAD"+shadowDisplay;
     }
+    resumingSession.fullscreen=fullscreen;
     x2goDebug<<cmd<<endl;
     if ( managedMode )
     {
@@ -908,6 +909,7 @@ void ONMainWindow::resumeSession ( const x2goSession& s )
         geometry=QString::number ( width ) +"x"+
                  QString::number ( height );
     }
+    resumingSession.fullscreen=fullscreen;
     QString link;
     switch ( speed )
     {
@@ -1898,12 +1900,17 @@ void ONMainWindow::slotTunnelOk()
     env << "NX_CLIENT="+QCoreApplication::applicationFilePath ();
 
 #if defined ( Q_OS_WIN ) || defined ( Q_OS_DARWIN )
+    // On Mac OS X, we want to make sure that DISPLAY is set to a proper value,
+    // but at the same time don't want to set the value ourselves but keep
+    // the provided one.
     QString disp=getXDisplay();
     if ( disp==QString::null )
     {
         //slotProxyerror ( QProcess::FailedToStart );
         return;
     }
+#endif // Q_OS_WIN || Q_OS_DARWIN
+#if defined ( Q_OS_WIN )
     if ( dispInd==-1 )
     {
         env <<"DISPLAY=localhost:"+disp;
@@ -1915,8 +1922,8 @@ void ONMainWindow::slotTunnelOk()
         /*		x2goDebug<<"existing env DISPLAY("<<dispInd<<
         		") DISPLAY=localhost:"+disp<<endl;*/
     }
-#endif
-#ifdef Q_OS_DARWIN
+#endif // Q_OS_WIN
+#if defined ( Q_OS_DARWIN )
     //setting /usr/X11/bin to find xauth
     env.insert (
         0,
diff --git a/onmainwindow_part3.cpp b/onmainwindow_part3.cpp
index a2ff1e6..21434e2 100644
--- a/onmainwindow_part3.cpp
+++ b/onmainwindow_part3.cpp
@@ -1,9 +1,9 @@
-/***************************************************************************
-*   Copyright (C) 2005-2012 by Oleksandr Shneyder   *
-*   oleksandr.shneyder at obviously-nice.de   *
+/**************************************************************************
+*   Copyright (C) 2005-2012 by Oleksandr Shneyder                         *
+*   oleksandr.shneyder at obviously-nice.de                                  *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
-*   it under the terms of the GNU General Public License as published by  F*
+*   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
@@ -247,6 +247,22 @@ bool ONMainWindow::parseParameter ( QString param )
         startMaximized=true;
         return true;
     }
+    if ( param=="--xinerama" )
+    {
+        defaultXinerama=true;
+        return true;
+    }
+    if (param == "--thinclient")
+    {
+      thinMode=true;
+      startMaximized=true;
+      return true;
+    }
+    if (param == "--haltbt")
+    {
+      showHaltBtn=true;
+      return true;
+    }
     if ( param=="--hide" )
     {
         startHidden=true;
@@ -694,7 +710,10 @@ void ONMainWindow::showHelp()
         "--hide\t\t\t\t start hidden\n"
         "--portable\t\t\t start in \"portable\" mode\n"
         "--pgp-card\t\t\t use openPGP card authentication\n"
+        "--xinerama\t\t\t use Xinerama by default\n"
         "--ldap-printing\t\t\t allow client side printing in LDAP mode\n"
+        "--thinclient\t\t\t run without window manager\n"
+        "--haltbt\t\t\t show shutdown button\n"
         "--add-to-known-hosts\t\t add RSA key fingerprint to "
         ".ssh/known_hosts\n"
         "\t\t\t\t if authenticity of server can't be established\n\n"
@@ -1520,7 +1539,7 @@ void ONMainWindow::slotSupport()
 void ONMainWindow::slotAbout()
 {
     QString aboutStr=tr (
-                         "</b><br> (C. 2006-2011 <b>obviously nice</b>: "
+                         "</b><br> (C. 2006-2012 <b>obviously nice</b>: "
                          "Oleksandr Shneyder, Heinz-Markus Graesing)<br>" );
     if ( embedMode )
         aboutStr+=tr ( "<br>x2goplugin mode was sponsored by "
@@ -2035,63 +2054,29 @@ bool ONMainWindow::checkAgentProcess()
 #if defined ( Q_OS_DARWIN )
 QString ONMainWindow::getXDisplay()
 {
-    QTcpSocket tcpSocket ( this );
-    uint dispNumber=0;
-    QString xname,xdir,xopt;
-    dispNumber=0;
-    xdir=ConfigDialog::getXDarwinDirectory();
-    xname=xdir+"/Contents/MacOS/X11";
-    xopt=" -rootless :0";
+    QLocalSocket unixSocket (this);
+    QString xsocket (getenv ("DISPLAY"));
 
-    //for newer versions of XQuartz start startx instead of X11.app
-    xname="/usr/X11/bin/startx";
-    xopt="";
-    tcpSocket.connectToHost ( "127.0.0.1",6000+dispNumber );
-
-    if ( tcpSocket.waitForConnected ( 3000 ) )
-    {
-        tcpSocket.close();
-        return QString::number ( dispNumber );
-    }
-    if ( xname==QString::null )
+    // OS X starts the X11 server automatically, as soon as the launchd UNIX socket
+    // is accessed.
+    // On user login, the DISPLAY environment variable is set to this said existing
+    // socket.
+    // By now, we should have a socket. Test, if connecting works.
+    if ((!xsocket.isEmpty ()))
     {
-        QMessageBox::critical (
-            this,tr ( "Can't connect to X-Server" ),
-            tr (
-                "Can't connect to X-Server\nPlease check your settings"
-            ) );
-        slotConfig();
-        return QString::null;
-    }
-    QProcess* pr=new QProcess ( this );
-    pr->setWorkingDirectory ( xdir );
-    pr->start ( xname+" "+xopt,QIODevice::NotOpen );
-    if ( pr->waitForStarted ( 3000 ) )
-    {
-#ifdef Q_OS_DARWIN
-        //FIXME: the call of unistd.h sleep() do not work on all
-        // Mac OS X systems
-        system ( "sleep 3" );
-#endif
+        unixSocket.connectToServer (xsocket);
 
-        tcpSocket.connectToHost ( "127.0.0.1",6000+dispNumber );
-        if ( tcpSocket.waitForConnected ( 1000 ) )
+        if (unixSocket.waitForConnected (10000))
         {
-            tcpSocket.close();
-            return QString::number ( dispNumber );
+            unixSocket.disconnectFromServer ();
+            return (xsocket);
         }
-        QMessageBox::critical (
-            this,tr ( "Can't connect to X-Server" ),
-            tr (
-                "Can't connect to X-Server\nPlease check your settings"
-            ) );
-        slotConfig();
-        return QString::null;
     }
+    // And if not, error out.
     QMessageBox::critical (
-        this,QString::null,
+        this,tr ( "Can't connect to X server\nPlease check your settings" ),
         tr (
-            "Can't start X Server\nPlease check your settings" ) );
+            "Can't start X server\nPlease check your settings" ) );
     slotConfig();
     return QString::null;
 }
diff --git a/onmainwindow_part4.cpp b/onmainwindow_part4.cpp
index 39343a1..25ca9a1 100644
--- a/onmainwindow_part4.cpp
+++ b/onmainwindow_part4.cpp
@@ -1107,18 +1107,22 @@ void ONMainWindow::slotConfigXinerama()
     if (newGeometry==lastDisplayGeometry)
         return;
     lastDisplayGeometry=newGeometry;
-   x2goDebug<<"New proxy geometry: "<<lastDisplayGeometry<<endl;
+    x2goDebug<<"New proxy geometry: "<<lastDisplayGeometry<<endl;
     QDesktopWidget* root=QApplication::desktop();
     QList<QRect> newXineramaScreens;
     for (int i=0; i< root->numScreens();++i)
     {
-        QRect intersection=root->screenGeometry(i).intersected(lastDisplayGeometry);
+        QRect intersection;
+        if (resumingSession.fullscreen)
+            intersection=root->screenGeometry(i);
+        else
+            intersection=root->screenGeometry(i).intersected(lastDisplayGeometry);
         if (!intersection.isNull())
         {
-       x2goDebug<<"intersected with "<<i<<": "<<intersection<<endl;
+            x2goDebug<<"intersected with "<<i<<": "<<intersection<<endl;
             intersection.moveLeft(intersection.x()-lastDisplayGeometry.x());
             intersection.moveTop(intersection.y()-lastDisplayGeometry.y());
-       x2goDebug<<"xinerama screen: "<<intersection<<endl;
+            x2goDebug<<"xinerama screen: "<<intersection<<endl;
             newXineramaScreens<<intersection;
         }
     }
@@ -1143,6 +1147,8 @@ void ONMainWindow::slotConfigXinerama()
 
 void ONMainWindow::slotXineramaConfigured()
 {
+    if (resumingSession.fullscreen)
+        return;
     if (xinSizeInc == -1)
         xinSizeInc=1;
     else
@@ -1167,8 +1173,8 @@ void ONMainWindow::slotFindProxyWin()
 {
 #ifndef Q_OS_DARWIN
     x2goDebug<<"search proxy win: "<<"X2GO-"+resumingSession.sessionId;
-
     proxyWinId=findWindow ( "X2GO-"+resumingSession.sessionId );
+    bool xinerama=defaultXinerama;
     if ( proxyWinId )
     {
         x2goDebug<<"proxy win found:"<<proxyWinId;
@@ -1188,14 +1194,8 @@ void ONMainWindow::slotFindProxyWin()
             else
                 st= new X2goSettings( "sessions" );
             uint displays=QApplication::desktop()->numScreens();
-            if (st->setting()->value ( sid+"/xinerama",
-                                       ( QVariant ) false ).toBool())
-            {
-                x2goDebug<<"Starting xinerama timer\n";
-                lastDisplayGeometry=QRect();
-                xineramaScreens.clear();
-                xineramaTimer->start(500);
-            }
+            xinerama=st->setting()->value ( sid+"/xinerama",
+                                            ( QVariant ) defaultXinerama ).toBool();
             if (st->setting()->value ( sid+"/multidisp",
                                        ( QVariant ) false ).toBool())
             {
@@ -1209,6 +1209,14 @@ void ONMainWindow::slotFindProxyWin()
                 return;
             }
         }
+        if (xinerama)
+        {
+            x2goDebug<<"Starting xinerama timer\n";
+            lastDisplayGeometry=QRect();
+            xineramaScreens.clear();
+            xineramaTimer->start(500);
+        }
+
         if ( embedMode )
         {
             if ( config.rootless )
diff --git a/onmainwindow_privat.h b/onmainwindow_privat.h
index 9e4375a..aa049f7 100644
--- a/onmainwindow_privat.h
+++ b/onmainwindow_privat.h
@@ -1,6 +1,6 @@
 /***************************************************************************
- *   Copyright (C) 2005-2012 by Oleksandr Shneyder   *
- *   oleksandr.shneyder at obviously-nice.de   *
+ *   Copyright (C) 2005-2012 by Oleksandr Shneyder                         *
+ *   oleksandr.shneyder at obviously-nice.de                                  *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
@@ -66,7 +66,7 @@
 #include <QFileDialog>
 #include <QHttp>
 #include <QUrl>
-#include <QTcpSocket>
+#include <QLocalSocket>
 #include <QPlastiqueStyle>
 #include "sshprocess.h"
 #include "imgframe.h"
diff --git a/png/power-button.png b/png/power-button.png
new file mode 100644
index 0000000..584cf2a
Binary files /dev/null and b/png/power-button.png differ
diff --git a/resources.rcc b/resources.rcc
index e3b6a5e..0b2996e 100644
--- a/resources.rcc
+++ b/resources.rcc
@@ -12,6 +12,7 @@
        <file>png/ico_mini.png</file>
        <file>png/sess_ico.png</file>
        <file>png/ico_440x180.png</file>
+       <file>png/power-button.png</file>
        <file>icons/128x128/x2go.png</file>
        <file>icons/128x128/x2gosession.png</file>
        <file>icons/128x128/create_file.png</file>
diff --git a/sshmasterconnection.cpp b/sshmasterconnection.cpp
index 2626346..9c6626a 100644
--- a/sshmasterconnection.cpp
+++ b/sshmasterconnection.cpp
@@ -137,6 +137,7 @@ void SshMasterConnection::run()
 #endif
 
 //     int verbosity=SSH_LOG_PROTOCOL;
+    long timeout = 60;
 
     my_ssh_session = ssh_new();
     if ( my_ssh_session == NULL )
@@ -153,6 +154,9 @@ void SshMasterConnection::run()
     ssh_options_set ( my_ssh_session, SSH_OPTIONS_SSH_DIR, (mainWnd->getHomeDirectory()+"/ssh").toAscii());
 #endif
 //     ssh_options_set(my_ssh_session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity);
+
+    ssh_options_set(my_ssh_session, SSH_OPTIONS_TIMEOUT, &timeout);
+
     if ( !sshConnect() )
     {
         QString err=ssh_get_error ( my_ssh_session );
diff --git a/sshprocess.h b/sshprocess.h
index 9d7a2b1..54e94b5 100644
--- a/sshprocess.h
+++ b/sshprocess.h
@@ -22,10 +22,13 @@
 #ifndef SSHPROCESS_H
 #define SSHPROCESS_H
 
-#include <netinet/in.h>
 #include <libssh/libssh.h>
 #include <QObject>
 
+#ifndef Q_OS_WIN
+#include <netinet/in.h>
+#endif
+
 class SshMasterConnection;
 
 
diff --git a/version.h b/version.h
index 00471b6..60acdf9 100644
--- a/version.h
+++ b/version.h
@@ -1 +1 @@
-#define VERSION "3.99.1.0"
+#define VERSION "3.99.1.1"
diff --git a/x2goclient.pro b/x2goclient.pro
index 5c96688..16c5f06 100755
--- a/x2goclient.pro
+++ b/x2goclient.pro
@@ -12,13 +12,14 @@ CONFIG += $$(X2GO_LINUX_STATIC)
 
 FORMS += cupsprintsettingsdialog.ui cupsprintwidget.ui printdialog.ui printercmddialog.ui printwidget.ui xsettingsui.ui brokerpassdialog.ui contest.ui
 
-TRANSLATIONS += x2goclient_en.ts 
-TRANSLATIONS += x2goclient_de.ts 
-TRANSLATIONS += x2goclient_ru.ts 
-TRANSLATIONS += x2goclient_nb_no.ts 
-TRANSLATIONS += x2goclient_sv.ts 
-TRANSLATIONS += x2goclient_fr.ts 
-TRANSLATIONS += x2goclient_zh_tw.ts
+TRANSLATIONS += x2goclient_en.ts \
+                x2goclient_de.ts \
+                x2goclient_ru.ts \
+                x2goclient_nb_no.ts \
+                x2goclient_sv.ts \
+                x2goclient_fr.ts \
+                x2goclient_zh_tw.ts
+
 HEADERS += configdialog.h \
            editconnectiondialog.h \
            exportdialog.h \
@@ -31,78 +32,78 @@ HEADERS += configdialog.h \
            sshprocess.h \
            SVGFrame.h \
            userbutton.h \
-	   x2goclientconfig.h \
-	   x2gologdebug.h \
- printprocess.h \
- cupsprint.h \
- cupsprintwidget.h \
- cupsprintersettingsdialog.h \
- printwidget.h \
- printercmddialog.h \
- printdialog.h \
- wapi.h \
- sessionwidget.h \
- configwidget.h \
- connectionwidget.h \
- settingswidget.h \
- sharewidget.h \
- clicklineedit.h \
- httpbrokerclient.h \
- ongetpass.h \
- onmainwindow_privat.h \
- x2gosettings.h \
- brokerpassdlg.h \
- contest.h \
- xsettingswidget.h
+           x2goclientconfig.h \
+           x2gologdebug.h \
+           printprocess.h \
+           cupsprint.h \
+           cupsprintwidget.h \
+           cupsprintersettingsdialog.h \
+           printwidget.h \
+           printercmddialog.h \
+           printdialog.h \
+           wapi.h \
+           sessionwidget.h \
+           configwidget.h \
+           connectionwidget.h \
+           settingswidget.h \
+           sharewidget.h \
+           clicklineedit.h \
+           httpbrokerclient.h \
+           ongetpass.h \
+           onmainwindow_privat.h \
+           x2gosettings.h \
+           brokerpassdlg.h \
+           contest.h \
+           xsettingswidget.h
 
 SOURCES += sharewidget.cpp \
- settingswidget.cpp\
- configwidget.cpp \
- sessionwidget.cpp \
- connectionwidget.cpp \
- configdialog.cpp \
- editconnectiondialog.cpp \
- exportdialog.cpp \
- imgframe.cpp \
- LDAPSession.cpp \
- onmainwindow.cpp \
- onmainwindow_part2.cpp \
- onmainwindow_part3.cpp \
- onmainwindow_part4.cpp \
- sessionbutton.cpp \
- sessionmanagedialog.cpp \
- sshmasterconnection.cpp \
- sshprocess.cpp \
- SVGFrame.cpp \
- userbutton.cpp \
- x2gologdebug.cpp \
- printprocess.cpp \
- cupsprint.cpp \
- cupsprintwidget.cpp \
- cupsprintersettingsdialog.cpp \
- printwidget.cpp \
- printercmddialog.cpp \
- printdialog.cpp \
- wapi.cpp \
- clicklineedit.cpp \
- httpbrokerclient.cpp \
- ongetpass.cpp \
- x2gosettings.cpp \
- brokerpassdlg.cpp \
- contest.cpp \
- xsettingswidget.cpp
+           settingswidget.cpp\
+           configwidget.cpp \
+           sessionwidget.cpp \
+           connectionwidget.cpp \
+           configdialog.cpp \
+           editconnectiondialog.cpp \
+           exportdialog.cpp \
+           imgframe.cpp \
+           LDAPSession.cpp \
+           onmainwindow.cpp \
+           onmainwindow_part2.cpp \
+           onmainwindow_part3.cpp \
+           onmainwindow_part4.cpp \
+           sessionbutton.cpp \
+           sessionmanagedialog.cpp \
+           sshmasterconnection.cpp \
+           sshprocess.cpp \
+           SVGFrame.cpp \
+           userbutton.cpp \
+           x2gologdebug.cpp \
+           printprocess.cpp \
+           cupsprint.cpp \
+           cupsprintwidget.cpp \
+           cupsprintersettingsdialog.cpp \
+           printwidget.cpp \
+           printercmddialog.cpp \
+           printdialog.cpp \
+           wapi.cpp \
+           clicklineedit.cpp \
+           httpbrokerclient.cpp \
+           ongetpass.cpp \
+           x2gosettings.cpp \
+           brokerpassdlg.cpp \
+           contest.cpp \
+           xsettingswidget.cpp
 
 LIBS += -lssh
 
 plugin {
-TARGET = x2goplugin
+	TARGET = x2goplugin
 }
 else{
-RC_FILE = x2goclient.rc
-SOURCES += x2goclient.cpp
-TARGET = x2goclient
-DEFINES += CFGCLIENT
-message(if you want to build x2goplugin you should export X2GO_CLIENT_TARGET=plugin)
+	RC_FILE = x2goclient.rc
+	SOURCES += x2goclient.cpp
+	TARGET = x2goclient
+	DEFINES += CFGCLIENT
+	message(if you want to build x2goplugin you should export X2GO_CLIENT_TARGET=plugin)
 }
 
 TEMPLATE = app
@@ -111,47 +112,49 @@ INCLUDEPATH += .
 RESOURCES += resources.rcc
 
 linux-g++ {
-    message(building $$TARGET with ldap and cups)
-    LIBS += -lldap -lcups -lX11 -lXpm
+	message(building $$TARGET with ldap and cups)
+	LIBS += -lldap -lcups -lX11 -lXpm
 }
 linux-g++-64 {
-    message(building $$TARGET with ldap and cups)
-    LIBS += -lldap -lcups -lX11 -lXpm
+	message(building $$TARGET with ldap and cups)
+	LIBS += -lldap -lcups -lX11 -lXpm
 }
 x2go_linux_static {
-    message (linking all libs statically)
-    LIBS -= -lssh
-    LIBS += -lssh_static -lssl -lXpm
-    QMAKE_LFLAGS = -Bstatic $$QMAKE_LFLAGS
+	message (linking all libs statically)
+	LIBS -= -lssh
+	LIBS += -lssh_static -lssl -lXpm
+	QMAKE_LFLAGS = -Bstatic $$QMAKE_LFLAGS
 }
 
 macx {
-    message(building $$TARGET with ldap and cups)
-    LIBS += -lldap -lcups
+	message(building $$TARGET with ldap and cups)
+	LIBS += -framework LDAP -lcups -lcrypto -lssl -lz
+	CONFIG += x86 x86_64
 }
 win32-* {
-    message(building $$TARGET for windows without ldap and cups)
-    LIBS += -lwinspool -lws2_32
-    CONFIG += static release
+	message(building $$TARGET for windows without ldap and cups)
+	LIBS += -lwinspool -lws2_32
+	CONFIG += static release
 }
 QT += svg network
 ICON =icons/x2go-mac.icns
-QMAKE_MAC_SDK =/Developer/SDKs/MacOSX10.6.sdk
-
+QMAKE_MAC_SDK = /Developer/SDKs/MacOSX10.5.sdk
+QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.5
 
 plugin{
 
-DEFINES += CFGPLUGIN
-   linux-g++ {
-      include(qtbrowserplugin-2.4_1-opensource/src/qtbrowserplugin.pri)
-   }
-   linux-g++-64 {
-      include(qtbrowserplugin-2.4_1-opensource/src/qtbrowserplugin.pri)
-   }
-   win32-* {
-         DEFINES += QT_NODLL
-         CONFIG += qaxserver
-         include(qtbrowserplugin-2.4_1-opensource/src/qtbrowserplugin.pri)
-   }
-RC_FILE = x2goplugin.rc
+	DEFINES += CFGPLUGIN
+	linux-g++ {
+		include(qtbrowserplugin-2.4_1-opensource/src/qtbrowserplugin.pri)
+	}
+	linux-g++-64 {
+		include(qtbrowserplugin-2.4_1-opensource/src/qtbrowserplugin.pri)
+	}
+	win32-* {
+		DEFINES += QT_NODLL
+		CONFIG += qaxserver
+		include(qtbrowserplugin-2.4_1-opensource/src/qtbrowserplugin.pri)
+		}
+	RC_FILE = x2goplugin.rc
+
 }
diff --git a/x2goclient_de.ts b/x2goclient_de.ts
index 09baf25..157a4f2 100644
--- a/x2goclient_de.ts
+++ b/x2goclient_de.ts
@@ -1415,8 +1415,8 @@ sound system connections through firewalls</source>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1522"/>
-        <source></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
-        <translation></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></translation>
+        <source></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
+        <translation></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></translation>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1588"/>
diff --git a/x2goclient_en.ts b/x2goclient_en.ts
index ff3ab11..1dfa80c 100644
--- a/x2goclient_en.ts
+++ b/x2goclient_en.ts
@@ -1364,7 +1364,7 @@ Unsaved documents will be lost</source>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1522"/>
-        <source></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
+        <source></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/x2goclient_fr.ts b/x2goclient_fr.ts
index 02cf546..78387f4 100644
--- a/x2goclient_fr.ts
+++ b/x2goclient_fr.ts
@@ -1358,7 +1358,7 @@ Unsaved documents will be lost</source>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1522"/>
-        <source></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
+        <source></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/x2goclient_nb_no.ts b/x2goclient_nb_no.ts
index f541e95..d14dbcf 100644
--- a/x2goclient_nb_no.ts
+++ b/x2goclient_nb_no.ts
@@ -1057,8 +1057,8 @@
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1522"/>
-        <source></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
-        <translation></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></translation>
+        <source></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
+        <translation></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></translation>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1588"/>
diff --git a/x2goclient_ru.ts b/x2goclient_ru.ts
index 3bc79f4..ba0ed9b 100644
--- a/x2goclient_ru.ts
+++ b/x2goclient_ru.ts
@@ -1604,8 +1604,8 @@ Public key hash: </source>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1522"/>
-        <source></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
-        <translation></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></translation>
+        <source></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
+        <translation></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></translation>
     </message>
     <message>
         <source>Can't read host rsa key:</source>
diff --git a/x2goclient_sv.ts b/x2goclient_sv.ts
index 94fcf10..32025c8 100644
--- a/x2goclient_sv.ts
+++ b/x2goclient_sv.ts
@@ -165,7 +165,7 @@
     <message>
         <location filename="contest.cpp" line="150"/>
         <source>Socket operation timed out</source>
-        <translatorcomment>Hittade ingen bra översättning för socket</translatorcomment>
+        <translatorcomment>Couldn't find a good translation for socket</translatorcomment>
         <translation>Socketoperation överskred tidsgräns</translation>
     </message>
     <message>
@@ -479,7 +479,7 @@
     <message>
         <location filename="editconnectiondialog.cpp" line="109"/>
         <source>Session preferences - </source>
-        <translation>Sessionspreferenser - </translation>
+        <translation>Sessionsinställningar - </translation>
     </message>
 </context>
 <context>
@@ -497,8 +497,7 @@
     <message>
         <location filename="exportdialog.cpp" line="45"/>
         <source>&Preferences ...</source>
-        <translatorcomment>Kanske skulle "Egna inställningar" vara bättre.</translatorcomment>
-        <translation>&Preferenser...</translation>
+        <translation>&Inställningar...</translation>
     </message>
     <message>
         <location filename="exportdialog.cpp" line="46"/>
@@ -527,13 +526,13 @@
     <message>
         <location filename="httpbrokerclient.cpp" line="178"/>
         <source>us</source>
-        <translatorcomment>Språkkod för svenska i X.org</translatorcomment>
+        <translatorcomment>Swedish keyboard layout</translatorcomment>
         <translation>se</translation>
     </message>
     <message>
         <location filename="httpbrokerclient.cpp" line="181"/>
         <source>pc105/us</source>
-        <translatorcomment>Svenskt tangentbord</translatorcomment>
+        <translatorcomment>Swedish keyboard model</translatorcomment>
         <translation>pc105/se</translation>
     </message>
     <message>
@@ -786,6 +785,7 @@
     <message>
         <location filename="onmainwindow.cpp" line="673"/>
         <source>Session management...</source>
+        <translatorcomment>Added Alt shortcut, same letter as Ctrl shortcut (like &New session...)</translatorcomment>
         <translation>S&essionshantering...</translation>
     </message>
     <message>
@@ -973,7 +973,7 @@ Använd dolt läge?</translation>
     <message>
         <location filename="onmainwindow.cpp" line="1905"/>
         <source>X2Go Link to session </source>
-        <translation>X2Go Länk till session</translation>
+        <translation>Länk till X2Go-session</translation>
     </message>
     <message>
         <location filename="onmainwindow.cpp" line="1955"/>
@@ -1096,7 +1096,7 @@ Publik nyckel: </translation>
     <message>
         <location filename="onmainwindow_part2.cpp" line="417"/>
         <source>unknown</source>
-        <translation>okänd</translation>
+        <translation>okänt</translation>
     </message>
     <message>
         <location filename="onmainwindow_part2.cpp" line="482"/>
@@ -1183,13 +1183,13 @@ Publik nyckel: </translation>
     <message>
         <location filename="onmainwindow_part2.cpp" line="1170"/>
         <source>24 or 32</source>
-        <translation>24- eller 32-</translation>
+        <translation>24 eller 32</translation>
     </message>
     <message>
         <location filename="onmainwindow_part2.cpp" line="1171"/>
         <location filename="onmainwindow_part2.cpp" line="1191"/>
         <source> bit and restart your X-server before you reconnect to this x2go-session.<br>Resume this session anyway?</source>
-        <translation>bitar och startar om X-servern innan du återansluter till denna X2Go-session.<br>Återanslut session ändå?</translation>
+        <translation> bitar och startar om X-servern innan du återansluter till denna X2Go-session.<br>Återanslut session ändå?</translation>
     </message>
     <message>
         <location filename="onmainwindow_part2.cpp" line="1258"/>
@@ -1381,8 +1381,8 @@ Data som ej sparats kommer att förloras</translation>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1522"/>
-        <source></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
-        <translation></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></translation>
+        <source></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
+        <translation></b><br> (&copy; 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></translation>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1526"/>
@@ -1503,7 +1503,7 @@ Uppdatera till en nyare version av x2goserver</translation>
     <message>
         <location filename="onmainwindow_part4.cpp" line="1658"/>
         <source>Keyboard layout:</source>
-        <translatorcomment>Verkar vara vanligt förekommande "svengelskt" ord</translatorcomment>
+        <translatorcomment>Swenglish, but commonly used.</translatorcomment>
         <translation>Tangentbordslayout:</translation>
     </message>
     <message>
@@ -1740,7 +1740,7 @@ du kan installera sshd med (Debian/Ubuntu)
     <message>
         <location filename="printwidget.cpp" line="53"/>
         <source>Please configure your client side printing settings.<br><br>If you want to print the created file, you'll need an external application. Typically you can use <a href="http://pages.cs.wisc.edu/~ghost/doc/GPL/index.htm">ghostprint</a> and <a href="http://pages.cs.wisc.edu/~ghost/gsview/">ghostview</a><br>You can find  further information <a href="http://www.x2go.org/index.php?id=49">here</a>.</source>
-        <translation>Konfigurera utskriftsinställningar för klienten.<br><br>Om du vill skriva ut den skapade filen så behöver du en extern applikation. Du kan oftast använda <a href="http://pages.cs.wisc.edu/~ghost/doc/GPL/index.htm">ghostprint</a> och<a href="http://pages.cs.wisc.edu/~ghost/gsview/">ghostview</a><br>Mer information finns <a href="http://www.x2go.org/index.php?id=49">här</a>.</translation>
+        <translation>Konfigurera utskriftsinställningar för klienten.<br><br>Om du vill skriva ut den skapade filen så behöver du en extern applikation. Du kan oftast använda <a href="http://pages.cs.wisc.edu/~ghost/doc/GPL/index.htm">ghostprint</a> och <a href="http://pages.cs.wisc.edu/~ghost/gsview/">ghostview</a><br>Mer information finns <a href="http://www.x2go.org/index.php?id=49">här</a>.</translation>
     </message>
 </context>
 <context>
@@ -1824,7 +1824,7 @@ Example:
     <message>
         <location filename="sessionbutton.cpp" line="116"/>
         <source>Session preferences...</source>
-        <translation>Sessionspreferenser...</translation>
+        <translation>Sessionsinställningar...</translation>
     </message>
     <message>
         <location filename="sessionbutton.cpp" line="120"/>
@@ -1937,7 +1937,7 @@ Example:
     <message>
         <location filename="sessionmanagedialog.cpp" line="35"/>
         <source>E&xit</source>
-        <translation>&Avsluta</translation>
+        <translation>&Avbryt</translation>
     </message>
     <message>
         <location filename="sessionmanagedialog.cpp" line="41"/>
@@ -1947,7 +1947,8 @@ Example:
     <message>
         <location filename="sessionmanagedialog.cpp" line="42"/>
         <source>&Session preferences</source>
-        <translation>&Sessionspreferenser</translation>
+        <translatorcomment>There are "..." on every other button so why not here ...</translatorcomment>
+        <translation>&Sessionsinställningar...</translation>
     </message>
     <message>
         <location filename="sessionmanagedialog.cpp" line="43"/>
@@ -1981,7 +1982,7 @@ Example:
     <message>
         <location filename="sessionwidget.cpp" line="57"/>
         <source><< change icon</source>
-        <translation><< ändra ikon</translation>
+        <translation><< klicka för att ändra ikon</translation>
     </message>
     <message>
         <location filename="sessionwidget.cpp" line="60"/>
@@ -2230,7 +2231,7 @@ Example:
         <location filename="settingswidget.cpp" line="178"/>
         <source>Use SSH port forwarding to tunnel
 sound system connections through firewalls</source>
-        <translatorcomment>Hittade ingen bra översättning för "port forwarding"</translatorcomment>
+        <translatorcomment>Couldn't find a good translation for port forwarding.</translatorcomment>
         <translation>Använd SSH port forwarding för att tunnla
 ljudström genom brandväggar</translation>
     </message>
diff --git a/x2goclient_zh_tw.ts b/x2goclient_zh_tw.ts
index 142418c..9525470 100644
--- a/x2goclient_zh_tw.ts
+++ b/x2goclient_zh_tw.ts
@@ -1372,7 +1372,7 @@ Unsaved documents will be lost</source>
     </message>
     <message>
         <location filename="onmainwindow_part3.cpp" line="1522"/>
-        <source></b><br> (C. 2006-2011 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
+        <source></b><br> (C. 2006-2012 <b>obviously nice</b>: Oleksandr Shneyder, Heinz-Markus Graesing)<br></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
diff --git a/x2goplugin.rc b/x2goplugin.rc
index dde2abb..73ed229 100644
--- a/x2goplugin.rc
+++ b/x2goplugin.rc
@@ -1,8 +1,8 @@
 1 TYPELIB "x2goplugin.rc"
 
 1 VERSIONINFO
- FILEVERSION 3,99,1,0
- PRODUCTVERSION 3,99,1,0
+ FILEVERSION 3,99,1,1
+ PRODUCTVERSION 3,99,1,1
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -21,13 +21,13 @@ BEGIN
             VALUE "FileDescription", "Allows you to start X2Go session in a webbrowser\0"
 	    VALUE "FileExtents", "x2go\0"
 	    VALUE "FileOpenName", "Configuration File for X2Go Session (*.x2go)\0"
-            VALUE "FileVersion", "3, 99, 1 ,0\0"
+            VALUE "FileVersion", "3, 99, 1 ,1\0"
             VALUE "InternalName", "x2goplugin\0"
             VALUE "LegalCopyright", "Copyright © 2010-2012 Obviously Nice\0"
 	    VALUE "MIMEType", "application/x2go\0"
             VALUE "OriginalFilename", "npx2goplugin.dll\0"
-            VALUE "ProductName", "X2GoClient Plug-in 3.99.1.0\0"
-            VALUE "ProductVersion", "3, 99, 1, 0\0"
+            VALUE "ProductName", "X2GoClient Plug-in 3.99.1.1\0"
+            VALUE "ProductVersion", "3, 99, 1, 1\0"
         END
     END
     BLOCK "VarFileInfo"


hooks/post-receive
-- 
x2goclient.git (X2Go Client)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2goclient.git" (X2Go Client).




More information about the x2go-commits mailing list