diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-06-14 14:38:58 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-06-30 02:29:32 +0200 |
| commit | a2f794dd9a6f743168473e824850e6bd7f121f27 (patch) | |
| tree | aa3f6b3150677701d94c9ab3245f7cec01e8c423 /src | |
| parent | 5dbd25fbb37954fdb2f53d1b205aabdc4e33f084 (diff) | |
Reduce repetitive translated texts of QQuickWebEngineView/QWebEnginePage actions
With the action enums in sync, a helper for function returning
the translated texts for the enum values can be introduced.
Pick-to: 6.6
Change-Id: I1584f0a4d3fd55d0308dbb914777346ba9d0e285
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/api/qwebenginepage.cpp | 252 | ||||
| -rw-r--r-- | src/core/api/qwebenginepage_p.h | 2 | ||||
| -rw-r--r-- | src/webenginequick/api/qquickwebengineview.cpp | 63 |
3 files changed, 108 insertions, 209 deletions
diff --git a/src/core/api/qwebenginepage.cpp b/src/core/api/qwebenginepage.cpp index afb4cde3c..4c0b7b8ff 100644 --- a/src/core/api/qwebenginepage.cpp +++ b/src/core/api/qwebenginepage.cpp @@ -329,6 +329,109 @@ void QWebEnginePagePrivate::createNewWindow(WindowOpenDisposition disposition, b Q_EMIT q->newWindowRequested(request); } +QString QWebEnginePagePrivate::actionText(int action) +{ + switch (action) { + case QWebEnginePage::Back: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Back); + case QWebEnginePage::Forward: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Forward); + case QWebEnginePage::Stop: + return QWebEnginePage::tr("Stop"); + case QWebEnginePage::Reload: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Reload); + case QWebEnginePage::ReloadAndBypassCache: + return QWebEnginePage::tr("Reload and Bypass Cache"); + case QWebEnginePage::Cut: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Cut); + case QWebEnginePage::Copy: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Copy); + case QWebEnginePage::Paste: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Paste); + case QWebEnginePage::Undo: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Undo); + case QWebEnginePage::Redo: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Redo); + case QWebEnginePage::SelectAll: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::SelectAll); + case QWebEnginePage::PasteAndMatchStyle: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::PasteAndMatchStyle); + case QWebEnginePage::OpenLinkInThisWindow: + return QWebEnginePage::tr("Open link in this window"); + case QWebEnginePage::OpenLinkInNewWindow: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::OpenLinkInNewWindow); + case QWebEnginePage::OpenLinkInNewTab: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::OpenLinkInNewTab); + case QWebEnginePage::OpenLinkInNewBackgroundTab: + return QWebEnginePage::tr("Open link in new background tab"); + case QWebEnginePage::CopyLinkToClipboard: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyLinkToClipboard); + case QWebEnginePage::DownloadLinkToDisk: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadLinkToDisk); + case QWebEnginePage::CopyImageToClipboard: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyImageToClipboard); + case QWebEnginePage::CopyImageUrlToClipboard: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyImageUrlToClipboard); + case QWebEnginePage::DownloadImageToDisk: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadImageToDisk); + case QWebEnginePage::CopyMediaUrlToClipboard: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyMediaUrlToClipboard); + case QWebEnginePage::ToggleMediaControls: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ToggleMediaControls); + case QWebEnginePage::ToggleMediaLoop: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ToggleMediaLoop); + case QWebEnginePage::ToggleMediaPlayPause: + return QWebEnginePage::tr("Toggle Play/Pause"); + case QWebEnginePage::ToggleMediaMute: + return QWebEnginePage::tr("Toggle Mute"); + case QWebEnginePage::DownloadMediaToDisk: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadMediaToDisk); + case QWebEnginePage::InspectElement: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::InspectElement); + case QWebEnginePage::ExitFullScreen: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ExitFullScreen); + case QWebEnginePage::RequestClose: + return QWebEnginePage::tr("Close Page"); + case QWebEnginePage::Unselect: + return QWebEnginePage::tr("Unselect"); + case QWebEnginePage::SavePage: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::SavePage); + case QWebEnginePage::ViewSource: + return RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ViewSource); + case QWebEnginePage::ToggleBold: + return QWebEnginePage::tr("&Bold"); + case QWebEnginePage::ToggleItalic: + return QWebEnginePage::tr("&Italic"); + case QWebEnginePage::ToggleUnderline: + return QWebEnginePage::tr("&Underline"); + case QWebEnginePage::ToggleStrikethrough: + return QWebEnginePage::tr("&Strikethrough"); + case QWebEnginePage::AlignLeft: + return QWebEnginePage::tr("Align &Left"); + case QWebEnginePage::AlignCenter: + return QWebEnginePage::tr("Align &Center"); + case QWebEnginePage::AlignRight: + return QWebEnginePage::tr("Align &Right"); + case QWebEnginePage::AlignJustified: + return QWebEnginePage::tr("Align &Justified"); + case QWebEnginePage::Indent: + return QWebEnginePage::tr("&Indent"); + case QWebEnginePage::Outdent: + return QWebEnginePage::tr("&Outdent"); + case QWebEnginePage::InsertOrderedList: + return QWebEnginePage::tr("Insert &Ordered List"); + case QWebEnginePage::InsertUnorderedList: + return QWebEnginePage::tr("Insert &Unordered List"); + case QWebEnginePage::ChangeTextDirectionLTR: + return QWebEnginePage::tr("Change text direction left to right"); + case QWebEnginePage::ChangeTextDirectionRTL: + return QWebEnginePage::tr("Change text direction right to left"); + default: + break; + } + return {}; +} + class WebContentsAdapterOwner : public QObject { public: @@ -1042,154 +1145,7 @@ QAction *QWebEnginePage::action(WebAction action) const if (d->actions[action]) return d->actions[action]; - QString text; - switch (action) { - case Back: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Back); - break; - case Forward: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Forward); - break; - case Stop: - text = tr("Stop"); - break; - case Reload: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Reload); - break; - case ReloadAndBypassCache: - text = tr("Reload and Bypass Cache"); - break; - case Cut: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Cut); - break; - case Copy: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Copy); - break; - case Paste: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Paste); - break; - case Undo: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Undo); - break; - case Redo: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Redo); - break; - case SelectAll: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::SelectAll); - break; - case PasteAndMatchStyle: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::PasteAndMatchStyle); - break; - case OpenLinkInThisWindow: - text = tr("Open link in this window"); - break; - case OpenLinkInNewWindow: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::OpenLinkInNewWindow); - break; - case OpenLinkInNewTab: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::OpenLinkInNewTab); - break; - case OpenLinkInNewBackgroundTab: - text = tr("Open link in new background tab"); - break; - case CopyLinkToClipboard: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyLinkToClipboard); - break; - case DownloadLinkToDisk: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadLinkToDisk); - break; - case CopyImageToClipboard: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyImageToClipboard); - break; - case CopyImageUrlToClipboard: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyImageUrlToClipboard); - break; - case DownloadImageToDisk: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadImageToDisk); - break; - case CopyMediaUrlToClipboard: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyMediaUrlToClipboard); - break; - case ToggleMediaControls: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ToggleMediaControls); - break; - case ToggleMediaLoop: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ToggleMediaLoop); - break; - case ToggleMediaPlayPause: - text = tr("Toggle Play/Pause"); - break; - case ToggleMediaMute: - text = tr("Toggle Mute"); - break; - case DownloadMediaToDisk: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadMediaToDisk); - break; - case InspectElement: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::InspectElement); - break; - case ExitFullScreen: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ExitFullScreen); - break; - case RequestClose: - text = tr("Close Page"); - break; - case Unselect: - text = tr("Unselect"); - break; - case SavePage: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::SavePage); - break; - case ViewSource: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ViewSource); - break; - case ToggleBold: - text = tr("&Bold"); - break; - case ToggleItalic: - text = tr("&Italic"); - break; - case ToggleUnderline: - text = tr("&Underline"); - break; - case ToggleStrikethrough: - text = tr("&Strikethrough"); - break; - case AlignLeft: - text = tr("Align &Left"); - break; - case AlignCenter: - text = tr("Align &Center"); - break; - case AlignRight: - text = tr("Align &Right"); - break; - case AlignJustified: - text = tr("Align &Justified"); - break; - case Indent: - text = tr("&Indent"); - break; - case Outdent: - text = tr("&Outdent"); - break; - case InsertOrderedList: - text = tr("Insert &Ordered List"); - break; - case InsertUnorderedList: - text = tr("Insert &Unordered List"); - break; - case ChangeTextDirectionLTR: - text = tr("Change text direction left to right"); - break; - case ChangeTextDirectionRTL: - text = tr("Change text direction right to left"); - break; - case NoWebAction: - case WebActionCount: - Q_UNREACHABLE(); - break; - } + const QString text = QWebEnginePagePrivate::actionText(action); QAction *a = new QAction(const_cast<QWebEnginePage*>(this)); a->setText(text); diff --git a/src/core/api/qwebenginepage_p.h b/src/core/api/qwebenginepage_p.h index bb33c7e98..532a9b942 100644 --- a/src/core/api/qwebenginepage_p.h +++ b/src/core/api/qwebenginepage_p.h @@ -186,6 +186,8 @@ public: void setFullScreenMode(bool); void ensureInitialized() const; + static QString actionText(int action); + QSharedPointer<QtWebEngineCore::WebContentsAdapter> adapter; QWebEngineHistory *history; QWebEngineProfile *profile; diff --git a/src/webenginequick/api/qquickwebengineview.cpp b/src/webenginequick/api/qquickwebengineview.cpp index 7bab27e74..aafec7295 100644 --- a/src/webenginequick/api/qquickwebengineview.cpp +++ b/src/webenginequick/api/qquickwebengineview.cpp @@ -43,6 +43,7 @@ #include <QtWebEngineCore/private/qwebenginehistory_p.h> #include <QtWebEngineCore/private/qwebenginenewwindowrequest_p.h> #include <QtWebEngineCore/private/qwebenginescriptcollection_p.h> +#include <QtWebEngineCore/private/qwebenginepage_p.h> #include <QtWebEngineCore/private/qtwebenginecoreglobal_p.h> #include <QtCore/qloggingcategory.h> @@ -2002,173 +2003,113 @@ QQuickWebEngineAction *QQuickWebEngineView::action(WebAction action) return d->actions[action]; } - QString text; + const QString text = QWebEnginePagePrivate::actionText(action); QString iconName; switch (action) { case Back: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Back); iconName = QStringLiteral("go-previous"); break; case Forward: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Forward); iconName = QStringLiteral("go-next"); break; case Stop: - text = tr("Stop"); iconName = QStringLiteral("process-stop"); break; case Reload: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Reload); iconName = QStringLiteral("view-refresh"); break; case ReloadAndBypassCache: - text = tr("Reload and Bypass Cache"); iconName = QStringLiteral("view-refresh"); break; case Cut: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Cut); iconName = QStringLiteral("edit-cut"); break; case Copy: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Copy); iconName = QStringLiteral("edit-copy"); break; case Paste: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Paste); iconName = QStringLiteral("edit-paste"); break; case Undo: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Undo); iconName = QStringLiteral("edit-undo"); break; case Redo: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Redo); iconName = QStringLiteral("edit-redo"); break; case SelectAll: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::SelectAll); iconName = QStringLiteral("edit-select-all"); break; case PasteAndMatchStyle: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::PasteAndMatchStyle); iconName = QStringLiteral("edit-paste"); break; case OpenLinkInThisWindow: - text = tr("Open link in this window"); - break; case OpenLinkInNewWindow: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::OpenLinkInNewWindow); - break; case OpenLinkInNewTab: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::OpenLinkInNewTab); - break; case CopyLinkToClipboard: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyLinkToClipboard); - break; case DownloadLinkToDisk: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadLinkToDisk); - break; case CopyImageToClipboard: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyImageToClipboard); - break; case CopyImageUrlToClipboard: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyImageUrlToClipboard); - break; case DownloadImageToDisk: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadImageToDisk); - break; case CopyMediaUrlToClipboard: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::CopyMediaUrlToClipboard); - break; case ToggleMediaControls: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ToggleMediaControls); - break; case ToggleMediaLoop: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ToggleMediaLoop); break; case ToggleMediaPlayPause: - text = tr("Toggle Play/Pause"); iconName = QStringLiteral("media-playback-start"); break; case ToggleMediaMute: - text = tr("Toggle Mute"); iconName = QStringLiteral("audio-volume-muted"); break; case DownloadMediaToDisk: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::DownloadMediaToDisk); - break; case InspectElement: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::InspectElement); break; case ExitFullScreen: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ExitFullScreen); iconName = QStringLiteral("view-fullscreen"); break; case RequestClose: - text = tr("Close Page"); iconName = QStringLiteral("window-close"); break; case Unselect: - text = tr("Unselect"); iconName = QStringLiteral("edit-select-none"); break; case SavePage: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::SavePage); iconName = QStringLiteral("document-save"); break; case OpenLinkInNewBackgroundTab: break; case ViewSource: - text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::ViewSource); break; case ToggleBold: - text = tr("&Bold"); iconName = QStringLiteral("format-text-bold"); break; case ToggleItalic: - text = tr("&Italic"); iconName = QStringLiteral("format-text-italic"); break; case ToggleUnderline: - text = tr("&Underline"); iconName = QStringLiteral("format-text-underline"); break; case ToggleStrikethrough: - text = tr("&Strikethrough"); iconName = QStringLiteral("format-text-strikethrough"); break; case AlignLeft: - text = tr("Align &Left"); break; case AlignCenter: - text = tr("Align &Center"); break; case AlignRight: - text = tr("Align &Right"); break; case AlignJustified: - text = tr("Align &Justified"); break; case Indent: - text = tr("&Indent"); iconName = QStringLiteral("format-indent-more"); break; case Outdent: - text = tr("&Outdent"); iconName = QStringLiteral("format-indent-less"); break; case InsertOrderedList: - text = tr("Insert &Ordered List"); - break; case InsertUnorderedList: - text = tr("Insert &Unordered List"); - break; case ChangeTextDirectionLTR: - text = tr("Change text direction left to right"); - break; case ChangeTextDirectionRTL: - text = tr("Change text direction right to left"); break; case NoWebAction: case WebActionCount: |
