GNOME Bugzilla – Bug 574485
Feature Request: Inform user of changed links when renaming notes
Last modified: 2010-02-08 18:14:07 UTC
Let's say I'm writing a new note and make the title something simple, such as "Meals" As soon as I do this, all notes w/ the word "meals" link to this note, even though that linking is unintentional. In many situations this is a cool feature. But what happens if I type "Meals" as the note title, type some content for the note, and then quickly decide to change the note to "MyMealPlan". Then all of the notes get an instant global search-and-replacement of "My Meal Plan" for "meals". I completely understand the reasoning behind why TomBoy does this, and I understand the "workaround" would be to not name your notes simple things that might be mentioned in other notes, but I believe this workaround is not ideal while keeping user-experience in mind. I believe that TomBoy should, in some way, inform the user that changing a title will change the link names in other notes, and ask the user whether or not to change those links or simply ignore them and let the links be removed.
This is a solution I have proposed for bug #350990. I guess it's better to keep this as as separate bug, though. I completely agree with your sentiment. Targetting some sort of resolution for the next cycle.
Starting to look at this. Implementation-wise, we need to change how we do rename handling...right now every single note is watching for a rename to happen in any other note, and handling the text change itself. We need to centralize this action so that we can put a GUI up in front of it.
Created attachment 153179 [details] [review] Allow user to decide if links are updated when renaming a note (bug #574485) By default, when renaming a note to which other notes have links, display a dialog explaining the situation, showing a list of affected notes, and letting the user pick which notes (if any) will be updated. Notes that are not updated will have the link removed (not just broken). By default, no notes listed in the dialog are selected for update. The dialog also allows the user to set a preference to always show the dialog, or always update link text to reference the new note name, or always leave the text alone and remove the link.
Created attachment 153180 [details] Screenshot of new dialog Notes on the screenshot: * The "Advanced Preferences" thing is not expanded by default * Selecting "Never rename links" causes all notes in the list to become unselected, and for the treeview and select all/none buttons to become disabled. * Selecting "Always rename links" causes all notes in the list to become selected, and for the treeview and select all/none buttons to become disabled. * This dialog is modal * Double-clicking any row will cause the corresponding note to be opened * Closing the window without clicking "Rename Links in Selected Notes" is equivalent to selecting no notes (in other words, all links to the note are removed, and text in the listed notes is otherwise unchanged) The only think I can think of that's missing are mnemonics. UI critiques and other suggestions welcome.
And lastly, see this link for justification: https://bugzilla.gnome.org/show_bug.cgi?id=350990#c32
Created attachment 153186 [details] New Screenshot - Cleaned up the UI Matthew Pirocchi gave me some tips in IRC and I cleaned up the dialog to not show the treeview by default. He pointed out that it's probably pretty rare that you'd actually want to change this on a note-by-note basis, so I tossed it into the Advanced expander. So by default it's a very small dialog with two buttons: "Rename Links" and "Don't Rename Links". Based on Matthew's advice I tried to simplify the text in the dialog. I hope it still conveys the idea that other notes may have automatically gained links to the note you renamed, and that renaming the links might not be what you want.
Created attachment 153188 [details] [review] Allow user to decide if links are updated when renaming a note (bug #574485) By default, when renaming a note to which other notes have links, display a dialog explaining the situation, showing a list of affected notes, and letting the user pick which notes (if any) will be updated. Notes that are not updated will have the link removed (not just broken). The dialog also allows the user to set a preference to always show the dialog, or always update link text to reference the new note name, or always leave the text alone and remove the link.
Created attachment 153213 [details] Screenshot
It looks good to me. One suggestion: Is the "Rename Links" column title really necessary? Maybe I'm just obsessive about removing clutter, but it seems obvious what the checkbox does.
Created attachment 153218 [details] [review] Allow user to decide if links are updated when renaming a note (bug #574485) By default, when renaming a note to which other notes have links, display a dialog explaining the situation, showing a list of affected notes, and letting the user pick which notes (if any) will be updated. Notes that are not updated will have the link removed (not just broken). The dialog also allows the user to set a preference to always show the dialog, or always update link text to reference the new note name, or always leave the text alone and remove the link.
The only thing blocking this is that we've added a preference that is exposed in the new dialog but not in our Prefs window. Looking at the best approach.
Fixed in master, will be in today's release.