> 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 > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel