File indexing completed on 2024-04-28 16:44:49

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-only
0003     SPDX-FileCopyrightText: 2003 Lubos Lunak <l.lunak@kde.org>
0004  */
0005 
0006 #ifndef WINDOWSELECTOR_H
0007 #define WINDOWSELECTOR_H
0008 
0009 #include <QAbstractNativeEventFilter>
0010 #include <QWidget>
0011 
0012 namespace KHotKeys
0013 {
0014 class WindowSelector : public QWidget, public QAbstractNativeEventFilter
0015 {
0016     Q_OBJECT
0017 
0018 public:
0019     WindowSelector(QObject *receiver, const char *slot);
0020     ~WindowSelector() override;
0021     void select();
0022 
0023     virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) override;
0024 
0025 Q_SIGNALS:
0026     void selected_signal(WId w);
0027 
0028 private:
0029     WId findRealWindow(WId w, int depth = 0);
0030 };
0031 
0032 } // namespace KHotKeys
0033 
0034 #endif