Detect back/forward mouse buttons to move back and forward through the browsing history

This commit is contained in:
Luis Ángel San Martín 2022-11-10 21:46:51 +01:00
parent 2b56945374
commit 0f9d782bb8
3 changed files with 27 additions and 0 deletions

View File

@ -139,6 +139,29 @@ void LibraryWindow::afterLaunchTasks()
}
}
bool LibraryWindow::eventFilter(QObject *object, QEvent *event)
{
if (this->isActiveWindow()) {
if (event->type() == QEvent::MouseButtonRelease) {
auto mouseEvent = static_cast<QMouseEvent *>(event);
if (mouseEvent->button() == Qt::ForwardButton) {
forwardAction->trigger();
event->accept();
return true;
}
if (mouseEvent->button() == Qt::BackButton) {
backAction->trigger();
event->accept();
return true;
}
}
}
return QMainWindow::eventFilter(object, event);
}
void LibraryWindow::createSettings()
{
settings = new QSettings(YACReader::getSettingsPath() + "/YACReaderLibrary.ini", QSettings::IniFormat); // TODO unificar la creación del fichero de config con el servidor

View File

@ -434,6 +434,8 @@ public slots:
void afterLaunchTasks();
bool eventFilter(QObject *object, QEvent *event) override;
private:
//! @brief Exits search mode if it is active.
//! @return true If the search mode was active when this function was called.

View File

@ -269,6 +269,8 @@ int main(int argc, char **argv)
}
#endif
app.installEventFilter(mw);
int ret = app.exec();
QLOG_INFO() << "YACReaderLibrary closed with exit code :" << ret;