Created attachment 186311 [details] overwrite warning UI suggestion (popup notification) Steps to reproduce: 1. "Tools" -> "Options" 2. "LibreOffice Calc" -> "General", enable "Show overwrite warning when pasting data" checkbox 3. Open an empty spreadsheet in LibreOffice Calc 4. Fill in cells A1 and A2 with content (texts "A1" and "A2" respectively) 5. Select A1 cell; press Ctrl+C (copy) 6. Select A2 cell; press Ctrl+V (paste) Actual result: A confirmation dialog saying "You are pasting data into cells that already contain data" with responses "Yes" and "No". Expected result: Cell A2 gets overwritten right away, but a non-disruptive popup appears in a corner, showing how many cells with existing data get overwritten, with a hint that the user may undo if they didn't mean to overwrite data. (See attached picture for UI example.) Explanation of the issue: This article explains well why a _confirmation_ warning is bad when the action is undo-able: "Never Use a Warning When you Mean Undo" https://alistapart.com/article/neveruseawarning/ (A confirmation warning is okay when the action is really not undo-able. For example overwriting an existing file in the Save As dialog. But it's not the case for overwriting cells here.) I know why the warning existed - to prevent users from accidentally overwriting data. But implementing the warning in a _confirmation_ dialog disrupts the user's workflow more than the warning itself benefits. Since there are already UIs in the wild that implement this right, LibreOffice should do the same. Also, remove the "Show overwrite warning when pasting data" checkbox from the Options. When overwriting data cells becomes a non-disruptive notification, it makes no sense for users to opt out the warning. Related (but not the same bug): Bug 87607
I'm not sure that having an "undo" question is much less disruptive than having the confirmation question. Both require an answer from the user, or alternatively either of them could be disabled by user's options. There are at least 2 differences though: the potential "undo" implies: * a requirement for every single result to be correctly undone (and we know by experience and bug reports that this does not always work as expected); * in case we either revert the action or we don't confirm the pasting action, the initial step: ** before the "undo" question, already used resources to actually paste whatever we copied, and more would be used in case we revert; whereas, ** the current "confirmation" dialog asks before wasting those resources.
(In reply to ady from comment #1) > I'm not sure that having an "undo" question is much less disruptive than > having the confirmation question. Both require an answer from the user, or > alternatively either of them could be disabled by user's options. The user's flow would be different: Confirmation question: Always requires a click to answer (to overwrite data or not to overwrite). Notification + undo: If the user intends to overwrite data, just do nothing after the paste; otherwise it's just one click to undo. > > There are at least 2 differences though: the potential "undo" implies: > > * a requirement for every single result to be correctly undone (and we know > by experience and bug reports that this does not always work as expected); I think this is an excuse for not having a better UX. > * in case we either revert the action or we don't confirm the pasting > action, the initial step: > > ** before the "undo" question, already used resources to actually paste > whatever we copied, and more would be used in case we revert; whereas, > ** the current "confirmation" dialog asks before wasting those resources. Unless the data is really large (say, megabytes or more), the resource cost is negligible. Computers are already fast enough, while the user would at least take 0.5 seconds to read and answer the confirmation question.
It's good practice to not interrupt the workflow but allow to undo. We have the infobar for this purpose - not as nice as a special balloon-like info but less effort. This feedback with undo suggestion could solve bug 150739.
The topic was on the agenda of the design meeting but didn't receive further input. Let's replace the interrupting messagebox by an infobar with the option to undo. We should also consider an option to disable this warning.