aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/configdialog.cpp5
-rw-r--r--src/qmmpui/forms/configdialog.ui98
-rw-r--r--src/qmmpui/playlistdownloader.cpp2
3 files changed, 63 insertions, 42 deletions
diff --git a/src/qmmpui/configdialog.cpp b/src/qmmpui/configdialog.cpp
index 599026f1b..47764e2dd 100644
--- a/src/qmmpui/configdialog.cpp
+++ b/src/qmmpui/configdialog.cpp
@@ -69,6 +69,8 @@ ConfigDialog::ConfigDialog (QWidget *parent) : QDialog (parent)
#ifndef Q_OS_WIN
m_ui->bitDepthComboBox->addItem("32 (float)", Qmmp::PCM_FLOAT);
#endif
+ m_ui->proxyTypeComboBox->addItem(tr("HTTP"), QmmpSettings::HTTP_PROXY);
+ m_ui->proxyTypeComboBox->addItem(tr("SOCKS5"), QmmpSettings::SOCKS5_PROXY);
readSettings();
loadPluginsInfo();
loadLanguages();
@@ -131,6 +133,7 @@ void ConfigDialog::readSettings()
m_ui->enableProxyCheckBox->setChecked(gs->isProxyEnabled());
m_ui->authProxyCheckBox->setChecked(gs->useProxyAuth());
m_ui->hostLineEdit->setText(gs->proxy().host());
+ m_ui->proxyTypeComboBox->setCurrentIndex(m_ui->proxyTypeComboBox->findData(gs->proxyType()));
if (gs->proxy().port(0))
m_ui->portLineEdit->setText(QString::number(gs->proxy().port(0)));
m_ui->proxyUserLineEdit->setText(gs->proxy().userName());
@@ -138,6 +141,7 @@ void ConfigDialog::readSettings()
m_ui->hostLineEdit->setEnabled(m_ui->enableProxyCheckBox->isChecked());
m_ui->portLineEdit->setEnabled(m_ui->enableProxyCheckBox->isChecked());
+ m_ui->proxyTypeComboBox->setEnabled(m_ui->enableProxyCheckBox->isChecked());
m_ui->proxyUserLineEdit->setEnabled(m_ui->authProxyCheckBox->isChecked());
m_ui->proxyPasswLineEdit->setEnabled(m_ui->authProxyCheckBox->isChecked());
//file type determination
@@ -404,6 +408,7 @@ void ConfigDialog::saveSettings()
proxyUrl.setPassword(m_ui->proxyPasswLineEdit->text());
gs->setNetworkSettings(m_ui->enableProxyCheckBox->isChecked(),
m_ui->authProxyCheckBox->isChecked(),
+ static_cast<QmmpSettings::ProxyType>(m_ui->proxyTypeComboBox->currentData().toInt()),
proxyUrl);
gs->setCoverSettings(m_ui->coverIncludeLineEdit->text().split(","),
diff --git a/src/qmmpui/forms/configdialog.ui b/src/qmmpui/forms/configdialog.ui
index 93ed345dc..0960b807a 100644
--- a/src/qmmpui/forms/configdialog.ui
+++ b/src/qmmpui/forms/configdialog.ui
@@ -517,19 +517,7 @@
</layout>
</widget>
<widget class="QWidget" name="network">
- <layout class="QVBoxLayout">
- <property name="leftMargin">
- <number>9</number>
- </property>
- <property name="topMargin">
- <number>5</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
+ <layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
@@ -541,7 +529,7 @@
<property name="checkable">
<bool>false</bool>
</property>
- <layout class="QGridLayout">
+ <layout class="QFormLayout" name="formLayout">
<item row="0" column="0" colspan="2">
<widget class="QCheckBox" name="enableProxyCheckBox">
<property name="text">
@@ -550,6 +538,16 @@
</widget>
</item>
<item row="1" column="0">
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string>Proxy type:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="proxyTypeComboBox"/>
+ </item>
+ <item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Proxy host name:</string>
@@ -559,10 +557,10 @@
</property>
</widget>
</item>
- <item row="1" column="1">
+ <item row="2" column="1">
<widget class="QLineEdit" name="hostLineEdit"/>
</item>
- <item row="2" column="0">
+ <item row="3" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Proxy port:</string>
@@ -572,17 +570,17 @@
</property>
</widget>
</item>
- <item row="2" column="1">
+ <item row="3" column="1">
<widget class="QLineEdit" name="portLineEdit"/>
</item>
- <item row="3" column="0" colspan="2">
+ <item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="authProxyCheckBox">
<property name="text">
<string>Use authentication with proxy</string>
</property>
</widget>
</item>
- <item row="4" column="0">
+ <item row="5" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Proxy user name:</string>
@@ -592,10 +590,10 @@
</property>
</widget>
</item>
- <item row="4" column="1">
+ <item row="5" column="1">
<widget class="QLineEdit" name="proxyUserLineEdit"/>
</item>
- <item row="5" column="0">
+ <item row="6" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Proxy password:</string>
@@ -605,7 +603,7 @@
</property>
</widget>
</item>
- <item row="5" column="1">
+ <item row="6" column="1">
<widget class="QLineEdit" name="proxyPasswLineEdit">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
@@ -915,12 +913,12 @@
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
- <x>275</x>
- <y>37</y>
+ <x>480</x>
+ <y>63</y>
</hint>
<hint type="destinationlabel">
- <x>275</x>
- <y>37</y>
+ <x>617</x>
+ <y>131</y>
</hint>
</hints>
</connection>
@@ -931,12 +929,12 @@
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
- <x>275</x>
- <y>37</y>
+ <x>480</x>
+ <y>63</y>
</hint>
<hint type="destinationlabel">
- <x>275</x>
- <y>37</y>
+ <x>617</x>
+ <y>163</y>
</hint>
</hints>
</connection>
@@ -947,12 +945,12 @@
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
- <x>275</x>
- <y>37</y>
+ <x>617</x>
+ <y>192</y>
</hint>
<hint type="destinationlabel">
- <x>275</x>
- <y>37</y>
+ <x>617</x>
+ <y>224</y>
</hint>
</hints>
</connection>
@@ -963,12 +961,12 @@
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
- <x>275</x>
- <y>37</y>
+ <x>617</x>
+ <y>192</y>
</hint>
<hint type="destinationlabel">
- <x>272</x>
- <y>37</y>
+ <x>617</x>
+ <y>256</y>
</hint>
</hints>
</connection>
@@ -1011,12 +1009,12 @@
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
- <x>275</x>
- <y>37</y>
+ <x>480</x>
+ <y>192</y>
</hint>
<hint type="destinationlabel">
- <x>275</x>
- <y>37</y>
+ <x>617</x>
+ <y>194</y>
</hint>
</hints>
</connection>
@@ -1036,5 +1034,21 @@
</hint>
</hints>
</connection>
+ <connection>
+ <sender>enableProxyCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>proxyTypeComboBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>342</x>
+ <y>55</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>356</x>
+ <y>88</y>
+ </hint>
+ </hints>
+ </connection>
</connections>
</ui>
diff --git a/src/qmmpui/playlistdownloader.cpp b/src/qmmpui/playlistdownloader.cpp
index 6ea9785ef..122b8ba97 100644
--- a/src/qmmpui/playlistdownloader.cpp
+++ b/src/qmmpui/playlistdownloader.cpp
@@ -37,6 +37,8 @@ PlayListDownloader::PlayListDownloader(QObject *parent) : QObject(parent)
if (gs->isProxyEnabled())
{
QNetworkProxy proxy(QNetworkProxy::HttpProxy, gs->proxy().host(), gs->proxy().port());
+ if(gs->proxyType() == QmmpSettings::SOCKS5_PROXY)
+ proxy.setType(QNetworkProxy::Socks5Proxy);
if(gs->useProxyAuth())
{
proxy.setUser(gs->proxy().userName());