feat(icons): add Catppuccin Mocha icon override infrastructure
Some checks failed
Build and Test / build (push) Has been cancelled

Set up the foundation for custom Kindred Create icons:

- Add kindred-icons/ directory with Catppuccin Mocha themed SVG icons
- Modify BitmapFactory to prioritize kindred-icons/ in search path
- Add CMake install rules to package icons with application
- Include documentation (README.md) with design guidelines
- Add 12 initial icons as proof of concept:
  - File: document-new, document-open, document-save
  - Edit: edit-undo, edit-redo, edit-copy, edit-cut, edit-paste, delete
  - View: zoom-in, zoom-out, view-refresh
  - System: preferences-system

All icons follow the standard template:
- 32x32 viewBox
- Rounded rectangle background (rx=4, surface0 #313244)
- Catppuccin Mocha color palette

Closes #3
This commit is contained in:
2026-02-05 11:17:27 -06:00
parent 67e5598b2e
commit 224feda4ad
16 changed files with 251 additions and 0 deletions

View File

@@ -63,6 +63,13 @@ BitmapFactoryInst& BitmapFactoryInst::instance()
if (!_pcSingleton) {
_pcSingleton = new BitmapFactoryInst;
std::map<std::string, std::string>::const_iterator it;
// Kindred Create custom icons - highest priority
// These override default FreeCAD icons with Catppuccin Mocha themed versions
_pcSingleton->addPath(
QStringLiteral("%1/kindred-icons").arg(QString::fromStdString(App::Application::getHomePath()))
);
it = App::GetApplication().Config().find("ProgramIcons");
if (it != App::GetApplication().Config().end()) {
QString home = QString::fromStdString(App::Application::getHomePath());

View File

@@ -1618,3 +1618,15 @@ INSTALL(
DESTINATION
${CMAKE_INSTALL_DATADIR}/3Dconnexion
)
# Kindred Create custom icons - Catppuccin Mocha themed overrides
INSTALL(
DIRECTORY
${CMAKE_SOURCE_DIR}/kindred-icons/
DESTINATION
kindred-icons
FILES_MATCHING
PATTERN "*.svg"
PATTERN "*.png"
PATTERN "README.md"
)