Go to file
Friedrich W. H. Kossebau 9f48b41507 Fix unsetting associated application/urls for Plasma::Applets
Summary:
Avoids a crash and a bogus menu entry.

Current code does not properly handle any resetting, which results
in Applet::hasValidAssociatedApplication() still returning true
when urls have been set to an empty list and the application name
to an empty string.
Also are connections to the "destroyed" signal collected on
repeated set calls.
This patch fixes that.

This fixes "Run the Associated Application" menu entry showing up with widgets.

It also prevents the crash in associatedapplicationmanager.cpp:76, which assumes
url lists to be non-empty:
const QString mimeType = mimeDb.mimeTypeForUrl(i.value().first()).name();

Not happy yet with the signal/slot connection management,
improvement proposals welcome.

Reviewers: mart

Reviewed By: mart

Subscribers: plasma-devel

Projects: #plasma

Differential Revision: https://phabricator.kde.org/D1372
2016-04-12 01:09:44 +02:00
autotests cache svg icons from icon theme 2016-04-04 17:47:30 +02:00
docs Fix releaseinfo+productname, rm obsolet options in plasmapkg2 docbook 2015-08-03 07:21:56 +02:00
examples Merge branch 'mart/customShell' 2016-03-08 15:38:31 +01:00
src Fix unsetting associated application/urls for Plasma::Applets 2016-04-12 01:09:44 +02:00
templates SVN_SILENT made messages (.desktop file) - always resolve ours 2016-02-24 09:12:03 +00:00
tests Fix most of Clazy warnings in plasma-framework 2016-02-29 00:13:41 +01:00
.reviewboardrc Fix .reviewboardrc syntax 2014-06-02 17:39:23 +01:00
CMakeLists.txt Upgrade ECM and KF5 version requirements for 5.21.0 release. 2016-04-02 15:39:20 +00:00
COPYING Add COPYING and COPYING.LIB files 2013-12-23 18:39:10 +00:00
COPYING.LIB Add COPYING and COPYING.LIB files 2013-12-23 18:39:10 +00:00
KF5PlasmaConfig.cmake.in port libplasma away from sycoca as much as possible 2015-05-07 16:26:37 +02:00
KF5PlasmaMacros.cmake Remove rather outdated .svn install exclusion 2014-09-25 13:16:28 +02:00
metainfo.yaml Add metadata about the QMake and CMake packages installed by this framework and remove Links from README.md 2014-08-13 10:56:51 +02:00
README.md Add/update first line of README.md to be a short description, useful for inqlude 2015-07-27 19:41:21 +02:00

Plasma Framework

Foundational libraries, components, and tools of the Plasma workspaces

Introduction

The plasma framework provides the following:

  • QML components
  • A C++ library: libplasma
  • Script engines

QML components

org.kde.plasma.core

Bindings for libplasma functionality, such as DataEngine and FrameSvg, see @ref core.

org.kde.plasma.components

Graphical components for common items such as buttons, lineedits, tabbars and so on. Compatible subset of the MeeGo components used on the N9, see @ref plasmacomponents.

org.kde.plasma.extras

Extra graphical components that extend org.kde.plasma.components but are not in the standard api, see @ref plasmaextracomponents.

org.kde.plasma.plasmoid

Attached properties for manipulating the current applet or containment, see @ref libplasmaquick

libplasma

This C++ library provides:

  • rendering of SVG themes
  • loading of files from a certain filesystem structure: packages
  • data access through data engines
  • loading of the plugin structure of the workspace: containments and applets

See @ref libplasma.

Script engines

Provides support to create applets or containments in various scripting languages.