Improve the Keyboard tab and the KeyBindings editor
Summary:
- Change updateKeyBindingsList() to select the last edited keybindings scheme after closing the editor dialog
- Add a tooltip showing the path of each keybinding scheme, this should lessen the confusion when the scheme description and the file name of the .keytab file are different
- Add a button to the Keyboard tab to reset a scheme to its default values, this is only applicable for schemes that exist in both system-wide and user specific locations
- Move a lot of the construction of the keybinding editor widgets from EditProfileDialog to KeyBindingEditor
- Change the wording from "key bindings list" to "key bindings scheme" to differentiate between a keyboard translator "scheme" and the key bindings "list" on the Keyboard tab
KeyBindingEditor:
- Make the KeyBindingEditor a QDialog and set Qt::WA_DeleteOnClose
- Disallow saving a scheme with an empty description
- Add a QLineEdit to show only the rows that have strings matching the text entered in the line edit box
- Reimplement sizeHint() to make the dialog slightly smaller than the Edit Profile dialog, for better visibility of the entries
KeyboardTranslatorManager:
- Make findTranslatorPath() const and public
- Make allTranslators() return type const
Test Plan:
- Editing a key bindings scheme works and closing the dialog selects the edited scheme
- Creating a new scheme works as before
- "Defaults" button works for system-wide schemes if they were previously edited and saved under the user's home dir
- Remove button is only enabled for schemes saved in a dir writable for the user
Reviewers: Konsole, hindenburg
Reviewed By: Konsole, hindenburg
Subscribers: konsole-devel, Konsole
Tags: Konsole
Differential Revision: https://phabricator.kde.org/D12981