Review Request 123211: Ask for confirmation before deleting a wallpaper.

Marco Martin notmart at gmail.com
Wed Apr 1 18:10:22 UTC 2015



> On April 1, 2015, 4:44 p.m., Marco Martin wrote:
> > An undo feature can be done as following:
> > the wallpaper model would have a role like "pendingDeletion" that would be set by the remove button on the thumbnail. At that point the thumbnail can show an undo button based on the role.
> > Upon apply or ok, a "commitDeletion" method would be called on the model instance. this would go trough all the items and do the removeWallpaper on the ones that have the PendingDeletion role set.
> > Cancel would not delete anything.
> > 
> > Antonis, would you feel giving a try on it?
> 
> Thomas Pfeiffer wrote:
>     Interesting approach! All in all, I see three possible approaches here:
>     1. The one you described. 
>       Advantage: Users can make any modification to their decisions before they are committed
>       Disadvantage: If only one wallpaper is removed and nothing else is changed, it still adds another action which would otherwise not be needed
>     2. An undo function that only applies to the most recently removed wallpaper, so really just an "Oops, I didn't mean to do that, Ctrl-Z!" kind of thing, similar to the Plasmoid removal undo. As soon as another one is removed or the dialog is closed, it would not be possible to undo it anymore
>       Advantage: Adds no additional action in case one just removes one wallpaper (not by accident) and does nothing else
>       Disadvantage: Users could still lose their wallpapers if they realize their mistake too late
>     3. Establishing a Trash for wallpapers which contains both the file and the entry in the "database" of wallpapers, which stays until actively emptied by the user
>       Advantage: Adds no further action and it's possible to delete multiple wallpapers in a row and restore them all
>       Disadvantage: Probably the most complex one implementation wise, plus would need a way to show and empty the trash
>       
>     In the end, we should look at this in the context of other areas where undo functionality makes sense and choose the approach that can be applied (at least in a similar way from a user perspective) to the broadest range of cases. The problem this solves is not important enough to create a solution just for this situation alone. It's only worth doing if it can be a model for similar situations (and there are plenty of them)
> 
> Marco Martin wrote:
>     talking from implementation standpoint 1) would be trivial, 2 and 3 more of a mess (not sure woth the bother doing it for such a minor use case)
>     as consistency, will always be for the situation in particular alone, every single case is completely different in implementation and i think in what could be shown to the user as well
> 
> Thomas Pfeiffer wrote:
>     Do you think it would be theoretically possible at least to apply 1) to other KCMs where themes etc. can be installed or removed (at least from an interaction perspective, even if the underlying implememtation would differ)? Accidentally removing e.g. a Plasma theme would be exactly as good or bad as accidentally removing a wallpaper which was downloaded thorugh GHNS, after all.

yes, I think so.
basically, since we can't really "undo", what would actually do is to "fake" the removal of the theme or the thing in question and actually do it on config apply (like for plasmoids at the moment, is "faking" removal as well)
a similar trick should be employable in several places


- Marco


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


On April 1, 2015, 3:27 p.m., Antonis Tsiapaliokas wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123211/
> -----------------------------------------------------------
> 
> (Updated April 1, 2015, 3:27 p.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Bugs: 338729
>     https://bugs.kde.org/show_bug.cgi?id=338729
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> This patch is adding a confirmation dialog which is being called before we remove a wallpaper.
> 
> 
> Diffs
> -----
> 
>   wallpapers/image/imagepackage/contents/ui/WallpaperDelegate.qml aee2d3f 
>   wallpapers/image/imagepackage/contents/ui/config.qml 2108082 
> 
> Diff: https://git.reviewboard.kde.org/r/123211/diff/
> 
> 
> Testing
> -------
> 
> 
> File Attachments
> ----------------
> 
> dialog
>   https://git.reviewboard.kde.org/media/uploaded/files/2015/04/01/5bfd2d7c-8baa-4b80-ad20-0844aafdb3a9__deletion_dialog.png
> 
> 
> Thanks,
> 
> Antonis Tsiapaliokas
> 
>

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


More information about the Plasma-devel mailing list