From 7c5afd8029c3b4d299a2e3818a5aeb862def1b48 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Tue, 13 Jan 2015 17:29:40 +0100 Subject: [PATCH] Add --show-inspector command line option --- src/libtomahawk/resolvers/ScriptEngine.cpp | 21 +++++++++++++++++++++ src/libtomahawk/resolvers/ScriptEngine.h | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/src/libtomahawk/resolvers/ScriptEngine.cpp b/src/libtomahawk/resolvers/ScriptEngine.cpp index 4785c237c..c3d06246f 100644 --- a/src/libtomahawk/resolvers/ScriptEngine.cpp +++ b/src/libtomahawk/resolvers/ScriptEngine.cpp @@ -29,10 +29,12 @@ #include "utils/TomahawkUtilsGui.h" #include "TomahawkSettings.h" #include "TomahawkVersion.h" +#include "JSAccount.h" #include #include #include +#include using namespace Tomahawk; @@ -48,6 +50,14 @@ ScriptEngine::ScriptEngine( JSAccount* parent ) settings()->setAttribute( QWebSettings::LocalContentCanAccessFileUrls, true ); settings()->setAttribute( QWebSettings::LocalContentCanAccessRemoteUrls, true ); + // HACK + QStringList cmdArgs = QCoreApplication::instance()->arguments(); + int position = cmdArgs.indexOf( "--show-inspector" ) + 1; + if ( position > 0 && !cmdArgs.at( position ).isEmpty() && parent->name().contains( cmdArgs.at( position ), Qt::CaseInsensitive ) ) { + settings()->setAttribute( QWebSettings::DeveloperExtrasEnabled, true ); + QMetaObject::invokeMethod( this, "initWebInspector", Qt::QueuedConnection ); + } + // Tomahawk is not a user agent m_header = QWebPage::userAgentForUrl( QUrl() ).replace( QString( "%1/%2" ) .arg( TOMAHAWK_APPLICATION_NAME ) @@ -62,6 +72,17 @@ ScriptEngine::ScriptEngine( JSAccount* parent ) } +void +ScriptEngine::initWebInspector() +{ + m_webInspector.reset( new QWebInspector() ); + m_webInspector->setPage( this ); + m_webInspector->setMinimumWidth( 800 ); + m_webInspector->setMinimumHeight( 600 ); + m_webInspector->show(); +} + + void ScriptEngine::javaScriptConsoleMessage( const QString& message, int lineNumber, const QString& sourceID ) { diff --git a/src/libtomahawk/resolvers/ScriptEngine.h b/src/libtomahawk/resolvers/ScriptEngine.h index c6393c425..c70bb7502 100644 --- a/src/libtomahawk/resolvers/ScriptEngine.h +++ b/src/libtomahawk/resolvers/ScriptEngine.h @@ -27,6 +27,9 @@ #include #include +// pimple +#include + class QNetworkReply; namespace Tomahawk @@ -52,11 +55,13 @@ protected: private slots: void sslErrorHandler( QNetworkReply* qnr, const QList& errlist ); + void initWebInspector(); private: JSAccount* m_parent; QString m_scriptPath; QString m_header; + QScopedPointer< QWebInspector > m_webInspector; }; } // ns: Tomahawk