Bug 481376

Summary: Move KStandardAction private KStandardActionInfo data to a framework that doesn't depend on widgets and export publically
Product: [Frameworks and Libraries] frameworks-kconfigwidgets Reporter: Jack Hill <jackhill3103>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs>
Status: CONFIRMED ---    
Severity: task CC: nate
Priority: NOR    
Version: 5.114.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

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