Work in Progress. Listing dependencies of Kleopatra and why they are needed.

Libkleo

Dependency Reason Part of gpg4win (branch kleo-kf5) Plans for replacement
Qt5Widgets Uses Qt Widgets X No.
Qt5Gui Dependency of QtWidgets X No.
Qt5Core Dependency of QtWidgets X No.
Qt5Tools Dependency of KF5Config (for translation) X No.
KF5I18n (Tier1) Required for translations X No. We want KDE translations.
KF5Config (Tier1) Used for libkleopatrarc parsing X No. Lightweight enough.
KF5WidgetsAddons KMessageBox, probably more X Maybe make it Optional and use QWidgets.
KF5Gpgmepp Gpgme++ Moving in gpgme repo and depend on that.
KF5Completion Used for KLineedit which is used in configuration dailogs and for filenames Maybe just dropping the completion. On the other hand it only depends con KF5Config and KF5WidgetsAddons
KF5IconThemes User in Auditlogviewer and Keyselectiondialog Yes. with QIcon::fromTheme
KF5WindowSystem Used to set the Icon of the keyselectiondialog Yes. Figure out why this is neccessary and then think of something.
KF5CoreAddons At least KShell is used to shell execute the checksumcommands Maybe. Tier 1 so it does not hurt.
KF5PimTextEdit Richtextedit used in the audit log viewer Yes. Make it Optional and use QTextEdit if unavailable.
Boost Dependency of Gpgme++ Used for Smart Pointers, tuple, assert, split algo and classifcation algo Yes please but this would constitute API breakage :-/

Kleopatra (Only depdendencies not already listed or with new usage)

Dependency Reason Part of gpg4win (branch kleo-kf5) Plans for replacement
libassuan For Uiserver X None. But no longer make it optional but a hard requirement to simplify things
KF5Libkleo Core library None.
KF5Mime Used for E-Mail / Mailbox parsing None. Bit of an overkill for the usage but E-Mail parsing is not trivial.
KF5Codecs Needed by KF5MIME See KF5Mime
KF5XmlGui Needed for configurable GUI. Yes even with loss of functionality as it has too heavy dependencies This will be hard.
KF5IconThemes IconLoader used in serveral places. QIcon ?
KF5WindowSystem Used for Window activation. Once for icon set like libkleo.
KF5KCMUtils Config dialogs Heavy dependencies. Make it Optional for KDE Integration. Not useful on Windows
Qt5Network QTcpServer implemented for the UIServer socket Overkill? Maybe more lightweight with libassuan directly.
libkdepim Progresswidget and overlaywidget Copy Sources?
KF5DbusAddons Used for KDbusUniqueApplication Replace by Windowmessage on Windows like lokalize

Gpg4win/KleopatraDependencies (last edited 2016-01-21 15:20:31 by AndreHeinecke)