[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/netbook/containments/sal
From: Marco Martin <notmart () gmail ! com>
Date: 2010-02-28 18:30:02
Message-ID: 1267381802.644008.21936.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1097227 by mart:
-use kservices instead of kdesktopfiles directly
-default entries works again
M +27 -20 stripwidget.cpp
M +2 -2 stripwidget.h
--- trunk/KDE/kdebase/workspace/plasma/netbook/containments/sal/stripwidget.cpp \
#1097226:1097227 @@ -223,25 +223,33 @@
void StripWidget::add(const QString &fileName, const QPointF &point)
{
- KDesktopFile *file = new KDesktopFile(fileName);
+ KService::Ptr service = KService::serviceByDesktopPath(fileName);
+
+ if (!service) {
+ service = KService::serviceByDesktopName(fileName);
+ if (!service) {
+ return;
+ }
+ }
+
Plasma::IconWidget * icon = createIcon(point);
- icon->setIcon(file->readIcon());
- icon->setText(file->readName());
+ icon->setIcon(service->icon());
+ icon->setText(service->name());
icon->setMinimumSize(icon->sizeFromIconSize(m_itemView->iconSize()));
icon->setMaximumSize(icon->sizeFromIconSize(m_itemView->iconSize()));
Plasma::ToolTipContent toolTipData = Plasma::ToolTipContent();
toolTipData.setAutohide(true);
- toolTipData.setMainText(file->readName());
- toolTipData.setSubText(file->readGenericName());
- toolTipData.setImage(KIcon(file->readIcon()));
+ toolTipData.setMainText(service->name());
+ toolTipData.setSubText(service->genericName());
+ toolTipData.setImage(KIcon(service->icon()));
Plasma::ToolTipManager::self()->registerWidget(icon);
Plasma::ToolTipManager::self()->setContent(icon, toolTipData);
- m_desktopFiles.insert(icon, file);
+ m_services.insert(icon, service);
}
void StripWidget::remove(Plasma::IconWidget *favourite)
@@ -259,9 +267,9 @@
// must be deleteLater because the IconWidget will return from the action?
favourite->deleteLater();
delete match;
- } else if (m_desktopFiles.contains(favourite)) {
- delete m_desktopFiles.value(favourite);
- m_desktopFiles.remove(favourite);
+ } else if (m_services.contains(favourite)) {
+ m_services.value(favourite);
+ m_services.remove(favourite);
favourite->deleteLater();
}
}
@@ -300,8 +308,8 @@
Plasma::RunnerContext context;
context.setQuery(m_favouritesQueries.value(match));
match->run(context);
- } else if (m_desktopFiles.contains(icon)) {
- KRun::run(KService(m_desktopFiles.value(icon)), KUrl::List(), 0, false);
+ } else if (m_services.contains(icon)) {
+ KRun::run(*m_services.value(icon).data(), KUrl::List(), 0, false);
}
}
@@ -370,9 +378,9 @@
config.writeEntry("query", m_favouritesQueries.value(match));
config.writeEntry("matchId", match->id());
config.writeEntry("subText", match->subtext());
- } else if (m_desktopFiles.contains(icon)) {
- config.writeEntry("url", (m_desktopFiles[icon])->fileName());
- config.writeEntry("subText", m_desktopFiles[icon]->readGenericName());
+ } else if (m_services.contains(icon)) {
+ config.writeEntry("url", (m_services[icon])->entryPath());
+ config.writeEntry("subText", m_services[icon]->genericName());
}
++id;
@@ -400,15 +408,14 @@
QVector<QString> queries;
QVector<QString> matchIds;
QVector<QString> urls;
+ int numIcons;
if (favouritesConfigs.isEmpty()) {
+ numIcons = 4;
runnerIds.resize(4);
queries.resize(4);
matchIds.resize(4);
- QString homePlace = "places_file://"+QDir::homePath();
- matchIds << "services_kde4-konqbrowser.desktop" << \
"services_kde4-KMail.desktop" << \
"services_kde4-systemsettings.desktop" << homePlace;
- queries << "konqueror" << "kmail" << "systemsettings" << "home";
- runnerIds << "services" << "services" << "services" << "places";
+ urls << "konqueror" << "kmail" << "systemsettings" << "dolphin";
} else {
runnerIds.resize(favouritesConfigs.size());
queries.resize(favouritesConfigs.size());
@@ -426,10 +433,10 @@
++i;
++it;
}
+ numIcons = stripGroup.groupList().size();
}
QString currentQuery;
- int numIcons = stripGroup.groupList().size();
for (int i = 0; i < numIcons; ++i ) {
if (!urls[i].isNull()) {
add(urls[i]);
--- trunk/KDE/kdebase/workspace/plasma/netbook/containments/sal/stripwidget.h \
#1097226:1097227 @@ -22,7 +22,7 @@
#include <KConfigGroup>
-#include <KDesktopFile>
+#include <KService>
#include <QPair>
#include <QGraphicsLinearLayout>
@@ -97,7 +97,7 @@
QList<Plasma::QueryMatch*> m_favouritesMatches;
QHash<Plasma::QueryMatch*, QString> m_favouritesQueries;
QHash<Plasma::IconWidget*, Plasma::QueryMatch*> m_favouritesIcons;
- QHash<Plasma::IconWidget*, KDesktopFile*> m_desktopFiles;
+ QHash<Plasma::IconWidget*, KService::Ptr> m_services;
ItemView *m_itemView;
Plasma::RunnerContext *m_context;
QTimer *m_scrollTimer;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic