KXmlGui pulls in KService and KGlobalAccel. http://api.kde.org/frameworks-api/frameworks5-apidocs/kxmlgui/html/kxmlgui-dependencies.html
My current plan to make it optional:
- Centralize creation of KActionCollection creation and only do this if Xmlgui is available. Otherwise only work with QActions.
- Add an own implementation of KAboutApplication (copy from XMLGui?)
- Restore / Save Window state with Qt only methods.
- Drop support for configurable toolbars. Maybe configurable shortcuts in the first step, too.
- Create Qt menu from the kleopatra.rc file.
- Mark it as optional in the CMakeList with a strong recommendation to packagers to include it.