on xenial help sign in
make DesktopFileHander static to save some memory
bef70daMichael Zanetti
plugins/Unity/Launcher/desktopfilehandler.cpp+3−9
@@ -27,13 +27,7 @@
27
27
28#include <libintl.h>
28#include <libintl.h>
29
29
30−DesktopFileHandler::DesktopFileHandler(QObject *parent):
31− QObject(parent)
32−{
33−
34−}
35−
36−QString DesktopFileHandler::findDesktopFile(const QString &appId) const
30+QString DesktopFileHandler::findDesktopFile(const QString &appId)
37{
31{
38 int dashPos = -1;
32 int dashPos = -1;
39 QString helper = appId;
33 QString helper = appId;
@@ -70,7 +64,7 @@ QString DesktopFileHandler::findDesktopFile(const QString &appId) const
70 return QString();
64 return QString();
71}
65}
72
66
73−QString DesktopFileHandler::displayName(const QString &appId) const
67+QString DesktopFileHandler::displayName(const QString &appId)
74{
68{
75 QString desktopFile = findDesktopFile(appId);
69 QString desktopFile = findDesktopFile(appId);
76 if (desktopFile.isEmpty()) {
70 if (desktopFile.isEmpty()) {
@@ -103,7 +97,7 @@ QString DesktopFileHandler::displayName(const QString &appId) const
103 return displayName;
97 return displayName;
104}
98}
105
99
106−QString DesktopFileHandler::icon(const QString &appId) const
100+QString DesktopFileHandler::icon(const QString &appId)
107{
101{
108 QString desktopFile = findDesktopFile(appId);
102 QString desktopFile = findDesktopFile(appId);
109 if (desktopFile.isEmpty()) {
103 if (desktopFile.isEmpty()) {
plugins/Unity/Launcher/desktopfilehandler.h+5−8
@@ -20,18 +20,15 @@
20#ifndef DESKTOPFILEHANDLER_H
20#ifndef DESKTOPFILEHANDLER_H
21#define DESKTOPFILEHANDLER_H
21#define DESKTOPFILEHANDLER_H
22
22
23−#include <QObject>
23+#include <QString>
24
24
25−class DesktopFileHandler: public QObject
25+class DesktopFileHandler
26{
26{
27− Q_OBJECT
28public:
27public:
29− DesktopFileHandler(QObject *parent = nullptr);
28+ static QString findDesktopFile(const QString &appId);
30
29
31− QString findDesktopFile(const QString &appId) const;
32−
33− QString displayName(const QString &appId) const;
30+ static QString displayName(const QString &appId);
34− QString icon(const QString &appId) const;
31+ static QString icon(const QString &appId);
35};
32};
36
33
37#endif
34#endif
plugins/Unity/Launcher/launchermodel.cpp+12−13
@@ -33,7 +33,6 @@ LauncherModel::LauncherModel(QObject *parent):
33 LauncherModelInterface(parent),
33 LauncherModelInterface(parent),
34 m_settings(new GSettings(this)),
34 m_settings(new GSettings(this)),
35 m_dbusIface(new DBusInterface(this)),
35 m_dbusIface(new DBusInterface(this)),
36− m_desktopFileHandler(new DesktopFileHandler(this)),
37 m_appManager(0)
36 m_appManager(0)
38{
37{
39 connect(m_dbusIface, &DBusInterface::countChanged, this, &LauncherModel::countChanged);
38 connect(m_dbusIface, &DBusInterface::countChanged, this, &LauncherModel::countChanged);
@@ -41,14 +40,14 @@ LauncherModel::LauncherModel(QObject *parent):
41 connect(m_dbusIface, &DBusInterface::refreshCalled, this, &LauncherModel::refresh);
40 connect(m_dbusIface, &DBusInterface::refreshCalled, this, &LauncherModel::refresh);
42
41
43 Q_FOREACH (const QString &entry, m_settings->storedApplications()) {
42 Q_FOREACH (const QString &entry, m_settings->storedApplications()) {
44− if (m_desktopFileHandler->findDesktopFile(entry).isEmpty()) {
43+ if (DesktopFileHandler::findDesktopFile(entry).isEmpty()) {
45 qWarning() << "Couldn't find a .desktop file for" << entry << ". Skipping...";
44 qWarning() << "Couldn't find a .desktop file for" << entry << ". Skipping...";
46 continue;
45 continue;
47 }
46 }
48
47
49 LauncherItem *item = new LauncherItem(entry,
48 LauncherItem *item = new LauncherItem(entry,
50− m_desktopFileHandler->displayName(entry),
49+ DesktopFileHandler::displayName(entry),
51− m_desktopFileHandler->icon(entry),
50+ DesktopFileHandler::icon(entry),
52 this);
51 this);
53 item->setPinned(true);
52 item->setPinned(true);
54 m_list.append(item);
53 m_list.append(item);
@@ -151,15 +150,15 @@ void LauncherModel::pin(const QString &appId, int index)
151 index = m_list.count();
150 index = m_list.count();
152 }
151 }
153
152
154− if (m_desktopFileHandler->findDesktopFile(appId).isEmpty()) {
153+ if (DesktopFileHandler::findDesktopFile(appId).isEmpty()) {
155 qWarning() << "Can't pin this application, there is no .destkop file available.";
154 qWarning() << "Can't pin this application, there is no .destkop file available.";
156 return;
155 return;
157 }
156 }
158
157
159 beginInsertRows(QModelIndex(), index, index);
158 beginInsertRows(QModelIndex(), index, index);
160 LauncherItem *item = new LauncherItem(appId,
159 LauncherItem *item = new LauncherItem(appId,
161− m_desktopFileHandler->displayName(appId),
160+ DesktopFileHandler::displayName(appId),
162− m_desktopFileHandler->icon(appId),
161+ DesktopFileHandler::icon(appId),
163 this);
162 this);
164 item->setPinned(true);
163 item->setPinned(true);
165 m_list.insert(index, item);
164 m_list.insert(index, item);
@@ -343,10 +342,10 @@ void LauncherModel::countVisibleChanged(const QString &appId, int countVisible)
343 }
342 }
344 } else {
343 } else {
345 // Need to create a new LauncherItem and show the highlight
344 // Need to create a new LauncherItem and show the highlight
346− if (countVisible && !m_desktopFileHandler->findDesktopFile(appId).isEmpty()) {
345+ if (countVisible && !DesktopFileHandler::findDesktopFile(appId).isEmpty()) {
347 LauncherItem *item = new LauncherItem(appId,
346 LauncherItem *item = new LauncherItem(appId,
348− m_desktopFileHandler->displayName(appId),
347+ DesktopFileHandler::displayName(appId),
349− m_desktopFileHandler->icon(appId));
348+ DesktopFileHandler::icon(appId));
350 item->setCountVisible(true);
349 item->setCountVisible(true);
351 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
350 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
352 m_list.append(item);
351 m_list.append(item);
@@ -359,12 +358,12 @@ void LauncherModel::refresh()
359{
358{
360 QList<LauncherItem*> toBeRemoved;
359 QList<LauncherItem*> toBeRemoved;
361 Q_FOREACH (LauncherItem* item, m_list) {
360 Q_FOREACH (LauncherItem* item, m_list) {
362− if (m_desktopFileHandler->findDesktopFile(item->appId()).isEmpty()) {
361+ if (DesktopFileHandler::findDesktopFile(item->appId()).isEmpty()) {
363 toBeRemoved << item;
362 toBeRemoved << item;
364 } else {
363 } else {
365 int idx = m_list.indexOf(item);
364 int idx = m_list.indexOf(item);
366− item->setName(m_desktopFileHandler->displayName(item->appId()));
365+ item->setName(DesktopFileHandler::displayName(item->appId()));
367− item->setIcon(m_desktopFileHandler->icon(item->appId()));
366+ item->setIcon(DesktopFileHandler::icon(item->appId()));
368 Q_EMIT dataChanged(index(idx), index(idx), QVector<int>() << RoleName << RoleIcon);
367 Q_EMIT dataChanged(index(idx), index(idx), QVector<int>() << RoleName << RoleIcon);
369 }
368 }
370 }
369 }
plugins/Unity/Launcher/launchermodel.h−1
@@ -78,7 +78,6 @@ private:
78
78
79 GSettings *m_settings;
79 GSettings *m_settings;
80 DBusInterface *m_dbusIface;
80 DBusInterface *m_dbusIface;
81− DesktopFileHandler *m_desktopFileHandler;
82
81
83 ApplicationManagerInterface *m_appManager;
82 ApplicationManagerInterface *m_appManager;
84};
83};