diff --git a/x2goclient-HEAD-9dea920/src/SVGFrame.cpp b/x2goclient-HEAD-9dea920-rev1/src/SVGFrame.cpp
index 0f78163..796e669 100644
--- a/x2goclient-HEAD-9dea920/src/SVGFrame.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/SVGFrame.cpp
@@ -26,7 +26,7 @@
 
 
 SVGFrame::SVGFrame ( QString fname,bool st,QWidget* parent,
-                     Qt::WFlags f ) :QFrame ( parent,f )
+                     Qt::WindowFlags f ) :QFrame ( parent,f )
 {
 	empty=false;
 #ifdef Q_OS_WIN
@@ -66,7 +66,7 @@ SVGFrame::SVGFrame ( QString fname,bool st,QWidget* parent,
 }
 
 SVGFrame::SVGFrame ( QWidget* parent,
-                     Qt::WFlags f ) :QFrame ( parent,f )
+                     Qt::WindowFlags f ) :QFrame ( parent,f )
 {
 	repaint=false;
 	empty=true;
diff --git a/x2goclient-HEAD-9dea920/src/SVGFrame.h b/x2goclient-HEAD-9dea920-rev1/src/SVGFrame.h
index 93bac7e..38f3b87 100644
--- a/x2goclient-HEAD-9dea920/src/SVGFrame.h
+++ b/x2goclient-HEAD-9dea920-rev1/src/SVGFrame.h
@@ -28,8 +28,8 @@ class SVGFrame: public QFrame
 
 		Q_OBJECT
 	public:
-		SVGFrame ( QString fname, bool st, QWidget* parent=0, Qt::WFlags f=0 );
-		SVGFrame ( QWidget* parent=0, Qt::WFlags f=0 );
+		SVGFrame ( QString fname, bool st, QWidget* parent=0, Qt::WindowFlags f=0 );
+		SVGFrame ( QWidget* parent=0, Qt::WindowFlags f=0 );
 		void setRepaintable ( bool val )
 		{
 			repaint=val;
diff --git a/x2goclient-HEAD-9dea920/src/configdialog.cpp b/x2goclient-HEAD-9dea920-rev1/src/configdialog.cpp
index c0b2285..1910e41 100644
--- a/x2goclient-HEAD-9dea920/src/configdialog.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/configdialog.cpp
@@ -46,7 +46,7 @@
 #endif
 
 
-ConfigDialog::ConfigDialog ( QWidget * parent,  Qt::WFlags f )
+ConfigDialog::ConfigDialog ( QWidget * parent,  Qt::WindowFlags f )
     : QDialog ( parent,f )
 {
 
diff --git a/x2goclient-HEAD-9dea920/src/configdialog.h b/x2goclient-HEAD-9dea920-rev1/src/configdialog.h
index 3e1d9a4..ff2f1d6 100644
--- a/x2goclient-HEAD-9dea920/src/configdialog.h
+++ b/x2goclient-HEAD-9dea920-rev1/src/configdialog.h
@@ -44,7 +44,7 @@ class ConfigDialog : public QDialog
     Q_OBJECT
 public:
     ConfigDialog ( QWidget * parent,
-                   Qt::WFlags f = 0 );
+                   Qt::WindowFlags f = 0 );
     ~ConfigDialog();
 #ifdef Q_OS_DARWIN
     static    QString findXDarwin ( QString& version,
diff --git a/x2goclient-HEAD-9dea920/src/cupsprint.cpp b/x2goclient-HEAD-9dea920-rev1/src/cupsprint.cpp
index 5a14b11..e4ec34e 100644
--- a/x2goclient-HEAD-9dea920/src/cupsprint.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/cupsprint.cpp
@@ -53,7 +53,7 @@ QString CUPSPrint::getDefaultUserPrinter()
 	                     "CUPS/defaultprinter","" ). toString();
 	if ( defPrint.length() >0 )
 	{
-		cups_dest_t *dest = cupsGetDest ( defPrint.toAscii(),
+        cups_dest_t *dest = cupsGetDest ( defPrint.toUtf8(),
 		                                  0l, num_dests, dests );
 		if ( dest )
 			return defPrint;
@@ -77,7 +77,7 @@ bool CUPSPrint::getPrinterInfo ( const QString& printerName, QString& info,
                                  QString& model, printState& state,
                                  QString& stateReason )
 {
-	cups_dest_t *dest = cupsGetDest ( printerName.toAscii(), 0l,
+    cups_dest_t *dest = cupsGetDest ( printerName.toUtf8(), 0l,
 	                                  num_dests,
 	                                  dests );
 	if ( !dest )
@@ -114,15 +114,15 @@ bool CUPSPrint::getPrinterInfo ( const QString& printerName, QString& info,
 bool CUPSPrint::setCurrentPrinter ( QString prn )
 {
 	currentPrinter=prn;
-	QString fl=cupsGetPPD ( prn.toAscii() );
+    QString fl=cupsGetPPD ( prn.toUtf8() );
 	if ( fl.length() <=0 )
 		return false;
 
 	if ( ppd )
 		ppdClose ( ppd );
 	ppd=0l;
-	ppd=ppdOpenFile ( fl.toAscii() );
-	unlink ( fl.toAscii() );
+    ppd=ppdOpenFile ( fl.toUtf8() );
+    unlink ( fl.toUtf8() );
 	if ( ppd==0l )
 		return false;
 	ppdMarkDefaults ( ppd );
@@ -141,10 +141,10 @@ bool CUPSPrint::getOptionValue ( const QString& option,
 {
 	if ( !ppd )
 		return false;
-	ppd_choice_t* choice=ppdFindMarkedChoice ( ppd,option.toAscii() );
+    ppd_choice_t* choice=ppdFindMarkedChoice ( ppd,option.toUtf8() );
 	if ( !choice )
 	{
-		ppd_option_t* opt=ppdFindOption ( ppd,option.toAscii() );
+        ppd_option_t* opt=ppdFindOption ( ppd,option.toUtf8() );
 		if ( !opt )
 			return false;
 		choice=ppdFindChoice ( opt,opt->defchoice );
@@ -168,7 +168,7 @@ int CUPSPrint::getOptionValues ( const QString& option,
 	int cur_val=-1;
 	values.clear();
 	descriptions.clear();
-	ppd_option_t* opt=ppdFindOption ( ppd,option.toAscii() );
+    ppd_option_t* opt=ppdFindOption ( ppd,option.toUtf8() );
 	if ( !opt )
 		return -1;
 	for ( int k=0;k<opt->num_choices;++k )
@@ -241,7 +241,7 @@ bool CUPSPrint::setValue ( const QString& option, const QString& value,
 	QString valueBefore, textBefore;
 	if ( !getOptionValue ( option,valueBefore,textBefore ) )
 		return false;
-	ppdMarkOption ( ppd,option.toAscii(),value.toAscii() );
+    ppdMarkOption ( ppd,option.toUtf8(),value.toUtf8() );
 
 	if ( conflictsBefore==ppdConflicts ( ppd ) )
 	{
@@ -281,7 +281,7 @@ bool CUPSPrint::setValue ( const QString& option, const QString& value,
 
 
 	//set previous value
-	ppdMarkOption ( ppd,option.toAscii(),valueBefore.toAscii() );
+    ppdMarkOption ( ppd,option.toUtf8(),valueBefore.toUtf8() );
 	return false;
 }
 
@@ -290,7 +290,7 @@ bool CUPSPrint::getOptionText ( const QString& option, QString& text )
 {
 	if ( !ppd )
 		return false;
-	ppd_option_t* opt=ppdFindOption ( ppd,option .toAscii() );
+    ppd_option_t* opt=ppdFindOption ( ppd,option .toUtf8() );
 	if ( !opt )
 		return false;
 	text=QString::fromLocal8Bit ( opt->text );
@@ -355,7 +355,7 @@ void CUPSPrint::loadUserOptions()
 	for ( int i=0;i<options.size();++i )
 	{
 		QStringList opt=options[i].split ( "=" );
-		ppdMarkOption ( ppd,opt[0].toAscii(),opt[1].toAscii() );
+        ppdMarkOption ( ppd,opt[0].toUtf8(),opt[1].toUtf8() );
 	}
 }
 
@@ -381,14 +381,14 @@ void CUPSPrint::print ( const QString& file, QString title )
 			if ( val!=option->defchoice )
 			{
 				num_options = cupsAddOption ( option->keyword,
-				                              val.toAscii(),
+                                              val.toUtf8(),
 				                              num_options,
 				                              &options );
 			}
 		}
 	}
-	cupsPrintFile ( currentPrinter.toAscii(),file.toAscii(),
-	                title.toAscii(), num_options,options );
+    cupsPrintFile ( currentPrinter.toUtf8(),file.toUtf8(),
+                    title.toUtf8(), num_options,options );
 	cupsFreeOptions ( num_options, options );
 }
 #endif
diff --git a/x2goclient-HEAD-9dea920/src/cupsprintersettingsdialog.cpp b/x2goclient-HEAD-9dea920-rev1/src/cupsprintersettingsdialog.cpp
index 2489364..588bc07 100644
--- a/x2goclient-HEAD-9dea920/src/cupsprintersettingsdialog.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/cupsprintersettingsdialog.cpp
@@ -27,7 +27,7 @@ CUPSPrinterSettingsDialog::CUPSPrinterSettingsDialog (
     QString prnName,
     CUPSPrint*  cupsObject,
     QWidget * parent,
-    Qt::WFlags flags
+    Qt::WindowFlags flags
 ) :QDialog ( parent, flags )
 {
 	m_cups=cupsObject;
diff --git a/x2goclient-HEAD-9dea920/src/cupsprintersettingsdialog.h b/x2goclient-HEAD-9dea920-rev1/src/cupsprintersettingsdialog.h
index 8b821d7..3bcc74d 100644
--- a/x2goclient-HEAD-9dea920/src/cupsprintersettingsdialog.h
+++ b/x2goclient-HEAD-9dea920-rev1/src/cupsprintersettingsdialog.h
@@ -34,7 +34,7 @@ class CUPSPrinterSettingsDialog : public QDialog
 		CUPSPrinterSettingsDialog ( QString prnName,
 		                            CUPSPrint*  cupsObject,
 		                            QWidget * parent=0l,
-		                            Qt::WFlags flags =0 );
+		                            Qt::WindowFlags flags =0 );
 		~CUPSPrinterSettingsDialog();
 	private:
 		CUPSPrint* m_cups;
diff --git a/x2goclient-HEAD-9dea920/src/editconnectiondialog.cpp b/x2goclient-HEAD-9dea920-rev1/src/editconnectiondialog.cpp
index a672936..68b8570 100644
--- a/x2goclient-HEAD-9dea920/src/editconnectiondialog.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/editconnectiondialog.cpp
@@ -30,7 +30,7 @@
 #include "mediawidget.h"
 
 EditConnectionDialog::EditConnectionDialog ( bool newSession, QString id, QWidget * par,
-        int ind,Qt::WFlags f )
+        int ind,Qt::WindowFlags f )
         : QDialog ( par,f )
 {
     QVBoxLayout* ml=new QVBoxLayout ( this );
diff --git a/x2goclient-HEAD-9dea920/src/editconnectiondialog.h b/x2goclient-HEAD-9dea920-rev1/src/editconnectiondialog.h
index 8fd92ba..508fd76 100644
--- a/x2goclient-HEAD-9dea920/src/editconnectiondialog.h
+++ b/x2goclient-HEAD-9dea920-rev1/src/editconnectiondialog.h
@@ -49,7 +49,7 @@ class EditConnectionDialog : public QDialog
     Q_OBJECT
 public:
     EditConnectionDialog ( bool newSession, QString id, QWidget * par,  int ind=0,
-                           Qt::WFlags f = 0 );
+                           Qt::WindowFlags f = 0 );
     ~EditConnectionDialog();
 private:
     QTabWidget *fr;
diff --git a/x2goclient-HEAD-9dea920/src/exportdialog.cpp b/x2goclient-HEAD-9dea920-rev1/src/exportdialog.cpp
index 6d4495c..c5e1db8 100644
--- a/x2goclient-HEAD-9dea920/src/exportdialog.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/exportdialog.cpp
@@ -32,7 +32,7 @@
 #include <QFileDialog>
 #include "sessionexplorer.h"
 
-ExportDialog::ExportDialog ( QString sid,QWidget * par, Qt::WFlags f )
+ExportDialog::ExportDialog ( QString sid,QWidget * par, Qt::WindowFlags f )
     : QDialog ( par,f )
 {
     sessionId=sid;
diff --git a/x2goclient-HEAD-9dea920/src/exportdialog.h b/x2goclient-HEAD-9dea920-rev1/src/exportdialog.h
index f645bfd..bf9c726 100644
--- a/x2goclient-HEAD-9dea920/src/exportdialog.h
+++ b/x2goclient-HEAD-9dea920-rev1/src/exportdialog.h
@@ -33,7 +33,7 @@ class ExportDialog : public QDialog
 {
     Q_OBJECT
 public:
-    ExportDialog(QString sid,QWidget * par, Qt::WFlags f = 0);
+    ExportDialog(QString sid,QWidget * par, Qt::WindowFlags f = 0);
 
     ~ExportDialog();
     QString getExport(){return directory;}
diff --git a/x2goclient-HEAD-9dea920/src/httpbrokerclient.cpp b/x2goclient-HEAD-9dea920-rev1/src/httpbrokerclient.cpp
index 4f40191..af5091b 100644
--- a/x2goclient-HEAD-9dea920/src/httpbrokerclient.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/httpbrokerclient.cpp
@@ -596,25 +596,25 @@ void HttpBrokerClient::slotSslErrors ( QNetworkReply* netReply, const QList<QSsl
                           "------------\n"<<
                           tr ( "Issued to:\n" ) <<
                           tr ( "Common Name(CN)\t" ) <<
-                          cert.issuerInfo ( QSslCertificate::CommonName )
+                          cert.issuerInfo ( QSslCertificate::CommonName ).join("")
                           <<endl<<
                           tr ( "Organization(O)\t" ) <<
-                          cert.issuerInfo ( QSslCertificate::Organization )
+                          cert.issuerInfo ( QSslCertificate::Organization ).join("")
                           <<endl<<
                           tr ( "Organizational Unit(OU)\t" ) <<
-                          cert.issuerInfo ( QSslCertificate::OrganizationalUnitName )
+                          cert.issuerInfo ( QSslCertificate::OrganizationalUnitName ).join("")
                           <<endl<<
                           tr ( "Serial Number\t" ) <<getHexVal ( cert.serialNumber() )
                           <<endl<<endl<<
                           tr ( "Issued by:\n" ) <<
                           tr ( "Common Name(CN)\t" ) <<
-                          cert.subjectInfo ( QSslCertificate::CommonName )
+                          cert.subjectInfo ( QSslCertificate::CommonName ).join("")
                           <<endl<<
                           tr ( "Organization(O)\t" ) <<
-                          cert.subjectInfo ( QSslCertificate::Organization )
+                          cert.subjectInfo ( QSslCertificate::Organization ).join("")
                           <<endl<<
                           tr ( "Organizational Unit(OU)\t" ) <<
-                          cert.subjectInfo ( QSslCertificate::OrganizationalUnitName )
+                          cert.subjectInfo ( QSslCertificate::OrganizationalUnitName ).join("")
                           <<endl<<endl<<
 
                           tr ( "Validity:\n" ) <<
diff --git a/x2goclient-HEAD-9dea920/src/imgframe.cpp b/x2goclient-HEAD-9dea920-rev1/src/imgframe.cpp
index 71a695e..9379555 100644
--- a/x2goclient-HEAD-9dea920/src/imgframe.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/imgframe.cpp
@@ -20,7 +20,7 @@
 #include "x2goclientconfig.h"
 #include <QResizeEvent>
 
-IMGFrame::IMGFrame(QImage* ,QWidget* parent, Qt::WFlags f) :QFrame(parent,f)
+IMGFrame::IMGFrame(QImage* ,QWidget* parent, Qt::WindowFlags f) :QFrame(parent,f)
 {
 	//setBg(img);
 }
diff --git a/x2goclient-HEAD-9dea920/src/imgframe.h b/x2goclient-HEAD-9dea920-rev1/src/imgframe.h
index 7ac700e..5966b8f 100644
--- a/x2goclient-HEAD-9dea920/src/imgframe.h
+++ b/x2goclient-HEAD-9dea920-rev1/src/imgframe.h
@@ -31,7 +31,7 @@ class IMGFrame : public QFrame
 {
 	Q_OBJECT
 public:
-	IMGFrame(QImage* img,QWidget* parent=0, Qt::WFlags f=0);
+	IMGFrame(QImage* img,QWidget* parent=0, Qt::WindowFlags f=0);
     ~IMGFrame();
     void setBg(QImage* img);
     virtual void resizeEvent(QResizeEvent* event);
diff --git a/x2goclient-HEAD-9dea920/src/ongetpass.cpp b/x2goclient-HEAD-9dea920-rev1/src/ongetpass.cpp
index cb1912e..d2b89ac 100644
--- a/x2goclient-HEAD-9dea920/src/ongetpass.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/ongetpass.cpp
@@ -35,7 +35,6 @@
 #include <signal.h>
 #endif
 
-#include <QPlastiqueStyle>
 #include <QMessageBox>
 #include <iostream>
 #include <QFile>
@@ -50,9 +49,6 @@ int x2goMain ( int argc, char *argv[] )
     QApplication app ( argc,argv );
 
 #ifndef Q_WS_HILDON
-#ifdef Q_OS_LINUX
-    app.setStyle ( new QPlastiqueStyle() );
-#endif
 #endif
     QStringList args;
     if ( argc > 1 )
diff --git a/x2goclient-HEAD-9dea920/src/onmainwindow.cpp b/x2goclient-HEAD-9dea920-rev1/src/onmainwindow.cpp
index 35faced..1435dba 100644
--- a/x2goclient-HEAD-9dea920/src/onmainwindow.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/onmainwindow.cpp
@@ -493,7 +493,7 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent )
     connect( xineramaTimer, SIGNAL(timeout()), this, SLOT(slotConfigXinerama()));
 
     x2goInfof(3)<<tr("Started X2Go Client.");
-    x2goDebug<<"$HOME=" + homeDir.toAscii();
+    x2goDebug<<"$HOME=" + homeDir.toUtf8();
     if (thinMode)
     {
         x2goDebug<<"Thin Mode is active.";
@@ -600,13 +600,13 @@ bool ONMainWindow::get_translator (QString file_name_start, QTranslator **transl
 
             if (tmp_translator->load (load_filename)) {
                 /* Some translation successfully loaded. That's good enough. */
-                x2goInfof (4) << tr ("Translator: ") + load_filename.toAscii () + tr (" found.");
+                x2goInfof (4) << tr ("Translator: ") + load_filename.toUtf8() + tr (" found.");
                 translator_found = true;
                 *translator = tmp_translator;
                 break;
             }
             else {
-                x2goWarningf (1) << tr ("Non-fatal: can't load translator: ") + load_filename.toAscii ();
+                x2goWarningf (1) << tr ("Non-fatal: can't load translator: ") + load_filename.toUtf8();
                 x2goWarningf (1) << tr ("Trying to load language with lower preference, if existent.");
             }
         }
@@ -2762,7 +2762,7 @@ SshMasterConnection* ONMainWindow::startSshConnection ( QString host, QString po
 #ifndef Q_OS_WIN
         QStringList args=sshEnv[i].split ( "=" );
         x2goDebug<<"Setting ENV " + args[0] + tr(" to ") + args[1];
-        setenv ( args[0].toAscii(),args[1].toAscii(),1 );
+        setenv ( args[0].toUtf8(),args[1].toUtf8(),1 );
 #else
         x2goDebug<<"Set ENV: "<<sshEnv[i];
 
@@ -3506,7 +3506,7 @@ void ONMainWindow::slotListSessions ( bool result,QString output,
         }
         else
         {
-            QString printout = tr( "Connection failed: ")  + output.toAscii();
+            QString printout = tr( "Connection failed: ")  + output.toUtf8();
 
             if ( output.indexOf ( "publickey,password" ) !=-1 )
                 x2goErrorf(4)<< tr( "Connection failed: ")  + output + tr(" - Wrong password.");
@@ -6512,7 +6512,7 @@ void ONMainWindow::slotReadApplications(bool result, QString output,
             QString line=lines[i];
             if (line.indexOf("Name["+localshort+"]=")!=-1  || line.indexOf("Name["+locallong+"]=")!=-1)
             {
-                app.name=QString::fromUtf8(line.split("=")[1].toAscii());
+                app.name=QString::fromUtf8(line.split("=")[1].toUtf8());
 
                 //                 x2goDebug<<"local name: "<<app.name<<endl;
 
@@ -6520,7 +6520,7 @@ void ONMainWindow::slotReadApplications(bool result, QString output,
             }
             if (line.indexOf("Comment["+localshort+"]=")!=-1 || line.indexOf("Comment["+locallong+"]=")!=-1)
             {
-                app.comment=QString::fromUtf8(line.split("=")[1].toAscii());
+                app.comment=QString::fromUtf8(line.split("=")[1].toUtf8());
                 //                 x2goDebug<<"local comment: "<<app.comment<<endl;
                 localcomment=true;
             }
@@ -6583,9 +6583,9 @@ void ONMainWindow::slotReadApplications(bool result, QString output,
                 QByteArray pic;
                 while (line.indexOf("</icon>")==-1)
                 {
-                    pic+=QByteArray::fromBase64(line.toAscii());
+                    pic+=QByteArray::fromBase64(line.toUtf8());
                     line=lines[++i];
-                    if (QString(QByteArray::fromBase64(line.toAscii())).indexOf("</svg>",Qt::CaseInsensitive)!=-1)
+                    if (QString(QByteArray::fromBase64(line.toUtf8())).indexOf("</svg>",Qt::CaseInsensitive)!=-1)
                     {
                         isSvg=true;
                     }
@@ -7872,7 +7872,7 @@ void ONMainWindow::slotCopyKey ( bool result, QString output, int pid)
         }
         else
         {
-            QString printout = tr( "Connection failed: ")  + output.toAscii();
+            QString printout = tr( "Connection failed: ")  + output.toUtf8();
 
             if ( output.indexOf ( "publickey,password" ) !=-1 )
                 x2goErrorf(11)<< tr( "Connection failed: ")  + output + tr(" - Wrong password.");
diff --git a/x2goclient-HEAD-9dea920/src/onmainwindow_privat.h b/x2goclient-HEAD-9dea920-rev1/src/onmainwindow_privat.h
index c5f5840..eca0cd5 100644
--- a/x2goclient-HEAD-9dea920/src/onmainwindow_privat.h
+++ b/x2goclient-HEAD-9dea920-rev1/src/onmainwindow_privat.h
@@ -67,10 +67,8 @@
 #include <QCheckBox>
 #include <QTemporaryFile>
 #include <QFileDialog>
-#include <QHttp>
 #include <QUrl>
 #include <QLocalSocket>
-#include <QPlastiqueStyle>
 #include "imgframe.h"
 #include <QToolTip>
 #include "clicklineedit.h"
diff --git a/x2goclient-HEAD-9dea920/src/sessionbutton.cpp b/x2goclient-HEAD-9dea920-rev1/src/sessionbutton.cpp
index 2d51a23..a75efa7 100644
--- a/x2goclient-HEAD-9dea920/src/sessionbutton.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/sessionbutton.cpp
@@ -316,13 +316,13 @@ void SessionButton::redraw()
     sessIcon = expandHome(sessIcon);
     QPixmap* pix;
 
-    x2goDebug << "Creating QPixmap with session icon: " << sessIcon.toAscii () << ".";
+    x2goDebug << "Creating QPixmap with session icon: " << sessIcon.toUtf8() << ".";
     if (!par->brokerMode || sessIcon == ":/img/icons/128x128/x2gosession.png")
         pix=new QPixmap( sessIcon );
     else
     {
         pix=new QPixmap;
-        pix->loadFromData(QByteArray::fromBase64(sessIcon.toAscii()));
+        pix->loadFromData(QByteArray::fromBase64(sessIcon.toUtf8()));
     }
     if ( !par->retMiniMode() )
         icon->setPixmap ( pix->scaled ( 64,64,Qt::IgnoreAspectRatio,
diff --git a/x2goclient-HEAD-9dea920/src/sessionexplorer.cpp b/x2goclient-HEAD-9dea920-rev1/src/sessionexplorer.cpp
index 02c5f7e..92ce661 100644
--- a/x2goclient-HEAD-9dea920/src/sessionexplorer.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/sessionexplorer.cpp
@@ -189,8 +189,8 @@ void SessionExplorer::slotCreateDesktopIcon ( SessionButton* bt )
 
 #ifndef Q_OS_WIN
     QFile file (
-        QDesktopServices::storageLocation (
-            QDesktopServices::DesktopLocation ) +"/"+name+".desktop" );
+        QStandardPaths::writableLocation (
+            QStandardPaths::DesktopLocation ) +"/"+name+".desktop" );
     if ( !file.open ( QIODevice::WriteOnly | QIODevice::Text ) )
         return;
 
diff --git a/x2goclient-HEAD-9dea920/src/sessionmanagedialog.cpp b/x2goclient-HEAD-9dea920-rev1/src/sessionmanagedialog.cpp
index 5ec0331..aa2255b 100644
--- a/x2goclient-HEAD-9dea920/src/sessionmanagedialog.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/sessionmanagedialog.cpp
@@ -35,7 +35,7 @@
 #define SESSIONIDROLE Qt::UserRole+2
 
 SessionManageDialog::SessionManageDialog ( QWidget * parent,
-        bool onlyCreateIcon, Qt::WFlags f )
+        bool onlyCreateIcon, Qt::WindowFlags f )
     : QDialog ( parent, f )
 {
     QVBoxLayout* ml=new QVBoxLayout ( this );
diff --git a/x2goclient-HEAD-9dea920/src/sessionmanagedialog.h b/x2goclient-HEAD-9dea920-rev1/src/sessionmanagedialog.h
index 84f2992..6052c9f 100644
--- a/x2goclient-HEAD-9dea920/src/sessionmanagedialog.h
+++ b/x2goclient-HEAD-9dea920-rev1/src/sessionmanagedialog.h
@@ -35,7 +35,7 @@ class SessionManageDialog : public QDialog
 public:
     SessionManageDialog ( QWidget * parent,
                           bool onlyCreateIcon=false,
-                          Qt::WFlags f=0 );
+                          Qt::WindowFlags f=0 );
     ~SessionManageDialog();
     void loadSessions();
 private:
diff --git a/x2goclient-HEAD-9dea920/src/sshmasterconnection.cpp b/x2goclient-HEAD-9dea920-rev1/src/sshmasterconnection.cpp
index 78d4564..e1ea95b 100644
--- a/x2goclient-HEAD-9dea920/src/sshmasterconnection.cpp
+++ b/x2goclient-HEAD-9dea920-rev1/src/sshmasterconnection.cpp
@@ -327,7 +327,7 @@ void SshMasterConnection::checkReverseTunnelConnections()
                 x2goDebug<<"Connecting to "<<req.localHost<<":"<<req.localPort<<endl;
 #endif
 #ifndef Q_OS_WIN
-                inet_aton ( req.localHost.toAscii(), &address.sin_addr );
+                inet_aton ( req.localHost.toUtf8(), &address.sin_addr );
 #else
                 address.sin_addr.s_addr=inet_addr (
                                             req.localHost.toAscii() );
@@ -634,7 +634,7 @@ void SshMasterConnection::run()
 #ifdef Q_OS_WIN
     ssh_options_set ( my_ssh_session, SSH_OPTIONS_USER, user.toLocal8Bit() );
 #else
-    ssh_options_set ( my_ssh_session, SSH_OPTIONS_USER, user.toAscii() );
+    ssh_options_set ( my_ssh_session, SSH_OPTIONS_USER, user.toUtf8() );
 #endif
 
 #ifdef Q_OS_WIN
@@ -871,7 +871,7 @@ bool SshMasterConnection::userChallengeAuth()
 #ifdef DEBUG
                 x2goDebug<<"Password request"<<endl;
 #endif
-                ssh_userauth_kbdint_setanswer(my_ssh_session,0,pass.toAscii());
+                ssh_userauth_kbdint_setanswer(my_ssh_session,0,pass.toUtf8());
                 return userChallengeAuth();
             }
             if(pr=="Verification code: ")
@@ -903,7 +903,7 @@ bool SshMasterConnection::userChallengeAuth()
                         return false;
                     }
                 }
-                ssh_userauth_kbdint_setanswer(my_ssh_session,0,challengeAuthVerificationCode.toAscii());
+                ssh_userauth_kbdint_setanswer(my_ssh_session,0,challengeAuthVerificationCode.toUtf8());
                 return userChallengeAuth();
             }
             QString err=ssh_get_error ( my_ssh_session );
@@ -965,7 +965,7 @@ bool SshMasterConnection::userAuthWithPass()
 #ifdef DEBUG
         x2goDebug<<"Password authentication requested."<<endl;
 #endif
-        int rc = ssh_userauth_password ( my_ssh_session, NULL, pass.toAscii() );
+        int rc = ssh_userauth_password ( my_ssh_session, NULL, pass.toUtf8() );
         if ( rc != SSH_AUTH_SUCCESS )
         {
             QString err=ssh_get_error ( my_ssh_session );
@@ -1003,7 +1003,7 @@ bool SshMasterConnection::userAuthAuto()
         }
         if(keyPhrase==QString::null)
             break;
-        rc = ssh_userauth_autopubkey ( my_ssh_session, keyPhrase.toAscii() );
+        rc = ssh_userauth_autopubkey ( my_ssh_session, keyPhrase.toUtf8() );
         if(i++==2)
         {
             break;
@@ -1056,7 +1056,7 @@ bool SshMasterConnection::userAuthWithKey()
 #endif
     }
 
-    ssh_private_key prkey=privatekey_from_file(my_ssh_session, keyName.toAscii(), 0,"");
+    ssh_private_key prkey=privatekey_from_file(my_ssh_session, keyName.toUtf8(), 0,"");
     int i=0;
     while(!prkey)
     {
@@ -1075,7 +1075,7 @@ bool SshMasterConnection::userAuthWithKey()
         }
         if(keyPhrase==QString::null)
             break;
-        prkey=privatekey_from_file(my_ssh_session, keyName.toAscii(), 0,keyPhrase.toAscii());
+        prkey=privatekey_from_file(my_ssh_session, keyName.toUtf8(), 0,keyPhrase.toUtf8());
         if(i++==2)
         {
             break;
@@ -1314,7 +1314,7 @@ void SshMasterConnection::copy()
 #ifdef DEBUG
         x2goDebug<<"SSH Master Connection copy - dst path:"<<dstPath<<" file:"<<dstFile<<endl;
 #endif
-        ssh_scp scp=ssh_scp_new ( my_ssh_session, SSH_SCP_WRITE|SSH_SCP_RECURSIVE, dstPath.toAscii() );
+        ssh_scp scp=ssh_scp_new ( my_ssh_session, SSH_SCP_WRITE|SSH_SCP_RECURSIVE, dstPath.toUtf8() );
         if ( scp == NULL )
         {
 #ifdef DEBUG
@@ -1343,7 +1343,7 @@ void SshMasterConnection::copy()
         }
         QByteArray arr=file.readAll();
         file.close();
-        rc=ssh_scp_push_file ( scp,dstFile.toAscii(),arr.size(), 0600 );
+        rc=ssh_scp_push_file ( scp,dstFile.toUtf8(),arr.size(), 0600 );
         if ( rc != SSH_OK )
         {
             QString errMsg=tr ( "Cannot create remote file " ) +copyRequests[i].dst;
@@ -1486,9 +1486,9 @@ void SshMasterConnection::channelLoop()
                     x2goDebug<<"Forwarding new channel, local port: "<<channelConnections.at ( i ).localPort<<endl;
 #endif
                     if ( channel_open_forward ( channel,
-                                                channelConnections.at ( i ).forwardHost.toAscii(),
+                                                channelConnections.at ( i ).forwardHost.toUtf8(),
                                                 channelConnections.at ( i ).forwardPort,
-                                                channelConnections.at ( i ).localHost.toAscii(),
+                                                channelConnections.at ( i ).localHost.toUtf8(),
                                                 channelConnections.at ( i ).localPort ) != SSH_OK )
                     {
                         QString err=ssh_get_error ( my_ssh_session );
@@ -1519,7 +1519,7 @@ void SshMasterConnection::channelLoop()
                         x2goDebug<<errorMsg<<": "<<err<<endl;
 #endif
                     }
-                    else if ( channel_request_exec ( channel, channelConnections[i].command.toAscii() ) != SSH_OK )
+                    else if ( channel_request_exec ( channel, channelConnections[i].command.toUtf8() ) != SSH_OK )
                     {
                         QString err=ssh_get_error ( my_ssh_session );
                         QString errorMsg=tr ( "channel_request_exec failed" );
diff --git a/x2goclient-HEAD-9dea920/x2goclient.pro b/x2goclient-HEAD-9dea920-rev1/x2goclient.pro
index 97e8bdd..699df94 100644
--- a/x2goclient-HEAD-9dea920/x2goclient.pro
+++ b/x2goclient-HEAD-9dea920-rev1/x2goclient.pro
@@ -183,11 +183,13 @@ linux-g++ {
   message("building $$TARGET with ldap and cups")
   LIBS += -lldap -lcups -lX11 -lXpm
   DEFINES += __linux__
+  QT += x11extras
 }
 linux-g++-64 {
   message("building $$TARGET with ldap and cups")
   LIBS += -lldap -lcups -lX11 -lXpm
   DEFINES += __linux__
+  QT += x11extras
 }
 x2go_linux_static {
   message("linking all libs statically")