gpark created this revision. gpark added a reviewer: hein. Restricted Application added a project: Plasma. Restricted Application added a subscriber: plasma-devel. gpark requested review of this revision.
REVISION SUMMARY finish Hardware section stash unset CMAKE_INSTALL_PREFIX fix install directory add layout model make a model for layouts expand itemmodel with ExpandLayoutListProxyModel change qml structure add add layout to list implement layout selector remove unnecessary files remove more unnecessary files implement save() for next layout shortcut separate kcmui and daemon rename main.cpp to kcm_keyboard.cpp wrap layout list model with proxy add filter add fcitx current layout list model change layout list to im list implement fcitx currentlayoutslistmodel load() remove item from original list if it is added add configure button change model architecture Add filter models improve fcitx support try to add fcitx im config move UI models to qml preserve order of fcitx im config items Implement move up/move down change mechanism to uncheck item on close dialog move file temporarily to apply patch Apply patch D13178 <https://phabricator.kde.org/D13178> fix build system Change to CamelCase and move save and load to main class change model structure to incorporate lost layouts Implement drag-and-drop fix multi-add Simplify model structure emit changed() signal use proper keysequence widget use scrollviewkcm remove tray icons add icons for buttons move fcitx to parent dir fix moving problems fix updating problems start working on daemon formatting add latin switching restructure project Make Input Source detection more IM-agnostic Fix daemon dbus calls; Implement show/hide replace first icon of the applet implement context menu Implement main shortcut & 3rd level shortcut add context menu add advanced tab UI add advanced functionality revert back to original daemon Remove outdated tests REPOSITORY R119 Plasma Desktop BRANCH new_keyboard_kcm REVISION DETAIL https://phabricator.kde.org/D14796 AFFECTED FILES applets/kimpanel/package/contents/ui/CompactRepresentation.qml applets/kimpanel/package/contents/ui/MainContextMenu.qml applets/kimpanel/package/contents/ui/main.qml dataengines/kimpanel/CMakeLists.txt dataengines/kimpanel/kimpanelagent.cpp dataengines/kimpanel/kimpanelagent.h dataengines/kimpanel/kimpaneldataengine.cpp dataengines/kimpanel/kimpanelstatusbarcontainer.cpp dataengines/kimpanel/kimpanelstatusbarcontainer.h kcms/CMakeLists.txt kcms/keyboard/CMakeLists.txt kcms/keyboard/Messages.sh kcms/keyboard/README kcms/keyboard/TODO kcms/keyboard/bindings.cpp kcms/keyboard/bindings.h kcms/keyboard/config-keyboard.h.cmake kcms/keyboard/daemon/CMakeLists.txt kcms/keyboard/daemon/bindings.cpp kcms/keyboard/daemon/bindings.h kcms/keyboard/daemon/keyboard.desktop kcms/keyboard/daemon/keyboard_daemon.cpp kcms/keyboard/daemon/keyboard_daemon.h kcms/keyboard/daemon/keyboard_hardware.cpp kcms/keyboard/daemon/keyboard_hardware.h kcms/keyboard/daemon/x11_helper.cpp kcms/keyboard/daemon/x11_helper.h kcms/keyboard/daemon/xinput_helper.cpp kcms/keyboard/daemon/xinput_helper.h kcms/keyboard/daemon/xkb_helper.cpp kcms/keyboard/daemon/xkb_helper.h kcms/keyboard/fcitx/fcitxqtdbusaddons_export.h kcms/keyboard/fcitx/fcitxqtinputmethoditem.cpp kcms/keyboard/fcitx/fcitxqtinputmethoditem.h kcms/keyboard/fcitx/fcitxqtinputmethodproxy.cpp kcms/keyboard/fcitx/fcitxqtinputmethodproxy.h kcms/keyboard/fcitx/org.fcitx.Fcitx.InputMethod.xml kcms/keyboard/flags.cpp kcms/keyboard/flags.h kcms/keyboard/iso_codes.cpp kcms/keyboard/iso_codes.h kcms/keyboard/kcm_add_layout_dialog.cpp kcms/keyboard/kcm_add_layout_dialog.h kcms/keyboard/kcm_add_layout_dialog.ui kcms/keyboard/kcm_keyboard.cpp kcms/keyboard/kcm_keyboard.desktop kcms/keyboard/kcm_keyboard.h kcms/keyboard/kcm_keyboard.ui kcms/keyboard/kcm_keyboard_widget.cpp kcms/keyboard/kcm_keyboard_widget.h kcms/keyboard/kcm_view_models.cpp kcms/keyboard/kcm_view_models.h kcms/keyboard/kcmmisc.cpp kcms/keyboard/kcmmisc.h kcms/keyboard/kcmmiscwidget.ui kcms/keyboard/kcmui/CMakeLists.txt kcms/keyboard/kcmui/abstract_advanced_model.cpp kcms/keyboard/kcmui/abstract_advanced_model.h kcms/keyboard/kcmui/advanced_filter_proxy_model.cpp kcms/keyboard/kcmui/advanced_filter_proxy_model.h kcms/keyboard/kcmui/advanced_flatten_proxy_model.cpp kcms/keyboard/kcmui/advanced_flatten_proxy_model.h kcms/keyboard/kcmui/advanced_model.cpp kcms/keyboard/kcmui/advanced_model.h kcms/keyboard/kcmui/hardware_config_model.cpp kcms/keyboard/kcmui/hardware_config_model.h kcms/keyboard/kcmui/kcm_keyboard.cpp kcms/keyboard/kcmui/kcm_keyboard.desktop kcms/keyboard/kcmui/kcm_keyboard.h kcms/keyboard/kcmui/keyboard_model_model.cpp kcms/keyboard/kcmui/keyboard_model_model.h kcms/keyboard/kcmui/layout_config_model.cpp kcms/keyboard/kcmui/layout_config_model.h kcms/keyboard/kcmui/package/contents/ui/Advanced.qml kcms/keyboard/kcmui/package/contents/ui/FcitxIMConfig.qml kcms/keyboard/kcmui/package/contents/ui/Hardware.qml kcms/keyboard/kcmui/package/contents/ui/LayoutPreview.qml kcms/keyboard/kcmui/package/contents/ui/Layouts.qml kcms/keyboard/kcmui/package/contents/ui/TriSelector.qml kcms/keyboard/kcmui/package/contents/ui/XkbLayoutConfig.qml kcms/keyboard/kcmui/package/contents/ui/main.qml kcms/keyboard/kcmui/package/metadata.desktop kcms/keyboard/keyboard.desktop kcms/keyboard/keyboard_config.cpp kcms/keyboard/keyboard_config.h kcms/keyboard/keyboard_daemon.cpp kcms/keyboard/keyboard_daemon.h kcms/keyboard/keyboard_hardware.cpp kcms/keyboard/keyboard_hardware.h kcms/keyboard/layout_memory.h kcms/keyboard/layout_memory_persister.cpp kcms/keyboard/layout_memory_persister.h kcms/keyboard/layout_tray_icon.cpp kcms/keyboard/layout_tray_icon.h kcms/keyboard/layoutmodel/CMakeLists.txt kcms/keyboard/layoutmodel/fcitx_im_config_model.cpp kcms/keyboard/layoutmodel/fcitx_im_config_model.h kcms/keyboard/layoutmodel/input_sources.cpp kcms/keyboard/layoutmodel/input_sources.h kcms/keyboard/layoutmodel/layout_list_concat_proxy_model.cpp kcms/keyboard/layoutmodel/layout_list_concat_proxy_model.h kcms/keyboard/layoutmodel/layout_list_current_proxy_model.cpp kcms/keyboard/layoutmodel/layout_list_current_proxy_model.h kcms/keyboard/layoutmodel/layout_list_filter_disabled_proxy_model.cpp kcms/keyboard/layoutmodel/layout_list_filter_disabled_proxy_model.h kcms/keyboard/layoutmodel/layout_list_filter_duplicates_proxy_model.cpp kcms/keyboard/layoutmodel/layout_list_filter_duplicates_proxy_model.h kcms/keyboard/layoutmodel/layout_list_filter_source_proxy_model.cpp kcms/keyboard/layoutmodel/layout_list_filter_source_proxy_model.h kcms/keyboard/layoutmodel/layout_list_model_base.cpp kcms/keyboard/layoutmodel/layout_list_model_base.h kcms/keyboard/layoutmodel/layout_list_model_fcitx.cpp kcms/keyboard/layoutmodel/layout_list_model_fcitx.h kcms/keyboard/layoutmodel/layout_list_model_selected.cpp kcms/keyboard/layoutmodel/layout_list_model_selected.h kcms/keyboard/layoutmodel/layout_list_model_xkb.cpp kcms/keyboard/layoutmodel/layout_list_model_xkb.h kcms/keyboard/layoutmodel/layout_list_models.cpp kcms/keyboard/layoutmodel/layout_list_models.h kcms/keyboard/layoutmodel/layout_list_sort_by_priority_proxy_model.cpp kcms/keyboard/layoutmodel/layout_list_sort_by_priority_proxy_model.h kcms/keyboard/layoutmodel/layout_list_sort_filter_proxy_model.cpp kcms/keyboard/layoutmodel/layout_list_sort_filter_proxy_model.h kcms/keyboard/layoutmodel/layout_list_xkb_expand_proxy_model.cpp kcms/keyboard/layoutmodel/layout_list_xkb_expand_proxy_model.h kcms/keyboard/layoutmodel/xkb_layout_config_model.cpp kcms/keyboard/layoutmodel/xkb_layout_config_model.h kcms/keyboard/layouts_menu.cpp kcms/keyboard/layouts_menu.h kcms/keyboard/pics/CMakeLists.txt kcms/keyboard/pics/epo.png kcms/keyboard/preview/TODO kcms/keyboard/preview/geometry_components.cpp kcms/keyboard/preview/geometry_components.h kcms/keyboard/preview/geometry_parser.cpp kcms/keyboard/preview/geometry_parser.h kcms/keyboard/preview/kbpreviewframe.h kcms/keyboard/preview/keyaliases.cpp kcms/keyboard/preview/keyaliases.h kcms/keyboard/preview/keyboardlayout.cpp kcms/keyboard/preview/keyboardlayout.h kcms/keyboard/preview/keyboardpainter.cpp kcms/keyboard/preview/keyboardpainter.h kcms/keyboard/preview/keysym2ucs.cpp kcms/keyboard/preview/keysym2ucs.h kcms/keyboard/preview/keysymbols.cpp kcms/keyboard/preview/keysymbols.h kcms/keyboard/preview/keysymhelper.cpp kcms/keyboard/preview/keysymhelper.h kcms/keyboard/preview/symbol_parser.cpp kcms/keyboard/preview/symbol_parser.h kcms/keyboard/tests/CMakeLists.txt kcms/keyboard/tests/config/base.1.1.xml kcms/keyboard/tests/config/base.bad.xml kcms/keyboard/tests/config/base.xml kcms/keyboard/tests/flags_test.cpp kcms/keyboard/tests/geometry_parser_test.cpp kcms/keyboard/tests/iso_codes_test.cpp kcms/keyboard/tests/keyboard_daemon_test.cpp kcms/keyboard/tests/layout_memory_persister_test.cpp kcms/keyboard/tests/xkb_rules_test.cpp kcms/keyboard/udev_helper.cpp kcms/keyboard/udev_helper.h kcms/keyboard/x11_helper.cpp kcms/keyboard/x11_helper.h kcms/keyboard/xinput_helper.cpp kcms/keyboard/xinput_helper.h kcms/keyboard/xkb_helper.cpp kcms/keyboard/xkb_helper.h kcms/keyboard/xkb_rules.cpp kcms/keyboard/xkb_rules.h kcms/launch/CMakeLists.txt kcms/new-keyboard/CMakeLists.txt kcms/new-keyboard/kcm_new_keyboard.desktop kcms/new-keyboard/main.cpp kcms/new-keyboard/main.h kcms/new-keyboard/package/contents/ui/Advanced.qml kcms/new-keyboard/package/contents/ui/Hardware.qml kcms/new-keyboard/package/contents/ui/Layouts.qml kcms/new-keyboard/package/contents/ui/TriSelector.qml kcms/new-keyboard/package/contents/ui/main.qml kcms/new-keyboard/package/metadata.desktop To: gpark, hein Cc: plasma-devel, hein, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart