- 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
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
/*
|
|
SPDX-FileCopyrightText: 2026 ToServeTheKing <[email protected]>
|
|
|
|
SPDX-License-Identifier: GPL-3.0-or-later
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <QAbstractItemModel>
|
|
#include <QObject>
|
|
#include <QQmlEngine>
|
|
|
|
class KColorSchemeManager;
|
|
|
|
/**
|
|
* Thin QML-facing wrapper around KColorSchemeManager: exposes the list of
|
|
* installed color schemes and the currently active one. KColorSchemeManager
|
|
* autosaves the active scheme itself, so there is nothing else to persist.
|
|
*/
|
|
class AppColorScheme : public QObject
|
|
{
|
|
Q_OBJECT
|
|
QML_ELEMENT
|
|
QML_SINGLETON
|
|
Q_PROPERTY(QAbstractItemModel *colorSchemesModel READ colorSchemesModel CONSTANT)
|
|
Q_PROPERTY(QString activeColorSchemeName READ activeColorSchemeName WRITE setActiveColorSchemeName NOTIFY activeColorSchemeNameChanged)
|
|
|
|
public:
|
|
explicit AppColorScheme(QObject *parent = nullptr);
|
|
|
|
QAbstractItemModel *colorSchemesModel();
|
|
QString activeColorSchemeName() const;
|
|
void setActiveColorSchemeName(const QString &name);
|
|
|
|
Q_SIGNALS:
|
|
void activeColorSchemeNameChanged();
|
|
|
|
private:
|
|
KColorSchemeManager *mSchemes;
|
|
};
|