579 Commits

Author SHA1 Message Date
David Edmundson
63a889ea0d Don't double emit titleChanged
Summary:
AppletInterface::setTitle calls Applet::setTitle -- which in turn emits
Applet::titleChanged

Applet::titleChanged is already connected to
AppletInterface::titleChanged

Reviewers: #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D3759
2016-12-20 13:26:10 +00:00
l10n daemon script
793441b77b 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-12-20 12:53:44 +01:00
Kai Uwe Broulik
a195a6b0b3 [AppletInterface] Never pull focus away from fullRepresentation
When closing the launcher using Meta key, it pulls focus away and when
clicking the button to expand the applet, it won't get focus again.

BUG: 372476
REVIEW: 129404
2016-11-15 10:31:03 +01:00
Marco Martin
07ae9bbc46 set context proeprties before reloading the qml
doing setSource then immediately after rootContext()->setContextProperty
makes the property binding evaluated right at startup to be broken,
also fail any access to said contextproperty until the point of
Conponent.onCompleted

BUG:371763
Change-Id: Ie10afcf3c5b1693db49b5c240c9d2a4f3c47db21
2016-10-31 14:45:37 +01:00
Aleix Pol
6d47160367 Don't reparse the metadata file if it's already loaded
By doing so, we don't tie ourselves to the desktop format as well as we
leverage cached data.
Expose Plasma::Package::kPackage

REVIEW: 129278
2016-10-31 12:04:06 +01:00
Roman Gilg
65706d3878 New bool to use activated signal as toggle of expanded
The launcher applets couldn't be closed with Meta alone and on Wayland
in general by any global shortcut, since we used for that the focusOutEvent
triggered only on X and only on global shortcuts (on default Alt+F1).

This patch introduces the new bool activationTogglesExpanded, which allowes
QML applets to decide if they wish to use the activated signal also to end
their expanded state.

The default value is false, in order to not break any legacy applets.

REVIEW: 129204
BUG: 367685
2016-10-19 18:51:15 +02:00
Eike Hein
91eb0749ed Revert "port all output to QCDebug/QCWarning"
This reverts commit acd7ab7815a2a1f9a65f1dbf2cb53123c86da58b.

This broke the build for me and on CI:
/home/jenkins/sources/plasma-framework/kf5-qt5/src/declarativeimports/core/datamodel.cpp:214:9:
error: 'LOG_PLASMACORE' was not declared in this scope

CCMAIL:notmart@gmail.com
2016-10-19 03:16:16 +09:00
Marco Martin
acd7ab7815 port all output to QCDebug/QCWarning
port every terminal output to appropriate QCdebug/QCwarning,
each different binary has its own logging category now, so
it's possible to enable/disable them selectively.
this should also make plasmashell a bit more quiet on
terminal by default

Change-Id: Ic0b26364f988935e990c6988f8f9375b7c9bf838
REVIEW:129210
2016-10-17 18:18:04 +02:00
Aleix Pol Gonzalez
9e54853ac8 Use less deprecated API
Makes it easier to look at the compilation output.

REVIEW: 129150
2016-10-17 13:36:51 +02:00
Aleix Pol
bd970141ce Simplify plugin construction by relying exclusively on KPluginMetaData
REVIEW: 129057
2016-10-04 23:56:17 +02:00
Eike Hein
89a3e34bd2 Move availableScreenRect/Region up to AppletInterface.
Summary:
Tested with Folder View and Simple Menu, both use cases (desktop
containment margins, strut-aware dialog placement) addressed.

Reviewers: #plasma, mart

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D2932
2016-10-04 21:47:02 +09:00
l10n daemon script
71b8f9b22d 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-09-09 09:25:38 +00:00
David Edmundson
920dbcb1e8 Fix missing cleanup in early return
commit c8fdd7ed2032b7b0664a6c9d0d56296f674abeb2 pushes a lazy fix for a
crash, but instead just leaves all signals blocked on
ContainmentInterface

REVIEW: 128642
2016-08-10 10:37:13 +01:00
David Edmundson
1ace6a46de Keep compatiable slot createApplet with Frameworks 5.24
Commit bb70febdbe397b617e5c41aff5494fdbc185fa88 changed the slot for
adding createApplet, turning the final argument from QPoint to QRect.

If the rectangle size is nothing, it acts like the original code.

Despite this being private API (ish) there is a hacks in plasma-
workspace that call methods on the view via QMetaObject invoke. This
obviously fails. As we need compatibility for Plasma/5.7 and earlier a
compatibility slot needs to stay.

REVIEW: 128640
2016-08-10 00:41:07 +01:00
David Edmundson
8031d80df5 Fix argument type in QMetaObject invoke
Commit bb70febdbe397b617e5c41aff5494fdbc185fa88 ported an argument from
QRect to QRectF. However, not all local invocations were updated.

REVIEW: 128641
2016-08-10 00:41:07 +01:00
Marco Martin
c8fdd7ed20 crash--
applet may be invalid

Change-Id: I53e831f1fb2dcf991b9248ce79036d77208d5893
2016-08-09 11:41:02 +02:00
David Edmundson
7364377a06 Add translation domain to wallpaper QML object
REVIEW: 128612
2016-08-09 09:37:01 +01:00
Marco Martin
e1a0299a46 don't manually delete applets
applets will be deleted by the parent, as they are
acontainment's children. by not deleting them by hand
also every signal will be disconnected, not causing appletRemoved
to be emitted, so not causing removal of config
pieces at shutdown, this removes the need of the
explicit disconnect in aboutToQuit from contaiment interface

Change-Id: Iddf6ded60ae849ca03c363be6e736da496310b82
reviewed-by: David Edmundson
2016-08-08 15:07:10 +02:00
Marco Martin
bb70febdbe support a size for adding applets
in the addapplet signal, support size paramenters as well,
to specify a full geometry where you want the plasmoid.

REVIEW:128597
2016-08-05 10:02:10 +02:00
Eike Hein
98c721e031 Fix build. 2016-08-01 03:57:22 +09:00
Eike Hein
8665999ee7 Emit contextualActionsAboutToShow before showing the applet's contextualActions menu.
This is done by ContainmentInterface::mousePressEvent, but not in this
code path, which is hit for applet panel popups.

Folder View relies on this to update actions ahead of the menu being
opened.

BUG:366294
2016-07-31 21:12:52 +09:00
David Edmundson
fb3e8d5fc5 Make use of QQuickItem::setSize
Even though QQuickItem only has a width and height accessor there is a
usable public setSize method.

This gets rid of a lot of potential re-evaluation as internal geometry
is updated before widthChanged is emitted.

REVIEW: 128316
2016-07-04 11:06:44 +01:00
David Edmundson
3c1eb48018 Don't include embedded contrainers in containmentAt(pos)
Do to so means the System Tray applet ends up being placed inside the
system tray container, which ends up in a parent loop, causing a stack
overflow every time parent() is called recursively

This happens whenever one drags a sys tray on the desktop or simply adds
a new system tray whilst running.

BUG: 361777

We also need to do a hack for Plasma/5.7 in plasma-desktop somehow in
all cases where this is used.
2016-06-20 21:07:19 +01:00
Marco Martin
6f5816fc57 ensure the scriptengine is here
ensure the scriptengine gets created also for c++ applets
that have a valid scriptengine, move the script init
out of applet::init that can be reimplemented.
remove the second appletscript constructor that is
not necessary anymore

REVIEWED-BY: Kai Uwe Broulik
2016-06-15 11:04:21 +02:00
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