From 60a8ef724c11c35413d42ef1ccd118e9c4f6c3c9 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Fri, 15 Jan 2016 18:37:02 +0100 Subject: Clean up the application after integration for b2qt * put plugin.cpp into b2qt demo repository * use resource file * use AppEngine instead of WebEngine, WebEngine is already registered with QtWebEgnine * remove BrowserWindow class * fix warnings and undefined errors in qml * rename engine to appengine, qml name collision with launcherengine Change-Id: I36b682a6a5e3c8f1453c9511c52561d0ff511e71 Reviewed-by: Joerg Bornemann --- src/appengine.cpp | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 src/appengine.cpp (limited to 'src/appengine.cpp') diff --git a/src/appengine.cpp b/src/appengine.cpp new file mode 100644 index 0000000..7be0e5b --- /dev/null +++ b/src/appengine.cpp @@ -0,0 +1,115 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtBrowser project. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPLv2 included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "appengine.h" + +#include +#include +#include +#include + +AppEngine::AppEngine(QObject *parent) + : QObject(parent) + , m_settings(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) % QDir::separator() % "settings.ini", QSettings::IniFormat, this) +{ + foreach (const QString &arg, QCoreApplication::arguments().mid(1)) { + if (arg.startsWith('-')) + continue; + const QUrl url(arg); + if (url.isValid()) { + m_initialUrl = url.toString(); + break; + } + } +} + +QString AppEngine::settingsPath() +{ + return m_settings.fileName(); +} + +QString AppEngine::initialUrl() const +{ + return m_initialUrl; +} + +QUrl AppEngine::fromUserInput(const QString& userInput) +{ + QFileInfo fileInfo(userInput); + if (fileInfo.exists()) + return QUrl::fromLocalFile(fileInfo.absoluteFilePath()); + return QUrl::fromUserInput(userInput); +} + +bool AppEngine::isUrl(const QString& userInput) +{ + if (userInput.startsWith(QStringLiteral("www.")) + || userInput.startsWith(QStringLiteral("http")) + || userInput.startsWith(QStringLiteral("ftp")) + || userInput.contains(QStringLiteral("://")) + || userInput.endsWith(QStringLiteral(".com"))) + return true; + return false; +} + +QString AppEngine::domainFromString(const QString& urlString) +{ + return QUrl::fromUserInput(urlString).host(); +} + +QString AppEngine::fallbackColor() +{ + static QList colors = QList() << QStringLiteral("#46a2da") + << QStringLiteral("#18394c") + << QStringLiteral("#ff8c0a") + << QStringLiteral("#5caa15"); + static int index = -1; + if (++index == colors.count()) + index = 0; + return colors[index]; +} + +QString AppEngine::restoreSetting(const QString &name, const QString &defaultValue) +{ + return m_settings.value(name, defaultValue).toString(); +} + +void AppEngine::saveSetting(const QString &name, const QString &value) +{ + m_settings.setValue(name, value); +} + -- cgit v1.2.3