The branch, master has been updated
via 4658ef38188f4bd0f18ca31679b69b919f939d56 (commit)
from b9e0f3498b4b681341f6bb4bfad28a64d2afee37 (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 -----------------------------------------------------------------
commit 4658ef38188f4bd0f18ca31679b69b919f939d56
Author: Oleksandr Shneyder <oleksandr.shneyder(a)obviously-nice.de>
Date: Tue Sep 4 13:43:33 2012 +0200
Build direct RDP feature only for linux
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 1 +
editconnectiondialog.cpp | 6 ++++--
editconnectiondialog.h | 2 ++
onmainwindow.cpp | 32 +++++++++++++++++++++++---------
onmainwindow.h | 5 ++++-
sessionwidget.cpp | 36 ++++++++++++++++++++++++++++++------
sessionwidget.h | 8 ++++++++
settingswidget.cpp | 30 ++++++++++++++++++++----------
settingswidget.h | 11 +++++++++--
9 files changed, 101 insertions(+), 30 deletions(-)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 3dfcf1d..422655a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,7 @@ x2goclient (3.99.2.3-0~x2go3) UNRELEASED; urgency=low
[ Oleksandr Shneyder ]
* Add settings for direct RDP connection
* Implement direct RDP connection using standalone client
+ * Build direct RDP feature only for linux
-- Oleksandr Shneyder <oleksandr.shneyder(a)obviously-nice.de> Tue, 04 Sep 2012 12:13:43 +0200
diff --git a/editconnectiondialog.cpp b/editconnectiondialog.cpp
index f50ed85..66ae84a 100644
--- a/editconnectiondialog.cpp
+++ b/editconnectiondialog.cpp
@@ -101,7 +101,9 @@ EditConnectionDialog::EditConnectionDialog ( QString id, QWidget * par,
setContentsMargins ( 3,3,3,3 );
fr->setCurrentIndex ( ind );
slot_changeCaption(sessSet->sessionName());
+#ifdef Q_OS_LINUX
sessSet->slot_rdpDirectClicked();
+#endif
}
@@ -152,11 +154,11 @@ void EditConnectionDialog::slot_default()
}
}
+#ifdef Q_OS_LINUX
void EditConnectionDialog::slot_directRDP(bool direct)
{
fr->setTabEnabled(1,!direct);
fr->setTabEnabled(3,!direct);
otherSet->setDirectRdp(direct);
}
-
-
+#endif
diff --git a/editconnectiondialog.h b/editconnectiondialog.h
index ea177db..c90730f 100644
--- a/editconnectiondialog.h
+++ b/editconnectiondialog.h
@@ -57,7 +57,9 @@ class EditConnectionDialog : public QDialog
void slot_changeCaption ( const QString& newName );
void slot_accepted();
void slot_default();
+#ifdef Q_OS_LINUX
void slot_directRDP(bool direct);
+#endif
};
#endif
diff --git a/onmainwindow.cpp b/onmainwindow.cpp
index 7294d56..5fbb941 100644
--- a/onmainwindow.cpp
+++ b/onmainwindow.cpp
@@ -3006,6 +3006,7 @@ void ONMainWindow::continueLDAPSession()
proc->startNormal ( "x2gogetservers" );
}
+#ifdef Q_OS_LINUX
void ONMainWindow::startDirectRDP()
{
@@ -3093,7 +3094,7 @@ void ONMainWindow::startDirectRDP()
}
-
+#endif
@@ -3101,7 +3102,9 @@ void ONMainWindow::startDirectRDP()
bool ONMainWindow::startSession ( const QString& sid )
{
setEnabled ( false );
+#ifdef Q_OS_LINUX
directRDP=false;
+#endif
QString passwd;
QString user;
QString host;
@@ -3133,6 +3136,7 @@ bool ONMainWindow::startSession ( const QString& sid )
( QVariant ) false ).toBool();
krblogin=st.setting()->value ( sid+"/krblogin",
( QVariant ) false ).toBool();
+#ifdef Q_OS_LINUX
directRDP=st.setting()->value ( sid+"/directrdp",
( QVariant ) false ).toBool();
if (cmd =="RDP" && directRDP)
@@ -3140,6 +3144,7 @@ bool ONMainWindow::startSession ( const QString& sid )
startDirectRDP();
return true;
}
+#endif
if ( cmd=="SHADOW" )
shadowSession=true;
}
@@ -4121,12 +4126,13 @@ void ONMainWindow::slotResumeSess()
void ONMainWindow::slotSuspendSess()
{
+#ifdef Q_OS_LINUX
if (directRDP)
{
nxproxy->terminate();
return;
}
-
+#endif
QString passwd;
QString user=getCurrentUname();
@@ -4175,12 +4181,14 @@ void ONMainWindow::slotSuspendSess()
void ONMainWindow::slotSuspendSessFromSt()
{
- x2goDebug<<"suspend from st";
+
+#ifdef Q_OS_LINUX
if (directRDP)
{
nxproxy->terminate();
return;
}
+#endif
QString passwd;
QString user=getCurrentUname();
passwd=getCurrentPass();
@@ -4197,12 +4205,13 @@ void ONMainWindow::slotSuspendSessFromSt()
void ONMainWindow::slotTermSessFromSt()
{
- x2goDebug<<"term from st";
+#ifdef Q_OS_LINUX
if (directRDP)
{
nxproxy->terminate();
return;
}
+#endif
/* x2goDebug <<"disconnect export"<<endl;
disconnect ( sbExp,SIGNAL ( clicked() ),this,
SLOT ( slot_exportDirectory() ) );*/
@@ -4264,12 +4273,13 @@ void ONMainWindow::slotRetSuspSess ( bool result, QString output,
void ONMainWindow::slotTermSess()
{
+#ifdef Q_OS_LINUX
if (directRDP)
{
nxproxy->terminate();
return;
}
-
+#endif
selectSessionDlg->setEnabled ( false );
@@ -5074,10 +5084,13 @@ void ONMainWindow::slotProxyFinished ( int,QProcess::ExitStatus )
}
}
x2goDebug<<"nxproxy not running"<<endl;
- if (!directRDP)
- delete nxproxy;
- else
+
+#ifdef Q_OS_LINUX
+ if (directRDP)
nxproxy=0;
+ else
+#endif
+ delete nxproxy;
}
#endif
x2goDebug<<"proxy deleted"<<endl;
@@ -5087,6 +5100,7 @@ void ONMainWindow::slotProxyFinished ( int,QProcess::ExitStatus )
nxproxy=0l;
proxyWinId=0;
+#ifdef Q_OS_LINUX
if (directRDP)
{
pass->setText ( "" );
@@ -5094,7 +5108,7 @@ void ONMainWindow::slotProxyFinished ( int,QProcess::ExitStatus )
SLOT ( slotShowPassForm() ) );
return;
}
-
+#endif
if ( !shadowSession && !usePGPCard && ! ( embedMode &&
( config.checkexitstatus==false ) ) )
check_cmd_status();
diff --git a/onmainwindow.h b/onmainwindow.h
index 2fadcfd..f3969d5 100644
--- a/onmainwindow.h
+++ b/onmainwindow.h
@@ -670,8 +670,9 @@ private:
bool ldapOnly;
bool isScDaemonOk;
bool parecTunnelOk;
+#ifdef Q_OS_LINUX
bool directRDP;
-
+#endif
bool startSessSound;
int startSessSndSystem;
@@ -1028,7 +1029,9 @@ private:
void printSshDError();
void loadPulseModuleNativeProtocol();
void initEmbedToolBar();
+#ifdef Q_OS_LINUX
void startDirectRDP();
+#endif
bool isServerRunning ( int port );
void filterDesktops ( const QString& filter,
bool strict=false );
diff --git a/sessionwidget.cpp b/sessionwidget.cpp
index be73c9b..e9b69e6 100644
--- a/sessionwidget.cpp
+++ b/sessionwidget.cpp
@@ -67,10 +67,12 @@ SessionWidget::SessionWidget ( QString id, ONMainWindow * mw,
sshPort->setValue ( mainWindow->getDefaultSshPort().toInt() );
sshPort->setMinimum ( 1 );
sshPort->setMaximum ( 999999999 );
+#ifdef Q_OS_LINUX
rdpPort=new QSpinBox ( sgb );
rdpPort->setValue ( mainWindow->getDefaultSshPort().toInt() );
rdpPort->setMinimum ( 1 );
rdpPort->setMaximum ( 999999999 );
+#endif
key=new QLineEdit ( sgb );
#ifndef Q_WS_HILDON
@@ -95,7 +97,9 @@ SessionWidget::SessionWidget ( QString id, ONMainWindow * mw,
elLay->addWidget ( server );
elLay->addWidget ( uname );
elLay->addWidget ( sshPort );
+#ifdef Q_OS_LINUX
elLay->addWidget ( rdpPort );
+#endif
suLay->addLayout ( slLay );
suLay->addLayout ( elLay );
#ifdef Q_WS_HILDON
@@ -197,7 +201,9 @@ SessionWidget::SessionWidget ( QString id, ONMainWindow * mw,
SIGNAL ( nameChanged ( const QString & ) ) );
connect (server, SIGNAL(textChanged(const QString&)),this, SLOT(slot_emitSettings()));
connect (uname, SIGNAL(textChanged(const QString&)),this, SLOT(slot_emitSettings()));
+#ifdef Q_OS_LINUX
connect (rdpPort, SIGNAL(valueChanged(int)),this, SLOT(slot_emitSettings()));
+#endif
readConfig();
cbKrbLogin->setChecked(false);
cbKrbLogin->setVisible(false);
@@ -207,7 +213,7 @@ SessionWidget::~SessionWidget()
{
}
-
+#ifdef Q_OS_LINUX
void SessionWidget::slot_rdpDirectClicked()
{
bool isDirectRDP=cbDirectRDP->isChecked();
@@ -234,6 +240,7 @@ void SessionWidget::slot_rdpDirectClicked()
emit directRDP(isDirectRDP);
slot_emitSettings();
}
+#endif
void SessionWidget::slot_getIcon()
{
@@ -297,7 +304,9 @@ void SessionWidget::slot_changeCmd ( int var )
{
leCmdIp->setText ( tr ( "Command:" ) );
pbAdvanced->hide();
+#ifdef Q_OS_LINUX
cbDirectRDP->hide();
+#endif
leCmdIp->show();
cmd->show();
if ( var==APPLICATION )
@@ -323,7 +332,9 @@ void SessionWidget::slot_changeCmd ( int var )
leCmdIp->setText ( tr ( "Server:" ) );
pbAdvanced->show();
cmd->setText ( rdpServer );
+#ifdef Q_OS_LINUX
cbDirectRDP->show();
+#endif
}
if ( var== XDMCP )
{
@@ -337,7 +348,9 @@ void SessionWidget::slot_changeCmd ( int var )
cmd->setText ( "" );
}
}
+#ifdef Q_OS_LINUX
slot_rdpDirectClicked();
+#endif
}
void SessionWidget::slot_rdpOptions()
@@ -385,11 +398,12 @@ void SessionWidget::readConfig()
sessionId+"/sshport",
( QVariant ) mainWindow->getDefaultSshPort().toInt()
).toInt() );
+#ifdef Q_OS_LINUX
rdpPort->setValue (
st.setting()->value (
sessionId+"/rdpport",3389
).toInt() );
-
+#endif
QStringList appNames=st.setting()->value (
sessionId+"/applications" ).toStringList();
bool rootless=st.setting()->value (
@@ -408,10 +422,10 @@ void SessionWidget::readConfig()
( QVariant ) "" ).toString();
xdmcpServer=st.setting()->value ( sessionId+"/xdmcpserver",
( QVariant ) "localhost" ).toString();
-
+#ifdef Q_OS_LINUX
cbDirectRDP->setChecked(st.setting()->value (
sessionId+"/directrdp",false ).toBool());
-
+#endif
for ( int i=0;i<appNames.count();++i )
{
@@ -466,8 +480,10 @@ void SessionWidget::readConfig()
cmd->setEnabled ( true );
cmd->setText ( rdpServer );
pbAdvanced->show();
+#ifdef Q_OS_LINUX
cbDirectRDP->show();
slot_rdpDirectClicked();
+#endif
}
else if ( command=="XDMCP" )
{
@@ -488,7 +504,9 @@ void SessionWidget::readConfig()
sessName->selectAll();
sessName->setFocus();
}
+#ifdef Q_OS_LINUX
slot_rdpDirectClicked();
+#endif
}
void SessionWidget::setDefaults()
@@ -510,7 +528,9 @@ void SessionWidget::setDefaults()
icon->setIcon ( QIcon ( sessIcon ) );
sshPort->setValue (
mainWindow->getDefaultSshPort().toInt() );
+#ifdef Q_OS_LINUX
rdpPort->setValue (3389);
+#endif
}
@@ -529,14 +549,17 @@ void SessionWidget::saveSettings()
st.setting()->setValue ( sessionId+"/key",
( QVariant ) key->text() );
+#ifdef Q_OS_LINUX
st.setting()->setValue ( sessionId+"/rdpport",
( QVariant ) rdpPort->value() );
-
+#endif
st.setting()->setValue ( sessionId+"/sshport",
( QVariant ) sshPort->value() );
st.setting()->setValue(sessionId+"/autologin",( QVariant ) cbAutoLogin->isChecked());
st.setting()->setValue(sessionId+"/krblogin",( QVariant ) cbKrbLogin->isChecked());
+#ifdef Q_OS_LINUX
st.setting()->setValue(sessionId+"/directrdp",( QVariant ) cbDirectRDP->isChecked());
+#endif
QString command;
bool rootless=false;
bool published=false;
@@ -604,8 +627,9 @@ QString SessionWidget::sessionName()
return sessName->text();
}
+#ifdef Q_OS_LINUX
void SessionWidget::slot_emitSettings()
{
emit settingsChanged(server->text(), QString::number( rdpPort->value()), uname->text());
}
-
+#endif
diff --git a/sessionwidget.h b/sessionwidget.h
index 9ad5c35..2c6750f 100644
--- a/sessionwidget.h
+++ b/sessionwidget.h
@@ -40,8 +40,10 @@ private slots:
void slot_changeCmd ( int var );
void slot_rdpOptions();
public slots:
+#ifdef Q_OS_LINUX
void slot_rdpDirectClicked();
void slot_emitSettings();
+#endif
private:
enum {KDE,GNOME,LXDE,UNITY,RDP,XDMCP,SHADOW,OTHER,APPLICATION,PUBLISHED};
@@ -49,11 +51,15 @@ private:
QLineEdit* uname;
QLineEdit* server;
QSpinBox* sshPort;
+#ifdef Q_OS_LINUX
QSpinBox* rdpPort;
+#endif
QLineEdit* key;
QCheckBox* cbAutoLogin;
QCheckBox* cbKrbLogin;
+#ifdef Q_OS_LINUX
QCheckBox* cbDirectRDP;
+#endif
QString sessIcon;
QPushButton* icon;
QLineEdit* cmd;
@@ -71,8 +77,10 @@ private:
void readConfig();
signals:
void nameChanged ( const QString & );
+#ifdef Q_OS_LINUX
void directRDP(bool);
void settingsChanged(const QString &, const QString &, const QString &);
+#endif
};
#endif
diff --git a/settingswidget.cpp b/settingswidget.cpp
index 2529a76..ed1b49b 100644
--- a/settingswidget.cpp
+++ b/settingswidget.cpp
@@ -45,8 +45,10 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
QGroupBox *dgb=new QGroupBox ( tr ( "&Display" ),this );
kgb=new QGroupBox ( tr ( "&Keyboard" ),this );
sbgr=new QGroupBox ( tr ( "Sound" ),this );
+#ifdef Q_OS_LINUX
rdpBox=new QGroupBox ( tr ( "RDP Client" ),this );
#endif
+#endif
QVBoxLayout *dbLay = new QVBoxLayout ( dgb );
QVBoxLayout *sndLay=new QVBoxLayout ( sbgr );
QHBoxLayout* sLay=new QHBoxLayout ( );
@@ -63,13 +65,16 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
custom=new QRadioButton ( tr ( "Window" ),dgb );
#endif
display=new QRadioButton ( tr ( "Use whole display" ),dgb );
+#ifdef Q_OS_LINUX
maxRes=new QRadioButton ( tr ( "Maximum available" ),dgb );
-
+#endif
radio->addButton ( fs );
radio->addButton ( custom );
radio->setExclusive ( true );
radio->addButton(display);
+#ifdef Q_OS_LINUX
radio->addButton(maxRes);
+#endif
width=new QSpinBox ( dgb );
height=new QSpinBox ( dgb );
cbSetDPI=new QCheckBox ( tr ( "Set display DPI" ),dgb );
@@ -102,7 +107,9 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
dwLay->addStretch();
dispLay->addWidget(display);
+#ifdef Q_OS_LINUX
dispLay->addWidget(maxRes);
+#endif
dispLay->addSpacing(15);
dispLay->addWidget(lDisplay=new QLabel(tr("&Display:"),dgb));
dispLay->addWidget(displayNumber=new QSpinBox(dgb));
@@ -230,13 +237,11 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
setLay->addWidget ( dgb );
setLay->addWidget ( kgb );
setLay->addWidget ( sbgr );
+#ifdef Q_OS_LINUX
setLay->addWidget ( rdpBox );
-
-
rRdesktop=new QRadioButton ("rdesktop",rdpBox );
rRdesktop->setChecked(true);
rXfreeRDP=new QRadioButton ( "xfreerdp",rdpBox);
-
QButtonGroup* rClient=new QButtonGroup(rdpBox);
rClient->addButton ( rRdesktop );
rClient->addButton ( rXfreeRDP );
@@ -251,6 +256,7 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
params=new QLineEdit(rdpBox);
rdpLay->addWidget(cmdLine,4,0,1,2);
rdpLay->addWidget(params,2,1);
+#endif //Q_OS_LINUX
#else
setLay->addWidget ( tabSettings );
// cbClientPrint->hide();
@@ -296,11 +302,13 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
connect ( cbDefSndPort,SIGNAL ( toggled ( bool ) ),this,
SLOT ( slot_sndDefPortChecked ( bool ) ) );
+#ifdef Q_OS_LINUX
connect (rClient, SIGNAL(buttonClicked(int)), this, SLOT(updateCmdLine()));
connect (radio, SIGNAL(buttonClicked(int)), this, SLOT(updateCmdLine()));
connect (params, SIGNAL(textChanged(QString)), this, SLOT(updateCmdLine()));
connect (width, SIGNAL(valueChanged(int)), this, SLOT(updateCmdLine()));
connect (height, SIGNAL(valueChanged(int)), this, SLOT(updateCmdLine()));
+#endif
kbd->setChecked ( true );
custom->setChecked ( true );
readConfig();
@@ -311,6 +319,7 @@ SettingsWidget::~SettingsWidget()
{
}
+#ifdef Q_OS_LINUX
void SettingsWidget::setDirectRdp(bool direct)
{
cbClientPrint->setVisible(!direct);
@@ -344,6 +353,7 @@ void SettingsWidget::setDirectRdp(bool direct)
}
}
}
+#endif
void SettingsWidget::slot_identDisplays()
{
@@ -524,18 +534,15 @@ void SettingsWidget::readConfig()
displayNumber->setValue(1);
}
-
+#ifdef Q_OS_LINUX
maxRes->setChecked(st.setting()->value ( sessionId+"/maxdim", false).toBool());
-
QString client=st.setting()->value ( sessionId+"/rdpclient","rdesktop").toString();
-
if(client=="rdesktop")
rRdesktop->setChecked(true);
else
rXfreeRDP->setChecked(true);
-
params->setText(st.setting()->value ( sessionId+"/directrdpsettings","").toString());
-
+#endif
cbSetDPI->setChecked (
@@ -657,6 +664,7 @@ void SettingsWidget::saveSettings()
st.setting()->setValue ( sessionId+"/display",
( QVariant ) displayNumber->value() );
+#ifdef Q_OS_LINUX
st.setting()->setValue ( sessionId+"/maxdim",
( QVariant ) maxRes->isChecked() );
@@ -668,7 +676,7 @@ void SettingsWidget::saveSettings()
( QVariant ) "rdesktop" );
st.setting()->setValue ( sessionId+"/directrdpsettings",
( QVariant ) params->text());
-
+#endif
st.setting()->setValue ( sessionId+"/height",
( QVariant ) height->value() );
st.setting()->setValue ( sessionId+"/dpi",
@@ -709,6 +717,7 @@ void SettingsWidget::saveSettings()
st.setting()->sync();
}
+#ifdef Q_OS_LINUX
void SettingsWidget::setServerSettings(QString server, QString port, QString user)
{
this->server=server;
@@ -747,3 +756,4 @@ void SettingsWidget::updateCmdLine()
}
cmdLine->setText(client +" "+params->text()+ grOpt +userOpt+" -p <"+tr("password")+"> "+ server+":"+port );
}
+#endif
diff --git a/settingswidget.h b/settingswidget.h
index 79aae0c..eeed255 100644
--- a/settingswidget.h
+++ b/settingswidget.h
@@ -37,10 +37,13 @@ public:
~SettingsWidget();
void setDefaults();
void saveSettings();
+#ifdef Q_OS_LINUX
void setDirectRdp(bool direct);
public slots:
void setServerSettings(QString server, QString port, QString user);
void updateCmdLine();
+#endif
+
private slots:
void slot_sndSysSelected ( int system );
void slot_sndToggled ( bool val );
@@ -59,7 +62,9 @@ private:
QLineEdit* type;
QRadioButton* custom;
QRadioButton* display;
+#ifdef Q_OS_LINUX
QRadioButton* maxRes;
+#endif
QRadioButton* arts;
QRadioButton* pulse;
QRadioButton* esd;
@@ -84,16 +89,18 @@ private:
QList <QMainWindow*> identWins;
QGroupBox *kgb;
QGroupBox *sbgr;
+#ifdef Q_OS_LINUX
QGroupBox *rdpBox;
QRadioButton* rRdesktop;
QRadioButton* rXfreeRDP;
QLineEdit* cmdLine;
QLineEdit* params;
- QFrame* hLine1;
- QFrame* hLine2;
QString server;
QString user;
QString port;
+#endif
+ QFrame* hLine1;
+ QFrame* hLine2;
private:
void readConfig();
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).