555 Commits

Author SHA1 Message Date
David Edmundson
4f7ead27d6 Fix null object QObject::connect warning
REVIEW: 128171
2016-06-13 10:58:20 +01:00
David Faure
2a8891ec95 Set the pointer before connecting to it.
This fixes the warning "QObject::connect: invalid null parameter"
2016-06-12 15:54:47 +02:00
Allen Winter
97d8cd574c deprecate downloadPath(const QString &file) in favor of downloadPath()
REVIEW: 127870

while I was at it, I make downloadPath() const as suggested by Kai
and fixed 1 spelling error.
2016-05-26 19:09:10 -04:00
Kai Uwe Broulik
41e260d886 [AppletInterface] Expose immutability
This allows an applet to query whether widgets are user-locked or
locked down by Kiosk restrictions.

CHANGELOG: Plasmoids can now tell whether widgets are locked by the user or sysadmin restrictions

REVIEW: 127909
2016-05-19 17:12:56 +02:00
Kai Uwe Broulik
f1648148b9 [ContainmentInterface] Don't try to popup empty QMenu
With KIOSK restrictions it can happen that a context menu would be empty.
In this case just a shadow would show up. Do nothing then.

REVIEW: 127947
2016-05-18 19:41:25 +02:00
Marco Martin
2661cd701c reintroduce busy property in Applet
both the comic and weather applet have to pick out the
_plasma_graphicsObject to access the AppletInterface
object just to set the busy property on it.
this reintroduces the busy proeprty in Applet too,
both setting it to Applet or AppletInterface
will keep them in sync

REVIEW:127411
2016-03-17 18:27:06 +01:00
David Rosca
8f6d1f17e4 Replace QMenu::exec with QMenu::popup
REVIEW: 127355
2016-03-12 13:04:39 +01:00
Marco Martin
6973dac801 add icon/titleChanged
make it possible to set icon and title from
the Applet subclass, making appletInterface (so plasmoid obj)
notice about the change and relay the notify signal
2016-03-09 11:34:21 +01:00
David Rosca
d405378219 Remove QtScript dependency
It's not used anywhere.

REVIEW: 127312
2016-03-09 11:29:50 +01:00
David Rosca
da340aaefa ContainmentInterface: Fix use of QRect right() and bottom()
right() = x() + width() - 1
bottom() = y() + height() - 1

REVIEW: 127277
2016-03-04 23:44:05 +01:00
Marco Martin
f55e20cc5f properties configurationRequired and reason
unbreak api of Applet::SetConfigurationRequired + add bindings to
appletInterface as properties.
new properties configurationRequired and configurationRequiredReason

Change-Id: I18ff01df94c1a0c5fac79ff801bfa76714c9f986
REVIEW:127218
2016-02-29 14:26:52 +01:00
David Edmundson
88ec6de113 Move contextualActionsAboutToShow to Applet
Applet contains the menu actions, therefore reloading the menu should
happen in Applet not AppletInterface. With AppletInterface being a dumb
wrapper.

This exposes functionality to anyone who overrides Applet, but also will
also allows system tray to emit this signal without having to use
private API.

Change-Id: I95e65de315744a78a82ebba2a954e4f3ae1bd7b2
REVIEW: 127217
2016-02-29 12:10:28 +00:00
Aleix Pol
9f62532674 Fix most of Clazy warnings in plasma-framework
REVIEW: 126672
2016-02-29 00:13:41 +01:00
David Rosca
4d012a8cc5 Prefer other containments than desktop in containmentAt()
Desktop containment will match every valid pos, so we should
return it only if nothing else matches.

REVIEW: 127075
2016-02-15 19:06:47 +01:00
l10n daemon script
13dc03991d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-02-06 09:49:14 +00:00
Marco Martin
4b833d0f4f more explicit removal from m_appletInterfaces
removal should happen in handler of
Containment::AppletDeleted, but make extra sure to remove it
in case removal happens too late and an access happens
in the meantime
make extra sure dead objects aren't in m_appletInterfaces

BUG:358551
2016-02-02 22:43:59 +01:00
l10n daemon script
3dac19023c SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-02-02 10:51:53 +00:00
Marco Martin
fd9b5bd006 don't load toolbox on types not desktop or panel
exclude customdesktop and custompanel
2016-01-19 23:46:51 +01:00
David Edmundson
d11c7535ba Add clearActions() to remove every applet interface action
REVIEW: 126742
2016-01-16 16:02:57 +00:00
Martin Klapetek
3992593f31 [scriptengine/qml] Allow applets to set full ToolTip item
Adds new property available as Plasmoid.toolTipItem that allows
to set a full custom item as the tooltip

