diff --git a/reader/browser/SheetBrowser.cpp b/reader/browser/SheetBrowser.cpp index 487c8e3e..2b998592 100644 --- a/reader/browser/SheetBrowser.cpp +++ b/reader/browser/SheetBrowser.cpp @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -752,6 +753,21 @@ void SheetBrowser::jumpToHighLight(deepin_reader::Annotation *annotation, const qCDebug(appLog) << "SheetBrowser::jumpToHighLight() - Jump to high light completed"; } +void SheetBrowser::keyPressEvent(QKeyEvent *event) +{ + if (m_sheet) { + if (event->key() == Qt::Key_PageDown && !event->isAutoRepeat()) { + m_sheet->jumpToNextPage(); + return; + } + if (event->key() == Qt::Key_PageUp && !event->isAutoRepeat()) { + m_sheet->jumpToPrevPage(); + return; + } + } + DGraphicsView::keyPressEvent(event); +} + void SheetBrowser::wheelEvent(QWheelEvent *event) { // qCDebug(appLog) << "SheetBrowser::wheelEvent() - Starting wheel event"; diff --git a/reader/browser/SheetBrowser.h b/reader/browser/SheetBrowser.h index 91578206..81af98f6 100644 --- a/reader/browser/SheetBrowser.h +++ b/reader/browser/SheetBrowser.h @@ -408,6 +408,13 @@ class SheetBrowser : public Dtk::Widget::DGraphicsView */ void mouseReleaseEvent(QMouseEvent *event) override; + /** + * @brief keyPressEvent + * 键盘按键事件,适合高度模式下拦截PageDown/PageUp实现精确翻页 + * @param event + */ + void keyPressEvent(QKeyEvent *event) override; + /** * @brief focusOutEvent * 失去焦点处理