Make KReport use resource files for icons
ClosedPublic

Authored by staniek on Sep 26 2016, 6:29 PM.

Details

Summary

Urgent, for the 3.0.0 release.

  • use kreport_THEME.rcc for library-global icons
  • use URL_THEME.rcc for plugin icons with prefix :/icons/URL so there is little risk of conflicts
  • use consistent kreport-foo-bar icon naming
  • make it easy to add new icons and plugins via cmake
  • make plugin files more unique (org.kde.kreport. prefix), helps in co-installation
  • make KReportExample work with the changes

BTW, works OK with Kexi reports.

If the system icon theme != breeze, following warning is displayed by the kreportexample app:

KReportUtils_p.h:330 KReportPrivate::setupGlobalIconTheme - "KReport3" supports only "breeze" icon theme but current system theme is "Adwaita". Application's icon theme will be changed to "breeze". Please consider adding support for other themes to KReportExample.

It's actually gentle note about inconsistency. It's up to the application author if she agrees to the inconsistency or if the icon theme for the app is set more strictly. In case of Kexi that's the case since oxygen and breeze mixed can cause a visual disaster for some users.

Test Plan

Build should work without warnings. Try the kreportexample app. It should still show all icons (lib icons, plugin icons).

Diff Detail

Repository
R14 KReport
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
staniek updated this revision to Diff 6930.Sep 26 2016, 6:29 PM
staniek retitled this revision from to Make KReport use resource files for icons.
staniek updated this object.
staniek edited the test plan for this revision. (Show Details)
staniek added a reviewer: piggz.
staniek added a subscriber: Kexi-Devel-list.
Restricted Application added a project: KReport. · View Herald TranscriptSep 26 2016, 6:29 PM
staniek edited the test plan for this revision. (Show Details)Sep 26 2016, 6:32 PM
staniek updated this object.
staniek updated this object.Sep 26 2016, 6:40 PM
staniek updated this object.
staniek updated this object.Sep 26 2016, 6:59 PM

After approving this there's one thing remaining. Without 'make install' such rcc files can't be found at the moment, so adjustments will be needed for KProperty, KReport, and Kexi to make things work from the builddir as well. This will probably mean that .rcc files would be placed in the build dir relative to QCoreApplication::applicationDirPath().

@piggz Regardless, could you please try the patch? We need it for 3.0.0.

This revision was automatically updated to reflect the committed changes.