You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
988 B
47 lines
988 B
/* |
|
SPDX-FileCopyrightText: 2022 Fushan Wen <qydwhotmail@gmail.com> |
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later |
|
*/ |
|
|
|
#ifndef MAXIMIZEDWINDOWMONITOR_H |
|
#define MAXIMIZEDWINDOWMONITOR_H |
|
|
|
#include <memory> |
|
|
|
#include <QObject> |
|
|
|
#include "tasksmodel.h" |
|
|
|
class QRect; |
|
|
|
/** |
|
* This class monitors if there is any maximized or fullscreen window. |
|
* It is used by the animated image component. |
|
*/ |
|
class MaximizedWindowMonitor : public TaskManager::TasksModel |
|
{ |
|
Q_OBJECT |
|
|
|
Q_PROPERTY(QRect targetRect READ targetRect WRITE setTargetRect NOTIFY targetRectChanged) |
|
|
|
public: |
|
explicit MaximizedWindowMonitor(QObject *parent = nullptr); |
|
~MaximizedWindowMonitor(); |
|
|
|
QRect targetRect() const; |
|
void setTargetRect(const QRect &rect); |
|
|
|
Q_SIGNALS: |
|
void targetRectChanged(); |
|
|
|
protected: |
|
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override; |
|
|
|
private: |
|
class Private; |
|
|
|
std::unique_ptr<Private> d; |
|
}; |
|
|
|
#endif // MAXIMIZEDWINDOWMONITOR_H
|
|
|