Skip to content

Add SVG country flags and configurable displayMode (flag, text, both) - #1

Open
rosakodu wants to merge 5 commits into
glafeara:mainfrom
rosakodu:feat/svg-flags-and-display-modes
Open

Add SVG country flags and configurable displayMode (flag, text, both)#1
rosakodu wants to merge 5 commits into
glafeara:mainfrom
rosakodu:feat/svg-flags-and-display-modes

Conversation

@rosakodu

Copy link
Copy Markdown

Summary

This PR adds support for crisp vector SVG country flags in Omalang with three customizable display modes and an in-panel switcher.

Features

  1. Bundled Vector SVG Flags:
    • Clean, lightweight SVG flag catalog placed under flags/ (e.g. us.svg, ru.svg, gb.svg, de.svg, fr.svg, etc.).
  2. Configurable displayMode Setting:
    • "flag" (default): Minimalist rounded vector flag badge in the bar.
    • "text": Traditional text layout abbreviation (US, RU).
    • "both": Flag badge accompanied by layout text abbreviation.
  3. Interactive Mode Switcher:
    • Seamless one-click switcher in the bottom section of the panel popup ([Flag] [Text] [Both]).
  4. List View Flags:
    • Flag badges displayed next to language names in the layout list.
  5. Enhanced Centered OSD:
    • Centered on-screen indicator now displays the flag badge along with the layout code.

Verification

  • Ran test suite bash tests/run.sh:
    • 37 passed, 0 failed (backend tests)
    • 12 passed, 0 failed (QML contract tests)

- Added a bundled vector SVG flags catalog under flags/
- Added displayMode setting in manifest.json and Panel.qml:
  * 'flag': crisp rounded SVG flag badge in the bar
  * 'text': standard 2-letter uppercase text abbreviation
  * 'both': SVG flag + text code
- Added an interactive display mode switcher directly in the popup panel
- Render mini flag badges next to layout names in the list view
- Enhanced centered OSD switch indicator with flag preview
- Passed all existing tests (37 backend + 12 QML contracts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant