Skip to content
  • Ahmad Samir's avatar
    Improve the Keyboard tab and the KeyBindings editor · 581df2a2
    Ahmad Samir authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
    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
    581df2a2