14 Commits

Author SHA1 Message Date
Kai Uwe Broulik
21f954d94d [PlasmaComponents Menu] Don't crash on null action
You can assign a QAction as "action", this way you can just pass it e.g. plasmoid.action("configure").
However, when assigning a null action as can happen with kiosk restrictions, it would crash
as it assigns m_action the nullptr but never checks for that.

This patch ensures we always have a QAction, creating a new empty one, if neccessary.
Also deletes our own action if an external one is assigned

Differential Revision: https://phabricator.kde.org/D6608
2017-07-11 12:23:39 +02:00
David Edmundson
07d8df77a1 Connect all connections to action in QMenuItem::setAction
Summary:
Otherwise if anyone used setAction it would be missing a very important
connect.

Test Plan: Compiled

Reviewers: #plasma

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D4758
2017-02-24 14:16:51 +00:00
Aleix Pol
9f62532674 Fix most of Clazy warnings in plasma-framework
REVIEW: 126672
2016-02-29 00:13:41 +01:00
Kai Uwe Broulik
93cf07deac Add support for menu sections
Also adds a manual unit test

CHANGELOG: PlasmaComponents.Menu now supports sections
REVIEW: 123537
2015-04-27 22:19:41 +02:00
Kevin Funk
9dda1204c8 Run convert-to-cmake-automoc.pl over files 2015-01-20 00:00:31 +01:00
Sebastian Kügler
5b38b9f850 Fix MenuItem.visible and MenuItem.enabled
Update visible and enabled property of the action backing MenuItem when
these properties change.

BUG:336281
2014-06-17 03:14:24 +02:00
Kevin Ottens
72ba7b4146 Apply the astyle-kdelibs script 2014-04-26 01:48:37 +02:00
Aleix Pol
e1a868e4f6 Fix QMenuItem connections
Don't emit twice textChanged when changed.
checkableChanged signal doesn't exist anymore. Use changed instead as
suggested by the Q_PROPERTY
2014-01-07 16:45:27 +01:00
Marco Martin
c13a58cf11 checkable and checked properties 2013-05-09 16:16:16 +02:00
Sebastian Kügler
b68317e930 Use QVariant for MenuItem::icon
This way, we can cover string and QIcon assignments transparently,
another backwards compatibility fix, and easier thing in Plasma2: Now
the user doesn't have to worry about creating QIcons, but can just
assign the icon name, and it will get loaded from the theme. Models that
provide QIcons (such as QStandardItems) now work correctly with
PlasmaCore.MenuItems.
2013-04-30 02:50:42 +02:00
Sebastian Kügler
a0fb4356dc Positioning of Menu on screen
Actually quite a bit more lightweight than its QGV predecessor.
2013-03-26 22:34:35 +01:00
Sebastian Kügler
0ef4080e4f positioning for context menu 2013-03-26 22:17:25 +01:00
Sebastian Kügler
335e0b6d9d Port Menu and MenuItem to QtQuick2
In MenuItem, we can't inherit QAction anymore (our MenuItem has to be a
QQuickItem), so we need to aggregate, which means adding glue API.

Positioning code is disabled, icons broken, but a QMenu with our items
inside shows up and is works.
2013-03-26 20:15:56 +01:00
Sebastian Kügler
7dfe957e66 The Big Move
All cpp code moves into the src/ subdirectory, as the Frameworks policy
suggests.

Directory structure should now be in line with other, future frameworks.
2013-02-14 17:17:12 +01:00