This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch release/4.1.0.1 in repository x2goclient. discards 89adcfe src/sessionbutton.cpp: only append "XDM@" string to server text if a direct XDMCP session was requested. discards fab5c48 {src/{help.cpp,onmainwindow.{cpp,h}},man/man1/x2goclient.1}: add new --branding option that replaces the seal logo. Fixes: #1162. discards 47fd1b4 src/help.cpp: add documentation for the --background option. Part of #1162. discards 174bd0a Disable sound button on direct RDP and XDMCP sessions. Set for direct XDMCP session autologin=true. Set for direct XDMCP session username=XDM. discards fe558f7 src/onmainwindow.cpp: unbreak Windows and OS X builds - directRDP is only available on Linux, so guard new section. discards c7385a6 - Add "direct XDMCP" functionality. adds 7f2edea Continue development new 77b0859 - Add "direct XDMCP" functionality. new 8dff29b src/onmainwindow.cpp: unbreak Windows and OS X builds - directRDP is only available on Linux, so guard new section. new 22d5ae2 Disable sound button on direct RDP and XDMCP sessions. Set for direct XDMCP session autologin=true. Set for direct XDMCP session username=XDM. new a273082 src/help.cpp: add documentation for the --background option. Part of #1162. new 0445179 {src/{help.cpp,onmainwindow.{cpp,h}},man/man1/x2goclient.1}: add new --branding option that replaces the seal logo. Fixes: #1162. new 46c2dbd src/sessionbutton.cpp: only append "XDM@" string to server text if a direct XDMCP session was requested. This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (89adcfe) \ N -- N -- N refs/heads/release/4.1.0.1 (46c2dbd) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: VERSION | 2 +- man/man1/x2goclient.1 | 2 +- src/version.h | 2 +- x2gobrowserplugin-2.4_1/src/res/x2goplugin.rc | 10 +++++----- x2goclient.spec | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.1.0.1 in repository x2goclient. commit 8dff29bbd5e3d600e5ed8c9e866b68eea412f496 Author: Mihai Moldovan <ionic@ionic.de> Date: Sat Feb 25 04:19:22 2017 +0100 src/onmainwindow.cpp: unbreak Windows and OS X builds - directRDP is only available on Linux, so guard new section. --- debian/changelog | 5 +++++ src/onmainwindow.cpp | 2 ++ 2 files changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 43c1ff1..3eefe35 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,10 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium + [ Mihai Moldovan ] + * New upstream version (4.1.0.1): + - src/onmainwindow.cpp: unbreak Windows and OS X builds - directRDP is + only available on Linux, so guard new section. + [ Oleksandr Shneyder ] * New upstream version (4.1.0.1): - Add "direct XDMCP" functionality. diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index 279800c..fddb0ff 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -5942,6 +5942,7 @@ void ONMainWindow::handle_xmodmap_error (QProcess &proc) { void ONMainWindow::slotProxyError ( QProcess::ProcessError err ) { +#ifdef Q_OS_LINUX if(err==QProcess::FailedToStart && directRDP) { QString main_text = tr("Failed to start RDP or XMDCP client"); @@ -5949,6 +5950,7 @@ void ONMainWindow::slotProxyError ( QProcess::ProcessError err ) show_RichText_ErrorMsgBox (main_text, informative_text); } +#endif slotProxyFinished ( -1,QProcess::CrashExit ); } -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.1.0.1 in repository x2goclient. commit 77b0859e8819e38d993f1eb232a37dd2c81ecc47 Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Fri Feb 24 16:46:58 2017 +0100 - Add "direct XDMCP" functionality. --- debian/changelog | 4 +- src/editconnectiondialog.cpp | 6 +-- src/editconnectiondialog.h | 2 +- src/onmainwindow.cpp | 85 ++++++++++++++++++++++++++++++++++- src/sessionwidget.cpp | 41 ++++++++++++++--- src/sessionwidget.h | 3 +- src/settingswidget.cpp | 104 ++++++++++++++++++++++++++++++++++++++++++- src/settingswidget.h | 8 +++- 8 files changed, 237 insertions(+), 16 deletions(-) diff --git a/debian/changelog b/debian/changelog index 605a504..43c1ff1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium - * Continue development + [ Oleksandr Shneyder ] + * New upstream version (4.1.0.1): + - Add "direct XDMCP" functionality. -- X2Go Release Manager <git-admin@x2go.org> Wed, 22 Feb 2017 07:13:10 +0100 diff --git a/src/editconnectiondialog.cpp b/src/editconnectiondialog.cpp index d5eb063..df3fe26 100644 --- a/src/editconnectiondialog.cpp +++ b/src/editconnectiondialog.cpp @@ -85,7 +85,7 @@ EditConnectionDialog::EditConnectionDialog ( bool newSession, QString id, QWidge connect ( sessSet,SIGNAL ( nameChanged ( const QString & ) ),this, SLOT ( slot_changeCaption ( const QString& ) ) ); connect ( this,SIGNAL ( accepted() ),this,SLOT ( slot_accepted() ) ); - connect (sessSet, SIGNAL(directRDP(bool)), this, SLOT(slot_directRDP(bool))); + connect (sessSet, SIGNAL(directRDP(bool,bool)), this, SLOT(slot_directRDP(bool,bool))); connect (sessSet, SIGNAL(settingsChanged(QString,QString,QString)), otherSet, @@ -170,11 +170,11 @@ void EditConnectionDialog::slot_default() } #ifdef Q_OS_LINUX -void EditConnectionDialog::slot_directRDP(bool direct) +void EditConnectionDialog::slot_directRDP(bool direct, bool isXDMCP) { fr->setTabEnabled(1,!direct); fr->setTabEnabled(3,!direct); fr->setTabEnabled(4,!direct); - otherSet->setDirectRdp(direct); + otherSet->setDirectRdp(direct, isXDMCP); } #endif diff --git a/src/editconnectiondialog.h b/src/editconnectiondialog.h index 393390f..05a3a9e 100644 --- a/src/editconnectiondialog.h +++ b/src/editconnectiondialog.h @@ -65,7 +65,7 @@ private slots: void slot_accepted(); void slot_default(); #ifdef Q_OS_LINUX - void slot_directRDP(bool direct); + void slot_directRDP(bool direct, bool isXDMCP); #endif }; diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index 604d25d..279800c 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -3235,7 +3235,7 @@ void ONMainWindow::slotSessEnter() QString sid=sessionExplorer->getLastSession()->id(); QString cmd=st->setting()->value ( sid+"/command", ( QVariant ) QString::null ).toString(); - bool directRDP=(st->setting()->value ( sid+"/directrdp", + directRDP=(st->setting()->value ( sid+"/directrdp", ( QVariant ) false ).toBool() && cmd == "RDP"); if (cmd =="RDP" && directRDP) @@ -3244,6 +3244,16 @@ void ONMainWindow::slotSessEnter() startSession ( sid ); return; } + + directRDP=(st->setting()->value ( sid+"/directxdmcp", + ( QVariant ) false ).toBool() && cmd == "RDP"); + + if (cmd =="XDMCP" && directRDP) + { + x2goDebug<<"Starting direct RDP Session from broker"; + startSession ( sid ); + return; + } #endif broker->selectUserSession(sessionExplorer->getLastSession()->id()); config.session=sessionExplorer->getLastSession()->id(); @@ -3313,6 +3323,8 @@ void ONMainWindow::startDirectRDP() ( QVariant ) defaultHeight ).toInt(); int width=st->setting()->value ( sid+"/width", ( QVariant ) defaultWidth ).toInt(); + QString sessionType=st->setting()->value ( sid+"/command", + ( QVariant ) "").toString(); QString client=st->setting()->value ( sid+"/rdpclient", ( QVariant ) "rdesktop").toString(); @@ -3410,6 +3422,58 @@ void ONMainWindow::startDirectRDP() } proxyCmd= client +" "+params+ grOpt +userOpt+passOpt + "/v:"+host +":"+port ; } + if(sessionType=="XDMCP") + { + x2goDebug<<"starting direct XDMCP session"; + client=st->setting()->value ( sid+"/xdmcpclient", + ( QVariant ) "Xnest").toString(); + params=st->setting()->value ( sid+"/directxdmcpsettings", + ( QVariant ) "").toString(); + if(client == "Xephyr") + { + if (fullscreen) + { + grOpt=" -fullscreen "; + } + else if (maxRes) + { + QDesktopWidget wd; + grOpt=" -screen "+QString::number( wd.screenGeometry().width())+"x"+QString::number(wd.screenGeometry().height())+" "; + } + else + { + grOpt=" -screen "+QString::number(width)+"x"+QString::number(height); + } + } + else + { + if (maxRes) + { + QDesktopWidget wd; + grOpt=" -geometry "+QString::number( wd.screenGeometry().width())+"x"+QString::number(wd.screenGeometry().height())+" "; + } + else + { + grOpt=" -geometry "+QString::number(width)+"x"+QString::number(height); + } + } + int p=0; + while(true) + { + QString fname="/tmp/.X"+QString::number(p)+"-lock"; + if(QFile::exists(fname)) + { + ++p; + } + else + break; + } + proxyCmd= client +" "+params+ grOpt + " -query "+host +" :"+QString::number(p) ; + } + else + { + x2goDebug<<"starting direct RDP session"; + } // x2goDebug<<"starting direct session with cmd:"<<proxyCmd; nxproxy->start ( proxyCmd ); resumingSession.display="RDP"; @@ -3536,6 +3600,16 @@ bool ONMainWindow::startSession ( const QString& sid ) startDirectRDP(); return true; } + + directRDP=(st->setting()->value ( sid+"/directxdmcp", + ( QVariant ) false ).toBool() && cmd == "XDMCP"); + + + if (cmd =="XDMCP" && directRDP) + { + startDirectRDP(); + return true; + } #endif if ( cmd=="SHADOW" ) shadowSession=true; @@ -5866,8 +5940,15 @@ void ONMainWindow::handle_xmodmap_error (QProcess &proc) { } #endif -void ONMainWindow::slotProxyError ( QProcess::ProcessError ) +void ONMainWindow::slotProxyError ( QProcess::ProcessError err ) { + if(err==QProcess::FailedToStart && directRDP) + { + QString main_text = tr("Failed to start RDP or XMDCP client"); + QString informative_text = tr ("Check session settings and ensure that selected client is installed on your system."); + + show_RichText_ErrorMsgBox (main_text, informative_text); + } slotProxyFinished ( -1,QProcess::CrashExit ); } diff --git a/src/sessionwidget.cpp b/src/sessionwidget.cpp index 9fd2781..686c3cb 100644 --- a/src/sessionwidget.cpp +++ b/src/sessionwidget.cpp @@ -114,7 +114,8 @@ SessionWidget::SessionWidget ( bool newSession, QString id, ONMainWindow * mw, QVBoxLayout *slLay =new QVBoxLayout(); QVBoxLayout *elLay =new QVBoxLayout(); slLay->addWidget ( new QLabel ( tr ( "Host:" ),sgb ) ); - slLay->addWidget ( new QLabel ( tr ( "Login:" ),sgb ) ); + lLogin= new QLabel ( tr ( "Login:" ),sgb ); + slLay->addWidget (lLogin ); lPort=new QLabel ( tr ( "SSH port:" ),sgb ); slLay->addWidget ( lPort ); elLay->addWidget ( server ); @@ -369,6 +370,16 @@ void SessionWidget::slot_proxyType() void SessionWidget::slot_rdpDirectClicked() { bool isDirectRDP=cbDirectRDP->isChecked(); + bool isXDMCP=false; + if(sessBox->currentText()== tr("XDMCP")) + { + cbDirectRDP->setText( tr("Direct XDMCP connection")); + isXDMCP=true; + } + else + { + cbDirectRDP->setText( tr("Direct RDP connection")); + } if (cbDirectRDP->isHidden()) isDirectRDP=false; pbAdvanced->setVisible((!isDirectRDP) && (sessBox->currentIndex()==RDP)); @@ -379,7 +390,9 @@ void SessionWidget::slot_rdpDirectClicked() lKey->setVisible(!isDirectRDP); openKey->setVisible(!isDirectRDP); sshPort->setVisible(!isDirectRDP); - rdpPort->setVisible(isDirectRDP); + rdpPort->setVisible(isDirectRDP && (!isXDMCP)); + lPort->setVisible(!(isDirectRDP && isXDMCP)); + cbKrbDelegation->setVisible(!isDirectRDP); cbKrbLogin->setVisible(!isDirectRDP); @@ -394,8 +407,11 @@ void SessionWidget::slot_rdpDirectClicked() { lPort->setText(tr("SSH port:")); } + lLogin->setVisible(!(isXDMCP&&isDirectRDP)); + uname->setVisible(!(isXDMCP&&isDirectRDP)); + - emit directRDP(isDirectRDP); + emit directRDP(isDirectRDP, isXDMCP); slot_emitSettings(); } #endif @@ -498,6 +514,10 @@ void SessionWidget::slot_changeCmd ( int var ) { leCmdIp->setText ( tr ( "XDMCP server:" ) ); cmd->setText ( xdmcpServer ); +#ifdef Q_OS_LINUX + cbDirectRDP->show(); + cbDirectRDP->setText(tr ("direct XDMCP connection")); +#endif } } else @@ -670,8 +690,14 @@ void SessionWidget::readConfig() xdmcpServer=st.setting()->value ( sessionId+"/xdmcpserver", ( QVariant ) "localhost" ).toString().trimmed(); #ifdef Q_OS_LINUX - cbDirectRDP->setChecked(st.setting()->value ( - sessionId+"/directrdp",false ).toBool()); + if(st.setting()->value (sessionId+"/directrdp",false ).toBool()) + { + cbDirectRDP->setChecked(true); + } + if(st.setting()->value (sessionId+"/directxdmcp",false ).toBool()) + { + cbDirectRDP->setChecked(true); + } #endif for ( int i=0; i<appNames.count(); ++i ) @@ -743,6 +769,10 @@ void SessionWidget::readConfig() sessBox->setCurrentIndex ( XDMCP ); cmd->setEnabled ( true ); cmd->setText ( xdmcpServer ); +#ifdef Q_OS_LINUX + cbDirectRDP->show(); + slot_rdpDirectClicked(); +#endif } else { @@ -838,6 +868,7 @@ void SessionWidget::saveSettings() st.setting()->setValue(sessionId+"/krbdelegation",( QVariant ) cbKrbDelegation->isChecked()); #ifdef Q_OS_LINUX st.setting()->setValue(sessionId+"/directrdp",( QVariant ) cbDirectRDP->isChecked()); + st.setting()->setValue(sessionId+"/directxdmcp",( QVariant ) cbDirectRDP->isChecked()); #endif QString command; bool rootless=false; diff --git a/src/sessionwidget.h b/src/sessionwidget.h index 60ee046..5eda2a1 100644 --- a/src/sessionwidget.h +++ b/src/sessionwidget.h @@ -85,6 +85,7 @@ private: QLabel* lPort; QLabel* lKey; QLabel* lPath; + QLabel* lLogin; QPushButton* pbAdvanced; QString rdpOptions; QString rdpServer; @@ -110,7 +111,7 @@ private: signals: void nameChanged ( const QString & ); #ifdef Q_OS_LINUX - void directRDP(bool); + void directRDP(bool, bool); void settingsChanged(const QString &, const QString &, const QString &); #endif }; diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp index b15836c..9e9d69d 100644 --- a/src/settingswidget.cpp +++ b/src/settingswidget.cpp @@ -228,6 +228,32 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw, connect (params, SIGNAL(textChanged(QString)), this, SLOT(updateCmdLine())); connect (width, SIGNAL(valueChanged(int)), this, SLOT(updateCmdLine())); connect (height, SIGNAL(valueChanged(int)), this, SLOT(updateCmdLine())); + + + xdmcpBox=new QGroupBox ( tr ( "XDMCP client" ),this ); + setLay->addWidget ( xdmcpBox ); + rXnest=new QRadioButton ("Xnest",xdmcpBox ); + rXnest->setChecked(true); + rXephyr=new QRadioButton ( "Xephyr",xdmcpBox); + rX2goagent=new QRadioButton ( "x2goagent ",xdmcpBox); + QButtonGroup* rXdmcpClient=new QButtonGroup(xdmcpBox); + rXdmcpClient->addButton ( rXnest ); + rXdmcpClient->addButton ( rXephyr ); + rXdmcpClient->addButton ( rX2goagent ); + rXdmcpClient->setExclusive ( true ); + QGridLayout *xdmcpLay=new QGridLayout(xdmcpBox); + xdmcpLay->addWidget(rXnest,0,0); + xdmcpLay->addWidget(rXephyr,1,0); + xdmcpLay->addWidget(rX2goagent,2,0); + xdmcpLay->addWidget(new QLabel(tr("Additional parameters:")),3,0); + xdmcpLay->addWidget(new QLabel(tr("Command line:")),4,0); + xdmcpCmdLine=new QLineEdit(xdmcpBox); + xdmcpCmdLine->setReadOnly(true); + xdmcpParams=new QLineEdit(xdmcpBox); + xdmcpLay->addWidget(xdmcpCmdLine,4,0,1,2); + xdmcpLay->addWidget(xdmcpParams,3,1); + connect (rXdmcpClient, SIGNAL(buttonClicked(int)), this, SLOT(updateCmdLine())); + connect (xdmcpParams, SIGNAL(textChanged(QString)), this, SLOT(updateCmdLine())); #endif //CFGCLIENT #endif //Q_OS_LINUX #else @@ -276,7 +302,7 @@ void SettingsWidget::slot_kbdClicked() #ifdef Q_OS_LINUX -void SettingsWidget::setDirectRdp(bool direct) +void SettingsWidget::setDirectRdp(bool direct, bool isXDMCP) { clipGr->setVisible(!direct); kgb->setVisible(!direct); @@ -290,7 +316,8 @@ void SettingsWidget::setDirectRdp(bool direct) pbIdentDisp->setVisible(!direct); hLine1->setVisible(!direct); hLine2->setVisible(!direct); - rdpBox->setVisible(direct); + rdpBox->setVisible(direct && !isXDMCP); + xdmcpBox->setVisible(direct && isXDMCP); if (direct) { if (display->isChecked()) @@ -307,6 +334,7 @@ void SettingsWidget::setDirectRdp(bool direct) custom->setChecked(true); } } + updateCmdLine(); } #endif @@ -398,6 +426,15 @@ void SettingsWidget::readConfig() else rXfreeRDPOld->setChecked(true); params->setText(st.setting()->value ( sessionId+"/directrdpsettings","").toString()); + + client=st.setting()->value ( sessionId+"/xdmcpclient","Xnest").toString(); + if(client=="Xnest") + rXnest->setChecked(true); + else if(client=="x2goagent") + rX2goagent->setChecked(true); + else + rXephyr->setChecked(true); + xdmcpParams->setText(st.setting()->value ( sessionId+"/directxdmcpsettings","").toString()); #endif #endif @@ -536,6 +573,25 @@ void SettingsWidget::saveSettings() } st.setting()->setValue ( sessionId+"/directrdpsettings", ( QVariant ) params->text()); + + if (rXnest->isChecked()) + { + st.setting()->setValue ( sessionId+"/xdmcpclient", + ( QVariant ) "Xnest" ); + } + else if (rXephyr->isChecked()) + { + st.setting()->setValue ( sessionId+"/xdmcpclient", + ( QVariant ) "Xephyr" ); + } + else + { + st.setting()->setValue ( sessionId+"/xdmcpclient", + ( QVariant ) "x2goagent" ); + } + st.setting()->setValue ( sessionId+"/directxdmcpsettings", + ( QVariant ) xdmcpParams->text()); + #endif #endif @@ -668,6 +724,50 @@ void SettingsWidget::updateCmdLine() } cmdLine->setText(client +" "+params->text()+ grOpt +userOpt+" /p:<"+tr("password")+"> /v:"+ server+":"+port ); } + fs->setEnabled(true); + if(!rXephyr->isChecked() && !xdmcpBox->isHidden()) + { + fs->setEnabled(false); + if(fs->isChecked()) + { + custom->setChecked(true); + } + } + if(rX2goagent->isChecked()) + { + client="x2goagent"; + } + else + { + client="Xnest"; + } + if (maxRes->isChecked()) + { + grOpt=" -geometry <maxW>x<maxH>"; + } + if (custom->isChecked()) + { + grOpt=" -geometry "+QString::number(width->value())+"x"+QString::number(height->value()); + } + + if(rXephyr->isChecked()) + { + client="Xephyr"; + if (fs->isChecked()) + { + grOpt=" -fullscreen "; + } + if (maxRes->isChecked()) + { + grOpt=" -screen <maxW>x<maxH>"; + } + if (custom->isChecked()) + { + grOpt=" -screen "+QString::number(width->value())+"x"+QString::number(height->value()); + } + } + xdmcpCmdLine->setText(client +" "+xdmcpParams->text()+ grOpt +" -query "+ server+ " :<DISPLAY>"); + #endif } #endif diff --git a/src/settingswidget.h b/src/settingswidget.h index 2ebe51c..01e081b 100644 --- a/src/settingswidget.h +++ b/src/settingswidget.h @@ -44,7 +44,7 @@ public: void setDefaults(); void saveSettings(); #ifdef Q_OS_LINUX - void setDirectRdp(bool direct); + void setDirectRdp(bool direct, bool isXDMCP); public slots: void setServerSettings(QString server, QString port, QString user); void updateCmdLine(); @@ -97,6 +97,12 @@ private: QString server; QString user; QString port; + QGroupBox *xdmcpBox; + QRadioButton* rXnest; + QRadioButton* rXephyr; + QRadioButton* rX2goagent; + QLineEdit* xdmcpCmdLine; + QLineEdit* xdmcpParams; #endif QFrame* hLine1; QFrame* hLine2; -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.1.0.1 in repository x2goclient. commit 0445179feb2dffddb80a38b19b085fdfb9b950ac Author: Seth Galitzer <sgsax@ksu.edu> Date: Wed Mar 22 03:00:39 2017 +0100 {src/{help.cpp,onmainwindow.{cpp,h}},man/man1/x2goclient.1}: add new --branding option that replaces the seal logo. Fixes: #1162. --- debian/changelog | 2 ++ man/man1/x2goclient.1 | 3 +++ src/help.cpp | 1 + src/onmainwindow.cpp | 17 ++++++++++++++++- src/onmainwindow.h | 2 ++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index edb2a45..71b5d28 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,8 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium * New upstream version (4.1.0.1): - src/help.cpp: add documentation for the --background option. Part of #1162. + - {src/{help.cpp,onmainwindow.{cpp,h}},man/man1/x2goclient.1}: add new + --branding option that replaces the seal logo. Fixes: #1162. -- X2Go Release Manager <git-admin@x2go.org> Wed, 22 Feb 2017 07:13:10 +0100 diff --git a/man/man1/x2goclient.1 b/man/man1/x2goclient.1 index 895e1f0..d90a888 100644 --- a/man/man1/x2goclient.1 +++ b/man/man1/x2goclient.1 @@ -97,6 +97,9 @@ The support information is provided via a simple HTML file. Example: \*(T<\fB\-\-background=<svg-file>\fR\*(T> Use a custom/branded background image (SVG format) for X2Go Client's main window (i.e. replace the blue gradient area in X2Go Client by some background of your own (business/workgroup/project). +.TP +\*(T<\fB\-\-branding=<svg-file>\fR\*(T> +Use a custom icon (SVG format) for additional branding to replace the default in the lower left corner of X2Go Client's main window. .SH SESSION PROFILE DEFAULTS You can set certain defaults for session profiles via command line switches using the following options: diff --git a/src/help.cpp b/src/help.cpp index c3f6a59..e3cb1de 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -155,6 +155,7 @@ help::params_t help::build_params () { ADD_OPT ("--broker-autologin", QT_TRANSLATE_NOOP ("Help", "Enables the use of the default SSH key or SSH agent for authentication against an SSH session broker. The client's behavior is undefined if this flag is used for non-SSH session brokers.")); ADD_OPT ("--broker-noauth", QT_TRANSLATE_NOOP ("Help", "Does not ask for user credentials during session broker authentication. This can be useful if you are using an HTTP(S) session broker without authentication. If you run an HTTP(S) server without authentication, but with user-specific profiles, then put the user name into the broker URL (refer to --broker-url.) The user name then will be extracted from the broker URL and be sent to the session broker. The client's behavior is undef [...] ADD_OPT ("--background=<svg-file>", QT_TRANSLATE_NOOP ("Help", "Use a custom/branded background image (SVG format) for X2Go Client's main window.")); + ADD_OPT ("--branding=<svg-file>", QT_TRANSLATE_NOOP ("Help", "Use a custom icon (SVG format) for additional branding to replace the default in the lower left corner of X2Go Client's main window.")); # undef NEWLINE # undef ADD_OPT diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index ef958b1..eda9f0c 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -360,7 +360,11 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent ) pl.setColor ( QPalette::Window, QColor ( 255,255,255,0 ) ); x2g->setPalette ( pl ); - SVGFrame* on=new SVGFrame ( ( QString ) ":/img/svg/onlogo.svg",false,fr ); + if (OnFile.size()) + on=new SVGFrame ( ( QString ) OnFile,false,fr ); + else + on=new SVGFrame ( ( QString ) ":/img/svg/onlogo.svg",false,fr ); + on->setPalette ( pl ); if ( !miniMode ) @@ -7505,6 +7509,17 @@ bool ONMainWindow::parseParameter ( QString param ) portableDataPath=value; return true; } + if (setting == "--branding") + { + value = expandHome(value); + if (! QFile::exists(value)) + { + printError( param + tr(" (file does not exist)")); + return false; + } + OnFile=value; + return true; + } printError ( param ); return false; diff --git a/src/onmainwindow.h b/src/onmainwindow.h index 8ec120f..37b454c 100644 --- a/src/onmainwindow.h +++ b/src/onmainwindow.h @@ -672,6 +672,7 @@ private: IMGFrame* fr; SVGFrame *bgFrame; + SVGFrame *on; QLineEdit* uname; ClickLineEdit* pass; ClickLineEdit* login; @@ -801,6 +802,7 @@ private: QString supportMenuFile; QString BGFile; + QString OnFile; QString SPixFile; QString LDAPSndSys; -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.1.0.1 in repository x2goclient. commit a2730823b2793b578f6703ad26f7a30fcd895a67 Author: Seth Galitzer <sgsax@ksu.edu> Date: Wed Mar 22 00:49:08 2017 +0100 src/help.cpp: add documentation for the --background option. Part of #1162. --- debian/changelog | 5 +++++ src/help.cpp | 1 + 2 files changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index c9b60ca..edb2a45 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,11 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium Set for direct XDMCP session autologin=true. Set for direct XDMCP session username=XDM. + [ Seth Galitzer ] + * New upstream version (4.1.0.1): + - src/help.cpp: add documentation for the --background option. + Part of #1162. + -- X2Go Release Manager <git-admin@x2go.org> Wed, 22 Feb 2017 07:13:10 +0100 x2goclient (4.1.0.0-0x2go1) unstable; urgency=medium diff --git a/src/help.cpp b/src/help.cpp index 5c128db..c3f6a59 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -154,6 +154,7 @@ help::params_t help::build_params () { ADD_OPT ("--broker-ssh-key=<path to key>", QT_TRANSLATE_NOOP ("Help", "Sets the path to an SSH key to use for authentication against an SSH session broker. The client's behavior is undefined if this flag is used for non-SSH session brokers.")); ADD_OPT ("--broker-autologin", QT_TRANSLATE_NOOP ("Help", "Enables the use of the default SSH key or SSH agent for authentication against an SSH session broker. The client's behavior is undefined if this flag is used for non-SSH session brokers.")); ADD_OPT ("--broker-noauth", QT_TRANSLATE_NOOP ("Help", "Does not ask for user credentials during session broker authentication. This can be useful if you are using an HTTP(S) session broker without authentication. If you run an HTTP(S) server without authentication, but with user-specific profiles, then put the user name into the broker URL (refer to --broker-url.) The user name then will be extracted from the broker URL and be sent to the session broker. The client's behavior is undef [...] + ADD_OPT ("--background=<svg-file>", QT_TRANSLATE_NOOP ("Help", "Use a custom/branded background image (SVG format) for X2Go Client's main window.")); # undef NEWLINE # undef ADD_OPT -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.1.0.1 in repository x2goclient. commit 46c2dbde92c0162baff8e048700fe3d8d26b6662 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Aug 20 05:49:14 2017 +0200 src/sessionbutton.cpp: only append "XDM@" string to server text if a direct XDMCP session was requested. Issue automatically found by GCC. --- debian/changelog | 2 ++ src/sessionbutton.cpp | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 71b5d28..e01239e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,8 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium * New upstream version (4.1.0.1): - src/onmainwindow.cpp: unbreak Windows and OS X builds - directRDP is only available on Linux, so guard new section. + - src/sessionbutton.cpp: only append "XDM@" string to server text if a + direct XDMCP session was requested. Issue automatically found by GCC. [ Oleksandr Shneyder ] * New upstream version (4.1.0.1): diff --git a/src/sessionbutton.cpp b/src/sessionbutton.cpp index 26da85f..2f6fb95 100644 --- a/src/sessionbutton.cpp +++ b/src/sessionbutton.cpp @@ -462,9 +462,10 @@ void SessionButton::redraw() { #ifdef Q_OS_LINUX if (st->setting()->value ( sid+"/directxdmcp", - ( QVariant ) false ).toBool()) + ( QVariant ) false ).toBool()) { directRDP=true; server->setText ( "XDM@"+sv ); + } #endif cmdpix.load ( par->iconsPath ( "/16x16/X.png" ) ); cmdBox->setCurrentIndex ( XDMCP ); -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.1.0.1 in repository x2goclient. commit 22d5ae235889ab5ae7a601e5904bc26797d8f241 Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Sat Feb 25 10:05:17 2017 +0100 Disable sound button on direct RDP and XDMCP sessions. Set for direct XDMCP session autologin=true. Set for direct XDMCP session username=XDM. --- debian/changelog | 3 +++ src/onmainwindow.cpp | 10 +++++++++- src/sessionbutton.cpp | 10 ++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 3eefe35..c9b60ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,9 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium [ Oleksandr Shneyder ] * New upstream version (4.1.0.1): - Add "direct XDMCP" functionality. + - Disable sound button on direct RDP and XDMCP sessions. + Set for direct XDMCP session autologin=true. + Set for direct XDMCP session username=XDM. -- X2Go Release Manager <git-admin@x2go.org> Wed, 22 Feb 2017 07:13:10 +0100 diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index fddb0ff..ef958b1 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -2730,6 +2730,12 @@ void ONMainWindow::slotSelectedFromList ( SessionButton* session ) autologin=st->setting()->value ( sid+"/autologin", ( QVariant ) false ).toBool(); +#ifdef Q_OS_LINUX + if(command =="XDMCP" && st->setting()->value ( + sid+"/directxdmcp", + ( QVariant ) false ).toBool()) + autologin=true; +#endif krblogin=st->setting()->value ( sid+"/krblogin", ( QVariant ) false ).toBool(); @@ -3469,14 +3475,16 @@ void ONMainWindow::startDirectRDP() break; } proxyCmd= client +" "+params+ grOpt + " -query "+host +" :"+QString::number(p) ; + login->setText(tr("XDM")); + resumingSession.display=tr("XDMCP"); } else { x2goDebug<<"starting direct RDP session"; + resumingSession.display=tr("RDP"); } // x2goDebug<<"starting direct session with cmd:"<<proxyCmd; nxproxy->start ( proxyCmd ); - resumingSession.display="RDP"; resumingSession.server=host; resumingSession.sessionId=sessionExplorer->getLastSession()->name(); resumingSession.crTime=QDateTime::currentDateTime().toString("dd.MM.yy HH:mm:ss"); diff --git a/src/sessionbutton.cpp b/src/sessionbutton.cpp index c87d8ac..26da85f 100644 --- a/src/sessionbutton.cpp +++ b/src/sessionbutton.cpp @@ -449,15 +449,23 @@ void SessionButton::redraw() } else if ( command =="RDP" ) { +#ifdef Q_OS_LINUX if (st->setting()->value ( sid+"/directrdp", ( QVariant ) false ).toBool()) directRDP=true; +#endif cmdpix.load ( par->iconsPath ( "/16x16/rdp.png" ) ); cmdBox->setCurrentIndex ( RDP ); command=tr ( "RDP connection" ); } else if ( command =="XDMCP" ) { +#ifdef Q_OS_LINUX + if (st->setting()->value ( sid+"/directxdmcp", + ( QVariant ) false ).toBool()) + directRDP=true; + server->setText ( "XDM@"+sv ); +#endif cmdpix.load ( par->iconsPath ( "/16x16/X.png" ) ); cmdBox->setCurrentIndex ( XDMCP ); command=tr ( "XDMCP" ); @@ -566,6 +574,8 @@ void SessionButton::redraw() snd=st->setting()->value ( sid+"/sound", ( QVariant ) true ).toBool(); + if(directRDP) + snd=false; if ( snd ) sound->setText ( tr ( "Enabled" ) ); else -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git