From 0535efd70fb085c5a4fdf5ecab0b87bb93f81407 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 30 Jun 2019 10:59:52 +0000 Subject: added socks5 proxy support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8971 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/configdialog.cpp | 5 ++ src/qmmpui/forms/configdialog.ui | 98 ++++++++++++++++++++++----------------- src/qmmpui/playlistdownloader.cpp | 2 + 3 files changed, 63 insertions(+), 42 deletions(-) (limited to 'src/qmmpui') 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(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 @@ - - - 9 - - - 5 - - - 0 - - - 0 - + @@ -541,7 +529,7 @@ false - + @@ -550,6 +538,16 @@ + + + Proxy type: + + + + + + + Proxy host name: @@ -559,10 +557,10 @@ - + - + Proxy port: @@ -572,17 +570,17 @@ - + - + Use authentication with proxy - + Proxy user name: @@ -592,10 +590,10 @@ - + - + Proxy password: @@ -605,7 +603,7 @@ - + QLineEdit::Password @@ -915,12 +913,12 @@ setEnabled(bool) - 275 - 37 + 480 + 63 - 275 - 37 + 617 + 131 @@ -931,12 +929,12 @@ setEnabled(bool) - 275 - 37 + 480 + 63 - 275 - 37 + 617 + 163 @@ -947,12 +945,12 @@ setEnabled(bool) - 275 - 37 + 617 + 192 - 275 - 37 + 617 + 224 @@ -963,12 +961,12 @@ setEnabled(bool) - 275 - 37 + 617 + 192 - 272 - 37 + 617 + 256 @@ -1011,12 +1009,12 @@ setEnabled(bool) - 275 - 37 + 480 + 192 - 275 - 37 + 617 + 194 @@ -1036,5 +1034,21 @@ + + enableProxyCheckBox + toggled(bool) + proxyTypeComboBox + setEnabled(bool) + + + 342 + 55 + + + 356 + 88 + + + 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()); -- cgit v1.2.3-13-gbd6f