KWin
Loading...
Searching...
No Matches
virtualdesktopmodel.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2021 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include <QAbstractListModel>
10
11namespace KWin
12{
13class VirtualDesktop;
14
18class VirtualDesktopModel : public QAbstractListModel
19{
20 Q_OBJECT
21
22public:
23 enum Role {
24 DesktopRole = Qt::UserRole + 1,
25 };
26
27 explicit VirtualDesktopModel(QObject *parent = nullptr);
28
29 QHash<int, QByteArray> roleNames() const override;
30 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
31 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
32
33public Q_SLOTS:
34 KWin::VirtualDesktop *create(uint position, const QString &name = QString());
35 void remove(uint position);
36
37private:
38 KWin::VirtualDesktop *desktopFromIndex(const QModelIndex &index) const;
39
40 void handleVirtualDesktopAdded(KWin::VirtualDesktop *desktop);
41 void handleVirtualDesktopRemoved(KWin::VirtualDesktop *desktop);
42
43 QList<KWin::VirtualDesktop *> m_virtualDesktops;
44};
45
46} // namespace KWin
KWin::VirtualDesktop * create(uint position, const QString &name=QString())
int rowCount(const QModelIndex &parent=QModelIndex()) const override
VirtualDesktopModel(QObject *parent=nullptr)
QHash< int, QByteArray > roleNames() const override
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override