2011-08-26 22:02:35 +04:00
|
|
|
/*
|
|
|
|
This file is part of the PhantomJS project from Ofi Labs.
|
|
|
|
|
|
|
|
Copyright (C) 2011 Ariya Hidayat <ariya.hidayat@gmail.com>
|
|
|
|
Copyright (C) 2011 execjosh, http://execjosh.blogspot.com
|
|
|
|
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
|
|
modification, are permitted provided that the following conditions are met:
|
|
|
|
|
|
|
|
* Redistributions of source code must retain the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
* Redistributions in binary form must reproduce the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer in the
|
|
|
|
documentation and/or other materials provided with the distribution.
|
|
|
|
* Neither the name of the <organization> nor the
|
|
|
|
names of its contributors may be used to endorse or promote products
|
|
|
|
derived from this software without specific prior written permission.
|
|
|
|
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
|
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
|
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
|
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
|
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
|
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
*/
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
#include "config.h"
|
2011-08-26 22:02:35 +04:00
|
|
|
|
2011-08-26 22:03:06 +04:00
|
|
|
#include <QDir>
|
2011-08-29 19:43:41 +04:00
|
|
|
#include <QWebPage>
|
|
|
|
#include <QWebFrame>
|
2011-09-26 08:51:44 +04:00
|
|
|
#include <QNetworkProxy>
|
2011-08-29 19:43:41 +04:00
|
|
|
|
|
|
|
#include "terminal.h"
|
2011-10-16 23:35:21 +04:00
|
|
|
#include "utils.h"
|
2011-08-26 22:03:06 +04:00
|
|
|
|
2011-08-26 22:02:35 +04:00
|
|
|
// public:
|
2011-08-29 18:23:01 +04:00
|
|
|
Config::Config(QObject *parent)
|
|
|
|
: QObject(parent)
|
2011-08-26 22:02:35 +04:00
|
|
|
{
|
|
|
|
resetToDefaults();
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:40:00 +04:00
|
|
|
void Config::init(const QStringList *const args)
|
2011-08-26 22:02:35 +04:00
|
|
|
{
|
|
|
|
resetToDefaults();
|
2011-08-26 22:03:06 +04:00
|
|
|
|
2011-08-28 16:40:00 +04:00
|
|
|
processArgs(*args);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::processArgs(const QStringList &args)
|
|
|
|
{
|
|
|
|
QStringListIterator it(args);
|
|
|
|
while (it.hasNext()) {
|
|
|
|
const QString &arg = it.next();
|
|
|
|
|
2012-03-06 02:02:21 +04:00
|
|
|
if (arg == "--help" || arg == "-h") {
|
2012-01-09 20:31:49 +04:00
|
|
|
setHelpFlag(true);
|
|
|
|
return;
|
|
|
|
}
|
2012-03-06 02:02:21 +04:00
|
|
|
if (arg == "--version" || arg == "-v") {
|
2011-08-28 16:40:00 +04:00
|
|
|
setVersionFlag(true);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (arg == "--load-images=yes") {
|
|
|
|
setAutoLoadImages(true);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg == "--load-images=no") {
|
|
|
|
setAutoLoadImages(false);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg == "--disk-cache=yes") {
|
|
|
|
setDiskCacheEnabled(true);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg == "--disk-cache=no") {
|
|
|
|
setDiskCacheEnabled(false);
|
|
|
|
continue;
|
|
|
|
}
|
2011-09-07 03:33:11 +04:00
|
|
|
if (arg.startsWith("--max-disk-cache-size=")) {
|
|
|
|
setMaxDiskCacheSize(arg.mid(arg.indexOf("=") + 1).trimmed().toInt());
|
|
|
|
continue;
|
|
|
|
}
|
2011-08-28 16:40:00 +04:00
|
|
|
if (arg == "--ignore-ssl-errors=yes") {
|
|
|
|
setIgnoreSslErrors(true);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg == "--ignore-ssl-errors=no") {
|
|
|
|
setIgnoreSslErrors(false);
|
|
|
|
continue;
|
|
|
|
}
|
2011-09-07 20:27:20 +04:00
|
|
|
if (arg == "--local-to-remote-url-access=no") {
|
|
|
|
setLocalToRemoteUrlAccessEnabled(false);
|
2011-08-28 16:40:00 +04:00
|
|
|
continue;
|
|
|
|
}
|
2011-09-07 20:27:20 +04:00
|
|
|
if (arg == "--local-to-remote-url-access=yes") {
|
|
|
|
setLocalToRemoteUrlAccessEnabled(true);
|
2011-08-28 16:40:00 +04:00
|
|
|
continue;
|
|
|
|
}
|
2011-12-27 01:02:31 +04:00
|
|
|
if (arg.startsWith("--proxy-type=")) {
|
2011-11-09 09:22:30 +04:00
|
|
|
setProxyType(arg.mid(13).trimmed());
|
2011-09-26 08:51:44 +04:00
|
|
|
continue;
|
|
|
|
}
|
2012-03-06 20:01:48 +04:00
|
|
|
if (arg.startsWith("--proxy-auth=")){
|
|
|
|
setProxyAuth(arg.mid(13).trimmed());
|
|
|
|
continue;
|
|
|
|
}
|
2011-08-28 16:40:00 +04:00
|
|
|
if (arg.startsWith("--proxy=")) {
|
|
|
|
setProxy(arg.mid(8).trimmed());
|
|
|
|
continue;
|
|
|
|
}
|
2011-09-15 20:40:22 +04:00
|
|
|
if (arg.startsWith("--cookies-file=")) {
|
|
|
|
setCookiesFile(arg.mid(15).trimmed());
|
2011-08-28 16:40:00 +04:00
|
|
|
continue;
|
|
|
|
}
|
2012-05-19 17:04:01 +04:00
|
|
|
if (arg.startsWith("--local-storage-path=")) {
|
|
|
|
setOfflineStoragePath(arg.mid(21).trimmed());
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg.startsWith("--local-storage-quota=")) {
|
|
|
|
setOfflineStorageDefaultQuota(arg.mid(arg.indexOf("=") + 1).trimmed().toInt());
|
|
|
|
continue;
|
|
|
|
}
|
2011-08-28 16:40:00 +04:00
|
|
|
if (arg.startsWith("--output-encoding=")) {
|
|
|
|
setOutputEncoding(arg.mid(18).trimmed());
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg.startsWith("--script-encoding=")) {
|
|
|
|
setScriptEncoding(arg.mid(18).trimmed());
|
|
|
|
continue;
|
|
|
|
}
|
2011-08-29 19:45:39 +04:00
|
|
|
if (arg.startsWith("--config=")) {
|
|
|
|
QString configPath = arg.mid(9).trimmed();
|
|
|
|
loadJsonFile(configPath);
|
|
|
|
continue;
|
|
|
|
}
|
2011-10-25 23:16:25 +04:00
|
|
|
if (arg.startsWith("--remote-debugger-port=")) {
|
|
|
|
setDebug(true);
|
|
|
|
setRemoteDebugPort(arg.mid(23).trimmed().toInt());
|
|
|
|
continue;
|
|
|
|
}
|
2012-02-27 01:15:44 +04:00
|
|
|
if (arg == "--remote-debugger-autorun=yes") {
|
|
|
|
setRemoteDebugAutorun(true);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg == "--remote-debugger-autorun=no") {
|
|
|
|
setRemoteDebugAutorun(false);
|
|
|
|
continue;
|
|
|
|
}
|
2012-03-13 09:47:58 +04:00
|
|
|
if (arg == "--web-security=yes") {
|
|
|
|
setWebSecurityEnabled(true);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg == "--web-security=no") {
|
|
|
|
setWebSecurityEnabled(false);
|
|
|
|
continue;
|
|
|
|
}
|
2012-06-05 15:43:23 +04:00
|
|
|
if (arg == "--debug=yes") {
|
|
|
|
setPrintDebugMessages(true);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if (arg == "--debug=no") {
|
|
|
|
setPrintDebugMessages(false);
|
|
|
|
continue;
|
|
|
|
}
|
2011-08-28 16:40:00 +04:00
|
|
|
if (arg.startsWith("--")) {
|
|
|
|
setUnknownOption(QString("Unknown option '%1'").arg(arg));
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// There are no more options at this point.
|
|
|
|
// The remaining arguments are available for the script.
|
|
|
|
|
|
|
|
m_scriptFile = arg;
|
|
|
|
|
|
|
|
while (it.hasNext()) {
|
|
|
|
m_scriptArgs += it.next();
|
|
|
|
}
|
|
|
|
}
|
2011-08-26 22:03:06 +04:00
|
|
|
}
|
|
|
|
|
2011-08-29 19:43:41 +04:00
|
|
|
void Config::loadJsonFile(const QString &filePath)
|
|
|
|
{
|
|
|
|
QString jsonConfig;
|
2011-10-16 23:35:21 +04:00
|
|
|
QFile f(filePath);
|
|
|
|
|
|
|
|
// Check file exists and is readable
|
|
|
|
if (!f.exists() || !f.open(QFile::ReadOnly | QFile::Text)) {
|
2011-08-29 19:43:41 +04:00
|
|
|
Terminal::instance()->cerr("Unable to open config: \"" + filePath + "\"");
|
|
|
|
return;
|
2011-10-16 23:35:21 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
// Read content
|
|
|
|
jsonConfig = QString::fromUtf8(f.readAll().trimmed());
|
|
|
|
f.close();
|
|
|
|
|
|
|
|
// Check it's a valid JSON format
|
|
|
|
if (jsonConfig.isEmpty() || !jsonConfig.startsWith('{') || !jsonConfig.endsWith('}')) {
|
2011-08-29 19:43:41 +04:00
|
|
|
Terminal::instance()->cerr("Config file MUST be in JSON format!");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Load configurator
|
2011-10-16 23:35:21 +04:00
|
|
|
QString configurator = Utils::readResourceFileUtf8(":/configurator.js");
|
2011-08-29 19:43:41 +04:00
|
|
|
|
2011-10-16 23:35:21 +04:00
|
|
|
// Use a temporary QWebPage to load the JSON configuration in this Object using the 'configurator' above
|
2011-08-29 19:43:41 +04:00
|
|
|
QWebPage webPage;
|
2011-10-16 23:35:21 +04:00
|
|
|
// Add this object to the global scope
|
2011-08-29 19:43:41 +04:00
|
|
|
webPage.mainFrame()->addToJavaScriptWindowObject("config", this);
|
2011-10-16 23:35:21 +04:00
|
|
|
// Apply the JSON config settings to this very object
|
2012-03-17 21:27:13 +04:00
|
|
|
webPage.mainFrame()->evaluateJavaScript(configurator.arg(jsonConfig), QString());
|
2011-08-29 19:43:41 +04:00
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
bool Config::autoLoadImages() const
|
2011-08-26 22:02:59 +04:00
|
|
|
{
|
|
|
|
return m_autoLoadImages;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::setAutoLoadImages(const bool value)
|
2011-08-26 22:02:59 +04:00
|
|
|
{
|
|
|
|
m_autoLoadImages = value;
|
|
|
|
}
|
|
|
|
|
2011-09-15 20:40:22 +04:00
|
|
|
QString Config::cookiesFile() const
|
2011-08-26 22:02:51 +04:00
|
|
|
{
|
2011-09-15 20:40:22 +04:00
|
|
|
return m_cookiesFile;
|
2011-08-26 22:02:51 +04:00
|
|
|
}
|
|
|
|
|
2011-09-15 20:40:22 +04:00
|
|
|
void Config::setCookiesFile(const QString &value)
|
2011-08-26 22:02:51 +04:00
|
|
|
{
|
2011-09-15 20:40:22 +04:00
|
|
|
m_cookiesFile = value;
|
2011-08-26 22:02:51 +04:00
|
|
|
}
|
|
|
|
|
2012-05-19 17:04:01 +04:00
|
|
|
QString Config::offlineStoragePath() const
|
|
|
|
{
|
|
|
|
return m_offlineStoragePath;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setOfflineStoragePath(const QString &value)
|
|
|
|
{
|
|
|
|
QDir dir(value);
|
|
|
|
m_offlineStoragePath = dir.absolutePath();
|
|
|
|
}
|
|
|
|
|
|
|
|
int Config::offlineStorageDefaultQuota() const
|
|
|
|
{
|
|
|
|
return m_offlineStorageDefaultQuota;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setOfflineStorageDefaultQuota(int offlineStorageDefaultQuota)
|
|
|
|
{
|
|
|
|
m_offlineStorageDefaultQuota = offlineStorageDefaultQuota * 1024;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
bool Config::diskCacheEnabled() const
|
2011-08-26 22:02:51 +04:00
|
|
|
{
|
|
|
|
return m_diskCacheEnabled;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::setDiskCacheEnabled(const bool value)
|
2011-08-26 22:02:51 +04:00
|
|
|
{
|
|
|
|
m_diskCacheEnabled = value;
|
|
|
|
}
|
|
|
|
|
2011-09-07 03:33:11 +04:00
|
|
|
int Config::maxDiskCacheSize() const
|
|
|
|
{
|
|
|
|
return m_maxDiskCacheSize;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setMaxDiskCacheSize(int maxDiskCacheSize)
|
|
|
|
{
|
|
|
|
m_maxDiskCacheSize = maxDiskCacheSize;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
bool Config::ignoreSslErrors() const
|
2011-08-26 22:02:51 +04:00
|
|
|
{
|
|
|
|
return m_ignoreSslErrors;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::setIgnoreSslErrors(const bool value)
|
2011-08-26 22:02:51 +04:00
|
|
|
{
|
|
|
|
m_ignoreSslErrors = value;
|
|
|
|
}
|
|
|
|
|
2011-09-07 20:27:20 +04:00
|
|
|
bool Config::localToRemoteUrlAccessEnabled() const
|
2011-08-26 22:02:59 +04:00
|
|
|
{
|
2011-09-07 20:27:20 +04:00
|
|
|
return m_localToRemoteUrlAccessEnabled;
|
2011-08-26 22:02:59 +04:00
|
|
|
}
|
|
|
|
|
2011-09-07 20:27:20 +04:00
|
|
|
void Config::setLocalToRemoteUrlAccessEnabled(const bool value)
|
2011-08-26 22:02:59 +04:00
|
|
|
{
|
2011-09-07 20:27:20 +04:00
|
|
|
m_localToRemoteUrlAccessEnabled = value;
|
2011-08-26 22:02:59 +04:00
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
QString Config::outputEncoding() const
|
2011-08-26 22:02:35 +04:00
|
|
|
{
|
|
|
|
return m_outputEncoding;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::setOutputEncoding(const QString &value)
|
2011-08-26 22:02:35 +04:00
|
|
|
{
|
|
|
|
if (value.isEmpty()) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
m_outputEncoding = value;
|
|
|
|
}
|
|
|
|
|
2011-09-26 08:51:44 +04:00
|
|
|
QString Config::proxyType() const
|
|
|
|
{
|
|
|
|
return m_proxyType;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setProxyType(const QString value)
|
|
|
|
{
|
|
|
|
m_proxyType = value;
|
|
|
|
}
|
|
|
|
|
2011-08-29 18:23:01 +04:00
|
|
|
QString Config::proxy() const
|
|
|
|
{
|
|
|
|
return proxyHost() + ":" + proxyPort();
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::setProxy(const QString &value)
|
2011-08-26 22:02:43 +04:00
|
|
|
{
|
|
|
|
QString proxyHost = value;
|
|
|
|
int proxyPort = 1080;
|
|
|
|
|
|
|
|
if (proxyHost.lastIndexOf(':') > 0) {
|
|
|
|
bool ok = true;
|
|
|
|
int port = proxyHost.mid(proxyHost.lastIndexOf(':') + 1).toInt(&ok);
|
|
|
|
if (ok) {
|
|
|
|
proxyHost = proxyHost.left(proxyHost.lastIndexOf(':')).trimmed();
|
|
|
|
proxyPort = port;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
setProxyHost(proxyHost);
|
|
|
|
setProxyPort(proxyPort);
|
|
|
|
}
|
|
|
|
|
2012-03-06 20:01:48 +04:00
|
|
|
void Config::setProxyAuth(const QString &value)
|
|
|
|
{
|
|
|
|
QString proxyUser = value;
|
|
|
|
QString proxyPass = "";
|
|
|
|
|
|
|
|
if (proxyUser.lastIndexOf(':') > 0) {
|
|
|
|
proxyPass = proxyUser.mid(proxyUser.lastIndexOf(':') + 1).trimmed();
|
|
|
|
proxyUser = proxyUser.left(proxyUser.lastIndexOf(':')).trimmed();
|
|
|
|
|
|
|
|
setProxyAuthUser(proxyUser);
|
|
|
|
setProxyAuthPass(proxyPass);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
QString Config::proxyAuth() const
|
|
|
|
{
|
|
|
|
return proxyAuthUser() + ":" + proxyAuthPass();
|
|
|
|
}
|
|
|
|
|
|
|
|
QString Config::proxyAuthUser() const
|
|
|
|
{
|
|
|
|
return m_proxyAuthUser;
|
|
|
|
}
|
|
|
|
|
|
|
|
QString Config::proxyAuthPass() const
|
|
|
|
{
|
|
|
|
return m_proxyAuthPass;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
QString Config::proxyHost() const
|
2011-08-26 22:02:43 +04:00
|
|
|
{
|
|
|
|
return m_proxyHost;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
int Config::proxyPort() const
|
2011-08-26 22:02:43 +04:00
|
|
|
{
|
|
|
|
return m_proxyPort;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:40:00 +04:00
|
|
|
QStringList Config::scriptArgs() const
|
|
|
|
{
|
|
|
|
return m_scriptArgs;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setScriptArgs(const QStringList &value)
|
|
|
|
{
|
|
|
|
m_scriptArgs.clear();
|
|
|
|
|
|
|
|
QStringListIterator it(value);
|
|
|
|
while (it.hasNext()) {
|
|
|
|
m_scriptArgs.append(it.next());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
QString Config::scriptEncoding() const
|
2011-08-26 22:02:35 +04:00
|
|
|
{
|
|
|
|
return m_scriptEncoding;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::setScriptEncoding(const QString &value)
|
2011-08-26 22:02:35 +04:00
|
|
|
{
|
|
|
|
if (value.isEmpty()) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
m_scriptEncoding = value;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:40:00 +04:00
|
|
|
QString Config::scriptFile() const
|
|
|
|
{
|
|
|
|
return m_scriptFile;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setScriptFile(const QString &value)
|
|
|
|
{
|
|
|
|
m_scriptFile = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
QString Config::unknownOption() const
|
|
|
|
{
|
|
|
|
return m_unknownOption;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setUnknownOption(const QString &value)
|
|
|
|
{
|
|
|
|
m_unknownOption = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Config::versionFlag() const
|
|
|
|
{
|
|
|
|
return m_versionFlag;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setVersionFlag(const bool value)
|
|
|
|
{
|
|
|
|
m_versionFlag = value;
|
|
|
|
}
|
|
|
|
|
2011-10-25 23:16:25 +04:00
|
|
|
bool Config::debug() const
|
|
|
|
{
|
|
|
|
return m_debug;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setDebug(const bool value)
|
|
|
|
{
|
|
|
|
m_debug = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
int Config::remoteDebugPort() const
|
|
|
|
{
|
|
|
|
return m_remoteDebugPort;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setRemoteDebugPort(const int port)
|
|
|
|
{
|
|
|
|
m_remoteDebugPort = port;
|
|
|
|
}
|
|
|
|
|
2012-02-27 01:15:44 +04:00
|
|
|
bool Config::remoteDebugAutorun() const
|
|
|
|
{
|
|
|
|
return m_remoteDebugAutorun;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setRemoteDebugAutorun(const bool value)
|
|
|
|
{
|
|
|
|
m_remoteDebugAutorun = value;
|
|
|
|
}
|
|
|
|
|
2012-03-13 09:47:58 +04:00
|
|
|
bool Config::webSecurityEnabled() const
|
|
|
|
{
|
|
|
|
return m_webSecurityEnabled;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setWebSecurityEnabled(const bool value)
|
|
|
|
{
|
|
|
|
m_webSecurityEnabled = value;
|
|
|
|
}
|
|
|
|
|
2012-07-05 04:21:15 +04:00
|
|
|
void Config::setJavascriptCanOpenWindows(const bool value)
|
|
|
|
{
|
|
|
|
m_javascriptCanOpenWindows = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Config::javascriptCanOpenWindows() const
|
|
|
|
{
|
|
|
|
return m_javascriptCanOpenWindows;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setJavascriptCanCloseWindows(const bool value)
|
|
|
|
{
|
|
|
|
m_javascriptCanCloseWindows = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Config::javascriptCanCloseWindows() const
|
|
|
|
{
|
|
|
|
return m_javascriptCanCloseWindows;
|
|
|
|
}
|
|
|
|
|
2011-08-26 22:02:35 +04:00
|
|
|
// private:
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::resetToDefaults()
|
2011-08-26 22:02:35 +04:00
|
|
|
{
|
2011-08-26 22:02:59 +04:00
|
|
|
m_autoLoadImages = true;
|
2011-09-15 20:40:22 +04:00
|
|
|
m_cookiesFile = QString();
|
2012-05-19 17:04:01 +04:00
|
|
|
m_offlineStoragePath = QString();
|
|
|
|
m_offlineStorageDefaultQuota = -1;
|
2011-08-26 22:02:51 +04:00
|
|
|
m_diskCacheEnabled = false;
|
2011-09-07 03:33:11 +04:00
|
|
|
m_maxDiskCacheSize = -1;
|
2011-08-26 22:02:51 +04:00
|
|
|
m_ignoreSslErrors = false;
|
2011-09-07 20:27:20 +04:00
|
|
|
m_localToRemoteUrlAccessEnabled = false;
|
2011-08-26 22:02:35 +04:00
|
|
|
m_outputEncoding = "UTF-8";
|
2011-11-09 09:22:30 +04:00
|
|
|
m_proxyType = "http";
|
2011-08-28 16:40:00 +04:00
|
|
|
m_proxyHost.clear();
|
2011-08-26 22:02:43 +04:00
|
|
|
m_proxyPort = 1080;
|
2012-03-06 20:01:48 +04:00
|
|
|
m_proxyAuthUser.clear();
|
|
|
|
m_proxyAuthPass.clear();
|
2011-08-28 16:40:00 +04:00
|
|
|
m_scriptArgs.clear();
|
2011-08-26 22:02:35 +04:00
|
|
|
m_scriptEncoding = "UTF-8";
|
2011-08-28 16:40:00 +04:00
|
|
|
m_scriptFile.clear();
|
|
|
|
m_unknownOption.clear();
|
|
|
|
m_versionFlag = false;
|
2011-10-25 23:16:25 +04:00
|
|
|
m_debug = false;
|
|
|
|
m_remoteDebugPort = -1;
|
2012-02-27 01:15:44 +04:00
|
|
|
m_remoteDebugAutorun = false;
|
2012-03-13 09:47:58 +04:00
|
|
|
m_webSecurityEnabled = true;
|
2012-07-05 04:21:15 +04:00
|
|
|
m_javascriptCanOpenWindows = true;
|
|
|
|
m_javascriptCanCloseWindows = true;
|
2012-01-09 20:31:49 +04:00
|
|
|
m_helpFlag = false;
|
2012-06-05 15:43:23 +04:00
|
|
|
m_printDebugMessages = false;
|
2011-08-26 22:02:35 +04:00
|
|
|
}
|
2011-08-26 22:02:43 +04:00
|
|
|
|
2012-03-06 20:01:48 +04:00
|
|
|
void Config::setProxyAuthPass(const QString &value)
|
|
|
|
{
|
|
|
|
m_proxyAuthPass = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setProxyAuthUser(const QString &value)
|
|
|
|
{
|
|
|
|
m_proxyAuthUser = value;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::setProxyHost(const QString &value)
|
2011-08-26 22:02:43 +04:00
|
|
|
{
|
|
|
|
m_proxyHost = value;
|
|
|
|
}
|
|
|
|
|
2011-08-28 16:05:34 +04:00
|
|
|
void Config::setProxyPort(const int value)
|
2011-08-26 22:02:43 +04:00
|
|
|
{
|
|
|
|
m_proxyPort = value;
|
|
|
|
}
|
2012-01-09 20:31:49 +04:00
|
|
|
|
|
|
|
bool Config::helpFlag() const
|
|
|
|
{
|
|
|
|
return m_helpFlag;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setHelpFlag(const bool value)
|
|
|
|
{
|
|
|
|
m_helpFlag = value;
|
|
|
|
}
|
2012-06-05 15:43:23 +04:00
|
|
|
|
|
|
|
bool Config::printDebugMessages() const
|
|
|
|
{
|
|
|
|
return m_printDebugMessages;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Config::setPrintDebugMessages(const bool value)
|
|
|
|
{
|
|
|
|
m_printDebugMessages = value;
|
|
|
|
}
|