Review Request 120885: basic undo for plasmoids deletion

Marco Martin notmart at gmail.com
Thu Oct 30 15:43:40 UTC 2014



> On Oct. 30, 2014, 3:38 p.m., David Edmundson wrote:
> > 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?

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

yeah, every containment and the shell package for the panel, not completely happy about it, but may still be the simplest (i can take a look if i can emit fake appletdeleted signals only in containmentinterface while not actually deleting the applets)

> What would happen in the following scenario:
>My laptop is plugged in to the mains
> I delete my battery applet

Good point, so may be needed another property different than status :/


- Marco


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


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/b502f26d/attachment.html>


More information about the Plasma-devel mailing list