diff --git a/src/libtomahawk/tomahawksettings.cpp b/src/libtomahawk/tomahawksettings.cpp index 34609d5ec..a4008388b 100644 --- a/src/libtomahawk/tomahawksettings.cpp +++ b/src/libtomahawk/tomahawksettings.cpp @@ -89,6 +89,17 @@ TomahawkSettings::hasScannerPath() const return contains( "scannerpath" ); } +void +TomahawkSettings::setAcceptedLegalWarning( bool accept ) +{ + setValue( "acceptedLegalWarning", accept ); +} + +bool +TomahawkSettings::acceptedLegalWarning() const +{ + return value( "acceptedLegalWarning", false ).toBool(); +} bool TomahawkSettings::httpEnabled() const diff --git a/src/libtomahawk/tomahawksettings.h b/src/libtomahawk/tomahawksettings.h index cb7fa9bef..f7f5e2922 100644 --- a/src/libtomahawk/tomahawksettings.h +++ b/src/libtomahawk/tomahawksettings.h @@ -45,6 +45,9 @@ public: void setScannerPath( const QString& path ); bool hasScannerPath() const; + bool acceptedLegalWarning() const; + void setAcceptedLegalWarning( bool accept ); + /// UI settings QByteArray mainWindowGeometry() const; void setMainWindowGeometry( const QByteArray& geom ); diff --git a/src/sip/SipHandler.cpp b/src/sip/SipHandler.cpp index 3b3327082..d09fe9d7e 100644 --- a/src/sip/SipHandler.cpp +++ b/src/sip/SipHandler.cpp @@ -28,6 +28,7 @@ #include "network/controlconnection.h" #include "sourcelist.h" #include "tomahawksettings.h" +#include "tomahawk/tomahawkapp.h" #include "config.h" @@ -168,6 +169,20 @@ SipHandler::pluginLoaded( const QString& name ) const void SipHandler::connectPlugins( bool startup, const QString &pluginName ) { +#ifndef TOMAHAWK_HEADLESS + if ( !TomahawkSettings::instance()->acceptedLegalWarning() ) + { + int result = QMessageBox::question( + TomahawkApp::instance()->mainWindow(), "Legal Warning", + "By pressing OK below, you agree that your use of Tomahawk will be in accordance with any applicable laws, including copyright and intellectual property laws, in effect in your country of residence, and indemify the Tomahawk developers and project from liability should you choose to break those laws.\n\nFor more information, please see http://gettomahawk.com/legal", + "I Do Not Agree", "I Agree" + ); + if ( result != 1 ) + return; + else + TomahawkSettings::instance()->setAcceptedLegalWarning( true ); + } +#endif foreach( SipPlugin* sip, m_plugins ) { if ( pluginName.isEmpty() || ( !pluginName.isEmpty() && sip->name() == pluginName ) )