on xenial help sign in
make DesktopFileHander static to save some memory
commitbef70daac72f4abc18067249b7448f0adcce2a4a authorMichael Zanetti <michael.zanetti@canonical.com> dateTue 2 Sep 2014, 16:51 (12 years ago) parent6632c37
4 files changed+20−31
plugins/Unity/Launcher/desktopfilehandler.cpp+3−9 plugins/Unity/Launcher/desktopfilehandler.h+5−8 plugins/Unity/Launcher/launchermodel.cpp+12−13 plugins/Unity/Launcher/launchermodel.h−1
plugins/Unity/Launcher/desktopfilehandler.cpp+3−9
@@ -27,13 +27,7 @@
2727
2828#include <libintl.h>
2929
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)
3731{
3832 int dashPos = -1;
3933 QString helper = appId;
@@ -70,7 +64,7 @@ QString DesktopFileHandler::findDesktopFile(const QString &appId) const
7064 return QString();
7165}
7266
73−QString DesktopFileHandler::displayName(const QString &appId) const
67+QString DesktopFileHandler::displayName(const QString &appId)
7468{
7569 QString desktopFile = findDesktopFile(appId);
7670 if (desktopFile.isEmpty()) {
@@ -103,7 +97,7 @@ QString DesktopFileHandler::displayName(const QString &appId) const
10397 return displayName;
10498}
10599
106−QString DesktopFileHandler::icon(const QString &appId) const
100+QString DesktopFileHandler::icon(const QString &appId)
107101{
108102 QString desktopFile = findDesktopFile(appId);
109103 if (desktopFile.isEmpty()) {
plugins/Unity/Launcher/desktopfilehandler.h+5−8
@@ -20,18 +20,15 @@
2020#ifndef DESKTOPFILEHANDLER_H
2121#define DESKTOPFILEHANDLER_H
2222
23−#include <QObject>
23+#include <QString>
2424
25−class DesktopFileHandler: public QObject
25+class DesktopFileHandler
2626{
27− Q_OBJECT
2827public:
29− DesktopFileHandler(QObject *parent = nullptr);
28+ static QString findDesktopFile(const QString &appId);
3029
31− QString findDesktopFile(const QString &appId) const;
32−
33− QString displayName(const QString &appId) const;
34− QString icon(const QString &appId) const;
30+ static QString displayName(const QString &appId);
31+ static QString icon(const QString &appId);
3532};
3633
3734#endif
plugins/Unity/Launcher/launchermodel.cpp+12−13
@@ -33,7 +33,6 @@ LauncherModel::LauncherModel(QObject *parent):
3333 LauncherModelInterface(parent),
3434 m_settings(new GSettings(this)),
3535 m_dbusIface(new DBusInterface(this)),
36− m_desktopFileHandler(new DesktopFileHandler(this)),
3736 m_appManager(0)
3837{
3938 connect(m_dbusIface, &DBusInterface::countChanged, this, &LauncherModel::countChanged);
@@ -41,14 +40,14 @@ LauncherModel::LauncherModel(QObject *parent):
4140 connect(m_dbusIface, &DBusInterface::refreshCalled, this, &LauncherModel::refresh);
4241
4342 Q_FOREACH (const QString &entry, m_settings->storedApplications()) {
44− if (m_desktopFileHandler->findDesktopFile(entry).isEmpty()) {
43+ if (DesktopFileHandler::findDesktopFile(entry).isEmpty()) {
4544 qWarning() << "Couldn't find a .desktop file for" << entry << ". Skipping...";
4645 continue;
4746 }
4847
4948 LauncherItem *item = new LauncherItem(entry,
50− m_desktopFileHandler->displayName(entry),
51− m_desktopFileHandler->icon(entry),
49+ DesktopFileHandler::displayName(entry),
50+ DesktopFileHandler::icon(entry),
5251 this);
5352 item->setPinned(true);
5453 m_list.append(item);
@@ -151,15 +150,15 @@ void LauncherModel::pin(const QString &appId, int index)
151150 index = m_list.count();
152151 }
153152
154− if (m_desktopFileHandler->findDesktopFile(appId).isEmpty()) {
153+ if (DesktopFileHandler::findDesktopFile(appId).isEmpty()) {
155154 qWarning() << "Can't pin this application, there is no .destkop file available.";
156155 return;
157156 }
158157
159158 beginInsertRows(QModelIndex(), index, index);
160159 LauncherItem *item = new LauncherItem(appId,
161− m_desktopFileHandler->displayName(appId),
162− m_desktopFileHandler->icon(appId),
160+ DesktopFileHandler::displayName(appId),
161+ DesktopFileHandler::icon(appId),
163162 this);
164163 item->setPinned(true);
165164 m_list.insert(index, item);
@@ -343,10 +342,10 @@ void LauncherModel::countVisibleChanged(const QString &appId, int countVisible)
343342 }
344343 } else {
345344 // 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()) {
347346 LauncherItem *item = new LauncherItem(appId,
348− m_desktopFileHandler->displayName(appId),
349− m_desktopFileHandler->icon(appId));
347+ DesktopFileHandler::displayName(appId),
348+ DesktopFileHandler::icon(appId));
350349 item->setCountVisible(true);
351350 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
352351 m_list.append(item);
@@ -359,12 +358,12 @@ void LauncherModel::refresh()
359358{
360359 QList<LauncherItem*> toBeRemoved;
361360 Q_FOREACH (LauncherItem* item, m_list) {
362− if (m_desktopFileHandler->findDesktopFile(item->appId()).isEmpty()) {
361+ if (DesktopFileHandler::findDesktopFile(item->appId()).isEmpty()) {
363362 toBeRemoved << item;
364363 } else {
365364 int idx = m_list.indexOf(item);
366− item->setName(m_desktopFileHandler->displayName(item->appId()));
367− item->setIcon(m_desktopFileHandler->icon(item->appId()));
365+ item->setName(DesktopFileHandler::displayName(item->appId()));
366+ item->setIcon(DesktopFileHandler::icon(item->appId()));
368367 Q_EMIT dataChanged(index(idx), index(idx), QVector<int>() << RoleName << RoleIcon);
369368 }
370369 }
plugins/Unity/Launcher/launchermodel.h−1
@@ -78,7 +78,6 @@ private:
7878
7979 GSettings *m_settings;
8080 DBusInterface *m_dbusIface;
81− DesktopFileHandler *m_desktopFileHandler;
8281
8382 ApplicationManagerInterface *m_appManager;
8483};