mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 18:56:34 +01:00
fix code
This commit is contained in:
parent
de0cb89dda
commit
87230c4a77
@ -16,13 +16,15 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* ============================================================ */
|
* ============================================================ */
|
||||||
#include "qmltesthelper.h"
|
#include "qmltesthelper.h"
|
||||||
|
#include "qml/qmlplugins.h"
|
||||||
#include <QQmlComponent>
|
#include <QQmlComponent>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
QmlTestHelper::QmlTestHelper()
|
QmlTestHelper::QmlTestHelper()
|
||||||
{
|
{
|
||||||
qmlRegisterType<QmlTestItem>("org.kde.falkon.test", 1, 0, "TestItem");
|
QmlPlugins::registerQmlTypes();
|
||||||
|
|
||||||
|
qmlRegisterType<QmlTestItem>("org.kde.falkon.test", 1, 0, "TestItem");
|
||||||
QQmlComponent component(&engine);
|
QQmlComponent component(&engine);
|
||||||
component.setData("import org.kde.falkon 1.0 as Falkon\n"
|
component.setData("import org.kde.falkon 1.0 as Falkon\n"
|
||||||
"import org.kde.falkon.test 1.0 as FalkonTest\n"
|
"import org.kde.falkon.test 1.0 as FalkonTest\n"
|
||||||
|
@ -9,3 +9,7 @@
|
|||||||
|
|
||||||
/* Disable DBus support */
|
/* Disable DBus support */
|
||||||
#cmakedefine DISABLE_DBUS
|
#cmakedefine DISABLE_DBUS
|
||||||
|
|
||||||
|
if (LibIntl_FOUND)
|
||||||
|
target_compile_definitions(FalkonPrivate PRIVATE LibIntl_FOUND=1)
|
||||||
|
endif()
|
||||||
|
@ -37,14 +37,13 @@ Plugins::Plugins(QObject* parent)
|
|||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
, m_pluginsLoaded(false)
|
, m_pluginsLoaded(false)
|
||||||
, m_speedDial(new SpeedDial(this))
|
, m_speedDial(new SpeedDial(this))
|
||||||
|
, m_qmlSupportLoaded(false)
|
||||||
{
|
{
|
||||||
loadSettings();
|
loadSettings();
|
||||||
|
|
||||||
if (!MainApplication::isTestModeEnabled()) {
|
if (!MainApplication::isTestModeEnabled()) {
|
||||||
loadPythonSupport();
|
loadPythonSupport();
|
||||||
}
|
}
|
||||||
|
|
||||||
loadQmlSupport();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Plugins::Plugin> Plugins::getAvailablePlugins()
|
QList<Plugins::Plugin> Plugins::getAvailablePlugins()
|
||||||
@ -292,6 +291,7 @@ void Plugins::loadPythonSupport()
|
|||||||
void Plugins::loadQmlSupport()
|
void Plugins::loadQmlSupport()
|
||||||
{
|
{
|
||||||
QmlPlugins::registerQmlTypes();
|
QmlPlugins::registerQmlTypes();
|
||||||
|
m_qmlSupportLoaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Plugins::Plugin Plugins::loadPlugin(const QString &id)
|
Plugins::Plugin Plugins::loadPlugin(const QString &id)
|
||||||
@ -397,6 +397,10 @@ Plugins::Plugin Plugins::loadPythonPlugin(const QString &name)
|
|||||||
|
|
||||||
Plugins::Plugin Plugins::loadQmlPlugin(const QString &name)
|
Plugins::Plugin Plugins::loadQmlPlugin(const QString &name)
|
||||||
{
|
{
|
||||||
|
if (!m_qmlSupportLoaded) {
|
||||||
|
loadQmlSupport();
|
||||||
|
}
|
||||||
|
|
||||||
QString fullPath;
|
QString fullPath;
|
||||||
if (QFileInfo(name).isAbsolute()) {
|
if (QFileInfo(name).isAbsolute()) {
|
||||||
fullPath = name;
|
fullPath = name;
|
||||||
|
@ -147,6 +147,7 @@ private:
|
|||||||
QList<PluginInterface*> m_internalPlugins;
|
QList<PluginInterface*> m_internalPlugins;
|
||||||
|
|
||||||
QLibrary *m_pythonPlugin = nullptr;
|
QLibrary *m_pythonPlugin = nullptr;
|
||||||
|
bool m_qmlSupportLoaded;
|
||||||
};
|
};
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(Plugins::Plugin)
|
Q_DECLARE_METATYPE(Plugins::Plugin)
|
||||||
|
@ -89,80 +89,36 @@ BookmarkItem *QmlBookmarks::getBookmarkItem(QObject *object) const
|
|||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the url is bookmarked
|
|
||||||
* @param String representing the url to check
|
|
||||||
* @return true if bookmarked, else false
|
|
||||||
*/
|
|
||||||
bool QmlBookmarks::isBookmarked(const QString &url) const
|
bool QmlBookmarks::isBookmarked(const QString &url) const
|
||||||
{
|
{
|
||||||
return mApp->bookmarks()->isBookmarked(QUrl::fromEncoded(url.toUtf8()));
|
return mApp->bookmarks()->isBookmarked(QUrl::fromEncoded(url.toUtf8()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the root bookmark item
|
|
||||||
* @return Root boomkark item
|
|
||||||
*/
|
|
||||||
QmlBookmarkTreeNode *QmlBookmarks::rootItem() const
|
QmlBookmarkTreeNode *QmlBookmarks::rootItem() const
|
||||||
{
|
{
|
||||||
return bookmarkTreeNodeData->get(mApp->bookmarks()->rootItem());
|
return bookmarkTreeNodeData->get(mApp->bookmarks()->rootItem());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the bookmarks toolbar
|
|
||||||
* @return Bookmarks toolbar
|
|
||||||
*/
|
|
||||||
QmlBookmarkTreeNode *QmlBookmarks::toolbarFolder() const
|
QmlBookmarkTreeNode *QmlBookmarks::toolbarFolder() const
|
||||||
{
|
{
|
||||||
return bookmarkTreeNodeData->get(mApp->bookmarks()->toolbarFolder());
|
return bookmarkTreeNodeData->get(mApp->bookmarks()->toolbarFolder());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the bookmarks menu folder
|
|
||||||
* @return Bookmarks menu folder
|
|
||||||
*/
|
|
||||||
QmlBookmarkTreeNode *QmlBookmarks::menuFolder() const
|
QmlBookmarkTreeNode *QmlBookmarks::menuFolder() const
|
||||||
{
|
{
|
||||||
return bookmarkTreeNodeData->get(mApp->bookmarks()->menuFolder());
|
return bookmarkTreeNodeData->get(mApp->bookmarks()->menuFolder());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the unsorted bookmarks folder
|
|
||||||
* @return Unsorted bookmarks folder
|
|
||||||
*/
|
|
||||||
QmlBookmarkTreeNode *QmlBookmarks::unsortedFolder() const
|
QmlBookmarkTreeNode *QmlBookmarks::unsortedFolder() const
|
||||||
{
|
{
|
||||||
return bookmarkTreeNodeData->get(mApp->bookmarks()->unsortedFolder());
|
return bookmarkTreeNodeData->get(mApp->bookmarks()->unsortedFolder());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the last used bookmarks folder
|
|
||||||
* @return Last used bookmarks folder
|
|
||||||
*/
|
|
||||||
QmlBookmarkTreeNode *QmlBookmarks::lastUsedFolder() const
|
QmlBookmarkTreeNode *QmlBookmarks::lastUsedFolder() const
|
||||||
{
|
{
|
||||||
return bookmarkTreeNodeData->get(mApp->bookmarks()->lastUsedFolder());
|
return bookmarkTreeNodeData->get(mApp->bookmarks()->lastUsedFolder());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Creates a bookmark item
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - parent:
|
|
||||||
* Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode), representing
|
|
||||||
* the parent of the new bookmark item. This is required field.
|
|
||||||
* - title:
|
|
||||||
* String representing the title of the new bookmark item. Defaults to empty string
|
|
||||||
* - url:
|
|
||||||
* String representing the url of the new bookmark item. Defaults to empty string
|
|
||||||
* - description
|
|
||||||
* String representing the description of the new bookmark item. Defaults to empty string
|
|
||||||
* - type:
|
|
||||||
* [Type](@ref QmlBookmarkTreeNode::Type) representing the type of the new bookmark item.
|
|
||||||
* Defaults to [Url](@ref QmlBookmarkTreeNode::Url) if url is provided, else
|
|
||||||
* [Folder](@ref QmlBookmarkTreeNode::Folder) if title is provided, else
|
|
||||||
* [Invalid](@ref QmlBookmarkTreeNode::Invalid)
|
|
||||||
* @return true if the bookmark it created, else false
|
|
||||||
*/
|
|
||||||
bool QmlBookmarks::create(const QVariantMap &map) const
|
bool QmlBookmarks::create(const QVariantMap &map) const
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("parent"))) {
|
if (!map.contains(QSL("parent"))) {
|
||||||
@ -200,12 +156,6 @@ bool QmlBookmarks::create(const QVariantMap &map) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Removes a bookmark item
|
|
||||||
* @param treeNode:
|
|
||||||
* Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode) to be removed
|
|
||||||
* @return true if the bookmark is removed, else false
|
|
||||||
*/
|
|
||||||
bool QmlBookmarks::remove(QmlBookmarkTreeNode *treeNode) const
|
bool QmlBookmarks::remove(QmlBookmarkTreeNode *treeNode) const
|
||||||
{
|
{
|
||||||
auto item = getBookmarkItem(treeNode);
|
auto item = getBookmarkItem(treeNode);
|
||||||
@ -216,16 +166,6 @@ bool QmlBookmarks::remove(QmlBookmarkTreeNode *treeNode) const
|
|||||||
return mApp->bookmarks()->removeBookmark(item);
|
return mApp->bookmarks()->removeBookmark(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QmlBookmarks::search
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - query:
|
|
||||||
* String containing search query
|
|
||||||
* - url:
|
|
||||||
* String representing url to be search
|
|
||||||
* @return List containing [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode). If both
|
|
||||||
* query and url are not supplied then empty list is returned.
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlBookmarks::search(const QVariantMap &map) const
|
QList<QObject*> QmlBookmarks::search(const QVariantMap &map) const
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("query")) && !map.contains(QSL("url"))) {
|
if (!map.contains(QSL("query")) && !map.contains(QSL("url"))) {
|
||||||
@ -248,19 +188,6 @@ QList<QObject*> QmlBookmarks::search(const QVariantMap &map) const
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Updates a bookmark item
|
|
||||||
* @param Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode), representing the bookmark
|
|
||||||
* to update
|
|
||||||
* @param JavaScript object containing the values to be updated
|
|
||||||
* - title:
|
|
||||||
* String representing the new title of the bookmark item
|
|
||||||
* - description:
|
|
||||||
* String representing the new description of the bookmark item
|
|
||||||
* - keyword:
|
|
||||||
* String representing the new keyword of the bookmark item
|
|
||||||
* @return true if the bookmark is updated, else false
|
|
||||||
*/
|
|
||||||
bool QmlBookmarks::update(QObject *object, const QVariantMap &changes) const
|
bool QmlBookmarks::update(QObject *object, const QVariantMap &changes) const
|
||||||
{
|
{
|
||||||
auto treeNode = qobject_cast<QmlBookmarkTreeNode*>(object);
|
auto treeNode = qobject_cast<QmlBookmarkTreeNode*>(object);
|
||||||
@ -299,12 +226,6 @@ bool QmlBookmarks::update(QObject *object, const QVariantMap &changes) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the first matched bookmark item
|
|
||||||
* @param String representing the query
|
|
||||||
* @return Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode) if
|
|
||||||
* the query is matched with a bookmark, else null
|
|
||||||
*/
|
|
||||||
QmlBookmarkTreeNode *QmlBookmarks::get(const QString &string) const
|
QmlBookmarkTreeNode *QmlBookmarks::get(const QString &string) const
|
||||||
{
|
{
|
||||||
auto items = mApp->bookmarks()->searchBookmarks(QUrl(string));
|
auto items = mApp->bookmarks()->searchBookmarks(QUrl(string));
|
||||||
@ -317,12 +238,6 @@ QmlBookmarkTreeNode *QmlBookmarks::get(const QString &string) const
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get children of the bookmark item
|
|
||||||
* @param Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode), representing
|
|
||||||
* the parent whose children are requested.
|
|
||||||
* @return List containing the children, of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode)
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlBookmarks::getChildren(QObject *object) const
|
QList<QObject*> QmlBookmarks::getChildren(QObject *object) const
|
||||||
{
|
{
|
||||||
QList<QObject*> ret;
|
QList<QObject*> ret;
|
||||||
@ -343,8 +258,5 @@ QList<QObject*> QmlBookmarks::getChildren(QObject *object) const
|
|||||||
|
|
||||||
bool QmlBookmarks::isTreeNodeEqualsItem(QmlBookmarkTreeNode *treeNode, BookmarkItem *item) const
|
bool QmlBookmarks::isTreeNodeEqualsItem(QmlBookmarkTreeNode *treeNode, BookmarkItem *item) const
|
||||||
{
|
{
|
||||||
return treeNode->title() == item->title()
|
return treeNode->item() == item;
|
||||||
&& treeNode->url() == item->urlString()
|
|
||||||
&& treeNode->description() == item->description()
|
|
||||||
&& (int)(treeNode->type()) == (int)(item->type());
|
|
||||||
}
|
}
|
||||||
|
@ -32,17 +32,102 @@ class QmlBookmarks : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit QmlBookmarks(QObject *parent = nullptr);
|
explicit QmlBookmarks(QObject *parent = nullptr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Checks if the url is bookmarked
|
||||||
|
* @param String representing the url to check
|
||||||
|
* @return true if bookmarked, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool isBookmarked(const QString &url) const;
|
Q_INVOKABLE bool isBookmarked(const QString &url) const;
|
||||||
|
/**
|
||||||
|
* @brief Get the root bookmark item
|
||||||
|
* @return Root boomkark item
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlBookmarkTreeNode *rootItem() const;
|
Q_INVOKABLE QmlBookmarkTreeNode *rootItem() const;
|
||||||
|
/**
|
||||||
|
* @brief Get the bookmarks toolbar
|
||||||
|
* @return Bookmarks toolbar
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlBookmarkTreeNode *toolbarFolder() const;
|
Q_INVOKABLE QmlBookmarkTreeNode *toolbarFolder() const;
|
||||||
|
/**
|
||||||
|
* @brief Get the bookmarks menu folder
|
||||||
|
* @return Bookmarks menu folder
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlBookmarkTreeNode *menuFolder() const;
|
Q_INVOKABLE QmlBookmarkTreeNode *menuFolder() const;
|
||||||
|
/**
|
||||||
|
* @brief Get the unsorted bookmarks folder
|
||||||
|
* @return Unsorted bookmarks folder
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlBookmarkTreeNode *unsortedFolder() const;
|
Q_INVOKABLE QmlBookmarkTreeNode *unsortedFolder() const;
|
||||||
|
/**
|
||||||
|
* @brief Get the last used bookmarks folder
|
||||||
|
* @return Last used bookmarks folder
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlBookmarkTreeNode *lastUsedFolder() const;
|
Q_INVOKABLE QmlBookmarkTreeNode *lastUsedFolder() const;
|
||||||
|
/**
|
||||||
|
* @brief Creates a bookmark item
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - parent:
|
||||||
|
* Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode), representing
|
||||||
|
* the parent of the new bookmark item. This is required field.
|
||||||
|
* - title:
|
||||||
|
* String representing the title of the new bookmark item. Defaults to empty string
|
||||||
|
* - url:
|
||||||
|
* String representing the url of the new bookmark item. Defaults to empty string
|
||||||
|
* - description
|
||||||
|
* String representing the description of the new bookmark item. Defaults to empty string
|
||||||
|
* - type:
|
||||||
|
* [Type](@ref QmlBookmarkTreeNode::Type) representing the type of the new bookmark item.
|
||||||
|
* Defaults to [Url](@ref QmlBookmarkTreeNode::Url) if url is provided, else
|
||||||
|
* [Folder](@ref QmlBookmarkTreeNode::Folder) if title is provided, else
|
||||||
|
* [Invalid](@ref QmlBookmarkTreeNode::Invalid)
|
||||||
|
* @return true if the bookmark it created, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool create(const QVariantMap &map) const;
|
Q_INVOKABLE bool create(const QVariantMap &map) const;
|
||||||
|
/**
|
||||||
|
* @brief Removes a bookmark item
|
||||||
|
* @param treeNode:
|
||||||
|
* Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode) to be removed
|
||||||
|
* @return true if the bookmark is removed, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool remove(QmlBookmarkTreeNode *treeNode) const;
|
Q_INVOKABLE bool remove(QmlBookmarkTreeNode *treeNode) const;
|
||||||
|
/**
|
||||||
|
* @brief QmlBookmarks::search
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - query:
|
||||||
|
* String containing search query
|
||||||
|
* - url:
|
||||||
|
* String representing url to be search
|
||||||
|
* @return List containing [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode). If both
|
||||||
|
* query and url are not supplied then empty list is returned.
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject*> search(const QVariantMap &map) const;
|
Q_INVOKABLE QList<QObject*> search(const QVariantMap &map) const;
|
||||||
|
/**
|
||||||
|
* @brief Updates a bookmark item
|
||||||
|
* @param Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode), representing the bookmark
|
||||||
|
* to update
|
||||||
|
* @param JavaScript object containing the values to be updated
|
||||||
|
* - title:
|
||||||
|
* String representing the new title of the bookmark item
|
||||||
|
* - description:
|
||||||
|
* String representing the new description of the bookmark item
|
||||||
|
* - keyword:
|
||||||
|
* String representing the new keyword of the bookmark item
|
||||||
|
* @return true if the bookmark is updated, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool update(QObject *object, const QVariantMap &changes) const;
|
Q_INVOKABLE bool update(QObject *object, const QVariantMap &changes) const;
|
||||||
|
/**
|
||||||
|
* @brief Get the first matched bookmark item
|
||||||
|
* @param String representing the query
|
||||||
|
* @return Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode) if
|
||||||
|
* the query is matched with a bookmark, else null
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlBookmarkTreeNode *get(const QString &string) const;
|
Q_INVOKABLE QmlBookmarkTreeNode *get(const QString &string) const;
|
||||||
|
/**
|
||||||
|
* @brief Get children of the bookmark item
|
||||||
|
* @param Object of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode), representing
|
||||||
|
* the parent whose children are requested.
|
||||||
|
* @return List containing the children, of type [QmlBookmarkTreeNode](@ref QmlBookmarkTreeNode)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject*> getChildren(QObject *object) const;
|
Q_INVOKABLE QList<QObject*> getChildren(QObject *object) const;
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
|
@ -28,6 +28,11 @@ QmlBookmarkTreeNode::QmlBookmarkTreeNode(BookmarkItem *item)
|
|||||||
QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
|
QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BookmarkItem *QmlBookmarkTreeNode::item()
|
||||||
|
{
|
||||||
|
return m_item;
|
||||||
|
}
|
||||||
|
|
||||||
QmlBookmarkTreeNode::Type QmlBookmarkTreeNode::type() const
|
QmlBookmarkTreeNode::Type QmlBookmarkTreeNode::type() const
|
||||||
{
|
{
|
||||||
if (!m_item) {
|
if (!m_item) {
|
||||||
|
@ -87,6 +87,7 @@ public:
|
|||||||
|
|
||||||
explicit QmlBookmarkTreeNode(BookmarkItem *item = nullptr);
|
explicit QmlBookmarkTreeNode(BookmarkItem *item = nullptr);
|
||||||
|
|
||||||
|
BookmarkItem *item();
|
||||||
Type type() const;
|
Type type() const;
|
||||||
QString title() const;
|
QString title() const;
|
||||||
QString url() const;
|
QString url() const;
|
||||||
|
@ -213,9 +213,6 @@ void QmlBrowserActionButton::setIcon(const QString &icon)
|
|||||||
m_iconUrl = icon;
|
m_iconUrl = icon;
|
||||||
if (QIcon::hasThemeIcon(m_iconUrl)) {
|
if (QIcon::hasThemeIcon(m_iconUrl)) {
|
||||||
AbstractButtonInterface::setIcon(QIcon::fromTheme(m_iconUrl));
|
AbstractButtonInterface::setIcon(QIcon::fromTheme(m_iconUrl));
|
||||||
} else if (m_iconUrl.startsWith(QSL(":"))) {
|
|
||||||
// Icon is loaded from falkon resource
|
|
||||||
AbstractButtonInterface::setIcon(QIcon(m_iconUrl));
|
|
||||||
} else {
|
} else {
|
||||||
const QString pluginPath = m_popup->creationContext()->contextProperty("__path__").toString();
|
const QString pluginPath = m_popup->creationContext()->contextProperty("__path__").toString();
|
||||||
QmlFileUtils fileUtils(pluginPath);
|
QmlFileUtils fileUtils(pluginPath);
|
||||||
|
@ -24,10 +24,6 @@ QmlClipboard::QmlClipboard(QObject *parent)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Copy the string to clipboard
|
|
||||||
* @param String representing the text to be copied
|
|
||||||
*/
|
|
||||||
void QmlClipboard::copy(const QString &text)
|
void QmlClipboard::copy(const QString &text)
|
||||||
{
|
{
|
||||||
mApp->clipboard()->setText(text);
|
mApp->clipboard()->setText(text);
|
||||||
|
@ -28,5 +28,9 @@ class QmlClipboard : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QmlClipboard(QObject *parent = nullptr);
|
explicit QmlClipboard(QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Copy the string to clipboard
|
||||||
|
* @param String representing the text to be copied
|
||||||
|
*/
|
||||||
Q_INVOKABLE void copy(const QString &text);
|
Q_INVOKABLE void copy(const QString &text);
|
||||||
};
|
};
|
||||||
|
@ -26,7 +26,6 @@ QmlCookies::QmlCookies(QObject *parent)
|
|||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
{
|
{
|
||||||
connect(mApp->cookieJar(), &CookieJar::cookieAdded, this, [this](QNetworkCookie network_cookie){
|
connect(mApp->cookieJar(), &CookieJar::cookieAdded, this, [this](QNetworkCookie network_cookie){
|
||||||
// FIXME: improve this
|
|
||||||
QmlCookie *cookie = cookieData->get(&network_cookie);
|
QmlCookie *cookie = cookieData->get(&network_cookie);
|
||||||
QVariantMap map;
|
QVariantMap map;
|
||||||
map.insert(QSL("cookie"), QVariant::fromValue(cookie));
|
map.insert(QSL("cookie"), QVariant::fromValue(cookie));
|
||||||
@ -35,7 +34,6 @@ QmlCookies::QmlCookies(QObject *parent)
|
|||||||
});
|
});
|
||||||
|
|
||||||
connect(mApp->cookieJar(), &CookieJar::cookieRemoved, this, [this](QNetworkCookie network_cookie){
|
connect(mApp->cookieJar(), &CookieJar::cookieRemoved, this, [this](QNetworkCookie network_cookie){
|
||||||
// FIXME: improve this
|
|
||||||
QmlCookie *cookie = cookieData->get(&network_cookie);
|
QmlCookie *cookie = cookieData->get(&network_cookie);
|
||||||
QVariantMap map;
|
QVariantMap map;
|
||||||
map.insert(QSL("cookie"), QVariant::fromValue(cookie));
|
map.insert(QSL("cookie"), QVariant::fromValue(cookie));
|
||||||
@ -61,16 +59,6 @@ QNetworkCookie *QmlCookies::getNetworkCookie(const QVariantMap &map)
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get a cookie
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - name:
|
|
||||||
* String representing the name of the cookie
|
|
||||||
* - url:
|
|
||||||
* String representing the url of the cookie
|
|
||||||
* @return Cookie of type [QmlCookie](@ref QmlCookie)
|
|
||||||
* if such cookie exists, else null
|
|
||||||
*/
|
|
||||||
QmlCookie *QmlCookies::get(const QVariantMap &map)
|
QmlCookie *QmlCookies::get(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
QNetworkCookie *netCookie = getNetworkCookie(map);
|
QNetworkCookie *netCookie = getNetworkCookie(map);
|
||||||
@ -80,21 +68,6 @@ QmlCookie *QmlCookies::get(const QVariantMap &map)
|
|||||||
return cookieData->get(netCookie);
|
return cookieData->get(netCookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get all cookies matching a criteria
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - name:
|
|
||||||
* String representing the name of the cookie
|
|
||||||
* - url:
|
|
||||||
* String representing the url of the cookie
|
|
||||||
* - path:
|
|
||||||
* String representing the path of the cookie
|
|
||||||
* - secure:
|
|
||||||
* Bool representing if the cookie is secure
|
|
||||||
* - session:
|
|
||||||
* Bool representing if the cookie is a session cookie
|
|
||||||
* @return List containing cookies, each of type [QmlCookie](@ref QmlCookie)
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlCookies::getAll(const QVariantMap &map)
|
QList<QObject*> QmlCookies::getAll(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
QList<QObject*> qmlCookies;
|
QList<QObject*> qmlCookies;
|
||||||
@ -117,24 +90,6 @@ QList<QObject*> QmlCookies::getAll(const QVariantMap &map)
|
|||||||
return qmlCookies;
|
return qmlCookies;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set a cookie
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - name:
|
|
||||||
* String representing the name of the cookie
|
|
||||||
* - url:
|
|
||||||
* String representing the name of the cookie
|
|
||||||
* - path:
|
|
||||||
* String representing the path of the cookie
|
|
||||||
* - secure:
|
|
||||||
* Bool representing if the cookie is secure
|
|
||||||
* - expirationDate:
|
|
||||||
* A JavaScript Date object, representing the expiration date of the cookie
|
|
||||||
* - httpOnly:
|
|
||||||
* Bool representing if the cookie is httpOnly
|
|
||||||
* - value:
|
|
||||||
* String representing the value of the cookie
|
|
||||||
*/
|
|
||||||
void QmlCookies::set(const QVariantMap &map)
|
void QmlCookies::set(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
const QString name = map.value(QSL("name")).toString();
|
const QString name = map.value(QSL("name")).toString();
|
||||||
@ -155,14 +110,6 @@ void QmlCookies::set(const QVariantMap &map)
|
|||||||
mApp->webProfile()->cookieStore()->setCookie(cookie);
|
mApp->webProfile()->cookieStore()->setCookie(cookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Remove a cookie
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - name:
|
|
||||||
* String representing the name of the cookie
|
|
||||||
* - url:
|
|
||||||
* String representing the url of the cookie
|
|
||||||
*/
|
|
||||||
void QmlCookies::remove(const QVariantMap &map)
|
void QmlCookies::remove(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
QNetworkCookie *netCookie = getNetworkCookie(map);
|
QNetworkCookie *netCookie = getNetworkCookie(map);
|
||||||
|
@ -28,9 +28,60 @@ class QmlCookies : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QmlCookies(QObject *parent = nullptr);
|
explicit QmlCookies(QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Get a cookie
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - name:
|
||||||
|
* String representing the name of the cookie
|
||||||
|
* - url:
|
||||||
|
* String representing the url of the cookie
|
||||||
|
* @return Cookie of type [QmlCookie](@ref QmlCookie)
|
||||||
|
* if such cookie exists, else null
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlCookie *get(const QVariantMap &map);
|
Q_INVOKABLE QmlCookie *get(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Get all cookies matching a criteria
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - name:
|
||||||
|
* String representing the name of the cookie
|
||||||
|
* - url:
|
||||||
|
* String representing the url of the cookie
|
||||||
|
* - path:
|
||||||
|
* String representing the path of the cookie
|
||||||
|
* - secure:
|
||||||
|
* Bool representing if the cookie is secure
|
||||||
|
* - session:
|
||||||
|
* Bool representing if the cookie is a session cookie
|
||||||
|
* @return List containing cookies, each of type [QmlCookie](@ref QmlCookie)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject*> getAll(const QVariantMap &map);
|
Q_INVOKABLE QList<QObject*> getAll(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Set a cookie
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - name:
|
||||||
|
* String representing the name of the cookie
|
||||||
|
* - url:
|
||||||
|
* String representing the name of the cookie
|
||||||
|
* - path:
|
||||||
|
* String representing the path of the cookie
|
||||||
|
* - secure:
|
||||||
|
* Bool representing if the cookie is secure
|
||||||
|
* - expirationDate:
|
||||||
|
* A JavaScript Date object, representing the expiration date of the cookie
|
||||||
|
* - httpOnly:
|
||||||
|
* Bool representing if the cookie is httpOnly
|
||||||
|
* - value:
|
||||||
|
* String representing the value of the cookie
|
||||||
|
*/
|
||||||
Q_INVOKABLE void set(const QVariantMap &map);
|
Q_INVOKABLE void set(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Remove a cookie
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - name:
|
||||||
|
* String representing the name of the cookie
|
||||||
|
* - url:
|
||||||
|
* String representing the url of the cookie
|
||||||
|
*/
|
||||||
Q_INVOKABLE void remove(const QVariantMap &map);
|
Q_INVOKABLE void remove(const QVariantMap &map);
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
/**
|
/**
|
||||||
|
@ -22,69 +22,46 @@ QmlKeyEvent::QmlKeyEvent(QKeyEvent *keyEvent, QObject *parent)
|
|||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
, m_keyEvent(keyEvent)
|
, m_keyEvent(keyEvent)
|
||||||
{
|
{
|
||||||
|
delete keyEvent;
|
||||||
QQmlEngine::setObjectOwnership(this, QQmlEngine::JavaScriptOwnership);
|
QQmlEngine::setObjectOwnership(this, QQmlEngine::JavaScriptOwnership);
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlKeyEvent::count() const
|
int QmlKeyEvent::count() const
|
||||||
{
|
{
|
||||||
if (!m_keyEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_keyEvent->count();
|
return m_keyEvent->count();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmlKeyEvent::isAutoRepeat() const
|
bool QmlKeyEvent::isAutoRepeat() const
|
||||||
{
|
{
|
||||||
if (!m_keyEvent) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return m_keyEvent->isAutoRepeat();
|
return m_keyEvent->isAutoRepeat();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlKeyEvent::key() const
|
int QmlKeyEvent::key() const
|
||||||
{
|
{
|
||||||
if (!m_keyEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_keyEvent->key();
|
return m_keyEvent->key();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlKeyEvent::modifiers() const
|
int QmlKeyEvent::modifiers() const
|
||||||
{
|
{
|
||||||
if (!m_keyEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return (int)m_keyEvent->modifiers();
|
return (int)m_keyEvent->modifiers();
|
||||||
}
|
}
|
||||||
|
|
||||||
quint32 QmlKeyEvent::nativeModifiers() const
|
quint32 QmlKeyEvent::nativeModifiers() const
|
||||||
{
|
{
|
||||||
if (!m_keyEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_keyEvent->nativeModifiers();
|
return m_keyEvent->nativeModifiers();
|
||||||
}
|
}
|
||||||
|
|
||||||
quint32 QmlKeyEvent::nativeScanCode() const
|
quint32 QmlKeyEvent::nativeScanCode() const
|
||||||
{
|
{
|
||||||
if (!m_keyEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_keyEvent->nativeScanCode();
|
return m_keyEvent->nativeScanCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
quint32 QmlKeyEvent::nativeVirtualKey() const
|
quint32 QmlKeyEvent::nativeVirtualKey() const
|
||||||
{
|
{
|
||||||
if (!m_keyEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_keyEvent->nativeVirtualKey();
|
return m_keyEvent->nativeVirtualKey();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QmlKeyEvent::text() const
|
QString QmlKeyEvent::text() const
|
||||||
{
|
{
|
||||||
if (!m_keyEvent) {
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
return m_keyEvent->text();
|
return m_keyEvent->text();
|
||||||
}
|
}
|
||||||
|
@ -27,96 +27,60 @@ QmlMouseEvent::QmlMouseEvent(QMouseEvent *mouseEvent, QObject *parent)
|
|||||||
|
|
||||||
int QmlMouseEvent::button() const
|
int QmlMouseEvent::button() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return (int)m_mouseEvent->button();
|
return (int)m_mouseEvent->button();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlMouseEvent::buttons() const
|
int QmlMouseEvent::buttons() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return (int)m_mouseEvent->buttons();
|
return (int)m_mouseEvent->buttons();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint QmlMouseEvent::globalPos() const
|
QPoint QmlMouseEvent::globalPos() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return QPoint(-1, -1);
|
|
||||||
}
|
|
||||||
return m_mouseEvent->globalPos();
|
return m_mouseEvent->globalPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlMouseEvent::globalX() const
|
int QmlMouseEvent::globalX() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_mouseEvent->globalX();
|
return m_mouseEvent->globalX();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlMouseEvent::globalY() const
|
int QmlMouseEvent::globalY() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_mouseEvent->globalY();
|
return m_mouseEvent->globalY();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF QmlMouseEvent::localPos() const
|
QPointF QmlMouseEvent::localPos() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return QPointF(-1, -1);
|
|
||||||
}
|
|
||||||
return m_mouseEvent->localPos();
|
return m_mouseEvent->localPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint QmlMouseEvent::pos() const
|
QPoint QmlMouseEvent::pos() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return QPoint(-1, -1);
|
|
||||||
}
|
|
||||||
return m_mouseEvent->pos();
|
return m_mouseEvent->pos();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF QmlMouseEvent::screenPos() const
|
QPointF QmlMouseEvent::screenPos() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return QPointF(-1, -1);
|
|
||||||
}
|
|
||||||
return m_mouseEvent->screenPos();
|
return m_mouseEvent->screenPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlMouseEvent::source() const
|
int QmlMouseEvent::source() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return (int)m_mouseEvent->source();
|
return (int)m_mouseEvent->source();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF QmlMouseEvent::windowPos() const
|
QPointF QmlMouseEvent::windowPos() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return QPointF(-1, -1);
|
|
||||||
}
|
|
||||||
return m_mouseEvent->windowPos();
|
return m_mouseEvent->windowPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlMouseEvent::x() const
|
int QmlMouseEvent::x() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_mouseEvent->x();
|
return m_mouseEvent->x();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlMouseEvent::y() const
|
int QmlMouseEvent::y() const
|
||||||
{
|
{
|
||||||
if (!m_mouseEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_mouseEvent->y();
|
return m_mouseEvent->y();
|
||||||
}
|
}
|
||||||
|
@ -27,112 +27,70 @@ QmlWheelEvent::QmlWheelEvent(QWheelEvent *wheelEvent, QObject *parent)
|
|||||||
|
|
||||||
QPoint QmlWheelEvent::angleDelta() const
|
QPoint QmlWheelEvent::angleDelta() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return QPoint(-1, -1);
|
|
||||||
}
|
|
||||||
return m_wheelEvent->angleDelta();
|
return m_wheelEvent->angleDelta();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlWheelEvent::buttons() const
|
int QmlWheelEvent::buttons() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return (int)m_wheelEvent->buttons();
|
return (int)m_wheelEvent->buttons();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint QmlWheelEvent::globalPos() const
|
QPoint QmlWheelEvent::globalPos() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return QPoint(-1, -1);
|
|
||||||
}
|
|
||||||
return m_wheelEvent->globalPos();
|
return m_wheelEvent->globalPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF QmlWheelEvent::globalPosF() const
|
QPointF QmlWheelEvent::globalPosF() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return QPointF(-1, -1);
|
|
||||||
}
|
|
||||||
return m_wheelEvent->globalPosF();
|
return m_wheelEvent->globalPosF();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlWheelEvent::globalX() const
|
int QmlWheelEvent::globalX() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_wheelEvent->globalX();
|
return m_wheelEvent->globalX();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlWheelEvent::globalY() const
|
int QmlWheelEvent::globalY() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_wheelEvent->globalY();
|
return m_wheelEvent->globalY();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmlWheelEvent::inverted() const
|
bool QmlWheelEvent::inverted() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return m_wheelEvent->inverted();
|
return m_wheelEvent->inverted();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlWheelEvent::phase() const
|
int QmlWheelEvent::phase() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return (int)m_wheelEvent->phase();
|
return (int)m_wheelEvent->phase();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint QmlWheelEvent::pixelDelta() const
|
QPoint QmlWheelEvent::pixelDelta() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return QPoint(-1, -1);
|
|
||||||
}
|
|
||||||
return m_wheelEvent->pixelDelta();
|
return m_wheelEvent->pixelDelta();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint QmlWheelEvent::pos() const
|
QPoint QmlWheelEvent::pos() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return QPoint(-1, -1);
|
|
||||||
}
|
|
||||||
return m_wheelEvent->pos();
|
return m_wheelEvent->pos();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointF QmlWheelEvent::posF() const
|
QPointF QmlWheelEvent::posF() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return QPointF(-1, -1);
|
|
||||||
}
|
|
||||||
return m_wheelEvent->posF();
|
return m_wheelEvent->posF();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlWheelEvent::source() const
|
int QmlWheelEvent::source() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return (int)m_wheelEvent->source();
|
return (int)m_wheelEvent->source();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlWheelEvent::x() const
|
int QmlWheelEvent::x() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_wheelEvent->x();
|
return m_wheelEvent->x();
|
||||||
}
|
}
|
||||||
|
|
||||||
int QmlWheelEvent::y() const
|
int QmlWheelEvent::y() const
|
||||||
{
|
{
|
||||||
if (!m_wheelEvent) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return m_wheelEvent->y();
|
return m_wheelEvent->y();
|
||||||
}
|
}
|
||||||
|
@ -26,10 +26,6 @@ QmlWebEngineUrlRequestJob::QmlWebEngineUrlRequestJob(QWebEngineUrlRequestJob *jo
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Fails the request with the error
|
|
||||||
* @param error
|
|
||||||
*/
|
|
||||||
void QmlWebEngineUrlRequestJob::fail(QmlWebEngineUrlRequestJob::Error error)
|
void QmlWebEngineUrlRequestJob::fail(QmlWebEngineUrlRequestJob::Error error)
|
||||||
{
|
{
|
||||||
if (!m_job) {
|
if (!m_job) {
|
||||||
@ -38,10 +34,6 @@ void QmlWebEngineUrlRequestJob::fail(QmlWebEngineUrlRequestJob::Error error)
|
|||||||
m_job->fail(QWebEngineUrlRequestJob::Error(error));
|
m_job->fail(QWebEngineUrlRequestJob::Error(error));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Redirects the request to the url
|
|
||||||
* @param urlString, represents the url to which the request is to be redirected
|
|
||||||
*/
|
|
||||||
void QmlWebEngineUrlRequestJob::redirect(const QString &urlString)
|
void QmlWebEngineUrlRequestJob::redirect(const QString &urlString)
|
||||||
{
|
{
|
||||||
if (!m_job) {
|
if (!m_job) {
|
||||||
@ -50,12 +42,6 @@ void QmlWebEngineUrlRequestJob::redirect(const QString &urlString)
|
|||||||
return m_job->redirect(QUrl::fromEncoded(urlString.toUtf8()));
|
return m_job->redirect(QUrl::fromEncoded(urlString.toUtf8()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Replies to the request
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - content: String representing the reply data
|
|
||||||
* - contentType: String representing the contentType of reply data
|
|
||||||
*/
|
|
||||||
void QmlWebEngineUrlRequestJob::reply(const QVariantMap &map)
|
void QmlWebEngineUrlRequestJob::reply(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!m_job) {
|
if (!m_job) {
|
||||||
|
@ -51,8 +51,22 @@ public:
|
|||||||
};
|
};
|
||||||
Q_ENUM(Error)
|
Q_ENUM(Error)
|
||||||
explicit QmlWebEngineUrlRequestJob(QWebEngineUrlRequestJob *job = nullptr, QObject *parent = nullptr);
|
explicit QmlWebEngineUrlRequestJob(QWebEngineUrlRequestJob *job = nullptr, QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Fails the request with the error
|
||||||
|
* @param error
|
||||||
|
*/
|
||||||
Q_INVOKABLE void fail(Error error);
|
Q_INVOKABLE void fail(Error error);
|
||||||
|
/**
|
||||||
|
* @brief Redirects the request to the url
|
||||||
|
* @param urlString, represents the url to which the request is to be redirected
|
||||||
|
*/
|
||||||
Q_INVOKABLE void redirect(const QString &urlString);
|
Q_INVOKABLE void redirect(const QString &urlString);
|
||||||
|
/**
|
||||||
|
* @brief Replies to the request
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - content: String representing the reply data
|
||||||
|
* - contentType: String representing the contentType of reply data
|
||||||
|
*/
|
||||||
Q_INVOKABLE void reply(const QVariantMap &map);
|
Q_INVOKABLE void reply(const QVariantMap &map);
|
||||||
private:
|
private:
|
||||||
QWebEngineUrlRequestJob *m_job;
|
QWebEngineUrlRequestJob *m_job;
|
||||||
|
@ -35,12 +35,6 @@ QmlHistory::QmlHistory(QObject *parent)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Searches History Entries against a search query
|
|
||||||
* @param String representing the search query
|
|
||||||
* @return List of History Entries, each of type [QmlHistoryItem](@ref QmlHistoryItem),
|
|
||||||
* matching the search query
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlHistory::search(const QString &text)
|
QList<QObject*> QmlHistory::search(const QString &text)
|
||||||
{
|
{
|
||||||
QList<QObject*> list;
|
QList<QObject*> list;
|
||||||
@ -53,25 +47,12 @@ QList<QObject*> QmlHistory::search(const QString &text)
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the visit count of a url
|
|
||||||
* @param String representing the url
|
|
||||||
* @return Integer representing the visit count of the given url
|
|
||||||
*/
|
|
||||||
int QmlHistory::getVisits(const QString &url)
|
int QmlHistory::getVisits(const QString &url)
|
||||||
{
|
{
|
||||||
HistoryEntry *entry = mApp->history()->getHistoryEntry(url);
|
HistoryEntry *entry = mApp->history()->getHistoryEntry(url);
|
||||||
return entry->count;
|
return entry->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Add url to the history
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - title:
|
|
||||||
* String representing the title of the hisotry entry
|
|
||||||
* - url:
|
|
||||||
* String representing the url of the history entry
|
|
||||||
*/
|
|
||||||
void QmlHistory::addUrl(const QVariantMap &map)
|
void QmlHistory::addUrl(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("title")) || !map.contains(QSL("url"))) {
|
if (!map.contains(QSL("title")) || !map.contains(QSL("url"))) {
|
||||||
@ -86,23 +67,11 @@ void QmlHistory::addUrl(const QVariantMap &map)
|
|||||||
mApp->history()->addHistoryEntry(QUrl::fromEncoded(url.toUtf8()), title);
|
mApp->history()->addHistoryEntry(QUrl::fromEncoded(url.toUtf8()), title);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Deletes a url from the history
|
|
||||||
* @param String representing the url of the history entry
|
|
||||||
*/
|
|
||||||
void QmlHistory::deleteUrl(const QString &url)
|
void QmlHistory::deleteUrl(const QString &url)
|
||||||
{
|
{
|
||||||
mApp->history()->deleteHistoryEntry(url);
|
mApp->history()->deleteHistoryEntry(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Deletes history entries within the given range
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - startTime:
|
|
||||||
* A JavaScript Date object representing the start time
|
|
||||||
* - endTime:
|
|
||||||
* A JavaScript Date object representing the end time
|
|
||||||
*/
|
|
||||||
void QmlHistory::deleteRange(const QVariantMap &map)
|
void QmlHistory::deleteRange(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("startTime")) || !map.contains(QSL("endTime"))) {
|
if (!map.contains(QSL("startTime")) || !map.contains(QSL("endTime"))) {
|
||||||
@ -114,9 +83,6 @@ void QmlHistory::deleteRange(const QVariantMap &map)
|
|||||||
mApp->history()->deleteRange(startTime, endTime);
|
mApp->history()->deleteRange(startTime, endTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Clears all the history
|
|
||||||
*/
|
|
||||||
void QmlHistory::deleteAll()
|
void QmlHistory::deleteAll()
|
||||||
{
|
{
|
||||||
mApp->history()->clearHistory();
|
mApp->history()->clearHistory();
|
||||||
|
@ -28,11 +28,45 @@ class QmlHistory : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QmlHistory(QObject *parent = nullptr);
|
explicit QmlHistory(QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Searches History Entries against a search query
|
||||||
|
* @param String representing the search query
|
||||||
|
* @return List of History Entries, each of type [QmlHistoryItem](@ref QmlHistoryItem),
|
||||||
|
* matching the search query
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject*> search(const QString &text);
|
Q_INVOKABLE QList<QObject*> search(const QString &text);
|
||||||
|
/**
|
||||||
|
* @brief Get the visit count of a url
|
||||||
|
* @param String representing the url
|
||||||
|
* @return Integer representing the visit count of the given url
|
||||||
|
*/
|
||||||
Q_INVOKABLE int getVisits(const QString &url);
|
Q_INVOKABLE int getVisits(const QString &url);
|
||||||
|
/**
|
||||||
|
* @brief Add url to the history
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - title:
|
||||||
|
* String representing the title of the hisotry entry
|
||||||
|
* - url:
|
||||||
|
* String representing the url of the history entry
|
||||||
|
*/
|
||||||
Q_INVOKABLE void addUrl(const QVariantMap &map);
|
Q_INVOKABLE void addUrl(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Deletes a url from the history
|
||||||
|
* @param String representing the url of the history entry
|
||||||
|
*/
|
||||||
Q_INVOKABLE void deleteUrl(const QString &url);
|
Q_INVOKABLE void deleteUrl(const QString &url);
|
||||||
|
/**
|
||||||
|
* @brief Deletes history entries within the given range
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - startTime:
|
||||||
|
* A JavaScript Date object representing the start time
|
||||||
|
* - endTime:
|
||||||
|
* A JavaScript Date object representing the end time
|
||||||
|
*/
|
||||||
Q_INVOKABLE void deleteRange(const QVariantMap &map);
|
Q_INVOKABLE void deleteRange(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Clears all the history
|
||||||
|
*/
|
||||||
Q_INVOKABLE void deleteAll();
|
Q_INVOKABLE void deleteAll();
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
/**
|
/**
|
||||||
|
@ -25,10 +25,6 @@ QmlHistoryItem::QmlHistoryItem(HistoryEntry *entry, QObject *parent)
|
|||||||
QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
|
QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the id of the HistoryEntry
|
|
||||||
* @return Integer representing the id of the HistoryEntry if it exists, else 0
|
|
||||||
*/
|
|
||||||
int QmlHistoryItem::id() const
|
int QmlHistoryItem::id() const
|
||||||
{
|
{
|
||||||
if (!m_entry) {
|
if (!m_entry) {
|
||||||
@ -37,10 +33,6 @@ int QmlHistoryItem::id() const
|
|||||||
return m_entry->id;
|
return m_entry->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the url of the HistoryEntry
|
|
||||||
* @return String representing the url of the HistoryEntry
|
|
||||||
*/
|
|
||||||
QString QmlHistoryItem::url() const
|
QString QmlHistoryItem::url() const
|
||||||
{
|
{
|
||||||
if (!m_entry) {
|
if (!m_entry) {
|
||||||
@ -49,10 +41,6 @@ QString QmlHistoryItem::url() const
|
|||||||
return QString::fromUtf8(m_entry->url.toEncoded());
|
return QString::fromUtf8(m_entry->url.toEncoded());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the title of the HistoryEntry
|
|
||||||
* @return String representing the title of the HistoryEntry
|
|
||||||
*/
|
|
||||||
QString QmlHistoryItem::title() const
|
QString QmlHistoryItem::title() const
|
||||||
{
|
{
|
||||||
if (!m_entry) {
|
if (!m_entry) {
|
||||||
@ -61,10 +49,6 @@ QString QmlHistoryItem::title() const
|
|||||||
return m_entry->title;
|
return m_entry->title;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the visit count of the HistoryEntry
|
|
||||||
* @return Integer representing the visit count of the HistoryEntry
|
|
||||||
*/
|
|
||||||
int QmlHistoryItem::visitCount() const
|
int QmlHistoryItem::visitCount() const
|
||||||
{
|
{
|
||||||
if (!m_entry) {
|
if (!m_entry) {
|
||||||
@ -73,10 +57,6 @@ int QmlHistoryItem::visitCount() const
|
|||||||
return m_entry->count;
|
return m_entry->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the last visit time of the HistoryEntry
|
|
||||||
* @return Last visit time of the HistoryEntry
|
|
||||||
*/
|
|
||||||
QDateTime QmlHistoryItem::lastVisitTime() const
|
QDateTime QmlHistoryItem::lastVisitTime() const
|
||||||
{
|
{
|
||||||
if (!m_entry) {
|
if (!m_entry) {
|
||||||
|
@ -37,17 +37,11 @@ void QmlI18n::initTranslations()
|
|||||||
textdomain(domain.toUtf8());
|
textdomain(domain.toUtf8());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief wrapper for gettext function
|
|
||||||
*/
|
|
||||||
QString QmlI18n::i18n(const QString &string)
|
QString QmlI18n::i18n(const QString &string)
|
||||||
{
|
{
|
||||||
return QString::fromUtf8(gettext(string.toUtf8()));
|
return QString::fromUtf8(gettext(string.toUtf8()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief wrapper for ngettext function
|
|
||||||
*/
|
|
||||||
QString QmlI18n::i18np(const QString &string1, const QString &string2, int count)
|
QString QmlI18n::i18np(const QString &string1, const QString &string2, int count)
|
||||||
{
|
{
|
||||||
return QString::fromUtf8(ngettext(string1.toUtf8(), string2.toUtf8(), count));
|
return QString::fromUtf8(ngettext(string1.toUtf8(), string2.toUtf8(), count));
|
||||||
|
@ -18,11 +18,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <libintl.h>
|
|
||||||
|
|
||||||
// libintl.h redefines inline which causes MSVC to abort compilation with the message
|
extern "C" {
|
||||||
// fatal error C1189: #error : The C++ Standard Library forbids macroizing keywords
|
#include <libintl.h>
|
||||||
#undef inline
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The class exposing GNU Gettext to QML
|
* @brief The class exposing GNU Gettext to QML
|
||||||
@ -33,7 +32,13 @@ class QmlI18n : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit QmlI18n(const QString &pluginName, QObject *parent = nullptr);
|
explicit QmlI18n(const QString &pluginName, QObject *parent = nullptr);
|
||||||
void initTranslations();
|
void initTranslations();
|
||||||
|
/**
|
||||||
|
* @brief wrapper for gettext function
|
||||||
|
*/
|
||||||
Q_INVOKABLE QString i18n(const QString &string);
|
Q_INVOKABLE QString i18n(const QString &string);
|
||||||
|
/**
|
||||||
|
* @brief wrapper for ngettext function
|
||||||
|
*/
|
||||||
Q_INVOKABLE QString i18np(const QString &string1, const QString &string2, int count);
|
Q_INVOKABLE QString i18np(const QString &string1, const QString &string2, int count);
|
||||||
private:
|
private:
|
||||||
QString m_pluginName;
|
QString m_pluginName;
|
||||||
|
@ -41,9 +41,6 @@ void QmlAction::setProperties(const QVariantMap &map)
|
|||||||
QIcon icon;
|
QIcon icon;
|
||||||
if (QIcon::hasThemeIcon(iconPath)) {
|
if (QIcon::hasThemeIcon(iconPath)) {
|
||||||
icon = QIcon::fromTheme(iconPath);
|
icon = QIcon::fromTheme(iconPath);
|
||||||
} else if (iconPath.startsWith(QSL(":"))) {
|
|
||||||
// Icon is loaded from falkon resource
|
|
||||||
icon = QIcon(iconPath);
|
|
||||||
} else {
|
} else {
|
||||||
QmlFileUtils fileUtils(m_pluginPath);
|
QmlFileUtils fileUtils(m_pluginPath);
|
||||||
icon = QIcon(fileUtils.resolve(iconPath));
|
icon = QIcon(fileUtils.resolve(iconPath));
|
||||||
@ -57,10 +54,6 @@ void QmlAction::setProperties(const QVariantMap &map)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Updates the properties of the action
|
|
||||||
* @param A JavaScript object containing the updated properties of the action.
|
|
||||||
*/
|
|
||||||
void QmlAction::update(const QVariantMap &map)
|
void QmlAction::update(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
setProperties(map);
|
setProperties(map);
|
||||||
|
@ -30,6 +30,10 @@ class QmlAction : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit QmlAction(QAction *action, QObject *parent = nullptr);
|
explicit QmlAction(QAction *action, QObject *parent = nullptr);
|
||||||
void setProperties(const QVariantMap &map);
|
void setProperties(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Updates the properties of the action
|
||||||
|
* @param A JavaScript object containing the updated properties of the action.
|
||||||
|
*/
|
||||||
Q_INVOKABLE void update(const QVariantMap &map);
|
Q_INVOKABLE void update(const QVariantMap &map);
|
||||||
void setPluginPath(const QString &path);
|
void setPluginPath(const QString &path);
|
||||||
|
|
||||||
|
@ -29,13 +29,6 @@ QmlMenu::QmlMenu(QMenu *menu, QObject *parent)
|
|||||||
connect(m_menu, &QMenu::triggered, this, &QmlMenu::triggered);
|
connect(m_menu, &QMenu::triggered, this, &QmlMenu::triggered);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Adds action to menu
|
|
||||||
* @param A JavaScript object containing properties for action.
|
|
||||||
* The icon property must be in form of url of the path
|
|
||||||
* and shortcut in form string.
|
|
||||||
* @return action of type [QmlAction](@ref QmlAction)
|
|
||||||
*/
|
|
||||||
QmlAction *QmlMenu::addAction(const QVariantMap &map)
|
QmlAction *QmlMenu::addAction(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!m_menu) {
|
if (!m_menu) {
|
||||||
@ -51,12 +44,6 @@ QmlAction *QmlMenu::addAction(const QVariantMap &map)
|
|||||||
return qmlAction;
|
return qmlAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Adds sub-menu to menu
|
|
||||||
* @param A JavaScript object containing properties of menu.
|
|
||||||
* The icon property must be in form of url of the path.
|
|
||||||
* @return menu of type [QmlMenu](@ref QmlMenu)
|
|
||||||
*/
|
|
||||||
QmlMenu *QmlMenu::addMenu(const QVariantMap &map)
|
QmlMenu *QmlMenu::addMenu(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!m_menu) {
|
if (!m_menu) {
|
||||||
@ -72,9 +59,6 @@ QmlMenu *QmlMenu::addMenu(const QVariantMap &map)
|
|||||||
QIcon icon;
|
QIcon icon;
|
||||||
if (QIcon::hasThemeIcon(iconPath)) {
|
if (QIcon::hasThemeIcon(iconPath)) {
|
||||||
icon = QIcon::fromTheme(iconPath);
|
icon = QIcon::fromTheme(iconPath);
|
||||||
} else if (iconPath.startsWith(QSL(":"))) {
|
|
||||||
// Icon is loaded from falkon resource
|
|
||||||
icon = QIcon(iconPath);
|
|
||||||
} else {
|
} else {
|
||||||
QmlFileUtils fileUtils(m_pluginPath);
|
QmlFileUtils fileUtils(m_pluginPath);
|
||||||
icon = QIcon(fileUtils.resolve(iconPath));
|
icon = QIcon(fileUtils.resolve(iconPath));
|
||||||
@ -90,9 +74,6 @@ QmlMenu *QmlMenu::addMenu(const QVariantMap &map)
|
|||||||
return newQmlMenu;
|
return newQmlMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Adds a separator to menu
|
|
||||||
*/
|
|
||||||
void QmlMenu::addSeparator()
|
void QmlMenu::addSeparator()
|
||||||
{
|
{
|
||||||
if (!m_menu) {
|
if (!m_menu) {
|
||||||
|
@ -28,8 +28,24 @@ class QmlMenu : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QmlMenu(QMenu *menu, QObject *parent = nullptr);
|
explicit QmlMenu(QMenu *menu, QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Adds action to menu
|
||||||
|
* @param A JavaScript object containing properties for action.
|
||||||
|
* The icon property must be in form of url of the path
|
||||||
|
* and shortcut in form string.
|
||||||
|
* @return action of type [QmlAction](@ref QmlAction)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlAction *addAction(const QVariantMap &map);
|
Q_INVOKABLE QmlAction *addAction(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Adds sub-menu to menu
|
||||||
|
* @param A JavaScript object containing properties of menu.
|
||||||
|
* The icon property must be in form of url of the path.
|
||||||
|
* @return menu of type [QmlMenu](@ref QmlMenu)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlMenu *addMenu(const QVariantMap &map);
|
Q_INVOKABLE QmlMenu *addMenu(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Adds a separator to menu
|
||||||
|
*/
|
||||||
Q_INVOKABLE void addSeparator();
|
Q_INVOKABLE void addSeparator();
|
||||||
void setPluginPath(const QString &path);
|
void setPluginPath(const QString &path);
|
||||||
|
|
||||||
|
@ -25,149 +25,85 @@ QmlWebHitTestResult::QmlWebHitTestResult(const WebHitTestResult &webHitTestResul
|
|||||||
QQmlEngine::setObjectOwnership(this, QQmlEngine::JavaScriptOwnership);
|
QQmlEngine::setObjectOwnership(this, QQmlEngine::JavaScriptOwnership);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the context menu is requested on image.
|
|
||||||
* @return true if image, else false
|
|
||||||
*/
|
|
||||||
bool QmlWebHitTestResult::isImage() const
|
bool QmlWebHitTestResult::isImage() const
|
||||||
{
|
{
|
||||||
return !m_webHitTestResult.imageUrl().isEmpty();
|
return !m_webHitTestResult.imageUrl().isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the context menu is requested on editable content.
|
|
||||||
* @return true if the content is editable, else false
|
|
||||||
*/
|
|
||||||
bool QmlWebHitTestResult::isContentEditable() const
|
bool QmlWebHitTestResult::isContentEditable() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.isContentEditable();
|
return m_webHitTestResult.isContentEditable();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the context menu is requested on the selected content.
|
|
||||||
* @return true if content is selected, else false.
|
|
||||||
*/
|
|
||||||
bool QmlWebHitTestResult::isContentSelected() const
|
bool QmlWebHitTestResult::isContentSelected() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.isContentSelected();
|
return m_webHitTestResult.isContentSelected();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the context menu is requested on null element.
|
|
||||||
* @return true if the element is null, else false
|
|
||||||
*/
|
|
||||||
bool QmlWebHitTestResult::isNull() const
|
bool QmlWebHitTestResult::isNull() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.isNull();
|
return m_webHitTestResult.isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the context menu is requested on a link.
|
|
||||||
* @return true if the element is link, else false
|
|
||||||
*/
|
|
||||||
bool QmlWebHitTestResult::isLink() const
|
bool QmlWebHitTestResult::isLink() const
|
||||||
{
|
{
|
||||||
return !m_webHitTestResult.linkUrl().isEmpty();
|
return !m_webHitTestResult.linkUrl().isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the context menu is requested on a media element.
|
|
||||||
* @return true if the element is media, else false
|
|
||||||
*/
|
|
||||||
bool QmlWebHitTestResult::isMedia() const
|
bool QmlWebHitTestResult::isMedia() const
|
||||||
{
|
{
|
||||||
return !m_webHitTestResult.mediaUrl().isEmpty();
|
return !m_webHitTestResult.mediaUrl().isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the context menu requested on media element is paused.
|
|
||||||
* @return true if media is paused, else false
|
|
||||||
*/
|
|
||||||
bool QmlWebHitTestResult::mediaPaused() const
|
bool QmlWebHitTestResult::mediaPaused() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.mediaPaused();
|
return m_webHitTestResult.mediaPaused();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the context menu requested on media element is muted.
|
|
||||||
* @return true if media is muted, else false
|
|
||||||
*/
|
|
||||||
bool QmlWebHitTestResult::mediaMuted() const
|
bool QmlWebHitTestResult::mediaMuted() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.mediaMuted();
|
return m_webHitTestResult.mediaMuted();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the tagName of the element on which the context menu is requested.
|
|
||||||
* @return String representing the tag name of the element
|
|
||||||
*/
|
|
||||||
QString QmlWebHitTestResult::tagName() const
|
QString QmlWebHitTestResult::tagName() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.tagName();
|
return m_webHitTestResult.tagName();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the base url on which the context menu is requested.
|
|
||||||
* @return String representing the base url
|
|
||||||
*/
|
|
||||||
QString QmlWebHitTestResult::baseUrl() const
|
QString QmlWebHitTestResult::baseUrl() const
|
||||||
{
|
{
|
||||||
const QUrl base = m_webHitTestResult.baseUrl();
|
const QUrl base = m_webHitTestResult.baseUrl();
|
||||||
return QString::fromUtf8(base.toEncoded());
|
return QString::fromUtf8(base.toEncoded());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the link title on which the context menu is requested.
|
|
||||||
* @return String representing the link title
|
|
||||||
*/
|
|
||||||
QString QmlWebHitTestResult::linkTitle() const
|
QString QmlWebHitTestResult::linkTitle() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.linkTitle();
|
return m_webHitTestResult.linkTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the link url on which the context menu is requested.
|
|
||||||
* @return String representing the link url
|
|
||||||
*/
|
|
||||||
QString QmlWebHitTestResult::linkUrl() const
|
QString QmlWebHitTestResult::linkUrl() const
|
||||||
{
|
{
|
||||||
const QUrl link = m_webHitTestResult.linkUrl();
|
const QUrl link = m_webHitTestResult.linkUrl();
|
||||||
return QString::fromUtf8(link.toEncoded());
|
return QString::fromUtf8(link.toEncoded());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the url of image on which the context menu is requested.
|
|
||||||
* @return String representing the image url
|
|
||||||
*/
|
|
||||||
QString QmlWebHitTestResult::imageUrl() const
|
QString QmlWebHitTestResult::imageUrl() const
|
||||||
{
|
{
|
||||||
const QUrl image = m_webHitTestResult.imageUrl();
|
const QUrl image = m_webHitTestResult.imageUrl();
|
||||||
return QString::fromUtf8(image.toEncoded());
|
return QString::fromUtf8(image.toEncoded());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the url of media on which the context menu is requested.
|
|
||||||
* @return String representing the media url
|
|
||||||
*/
|
|
||||||
QString QmlWebHitTestResult::mediaUrl() const
|
QString QmlWebHitTestResult::mediaUrl() const
|
||||||
{
|
{
|
||||||
const QUrl media = m_webHitTestResult.mediaUrl();
|
const QUrl media = m_webHitTestResult.mediaUrl();
|
||||||
return QString::fromUtf8(media.toEncoded());
|
return QString::fromUtf8(media.toEncoded());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the position at which the context menu is requested.
|
|
||||||
* @return QPoint representing the position
|
|
||||||
*/
|
|
||||||
QPoint QmlWebHitTestResult::pos() const
|
QPoint QmlWebHitTestResult::pos() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.pos();
|
return m_webHitTestResult.pos();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the viewport position at which the context menu is requested.
|
|
||||||
* @return QPoint representing the viewport position
|
|
||||||
*/
|
|
||||||
QPointF QmlWebHitTestResult::viewportPos() const
|
QPointF QmlWebHitTestResult::viewportPos() const
|
||||||
{
|
{
|
||||||
return m_webHitTestResult.viewportPos();
|
return m_webHitTestResult.viewportPos();
|
||||||
|
@ -26,23 +26,79 @@
|
|||||||
class QmlWebHitTestResult : public QObject
|
class QmlWebHitTestResult : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
/**
|
||||||
|
* @brief Gets the tagName of the element on which the context menu is requested.
|
||||||
|
*/
|
||||||
Q_PROPERTY(QString tagName READ tagName CONSTANT)
|
Q_PROPERTY(QString tagName READ tagName CONSTANT)
|
||||||
|
/**
|
||||||
|
* @brief Gets the base url on which the context menu is requested.
|
||||||
|
*/
|
||||||
Q_PROPERTY(QString baseUrl READ baseUrl CONSTANT)
|
Q_PROPERTY(QString baseUrl READ baseUrl CONSTANT)
|
||||||
|
/**
|
||||||
|
* @brief Gets the link title on which the context menu is requested.
|
||||||
|
*/
|
||||||
Q_PROPERTY(QString linkTitle READ linkTitle CONSTANT)
|
Q_PROPERTY(QString linkTitle READ linkTitle CONSTANT)
|
||||||
|
/**
|
||||||
|
* @brief Gets the link url on which the context menu is requested.
|
||||||
|
*/
|
||||||
Q_PROPERTY(QString linkUrl READ linkUrl CONSTANT)
|
Q_PROPERTY(QString linkUrl READ linkUrl CONSTANT)
|
||||||
|
/**
|
||||||
|
* @brief Gets the url of image on which the context menu is requested.
|
||||||
|
*/
|
||||||
Q_PROPERTY(QString imageUrl READ imageUrl CONSTANT)
|
Q_PROPERTY(QString imageUrl READ imageUrl CONSTANT)
|
||||||
|
/**
|
||||||
|
* @brief Gets the url of media on which the context menu is requested.
|
||||||
|
*/
|
||||||
Q_PROPERTY(QString mediaUrl READ mediaUrl CONSTANT)
|
Q_PROPERTY(QString mediaUrl READ mediaUrl CONSTANT)
|
||||||
|
/**
|
||||||
|
* @brief Gets the position at which the context menu is requested.
|
||||||
|
*/
|
||||||
Q_PROPERTY(QPoint pos READ pos CONSTANT)
|
Q_PROPERTY(QPoint pos READ pos CONSTANT)
|
||||||
|
/**
|
||||||
|
* @brief Gets the viewport position at which the context menu is requested.
|
||||||
|
*/
|
||||||
Q_PROPERTY(QPointF viewportPos READ viewportPos CONSTANT)
|
Q_PROPERTY(QPointF viewportPos READ viewportPos CONSTANT)
|
||||||
public:
|
public:
|
||||||
explicit QmlWebHitTestResult(const WebHitTestResult &webHitTestResult, QObject *parent = nullptr);
|
explicit QmlWebHitTestResult(const WebHitTestResult &webHitTestResult, QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Checks if the context menu is requested on image.
|
||||||
|
* @return true if image, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool isImage() const;
|
Q_INVOKABLE bool isImage() const;
|
||||||
|
/**
|
||||||
|
* @brief Checks if the context menu is requested on editable content.
|
||||||
|
* @return true if the content is editable, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool isContentEditable() const;
|
Q_INVOKABLE bool isContentEditable() const;
|
||||||
|
/**
|
||||||
|
* @brief Checks if the context menu is requested on the selected content.
|
||||||
|
* @return true if content is selected, else false.
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool isContentSelected() const;
|
Q_INVOKABLE bool isContentSelected() const;
|
||||||
|
/**
|
||||||
|
* @brief Checks if the context menu is requested on null element.
|
||||||
|
* @return true if the element is null, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool isNull() const;
|
Q_INVOKABLE bool isNull() const;
|
||||||
|
/**
|
||||||
|
* @brief Checks if the context menu is requested on a link.
|
||||||
|
* @return true if the element is link, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool isLink() const;
|
Q_INVOKABLE bool isLink() const;
|
||||||
|
/**
|
||||||
|
* @brief Checks if the context menu is requested on a media element.
|
||||||
|
* @return true if the element is media, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool isMedia() const;
|
Q_INVOKABLE bool isMedia() const;
|
||||||
|
/**
|
||||||
|
* @brief Checks if the context menu requested on media element is paused.
|
||||||
|
* @return true if media is paused, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool mediaPaused() const;
|
Q_INVOKABLE bool mediaPaused() const;
|
||||||
|
/**
|
||||||
|
* @brief Checks if the context menu requested on media element is muted.
|
||||||
|
* @return true if media is muted, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool mediaMuted() const;
|
Q_INVOKABLE bool mediaMuted() const;
|
||||||
QString tagName() const;
|
QString tagName() const;
|
||||||
QString baseUrl() const;
|
QString baseUrl() const;
|
||||||
|
@ -26,34 +26,12 @@ QmlNotifications::QmlNotifications(QObject *parent)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Create and display a notification
|
|
||||||
* @param JavaScript object containing
|
|
||||||
* - icon:
|
|
||||||
* String representing the icon file url. The icon path will be
|
|
||||||
* search in the following order
|
|
||||||
* - Falkon resource: for the icons starting with ":", they are searched in
|
|
||||||
* falkon resource file
|
|
||||||
* - Files in plugin directory: All other paths will be resolved relative to
|
|
||||||
* the plugin directory. If the icon path is outside the
|
|
||||||
* plugin directory, then it will be resolved as empty path.
|
|
||||||
* - heading:
|
|
||||||
* String representing the heading of the notification
|
|
||||||
* - message:
|
|
||||||
* String representing the message of the notification
|
|
||||||
*/
|
|
||||||
void QmlNotifications::create(const QVariantMap &map)
|
void QmlNotifications::create(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
const QString iconUrl = map.value(QSL("icon")).toString();
|
const QString iconUrl = map.value(QSL("icon")).toString();
|
||||||
QPixmap icon;
|
QmlFileUtils fileUtils(m_pluginPath);
|
||||||
if (iconUrl.startsWith(QSL(":"))) {
|
const QString iconPath = fileUtils.resolve(iconUrl);
|
||||||
// Icon is loaded from falkon resource
|
QPixmap icon = QPixmap(iconPath);
|
||||||
icon = QPixmap(iconUrl);
|
|
||||||
} else {
|
|
||||||
QmlFileUtils fileUtils(m_pluginPath);
|
|
||||||
const QString iconPath = fileUtils.resolve(iconUrl);
|
|
||||||
icon = QPixmap(iconPath);
|
|
||||||
}
|
|
||||||
const QString heading = map.value(QSL("heading")).toString();
|
const QString heading = map.value(QSL("heading")).toString();
|
||||||
const QString message = map.value(QSL("message")).toString();
|
const QString message = map.value(QSL("message")).toString();
|
||||||
mApp->desktopNotifications()->showNotification(icon, heading, message);
|
mApp->desktopNotifications()->showNotification(icon, heading, message);
|
||||||
|
@ -27,6 +27,22 @@ class QmlNotifications : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QmlNotifications(QObject *parent = nullptr);
|
explicit QmlNotifications(QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Create and display a notification
|
||||||
|
* @param JavaScript object containing
|
||||||
|
* - icon:
|
||||||
|
* String representing the icon file url. The icon path will be
|
||||||
|
* search in the following order
|
||||||
|
* - Falkon resource: for the icons starting with ":", they are searched in
|
||||||
|
* falkon resource file
|
||||||
|
* - Files in plugin directory: All other paths will be resolved relative to
|
||||||
|
* the plugin directory. If the icon path is outside the
|
||||||
|
* plugin directory, then it will be resolved as empty path.
|
||||||
|
* - heading:
|
||||||
|
* String representing the heading of the notification
|
||||||
|
* - message:
|
||||||
|
* String representing the message of the notification
|
||||||
|
*/
|
||||||
Q_INVOKABLE void create(const QVariantMap &map);
|
Q_INVOKABLE void create(const QVariantMap &map);
|
||||||
void setPluginPath(const QString &path);
|
void setPluginPath(const QString &path);
|
||||||
private:
|
private:
|
||||||
|
@ -26,13 +26,11 @@ QmlSettings::QmlSettings(QObject *parent)
|
|||||||
m_settingsPath = DataPaths::currentProfilePath() + QL1S("/extensions");
|
m_settingsPath = DataPaths::currentProfilePath() + QL1S("/extensions");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
QmlSettings::~QmlSettings()
|
||||||
* @brief Sets the value for a given key.
|
{
|
||||||
* @param A JavaScript object containing
|
m_settings->deleteLater();
|
||||||
* - key: QString representing the key
|
}
|
||||||
* - value: QVariant representing the value for the key
|
|
||||||
* @return true if value is set, else false
|
|
||||||
*/
|
|
||||||
bool QmlSettings::setValue(const QVariantMap &map)
|
bool QmlSettings::setValue(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!m_settings) {
|
if (!m_settings) {
|
||||||
@ -49,13 +47,6 @@ bool QmlSettings::setValue(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the value for a given key.
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - key: QString representing the key
|
|
||||||
* - defaultValue: QVariant representing the default value for the key
|
|
||||||
* @return QVariant representing value
|
|
||||||
*/
|
|
||||||
QVariant QmlSettings::value(const QVariantMap &map)
|
QVariant QmlSettings::value(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!m_settings) {
|
if (!m_settings) {
|
||||||
@ -72,11 +63,6 @@ QVariant QmlSettings::value(const QVariantMap &map)
|
|||||||
return m_settings->value(key, defaultValue);
|
return m_settings->value(key, defaultValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if a given key exists.
|
|
||||||
* @param QString representing the key
|
|
||||||
* @return true if key exists, else false
|
|
||||||
*/
|
|
||||||
bool QmlSettings::contains(const QString &key)
|
bool QmlSettings::contains(const QString &key)
|
||||||
{
|
{
|
||||||
if (!m_settings) {
|
if (!m_settings) {
|
||||||
@ -86,11 +72,6 @@ bool QmlSettings::contains(const QString &key)
|
|||||||
return m_settings->contains(key);
|
return m_settings->contains(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Removes the given key-value from the settings.
|
|
||||||
* @param QString representing the key
|
|
||||||
* @return true if key-value pair is removed, else false
|
|
||||||
*/
|
|
||||||
bool QmlSettings::remove(const QString &key)
|
bool QmlSettings::remove(const QString &key)
|
||||||
{
|
{
|
||||||
if (!m_settings) {
|
if (!m_settings) {
|
||||||
@ -101,10 +82,6 @@ bool QmlSettings::remove(const QString &key)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief syncs the settings
|
|
||||||
* @return true if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlSettings::sync()
|
bool QmlSettings::sync()
|
||||||
{
|
{
|
||||||
if (!m_settings) {
|
if (!m_settings) {
|
||||||
|
@ -35,10 +35,39 @@ class QmlSettings : public QObject
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit QmlSettings(QObject *parent = nullptr);
|
explicit QmlSettings(QObject *parent = nullptr);
|
||||||
|
~QmlSettings();
|
||||||
|
/**
|
||||||
|
* @brief Sets the value for a given key.
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - key: QString representing the key
|
||||||
|
* - value: QVariant representing the value for the key
|
||||||
|
* @return true if value is set, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool setValue(const QVariantMap &map);
|
Q_INVOKABLE bool setValue(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Gets the value for a given key.
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - key: QString representing the key
|
||||||
|
* - defaultValue: QVariant representing the default value for the key
|
||||||
|
* @return QVariant representing value
|
||||||
|
*/
|
||||||
Q_INVOKABLE QVariant value(const QVariantMap &map);
|
Q_INVOKABLE QVariant value(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Checks if a given key exists.
|
||||||
|
* @param QString representing the key
|
||||||
|
* @return true if key exists, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool contains(const QString &key);
|
Q_INVOKABLE bool contains(const QString &key);
|
||||||
|
/**
|
||||||
|
* @brief Removes the given key-value from the settings.
|
||||||
|
* @param QString representing the key
|
||||||
|
* @return true if key-value pair is removed, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool remove(const QString &key);
|
Q_INVOKABLE bool remove(const QString &key);
|
||||||
|
/**
|
||||||
|
* @brief syncs the settings
|
||||||
|
* @return true if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool sync();
|
Q_INVOKABLE bool sync();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -135,9 +135,6 @@ QAction *QmlSideBarHelper::createMenuAction()
|
|||||||
action->setShortcut(QKeySequence(m_shortcut));
|
action->setShortcut(QKeySequence(m_shortcut));
|
||||||
if (QIcon::hasThemeIcon(m_iconUrl)) {
|
if (QIcon::hasThemeIcon(m_iconUrl)) {
|
||||||
action->setIcon(QIcon::fromTheme(m_iconUrl));
|
action->setIcon(QIcon::fromTheme(m_iconUrl));
|
||||||
} else if (m_iconUrl.startsWith(QSL(":"))) {
|
|
||||||
// Icon is loaded from falkon resource
|
|
||||||
action->setIcon(QIcon(m_iconUrl));
|
|
||||||
} else {
|
} else {
|
||||||
const QString pluginPath = m_item->creationContext()->contextProperty("__path__").toString();
|
const QString pluginPath = m_item->creationContext()->contextProperty("__path__").toString();
|
||||||
QmlFileUtils fileUtils(pluginPath);
|
QmlFileUtils fileUtils(pluginPath);
|
||||||
|
@ -38,9 +38,6 @@ QmlTab::QmlTab(WebTab *webTab, QObject *parent)
|
|||||||
createConnections();
|
createConnections();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Detaches the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::detach()
|
void QmlTab::detach()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -50,10 +47,6 @@ void QmlTab::detach()
|
|||||||
m_webTab->detach();
|
m_webTab->detach();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set the zoom level of the tab
|
|
||||||
* @param Integer representing the zoom level
|
|
||||||
*/
|
|
||||||
void QmlTab::setZoomLevel(int zoomLevel)
|
void QmlTab::setZoomLevel(int zoomLevel)
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -63,9 +56,6 @@ void QmlTab::setZoomLevel(int zoomLevel)
|
|||||||
m_webTab->setZoomLevel(zoomLevel);
|
m_webTab->setZoomLevel(zoomLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Stops webview associated with the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::stop()
|
void QmlTab::stop()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -75,9 +65,6 @@ void QmlTab::stop()
|
|||||||
m_webTab->stop();
|
m_webTab->stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Reloads webview associated with the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::reload()
|
void QmlTab::reload()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -87,9 +74,6 @@ void QmlTab::reload()
|
|||||||
m_webTab->reload();
|
m_webTab->reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Unloads the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::unload()
|
void QmlTab::unload()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -99,10 +83,6 @@ void QmlTab::unload()
|
|||||||
m_webTab->unload();
|
m_webTab->unload();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Loads webview associated with the tab
|
|
||||||
* @param String representing the url to load
|
|
||||||
*/
|
|
||||||
void QmlTab::load(const QString &url)
|
void QmlTab::load(const QString &url)
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -114,9 +94,6 @@ void QmlTab::load(const QString &url)
|
|||||||
m_webTab->load(req);
|
m_webTab->load(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Decreases the zoom level of the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::zoomIn()
|
void QmlTab::zoomIn()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -126,9 +103,6 @@ void QmlTab::zoomIn()
|
|||||||
m_webTab->webView()->zoomIn();
|
m_webTab->webView()->zoomIn();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Increases the zoom level of the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::zoomOut()
|
void QmlTab::zoomOut()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -138,9 +112,6 @@ void QmlTab::zoomOut()
|
|||||||
m_webTab->webView()->zoomOut();
|
m_webTab->webView()->zoomOut();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Resets the tab zoom level
|
|
||||||
*/
|
|
||||||
void QmlTab::zoomReset()
|
void QmlTab::zoomReset()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -150,9 +121,6 @@ void QmlTab::zoomReset()
|
|||||||
m_webTab->webView()->zoomReset();
|
m_webTab->webView()->zoomReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Performs edit undo on the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::undo()
|
void QmlTab::undo()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -162,9 +130,6 @@ void QmlTab::undo()
|
|||||||
m_webTab->webView()->editUndo();
|
m_webTab->webView()->editUndo();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Performs edit redo on the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::redo()
|
void QmlTab::redo()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -174,9 +139,6 @@ void QmlTab::redo()
|
|||||||
m_webTab->webView()->editRedo();
|
m_webTab->webView()->editRedo();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Performs edit select-all on the tab
|
|
||||||
*/
|
|
||||||
void QmlTab::selectAll()
|
void QmlTab::selectAll()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -186,9 +148,6 @@ void QmlTab::selectAll()
|
|||||||
m_webTab->webView()->editSelectAll();
|
m_webTab->webView()->editSelectAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Reloads the tab by bypassing the cache
|
|
||||||
*/
|
|
||||||
void QmlTab::reloadBypassCache()
|
void QmlTab::reloadBypassCache()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -198,9 +157,6 @@ void QmlTab::reloadBypassCache()
|
|||||||
m_webTab->webView()->reloadBypassCache();
|
m_webTab->webView()->reloadBypassCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Loads the previous page
|
|
||||||
*/
|
|
||||||
void QmlTab::back()
|
void QmlTab::back()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -210,9 +166,6 @@ void QmlTab::back()
|
|||||||
m_webTab->webView()->back();
|
m_webTab->webView()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Loads the next page
|
|
||||||
*/
|
|
||||||
void QmlTab::forward()
|
void QmlTab::forward()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -222,9 +175,6 @@ void QmlTab::forward()
|
|||||||
m_webTab->webView()->forward();
|
m_webTab->webView()->forward();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Prints the page
|
|
||||||
*/
|
|
||||||
void QmlTab::printPage()
|
void QmlTab::printPage()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -234,9 +184,6 @@ void QmlTab::printPage()
|
|||||||
m_webTab->webView()->printPage();
|
m_webTab->webView()->printPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Shows the page source
|
|
||||||
*/
|
|
||||||
void QmlTab::showSource()
|
void QmlTab::showSource()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -246,9 +193,6 @@ void QmlTab::showSource()
|
|||||||
m_webTab->webView()->showSource();
|
m_webTab->webView()->showSource();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sends page by mail
|
|
||||||
*/
|
|
||||||
void QmlTab::sendPageByMail()
|
void QmlTab::sendPageByMail()
|
||||||
{
|
{
|
||||||
if (!m_webTab) {
|
if (!m_webTab) {
|
||||||
@ -258,11 +202,6 @@ void QmlTab::sendPageByMail()
|
|||||||
m_webTab->webView()->sendPageByMail();
|
m_webTab->webView()->sendPageByMail();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief execute JavaScript function in a page
|
|
||||||
* @param value, representing JavaScript function
|
|
||||||
* @return QVariant, the return value of executed javascript
|
|
||||||
*/
|
|
||||||
QVariant QmlTab::execJavaScript(const QJSValue &value)
|
QVariant QmlTab::execJavaScript(const QJSValue &value)
|
||||||
{
|
{
|
||||||
if (!m_webPage && !m_webTab) {
|
if (!m_webPage && !m_webTab) {
|
||||||
@ -275,11 +214,6 @@ QVariant QmlTab::execJavaScript(const QJSValue &value)
|
|||||||
return webPage->execJavaScript(value.toString());
|
return webPage->execJavaScript(value.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets result of web hit test at a given point
|
|
||||||
* @param point
|
|
||||||
* @return result of web hit test
|
|
||||||
*/
|
|
||||||
QmlWebHitTestResult *QmlTab::hitTestContent(const QPoint &point)
|
QmlWebHitTestResult *QmlTab::hitTestContent(const QPoint &point)
|
||||||
{
|
{
|
||||||
if (!m_webPage && !m_webTab) {
|
if (!m_webPage && !m_webTab) {
|
||||||
@ -431,6 +365,9 @@ bool QmlTab::canGoForward() const
|
|||||||
|
|
||||||
void QmlTab::setWebPage(WebPage *webPage)
|
void QmlTab::setWebPage(WebPage *webPage)
|
||||||
{
|
{
|
||||||
|
if (m_webPage) {
|
||||||
|
removeConnections();
|
||||||
|
}
|
||||||
m_webPage = webPage;
|
m_webPage = webPage;
|
||||||
TabbedWebView *tabbedWebView = qobject_cast<TabbedWebView*>(m_webPage->view());
|
TabbedWebView *tabbedWebView = qobject_cast<TabbedWebView*>(m_webPage->view());
|
||||||
m_webTab = tabbedWebView->webTab();
|
m_webTab = tabbedWebView->webTab();
|
||||||
@ -441,29 +378,37 @@ void QmlTab::setWebPage(WebPage *webPage)
|
|||||||
|
|
||||||
void QmlTab::createConnections()
|
void QmlTab::createConnections()
|
||||||
{
|
{
|
||||||
connect(m_webTab, &WebTab::titleChanged, this, [this](const QString &title){
|
Q_ASSERT(m_lambdaConnections.length() == 0);
|
||||||
|
|
||||||
|
auto titleChangedConnection = connect(m_webTab, &WebTab::titleChanged, this, [this](const QString &title){
|
||||||
emit titleChanged(title);
|
emit titleChanged(title);
|
||||||
});
|
});
|
||||||
|
m_lambdaConnections.append(titleChangedConnection);
|
||||||
|
|
||||||
connect(m_webTab, &WebTab::pinnedChanged, this, [this](bool pinned){
|
auto pinnedChangedConnection = connect(m_webTab, &WebTab::pinnedChanged, this, [this](bool pinned){
|
||||||
emit pinnedChanged(pinned);
|
emit pinnedChanged(pinned);
|
||||||
});
|
});
|
||||||
|
m_lambdaConnections.append(pinnedChangedConnection);
|
||||||
|
|
||||||
connect(m_webTab, &WebTab::loadingChanged, this, [this](bool loading){
|
auto loadingChangedConnection = connect(m_webTab, &WebTab::loadingChanged, this, [this](bool loading){
|
||||||
emit loadingChanged(loading);
|
emit loadingChanged(loading);
|
||||||
});
|
});
|
||||||
|
m_lambdaConnections.append(loadingChangedConnection);
|
||||||
|
|
||||||
connect(m_webTab, &WebTab::mutedChanged, this, [this](bool muted){
|
auto mutedChangedConnection = connect(m_webTab, &WebTab::mutedChanged, this, [this](bool muted){
|
||||||
emit mutedChanged(muted);
|
emit mutedChanged(muted);
|
||||||
});
|
});
|
||||||
|
m_lambdaConnections.append(mutedChangedConnection);
|
||||||
|
|
||||||
connect(m_webTab, &WebTab::restoredChanged, this, [this](bool restored){
|
auto restoredChangedConnection = connect(m_webTab, &WebTab::restoredChanged, this, [this](bool restored){
|
||||||
emit restoredChanged(restored);
|
emit restoredChanged(restored);
|
||||||
});
|
});
|
||||||
|
m_lambdaConnections.append(restoredChangedConnection);
|
||||||
|
|
||||||
connect(m_webTab, &WebTab::playingChanged, this, [this](bool playing){
|
auto playingChangedConnection = connect(m_webTab, &WebTab::playingChanged, this, [this](bool playing){
|
||||||
emit playingChanged(playing);
|
emit playingChanged(playing);
|
||||||
});
|
});
|
||||||
|
m_lambdaConnections.append(playingChangedConnection);
|
||||||
|
|
||||||
connect(m_webTab->webView(), &TabbedWebView::zoomLevelChanged, this, &QmlTab::zoomLevelChanged);
|
connect(m_webTab->webView(), &TabbedWebView::zoomLevelChanged, this, &QmlTab::zoomLevelChanged);
|
||||||
connect(m_webTab->webView(), &TabbedWebView::backgroundActivityChanged, this, &QmlTab::backgroundActivityChanged);
|
connect(m_webTab->webView(), &TabbedWebView::backgroundActivityChanged, this, &QmlTab::backgroundActivityChanged);
|
||||||
@ -473,6 +418,21 @@ void QmlTab::createConnections()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QmlTab::removeConnections()
|
||||||
|
{
|
||||||
|
for (auto connection : qAsConst(m_lambdaConnections)) {
|
||||||
|
disconnect(connection);
|
||||||
|
}
|
||||||
|
m_lambdaConnections.clear();
|
||||||
|
|
||||||
|
disconnect(m_webTab->webView(), &TabbedWebView::zoomLevelChanged, this, &QmlTab::zoomLevelChanged);
|
||||||
|
disconnect(m_webTab->webView(), &TabbedWebView::backgroundActivityChanged, this, &QmlTab::backgroundActivityChanged);
|
||||||
|
|
||||||
|
if (m_webPage) {
|
||||||
|
disconnect(m_webPage, &WebPage::navigationRequestAccepted, this, &QmlTab::navigationRequestAccepted);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QmlTabData::QmlTabData()
|
QmlTabData::QmlTabData()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -18,11 +18,12 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QJSValue>
|
||||||
|
#include <QWebEnginePage>
|
||||||
|
|
||||||
#include "webtab.h"
|
#include "webtab.h"
|
||||||
#include "../windows/qmlwindow.h"
|
#include "../windows/qmlwindow.h"
|
||||||
#include <QJSValue>
|
|
||||||
#include "qml/api/menus/qmlwebhittestresult.h"
|
#include "qml/api/menus/qmlwebhittestresult.h"
|
||||||
#include <QWebEnginePage>
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The class exposing a browser tab to QML
|
* @brief The class exposing a browser tab to QML
|
||||||
@ -110,25 +111,91 @@ class QmlTab : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit QmlTab(WebTab *webTab = nullptr, QObject *parent = nullptr);
|
explicit QmlTab(WebTab *webTab = nullptr, QObject *parent = nullptr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Detaches the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void detach();
|
Q_INVOKABLE void detach();
|
||||||
|
/**
|
||||||
|
* @brief Set the zoom level of the tab
|
||||||
|
* @param Integer representing the zoom level
|
||||||
|
*/
|
||||||
Q_INVOKABLE void setZoomLevel(int zoomLevel);
|
Q_INVOKABLE void setZoomLevel(int zoomLevel);
|
||||||
|
/**
|
||||||
|
* @brief Stops webview associated with the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void stop();
|
Q_INVOKABLE void stop();
|
||||||
|
/**
|
||||||
|
* @brief Reloads webview associated with the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void reload();
|
Q_INVOKABLE void reload();
|
||||||
|
/**
|
||||||
|
* @brief Unloads the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void unload();
|
Q_INVOKABLE void unload();
|
||||||
|
/**
|
||||||
|
* @brief Loads webview associated with the tab
|
||||||
|
* @param String representing the url to load
|
||||||
|
*/
|
||||||
Q_INVOKABLE void load(const QString &url);
|
Q_INVOKABLE void load(const QString &url);
|
||||||
|
/**
|
||||||
|
* @brief Decreases the zoom level of the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void zoomIn();
|
Q_INVOKABLE void zoomIn();
|
||||||
|
/**
|
||||||
|
* @brief Increases the zoom level of the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void zoomOut();
|
Q_INVOKABLE void zoomOut();
|
||||||
|
/**
|
||||||
|
* @brief Resets the tab zoom level
|
||||||
|
*/
|
||||||
Q_INVOKABLE void zoomReset();
|
Q_INVOKABLE void zoomReset();
|
||||||
|
/**
|
||||||
|
* @brief Performs edit undo on the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void undo();
|
Q_INVOKABLE void undo();
|
||||||
|
/**
|
||||||
|
* @brief Performs edit redo on the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void redo();
|
Q_INVOKABLE void redo();
|
||||||
|
/**
|
||||||
|
* @brief Performs edit select-all on the tab
|
||||||
|
*/
|
||||||
Q_INVOKABLE void selectAll();
|
Q_INVOKABLE void selectAll();
|
||||||
|
/**
|
||||||
|
* @brief Reloads the tab by bypassing the cache
|
||||||
|
*/
|
||||||
Q_INVOKABLE void reloadBypassCache();
|
Q_INVOKABLE void reloadBypassCache();
|
||||||
|
/**
|
||||||
|
* @brief Loads the previous page
|
||||||
|
*/
|
||||||
Q_INVOKABLE void back();
|
Q_INVOKABLE void back();
|
||||||
|
/**
|
||||||
|
* @brief Loads the next page
|
||||||
|
*/
|
||||||
Q_INVOKABLE void forward();
|
Q_INVOKABLE void forward();
|
||||||
|
/**
|
||||||
|
* @brief Prints the page
|
||||||
|
*/
|
||||||
Q_INVOKABLE void printPage();
|
Q_INVOKABLE void printPage();
|
||||||
|
/**
|
||||||
|
* @brief Shows the page source
|
||||||
|
*/
|
||||||
Q_INVOKABLE void showSource();
|
Q_INVOKABLE void showSource();
|
||||||
|
/**
|
||||||
|
* @brief Sends page by mail
|
||||||
|
*/
|
||||||
Q_INVOKABLE void sendPageByMail();
|
Q_INVOKABLE void sendPageByMail();
|
||||||
|
/**
|
||||||
|
* @brief execute JavaScript function in a page
|
||||||
|
* @param value, representing JavaScript function
|
||||||
|
* @return QVariant, the return value of executed javascript
|
||||||
|
*/
|
||||||
Q_INVOKABLE QVariant execJavaScript(const QJSValue &value);
|
Q_INVOKABLE QVariant execJavaScript(const QJSValue &value);
|
||||||
|
/**
|
||||||
|
* @brief Gets result of web hit test at a given point
|
||||||
|
* @param point
|
||||||
|
* @return result of web hit test
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlWebHitTestResult *hitTestContent(const QPoint &point);
|
Q_INVOKABLE QmlWebHitTestResult *hitTestContent(const QPoint &point);
|
||||||
|
|
||||||
void setWebPage(WebPage *webPage);
|
void setWebPage(WebPage *webPage);
|
||||||
@ -193,6 +260,7 @@ Q_SIGNALS:
|
|||||||
private:
|
private:
|
||||||
WebTab *m_webTab;
|
WebTab *m_webTab;
|
||||||
WebPage *m_webPage;
|
WebPage *m_webPage;
|
||||||
|
QList<QMetaObject::Connection> m_lambdaConnections;
|
||||||
|
|
||||||
QString url() const;
|
QString url() const;
|
||||||
QString title() const;
|
QString title() const;
|
||||||
@ -211,6 +279,7 @@ private:
|
|||||||
bool canGoForward() const;
|
bool canGoForward() const;
|
||||||
|
|
||||||
void createConnections();
|
void createConnections();
|
||||||
|
void removeConnections();
|
||||||
};
|
};
|
||||||
|
|
||||||
class QmlTabData
|
class QmlTabData
|
||||||
|
@ -31,15 +31,6 @@ QmlTabs::QmlTabs(QObject *parent)
|
|||||||
connect(mApp->plugins(), &PluginProxy::mainWindowCreated, this, &QmlTabs::windowCreated);
|
connect(mApp->plugins(), &PluginProxy::mainWindowCreated, this, &QmlTabs::windowCreated);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sets the current tab in a window
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - index:
|
|
||||||
* Integer representing new current index
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::setCurrentIndex(const QVariantMap &map)
|
bool QmlTabs::setCurrentIndex(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -57,11 +48,6 @@ bool QmlTabs::setCurrentIndex(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sets the next tab as current tab
|
|
||||||
* @param Integer representing the window
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::nextTab(int windowId)
|
bool QmlTabs::nextTab(int windowId)
|
||||||
{
|
{
|
||||||
const auto window = getWindow(windowId);
|
const auto window = getWindow(windowId);
|
||||||
@ -72,11 +58,6 @@ bool QmlTabs::nextTab(int windowId)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sets the prvious tab as current tab
|
|
||||||
* @param Integer representing the window
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::previousTab(int windowId)
|
bool QmlTabs::previousTab(int windowId)
|
||||||
{
|
{
|
||||||
const auto window = getWindow(windowId);
|
const auto window = getWindow(windowId);
|
||||||
@ -87,17 +68,6 @@ bool QmlTabs::previousTab(int windowId)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Moves a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - from:
|
|
||||||
* The initial index of the tab
|
|
||||||
* - to:
|
|
||||||
* The final index of the tab
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if tab is moved, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::moveTab(const QVariantMap &map)
|
bool QmlTabs::moveTab(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("from"))) {
|
if (!map.contains(QSL("from"))) {
|
||||||
@ -120,15 +90,6 @@ bool QmlTabs::moveTab(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Pins a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - index:
|
|
||||||
* Integer representing the tab to be pinned
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::pinTab(const QVariantMap &map)
|
bool QmlTabs::pinTab(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -153,15 +114,6 @@ bool QmlTabs::pinTab(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Un-pins a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - index:
|
|
||||||
* Integer representing the tab to be unpinned
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::unpinTab(const QVariantMap &map)
|
bool QmlTabs::unpinTab(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -186,15 +138,6 @@ bool QmlTabs::unpinTab(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Detaches a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - index:
|
|
||||||
* Integer representing the tab to be detached
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if tab is detached, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::detachTab(const QVariantMap &map)
|
bool QmlTabs::detachTab(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -212,15 +155,6 @@ bool QmlTabs::detachTab(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Duplicates a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - index:
|
|
||||||
* Integer representing the tab to duplicate
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::duplicate(const QVariantMap &map)
|
bool QmlTabs::duplicate(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -238,15 +172,6 @@ bool QmlTabs::duplicate(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Close a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - index:
|
|
||||||
* Integer representing the tab to be closed
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::closeTab(const QVariantMap &map)
|
bool QmlTabs::closeTab(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -264,15 +189,6 @@ bool QmlTabs::closeTab(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Reloads a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - index:
|
|
||||||
* Integer representing the tab to be reloaded
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::reloadTab(const QVariantMap &map)
|
bool QmlTabs::reloadTab(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -290,15 +206,6 @@ bool QmlTabs::reloadTab(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Stops a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - index:
|
|
||||||
* Integer representing the tab to be stoped
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if success, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::stopTab(const QVariantMap &map)
|
bool QmlTabs::stopTab(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -316,15 +223,6 @@ bool QmlTabs::stopTab(const QVariantMap &map)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets a tab
|
|
||||||
* @param A JavaScript object contining
|
|
||||||
* - index:
|
|
||||||
* Integer representign the index of the tab
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return Tab of type [QmlTab](@ref QmlTab) if exists, else null
|
|
||||||
*/
|
|
||||||
QmlTab *QmlTabs::get(const QVariantMap &map) const
|
QmlTab *QmlTabs::get(const QVariantMap &map) const
|
||||||
{
|
{
|
||||||
if (!map.contains(QSL("index"))) {
|
if (!map.contains(QSL("index"))) {
|
||||||
@ -342,11 +240,6 @@ QmlTab *QmlTabs::get(const QVariantMap &map) const
|
|||||||
return tabData->get(webTab);
|
return tabData->get(webTab);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the normal tabs count in a window
|
|
||||||
* @param Integer representing the window
|
|
||||||
* @return Number of normal tabs in the window
|
|
||||||
*/
|
|
||||||
int QmlTabs::normalTabsCount(int windowId) const
|
int QmlTabs::normalTabsCount(int windowId) const
|
||||||
{
|
{
|
||||||
const auto window = getWindow(windowId);
|
const auto window = getWindow(windowId);
|
||||||
@ -356,11 +249,6 @@ int QmlTabs::normalTabsCount(int windowId) const
|
|||||||
return window->tabWidget()->normalTabsCount();
|
return window->tabWidget()->normalTabsCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the pinned tabs count in a window
|
|
||||||
* @param Integer representing the window
|
|
||||||
* @return Number of pinned tabs in the window
|
|
||||||
*/
|
|
||||||
int QmlTabs::pinnedTabsCount(int windowId) const
|
int QmlTabs::pinnedTabsCount(int windowId) const
|
||||||
{
|
{
|
||||||
const auto window = getWindow(windowId);
|
const auto window = getWindow(windowId);
|
||||||
@ -370,15 +258,6 @@ int QmlTabs::pinnedTabsCount(int windowId) const
|
|||||||
return window->tabWidget()->pinnedTabsCount();
|
return window->tabWidget()->pinnedTabsCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets all the tabs of a window
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* - withPinned:
|
|
||||||
* Bool representing if the searched tab can be pinned
|
|
||||||
* @return List of tabs, each of type [QmlTab](@ref QmlTab)
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlTabs::getAll(const QVariantMap &map) const
|
QList<QObject*> QmlTabs::getAll(const QVariantMap &map) const
|
||||||
{
|
{
|
||||||
const auto window = getWindow(map);
|
const auto window = getWindow(map);
|
||||||
@ -397,18 +276,6 @@ QList<QObject*> QmlTabs::getAll(const QVariantMap &map) const
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Searches tabs against a criteria
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - title:
|
|
||||||
* String representing the title to be searched
|
|
||||||
* - url:
|
|
||||||
* String representing the url to be searched
|
|
||||||
* - withPinned:
|
|
||||||
* Bool representing if the searched tab can be pinned
|
|
||||||
* @return List of tabs, each of type [QmlTab](@ref QmlTab), which are
|
|
||||||
* matched against the criteria
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlTabs::search(const QVariantMap &map)
|
QList<QObject*> QmlTabs::search(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
const QString title = map.value(QSL("title")).toString();
|
const QString title = map.value(QSL("title")).toString();
|
||||||
@ -426,15 +293,6 @@ QList<QObject*> QmlTabs::search(const QVariantMap &map)
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Adds a tab
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - url:
|
|
||||||
* String representing the url of the tab
|
|
||||||
* - windowId:
|
|
||||||
* The id of window containing the tab
|
|
||||||
* @return True if the tab is added, else false
|
|
||||||
*/
|
|
||||||
bool QmlTabs::addTab(const QVariantMap &map)
|
bool QmlTabs::addTab(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
const QString urlString = map.value(QSL("url")).toString();
|
const QString urlString = map.value(QSL("url")).toString();
|
||||||
|
@ -29,22 +29,164 @@ class QmlTabs : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QmlTabs(QObject *parent = nullptr);
|
explicit QmlTabs(QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Sets the current tab in a window
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - index:
|
||||||
|
* Integer representing new current index
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool setCurrentIndex(const QVariantMap &map);
|
Q_INVOKABLE bool setCurrentIndex(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Sets the next tab as current tab
|
||||||
|
* @param Integer representing the window
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool nextTab(int windowId = -1);
|
Q_INVOKABLE bool nextTab(int windowId = -1);
|
||||||
|
/**
|
||||||
|
* @brief Sets the prvious tab as current tab
|
||||||
|
* @param Integer representing the window
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool previousTab(int windowId = -1);
|
Q_INVOKABLE bool previousTab(int windowId = -1);
|
||||||
|
/**
|
||||||
|
* @brief Moves a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - from:
|
||||||
|
* The initial index of the tab
|
||||||
|
* - to:
|
||||||
|
* The final index of the tab
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if tab is moved, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool moveTab(const QVariantMap &map);
|
Q_INVOKABLE bool moveTab(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Pins a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - index:
|
||||||
|
* Integer representing the tab to be pinned
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool pinTab(const QVariantMap &map);
|
Q_INVOKABLE bool pinTab(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Un-pins a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - index:
|
||||||
|
* Integer representing the tab to be unpinned
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool unpinTab(const QVariantMap &map);
|
Q_INVOKABLE bool unpinTab(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Detaches a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - index:
|
||||||
|
* Integer representing the tab to be detached
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if tab is detached, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool detachTab(const QVariantMap &map);
|
Q_INVOKABLE bool detachTab(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Duplicates a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - index:
|
||||||
|
* Integer representing the tab to duplicate
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool duplicate(const QVariantMap &map);
|
Q_INVOKABLE bool duplicate(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Close a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - index:
|
||||||
|
* Integer representing the tab to be closed
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool closeTab(const QVariantMap &map);
|
Q_INVOKABLE bool closeTab(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Reloads a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - index:
|
||||||
|
* Integer representing the tab to be reloaded
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool reloadTab(const QVariantMap &map);
|
Q_INVOKABLE bool reloadTab(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Stops a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - index:
|
||||||
|
* Integer representing the tab to be stoped
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if success, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool stopTab(const QVariantMap &map);
|
Q_INVOKABLE bool stopTab(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Gets a tab
|
||||||
|
* @param A JavaScript object contining
|
||||||
|
* - index:
|
||||||
|
* Integer representign the index of the tab
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return Tab of type [QmlTab](@ref QmlTab) if exists, else null
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlTab *get(const QVariantMap &map) const;
|
Q_INVOKABLE QmlTab *get(const QVariantMap &map) const;
|
||||||
|
/**
|
||||||
|
* @brief Get the normal tabs count in a window
|
||||||
|
* @param Integer representing the window
|
||||||
|
* @return Number of normal tabs in the window
|
||||||
|
*/
|
||||||
Q_INVOKABLE int normalTabsCount(int windowId = -1) const;
|
Q_INVOKABLE int normalTabsCount(int windowId = -1) const;
|
||||||
|
/**
|
||||||
|
* @brief Get the pinned tabs count in a window
|
||||||
|
* @param Integer representing the window
|
||||||
|
* @return Number of pinned tabs in the window
|
||||||
|
*/
|
||||||
Q_INVOKABLE int pinnedTabsCount(int windowId = -1) const;
|
Q_INVOKABLE int pinnedTabsCount(int windowId = -1) const;
|
||||||
|
/**
|
||||||
|
* @brief Gets all the tabs of a window
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* - withPinned:
|
||||||
|
* Bool representing if the searched tab can be pinned
|
||||||
|
* @return List of tabs, each of type [QmlTab](@ref QmlTab)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject*> getAll(const QVariantMap &map = QVariantMap()) const;
|
Q_INVOKABLE QList<QObject*> getAll(const QVariantMap &map = QVariantMap()) const;
|
||||||
|
/**
|
||||||
|
* @brief Searches tabs against a criteria
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - title:
|
||||||
|
* String representing the title to be searched
|
||||||
|
* - url:
|
||||||
|
* String representing the url to be searched
|
||||||
|
* - withPinned:
|
||||||
|
* Bool representing if the searched tab can be pinned
|
||||||
|
* @return List of tabs, each of type [QmlTab](@ref QmlTab), which are
|
||||||
|
* matched against the criteria
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject*> search(const QVariantMap &map);
|
Q_INVOKABLE QList<QObject*> search(const QVariantMap &map);
|
||||||
|
/**
|
||||||
|
* @brief Adds a tab
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - url:
|
||||||
|
* String representing the url of the tab
|
||||||
|
* - windowId:
|
||||||
|
* The id of window containing the tab
|
||||||
|
* @return True if the tab is added, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool addTab(const QVariantMap &map);
|
Q_INVOKABLE bool addTab(const QVariantMap &map);
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
/**
|
/**
|
||||||
|
@ -27,15 +27,8 @@ QmlTopSites::QmlTopSites(QObject *parent)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get the topsites. These refer to the sites which
|
|
||||||
* are displayed in the speed-dial (New tab page)
|
|
||||||
* @return List of MostVisitedUrl objects of type [QmlMostVisitedUrl](@ref QmlMostVisitedUrl)
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlTopSites::get() const
|
QList<QObject*> QmlTopSites::get() const
|
||||||
{
|
{
|
||||||
// FIXME: this slows the startup of browser
|
|
||||||
|
|
||||||
QList<SpeedDial::Page> pages = mApp->plugins()->speedDial()->pages();
|
QList<SpeedDial::Page> pages = mApp->plugins()->speedDial()->pages();
|
||||||
QList<QObject*> list;
|
QList<QObject*> list;
|
||||||
foreach(SpeedDial::Page page, pages) {
|
foreach(SpeedDial::Page page, pages) {
|
||||||
|
@ -28,5 +28,10 @@ class QmlTopSites : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QmlTopSites(QObject *parent = nullptr);
|
explicit QmlTopSites(QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Get the topsites. These refer to the sites which
|
||||||
|
* are displayed in the speed-dial (New tab page)
|
||||||
|
* @return List of MostVisitedUrl objects of type [QmlMostVisitedUrl](@ref QmlMostVisitedUrl)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject*> get() const;
|
Q_INVOKABLE QList<QObject*> get() const;
|
||||||
};
|
};
|
||||||
|
@ -59,11 +59,6 @@ QList<QObject *> QmlUserScripts::toQObjectList(QList<QWebEngineScript> list) con
|
|||||||
return userScriptList;
|
return userScriptList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Checks if the script is in collection
|
|
||||||
* @param object of type QmlUserScript
|
|
||||||
* @return true if the the script in in collection, else false
|
|
||||||
*/
|
|
||||||
bool QmlUserScripts::contains(QObject *object) const
|
bool QmlUserScripts::contains(QObject *object) const
|
||||||
{
|
{
|
||||||
QmlUserScript *userScript = qobject_cast<QmlUserScript*>(object);
|
QmlUserScript *userScript = qobject_cast<QmlUserScript*>(object);
|
||||||
@ -74,11 +69,6 @@ bool QmlUserScripts::contains(QObject *object) const
|
|||||||
return mApp->webProfile()->scripts()->contains(webEngineScript);
|
return mApp->webProfile()->scripts()->contains(webEngineScript);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Finds a script in collection by name
|
|
||||||
* @param name of the script
|
|
||||||
* @return object of type QmlUserScript, representing the script of given name
|
|
||||||
*/
|
|
||||||
QObject *QmlUserScripts::findScript(const QString &name) const
|
QObject *QmlUserScripts::findScript(const QString &name) const
|
||||||
{
|
{
|
||||||
QWebEngineScript webEngineScript = mApp->webProfile()->scripts()->findScript(name);
|
QWebEngineScript webEngineScript = mApp->webProfile()->scripts()->findScript(name);
|
||||||
@ -87,20 +77,12 @@ QObject *QmlUserScripts::findScript(const QString &name) const
|
|||||||
return qmlUserScript;
|
return qmlUserScript;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Finds all scripts in collection by a given name
|
|
||||||
* @return list of objects, each of type QmlUserScript, representing the script of given name
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlUserScripts::findScripts(const QString &name) const
|
QList<QObject*> QmlUserScripts::findScripts(const QString &name) const
|
||||||
{
|
{
|
||||||
QList<QWebEngineScript> list = mApp->webProfile()->scripts()->findScripts(name);
|
QList<QWebEngineScript> list = mApp->webProfile()->scripts()->findScripts(name);
|
||||||
return toQObjectList(list);
|
return toQObjectList(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Inserts a script into collection
|
|
||||||
* @param object of type QmlUserScript
|
|
||||||
*/
|
|
||||||
void QmlUserScripts::insert(QObject *object)
|
void QmlUserScripts::insert(QObject *object)
|
||||||
{
|
{
|
||||||
QmlUserScript *userScript = qobject_cast<QmlUserScript*>(object);
|
QmlUserScript *userScript = qobject_cast<QmlUserScript*>(object);
|
||||||
@ -112,10 +94,6 @@ void QmlUserScripts::insert(QObject *object)
|
|||||||
m_webEngineScripts.append(webEngineScript);
|
m_webEngineScripts.append(webEngineScript);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Inserts a list of scripts into collection
|
|
||||||
* @param list of objects, each of type QmlUserScript
|
|
||||||
*/
|
|
||||||
void QmlUserScripts::insert(const QList<QObject *> &list)
|
void QmlUserScripts::insert(const QList<QObject *> &list)
|
||||||
{
|
{
|
||||||
for (QObject *object : list) {
|
for (QObject *object : list) {
|
||||||
@ -129,10 +107,6 @@ void QmlUserScripts::insert(const QList<QObject *> &list)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Removes a script from collection
|
|
||||||
* @param object of type QmlUserScript
|
|
||||||
*/
|
|
||||||
void QmlUserScripts::remove(QObject *object) const
|
void QmlUserScripts::remove(QObject *object) const
|
||||||
{
|
{
|
||||||
QmlUserScript *userScript = qobject_cast<QmlUserScript*>(object);
|
QmlUserScript *userScript = qobject_cast<QmlUserScript*>(object);
|
||||||
@ -143,10 +117,6 @@ void QmlUserScripts::remove(QObject *object) const
|
|||||||
mApp->webProfile()->scripts()->remove(webEngineScript);
|
mApp->webProfile()->scripts()->remove(webEngineScript);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets all the scripts of the collection
|
|
||||||
* @return list of objects, each of type QmlUserScript
|
|
||||||
*/
|
|
||||||
QList<QObject *> QmlUserScripts::toList() const
|
QList<QObject *> QmlUserScripts::toList() const
|
||||||
{
|
{
|
||||||
QList<QWebEngineScript> list = mApp->webProfile()->scripts()->toList();
|
QList<QWebEngineScript> list = mApp->webProfile()->scripts()->toList();
|
||||||
|
@ -41,12 +41,42 @@ class FALKON_EXPORT QmlUserScripts : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit QmlUserScripts(QObject *parent = nullptr);
|
explicit QmlUserScripts(QObject *parent = nullptr);
|
||||||
~QmlUserScripts();
|
~QmlUserScripts();
|
||||||
|
/**
|
||||||
|
* @brief Checks if the script is in collection
|
||||||
|
* @param object of type QmlUserScript
|
||||||
|
* @return true if the the script in in collection, else false
|
||||||
|
*/
|
||||||
Q_INVOKABLE bool contains(QObject *object) const;
|
Q_INVOKABLE bool contains(QObject *object) const;
|
||||||
|
/**
|
||||||
|
* @brief Finds a script in collection by name
|
||||||
|
* @param name of the script
|
||||||
|
* @return object of type QmlUserScript, representing the script of given name
|
||||||
|
*/
|
||||||
Q_INVOKABLE QObject *findScript(const QString &name) const;
|
Q_INVOKABLE QObject *findScript(const QString &name) const;
|
||||||
|
/**
|
||||||
|
* @brief Finds all scripts in collection by a given name
|
||||||
|
* @return list of objects, each of type QmlUserScript, representing the script of given name
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject *> findScripts(const QString &name) const;
|
Q_INVOKABLE QList<QObject *> findScripts(const QString &name) const;
|
||||||
|
/**
|
||||||
|
* @brief Inserts a script into collection
|
||||||
|
* @param object of type QmlUserScript
|
||||||
|
*/
|
||||||
Q_INVOKABLE void insert(QObject *object);
|
Q_INVOKABLE void insert(QObject *object);
|
||||||
|
/**
|
||||||
|
* @brief Inserts a list of scripts into collection
|
||||||
|
* @param list of objects, each of type QmlUserScript
|
||||||
|
*/
|
||||||
Q_INVOKABLE void insert(const QList<QObject*> &list);
|
Q_INVOKABLE void insert(const QList<QObject*> &list);
|
||||||
|
/**
|
||||||
|
* @brief Removes a script from collection
|
||||||
|
* @param object of type QmlUserScript
|
||||||
|
*/
|
||||||
Q_INVOKABLE void remove(QObject *object) const;
|
Q_INVOKABLE void remove(QObject *object) const;
|
||||||
|
/**
|
||||||
|
* @brief Gets all the scripts of the collection
|
||||||
|
* @return list of objects, each of type QmlUserScript
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject *> toList() const;
|
Q_INVOKABLE QList<QObject *> toList() const;
|
||||||
private:
|
private:
|
||||||
int count() const;
|
int count() const;
|
||||||
|
@ -35,29 +35,16 @@ QmlWindows::QmlWindows(QObject *parent)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets a browser window
|
|
||||||
* @param Integer representing the browser window
|
|
||||||
* @return Object of type [QmlWindow](@ref QmlWindow)
|
|
||||||
*/
|
|
||||||
QmlWindow *QmlWindows::get(int id) const
|
QmlWindow *QmlWindows::get(int id) const
|
||||||
{
|
{
|
||||||
return windowData->get(getBrowserWindow(id));
|
return windowData->get(getBrowserWindow(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets the current browser window
|
|
||||||
* @return Object of type [QmlWindow](@ref QmlWindow)
|
|
||||||
*/
|
|
||||||
QmlWindow *QmlWindows::getCurrent() const
|
QmlWindow *QmlWindows::getCurrent() const
|
||||||
{
|
{
|
||||||
return windowData->get(mApp->getWindow());
|
return windowData->get(mApp->getWindow());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get all the browser window
|
|
||||||
* @return List of windows of type [QmlWindow](@ref QmlWindow)
|
|
||||||
*/
|
|
||||||
QList<QObject*> QmlWindows::getAll() const
|
QList<QObject*> QmlWindows::getAll() const
|
||||||
{
|
{
|
||||||
QList<QObject*> list;
|
QList<QObject*> list;
|
||||||
@ -67,15 +54,6 @@ QList<QObject*> QmlWindows::getAll() const
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Creates a browser window
|
|
||||||
* @param A JavaScript object containing
|
|
||||||
* - url:
|
|
||||||
* The url of the first tab of the window
|
|
||||||
* - type:
|
|
||||||
* The window [type](@ref QmlWindowType)
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
QmlWindow *QmlWindows::create(const QVariantMap &map) const
|
QmlWindow *QmlWindows::create(const QVariantMap &map) const
|
||||||
{
|
{
|
||||||
const QUrl url = QUrl::fromEncoded(map.value(QSL("url")).toString().toUtf8());
|
const QUrl url = QUrl::fromEncoded(map.value(QSL("url")).toString().toUtf8());
|
||||||
@ -84,10 +62,6 @@ QmlWindow *QmlWindows::create(const QVariantMap &map) const
|
|||||||
return windowData->get(window);
|
return windowData->get(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Removes a browser window
|
|
||||||
* @param Integer representing the window id
|
|
||||||
*/
|
|
||||||
void QmlWindows::remove(int windowId) const
|
void QmlWindows::remove(int windowId) const
|
||||||
{
|
{
|
||||||
BrowserWindow *window = getBrowserWindow(windowId);
|
BrowserWindow *window = getBrowserWindow(windowId);
|
||||||
|
@ -28,10 +28,36 @@ class QmlWindows : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
QmlWindows(QObject *parent = nullptr);
|
QmlWindows(QObject *parent = nullptr);
|
||||||
|
/**
|
||||||
|
* @brief Gets a browser window
|
||||||
|
* @param Integer representing the browser window
|
||||||
|
* @return Object of type [QmlWindow](@ref QmlWindow)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlWindow *get(int id) const;
|
Q_INVOKABLE QmlWindow *get(int id) const;
|
||||||
|
/**
|
||||||
|
* @brief Gets the current browser window
|
||||||
|
* @return Object of type [QmlWindow](@ref QmlWindow)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlWindow *getCurrent() const;
|
Q_INVOKABLE QmlWindow *getCurrent() const;
|
||||||
|
/**
|
||||||
|
* @brief Get all the browser window
|
||||||
|
* @return List of windows of type [QmlWindow](@ref QmlWindow)
|
||||||
|
*/
|
||||||
Q_INVOKABLE QList<QObject*> getAll() const;
|
Q_INVOKABLE QList<QObject*> getAll() const;
|
||||||
|
/**
|
||||||
|
* @brief Creates a browser window
|
||||||
|
* @param A JavaScript object containing
|
||||||
|
* - url:
|
||||||
|
* The url of the first tab of the window
|
||||||
|
* - type:
|
||||||
|
* The window [type](@ref QmlWindowType)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
Q_INVOKABLE QmlWindow *create(const QVariantMap &map) const;
|
Q_INVOKABLE QmlWindow *create(const QVariantMap &map) const;
|
||||||
|
/**
|
||||||
|
* @brief Removes a browser window
|
||||||
|
* @param Integer representing the window id
|
||||||
|
*/
|
||||||
Q_INVOKABLE void remove(int windowId) const;
|
Q_INVOKABLE void remove(int windowId) const;
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
/**
|
/**
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
|
|
||||||
QmlPluginInterface::QmlPluginInterface()
|
QmlPluginInterface::QmlPluginInterface()
|
||||||
: m_settingsWindow(nullptr)
|
: m_settingsWindow(nullptr)
|
||||||
|
, m_qmlReusableTab(new QmlTab())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,10 +222,9 @@ bool QmlPluginInterface::acceptNavigationRequest(WebPage *page, const QUrl &url,
|
|||||||
if (!m_acceptNavigationRequest.isCallable()) {
|
if (!m_acceptNavigationRequest.isCallable()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
QmlTab *qmlTab = new QmlTab();
|
m_qmlReusableTab->setWebPage(page);
|
||||||
qmlTab->setWebPage(page);
|
|
||||||
QJSValueList args;
|
QJSValueList args;
|
||||||
args.append(m_engine->newQObject(qmlTab));
|
args.append(m_engine->newQObject(m_qmlReusableTab));
|
||||||
args.append(QString::fromUtf8(url.toEncoded()));
|
args.append(QString::fromUtf8(url.toEncoded()));
|
||||||
args.append(type);
|
args.append(type);
|
||||||
args.append(isMainFrame);
|
args.append(isMainFrame);
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
#include "desktopfile.h"
|
#include "desktopfile.h"
|
||||||
#include "plugininterface.h"
|
#include "plugininterface.h"
|
||||||
|
|
||||||
|
class QmlTab;
|
||||||
|
|
||||||
class QmlPluginInterface : public QObject, public PluginInterface
|
class QmlPluginInterface : public QObject, public PluginInterface
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -72,13 +74,13 @@ Q_SIGNALS:
|
|||||||
void qmlPluginUnloaded();
|
void qmlPluginUnloaded();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QQmlEngine *m_engine;
|
QQmlEngine *m_engine = nullptr;
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QJSValue m_init;
|
QJSValue m_init;
|
||||||
QJSValue m_unload;
|
QJSValue m_unload;
|
||||||
QJSValue m_testPlugin;
|
QJSValue m_testPlugin;
|
||||||
QJSValue m_populateWebViewMenu;
|
QJSValue m_populateWebViewMenu;
|
||||||
QQmlComponent *m_settingsWindow;
|
QQmlComponent *m_settingsWindow = nullptr;
|
||||||
QJSValue m_mouseDoubleClick;
|
QJSValue m_mouseDoubleClick;
|
||||||
QJSValue m_mousePress;
|
QJSValue m_mousePress;
|
||||||
QJSValue m_mouseRelease;
|
QJSValue m_mouseRelease;
|
||||||
@ -88,6 +90,7 @@ private:
|
|||||||
QJSValue m_keyRelease;
|
QJSValue m_keyRelease;
|
||||||
QJSValue m_acceptNavigationRequest;
|
QJSValue m_acceptNavigationRequest;
|
||||||
QList<QObject*> m_childItems;
|
QList<QObject*> m_childItems;
|
||||||
|
QmlTab *m_qmlReusableTab = nullptr;
|
||||||
|
|
||||||
QJSValue readInit() const;
|
QJSValue readInit() const;
|
||||||
void setInit(const QJSValue &init);
|
void setInit(const QJSValue &init);
|
||||||
|
Loading…
Reference in New Issue
Block a user