D28744: Rewrite of the global shortcuts kcm

David Redondo noreply at phabricator.kde.org
Sat Apr 11 13:04:50 BST 2020


davidre created this revision.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
davidre requested review of this revision.

REVISION 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.

TEST PLAN
  kcmshel kcm_keys

REPOSITORY
  R119 Plasma Desktop

BRANCH
  kcmkeys2 (branched from master)

REVISION DETAIL
  https://phabricator.kde.org/D28744

AFFECTED FILES
  kcms/keys/CMakeLists.txt
  kcms/keys/ChangeLog
  kcms/keys/Messages.sh
  kcms/keys/README
  kcms/keys/export_scheme_dialog.cpp
  kcms/keys/export_scheme_dialog.h
  kcms/keys/export_scheme_dialog.ui
  kcms/keys/filteredmodel.cpp
  kcms/keys/filteredmodel.h
  kcms/keys/globalshortcuts.cpp
  kcms/keys/globalshortcuts.h
  kcms/keys/kcm_keys.cpp
  kcms/keys/kcm_keys.desktop
  kcms/keys/kcm_keys.h
  kcms/keys/keys.desktop
  kcms/keys/kglobalshortcutseditor.cpp
  kcms/keys/kglobalshortcutseditor.h
  kcms/keys/kglobalshortcutseditor.ui
  kcms/keys/package/contents/ui/ShortcutActionDelegate.qml
  kcms/keys/package/contents/ui/main.qml
  kcms/keys/package/metadata.desktop
  kcms/keys/select_application.ui
  kcms/keys/select_scheme_dialog.cpp
  kcms/keys/select_scheme_dialog.h
  kcms/keys/select_scheme_dialog.ui
  kcms/keys/shortcutsmodel.cpp
  kcms/keys/shortcutsmodel.h

To: davidre
Cc: plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200411/122289ee/attachment.html>


More information about the Plasma-devel mailing list