┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/middleclickactioneventfilter.h
blob: 6b873452e702850d46d5002088166d41dd5a2c2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
 * SPDX-FileCopyrightText: 2017 Kai Uwe Broulik <[email protected]>
 *
 * SPDX-License-Identifier: GPL-2.0-or-later
 */

#pragma once

#include "dolphin_export.h"

#include <QObject>
#include <QPointer>

class QAction;

/**
 * An event filter that allows to detect a middle click
 * to trigger e.g. opening something in a new tab.
 */
class DOLPHIN_EXPORT MiddleClickActionEventFilter : public QObject
{
    Q_OBJECT

public:
    explicit MiddleClickActionEventFilter(QObject *parent);
    ~MiddleClickActionEventFilter() override;

Q_SIGNALS:
    void actionMiddleClicked(QAction *action);

protected:
    bool eventFilter(QObject *watched, QEvent *event) override;

private:
    QPointer<QAction> m_lastMiddlePressedAction;
};