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

Reply via email to