1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-04-22 00:42:04 +02:00

Revert "Completely rip TomahawkSettings out of proxy code"

This reverts commit 36ef3a44204d772fb4d92bbf8ad73092013cd2a0.

Conflicts:
	src/libtomahawk/utils/NetworkAccessManager.cpp
This commit is contained in:
Dominik Schmidt 2013-07-16 17:28:39 +02:00
parent 50de3c029d
commit 154ee5c70a
5 changed files with 18 additions and 157 deletions

View File

@ -23,12 +23,15 @@
#include "NetworkProxyFactory.h"
#include "utils/Logger.h"
// TODO: get rid of this here!
#include "TomahawkSettings.h"
#include <QMutex>
#include <QStringList>
#include <QThread>
#include <QCoreApplication>
#include <QNetworkConfiguration>
#include <QNetworkAccessManager>
namespace Tomahawk
{
@ -54,7 +57,7 @@ NetworkProxyFactory::queryProxy( const QNetworkProxyQuery& query )
s_noProxyHostsMutex.lock();
if ( !hostname.isEmpty() && s_noProxyHosts.contains( hostname ) )
proxies << QNetworkProxy::NoProxy << systemProxyForQuery( query );
else if ( m_proxy.hostName().isEmpty() || proxyType() == QNetworkProxy::NoProxy )
else if ( m_proxy.hostName().isEmpty() || TomahawkSettings::instance()->proxyType() == QNetworkProxy::NoProxy )
proxies << systemProxyForQuery( query );
else
proxies << m_proxy << systemProxyForQuery( query );
@ -84,7 +87,7 @@ NetworkProxyFactory::setNoProxyHosts( const QStringList& hosts )
void
NetworkProxyFactory::setProxy( const QNetworkProxy& proxy, bool useProxyDns )
NetworkProxyFactory::setProxy( const QNetworkProxy& proxy )
{
m_proxyChanged = false;
if ( m_proxy != proxy )
@ -94,12 +97,12 @@ NetworkProxyFactory::setProxy( const QNetworkProxy& proxy, bool useProxyDns )
QFlags< QNetworkProxy::Capability > proxyCaps;
proxyCaps |= QNetworkProxy::TunnelingCapability;
proxyCaps |= QNetworkProxy::ListeningCapability;
if ( useProxyDns )
if ( TomahawkSettings::instance()->proxyDns() )
proxyCaps |= QNetworkProxy::HostNameLookupCapability;
m_proxy.setCapabilities( proxyCaps );
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Proxy using host" << proxy.hostName() << "and port" << proxy.port();
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "setting proxy to use proxy DNS?" << useProxyDns;
tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "setting proxy to use proxy DNS?" << (TomahawkSettings::instance()->proxyDns() ? "true" : "false");
}
@ -239,25 +242,25 @@ setNam( QNetworkAccessManager* nam, bool noMutexLocker )
{
tDebug( LOGVERBOSE ) << "creating initial gui thread (" << QCoreApplication::instance()->thread() << ") nam";
// Should only get here on first initialization of the nam
TomahawkSettings *s = TomahawkSettings::instance();
NetworkProxyFactory* proxyFactory = new NetworkProxyFactory();
if ( proxyType() != QNetworkProxy::NoProxy && !proxyHost().isEmpty() )
if ( s->proxyType() != QNetworkProxy::NoProxy && !s->proxyHost().isEmpty() )
{
tDebug( LOGVERBOSE ) << "Setting proxy to saved values";
QNetworkProxy proxy( proxyType(), proxyHost(), proxyPort(), proxyUsername(), proxyPassword() );
proxyFactory->setProxy( proxy, proxyDns() );
QNetworkProxy proxy( s->proxyType(), s->proxyHost(), s->proxyPort(), s->proxyUsername(), s->proxyPassword() );
proxyFactory->setProxy( proxy );
//FIXME: Jreen is broke without this
//QNetworkProxy::setApplicationProxy( proxy );
s_noProxyHostsMutex.lock();
if ( !proxyNoProxyHosts().isEmpty() && s_noProxyHosts.isEmpty() )
if ( !s->proxyNoProxyHosts().isEmpty() && s_noProxyHosts.isEmpty() )
{
s_noProxyHostsMutex.unlock();
proxyFactory->setNoProxyHosts( proxyNoProxyHosts().split( ',', QString::SkipEmptyParts ) );
proxyFactory->setNoProxyHosts( s->proxyNoProxyHosts().split( ',', QString::SkipEmptyParts ) );
}
else
s_noProxyHostsMutex.unlock();
}
QNetworkProxyFactory::setApplicationProxyFactory( proxyFactory );
nam->setProxyFactory( proxyFactory );
s_threadNamHash[ QThread::currentThread() ] = nam;
@ -271,112 +274,5 @@ setNam( QNetworkAccessManager* nam, bool noMutexLocker )
setProxyFactory( dynamic_cast< NetworkProxyFactory* >( nam->proxyFactory() ), true );
}
static bool s_proxyDns;
static QNetworkProxy::ProxyType s_proxyType;
static QString s_proxyHost;
static int s_proxyPort;
static QString s_proxyUsername;
static QString s_proxyPassword;
static QString s_proxyNoProxyHosts;
QString
proxyHost()
{
return s_proxyHost;
}
void
setProxyHost( const QString& host )
{
s_proxyHost = host;
}
QString
proxyNoProxyHosts()
{
return s_proxyNoProxyHosts;
}
void
setProxyNoProxyHosts( const QString& hosts )
{
s_proxyNoProxyHosts = hosts;
}
qulonglong
proxyPort()
{
return s_proxyPort;
}
void
setProxyPort( const qulonglong port )
{
s_proxyPort = port;
}
QString
proxyUsername()
{
return s_proxyUsername;
}
void
setProxyUsername( const QString& username )
{
s_proxyUsername = username;
}
QString
proxyPassword()
{
return s_proxyPassword;
}
void
setProxyPassword( const QString& password )
{
s_proxyPassword = password;
}
QNetworkProxy::ProxyType
proxyType()
{
return s_proxyType;
}
void
setProxyType( const QNetworkProxy::ProxyType type )
{
s_proxyType = type;
}
bool
proxyDns()
{
return s_proxyDns;
}
void
setProxyDns( bool proxyDns )
{
s_proxyDns = proxyDns;
}
}
}

View File

@ -22,9 +22,6 @@
#ifndef TOMAHAWK_UTILS_NETWORKACCESSMANAGER_H
#define TOMAHAWK_UTILS_NETWORKACCESSMANAGER_H
#include <QNetworkProxy>
#include "DllMacro.h"
class QNetworkAccessManager;
@ -35,28 +32,6 @@ namespace Utils
{
DLLEXPORT QNetworkAccessManager* nam();
DLLEXPORT void setNam( QNetworkAccessManager* nam, bool noMutexLocker = false );
// Proxy settings
DLLEXPORT bool proxyDns();
DLLEXPORT void setProxyDns( bool proxyDns );
DLLEXPORT QNetworkProxy::ProxyType proxyType();
DLLEXPORT void setProxyType( QNetworkProxy::ProxyType proxyType );
DLLEXPORT QString proxyHost();
DLLEXPORT void setProxyHost( const QString& proxyHost );
DLLEXPORT qulonglong proxyPort();
DLLEXPORT void setProxyPort( qulonglong proxyPort );
DLLEXPORT QString proxyUsername();
DLLEXPORT void setProxyUsername( const QString& proxyUsername );
DLLEXPORT QString proxyPassword();
DLLEXPORT void setProxyPassword( const QString& proxyPassword );
DLLEXPORT QString proxyNoProxyHosts();
DLLEXPORT void setProxyNoProxyHosts( const QString& proxyNoProxyHosts );
}
}

View File

@ -46,7 +46,7 @@ namespace Utils
virtual void setNoProxyHosts( const QStringList &hosts );
virtual QStringList noProxyHosts() const { return m_noProxyHosts; }
virtual void setProxy( const QNetworkProxy &proxy, bool useProxyDns );
virtual void setProxy( const QNetworkProxy &proxy );
virtual QNetworkProxy proxy() { return m_proxy; }
virtual NetworkProxyFactory& operator=( const NetworkProxyFactory &rhs );

View File

@ -296,12 +296,12 @@ SettingsDialog::saveSettings()
if ( !m_advancedWidgetUi->enableProxyCheckBox->isChecked() )
{
tDebug() << Q_FUNC_INFO << "Got NoProxy selected";
proxyFactory->setProxy( QNetworkProxy::NoProxy, s->proxyDns() );
proxyFactory->setProxy( QNetworkProxy::NoProxy );
}
else
{
tDebug() << Q_FUNC_INFO << "Got Socks5Proxy selected";
proxyFactory->setProxy( QNetworkProxy( QNetworkProxy::Socks5Proxy, s->proxyHost(), s->proxyPort(), s->proxyUsername(), s->proxyPassword() ), s->proxyDns() );
proxyFactory->setProxy( QNetworkProxy( QNetworkProxy::Socks5Proxy, s->proxyHost(), s->proxyPort(), s->proxyUsername(), s->proxyPassword() ) );
if ( !s->proxyNoProxyHosts().isEmpty() )
{
tDebug() << Q_FUNC_INFO << "noproxy hosts:" << s->proxyNoProxyHosts();

View File

@ -198,16 +198,6 @@ TomahawkApp::init()
new ACLRegistryImpl( this );
tDebug( LOGINFO ) << "Setting NAM.";
TomahawkSettings *s = TomahawkSettings::instance();
Tomahawk::Utils::setProxyDns( s->proxyDns() );
Tomahawk::Utils::setProxyType( s->proxyType() );
Tomahawk::Utils::setProxyHost( s->proxyHost() );
Tomahawk::Utils::setProxyPort( s->proxyPort() );
Tomahawk::Utils::setProxyUsername( s->proxyUsername() );
Tomahawk::Utils::setProxyPassword( s->proxyPassword() );
Tomahawk::Utils::setProxyNoProxyHosts( s->proxyNoProxyHosts() );
// Cause the creation of the nam, but don't need to address it directly, so prevent warning
Q_UNUSED( Tomahawk::Utils::nam() );