aboutsummaryrefslogtreecommitdiff
path: root/src/webview.cpp
diff options
context:
space:
mode:
authorLibravatar Keshav Bhatt <keshavnrj@gmail.com>2022-02-28 18:08:28 +0530
committerLibravatar Keshav Bhatt <keshavnrj@gmail.com>2022-02-28 18:08:28 +0530
commit9867a6b6279229d53fe59854a511c9eea9888427 (patch)
treecefdf3aa78e35741100a554f0fc25d75c4ef3065 /src/webview.cpp
parent020ac6daeac226da90bc0c884a9b22a7da9baa99 (diff)
downloadwhatsie-9867a6b6279229d53fe59854a511c9eea9888427.tar.gz
whatsie-9867a6b6279229d53fe59854a511c9eea9888427.zip
build: migrate to qt 5.15
Diffstat (limited to 'src/webview.cpp')
-rw-r--r--src/webview.cpp152
1 files changed, 77 insertions, 75 deletions
diff --git a/src/webview.cpp b/src/webview.cpp
index 5fc00f4..39273eb 100644
--- a/src/webview.cpp
+++ b/src/webview.cpp
@@ -2,92 +2,94 @@
#include <QContextMenuEvent>
#include <QMenu>
-#include <QWebEngineProfile>
#include <QWebEngineContextMenuData>
+#include <QWebEngineProfile>
#include <mainwindow.h>
WebView::WebView(QWidget *parent, QStringList dictionaries)
- : QWebEngineView(parent)
-{
- m_dictionaries = dictionaries;
+ : QWebEngineView(parent) {
+ m_dictionaries = dictionaries;
- QObject *parentMainWindow = this->parent();
- while (!parentMainWindow -> objectName().contains("MainWindow")){
- parentMainWindow = parentMainWindow -> parent();
- }
- MainWindow *mainWindow = dynamic_cast<MainWindow *>(parentMainWindow);
+ QObject *parentMainWindow = this->parent();
+ while (!parentMainWindow->objectName().contains("MainWindow")) {
+ parentMainWindow = parentMainWindow->parent();
+ }
+ MainWindow *mainWindow = dynamic_cast<MainWindow *>(parentMainWindow);
- connect(this, &WebView::titleChanged,
- mainWindow, &MainWindow::handleWebViewTitleChanged);
- connect(this, &WebView::loadFinished,
- mainWindow, &MainWindow::handleLoadFinished);
- connect(this, &WebView::renderProcessTerminated,
- [this](QWebEnginePage::RenderProcessTerminationStatus termStatus, int statusCode) {
- QString status;
- switch (termStatus) {
- case QWebEnginePage::NormalTerminationStatus:
- status = tr("Render process normal exit");
- break;
- case QWebEnginePage::AbnormalTerminationStatus:
- status = tr("Render process abnormal exit");
- break;
- case QWebEnginePage::CrashedTerminationStatus:
- status = tr("Render process crashed");
- break;
- case QWebEnginePage::KilledTerminationStatus:
- status = tr("Render process killed");
- break;
- }
- QMessageBox::StandardButton btn = QMessageBox::question(window(), status,
- tr("Render process exited with code: %1\n" "Do you want to reload the page ?").arg(statusCode));
- if (btn == QMessageBox::Yes)
- QTimer::singleShot(0, [this] { this->reload(); });
- });
+ connect(this, &WebView::titleChanged, mainWindow,
+ &MainWindow::handleWebViewTitleChanged);
+ connect(this, &WebView::loadFinished, mainWindow,
+ &MainWindow::handleLoadFinished);
+ connect(this, &WebView::renderProcessTerminated,
+ [this](QWebEnginePage::RenderProcessTerminationStatus termStatus,
+ int statusCode) {
+ QString status;
+ switch (termStatus) {
+ case QWebEnginePage::NormalTerminationStatus:
+ status = tr("Render process normal exit");
+ break;
+ case QWebEnginePage::AbnormalTerminationStatus:
+ status = tr("Render process abnormal exit");
+ break;
+ case QWebEnginePage::CrashedTerminationStatus:
+ status = tr("Render process crashed");
+ break;
+ case QWebEnginePage::KilledTerminationStatus:
+ status = tr("Render process killed");
+ break;
+ }
+ QMessageBox::StandardButton btn =
+ QMessageBox::question(window(), status,
+ tr("Render process exited with code: %1\n"
+ "Do you want to reload the page ?")
+ .arg(statusCode));
+ if (btn == QMessageBox::Yes)
+ QTimer::singleShot(0, [this] { this->reload(); });
+ });
}
+void WebView::contextMenuEvent(QContextMenuEvent *event) {
+ const QWebEngineContextMenuData &data = page()->contextMenuData();
+ Q_ASSERT(data.isValid());
-void WebView::contextMenuEvent(QContextMenuEvent *event)
-{
- const QWebEngineContextMenuData &data = page()->contextMenuData();
- Q_ASSERT(data.isValid());
-
- //allow context menu on image
- if (data.mediaType() == QWebEngineContextMenuData::MediaTypeImage) {
- QWebEngineView::contextMenuEvent(event);
- return;
- }
- // if content is not editable
- if (!data.isContentEditable()) {
- event->ignore();
- return;
- }
+ // allow context menu on image
+ if (data.mediaType() == QWebEngineContextMenuData::MediaTypeImage) {
+ QWebEngineView::contextMenuEvent(event);
+ return;
+ }
+ // if content is not editable
+ if (!data.isContentEditable()) {
+ event->ignore();
+ return;
+ }
- QWebEngineProfile *profile = page()->profile();
- const QStringList &languages = profile->spellCheckLanguages();
- QMenu *menu = page()->createStandardContextMenu();
- menu->addSeparator();
+ QWebEngineProfile *profile = page()->profile();
+ const QStringList &languages = profile->spellCheckLanguages();
+ QMenu *menu = page()->createStandardContextMenu();
+ menu->addSeparator();
- QAction *spellcheckAction = new QAction(tr("Check Spelling"), nullptr);
- spellcheckAction->setCheckable(true);
- spellcheckAction->setChecked(profile->isSpellCheckEnabled());
- connect(spellcheckAction, &QAction::toggled, this, [profile,this](bool toogled) {
- profile->setSpellCheckEnabled(toogled);
- settings.setValue("sc_enabled",toogled);
- });
- menu->addAction(spellcheckAction);
+ QAction *spellcheckAction = new QAction(tr("Check Spelling"), nullptr);
+ spellcheckAction->setCheckable(true);
+ spellcheckAction->setChecked(profile->isSpellCheckEnabled());
+ connect(spellcheckAction, &QAction::toggled, this,
+ [profile, this](bool toogled) {
+ profile->setSpellCheckEnabled(toogled);
+ settings.setValue("sc_enabled", toogled);
+ });
+ menu->addAction(spellcheckAction);
- if (profile->isSpellCheckEnabled()) {
- QMenu *subMenu = menu->addMenu(tr("Select Language"));
- for (const QString &dict : m_dictionaries) {
- QAction *action = subMenu->addAction(dict);
- action->setCheckable(true);
- action->setChecked(languages.contains(dict));
- connect(action, &QAction::triggered, this, [profile, dict,this](){
- profile->setSpellCheckLanguages(QStringList()<<dict);
- settings.setValue("sc_dict",dict);
- });
- }
+ if (profile->isSpellCheckEnabled()) {
+ QMenu *subMenu = menu->addMenu(tr("Select Language"));
+ for (const QString &dict : m_dictionaries) {
+ QAction *action = subMenu->addAction(dict);
+ action->setCheckable(true);
+ action->setChecked(languages.contains(dict));
+ connect(action, &QAction::triggered, this, [profile, dict, this]() {
+ profile->setSpellCheckLanguages(QStringList() << dict);
+ settings.setValue("sc_dict", dict);
+ });
}
- connect(menu, &QMenu::aboutToHide, menu, &QObject::deleteLater);
- menu->popup(event->globalPos());
+ }
+ connect(menu, &QMenu::aboutToHide, menu, &QObject::deleteLater);
+ menu->popup(event->globalPos());
}