[X2Go-Commits] [x2goclient] 02/02: Split Sessions config widget into Input/output and Media widgets. (Fixes: #643).
git-admin at x2go.org
git-admin at x2go.org
Wed Nov 26 17:28:26 CET 2014
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2goclient.
commit c1d22807941c8f54986a04adf0b8d8ae1717f45d
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date: Wed Nov 26 17:27:55 2014 +0100
Split Sessions config widget into Input/output and Media widgets. (Fixes: #643).
---
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..269b4eb 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: #643).
+
-- Mike Gabriel <mike.gabriel at 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 at 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 at 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 at 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
More information about the x2go-commits
mailing list