File indexing completed on 2024-04-28 09:40:58

0001 /*
0002  * SPDX-FileCopyrightText: 2017 Kai Uwe Broulik <kde@privat.broulik.de>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 #include "dolphin_export.h"
0010 
0011 #include <QObject>
0012 #include <QPointer>
0013 
0014 class QAction;
0015 
0016 /**
0017  * An event filter that allows to detect a middle click
0018  * to trigger e.g. opening something in a new tab.
0019  */
0020 class DOLPHIN_EXPORT MiddleClickActionEventFilter : public QObject
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     explicit MiddleClickActionEventFilter(QObject *parent);
0026     ~MiddleClickActionEventFilter() override;
0027 
0028 Q_SIGNALS:
0029     void actionMiddleClicked(QAction *action);
0030 
0031 protected:
0032     bool eventFilter(QObject *watched, QEvent *event) override;
0033 
0034 private:
0035     QPointer<QAction> m_lastMiddlePressedAction;
0036 };