This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from 177b74e fix for last commit new 10478ba - Split Sessions config widget into Input/output and Media widgets. (Fixes: #770962). The 1 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: configdialog.cpp | 16 +- configdialog.h | 2 + debian/changelog | 5 + editconnectiondialog.cpp | 12 +- editconnectiondialog.h | 2 + mediawidget.cpp | 338 +++++++++++++++++++++++++++++++ editconnectiondialog.h => mediawidget.h | 76 +++---- settingswidget.cpp | 264 +----------------------- settingswidget.h | 17 -- x2goclient.pro | 4 +- 10 files changed, 417 insertions(+), 319 deletions(-) create mode 100644 mediawidget.cpp copy editconnectiondialog.h => mediawidget.h (62%) -- Alioth's /srv/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 master in repository x2goclient. commit 10478baa16054832791996831c98748e87c53337 Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Wed Nov 26 14:06:14 2014 +0100 - Split Sessions config widget into Input/output and Media widgets. (Fixes: #770962). --- configdialog.cpp | 16 +- configdialog.h | 2 + debian/changelog | 5 + editconnectiondialog.cpp | 12 +- editconnectiondialog.h | 2 + mediawidget.cpp | 338 +++++++++++++++++++++++++++++++ editconnectiondialog.h => mediawidget.h | 76 +++---- settingswidget.cpp | 264 +----------------------- settingswidget.h | 17 -- x2goclient.pro | 4 +- 10 files changed, 417 insertions(+), 319 deletions(-) diff --git a/configdialog.cpp b/configdialog.cpp index f85d8da..434a148 100644 --- a/configdialog.cpp +++ b/configdialog.cpp @@ -36,6 +36,7 @@ #include "x2goclientconfig.h" #include "connectionwidget.h" #include "settingswidget.h" +#include "mediawidget.h" #if defined ( Q_OS_WIN) && defined (CFGCLIENT ) @@ -279,8 +280,11 @@ ConfigDialog::ConfigDialog ( QWidget * parent, Qt::WFlags f ) ( ONMainWindow* ) parent,this ); setWidg=new SettingsWidget ( QString::null, ( ONMainWindow* ) parent,this ); + mediaWidget=new MediaWidget ( QString::null, + ( ONMainWindow* ) parent,this ); conWidg->hide(); setWidg->hide(); + mediaWidget->hide(); X2goSettings st ( "sessions" ); cbStartEmbed->setChecked ( @@ -404,6 +408,7 @@ void ConfigDialog::slot_accepted() ( QVariant ) cbStartEmbed->isChecked() ); st.setting()->sync(); setWidg->saveSettings(); + mediaWidget->saveSettings(); conWidg->saveSettings(); } #if defined ( Q_OS_WIN) && defined (CFGCLIENT ) @@ -573,15 +578,19 @@ void ConfigDialog::slotAdvClicked() advancedOptions->setText ( tr ( "Advanced options" ) +" >>" ); conWidg->hide(); setWidg->hide(); + mediaWidget->hide(); conWidg->setParent ( this ); setWidg->setParent ( this ); + mediaWidget->setParent (this); + tabWidg->removeTab ( 4 ); tabWidg->removeTab ( 3 ); tabWidg->removeTab ( 2 ); } else { tabWidg->addTab ( conWidg,tr ( "&Connection" ) ); - tabWidg->addTab ( setWidg, tr ( "&Settings" ) ); + tabWidg->addTab ( setWidg, tr ( "&Input/Output" ) ); + tabWidg->addTab ( mediaWidget, tr ( "&Media" ) ); advancedOptions->setText ( tr ( "Advanced options" ) +" <<" ); } advOptionsShown=!advOptionsShown; @@ -625,6 +634,11 @@ void ConfigDialog::slotDefaults() setWidg->setDefaults(); } break; + case 4: + { + mediaWidget->setDefaults(); + } + break; #endif } diff --git a/configdialog.h b/configdialog.h index 148462e..8156f2a 100644 --- a/configdialog.h +++ b/configdialog.h @@ -30,6 +30,7 @@ class QButtonGroup; class PrintWidget; class ConnectionWidget; class SettingsWidget; +class MediaWidget; class QTabWidget; class QGroupBox; #if defined (Q_OS_WIN) && defined (CFGCLIENT ) @@ -86,6 +87,7 @@ private: QButtonGroup* bgRadio; ConnectionWidget* conWidg; SettingsWidget* setWidg; + MediaWidget* mediaWidget; #if defined ( Q_OS_WIN) && defined (CFGCLIENT ) XSettingsWidget* xsetWidg; diff --git a/debian/changelog b/debian/changelog index d5beff8..4f33758 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,11 @@ x2goclient (4.0.3.1-0x2go1) UNRELEASED; urgency=medium * New upstream release (4.0.3.1): - Update Danish translation file. + [ Oleksandr Shneyder ] + * New upstream release (4.0.3.1): + - Split Sessions config widget into Input/output and Media widgets. + (Fixes: #770962). + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 21 Oct 2014 13:22:39 +0200 x2goclient (4.0.3.0-0x2go1) unstable; urgency=low diff --git a/editconnectiondialog.cpp b/editconnectiondialog.cpp index 5cd0d3d..741a90a 100644 --- a/editconnectiondialog.cpp +++ b/editconnectiondialog.cpp @@ -27,6 +27,7 @@ #include "sharewidget.h" #include "connectionwidget.h" #include "settingswidget.h" +#include "mediawidget.h" EditConnectionDialog::EditConnectionDialog ( bool newSession, QString id, QWidget * par, int ind,Qt::WFlags f ) @@ -52,11 +53,13 @@ EditConnectionDialog::EditConnectionDialog ( bool newSession, QString id, QWidge sessSet=new SessionWidget ( newSession, id,parent ); conSet=new ConnectionWidget ( id,parent ); otherSet=new SettingsWidget ( id,parent ); + mediaSet=new MediaWidget ( id,parent ); exportDir=new ShareWidget ( id,parent ); fr->addTab ( sessSet,tr ( "&Session" ) ); fr->addTab ( conSet,tr ( "&Connection" ) ); - fr->addTab ( otherSet,tr ( "&Settings" ) ); + fr->addTab ( otherSet,tr ( "&Input/Output" ) ); + fr->addTab ( mediaSet,tr ( "&Media" ) ); if (! parent->getHideFolderSharing()) fr->addTab ( exportDir,tr ( "&Shared folders" ) ); @@ -129,6 +132,7 @@ void EditConnectionDialog::slot_accepted() conSet->saveSettings(); exportDir->saveSettings(); otherSet->saveSettings(); + mediaSet->saveSettings(); sessSet->saveSettings(); } @@ -154,6 +158,11 @@ void EditConnectionDialog::slot_default() break; case 3: { + mediaSet->setDefaults(); + } + break; + case 4: + { exportDir->setDefaults(); } break; @@ -165,6 +174,7 @@ void EditConnectionDialog::slot_directRDP(bool direct) { fr->setTabEnabled(1,!direct); fr->setTabEnabled(3,!direct); + fr->setTabEnabled(4,!direct); otherSet->setDirectRdp(direct); } #endif diff --git a/editconnectiondialog.h b/editconnectiondialog.h index 32b36dd..4012826 100644 --- a/editconnectiondialog.h +++ b/editconnectiondialog.h @@ -41,6 +41,7 @@ class QTreeView; class SessionWidget; class ConnectionWidget; class SettingsWidget; +class MediaWidget; class ShareWidget; class EditConnectionDialog : public QDialog @@ -55,6 +56,7 @@ private: SessionWidget* sessSet; ConnectionWidget* conSet; SettingsWidget* otherSet; + MediaWidget* mediaSet; ShareWidget* exportDir; diff --git a/mediawidget.cpp b/mediawidget.cpp new file mode 100644 index 0000000..b1e7df3 --- /dev/null +++ b/mediawidget.cpp @@ -0,0 +1,338 @@ +/************************************************************************** +* Copyright (C) 2005-2014 by Oleksandr Shneyder * +* o.shneyder@phoca-gmbh.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 * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program. If not, see <http://www.gnu.org/licenses/>. * +***************************************************************************/ + +#include "mediawidget.h" +#include "onmainwindow.h" +#include <QBoxLayout> +#include <QRadioButton> +#include <QLineEdit> +#include <QCheckBox> +#include <QSpinBox> +#include <QGroupBox> +#include <QButtonGroup> +#include <QLabel> +#include "x2gosettings.h" +#include <QDir> +#include <QApplication> +#include <QDesktopWidget> +#include <QTimer> +#include <QSplashScreen> +#include "x2gologdebug.h" +#include <QGridLayout> + +MediaWidget::MediaWidget ( QString id, ONMainWindow * mw, + QWidget * parent, Qt::WindowFlags f ) + : ConfigWidget ( id,mw,parent,f ) +{ +#ifdef Q_WS_HILDON + QTabWidget* tabSettings=new QTabWidget ( this ); + QFrame* sbgr=new QFrame(); + tabSettings->addTab ( sbgr,tr ( "Sound" ) ); +#else + sbgr=new QGroupBox ( tr ( "Sound" ),this ); +#endif + QVBoxLayout *sndLay=new QVBoxLayout ( sbgr ); + QHBoxLayout* sLay=new QHBoxLayout ( ); + QVBoxLayout* sLay_sys=new QVBoxLayout ( ); + QVBoxLayout* sLay_opt=new QVBoxLayout ( ); + sLay->addLayout ( sLay_sys ); + sLay->addLayout ( sLay_opt ); + QVBoxLayout* setLay=new QVBoxLayout ( this ); + + sound=new QCheckBox ( tr ( "Enable sound support" ),sbgr ); + QButtonGroup* sndsys=new QButtonGroup; + pulse=new QRadioButton ( "PulseAudio",sbgr ); + arts=new QRadioButton ( "arts",sbgr ); + esd=new QRadioButton ( "esd",sbgr ); + sndsys->addButton ( pulse,PULSE ); + sndsys->addButton ( arts,ARTS ); + sndsys->addButton ( esd,ESD ); + sndsys->setExclusive ( true ); + rbStartSnd=new QRadioButton ( tr ( "Start sound daemon" ),sbgr ); + rbNotStartSnd=new QRadioButton ( + tr ( "Use running sound daemon" ),sbgr ); + cbSndSshTun=new QCheckBox ( + tr ( "Use SSH port forwarding to tunnel\n" + "sound system connections through firewalls" ),sbgr ); + cbDefSndPort=new QCheckBox ( tr ( "Use default sound port" ),sbgr ); + sbSndPort=new QSpinBox ( sbgr ); + sbSndPort->setMinimum ( 1 ); + sbSndPort->setMaximum ( 99999999 ); + + + QHBoxLayout *sndPortLay = new QHBoxLayout(); + lSndPort=new QLabel ( tr ( "Sound port:" ),sbgr ); + sndPortLay->addWidget ( lSndPort ); + sndPortLay->addWidget ( sbSndPort ); + + sLay_sys->addWidget ( pulse ); + sLay_sys->addWidget ( arts ); + sLay_sys->addWidget ( esd ); + + sLay_opt->addWidget ( rbStartSnd ); + sLay_opt->addWidget ( rbNotStartSnd ); + sLay_opt->addWidget ( cbSndSshTun ); + QFrame* hl=new QFrame ( sbgr ); + hl->setFrameStyle ( QFrame::HLine | QFrame::Sunken ); + sLay_opt->addWidget ( hl ); + sLay_opt->addWidget ( cbDefSndPort ); + sLay_opt->addLayout ( sndPortLay ); + sndLay->addWidget ( sound ); + sndLay->addLayout ( sLay ); +#ifdef Q_OS_WIN + arts->hide(); + hl->hide(); + cbDefSndPort->hide(); + lSndPort->hide(); + sbSndPort->hide(); +#endif + + + cbClientPrint=new QCheckBox ( tr ( "Client side printing support" ), + this ); +#ifdef Q_OS_DARWIN + arts->hide(); + pulse->hide(); + esd->setChecked ( true ); +#endif + setLay->addWidget(sbgr); + setLay->addWidget ( cbClientPrint ); + setLay->addStretch(); + + connect ( sound,SIGNAL ( toggled ( bool ) ),this, + SLOT ( slot_sndToggled ( bool ) ) ); + connect ( sndsys,SIGNAL ( buttonClicked ( int ) ),this, + SLOT ( slot_sndSysSelected ( int ) ) ); + connect ( rbStartSnd,SIGNAL ( clicked ( ) ),this, + SLOT ( slot_sndStartClicked() ) ); + connect ( rbNotStartSnd,SIGNAL ( clicked ( ) ),this, + SLOT ( slot_sndStartClicked() ) ); + connect ( cbDefSndPort,SIGNAL ( toggled ( bool ) ),this, + SLOT ( slot_sndDefPortChecked ( bool ) ) ); + + setDefaults(); + readConfig(); +} + + +MediaWidget::~MediaWidget() +{ +} + +void MediaWidget::slot_sndSysSelected ( int system ) +{ + rbStartSnd->show(); + rbNotStartSnd->show(); + cbSndSshTun->hide(); + cbDefSndPort->setChecked ( true ); + cbDefSndPort->setEnabled ( true ); + + switch ( system ) + { + case PULSE: + { + rbStartSnd->hide(); + rbNotStartSnd->hide(); + cbSndSshTun->show(); + cbSndSshTun->setEnabled ( true ); + break; + } + case ARTS: + { + cbDefSndPort->setChecked ( false ); + cbDefSndPort->setEnabled ( false ); + sbSndPort->setValue ( 20221 ); + break; + } + case ESD: + { +#ifdef Q_OS_WIN + rbStartSnd->hide(); + rbNotStartSnd->hide(); + cbSndSshTun->show(); + cbSndSshTun->setEnabled ( false ); + cbSndSshTun->setChecked ( true ); +#endif + sbSndPort->setValue ( 16001 ); + break; + } + } + slot_sndStartClicked(); +} + +void MediaWidget::slot_sndToggled ( bool val ) +{ + arts->setEnabled ( val ); + pulse->setEnabled ( val ); + esd->setEnabled ( val ); + + rbStartSnd->setEnabled ( val ); + rbNotStartSnd->setEnabled ( val ); + + cbSndSshTun->setEnabled ( false ); + if ( pulse->isChecked() ) + cbSndSshTun->setEnabled ( val ); + lSndPort->setEnabled ( val ); + if ( !arts->isChecked() ) + cbDefSndPort->setEnabled ( val ); + sbSndPort->setEnabled ( val ); + if ( val ) + slot_sndStartClicked(); + +} + +void MediaWidget::slot_sndStartClicked() +{ + bool start=rbStartSnd->isChecked(); +#ifdef Q_OS_WIN + start=false; +#endif + if ( pulse->isChecked() ) + { + lSndPort->setEnabled ( true ); + sbSndPort->setEnabled ( true ); + cbDefSndPort->setEnabled ( true &&sound->isChecked()); + } + else + { + lSndPort->setEnabled ( !start ); + sbSndPort->setEnabled ( !start ); + cbDefSndPort->setEnabled ( !start ); + } + if ( arts->isChecked() ) + cbDefSndPort->setEnabled ( false ); + if ( ( !start && esd->isChecked() ) ||pulse->isChecked() ) + slot_sndDefPortChecked ( cbDefSndPort->isChecked() ); + +} + +void MediaWidget::slot_sndDefPortChecked ( bool val ) +{ + sbSndPort->setEnabled ( !val ); + lSndPort->setEnabled ( !val ); + if ( val ) + { + if ( pulse->isChecked() ) + sbSndPort->setValue ( 4713 ); + if ( arts->isChecked() ) + sbSndPort->setValue ( 20221 ); + if ( esd->isChecked() ) + sbSndPort->setValue ( 16001 ); + } + +} + +void MediaWidget::readConfig() +{ + + X2goSettings st ( "sessions" ); + + bool snd=st.setting()->value ( + sessionId+"/sound", + ( QVariant ) mainWindow->getDefaultUseSound() + ).toBool(); + QString sndsys=st.setting()->value ( sessionId+"/soundsystem", + "pulse" ).toString(); + bool startServ=st.setting()->value ( sessionId+"/startsoundsystem", + true ).toBool(); + bool sndInTun=st.setting()->value ( sessionId+"/soundtunnel", + true ).toBool(); + bool defSndPort=st.setting()->value ( sessionId+"/defsndport", + true ).toBool(); + int sndPort= st.setting()->value ( sessionId+"/sndport",4713 ).toInt(); + if ( startServ ) + rbStartSnd->setChecked ( true ); + else + rbNotStartSnd->setChecked ( true ); + + pulse->setChecked ( true ); + slot_sndSysSelected ( PULSE ); +#ifdef Q_OS_WIN + if ( sndsys=="arts" ) + { + sndsys="pulse"; + } +#endif + if ( sndsys=="arts" ) + { + arts->setChecked ( true ); + slot_sndSysSelected ( ARTS ); + } +#ifdef Q_OS_DARWIN + sndsys="esd"; +#endif + if ( sndsys=="esd" ) + { + esd->setChecked ( true ); + slot_sndSysSelected ( ESD ); + } + cbSndSshTun->setChecked ( sndInTun ); + sound->setChecked ( snd ); + if ( !defSndPort ) + sbSndPort->setValue ( sndPort ); + cbDefSndPort->setChecked ( defSndPort ); + if ( sndsys=="arts" ) + cbDefSndPort->setChecked ( false ); + slot_sndToggled ( snd ); + slot_sndStartClicked(); + + if(!sound) + cbDefSndPort->setEnabled(false); + + cbClientPrint->setChecked ( st.setting()->value ( sessionId+"/print", + true ).toBool() ); +} + +void MediaWidget::setDefaults() +{ + sound->setChecked ( true ); + pulse->setChecked ( true ); + slot_sndToggled ( true ); + slot_sndSysSelected ( PULSE ); + cbSndSshTun->setChecked ( true ); + rbStartSnd->setChecked ( true ); + cbClientPrint->setChecked ( true ); +} + +void MediaWidget::saveSettings() +{ + X2goSettings st ( "sessions" ); + + st.setting()->setValue ( sessionId+"/sound", + ( QVariant ) sound->isChecked() ); + if ( arts->isChecked() ) + st.setting()->setValue ( sessionId+"/soundsystem", + ( QVariant ) "arts" ); + if ( esd->isChecked() ) + st.setting()->setValue ( sessionId+"/soundsystem", + ( QVariant ) "esd" ); + if ( pulse->isChecked() ) + st.setting()->setValue ( sessionId+"/soundsystem", + ( QVariant ) "pulse" ); + + st.setting()->setValue ( sessionId+"/startsoundsystem", + ( QVariant ) rbStartSnd->isChecked() ); + st.setting()->setValue ( sessionId+"/soundtunnel", + ( QVariant ) cbSndSshTun->isChecked() ); + st.setting()->setValue ( sessionId+"/defsndport", + ( QVariant ) cbDefSndPort->isChecked() ); + st.setting()->setValue ( sessionId+"/sndport", + ( QVariant ) sbSndPort->value() ); + st.setting()->setValue ( sessionId+"/print", + ( QVariant ) cbClientPrint->isChecked() ); + st.setting()->sync(); +} diff --git a/editconnectiondialog.h b/mediawidget.h similarity index 62% copy from editconnectiondialog.h copy to mediawidget.h index 32b36dd..ceac786 100644 --- a/editconnectiondialog.h +++ b/mediawidget.h @@ -15,56 +15,56 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * ***************************************************************************/ -#ifndef EDITCONNECTIONDIALOG_H -#define EDITCONNECTIONDIALOG_H +#ifndef MEDIAWIDGET_H +#define MEDIAWIDGET_H -#include "x2goclientconfig.h" -#include <QStringList> -#include <QDialog> +#include <configwidget.h> -class QLineEdit; -class QPushButton; -class QCheckBox; +/** + @author Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +*/ class QSpinBox; -class QComboBox; class QRadioButton; -class QSlider; +class QCheckBox; +class QLineEdit; +class QSpinBox; class QLabel; -class QTabWidget; -class ONMainWindow; -class QStandardItemModel; -class QTreeView; +class QPushButton; +class QMainWindow; +class QGroupBox; -/** - @author Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> -*/ -class SessionWidget; -class ConnectionWidget; -class SettingsWidget; -class ShareWidget; -class EditConnectionDialog : public QDialog +class MediaWidget : public ConfigWidget { Q_OBJECT public: - EditConnectionDialog ( bool newSession, QString id, QWidget * par, int ind=0, - Qt::WFlags f = 0 ); - ~EditConnectionDialog(); -private: - QTabWidget *fr; - SessionWidget* sessSet; - ConnectionWidget* conSet; - SettingsWidget* otherSet; - ShareWidget* exportDir; - + MediaWidget ( QString id, ONMainWindow * mw, + QWidget * parent=0, Qt::WindowFlags f=0 ); + ~MediaWidget(); + void setDefaults(); + void saveSettings(); private slots: - void slot_changeCaption ( const QString& newName ); - void slot_accepted(); - void slot_default(); -#ifdef Q_OS_LINUX - void slot_directRDP(bool direct); -#endif + void slot_sndSysSelected ( int system ); + void slot_sndToggled ( bool val ); + void slot_sndStartClicked(); + void slot_sndDefPortChecked ( bool val ); +private: + enum {PULSE,ARTS,ESD}; + QRadioButton* arts; + QRadioButton* pulse; + QRadioButton* esd; + QCheckBox* sound; + QRadioButton* rbStartSnd; + QRadioButton* rbNotStartSnd; + QCheckBox* cbSndSshTun; + QCheckBox* cbClientPrint; + QCheckBox* cbDefSndPort; + QLabel* lSndPort; + QSpinBox* sbSndPort; + QGroupBox *sbgr; +private: + void readConfig(); }; #endif diff --git a/settingswidget.cpp b/settingswidget.cpp index 5b634a1..f16924e 100644 --- a/settingswidget.cpp +++ b/settingswidget.cpp @@ -43,18 +43,14 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw, QTabWidget* tabSettings=new QTabWidget ( this ); QFrame* dgb=new QFrame(); QFrame* kgb=new QFrame(); - QFrame* sbgr=new QFrame(); tabSettings->addTab ( dgb, tr ( "&Display" ) ); tabSettings->addTab ( kgb,tr ( "&Keyboard" ) ); - tabSettings->addTab ( sbgr,tr ( "Sound" ) ); #else QGroupBox *dgb=new QGroupBox ( tr ( "&Display" ),this ); clipGr=new QGroupBox ( tr ( "&Clipboard Mode" ),this ); kgb=new QGroupBox ( tr ( "&Keyboard" ),this ); - sbgr=new QGroupBox ( tr ( "Sound" ),this ); #endif QVBoxLayout *dbLay = new QVBoxLayout ( dgb ); - QVBoxLayout *sndLay=new QVBoxLayout ( sbgr ); QVBoxLayout *cbLay=new QVBoxLayout ( clipGr ); QHBoxLayout* sLay=new QHBoxLayout ( ); QVBoxLayout* sLay_sys=new QVBoxLayout ( ); @@ -151,7 +147,9 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw, heightLabel->hide(); #endif - +#ifdef Q_OS_DARWIN + kgb->hide(); +#endif rbClipBoth=new QRadioButton(tr("Bidirectional copy and paste"), clipGr); rbClipClient=new QRadioButton(tr("Copy and paste from client to server"), clipGr); rbClipServer=new QRadioButton(tr("Copy and paste from server to client"), clipGr); @@ -197,68 +195,10 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw, kbLay->addWidget ( rbKbdSet); kbLay->addWidget( gbKbdString ); - sound=new QCheckBox ( tr ( "Enable sound support" ),sbgr ); - QButtonGroup* sndsys=new QButtonGroup; - pulse=new QRadioButton ( "PulseAudio",sbgr ); - arts=new QRadioButton ( "arts",sbgr ); - esd=new QRadioButton ( "esd",sbgr ); - sndsys->addButton ( pulse,PULSE ); - sndsys->addButton ( arts,ARTS ); - sndsys->addButton ( esd,ESD ); - sndsys->setExclusive ( true ); - rbStartSnd=new QRadioButton ( tr ( "Start sound daemon" ),sbgr ); - rbNotStartSnd=new QRadioButton ( - tr ( "Use running sound daemon" ),sbgr ); - cbSndSshTun=new QCheckBox ( - tr ( "Use SSH port forwarding to tunnel\n" - "sound system connections through firewalls" ),sbgr ); - cbDefSndPort=new QCheckBox ( tr ( "Use default sound port" ),sbgr ); - sbSndPort=new QSpinBox ( sbgr ); - sbSndPort->setMinimum ( 1 ); - sbSndPort->setMaximum ( 99999999 ); - - - QHBoxLayout *sndPortLay = new QHBoxLayout(); - lSndPort=new QLabel ( tr ( "Sound port:" ),sbgr ); - sndPortLay->addWidget ( lSndPort ); - sndPortLay->addWidget ( sbSndPort ); - - sLay_sys->addWidget ( pulse ); - sLay_sys->addWidget ( arts ); - sLay_sys->addWidget ( esd ); - - sLay_opt->addWidget ( rbStartSnd ); - sLay_opt->addWidget ( rbNotStartSnd ); - sLay_opt->addWidget ( cbSndSshTun ); - QFrame* hl=new QFrame ( sbgr ); - hl->setFrameStyle ( QFrame::HLine | QFrame::Sunken ); - sLay_opt->addWidget ( hl ); - sLay_opt->addWidget ( cbDefSndPort ); - sLay_opt->addLayout ( sndPortLay ); - sndLay->addWidget ( sound ); - sndLay->addLayout ( sLay ); -#ifdef Q_OS_WIN - arts->hide(); - hl->hide(); - cbDefSndPort->hide(); - lSndPort->hide(); - sbSndPort->hide(); -#endif - - - cbClientPrint=new QCheckBox ( tr ( "Client side printing support" ), - this ); -#ifdef Q_OS_DARWIN - arts->hide(); - pulse->hide(); - esd->setChecked ( true ); - kgb->hide(); -#endif #ifndef Q_WS_HILDON setLay->addWidget ( dgb ); setLay->addWidget ( clipGr ); setLay->addWidget ( kgb ); - setLay->addWidget ( sbgr ); #ifdef Q_OS_LINUX #ifdef CFGCLIENT rdpBox=new QGroupBox ( tr ( "RDP Client" ),this ); @@ -291,7 +231,6 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw, setLay->addWidget ( tabSettings ); // cbClientPrint->hide(); #endif //Q_WS_HILDON - setLay->addWidget ( cbClientPrint ); setLay->addStretch(); connect ( custom,SIGNAL ( toggled ( bool ) ),width, @@ -314,16 +253,6 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw, connect ( kbRadio, SIGNAL (buttonClicked(QAbstractButton*)), this, SLOT(slot_kbdClicked())); connect ( cbSetDPI,SIGNAL ( toggled ( bool ) ),DPI, SLOT ( setEnabled ( bool ) ) ); - connect ( sound,SIGNAL ( toggled ( bool ) ),this, - SLOT ( slot_sndToggled ( bool ) ) ); - connect ( sndsys,SIGNAL ( buttonClicked ( int ) ),this, - SLOT ( slot_sndSysSelected ( int ) ) ); - connect ( rbStartSnd,SIGNAL ( clicked ( ) ),this, - SLOT ( slot_sndStartClicked() ) ); - connect ( rbNotStartSnd,SIGNAL ( clicked ( ) ),this, - SLOT ( slot_sndStartClicked() ) ); - connect ( cbDefSndPort,SIGNAL ( toggled ( bool ) ),this, - SLOT ( slot_sndDefPortChecked ( bool ) ) ); setDefaults(); @@ -346,10 +275,8 @@ void SettingsWidget::slot_kbdClicked() #ifdef Q_OS_LINUX void SettingsWidget::setDirectRdp(bool direct) { - cbClientPrint->setVisible(!direct); clipGr->setVisible(!direct); kgb->setVisible(!direct); - sbgr->setVisible(!direct); cbSetDPI->setVisible(!direct); cbXinerama->setVisible(!direct); display->setVisible(!direct); @@ -420,108 +347,6 @@ void SettingsWidget::slot_hideIdentWins() } -void SettingsWidget::slot_sndSysSelected ( int system ) -{ - rbStartSnd->show(); - rbNotStartSnd->show(); - cbSndSshTun->hide(); - cbDefSndPort->setChecked ( true ); - cbDefSndPort->setEnabled ( true ); - - switch ( system ) - { - case PULSE: - { - rbStartSnd->hide(); - rbNotStartSnd->hide(); - cbSndSshTun->show(); - cbSndSshTun->setEnabled ( true ); - break; - } - case ARTS: - { - cbDefSndPort->setChecked ( false ); - cbDefSndPort->setEnabled ( false ); - sbSndPort->setValue ( 20221 ); - break; - } - case ESD: - { -#ifdef Q_OS_WIN - rbStartSnd->hide(); - rbNotStartSnd->hide(); - cbSndSshTun->show(); - cbSndSshTun->setEnabled ( false ); - cbSndSshTun->setChecked ( true ); -#endif - sbSndPort->setValue ( 16001 ); - break; - } - } - slot_sndStartClicked(); -} - -void SettingsWidget::slot_sndToggled ( bool val ) -{ - arts->setEnabled ( val ); - pulse->setEnabled ( val ); - esd->setEnabled ( val ); - - rbStartSnd->setEnabled ( val ); - rbNotStartSnd->setEnabled ( val ); - - cbSndSshTun->setEnabled ( false ); - if ( pulse->isChecked() ) - cbSndSshTun->setEnabled ( val ); - lSndPort->setEnabled ( val ); - if ( !arts->isChecked() ) - cbDefSndPort->setEnabled ( val ); - sbSndPort->setEnabled ( val ); - if ( val ) - slot_sndStartClicked(); - -} - -void SettingsWidget::slot_sndStartClicked() -{ - bool start=rbStartSnd->isChecked(); -#ifdef Q_OS_WIN - start=false; -#endif - if ( pulse->isChecked() ) - { - lSndPort->setEnabled ( true ); - sbSndPort->setEnabled ( true ); - cbDefSndPort->setEnabled ( true &&sound->isChecked()); - } - else - { - lSndPort->setEnabled ( !start ); - sbSndPort->setEnabled ( !start ); - cbDefSndPort->setEnabled ( !start ); - } - if ( arts->isChecked() ) - cbDefSndPort->setEnabled ( false ); - if ( ( !start && esd->isChecked() ) ||pulse->isChecked() ) - slot_sndDefPortChecked ( cbDefSndPort->isChecked() ); - -} - -void SettingsWidget::slot_sndDefPortChecked ( bool val ) -{ - sbSndPort->setEnabled ( !val ); - lSndPort->setEnabled ( !val ); - if ( val ) - { - if ( pulse->isChecked() ) - sbSndPort->setValue ( 4713 ); - if ( arts->isChecked() ) - sbSndPort->setValue ( 20221 ); - if ( esd->isChecked() ) - sbSndPort->setValue ( 16001 ); - } - -} void SettingsWidget::readConfig() { @@ -643,60 +468,6 @@ void SettingsWidget::readConfig() ).toBool() ); slot_kbdClicked(); - bool snd=st.setting()->value ( - sessionId+"/sound", - ( QVariant ) mainWindow->getDefaultUseSound() - ).toBool(); - QString sndsys=st.setting()->value ( sessionId+"/soundsystem", - "pulse" ).toString(); - bool startServ=st.setting()->value ( sessionId+"/startsoundsystem", - true ).toBool(); - bool sndInTun=st.setting()->value ( sessionId+"/soundtunnel", - true ).toBool(); - bool defSndPort=st.setting()->value ( sessionId+"/defsndport", - true ).toBool(); - int sndPort= st.setting()->value ( sessionId+"/sndport",4713 ).toInt(); - if ( startServ ) - rbStartSnd->setChecked ( true ); - else - rbNotStartSnd->setChecked ( true ); - - pulse->setChecked ( true ); - slot_sndSysSelected ( PULSE ); -#ifdef Q_OS_WIN - if ( sndsys=="arts" ) - { - sndsys="pulse"; - } -#endif - if ( sndsys=="arts" ) - { - arts->setChecked ( true ); - slot_sndSysSelected ( ARTS ); - } -#ifdef Q_OS_DARWIN - sndsys="esd"; -#endif - if ( sndsys=="esd" ) - { - esd->setChecked ( true ); - slot_sndSysSelected ( ESD ); - } - cbSndSshTun->setChecked ( sndInTun ); - sound->setChecked ( snd ); - if ( !defSndPort ) - sbSndPort->setValue ( sndPort ); - cbDefSndPort->setChecked ( defSndPort ); - if ( sndsys=="arts" ) - cbDefSndPort->setChecked ( false ); - slot_sndToggled ( snd ); - slot_sndStartClicked(); - - if(!sound) - cbDefSndPort->setEnabled(false); - - cbClientPrint->setChecked ( st.setting()->value ( sessionId+"/print", - true ).toBool() ); } void SettingsWidget::setDefaults() @@ -724,13 +495,6 @@ void SettingsWidget::setDefaults() slot_kbdClicked(); - sound->setChecked ( true ); - pulse->setChecked ( true ); - slot_sndToggled ( true ); - slot_sndSysSelected ( PULSE ); - cbSndSshTun->setChecked ( true ); - rbStartSnd->setChecked ( true ); - cbClientPrint->setChecked ( true ); cbXinerama->setChecked ( false ); } @@ -824,28 +588,6 @@ void SettingsWidget::saveSettings() st.setting()->setValue ( sessionId+"/type", ( QVariant ) ktype ); - st.setting()->setValue ( sessionId+"/sound", - ( QVariant ) sound->isChecked() ); - if ( arts->isChecked() ) - st.setting()->setValue ( sessionId+"/soundsystem", - ( QVariant ) "arts" ); - if ( esd->isChecked() ) - st.setting()->setValue ( sessionId+"/soundsystem", - ( QVariant ) "esd" ); - if ( pulse->isChecked() ) - st.setting()->setValue ( sessionId+"/soundsystem", - ( QVariant ) "pulse" ); - - st.setting()->setValue ( sessionId+"/startsoundsystem", - ( QVariant ) rbStartSnd->isChecked() ); - st.setting()->setValue ( sessionId+"/soundtunnel", - ( QVariant ) cbSndSshTun->isChecked() ); - st.setting()->setValue ( sessionId+"/defsndport", - ( QVariant ) cbDefSndPort->isChecked() ); - st.setting()->setValue ( sessionId+"/sndport", - ( QVariant ) sbSndPort->value() ); - st.setting()->setValue ( sessionId+"/print", - ( QVariant ) cbClientPrint->isChecked() ); st.setting()->sync(); } diff --git a/settingswidget.h b/settingswidget.h index 9036529..bff8b56 100644 --- a/settingswidget.h +++ b/settingswidget.h @@ -51,15 +51,10 @@ public slots: #endif private slots: - void slot_sndSysSelected ( int system ); - void slot_sndToggled ( bool val ); - void slot_sndStartClicked(); - void slot_sndDefPortChecked ( bool val ); void slot_identDisplays(); void slot_hideIdentWins(); void slot_kbdClicked(); private: - enum {PULSE,ARTS,ESD}; QSpinBox* width; QSpinBox* height; QSpinBox* displayNumber; @@ -67,9 +62,6 @@ private: QRadioButton* custom; QRadioButton* display; QRadioButton* maxRes; - QRadioButton* arts; - QRadioButton* pulse; - QRadioButton* esd; QRadioButton* rbKbdAuto; QRadioButton* rbKbdNoSet; QRadioButton* rbKbdSet; @@ -77,16 +69,8 @@ private: QLineEdit* leModel; QLineEdit* leLayout; QLineEdit* leVariant; - QCheckBox* sound; - QRadioButton* rbStartSnd; - QRadioButton* rbNotStartSnd; - QCheckBox* cbSndSshTun; - QCheckBox* cbClientPrint; - QCheckBox* cbDefSndPort; QCheckBox* cbSetDPI; QCheckBox* cbXinerama; - QLabel* lSndPort; - QSpinBox* sbSndPort; QSpinBox* DPI; QLabel* widthLabel; QLabel* heightLabel; @@ -97,7 +81,6 @@ private: QPushButton* pbIdentDisp; QList <QMainWindow*> identWins; QGroupBox *kgb; - QGroupBox *sbgr; QGroupBox *clipGr; QRadioButton *rbClipBoth; QRadioButton *rbClipServer; diff --git a/x2goclient.pro b/x2goclient.pro index e6eee01..1c3ead1 100755 --- a/x2goclient.pro +++ b/x2goclient.pro @@ -62,6 +62,7 @@ HEADERS += configdialog.h \ configwidget.h \ connectionwidget.h \ settingswidget.h \ + mediawidget.h \ sharewidget.h \ clicklineedit.h \ httpbrokerclient.h \ @@ -79,7 +80,8 @@ HEADERS += configdialog.h \ folderexplorer.h SOURCES += sharewidget.cpp \ - settingswidget.cpp\ + settingswidget.cpp \ + mediawidget.cpp \ configwidget.cpp \ sessionwidget.cpp \ connectionwidget.cpp \ -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git