Review Request 120885: basic undo for plasmoids deletion

David Edmundson david at davidedmundson.co.uk
Thu Oct 30 15:38:54 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120885/#review69405
-----------------------------------------------------------


On gerrit you had some code where the destructor had : if (deletingStatus) cleanUpAndDelete
we need this in case one shuts down during the 1 minute after removing an applet?

This will presumably require every look and feel applet/container interface to implement some sort of visible: status != AwaitingDeletion ?

What would happen in the following scenario:
 - My laptop is plugged in to the mains
 - I delete my battery applet
 - I unplug my laptop  (causing the battery applet to call setStatus() )
 - 
 - The Item status would change and it would reappear? but with the timer still running?

- David Edmundson


On Oct. 29, 2014, 10:16 a.m., Marco Martin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120885/
> -----------------------------------------------------------
> 
> (Updated Oct. 29, 2014, 10:16 a.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-framework
> 
> 
> Description
> -------
> 
> Redone here, that seems a bit more understandable than gerrit.
> 
> It introduces a new status for applets, AwaitingDeletionStatus. triggering the delete action, puts the applet in AwaitingDeletionStatus. triggering it again it really deletes it. A notification with an undo action is emitted when the applet goes in AwaitingDeletionStatus.
> 
> The appelt is really deleted when either:
> * A minute timeout expires
> * The user manually closes the notification
> * Plasma is shut down and the applet is in awaitingdeletion status
> 
> It would then be job for the qml part to actually hide applets that are AwaitingDeletionStatus as they don't exist anymore.
> 
> 
> Diffs
> -----
> 
>   src/plasma/plasma.h 15c346b 
>   src/plasma/private/applet_p.h 76a1270 
>   src/plasma/private/applet_p.cpp 44ecd25 
>   src/plasma/private/containment_p.cpp 3836772 
>   src/scriptengines/qml/plasmoid/appletinterface.cpp 24a36b3 
>   CMakeLists.txt 10c0ef4 
>   src/plasma/CMakeLists.txt 7cc2fe3 
>   src/plasma/applet.cpp f4b5410 
>   src/plasma/data/notifications/plasmashell.notifyrc PRE-CREATION 
>   src/scriptengines/qml/plasmoid/containmentinterface.cpp fae64c6 
> 
> Diff: https://git.reviewboard.kde.org/r/120885/diff/
> 
> 
> Testing
> -------
> 
> I'm not 100% sold on the technical approach on how is done, but it seems to work reliably
> 
> 
> Thanks,
> 
> Marco Martin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20141030/aaf172bc/attachment.html>


More information about the Plasma-devel mailing list