For a change, I answer to a message to Edwin... "Bo Peng" <[EMAIL PROTECTED]> writes: > And if we would like to display this item, it is displayed as > 'unmatched deleted item'.
But do we want to? > Why can not you just address the three problems I described with > your proposal? > > 1. when do you insert this to the bind file? When a user click remove? > Since you are removing *all* shortcuts related to buffer-close, you > will have to search the tree and remove all of them. Why not. > 2. how do you 'undo' your removal? If the removal is a removal of an user-made change, like in all other dialogs a modification is final when pressing OK and/or save. We do not have an UI for undoing each and every change we do to the prefs. If the change is a removal of a bind-file binding, revert would remove the change done in the user binding (that is, set the binding to what it originally was). > 3. How do you display this item if there is already no shortcuts > related to 'buffer-close'? I don't. My proposal does not propose to implement a complete journaling-filesystem-type log of changes. I do not think it is useful. We just do the modifications asked by the user and, instead of writing the whole set of binding to user.bind, just write the diff wrt the original bind file. I think it is much simpler. For example, with latest trunk (which works very well now), when I make a change I see something like buffer-check-tex C-M-s Changed shortcut buffer-check-tex System shortcut Why do we need that? Do we have for each pref an indication of what the LyX default was? I think overloading the user with not so relevant information makes the UI less easy to use. I would expect to see the current bindings, not a run-down of the history that lead me to it. >> and setting or removing a keybinding is at the >> function level and therefore unambigous. these user set bindings then >> override the system ones when they are loaded. > > Maybe I am too lazy but your 'override all' logic is difficult to > implement at both GUI and core levels. At the very least, it is > difficult to clear all bindings related to a LFUNC, because you will > have to traverse all nested keymaps. Hmm, we already have several funcs doing that, and they do not use more than 20 lines. ----------- As far as I am concerned, I am going to stop here this discussion. I am not going to make the changes. I am not going to strongarm Bo into doing them. So in the end Bo gets to decide (which IMO shows how good the "commit first and discuss later" method is, but of course I see only one side of the discussion). However, here is a short list of changes I really want: - the shortcuts should use Qt GUI friendly notation, nobody cares about LyX internal notation - the colors should go - the "<- Clear" button is not needed, clearing a text entry field is simple enough. JMarc