diff --git a/CMakeLists.txt b/CMakeLists.txt
index 90aaa03e5..9c69f11a6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,160 +1,160 @@
project(plasma-desktop)
set(PROJECT_VERSION "5.8.90")
set(PROJECT_VERSION_MAJOR 5)
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
set(QT_MIN_VERSION "5.5.0")
find_package(ECM 0.0.11 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMInstallIcons)
include(ECMMarkAsTest)
include(ECMMarkNonGuiExecutable)
include(ECMOptionalAddSubdirectory)
include(ECMQtDeclareLoggingCategory)
include(FeatureSummary)
include(CheckIncludeFiles)
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
Quick
QuickWidgets
DBus
Widgets
X11Extras
Svg
Concurrent
)
set(KF5_MIN_VERSION "5.24.0")
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
Auth
Plasma
PlasmaQuick
DocTools
I18n
KCMUtils
NewStuff
KDELibs4Support
Notifications
NotifyConfig
Attica
Wallet
Runner
GlobalAccel
Declarative
People
DBusAddons
Activities
ActivitiesStats
Config
)
find_package(LibKWorkspace CONFIG REQUIRED)
find_package(LibTaskManager CONFIG REQUIRED)
find_package(KWinDBusInterface CONFIG REQUIRED)
find_package(ScreenSaverDBusInterface CONFIG REQUIRED)
find_package(KRunnerAppDBusInterface CONFIG REQUIRED)
find_package(KSMServerDBusInterface CONFIG REQUIRED)
find_package(KF5ItemModels CONFIG REQUIRED)
find_package(KF5Emoticons CONFIG REQUIRED)
-find_package(PackageKitQt5 0.9)
+find_package(AppStreamQt 0.10.4 CONFIG REQUIRED)
set_package_properties(PackageKitQt5 PROPERTIES DESCRIPTION "Software Manager integration"
TYPE OPTIONAL
PURPOSE "Provides package management integration to the application launcher."
)
find_package(KF5Baloo)
set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "File Searching"
TYPE RECOMMENDED
PURPOSE "Needed to build the File Search KCM"
)
find_package(Fontconfig)
set_package_properties(Fontconfig PROPERTIES DESCRIPTION "Font access configuration library"
URL "http://www.freedesktop.org/wiki/Software/fontconfig"
TYPE OPTIONAL
PURPOSE "Needed to build font configuration and installation tools"
)
find_package(X11)
set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries"
URL "http://www.x.org"
TYPE REQUIRED
PURPOSE "Required for building the X11 based workspace"
)
find_package(UDev)
set_package_properties(UDev PROPERTIES DESCRIPTION "UDev library"
URL "http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
TYPE OPTIONAL
PURPOSE "Required for device discovery in keyboard daemon"
)
find_package(XCB
REQUIRED COMPONENTS
XCB SHM IMAGE
OPTIONAL_COMPONENTS
XKB XINPUT
)
set_package_properties(XCB PROPERTIES TYPE REQUIRED)
add_feature_info("XCB-XKB" XCB_XKB_FOUND "Required for building kcm/keyboard")
add_feature_info("libxft" X11_Xft_FOUND "X FreeType interface library required for font installation")
find_package(Evdev)
set_package_properties(Evdev PROPERTIES TYPE OPTIONAL)
add_feature_info("Evdev" EVDEV_FOUND "Evdev driver headers needed for input KCM")
find_package(Synaptics)
set_package_properties(Synaptics PROPERTIES TYPE OPTIONAL)
add_feature_info("Synaptics" SYNAPTICS_FOUND "Synaptics libraries needed for touchpad KCM")
include(ConfigureChecks.cmake)
if(${Qt5Gui_OPENGL_IMPLEMENTATION} STREQUAL "GL")
find_package(OpenGL)
set_package_properties(OpenGL PROPERTIES DESCRIPTION "The OpenGL libraries"
URL "http://www.opengl.org"
TYPE REQUIRED
)
else()
find_package(OpenGLES)
set_package_properties(OpenGLES PROPERTIES DESCRIPTION "The OpenGLES libraries"
URL "http://www.khronos.org/opengles"
TYPE REQUIRED
)
endif()
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
configure_file(config-workspace.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-workspace.h)
configure_file(config-unix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-unix.h )
configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h)
configure_file(config-runtime.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-runtime.h)
plasma_install_package(desktoppackage org.kde.plasma.desktop shells shell)
add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
add_subdirectory(layout-templates)
add_subdirectory(doc)
add_subdirectory(runners)
add_subdirectory(containments)
add_subdirectory(toolboxes)
add_subdirectory(applets)
add_subdirectory(dataengines)
add_subdirectory(kcms)
add_subdirectory(knetattach)
add_subdirectory(attica-kde)
add_subdirectory(imports/activitymanager/)
add_subdirectory(solid-device-automounter)
if(X11_Xkb_FOUND AND XCB_XKB_FOUND)
add_subdirectory(kaccess)
endif()
install(FILES org.kde.plasmashell.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff --git a/applets/kicker/CMakeLists.txt b/applets/kicker/CMakeLists.txt
index 2e112e420..6ffc0cab2 100644
--- a/applets/kicker/CMakeLists.txt
+++ b/applets/kicker/CMakeLists.txt
@@ -1,87 +1,80 @@
add_definitions(
-DQT_USE_QSTRINGBUILDER
-DQT_NO_CAST_TO_ASCII
# -DQT_NO_CAST_FROM_ASCII
-DQT_STRICT_ITERATORS
-DQT_NO_URL_CAST_FROM_STRING
-DQT_NO_CAST_FROM_BYTEARRAY
-DQT_NO_SIGNALS_SLOTS_KEYWORDS
-DQT_USE_FAST_OPERATOR_PLUS
-DTRANSLATION_DOMAIN=\"plasma_applet_org.kde.plasma.kicker\"
)
plasma_install_package(package org.kde.plasma.kicker)
include_directories(plugin/plasmaquick)
set(kickerplugin_SRCS
plugin/abstractentry.cpp
plugin/abstractmodel.cpp
plugin/actionlist.cpp
plugin/appentry.cpp
plugin/appsmodel.cpp
plugin/computermodel.cpp
plugin/contactentry.cpp
plugin/containmentinterface.cpp
plugin/draghelper.cpp
plugin/favoritesmodel.cpp
plugin/fileentry.cpp
plugin/forwardingmodel.cpp
plugin/funnelmodel.cpp
plugin/dashboardwindow.cpp
plugin/kickerplugin.cpp
plugin/menuentryeditor.cpp
plugin/processrunner.cpp
plugin/rootmodel.cpp
plugin/runnermodel.cpp
plugin/runnermatchesmodel.cpp
plugin/recentcontactsmodel.cpp
plugin/recentusagemodel.cpp
plugin/submenu.cpp
plugin/systementry.cpp
plugin/systemmodel.cpp
plugin/systemsettings.cpp
plugin/wheelinterceptor.cpp
plugin/windowsystem.cpp
)
-if(PackageKitQt5_FOUND)
- list(APPEND kickerplugin_SRCS plugin/findpackagenamejob.cpp)
-endif()
-
qt5_add_dbus_interface(kickerplugin_SRCS ${KRUNNERAPP_INTERFACE} krunner_interface)
qt5_add_dbus_interface(kickerplugin_SRCS ${KSMSERVER_DBUS_INTERFACE} ksmserver_interface)
install(FILES plugin/qmldir DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/private/kicker)
add_library(kickerplugin SHARED ${kickerplugin_SRCS})
target_link_libraries(kickerplugin
Qt5::Core
Qt5::DBus
Qt5::Qml
Qt5::Quick
Qt5::X11Extras
KF5::Activities
KF5::ActivitiesStats
KF5::ConfigCore
KF5::CoreAddons
KF5::I18n
KF5::ItemModels
KF5::KDELibs4Support # FIXME: New Solid power management API doesn't exist yet, so we need to use deprecated stuff.
KF5::KIOCore
KF5::KIOWidgets
KF5::People
KF5::PeopleWidgets
KF5::PlasmaQuick
KF5::Runner
KF5::Service
KF5::Solid
KF5::WindowSystem
+ AppStreamQt
PW::KWorkspace)
-if(PackageKitQt5_FOUND)
- target_link_libraries(kickerplugin PK::packagekitqt5)
-endif()
-
install(TARGETS kickerplugin DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/private/kicker)
diff --git a/applets/kicker/package/contents/config/main.xml b/applets/kicker/package/contents/config/main.xml
index bfd0d2db2..bf217d50d 100644
--- a/applets/kicker/package/contents/config/main.xml
+++ b/applets/kicker/package/contents/config/main.xml
@@ -1,79 +1,75 @@
start-here-kdefalse0falsefalsepreferred://browser,kontact.desktop,systemsettings.desktop,org.kde.dolphin.desktop,ktp-contactlist.desktop,org.kde.kate.desktop,org.kde.discoverlogout,reboot,shutdowntruetruefalsetruebookmarks,baloosearchtrue
-
-
- muon-discover --application
-
diff --git a/applets/kicker/plugin/appentry.cpp b/applets/kicker/plugin/appentry.cpp
index 5efdb0d00..44575278d 100644
--- a/applets/kicker/plugin/appentry.cpp
+++ b/applets/kicker/plugin/appentry.cpp
@@ -1,338 +1,335 @@
/***************************************************************************
* Copyright (C) 201 by Eike Hein *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
***************************************************************************/
#include
#include "appentry.h"
#include "actionlist.h"
#include "appsmodel.h"
#include "containmentinterface.h"
#include "menuentryeditor.h"
#ifdef PackageKitQt5_FOUND
#include "findpackagenamejob.h"
#endif
#include
#include
#include
#include
+#include
#if HAVE_X11
#include
#endif
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
+#include
MenuEntryEditor *AppEntry::m_menuEntryEditor = nullptr;
AppEntry::AppEntry(AbstractModel *owner, KService::Ptr service, NameFormat nameFormat)
: AbstractEntry(owner)
, m_service(service)
{
if (m_service) {
init(nameFormat);
}
}
AppEntry::AppEntry(AbstractModel *owner, const QString &id) : AbstractEntry(owner)
{
const QUrl url(id);
if (url.scheme() == QStringLiteral("preferred")) {
m_service = defaultAppByName(url.host());
m_id = id;
} else {
m_service = KService::serviceByStorageId(id);
}
if (m_service) {
init((NameFormat)owner->rootModel()->property("appNameFormat").toInt());
}
}
void AppEntry::init(NameFormat nameFormat)
{
m_name = nameFromService(m_service, nameFormat);
if (nameFormat == GenericNameOnly) {
m_description = nameFromService(m_service, NameOnly);
} else {
m_description = nameFromService(m_service, GenericNameOnly);
}
if (!m_menuEntryEditor) {
m_menuEntryEditor = new MenuEntryEditor();
}
}
bool AppEntry::isValid() const
{
return m_service;
}
QIcon AppEntry::icon() const
{
if (m_icon.isNull()) {
m_icon = QIcon::fromTheme(m_service->icon(), QIcon::fromTheme("unknown"));
}
return m_icon;
}
QString AppEntry::name() const
{
return m_name;
}
QString AppEntry::description() const
{
return m_description;
}
KService::Ptr AppEntry::service() const
{
return m_service;
}
QString AppEntry::id() const
{
if (!m_id.isEmpty()) {
return m_id;
}
return m_service->storageId();
}
QUrl AppEntry::url() const
{
return QUrl::fromLocalFile(m_service->entryPath());
}
bool AppEntry::hasActions() const
{
return true;
}
+QVariantList appstreamActions(const KService::Ptr &service)
+{
+ static AppStream::Pool pool;
+ if (!pool.load())
+ return {};
+
+ QVariantList ret;
+ const auto components = pool.componentsById(service->desktopEntryName()+QStringLiteral(".desktop"));
+ for(const auto &component: components) {
+ const QString componentId = component.id();
+
+ QVariantMap appstreamAction = Kicker::createActionItem(i18nc("@action opens a software center with the application", "Manage '%1'...", component.name()), "manageApplication", QVariant(QStringLiteral("appstream://") + componentId));
+ appstreamAction["icon"] = "applications-other";
+ ret << appstreamAction;
+ }
+ return ret;
+}
+
QVariantList AppEntry::actions() const
{
QVariantList actionList;
actionList << Kicker::jumpListActions(m_service);
if (!actionList.isEmpty()) {
actionList << Kicker::createSeparatorActionItem();
}
QObject *appletInterface = m_owner->rootModel()->property("appletInterface").value();
const bool systemImmutable = appletInterface->property("immutability").toInt() == Plasma::Types::SystemImmutable;
const QVariantList &addLauncherActions = Kicker::createAddLauncherActionList(appletInterface, m_service);
if (!systemImmutable && !addLauncherActions.isEmpty()) {
actionList << addLauncherActions
<< Kicker::createSeparatorActionItem();
}
const QVariantList &recentDocuments = Kicker::recentDocumentActions(m_service);
if (!recentDocuments.isEmpty()) {
actionList << recentDocuments << Kicker::createSeparatorActionItem();
}
// Don't allow adding launchers, editing, hiding, or uninstalling applications
// when system is immutable.
if (systemImmutable) {
return actionList;
}
if (m_menuEntryEditor->canEdit(m_service->entryPath())) {
actionList << Kicker::createSeparatorActionItem();
QVariantMap editAction = Kicker::createActionItem(i18n("Edit Application..."), "editApplication");
editAction["icon"] = "kmenuedit"; // TODO: Using the KMenuEdit icon might be misleading.
actionList << editAction;
}
-#ifdef PackageKitQt5_FOUND
- /*QStringList files(m_service->entryPath());
-
- if (m_service->isApplication()) {
- files += QStandardPaths::findExecutable(KShell::splitArgs(m_service->exec()).first());
- }
-
- FindPackageJob* job = new FindPackageJob(files); // TODO: Would be great to make this async.
-
- if (job->exec() && !job->packageNames().isEmpty()) {
- QString packageName = job->packageNames().first();
-
- QVariantMap removeAction = Kicker::createActionItem(i18n("Remove '%1'...", packageName), "removeApplication", packageName);
- removeAction["icon"] = "applications-other";
- actionList << removeAction;
- }*/
-#endif
+ if (m_service->isApplication())
+ actionList << appstreamActions(m_service);
QQmlPropertyMap *appletConfig = qobject_cast(appletInterface->property("configuration").value());
if (appletConfig && appletConfig->contains("hiddenApplications") && qobject_cast(m_owner)) {
const QStringList &hiddenApps = appletConfig->value("hiddenApplications").toStringList();
if (!hiddenApps.contains(m_service->menuId())) {
actionList << Kicker::createActionItem(i18n("Hide Application"), "hideApplication");
}
}
return actionList;
}
bool AppEntry::run(const QString& actionId, const QVariant &argument)
{
if (!m_service->isValid()) {
return false;
}
if (actionId.isEmpty()) {
quint32 timeStamp = 0;
#if HAVE_X11
if (QX11Info::isPlatformX11()) {
timeStamp = QX11Info::appUserTime();
}
#endif
// TODO Once we depend on KDE Frameworks 5.24 and D1902 is merged, use KRun::runApplication instead
KRun::runService(*m_service, {}, nullptr, true, {}, KStartupInfo::createNewStartupIdForTimestamp(timeStamp));
KActivities::ResourceInstance::notifyAccessed(QUrl("applications:" + m_service->storageId()),
"org.kde.plasma.kicker");
return true;
}
QObject *appletInterface = m_owner->rootModel()->property("appletInterface").value();
if (Kicker::handleAddLauncherAction(actionId, appletInterface, m_service)) {
return true;
} else if (actionId == "editApplication" && m_menuEntryEditor->canEdit(m_service->entryPath())) {
m_menuEntryEditor->edit(m_service->entryPath(), m_service->menuId());
return true;
- } else if (actionId == "removeApplication") {
- QQmlPropertyMap *appletConfig = qobject_cast(appletInterface->property("configuration").value());
-
- if (appletConfig && appletConfig->contains("removeApplicationCommand")) {
- const QStringList &removeAppCmd = KShell::splitArgs(appletConfig->value("removeApplicationCommand").toString());
-
- if (!removeAppCmd.isEmpty()) {
- return QProcess::startDetached(removeAppCmd.first(), removeAppCmd.mid(1) << argument.toString());
- }
- }
+ } else if (actionId == "manageApplication") {
+ return QDesktopServices::openUrl(QUrl(argument.toString()));
} else if (actionId == "_kicker_jumpListAction") {
return KRun::run(argument.toString(), {}, nullptr, m_service->name(), m_service->icon());
}
return Kicker::handleRecentDocumentAction(m_service, actionId, argument);
}
QString AppEntry::nameFromService(const KService::Ptr service, NameFormat nameFormat)
{
const QString &name = service->name();
QString genericName = service->genericName();
if (genericName.isEmpty()) {
genericName = service->comment();
}
if (nameFormat == NameOnly || genericName.isEmpty() || name == genericName) {
return name;
} else if (nameFormat == GenericNameOnly) {
return genericName;
} else if (nameFormat == NameAndGenericName) {
return i18nc("App name (Generic name)", "%1 (%2)", name, genericName);
} else {
return i18nc("Generic name (App name)", "%1 (%2)", genericName, name);
}
}
KService::Ptr AppEntry::defaultAppByName(const QString& name)
{
if (name == QLatin1String("browser")) {
KConfigGroup config(KSharedConfig::openConfig(), "General");
QString browser = config.readPathEntry("BrowserApplication", QString());
if (browser.isEmpty()) {
return KMimeTypeTrader::self()->preferredService(QLatin1String("text/html"));
} else if (browser.startsWith('!')) {
browser = browser.mid(1);
}
return KService::serviceByStorageId(browser);
}
return KService::Ptr();
}
AppGroupEntry::AppGroupEntry(AppsModel *parentModel, KServiceGroup::Ptr group,
bool paginate, int pageSize, bool flat, bool sorted, bool separators, int appNameFormat) : AbstractGroupEntry(parentModel),
m_group(group)
{
AppsModel* model = new AppsModel(group->entryPath(), paginate, pageSize, flat,
sorted, separators, parentModel);
model->setAppNameFormat(appNameFormat);
m_childModel = model;
QObject::connect(parentModel, &AppsModel::cleared, model, &AppsModel::deleteLater);
QObject::connect(model, &AppsModel::countChanged,
[parentModel, this] { if (parentModel) { parentModel->entryChanged(this); } }
);
QObject::connect(model, &AppsModel::hiddenEntriesChanged,
[parentModel, this] { if (parentModel) { parentModel->entryChanged(this); } }
);
}
QIcon AppGroupEntry::icon() const
{
if (m_icon.isNull()) {
m_icon = QIcon::fromTheme(m_group->icon(), QIcon::fromTheme("unknown"));
}
return m_icon;
}
QString AppGroupEntry::name() const
{
return m_group->caption();
}
bool AppGroupEntry::hasChildren() const
{
return m_childModel && m_childModel->count() > 0;
}
AbstractModel *AppGroupEntry::childModel() const {
return m_childModel;
}
diff --git a/applets/kicker/plugin/findpackagenamejob.cpp b/applets/kicker/plugin/findpackagenamejob.cpp
deleted file mode 100644
index aa3fd549c..000000000
--- a/applets/kicker/plugin/findpackagenamejob.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2014 Aleix Pol Gonzalez *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-#include "findpackagenamejob.h"
-
-FindPackageJob::FindPackageJob(const QStringList &files, QObject *parent)
-: KJob(parent)
-, m_files(files)
-{
-}
-
-void FindPackageJob::start()
-{
- PackageKit::Transaction *transaction = PackageKit::Daemon::searchFiles(m_files, PackageKit::Transaction::FilterInstalled);
- connect(transaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)), SLOT(jobDone(PackageKit::Transaction::Exit,uint)));
- connect(transaction, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)), SLOT(packageFound(PackageKit::Transaction::Info,QString,QString)));
-}
-
-QStringList FindPackageJob::packageNames() const
-{
- return m_packages;
-}
-
-void FindPackageJob::jobDone(PackageKit::Transaction::Exit ret, uint)
-{
- if (ret != PackageKit::Transaction::ExitSuccess) {
- setError(ret);
- }
-
- emitResult();
-}
-
-void FindPackageJob::packageFound(PackageKit::Transaction::Info, const QString &packageId, const QString &)
-{
- m_packages += PackageKit::Transaction::packageName(packageId);
-}
diff --git a/applets/kicker/plugin/findpackagenamejob.h b/applets/kicker/plugin/findpackagenamejob.h
deleted file mode 100644
index 9905182c0..000000000
--- a/applets/kicker/plugin/findpackagenamejob.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2014 Aleix Pol Gonzalez *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-#ifndef FINDPACKAGENAMEJOB_H
-#define FINDPACKAGENAMEJOB_H
-
-#include
-
-#include
-
-class FindPackageJob : public KJob
-{
- Q_OBJECT
-
- public:
- FindPackageJob(const QStringList &files, QObject *parent = 0);
-
- virtual void start();
-
- QStringList packageNames() const;
-
- private Q_SLOTS:
- void jobDone(PackageKit::Transaction::Exit ret, uint);
- void packageFound(PackageKit::Transaction::Info, const QString &packageId, const QString &);
-
- private:
- QStringList m_files;
- QStringList m_packages;
-};
-
-#endif
diff --git a/applets/kickoff/package/contents/config/main.xml b/applets/kickoff/package/contents/config/main.xml
index d7c51624a..541915912 100644
--- a/applets/kickoff/package/contents/config/main.xml
+++ b/applets/kickoff/package/contents/config/main.xml
@@ -1,51 +1,47 @@
truefalsestart-here-kdepreferred://browser,kontact.desktop,systemsettings.desktop,org.kde.dolphin.desktop,ktp-contactlist.desktop,org.kde.kate.desktop,org.kde.discoversystemsettings.desktop,org.kde.kinfocenter.desktoptrueshell,bookmarks,recentdocuments,locations,baloosearch
-
-
- plasma-discover --application
- bookmark:t,application:t,computer:t,used:t,leave:tfalse
diff --git a/config-workspace.h.cmake b/config-workspace.h.cmake
index d0b48b941..08f750307 100644
--- a/config-workspace.h.cmake
+++ b/config-workspace.h.cmake
@@ -1,162 +1,159 @@
/* config-workspace.h. Generated by cmake from config-workspace.h.cmake */
#cmakedefine HAVE_QIMAGEBLITZ
/* Define if you have DPMS support */
#cmakedefine HAVE_DPMS 1
/* Define if you have the DPMSCapable prototype in */
#cmakedefine HAVE_DPMSCAPABLE_PROTO 1
/* Define if you have the DPMSInfo prototype in */
#cmakedefine HAVE_DPMSINFO_PROTO 1
/* Defines if your system has the libfontconfig library */
#cmakedefine HAVE_FONTCONFIG 1
/* Defines if your system has the freetype library */
#cmakedefine HAVE_FREETYPE 1
/* Define if you have gethostname */
#cmakedefine HAVE_GETHOSTNAME 1
/* Define if you have the gethostname prototype */
#cmakedefine HAVE_GETHOSTNAME_PROTO 1
/* Define to 1 if you have the `getpeereid' function. */
#cmakedefine HAVE_GETPEEREID 1
/* Defines if you have Solaris' libkstat */
/* #undef HAVE_KSTAT */
/* Define if you have long long as datatype */
#cmakedefine HAVE_LONG_LONG 1
/* Define to 1 if you have the `nice' function. */
#cmakedefine HAVE_NICE 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SASL_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SASL_SASL_H 1
/* Define to 1 if you have the `setpriority' function. */
#cmakedefine HAVE_SETPRIORITY 1
/* Define to 1 if you have the `sigaction' function. */
#cmakedefine HAVE_SIGACTION 1
/* Define to 1 if you have the `sigset' function. */
#cmakedefine HAVE_SIGSET 1
/* Define to 1 if you have statvfs */
#cmakedefine HAVE_STATVFS 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_STRING_H 1
/* Define if you have the struct ucred */
#cmakedefine HAVE_STRUCT_UCRED 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_LOADAVG_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_MOUNT_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have statfs(). */
#cmakedefine HAVE_STATFS 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_TIME_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_VFS_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_UNISTD_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_STDINT_H 1
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_MALLOC_H 1
/* Define if you have unsetenv */
#cmakedefine HAVE_UNSETENV 1
/* Define if you have the unsetenv prototype */
#cmakedefine HAVE_UNSETENV_PROTO 1
/* Define if you have usleep */
#cmakedefine HAVE_USLEEP 1
/* Define if you have the usleep prototype */
#cmakedefine HAVE_USLEEP_PROTO 1
/* Define to 1 if you have the `vsnprintf' function. */
#cmakedefine HAVE_VSNPRINTF 1
/* Define to 1 if you have the Wayland libraries. */
#cmakedefine WAYLAND_FOUND 1
/* KDE's default home directory */
#cmakedefine KDE_DEFAULT_HOME "${KDE_DEFAULT_HOME}"
/* KDE's binaries directory */
#define KDE_BINDIR "${BIN_INSTALL_DIR}"
/* KDE's configuration directory */
#define KDE_CONFDIR "${CONFIG_INSTALL_DIR}"
/* KDE's static data directory */
#define KDE_DATADIR "${DATA_INSTALL_DIR}"
/* Define where your java executable is */
#undef PATH_JAVA
/* Define to 1 if you can safely include both and . */
#cmakedefine TIME_WITH_SYS_TIME 1
/* xkb resources directory */
#cmakedefine XKBDIR "${XKBDIR}"
-/* PackageKit-Qt has been found */
-#cmakedefine PackageKitQt5_FOUND 1
-
/* KWin binary name */
#define KWIN_BIN "${KWIN_BIN}"
/* Number of bits in a file offset, on hosts where this is settable. */
#define _FILE_OFFSET_BITS 64
/*
* On HP-UX, the declaration of vsnprintf() is needed every time !
*/
/* type to use in place of socklen_t if not defined */
#define kde_socklen_t socklen_t
#define WORKSPACE_VERSION_STRING "${PROJECT_VERSION}"