1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-07 06:36:55 +02:00

TWK-989: Check for changed() when updating proxy settings

This commit is contained in:
Hugo Lindström
2012-09-22 17:28:39 +02:00
parent 069c25ec95
commit 3109acc740
3 changed files with 12 additions and 4 deletions

View File

@@ -270,9 +270,6 @@ SettingsDialog::saveSettings()
s->applyChanges(); s->applyChanges();
s->sync(); s->sync();
if ( m_restartRequired )
QMessageBox::information( 0, tr( "Information" ), tr( "Some changed settings will not take effect until Tomahawk is restarted" ) );
TomahawkUtils::NetworkProxyFactory* proxyFactory = TomahawkUtils::proxyFactory(); TomahawkUtils::NetworkProxyFactory* proxyFactory = TomahawkUtils::proxyFactory();
if ( !m_advancedWidgetUi->enableProxyCheckBox->isChecked() ) if ( !m_advancedWidgetUi->enableProxyCheckBox->isChecked() )
{ {
@@ -290,6 +287,9 @@ SettingsDialog::saveSettings()
proxyFactory->setNoProxyHosts( s->proxyNoProxyHosts().split( ' ', QString::SkipEmptyParts ) ); proxyFactory->setNoProxyHosts( s->proxyNoProxyHosts().split( ' ', QString::SkipEmptyParts ) );
} }
} }
if ( m_restartRequired || proxyFactory->changed() )
QMessageBox::information( 0, tr( "Information" ), tr( "Some changed settings will not take effect until Tomahawk is restarted" ) );
} }
@@ -364,6 +364,7 @@ void
SettingsDialog::toggleProxyEnabled() SettingsDialog::toggleProxyEnabled()
{ {
m_advancedWidgetUi->proxyButton->setEnabled( m_advancedWidgetUi->enableProxyCheckBox->isChecked() ); m_advancedWidgetUi->proxyButton->setEnabled( m_advancedWidgetUi->enableProxyCheckBox->isChecked() );
m_restartRequired = (TomahawkSettings::instance()->proxyType() == QNetworkProxy::Socks5Proxy) != m_advancedWidgetUi->proxyButton->isEnabled();
} }

View File

@@ -467,6 +467,11 @@ NetworkProxyFactory::setNoProxyHosts( const QStringList& hosts )
void void
NetworkProxyFactory::setProxy( const QNetworkProxy& proxy ) NetworkProxyFactory::setProxy( const QNetworkProxy& proxy )
{ {
m_proxyChanged = false;
if( m_proxy != proxy )
m_proxyChanged = true;
m_proxy = proxy; m_proxy = proxy;
QFlags< QNetworkProxy::Capability > proxyCaps; QFlags< QNetworkProxy::Capability > proxyCaps;
proxyCaps |= QNetworkProxy::TunnelingCapability; proxyCaps |= QNetworkProxy::TunnelingCapability;

View File

@@ -67,6 +67,7 @@ namespace TomahawkUtils
public: public:
NetworkProxyFactory() NetworkProxyFactory()
: m_proxy( QNetworkProxy::NoProxy ) : m_proxy( QNetworkProxy::NoProxy )
, m_proxyChanged( false )
{} {}
NetworkProxyFactory( const NetworkProxyFactory &other ); NetworkProxyFactory( const NetworkProxyFactory &other );
@@ -81,10 +82,11 @@ namespace TomahawkUtils
virtual NetworkProxyFactory& operator=( const NetworkProxyFactory &rhs ); virtual NetworkProxyFactory& operator=( const NetworkProxyFactory &rhs );
virtual bool operator==( const NetworkProxyFactory &other ) const; virtual bool operator==( const NetworkProxyFactory &other ) const;
bool changed() const { return m_proxyChanged; }
private: private:
QStringList m_noProxyHosts; QStringList m_noProxyHosts;
QNetworkProxy m_proxy; QNetworkProxy m_proxy;
bool m_proxyChanged;
}; };
DLLEXPORT bool headless(); DLLEXPORT bool headless();