Bug 481376 - Move KStandardAction private KStandardActionInfo data to a framework that doesn't depend on widgets and export publically
Summary: Move KStandardAction private KStandardActionInfo data to a framework that doe...
Status: CONFIRMED
Alias: None
Product: frameworks-kconfigwidgets
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.114.0
Platform: openSUSE Linux
: NOR task
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-02-15 17:52 UTC by Jack Hill
Modified: 2024-02-16 20:05 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jack Hill 2024-02-15 17:52:04 UTC
SUMMARY
It is useful to use KStandardAction in a non-widgets based app because it ensures consistency with other KDE apps. However, KConfigWidgets links to QWidgets, which means apps that don't use QWidgets will take up more hard drive space than is neccessary. It would be great if the backend information could be moved to a non-widgets based framework and then exported publically.

The API could be a function for each property, like
    QString KStandardAction::text(KStandardAction::StandardAction id);
    QIcon KStandardAction::icon(KStandardAction::StandardAction id);
    QString KStandardAction::iconName(KStandardAction::StandardAction id); // for QtQuick apps to use in the `icon.name` property

or it be like the existing API but always return an empty QAction (i.e. don't return KHamburgerMenu, etc.) in which case KConfigWidgets can then overlay its own API on top to provide more specific actions for widgets-based apps.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20240130
KDE Plasma Version: 5.27.10
KDE Frameworks Version: 5.114.0
Qt Version: 5.15.12
Kernel Version: 6.7.2-1-default (64-bit)
Graphics Platform: X11