- Fix Save on the edit form silently dropping stage changes; report a
missing company or title instead of saving a blank field
- Rework the pipeline Sankey: drop-offs split off each stage in level
lanes and rejoin their outcome without braiding
- Count each application once as a forward path, so back moves and
ghosted-then-rejected no longer draw extra ribbons
- First-run choice of database location (default, a folder, or an
existing file used in place), plus a Database section in Preferences
- --db <path> for the GUI and every subcommand
- Bump the version, add the 0.1.4 metainfo release, and update the
manifest's pinned tag
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01BxDf7HqD1xPnsZP8wt3NTk
- `kareer --db <path>` works for the GUI and every subcommand, before
or after the subcommand name, and creates the file if missing. main()
strips it from argv before CLI/GUI routing; every parser declares it
so it shows in --help.
- Path precedence: --db > KAREER_DB_PATH > the location chosen in the
GUI (kareerrc [Database] Path, read at startup for GUI and CLI alike)
> $XDG_DATA_HOME/kareer/kareer.sqlite.
- First GUI run (nothing forced, no file yet, or the configured file
has gone missing): DatabaseSetupDialog offers the default location, a
folder of the user's choice, or an existing database used in place.
Until then JobsDatabase opens nothing.
- Preferences gains a Database section: Move to... (copies, leaves the
original), Open Existing..., Use Default Location. Refuses foreign
SQLite files and unwritable ones.
- Models call JobsDatabase::reopenIfPathChanged() on refresh, so
switching databases needs no restart.
- Link KF6::ConfigCore; add a QuickDialogs2 configure-time guard; add
kconfig to the Arch dependencies and a note to the Flatpak manifest.
- README documents --db, the precedence, and the first-run choice, and
gains Fedora 44 build dependencies; CONTRIBUTING gets a dev recipe.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01BxDf7HqD1xPnsZP8wt3NTk
- Spread columns by rank among the stages actually present, so sparse
pipelines fill the width instead of leaving dead stretches
- Top-align columns: the funnel's success path runs level along the top
and drop-off ribbons only ever descend
- Give each ribbon its slot per node side (outgoing by target height,
incoming by source height) so ribbons stop braiding over each other
- Move the last column's labels to its left so they always stay
on-screen, with a theme halo to stay legible over ribbons
- Never hide small-node labels; elide with tooltip instead
- Guarantee columns and ribbons fit the viewport (clamp-aware scale,
spill-proof ribbon thickness)
- Debounce resize relayouts and stop re-querying SQLite on resize
- Canonicalize stage names on write (CLI "rejected" -> "Rejected") and
repair pre-existing rows on database open
- Take Sankey node width/padding from Kirigami units
- Add QuickShapesPrivate configure-time guard for QtQuick.Shapes
- Extend sankeylayouttest: viewport fit, ribbon containment, slot
ordering, sparse-column spread, canonicalization, degenerate sizes
- README: build-dependency and generator fixes, document SettingsPage
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_019FXfh48mASRsE1WEhy9jcM
- Rework the add/edit form onto a generic, catalog-driven field model
(JobFieldCatalog + JobEditModel), replacing the old hand-written
ApplicationEditDialog with ApplicationEditPage
- Add a Preferences page (reachable from the hamburger menu) with a
KColorSchemeManager-backed color scheme switcher
- Add an About page reading from KAboutData
- Ship a full hicolor icon set (16-128px + scalable) via ecm_install_icons
instead of a single flat SVG
- Restyle the edit form after KDE System Settings' Audio page:
Kirigami.ListSectionHeader per category, flat separated rows, no card
borders
- Explicitly declare Kirigami/KirigamiAddons/ColorScheme as CMake
dependencies instead of relying on the QML import scanner alone
- Add KDEClangFormat/KDEGitCommitHooks, a CMakePresets.json, and a
REUSE + clang-format lint CI workflow
- Reformat SPDX headers to include copyright, remove debug screenshot
scaffolding
- Add .github/workflows/test.yml, using flatpak-builder's run-tests
option so PRs and pushes exercise ctest inside the same KDE SDK
sandbox as release builds.
- Add REUSE.toml covering files that can't carry an inline SPDX header
(.desktop, keys/*.asc).
- Add CONTRIBUTING.md documenting build/test/release steps.
C++/Qt6/KDE Frameworks 6 app with a SQLite-backed data layer, a
Sankey-diagram dashboard, and a full CLI (add/list/show/update/stage/
delete/stats/stages) for scripting from other tools.