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