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