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 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
/*
SPDX-FileCopyrightText: 2016 Eike Hein <hein@kde.org>
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#pragma once
#include <QIdentityProxyModel>
#include <memory>
#include "abstracttasksproxymodeliface.h"
#include "taskmanager_export.h"
namespace TaskManager
{
/**
* @short A window tasks model.
*
* This model presents tasks sourced from window data retrieved from the
* windowing server the host process is connected to. The underlying
* windowing system is abstracted away.
*
* @see WaylandTasksModel
* @see XWindowTasksModel
*
* @author Eike Hein <hein@kde.org>
**/
class TASKMANAGER_EXPORT WindowTasksModel : public QIdentityProxyModel, public AbstractTasksProxyModelIface
{
Q_OBJECT
public:
explicit WindowTasksModel(QObject *parent = nullptr);
~WindowTasksModel() override;
QHash<int, QByteArray> roleNames() const override;
protected:
QModelIndex mapIfaceToSource(const QModelIndex &index) const override;
private:
class Private;
std::unique_ptr<Private> d;
};
}
|