Skip to content

Replace the inherited SQLite logo with a four-provider mark - #3

Merged
christianhelle merged 10 commits into
mainfrom
feature/new-logo-multi-database-7c2f42
Sep 21, 2026
Merged

christianhelle merged 10 commits into
mainfrom
feature/new-logo-multi-database-7c2f42

Conversation

@christianhelle

@christianhelle christianhelle commented Sep 21, 2026 •

Copy link
Copy Markdown
Owner

Why

This repo is a fork of christianhelle/sqlitequery and inherited its icon unchanged. That icon is essentially a restyled SQLite logo, which both borrows another project's identity and undersells this one: the app speaks four Providers — SQLite, PostgreSQL, SQL Server and MySQL/MariaDB (src/database/connectioninfo.h:7).

The assets were also fragile. They existed only as hand-committed binaries with no vector master and no reproducible pipeline, and two of the copies were literally named sqlite-icon.png.

The mark

A database platter split into four quadrants — one per Provider — around a dark hub carrying a query chevron. The colours nod at each engine without being their brand hex, so it reads as one family rather than a logo collage. Clockwise from top-right: teal (SQLite), crimson (SQL Server), indigo (PostgreSQL), amber (MySQL/MariaDB). The gaps between wedges are transparent, not white, so the mark sits on any background.

At 16 and 24px the chevron is dropped and the hub shrinks to a plain dot — a chevron inside a ~5px hub is a smudge. That is one branch in the generator, not a separately drawn file.

What changed

File Change
src/resources/logo.svg New. Vector master, 256 viewBox.
dist/icons/generate-icons.py New. Pillow-only generator: 8x supersample, LANCZOS downscale.
src/resources/icon.ico Regenerated — 16, 24, 32, 48, 64, 128, 256.
src/resources/icon.icns Regenerated — ten chunks, ic04–ic14.
src/linux/.../apps/sqlquery.png Regenerated at a true 256x256; it was 390x390 sitting in a 256x256 directory.
images/sqlite-icon.png → images/logo.png Renamed and redrawn, 512x512.
docs/sqlite-icon.png → docs/logo.png Same.
docs/index.html Three references updated (favicon, nav brand, hero).
dist/chocolatey/sqlquery.nuspec iconUrl repointed.

Notes for review

The nuspec iconUrl needed more than a rename. It pointed at blob/<pinned-sha>/images/sqlite-icon.png. That SHA still resolves, so after the rename it would have silently kept serving the old SQLite-derived logo. It now uses a raw.githubusercontent.com URL on main. (blob URLs serve an HTML page, not an image, so the old value was doubly wrong.)

Follow-up from review: I first wrote that URL against master, copying the form licenseUrl used one line below — but this repo's default branch is main and master does not exist. It is not actually a dead link (GitHub still serves the retired default-branch name as an alias, so raw/master/LICENSE returns 200 directly), but it leans on an alias GitHub can withdraw. The last two commits point the iconUrl and the three pre-existing master links — licenseUrl, docsUrl, and the changelog link in docs/index.html — at main. Verified: all three targets return 200 on main, and images/logo.png resolves on this branch (it will 404 on main until merge, which is expected).

Why the generator mirrors the SVG instead of rasterising it. There is no SVG rasterizer in the toolchain — no ImageMagick, Inkscape, rsvg or cairosvg. The script therefore carries the same geometry constants as logo.svg and draws them with Pillow primitives. Both files say so in a comment; change one, change the other. ICNS is written by hand (magic, length, typed chunks) because Pillow's ICNS save path is macOS-only.

The rename is a delete + add, not a tracked rename. The content is 100% different, so git log --follow cannot link logo.png back to sqlite-icon.png.

Deliberately untouched, as agreed when scoping: src/main.cpp still does not call setWindowIcon (Qt shows a generic window icon), and README.md still has no logo. docs/styles.css needed no change — .brand-icon / .hero-icon are sizing rules only.

