diff options
author | Michal Klocek <michal.klocek@theqtcompany.com> | 2016-06-13 13:29:51 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@qt.io> | 2016-08-31 09:11:53 +0000 |
commit | 3f73e47130f3912f99376314a06a2033225b0dda (patch) | |
tree | 29a554b1299a1efe45032729303c047e368476f0 /src/webengine/api/qquickwebenginecontextmenudata.cpp | |
parent | 3cbe59e29a2702a2c184be10845b9bdd342c24d0 (diff) |
Add context menu request to qml api
Introduce qml APIs to support custom context menus.
[ChangeLog][QtWebEngine][QML] Added ability to show custom
context menu.
Task-number: QTBUG-52554
Change-Id: Ief0cbbbf221f4c6849e16bbba7417dccee59ad61
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Diffstat (limited to 'src/webengine/api/qquickwebenginecontextmenudata.cpp')
-rw-r--r-- | src/webengine/api/qquickwebenginecontextmenudata.cpp | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/src/webengine/api/qquickwebenginecontextmenudata.cpp b/src/webengine/api/qquickwebenginecontextmenudata.cpp deleted file mode 100644 index 36315aebb..000000000 --- a/src/webengine/api/qquickwebenginecontextmenudata.cpp +++ /dev/null @@ -1,243 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWebEngine module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qquickwebenginecontextmenudata_p.h" - -#include "web_contents_adapter_client.h" - -QT_BEGIN_NAMESPACE - -ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeNone, QQuickWebEngineContextMenuData::MediaTypeNone) -ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeImage, QQuickWebEngineContextMenuData::MediaTypeImage) -ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeAudio, QQuickWebEngineContextMenuData::MediaTypeAudio) -ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeVideo, QQuickWebEngineContextMenuData::MediaTypeVideo) -ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeCanvas, QQuickWebEngineContextMenuData::MediaTypeCanvas) -ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeFile, QQuickWebEngineContextMenuData::MediaTypeFile) -ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypePlugin, QQuickWebEngineContextMenuData::MediaTypePlugin) - -/*! - \qmltype WebEngineContextMenuData - \instantiates QQuickWebEngineContextMenuData - \inqmlmodule QtWebEngine - \since QtWebEngine 1.3 - \brief Provides context data for populating or extending a context menu with actions. - - - WebEngineContextMenuData is returned by WebEngineView::contextMenuData() after a context menu event, - and contains information about where the context menu event took place. This is also in the context - in which any context specific WebEngineView::WebAction will be performed. -*/ - -QQuickWebEngineContextMenuData::QQuickWebEngineContextMenuData() : d(nullptr) -{ -} - -QQuickWebEngineContextMenuData::~QQuickWebEngineContextMenuData() -{ - delete d; -} - -/*! - \qmlproperty bool WebEngineContextMenuData::isValid - - Is \c true if the context data is valid; otherwise \c false. -*/ -bool QQuickWebEngineContextMenuData::isValid() const -{ - return d; -} - -/*! - \qmlproperty QPoint WebEngineContextMenuData::position - - - Returns the position of the context, usually the mouse position where the context menu event was triggered. -*/ -QPoint QQuickWebEngineContextMenuData::position() const -{ - return d ? d->pos : QPoint(); -} - -/*! - \qmlproperty QString WebEngineContextMenuData::linkText - - Returns the text of a link if the context is a link. -*/ -QString QQuickWebEngineContextMenuData::linkText() const -{ - return d ? d->linkText : QString(); -} - -/*! - \qmlproperty QUrl WebEngineContextMenuData::linkUrl - - Returns the URL of a link if the context is a link. -*/ -QUrl QQuickWebEngineContextMenuData::linkUrl() const -{ - return d ? d->linkUrl : QUrl(); -} - -/*! - \qmlproperty QString WebEngineContextMenuData::selectedText - - Returns the selected text of the context. -*/ -QString QQuickWebEngineContextMenuData::selectedText() const -{ - return d ? d->selectedText : QString(); -} - -/*! - \qmlproperty QUrl WebEngineContextMenuData::mediaUrl - - If the context is a media element, returns the URL of that media. -*/ -QUrl QQuickWebEngineContextMenuData::mediaUrl() const -{ - return d ? d->mediaUrl : QUrl(); -} - -/*! - \qmlproperty enumeration WebEngineContextMenuData::mediaType - - Returns the type of the media element or \c MediaTypeNone if the context is not a media element. - - \value WebEngineContextMenuData.MediaTypeNone - The context is not a media element. - \value WebEngineContextMenuData.MediaTypeImage - The context is an image element - \value WebEngineContextMenuData.MediaTypeVideo - The context is a video element - \value WebEngineContextMenuData.MediaTypeAudio - The context is an audio element - \value WebEngineContextMenuData.MediaTypeCanvas - The context is a canvas element - \value WebEngineContextMenuData.MediaTypeFile - The context is a file - \value WebEngineContextMenuData.MediaTypePlugin - The context is a plugin -*/ - -QQuickWebEngineContextMenuData::MediaType QQuickWebEngineContextMenuData::mediaType() const -{ - return d ? static_cast<QQuickWebEngineContextMenuData::MediaType>(d->mediaType) : MediaTypeNone; -} - -/*! - \qmlproperty bool WebEngineContextMenuData::isContentEditable - - Returns \c true if the content is editable by the user; otherwise returns \c false. -*/ -bool QQuickWebEngineContextMenuData::isContentEditable() const -{ - return d ? d->isEditable : false; -} - -/*! - \qmlproperty QString WebEngineContextMenuData::misspelledWord - - If the context is a word considered misspelled by the spell-checker, returns the misspelled word. - - \since QtWebEngine 1.4 -*/ -QString QQuickWebEngineContextMenuData::misspelledWord() const -{ - if (d) - return d->misspelledWord; - return QString(); -} - -/*! - \qmlproperty QStringList WebEngineContextMenuData::spellCheckerSuggestions - - If the context is a word considered misspelled by the spell-checker, returns a list of suggested replacements. - - \since QtWebEngine 1.4 -*/ -QStringList QQuickWebEngineContextMenuData::spellCheckerSuggestions() const -{ - if (d) - return d->spellCheckerSuggestions; - return QStringList(); -} - -void QQuickWebEngineContextMenuData::update(const QtWebEngineCore::WebEngineContextMenuData &update) -{ - const QQuickWebEngineContextMenuData old(d); - d = new QtWebEngineCore::WebEngineContextMenuData(update); - - if (isValid() != old.isValid()) - Q_EMIT isValidChanged(); - - if (position() != old.position()) - Q_EMIT positionChanged(); - - if (selectedText() != old.selectedText()) - Q_EMIT selectedTextChanged(); - - if (linkText() != old.linkText()) - Q_EMIT linkTextChanged(); - - if (linkUrl() != old.linkUrl()) - Q_EMIT linkUrlChanged(); - - if (mediaUrl() != old.mediaUrl()) - Q_EMIT mediaUrlChanged(); - - if (mediaType() != old.mediaType()) - Q_EMIT mediaTypeChanged(); - - if (isContentEditable() != old.isContentEditable()) - Q_EMIT isContentEditableChanged(); - - if (misspelledWord() != old.misspelledWord()) - Q_EMIT misspelledWordChanged(); - - if (spellCheckerSuggestions() != old.spellCheckerSuggestions()) - Q_EMIT spellCheckerSuggestionsChanged(); -} - -QQuickWebEngineContextMenuData::QQuickWebEngineContextMenuData(const QQuickWebEngineContextMenuDataPrivate *p, QObject *parent) - : QObject(parent) - , d(p) -{ -} - -QT_END_NAMESPACE |