[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdenetwork/krdc
From: Urs Wolfer <uwolfer () kde ! org>
Date: 2007-08-01 15:48:57
Message-ID: 1185983337.771057.28184.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 695197 by uwolfer:
* Better RDP (rdesktop) integration:
* Option for sound output (local, remote, disabled).
* Line Edit for additional rdesktop arguments. This way experienced users can use \
all rdesktop options inside KRDC, but the UI does not become bloaded. Probably I will \
more important and often used options to the UI later (if there are more...).
* Explanation in the RDP tooltip for port option.
BUG: 103934
M +6 -0 config/krdc.kcfg
M +2 -2 mainwindow.cpp
M +45 -5 rdp/rdphostpreferences.cpp
M +6 -0 rdp/rdphostpreferences.h
M +72 -9 rdp/rdppreferences.ui
M +20 -0 rdp/rdpview.cpp
--- trunk/KDE/kdenetwork/krdc/config/krdc.kcfg #695196:695197
@@ -43,5 +43,11 @@
<entry name="ColorDepth" type="Int">
<default>0</default>
</entry>
+ <entry name="Sound" type="Int">
+ <default>0</default>
+ </entry>
+ <entry name="ExtraOptions" type="String">
+ <default></default>
+ </entry>
</group>
</kcfg>
--- trunk/KDE/kdenetwork/krdc/mainwindow.cpp #695196:695197
@@ -650,8 +650,8 @@
QToolTip::showText(m_addressNavigator->pos() + pos() + \
QPoint(m_addressNavigator->width(),
\
m_addressNavigator->height() + 20),
- i18n("Enter here the address.<br />"
- "<i>Example: rdpserver (host)</i>"), this);
+ i18n("Enter here the address. Port is optional.<br />"
+ "<i>Example: rdpserver:3389 (host:port)</i>"), this);
}
QList<RemoteView *> MainWindow::remoteViewList() const
--- trunk/KDE/kdenetwork/krdc/rdp/rdphostpreferences.cpp #695196:695197
@@ -88,7 +88,9 @@
m_height(600),
m_width(800),
m_colorDepth(0),
- m_keyboardLayout("en-us")
+ m_keyboardLayout("en-us"),
+ m_sound(0),
+ m_extraOptions(QString())
{
if (hostConfigured()) {
if (showConfigAgain() || forceShow) {
@@ -120,6 +122,8 @@
rdpUi.kcfg_Width->setValue(width());
rdpUi.kcfg_ColorDepth->setCurrentIndex(colorDepth());
rdpUi.kcfg_KeyboardLayout->setCurrentIndex(keymap2int(keyboardLayout()));
+ rdpUi.kcfg_Sound->setCurrentIndex(sound());
+ rdpUi.kcfg_ExtraOptions->setText(extraOptions());
connect(rdpUi.resolutionComboBox, SIGNAL(currentIndexChanged(int)), \
SLOT(updateWidthHeight(int)));
@@ -130,10 +134,12 @@
if (dialog->exec() == KDialog::Accepted) {
kDebug(5012) << "RdpHostPreferences config dialog accepted" << endl;
- setHeight(rdpUi.kcfg_Height->value());
- setWidth(rdpUi.kcfg_Width->value());
- setColorDepth(rdpUi.kcfg_ColorDepth->currentIndex());
- setKeyboardLayout(int2keymap(rdpUi.kcfg_KeyboardLayout->currentIndex()));
+ setHeight(rdpUi.kcfg_Height->value());
+ setWidth(rdpUi.kcfg_Width->value());
+ setColorDepth(rdpUi.kcfg_ColorDepth->currentIndex());
+ setKeyboardLayout(int2keymap(rdpUi.kcfg_KeyboardLayout->currentIndex()));
+ setSound(rdpUi.kcfg_Sound->currentIndex());
+ setExtraOptions(rdpUi.kcfg_ExtraOptions->text());
}
}
@@ -196,6 +202,16 @@
setKeyboardLayout(int2keymap(m_element.firstChildElement("keyboardLayout").text().toInt()));
else
setKeyboardLayout(int2keymap(Settings::keyboardLayout()));
+
+ if (m_element.firstChildElement("sound") != QDomElement())
+ setSound(m_element.firstChildElement("sound").text().toInt());
+ else
+ setSound(Settings::sound());
+
+ if (m_element.firstChildElement("extraOptions") != QDomElement())
+ setExtraOptions(m_element.firstChildElement("extraOptions").text());
+ else
+ setExtraOptions(Settings::extraOptions());
}
void RdpHostPreferences::saveProtocolSpecificConfig()
@@ -206,6 +222,8 @@
updateElement("width", QString::number(width()));
updateElement("colorDepth", QString::number(colorDepth()));
updateElement("keyboardLayout", QString::number(keymap2int(keyboardLayout())));
+ updateElement("sound", QString::number(sound()));
+ updateElement("extraOptions", extraOptions());
}
void RdpHostPreferences::setHeight(int height)
@@ -252,4 +270,26 @@
return m_keyboardLayout;
}
+void RdpHostPreferences::setSound(int sound)
+{
+ if (sound >= 0)
+ m_sound = sound;
+}
+
+int RdpHostPreferences::sound() const
+{
+ return m_sound;
+}
+
+void RdpHostPreferences::setExtraOptions(const QString &extraOptions)
+{
+ if (!extraOptions.isNull())
+ m_extraOptions = extraOptions;
+}
+
+QString RdpHostPreferences::extraOptions() const
+{
+ return m_extraOptions;
+}
+
#include "rdphostpreferences.moc"
--- trunk/KDE/kdenetwork/krdc/rdp/rdphostpreferences.h #695196:695197
@@ -43,6 +43,10 @@
int colorDepth();
void setKeyboardLayout(const QString &keyboardLayout);
QString keyboardLayout() const;
+ void setSound(int sound);
+ int sound() const;
+ void setExtraOptions(const QString &extraOptions);
+ QString extraOptions() const;
protected:
void showDialog();
@@ -54,6 +58,8 @@
int m_width;
int m_colorDepth;
QString m_keyboardLayout;
+ int m_sound;
+ QString m_extraOptions;
Ui::RdpPreferences rdpUi;
private slots:
--- trunk/KDE/kdenetwork/krdc/rdp/rdppreferences.ui #695196:695197
@@ -1,17 +1,9 @@
<ui version="4.0" >
<class>RdpPreferences</class>
<widget class="QWidget" name="RdpPreferences" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>435</width>
- <height>174</height>
- </rect>
- </property>
<layout class="QVBoxLayout" >
<item>
- <widget class="QGroupBox" name="rdpGroupBox" >
+ <widget class="QGroupBox" name="connectionGroupBox" >
<property name="title" >
<string>Connection</string>
</property>
@@ -406,10 +398,74 @@
</item>
</widget>
</item>
+ <item row="4" column="1" >
+ <widget class="QComboBox" name="kcfg_Sound" >
+ <item>
+ <property name="text" >
+ <string>On this computer</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>On remote computer</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Disable sound</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="4" column="0" >
+ <widget class="QLabel" name="soudLabel" >
+ <property name="text" >
+ <string>Sound:</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
<item>
+ <widget class="QGroupBox" name="expertGroupBox" >
+ <property name="title" >
+ <string>Expert options</string>
+ </property>
+ <layout class="QGridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="extraOptionsLabel" >
+ <property name="minimumSize" >
+ <size>
+ <width>116</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Extra options:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="KLineEdit" name="kcfg_ExtraOptions" >
+ <property name="minimumSize" >
+ <size>
+ <width>280</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="whatsThis" >
+ <string>Here you can enter additional rdesktop options.</string>
+ </property>
+ <property name="showClearButton" stdset="0" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
@@ -424,6 +480,13 @@
</item>
</layout>
</widget>
+ <customwidgets>
+ <customwidget>
+ <class>KLineEdit</class>
+ <extends>QLineEdit</extends>
+ <header>klineedit.h</header>
+ </customwidget>
+ </customwidgets>
<tabstops>
<tabstop>resolutionComboBox</tabstop>
<tabstop>kcfg_Width</tabstop>
--- trunk/KDE/kdenetwork/krdc/rdp/rdpview.cpp #695196:695197
@@ -163,6 +163,26 @@
arguments << "-X" << QString::number(m_container->winId());
arguments << "-a" << QString::number((m_hostPreferences->colorDepth() + 1) * 8);
+
+ QString sound;
+ switch (m_hostPreferences->sound()) {
+ case 0:
+ sound = "local";
+ break;
+ case 1:
+ sound = "remote";
+ break;
+ case 2:
+ default:
+ sound = "off";
+ }
+ arguments << "-r" << "sound:" + sound;
+
+ if (!m_hostPreferences->extraOptions().isEmpty()) {
+ QStringList additionalArguments = m_hostPreferences->extraOptions().split(' \
'); + arguments += additionalArguments;
+ }
+
arguments << (m_host + ':' + QString::number(m_port));
kDebug(5012) << arguments << endl;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic