File indexing completed on 2024-05-05 05:38:33

0001 /*
0002     SPDX-FileCopyrightText: 2016 Eike Hein <hein@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #include "abstracttasksmodel.h"
0008 
0009 #include <QMetaEnum>
0010 
0011 namespace TaskManager
0012 {
0013 AbstractTasksModel::AbstractTasksModel(QObject *parent)
0014     : QAbstractListModel(parent)
0015 {
0016 }
0017 
0018 AbstractTasksModel::~AbstractTasksModel()
0019 {
0020 }
0021 
0022 QHash<int, QByteArray> AbstractTasksModel::roleNames() const
0023 {
0024     QHash<int, QByteArray> roles = QAbstractItemModel::roleNames();
0025 
0026     QMetaEnum e = metaObject()->enumerator(metaObject()->indexOfEnumerator("AdditionalRoles"));
0027 
0028     for (int i = 0; i < e.keyCount(); ++i) {
0029         roles.insert(e.value(i), e.key(i));
0030     }
0031 
0032     return roles;
0033 }
0034 
0035 QVariant AbstractTasksModel::data(const QModelIndex &, int role) const
0036 {
0037     switch (role) {
0038     case Qt::DisplayRole:
0039         return QString();
0040     case Qt::DecorationRole:
0041         return QVariant();
0042     case AppId:
0043         return 0;
0044     case AppName:
0045     case GenericName:
0046         return QString();
0047     case LauncherUrl:
0048     case LauncherUrlWithoutIcon:
0049         return QVariant();
0050     case WinIdList:
0051         return QVariantList();
0052     case MimeType:
0053         return QString();
0054     case MimeData:
0055         return QVariant();
0056     case IsWindow:
0057     case IsStartup:
0058     case IsLauncher:
0059     case HasLauncher:
0060     case IsGroupParent:
0061         return false;
0062     case ChildCount:
0063         return 0;
0064     case IsGroupable:
0065     case IsActive:
0066     case IsClosable:
0067     case IsMovable:
0068     case IsResizable:
0069     case IsMaximizable:
0070     case IsMaximized:
0071     case IsMinimizable:
0072     case IsMinimized:
0073     case IsKeepAbove:
0074     case IsKeepBelow:
0075     case IsFullScreenable:
0076     case IsFullScreen:
0077     case IsShadeable:
0078     case IsShaded:
0079     case IsVirtualDesktopsChangeable:
0080         return false;
0081     case VirtualDesktops:
0082         return QVariantList{0};
0083     case IsOnAllVirtualDesktops:
0084         return false;
0085     case Geometry:
0086     case ScreenGeometry:
0087         return QVariant();
0088     case Activities:
0089         return QStringList();
0090     case IsDemandingAttention:
0091     case SkipTaskbar:
0092     case SkipPager:
0093         return false;
0094     case AppPid:
0095         return 0;
0096     case StackingOrder:
0097     case LastActivated:
0098         return QVariant();
0099     case ApplicationMenuServiceName:
0100     case ApplicationMenuObjectPath:
0101         return QString();
0102     case IsHidden:
0103     case CanLaunchNewInstance:
0104         return false;
0105     default:
0106         return QVariant();
0107     }
0108     Q_UNREACHABLE();
0109 }
0110 
0111 QModelIndex AbstractTasksModel::index(int row, int column, const QModelIndex &parent) const
0112 {
0113     return hasIndex(row, column, parent) ? createIndex(row, column, nullptr) : QModelIndex();
0114 }
0115 
0116 void AbstractTasksModel::requestActivate(const QModelIndex &index)
0117 {
0118     Q_UNUSED(index)
0119 }
0120 
0121 void AbstractTasksModel::requestNewInstance(const QModelIndex &index)
0122 {
0123     Q_UNUSED(index)
0124 }
0125 
0126 void AbstractTasksModel::requestOpenUrls(const QModelIndex &index, const QList<QUrl> &urls)
0127 {
0128     Q_UNUSED(index)
0129     Q_UNUSED(urls)
0130 }
0131 
0132 void AbstractTasksModel::requestClose(const QModelIndex &index)
0133 {
0134     Q_UNUSED(index)
0135 }
0136 
0137 void AbstractTasksModel::requestMove(const QModelIndex &index)
0138 {
0139     Q_UNUSED(index)
0140 }
0141 
0142 void AbstractTasksModel::requestResize(const QModelIndex &index)
0143 {
0144     Q_UNUSED(index)
0145 }
0146 
0147 void AbstractTasksModel::requestToggleMinimized(const QModelIndex &index)
0148 {
0149     Q_UNUSED(index)
0150 }
0151 
0152 void AbstractTasksModel::requestToggleMaximized(const QModelIndex &index)
0153 {
0154     Q_UNUSED(index)
0155 }
0156 
0157 void AbstractTasksModel::requestToggleKeepAbove(const QModelIndex &index)
0158 {
0159     Q_UNUSED(index)
0160 }
0161 
0162 void AbstractTasksModel::requestToggleKeepBelow(const QModelIndex &index)
0163 {
0164     Q_UNUSED(index)
0165 }
0166 
0167 void AbstractTasksModel::requestToggleFullScreen(const QModelIndex &index)
0168 {
0169     Q_UNUSED(index)
0170 }
0171 
0172 void AbstractTasksModel::requestToggleShaded(const QModelIndex &index)
0173 {
0174     Q_UNUSED(index)
0175 }
0176 
0177 void AbstractTasksModel::requestVirtualDesktops(const QModelIndex &index, const QVariantList &desktops)
0178 {
0179     Q_UNUSED(index)
0180     Q_UNUSED(desktops)
0181 }
0182 
0183 void AbstractTasksModel::requestNewVirtualDesktop(const QModelIndex &index)
0184 {
0185     Q_UNUSED(index)
0186 }
0187 
0188 void AbstractTasksModel::requestActivities(const QModelIndex &index, const QStringList &activities)
0189 {
0190     Q_UNUSED(index)
0191     Q_UNUSED(activities)
0192 }
0193 
0194 void AbstractTasksModel::requestPublishDelegateGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate)
0195 {
0196     Q_UNUSED(index)
0197     Q_UNUSED(geometry)
0198     Q_UNUSED(delegate)
0199 }
0200 
0201 }