Resolve "Improve icons consistency"
Closes #2 (closed)
This is a rather big change, but not so much code-wise. Apart from a fairly vanilla icon naming refactoring, a few bigger changes were introduced:
- icons are now delivered as a binary resource, embedded into icons library, which relieves us from the sourcery of locating the icons path in the folder structure.
- This is currently limited to Linux/BSD, since KIconTheme + craft providee a complete binary package for for Win/macOS builds anyway.
- It does, however, work on macOS/Win and, depending on our future packaging decisions, can also be enabled for these platforms.
- KIconTheme + craft also do not support dark icon theme at the moment, so I am leaning towards distributing the icons ourselves for these platforms as well
- it also creates a package that is significantly smaller in size, since we only provide icons we actually need and use
- the .qrc resource file is generated on the fly by cmake
- a script is provided that sync all of the required (used in code) icons from breeze repository on demand
- all the icon overlaying code was removed; all of the variants of the icons are now provided, except for ones denoting a "reconciled" state, which will be provided later on.
- I added an additional "Online" column to Accounts view, to denote accounts with Online mapping configured.
- Icons preference panel is now disabled on Win/macOS, since there was never a choice offered anyway.
- a system palette change event is captured to dynamically switch between light and dark icons – however it is only supported on macOS/Unix right now. Support for Windows will follow at a later time, while BSD/Linux is supported only if the icon theme is set by the system and not explicitly overridden by a user in Settings.
Few icons are still missing, but will be delivered by the VDG team soon. Some others could see some refreshing, which will hopefully also happen sometime in the future. The KMyMoney icon itself will see some further refining, too.
Sample HiDPI macOS screenshots:
Edited by Dawid Wrobel