an an application and/or an url list can be associated with an aplet
and a context menu entry and an applet handle button will be added to
launch that application.
the applet will be considered a preview of something, where the
application its full view, for example the picture frame can open
gwenview
svn path=/trunk/KDE/kdelibs/; revision=1024487
this is icky and depends on scene()->sendEvent
but we need it to know whether the containment plugin has child items
expecting a contextmenuevent, before we eat the event.
by the time contextmenuevent runs normally it's too late.
svn path=/trunk/KDE/kdelibs/; revision=1018486
load requires a containment
fix @since (I could've sworn I did this already..)
rename ContextAction->ContainmentActions
misc. improvements from aaron
no more warnings
qDeleteAll
don't iterate with keys()
svn path=/trunk/KDE/kdelibs/; revision=1012647
fix copyright
always init a contextaction before trying to use it
no more unexpected click-throughs
contextAction() returns the plugin name instead of a pointer
svn path=/trunk/KDE/kdelibs/; revision=1012645
-setContainment, so that we don't have to try and use the parent any
more.
-hasConfigurationInterface; this should've already been there.
-default values for a couple of functions that I think make sense
svn path=/trunk/KDE/kdelibs/; revision=1012644
this makes rightclicks use the plugin configured for rightclick
and adds a new method to the plugin for when an applet is rightclicked
(we need a list of actions then that we can insert into the menu)
this also adds a signal for immutability and improves handling of
needs-configuring plugins
svn path=/trunk/KDE/kdelibs/; revision=1012639
there are a few defaults, only one real plugin exists so far
rightclicks are still overridden by the contextmenu event.
the user is warned about plugins that need configuring.
svn path=/trunk/KDE/kdelibs/; revision=1012636
The idea is that you drop a file from a webpage, or basically a URL onto Plasma and Plasma creates a suitable applet to display this URL. For example an image frame for picture, or a previewer for pdf files. Downloading the data itself (and possibly saving it) is left to the applets. The mimetype needs to be retrieved as it cannot be determined from the URL.
The code pathes I've changed or added are, roughly:
- "something" is dropped onto Plasma
- if it's a remote URL, we don't know the mimetype of the object behind the URL yet
- a KIO::TransferJob is used to retrieve the mimetype asynchronously, and will call back
- we open a QMenu that says "Fetching file type..."
- If the user closes the menu while the mimetype is being retrieved, we will open a new one
- When the TransferJob calls back, and we have our mimetype, we offer a list of applets suitable for this kind of content
- If the user chooses to create an applet, we put the transfer job on hold to make it available for recycling by the applet
- If the user dismisses the offering, we kill the job
Thanks to marco for reviewing and everybody else for the input :)
Next steps are making some more applets work with this.
CCMAIL:plasma-devel@kde.org
svn path=/trunk/KDE/kdelibs/; revision=1009004
-added enableAction function to corona for convenience
-added immutabilityChanged signal so that plasmaapp can respond to lock/unlock
-removed "add activity" action from containment because it's on its way to plasmaapp
-stopped adding corona actions to the containment toolbox, plasmaapp can do a better job of it
-made lock action actually disable on SystemImmutable; sure it wouldn't have worked, but now there's no worries about it showing up in the UI
svn path=/trunk/KDE/kdelibs/; revision=938383
this is a place for things which shouldn't be duplicated over every single containment, like "lock" and "new activity".
for now we still add the lock action to every containment, so that none of the code lower down notices the change - but we only have one action behind it all :)
svn path=/trunk/KDE/kdelibs/; revision=937923
this could interfere with plasma-mid, because it assumes one view per window
but it's the best we can get until we can use real QGraphicsWidget action stuff
svn path=/trunk/KDE/kdelibs/; revision=935758
desktop for a while, making containment()->view() or
corona::containmentfordesktop() fails, leaving the desktop view without
a containment
try to reposition the panel before a vertical movement, it should
prevent the panel to go into the desktop for an instant
CCBUG:176280
svn path=/trunk/KDE/kdelibs/; revision=927141
Instead of using hardcore numbers, it would be great to use the enums provided by
KIconLoader whenever we use sizes for icons.
Made the change for the obvious ones replacing "16" by KIconLoader::SizeSmall,
"22" by KIconLoader::SizeSmallMedium and "32" by KIconLoader::SizeMedium.
svn path=/trunk/KDE/kdelibs/; revision=926544
mouse events while dragging), and is generally shorter and cleaner. There are still some regressions I'll be working on fixing, but it basically works, avoids
crashes and is even faster.
svn path=/trunk/KDE/kdelibs/; revision=923915
-QAction->KAction
IMPORTANT: if you need to do things to the keyboard shortcuts of kactions (which means all of plasma's standard actions from now on), make sure you're using a KAction* and not a QAction*
svn path=/trunk/KDE/kdelibs/; revision=917435
* default to no config interface for containments
* merge the Appearance Settings and Configure actions for containments
* be even more careful with about-to-be-deleted widget (d->transient) including giving them a fake-but-valid scratchpad of a KConfigGroup if requested after deletd
* replace some method calls with direct access to the private members
svn path=/trunk/KDE/kdelibs/; revision=914890
* use newScreen and newDesktop to make the code more understandable; someone already tripped up on d->screen vs screen in a bug report. d->screen vs newScreen should be harder to miss.
svn path=/trunk/KDE/kdelibs/; revision=913111