Changeset View
Changeset View
Standalone View
Standalone View
applets/systemtray/systemtraymodel.cpp
Show First 20 Lines • Show All 229 Lines • ▼ Show 20 Line(s) | 224 | { | |||
---|---|---|---|---|---|
230 | m_dataEngine->connectAllSources(this); | 230 | m_dataEngine->connectAllSources(this); | ||
231 | } | 231 | } | ||
232 | 232 | | |||
233 | QHash<int, QByteArray> StatusNotifierModel::roleNames() const | 233 | QHash<int, QByteArray> StatusNotifierModel::roleNames() const | ||
234 | { | 234 | { | ||
235 | QHash<int, QByteArray> roles = BaseModel::roleNames(); | 235 | QHash<int, QByteArray> roles = BaseModel::roleNames(); | ||
236 | 236 | | |||
237 | roles.insert(static_cast<int>(Role::DataEngineSource), QByteArrayLiteral("DataEngineSource")); | 237 | roles.insert(static_cast<int>(Role::DataEngineSource), QByteArrayLiteral("DataEngineSource")); | ||
238 | roles.insert(static_cast<int>(Role::AttentionIcon), QByteArrayLiteral("AttentionIcon")); | | |||
239 | roles.insert(static_cast<int>(Role::AttentionIconName), QByteArrayLiteral("AttentionIconName")); | 238 | roles.insert(static_cast<int>(Role::AttentionIconName), QByteArrayLiteral("AttentionIconName")); | ||
239 | roles.insert(static_cast<int>(Role::AttentionIconPixmap), QByteArrayLiteral("AttentionIconPixmap")); | ||||
240 | roles.insert(static_cast<int>(Role::AttentionMovieName), QByteArrayLiteral("AttentionMovieName")); | 240 | roles.insert(static_cast<int>(Role::AttentionMovieName), QByteArrayLiteral("AttentionMovieName")); | ||
241 | roles.insert(static_cast<int>(Role::Category), QByteArrayLiteral("Category")); | 241 | roles.insert(static_cast<int>(Role::Category), QByteArrayLiteral("Category")); | ||
242 | roles.insert(static_cast<int>(Role::Icon), QByteArrayLiteral("Icon")); | | |||
243 | roles.insert(static_cast<int>(Role::IconName), QByteArrayLiteral("IconName")); | 242 | roles.insert(static_cast<int>(Role::IconName), QByteArrayLiteral("IconName")); | ||
243 | roles.insert(static_cast<int>(Role::IconPixmap), QByteArrayLiteral("IconPixmap")); | ||||
244 | roles.insert(static_cast<int>(Role::IconThemePath), QByteArrayLiteral("IconThemePath")); | 244 | roles.insert(static_cast<int>(Role::IconThemePath), QByteArrayLiteral("IconThemePath")); | ||
245 | roles.insert(static_cast<int>(Role::IconsChanged), QByteArrayLiteral("IconsChanged")); | 245 | roles.insert(static_cast<int>(Role::IconsChanged), QByteArrayLiteral("IconsChanged")); | ||
246 | roles.insert(static_cast<int>(Role::Id), QByteArrayLiteral("Id")); | 246 | roles.insert(static_cast<int>(Role::Id), QByteArrayLiteral("Id")); | ||
247 | roles.insert(static_cast<int>(Role::ItemIsMenu), QByteArrayLiteral("ItemIsMenu")); | 247 | roles.insert(static_cast<int>(Role::ItemIsMenu), QByteArrayLiteral("ItemIsMenu")); | ||
248 | roles.insert(static_cast<int>(Role::OverlayIconName), QByteArrayLiteral("OverlayIconName")); | 248 | roles.insert(static_cast<int>(Role::OverlayIconName), QByteArrayLiteral("OverlayIconName")); | ||
249 | roles.insert(static_cast<int>(Role::OverlayIconPixmap), QByteArrayLiteral("OverlayIconPixmap")); | ||||
249 | roles.insert(static_cast<int>(Role::Status), QByteArrayLiteral("Status")); | 250 | roles.insert(static_cast<int>(Role::Status), QByteArrayLiteral("Status")); | ||
250 | roles.insert(static_cast<int>(Role::StatusChanged), QByteArrayLiteral("StatusChanged")); | 251 | roles.insert(static_cast<int>(Role::StatusChanged), QByteArrayLiteral("StatusChanged")); | ||
251 | roles.insert(static_cast<int>(Role::Title), QByteArrayLiteral("Title")); | 252 | roles.insert(static_cast<int>(Role::Title), QByteArrayLiteral("Title")); | ||
252 | roles.insert(static_cast<int>(Role::TitleChanged), QByteArrayLiteral("TitleChanged")); | 253 | roles.insert(static_cast<int>(Role::TitleChanged), QByteArrayLiteral("TitleChanged")); | ||
253 | roles.insert(static_cast<int>(Role::ToolTipChanged), QByteArrayLiteral("ToolTipChanged")); | 254 | roles.insert(static_cast<int>(Role::ToolTipChanged), QByteArrayLiteral("ToolTipChanged")); | ||
254 | roles.insert(static_cast<int>(Role::ToolTipIcon), QByteArrayLiteral("ToolTipIcon")); | 255 | roles.insert(static_cast<int>(Role::ToolTipIcon), QByteArrayLiteral("ToolTipIcon")); | ||
255 | roles.insert(static_cast<int>(Role::ToolTipSubTitle), QByteArrayLiteral("ToolTipSubTitle")); | 256 | roles.insert(static_cast<int>(Role::ToolTipSubTitle), QByteArrayLiteral("ToolTipSubTitle")); | ||
256 | roles.insert(static_cast<int>(Role::ToolTipTitle), QByteArrayLiteral("ToolTipTitle")); | 257 | roles.insert(static_cast<int>(Role::ToolTipTitle), QByteArrayLiteral("ToolTipTitle")); | ||
▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Line(s) | 321 | if (status == QLatin1String("Active")) { | |||
321 | dataItem->setData(Plasma::Types::ItemStatus::ActiveStatus, static_cast<int>(BaseModel::BaseRole::Status)); | 322 | dataItem->setData(Plasma::Types::ItemStatus::ActiveStatus, static_cast<int>(BaseModel::BaseRole::Status)); | ||
322 | } else if (status == QLatin1String("NeedsAttention")) { | 323 | } else if (status == QLatin1String("NeedsAttention")) { | ||
323 | dataItem->setData(Plasma::Types::ItemStatus::NeedsAttentionStatus, static_cast<int>(BaseModel::BaseRole::Status)); | 324 | dataItem->setData(Plasma::Types::ItemStatus::NeedsAttentionStatus, static_cast<int>(BaseModel::BaseRole::Status)); | ||
324 | } else { | 325 | } else { | ||
325 | dataItem->setData(Plasma::Types::ItemStatus::PassiveStatus, static_cast<int>(BaseModel::BaseRole::Status)); | 326 | dataItem->setData(Plasma::Types::ItemStatus::PassiveStatus, static_cast<int>(BaseModel::BaseRole::Status)); | ||
326 | } | 327 | } | ||
327 | 328 | | |||
328 | dataItem->setData(sourceName, static_cast<int>(Role::DataEngineSource)); | 329 | dataItem->setData(sourceName, static_cast<int>(Role::DataEngineSource)); | ||
329 | updateItemData(dataItem, data, Role::AttentionIcon); | | |||
330 | updateItemData(dataItem, data, Role::AttentionIconName); | 330 | updateItemData(dataItem, data, Role::AttentionIconName); | ||
331 | updateItemData(dataItem, data, Role::AttentionIconPixmap); | ||||
331 | updateItemData(dataItem, data, Role::AttentionMovieName); | 332 | updateItemData(dataItem, data, Role::AttentionMovieName); | ||
davidre: This works now, but I don't know how to manage the KIconLoader. The KIconEngines are managed by… | |||||
I don't like this idea. Now it is just a copy from one model to another without much of improvements - in fact now it complicates it even more. KIconLoader is already created in StatusNotifierItemSource, it has little justification to create another one in data layer. kmaterka: I don't like this idea. Now it is just a copy from one model to another without much of… | |||||
332 | updateItemData(dataItem, data, Role::Category); | 333 | updateItemData(dataItem, data, Role::Category); | ||
333 | updateItemData(dataItem, data, Role::Icon); | 334 | updateItemData(dataItem, data, Role::IconPixmap); | ||
334 | updateItemData(dataItem, data, Role::IconName); | 335 | updateItemData(dataItem, data, Role::IconName); | ||
335 | updateItemData(dataItem, data, Role::IconThemePath); | 336 | updateItemData(dataItem, data, Role::IconThemePath); | ||
336 | updateItemData(dataItem, data, Role::IconsChanged); | 337 | updateItemData(dataItem, data, Role::IconsChanged); | ||
337 | updateItemData(dataItem, data, Role::Id); | 338 | updateItemData(dataItem, data, Role::Id); | ||
338 | updateItemData(dataItem, data, Role::ItemIsMenu); | 339 | updateItemData(dataItem, data, Role::ItemIsMenu); | ||
339 | updateItemData(dataItem, data, Role::OverlayIconName); | 340 | updateItemData(dataItem, data, Role::OverlayIconName); | ||
Beside formatting (spaces, minor thing), I liked the logic before - the presentation layer decided what to render and how, model just provided data. kmaterka: Beside formatting (spaces, minor thing), I liked the logic before - the presentation layer… | |||||
341 | updateItemData(dataItem, data, Role::OverlayIconPixmap); | ||||
340 | updateItemData(dataItem, data, Role::Status); | 342 | updateItemData(dataItem, data, Role::Status); | ||
341 | updateItemData(dataItem, data, Role::StatusChanged); | 343 | updateItemData(dataItem, data, Role::StatusChanged); | ||
342 | updateItemData(dataItem, data, Role::Title); | 344 | updateItemData(dataItem, data, Role::Title); | ||
343 | updateItemData(dataItem, data, Role::TitleChanged); | 345 | updateItemData(dataItem, data, Role::TitleChanged); | ||
344 | updateItemData(dataItem, data, Role::ToolTipChanged); | 346 | updateItemData(dataItem, data, Role::ToolTipChanged); | ||
345 | updateItemData(dataItem, data, Role::ToolTipIcon); | 347 | updateItemData(dataItem, data, Role::ToolTipIcon); | ||
346 | updateItemData(dataItem, data, Role::ToolTipSubTitle); | 348 | updateItemData(dataItem, data, Role::ToolTipSubTitle); | ||
347 | updateItemData(dataItem, data, Role::ToolTipTitle); | 349 | updateItemData(dataItem, data, Role::ToolTipTitle); | ||
Show All 38 Lines |
This works now, but I don't know how to manage the KIconLoader. The KIconEngines are managed by QIcon (they take ownership of the engine). One idea would be to add it to the item maybe?