REVIEW: 126463
2016-01-04 11:38:14 -05:00
Kai Uwe Broulik
899f95d0cf [Containment Interface] Fix erratic high precision scrolling
This makes containment actions only trigger for one "wheel tick" rather than
continuously when you scroll with a touchpad.

REVIEW: 126433
2015-12-20 22:55:45 +01:00
Alex Richardson
f35e514b7d Use SERVICE_TYPES parameter to kcoreaddons_desktop_to_json() 2015-12-09 23:10:41 +00:00
Kai Uwe Broulik
c7bfe07b1c [Containmentinterface] Don't offer to set a wallpaper for a panel
It makes no sense and did nothing. This removes this option.

CHANGELOG: Dropping image files onto a panel will no longer offer to set them as wallpaper for the panel

REVIEW: 126159
2015-11-24 21:13:01 +01:00
Kai Uwe Broulik
2608e0d5df Install .plasmoid file when dropping it onto a containment
CHANGELOG: Dropping a .plasmoid file onto a panel or the desktop will install and add it

REVIEW: 125968
2015-11-23 19:57:39 +01:00
Kai Uwe Broulik
af32d8b42f [containmentinterface] Workaround self-destructing menu
Basically, if the "determining mimetype" QMenu is shown, and then afterwards we
re-use this menu to show the possible actions, we clear it and then it just destroys
itself on exec() returning a null QAction, rather than waiting for the user to make
a selection. It doesn't matter when, as soon as the menu becomes empty, be it because
we call clear() or we remove the action before populating it. Hence, we just populate
the menu and then remove the first action which will be the "determining mimetype" placeholder.

CHANGELOG: Fix dropping files onto the desktop/panel not offering a selection of actions to take

REVIEW: 125939
2015-11-07 13:12:32 +01:00
Nick Shaforostoff
db7f198a19 -use QStringLiteral and QLatin1String in the code that is executed multiple times (avoids utf8->utf16 conversions)
-use splitRef when converting parts of qstring to ints to avoid redundant memory allocations
-warnings--: remove redundant ';'

CCMAIL: notmart@gmail.com
2015-11-06 13:39:18 +00:00
l10n daemon script
01f4cf59ea SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-11-04 17:07:45 +00:00
Kai Uwe Broulik
3eccd9c8a4 Prevent context menus from overlapping panels
CHANGELOG: Context menus of applets within a panel no longer overlap the applet

REVIEW: 124981
2015-09-09 10:35:48 +02:00
l10n daemon script
98583160cb SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-08-28 10:20:30 +00:00
Vishesh Handa
2dbeea4d23 ContainmentInterface: Move to lambda to a private slot
The containment interface deletion order isn't clear. It can happen that
it is deleted before the application quits, and then this lambda is
called, and its accesses internals of the class even though it has been
deleted.

Reviewd-By: Marco Martin
2015-06-19 01:07:24 +02:00
Marco Martin
839dc2c3df write in the qmlobj rootcontext, not global
use a private rootcontext for each wallpaper, or they would
share config
2015-06-11 18:13:30 -07:00
Marco Martin
1b5805ba02 qmlobjectsharedengine in wallpapers
Change-Id: I6125cfa6d7a0cbf1f6f4ece132e9b824a447ddfb
2015-05-11 20:54:52 +02:00
Marco Martin
ea924b1469 port libplasma away from sycoca as much as possible
this ports most of libplasma away from sycoca, using instead
a combination of KPluginLoader and KPackage::PackageLoader instead
(so eventually using their own little caches instead of the
global sycoca cache)
a kservicetypetrader call is left in the loading of
containmentactions since is the only way to make an older
workspace still work, but is only a fallback, so containmentactions
in plasma-workspace can be ported eventually as well

Change-Id: Ie9579c3e01284f6d97043e22d01bbe63d3c3f45a
REVIEW:123626
2015-05-07 16:26:37 +02:00
Aleix Pol
71891996d4 -- unneeded includes 2015-04-30 19:29:50 +02:00
Marco Martin
f248bfbfd1 consider corona actions when evaluating shortcuts
Change-Id: Ic8ff309d6abac6bd85c4fb3c568a9c040f0fc93a
2015-04-16 18:38:23 +02:00
Marco Martin
48dd5963d3 always return all the actuions
it's task of the visualization(the toolbox) to show or hide them