Verification

  • pwsh -NoProfile -File build.ps1 — build and full test suite pass.
  • All seven ICO frames present, and the 16/24px ones confirmed genuinely chevron-less by pixel inspection.
  • ICNS length header and all ten PNG payloads parse; every chunk is the expected size.
  • docs/ served over HTTP: favicon, nav and hero all render, no 404s in the network log.
  • git grep sqlite-icon returns nothing.

Pre-existing issues found while mapping the assets

Not fixed here — all predate this change and are tracked separately:

  • CMakeLists.txt:9-13 — ${app_icon_macos} is never added to any target's sources, so set_source_files_properties has no effect and icon.icns never reaches the .app bundle. MACOSX_PACKAGE_LOCATION is also "src/resources" rather than Resources. The new macOS icon is correct but still will not ship until this is fixed.
  • dist/setup.iss:43 — IconFilename: "{app}\{#MyAppIcon}" expands to a build-time source path that does not exist on the target machine, so the desktop shortcut falls back to a generic icon.
  • CPack installs only the binary (CMakeLists.txt:119-122), so DEB/RPM carry no .desktop file and no hicolor icon, and the Snapcraft step in .github/workflows/linux-template.yml:57-62 is commented out — the Linux PNG currently ships nowhere. Flagging rather than changing, in case that is deliberate.

Summary by CodeRabbit

  • Style
    • Updated the documentation page favicon, navbar branding, and hero title icon to use the application logo.

Copilot AI lite review requested due to automatic review settings September 21, 2026 09:25
@coderabbitai

coderabbitai Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Understand this PR’s impact

Explore downstream dependencies and potential security impact with Blast Radius.

View blast radius →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 6875af3b-e110-426a-8a1c-8b6ce3146dbb

📥 Commits

Reviewing files that changed from the base of the PR and between e754267 and 23e8ba7.

⛔ Files ignored due to path filters (9)
  • dist/chocolatey/sqlquery.nuspec is excluded by !**/dist/**
  • dist/icons/generate-icons.py is excluded by !**/dist/**
  • docs/logo.png is excluded by !**/*.png
  • docs/sqlite-icon.png is excluded by !**/*.png
  • images/logo.png is excluded by !**/*.png
  • images/sqlite-icon.png is excluded by !**/*.png
  • src/linux/usr/share/icons/hicolor/256x256/apps/sqlquery.png is excluded by !**/*.png
  • src/resources/icon.ico is excluded by !**/*.ico
  • src/resources/logo.svg is excluded by !**/*.svg
📒 Files selected for processing (2)
  • docs/index.html
  • src/resources/icon.icns

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The documentation page replaces three sqlite-icon.png references with logo.png references for the favicon, navbar brand, and hero title.

Changes

Documentation logo update

Layer / File(s) Summary
Replace documentation logo references
docs/index.html
The favicon, navbar brand image, and hero title image now use logo.png.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~2 minutes

Change: Other

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: replacing inherited SQLite branding with a logo representing four database providers.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The Chocolatey iconUrl now points at a master branch URL, but the repo only has main, so the icon link will break unless updated.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: None

What changed in this PR

This PR replaces the inherited SQLite-derived branding with a new four-provider logo and wires it into the docs site and packaging assets, aiming to better represent the app’s multi-database scope (SQLite/PostgreSQL/SQL Server/MySQL).

Changes:

  • Add a new vector master logo (logo.svg) and introduce a Pillow-based icon generator to regenerate raster/container icon assets.
  • Update the docs landing page to reference the new logo.png.
  • Update Chocolatey package metadata to reference the new icon URL (but currently targets a non-existent branch).
File Description
src/​resources/​logo.svg Adds the new vector master mark used as the canonical design source.
dist/​icons/​generate-icons.py Adds a generator script to produce ICO/ICNS/PNG outputs from the new mark.
docs/​index.html Updates favicon + in-page logo references to the new logo.png.
dist/​chocolatey/​sqlquery.nuspec Repoints Chocolatey iconUrl to the new icon location (needs branch fix).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sonarqubecloud

Copy link
Copy Markdown

@christianhelle christianhelle self-assigned this Sep 21, 2026
@christianhelle christianhelle added the enhancement New feature or request label Sep 21, 2026
@christianhelle
christianhelle merged commit 14f6b2d into main Sep 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants