1. 21 Jan, 2021 1 commit
  2. 29 Oct, 2020 1 commit
  3. 18 Sep, 2020 1 commit
    • David Redondo's avatar
      [kcms/keys] Highlight changed settings · 41c47566
      David Redondo authored
      Manual implementation of change highlighting as done automatically in other
      kcms. Highlighted items include: Collpased action delegates whose active key
      sequences are different from the default, in the expaned state unset checkboxes
      for default key sequences and keysequenceitems for added shortcuts are highlighted.
      Finally in the components list, delegates who contain at least one action that is not
      in a default state are higlighted in the same style as config modules in the
      system settings sidebar.
      41c47566
  4. 16 Sep, 2020 1 commit
    • David Redondo's avatar
      [kcms/keys] Handle conflicts in the kcm · c24340bd
      David Redondo authored
      Previously conflicts where handled in KeySequenceItem where inputs were being
      compared against the current active shortcut configuration. For simple
      configuration actions this is good enough but inconvenient for more complicated
      user interaction. If action A has key sequence K, the user removes K from A and
      assigns it to another action B, they would prviously be prompted that K is
      assigned to A, even though after clicking apply there were no changes.
      
      Doing conflict detection ourselves we can keep the model consistent and prompt
      for conflicts against the current state of the models of the kcm. Also solves
      a bug where it would fail to activate a default key sequence when it was
      assigned to another action because the checkbox would not check for conflicts.
      c24340bd
  5. 13 Aug, 2020 1 commit
    • David Redondo's avatar
      Integrate standard shortcuts into global shortcuts kcm and rename it to just "Shortcuts" · c2d07beb
      David Redondo authored
      The standard shortcuts kcm is dropped and instead a new category "Standard Shortcuts" shown in the kcm. The standard shortcuts themselves are divided into some categries like navigation and edit to make finding a particular shortcut easier. The model specific behavior and changing of shortcuts of the model is moved into a base class. Both the new standard shortcuts model and the kglobalaccel model (renamed from ShortcutsModel) inherit from the base and implement their own saving and loading methods. ShortcutsModel now combines both of these model. It is a KConcatenateRowsProxyModel extended to support the tree models that are two levels deep.
      c2d07beb
  6. 30 Apr, 2020 1 commit
    • David Redondo's avatar
      Rewrite of the global shortcuts kcm · 1ee6660c
      David Redondo authored
      Summary:
      This is a total rewrite of the global shortcuts kcm from scratch. It uses an
      abstract item model backend with a qml frontend. This resolves some issues the
      old kcm inherently had because it just stacked KShortcutEditors. First it enables
      a global serach/filter which either matches the component name, actions, default
      or set key combinations across components. Secondly KGlobalAccel can have multiple
      default/active key combinations for each action - the old kcm only exposed two each.
      The new kcm displays all default or set key combinations.
      The main visual structure is similiar to the old kcm. On the left there is a list
      with all components but rather than divided into "Application Launchers" and
      "Other Shortcuts" the sections are now called "Applications" and "System Services"
      (cf. notifications kcm) and the components are now assigned whether the service
      we find for a component is an application or not rather if the component was
      added via .desktop file. In the main view the shortcuts are displayed. Each item
      corresponds to one action. Initially each item is collapsed and shows the action
      name and a list of the currently set key combinations for that action. In the
      expanded form all default shortcuts are shown which can be activated or
      deactivated and all other active shortcuts ("Custom Shortcuts"). It is possible
      to change, remove or add new custom shortcuts.
      The kcm and model communicate directly with the daemon over DBus. This removes
      the need to awkwardly construct actions to pass to the KGlobalAccel API.
      
      BUG: 157468
      BUG: 213101
      BUG: 230583
      BUG: 250121
      BUG: 251437
      BUG: 272554
      BUG: 318964
      BUG: 341817
      BUG: 348264
      BUG: 366257
      BUG: 369020
      BUG: 388574
      BUG: 393403
      BUG: 408942
      BUG: 416149
      BUG: 416737
      BUG: 417915
      BUG: 419215
      BUG: 419515
      BUG: 419624
      BUG: 419692
      BUG: 419825
      BUG: 419909
      BUG: 420093
      FIXED-IN: 5.19.0
      
      Closes T7267
      
      Test Plan:
      kcmshell5 kcm_keys
      {F8243559}
      
      {F8243560}
      
      {F8243561}
      
      {F8243562}
      
      {F8243563}
      
      {F8243564}
      
      Reviewers: #vdg, #plasma, ngraham
      
      Reviewed By: #vdg, ngraham
      
      Subscribers: GB_2, broulik, davidedmundson, nicolasfella, ngraham, iasensio, plasma-devel
      
      Tags: #plasma
      
      Maniphest Tasks: T7267
      
      Differential Revision: https://phabricator.kde.org/D28744
      1ee6660c