BUG:345788
Change-Id: I267ba99d7300b52c03877868204d628098d3c2aa
2015-04-02 15:10:40 +02:00
Marco Martin
b9efa292b0 make sure the coordinates are containment relative
Change-Id: I82d3d6dded9701cd674a861a339cd60d6d12c962
Corona::availableScreenRegion has absolute coordinates, we need relative ones
2015-03-27 14:10:20 +01:00
Marco Martin
22796e978d function to adjust a rect to availableScreenRect
Given a geometry, it adjusts it moving it completely inside of the boundaries
of availableScreenRegion, returning the topLeft point of the adjusted
rectangle

reviewed-by: David Edmundson <david@davidedmundson.co.uk>

Change-Id: Ib58cbf521d5def1cd5bb34fe90366d4b628f8a89
CCBUG:345401
CCBUG:345002
2015-03-26 16:50:10 +01:00
David Edmundson
bbd328b957 set m_tooltipTextFormat in both constructors
Change-Id: I37971554121f9de1b3b0ca1b6ff1598c727203ed
2015-03-24 12:18:05 +01:00
David Edmundson
ed558bdd5c Fix order and unitiliased variable warnings in appletinterface
Change-Id: I3fab64384f7cd1fb306c85210a4b3e8ec715732f
2015-03-24 12:16:52 +01:00
Marco Martin
bb9552c7cd remove trailing slash
Change-Id: Ifb22bcfdf2d0562dcb904539a801d8dfa537f35d
2015-02-21 11:27:14 +01:00
Aleix Pol
b14463f352 Make it possible for ContainmentInterface to deal with WrappedMimeData
This way it integrates properly with KDeclarative as well. This will need
to be extended in order to integrate QtQuick.DropArea.
2015-02-20 21:27:30 +01:00
Marco Martin
e2e7cb1cab remove PlasmaKPackageLoader
use a package of type KPackage/GenericQML for the toolbox instead

Change-Id: I5e559535338f093b3cd3734ef9c3906bb20cf001
2015-02-20 18:08:48 +01:00
Sebastian Kügler
a8edd6fd2c Port toolbox loading to KPackage
This needs KPluginMetaData::isHidden() which was recently added in kcoreaddons.

Reviewed-by: Marco Martin
2015-02-20 10:00:02 +01:00
Marco Martin
1794d3c43f ungrab the current grabber before showing the menu
forcing the current item to ungrab the mouse before showinf a modal
menu ensures the scene mouse state will be coherent and an even won't
be lost

Change-Id: Icc0a89c437184ea0b87348358827f898ad342f72
2015-02-19 15:11:25 +01:00
Kai Uwe Broulik
e823ec8488 Ignore single actions on popups
Changelog: Sticky notes no longer appear when middle clicking a plasmoid popup

REVIEW: 122623
BUG: 344309
2015-02-18 14:36:21 +01:00
Hrvoje Senjan
9f677ebb55 Use qstrcmp instead of comparing char* pointer with a string literal [-Waddress]
Reviewed by: mgraesslin
2015-02-17 16:11:20 +01:00
Marco Martin
462ad8a6ca support for C++ applets
make possible for an applet to be implemented in c++ but still
have the qml package with the usual api, this was supposed to
be supported from the beginning.

if a c++ applet has been loaded, make available the property
plasmoid.nativeInterface to the qml part, exposing the subclasses
Applet instance with all eventual extra propertiels/slots.

if no c++ plugin is present, appletInterface will be dummy/not available

this (besides limiting a bit the qml import rabbit procreation)
makes available some things not available to normal private imports:
* access to applet config() to save more complex things compared to what kconfigxt allows
  or save/load stuff from the c++ part
* access to containment()/corona(), may be useful for containment implementations
* easier port for old very big applets such as comics/weather

Change-Id: I65117660043de3a60ad58c77b086f686683d4d8c
2015-02-17 13:43:33 +01:00
Kevin Funk
7e302a5236 Use Q_DECL_OVERRIDE where possible
REVIEW: 122542
2015-02-13 13:31:58 +01:00
Marco Martin
0161b2fce3 don't load hidden toolboxes
Change-Id: I96badc3f3b0c1ff0986bc74570f3dd19073e83b3
2015-01-30 21:05:38 +01:00