Changeset View
Changeset View
Standalone View
Standalone View
applets/systemtray/systemtraymodel.cpp
Show All 39 Lines | 34 | for (const auto &info : Plasma::PluginLoader::self()->listAppletMetaData(QString())) { | |||
---|---|---|---|---|---|
40 | const QString dbusactivation = | 40 | const QString dbusactivation = | ||
41 | info.rawData().value(QStringLiteral("X-Plasma-DBusActivationService")).toString(); | 41 | info.rawData().value(QStringLiteral("X-Plasma-DBusActivationService")).toString(); | ||
42 | 42 | | |||
43 | if (!dbusactivation.isEmpty()) { | 43 | if (!dbusactivation.isEmpty()) { | ||
44 | name += i18n(" (Automatic load)"); | 44 | name += i18n(" (Automatic load)"); | ||
45 | } | 45 | } | ||
46 | QStandardItem *item = new QStandardItem(QIcon::fromTheme(info.iconName()), name); | 46 | QStandardItem *item = new QStandardItem(QIcon::fromTheme(info.iconName()), name); | ||
47 | item->setData(info.pluginId(), static_cast<int>(BaseRole::ItemId)); | 47 | item->setData(info.pluginId(), static_cast<int>(BaseRole::ItemId)); | ||
48 | item->setData("Plasmoid", static_cast<int>(BaseRole::ItemType)); | 48 | item->setData(QStringLiteral("Plasmoid"), static_cast<int>(BaseRole::ItemType)); | ||
49 | item->setData(false, static_cast<int>(BaseRole::CanRender)); | 49 | item->setData(false, static_cast<int>(BaseRole::CanRender)); | ||
50 | item->setData(QStringLiteral("UnknownCategory"), static_cast<int>(BaseRole::Category)); | ||||
50 | item->setData(false, static_cast<int>(Role::HasApplet)); | 51 | item->setData(false, static_cast<int>(Role::HasApplet)); | ||
51 | appendRow(item); | 52 | appendRow(item); | ||
52 | } | 53 | } | ||
53 | sort(0); | 54 | sort(0); | ||
54 | } | 55 | } | ||
55 | 56 | | |||
56 | QHash<int, QByteArray> PlasmoidModel::roleNames() const | 57 | QHash<int, QByteArray> PlasmoidModel::roleNames() const | ||
57 | { | 58 | { | ||
58 | QHash<int, QByteArray> roles = QStandardItemModel::roleNames(); | 59 | QHash<int, QByteArray> roles = QStandardItemModel::roleNames(); | ||
59 | 60 | | |||
60 | roles.insert(static_cast<int>(BaseRole::ItemType), QByteArrayLiteral("itemType")); | 61 | roles.insert(static_cast<int>(BaseRole::ItemType), QByteArrayLiteral("itemType")); | ||
61 | roles.insert(static_cast<int>(BaseRole::ItemId), QByteArrayLiteral("itemId")); | 62 | roles.insert(static_cast<int>(BaseRole::ItemId), QByteArrayLiteral("itemId")); | ||
62 | roles.insert(static_cast<int>(BaseRole::CanRender), QByteArrayLiteral("canRender")); | 63 | roles.insert(static_cast<int>(BaseRole::CanRender), QByteArrayLiteral("canRender")); | ||
64 | roles.insert(static_cast<int>(BaseRole::Category), QByteArrayLiteral("category")); | ||||
63 | 65 | | |||
64 | roles.insert(static_cast<int>(Role::Applet), QByteArrayLiteral("applet")); | 66 | roles.insert(static_cast<int>(Role::Applet), QByteArrayLiteral("applet")); | ||
65 | roles.insert(static_cast<int>(Role::HasApplet), QByteArrayLiteral("hasApplet")); | 67 | roles.insert(static_cast<int>(Role::HasApplet), QByteArrayLiteral("hasApplet")); | ||
66 | 68 | | |||
67 | return roles; | 69 | return roles; | ||
68 | } | 70 | } | ||
69 | 71 | | |||
70 | void PlasmoidModel::addApplet(Plasma::Applet *applet) | 72 | void PlasmoidModel::addApplet(Plasma::Applet *applet) | ||
Show All 12 Lines | 84 | if (!dataItem) { | |||
83 | dataItem = new QStandardItem(QIcon::fromTheme(info.iconName()), info.name()); | 85 | dataItem = new QStandardItem(QIcon::fromTheme(info.iconName()), info.name()); | ||
84 | appendRow(dataItem); | 86 | appendRow(dataItem); | ||
85 | } | 87 | } | ||
86 | 88 | | |||
87 | dataItem->setData(info.pluginId(), static_cast<int>(BaseRole::ItemId)); | 89 | dataItem->setData(info.pluginId(), static_cast<int>(BaseRole::ItemId)); | ||
88 | dataItem->setData(applet->property("_plasma_graphicObject"), static_cast<int>(Role::Applet)); | 90 | dataItem->setData(applet->property("_plasma_graphicObject"), static_cast<int>(Role::Applet)); | ||
89 | dataItem->setData(true, static_cast<int>(Role::HasApplet)); | 91 | dataItem->setData(true, static_cast<int>(Role::HasApplet)); | ||
90 | dataItem->setData(true, static_cast<int>(BaseRole::CanRender)); | 92 | dataItem->setData(true, static_cast<int>(BaseRole::CanRender)); | ||
93 | | ||||
94 | if (applet->pluginMetaData().isValid()) { | ||||
95 | const QString category = applet->pluginMetaData().value(QStringLiteral("X-Plasma-NotificationAreaCategory")); | ||||
96 | if (category.isEmpty()) { | ||||
97 | dataItem->setData(QStringLiteral("UnknownCategory"), static_cast<int>(BaseRole::Category)); | ||||
98 | } else { | ||||
99 | dataItem->setData(category, static_cast<int>(BaseRole::Category)); | ||||
100 | } | ||||
101 | } else { | ||||
102 | dataItem->setData(QStringLiteral("UnknownCategory"), static_cast<int>(BaseRole::Category)); | ||||
103 | } | ||||
91 | } | 104 | } | ||
92 | 105 | | |||
93 | void PlasmoidModel::removeApplet(Plasma::Applet *applet) | 106 | void PlasmoidModel::removeApplet(Plasma::Applet *applet) | ||
94 | { | 107 | { | ||
95 | int rows = rowCount(); | 108 | int rows = rowCount(); | ||
96 | for (int i = 0; i < rows; i++) { | 109 | for (int i = 0; i < rows; i++) { | ||
97 | QStandardItem *currentItem = item(i); | 110 | QStandardItem *currentItem = item(i); | ||
98 | QVariant plugin = currentItem->data(static_cast<int>(BaseRole::ItemId)); | 111 | QVariant plugin = currentItem->data(static_cast<int>(BaseRole::ItemId)); | ||
Show All 18 Lines | |||||
117 | 130 | | |||
118 | QHash<int, QByteArray> StatusNotifierModel::roleNames() const | 131 | QHash<int, QByteArray> StatusNotifierModel::roleNames() const | ||
119 | { | 132 | { | ||
120 | QHash<int, QByteArray> roles = QStandardItemModel::roleNames(); | 133 | QHash<int, QByteArray> roles = QStandardItemModel::roleNames(); | ||
121 | 134 | | |||
122 | roles.insert(static_cast<int>(BaseRole::ItemType), QByteArrayLiteral("itemType")); | 135 | roles.insert(static_cast<int>(BaseRole::ItemType), QByteArrayLiteral("itemType")); | ||
123 | roles.insert(static_cast<int>(BaseRole::ItemId), QByteArrayLiteral("itemId")); | 136 | roles.insert(static_cast<int>(BaseRole::ItemId), QByteArrayLiteral("itemId")); | ||
124 | roles.insert(static_cast<int>(BaseRole::CanRender), QByteArrayLiteral("canRender")); | 137 | roles.insert(static_cast<int>(BaseRole::CanRender), QByteArrayLiteral("canRender")); | ||
138 | roles.insert(static_cast<int>(BaseRole::Category), QByteArrayLiteral("category")); | ||||
125 | 139 | | |||
126 | roles.insert(static_cast<int>(Role::DataEngineSource), QByteArrayLiteral("DataEngineSource")); | 140 | roles.insert(static_cast<int>(Role::DataEngineSource), QByteArrayLiteral("DataEngineSource")); | ||
127 | roles.insert(static_cast<int>(Role::AttentionIcon), QByteArrayLiteral("AttentionIcon")); | 141 | roles.insert(static_cast<int>(Role::AttentionIcon), QByteArrayLiteral("AttentionIcon")); | ||
128 | roles.insert(static_cast<int>(Role::AttentionIconName), QByteArrayLiteral("AttentionIconName")); | 142 | roles.insert(static_cast<int>(Role::AttentionIconName), QByteArrayLiteral("AttentionIconName")); | ||
129 | roles.insert(static_cast<int>(Role::AttentionMovieName), QByteArrayLiteral("AttentionMovieName")); | 143 | roles.insert(static_cast<int>(Role::AttentionMovieName), QByteArrayLiteral("AttentionMovieName")); | ||
130 | roles.insert(static_cast<int>(Role::Category), QByteArrayLiteral("Category")); | 144 | roles.insert(static_cast<int>(Role::Category), QByteArrayLiteral("Category")); | ||
131 | roles.insert(static_cast<int>(Role::Icon), QByteArrayLiteral("Icon")); | 145 | roles.insert(static_cast<int>(Role::Icon), QByteArrayLiteral("Icon")); | ||
132 | roles.insert(static_cast<int>(Role::IconName), QByteArrayLiteral("IconName")); | 146 | roles.insert(static_cast<int>(Role::IconName), QByteArrayLiteral("IconName")); | ||
▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Line(s) | |||||
184 | 198 | | |||
185 | void StatusNotifierModel::dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data) | 199 | void StatusNotifierModel::dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data) | ||
186 | { | 200 | { | ||
187 | QStandardItem *dataItem; | 201 | QStandardItem *dataItem; | ||
188 | if (m_sources.contains(sourceName)) { | 202 | if (m_sources.contains(sourceName)) { | ||
189 | dataItem = item(m_sources.indexOf(sourceName)); | 203 | dataItem = item(m_sources.indexOf(sourceName)); | ||
190 | } else { | 204 | } else { | ||
191 | dataItem = new QStandardItem(); | 205 | dataItem = new QStandardItem(); | ||
192 | dataItem->setData("StatusNotifier", static_cast<int>(BaseRole::ItemType)); | 206 | dataItem->setData(QStringLiteral("StatusNotifier"), static_cast<int>(BaseRole::ItemType)); | ||
193 | dataItem->setData(true, static_cast<int>(BaseRole::CanRender)); | 207 | dataItem->setData(true, static_cast<int>(BaseRole::CanRender)); | ||
194 | } | 208 | } | ||
195 | 209 | | |||
196 | dataItem->setData(data.value("Title"), Qt::DisplayRole); | 210 | dataItem->setData(data.value("Title"), Qt::DisplayRole); | ||
197 | QVariant icon = data.value("Icon"); | 211 | QVariant icon = data.value("Icon"); | ||
198 | if (icon.isValid() && icon.canConvert<QIcon>() && !icon.value<QIcon>().isNull()) { | 212 | if (icon.isValid() && icon.canConvert<QIcon>() && !icon.value<QIcon>().isNull()) { | ||
199 | dataItem->setData(icon, Qt::DecorationRole); | 213 | dataItem->setData(icon, Qt::DecorationRole); | ||
200 | } else { | 214 | } else { | ||
201 | dataItem->setData(data.value("IconName"), Qt::DecorationRole); | 215 | dataItem->setData(data.value("IconName"), Qt::DecorationRole); | ||
202 | } | 216 | } | ||
203 | 217 | | |||
204 | dataItem->setData(data.value("Id"), static_cast<int>(BaseRole::ItemId)); | 218 | dataItem->setData(data.value("Id"), static_cast<int>(BaseRole::ItemId)); | ||
219 | dataItem->setData(data.value("Category"), static_cast<int>(BaseRole::Category)); | ||||
205 | 220 | | |||
206 | dataItem->setData(sourceName, static_cast<int>(Role::DataEngineSource)); | 221 | dataItem->setData(sourceName, static_cast<int>(Role::DataEngineSource)); | ||
207 | updateItemData(dataItem, data, Role::AttentionIcon); | 222 | updateItemData(dataItem, data, Role::AttentionIcon); | ||
208 | updateItemData(dataItem, data, Role::AttentionIconName); | 223 | updateItemData(dataItem, data, Role::AttentionIconName); | ||
209 | updateItemData(dataItem, data, Role::AttentionMovieName); | 224 | updateItemData(dataItem, data, Role::AttentionMovieName); | ||
210 | updateItemData(dataItem, data, Role::Category); | 225 | updateItemData(dataItem, data, Role::Category); | ||
211 | updateItemData(dataItem, data, Role::Icon); | 226 | updateItemData(dataItem, data, Role::Icon); | ||
212 | updateItemData(dataItem, data, Role::IconName); | 227 | updateItemData(dataItem, data, Role::IconName); | ||
▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines |