diff --git a/src/lib/app/qzcommon.h b/src/lib/app/qzcommon.h index 406c838c3..3fc2c5d9e 100644 --- a/src/lib/app/qzcommon.h +++ b/src/lib/app/qzcommon.h @@ -89,6 +89,7 @@ enum CommandLineAction { enum ObjectName { ON_WebView, ON_TabBar, + ON_TabWidget, ON_BrowserWindow }; diff --git a/src/lib/tabwidget/tabwidget.cpp b/src/lib/tabwidget/tabwidget.cpp index d712249bf..5d12e8e92 100644 --- a/src/lib/tabwidget/tabwidget.cpp +++ b/src/lib/tabwidget/tabwidget.cpp @@ -30,6 +30,7 @@ #include "qzsettings.h" #include "qztools.h" #include "tabicon.h" +#include "pluginproxy.h" #include #include @@ -196,6 +197,24 @@ void TabWidget::updateClosedTabsButton() m_buttonClosedTabs->setVisible(m_showClosedTabsButton && canRestoreTab()); } +void TabWidget::keyPressEvent(QKeyEvent *event) +{ + if (mApp->plugins()->processKeyPress(Qz::ON_TabWidget, this, event)) { + return; + } + + TabStackedWidget::keyPressEvent(event); +} + +void TabWidget::keyReleaseEvent(QKeyEvent *event) +{ + if (mApp->plugins()->processKeyRelease(Qz::ON_TabWidget, this, event)) { + return; + } + + TabStackedWidget::keyReleaseEvent(event); +} + bool TabWidget::isCurrentTabFresh() const { return m_currentTabFresh; diff --git a/src/lib/tabwidget/tabwidget.h b/src/lib/tabwidget/tabwidget.h index a70635271..2f88865da 100644 --- a/src/lib/tabwidget/tabwidget.h +++ b/src/lib/tabwidget/tabwidget.h @@ -151,6 +151,9 @@ private: bool validIndex(int index) const; void updateClosedTabsButton(); + void keyPressEvent(QKeyEvent *event) override; + void keyReleaseEvent(QKeyEvent *event) override; + BrowserWindow* m_window; TabBar* m_tabBar; QStackedWidget* m_locationBars;