From 63c00f646eb1891f36e281668897c448c8cb9859 Mon Sep 17 00:00:00 2001 From: Herwig Birke Date: Sun, 27 Oct 2024 19:16:23 +0100 Subject: [PATCH] initial commit --- app/CMakeLists.txt | 1 + app/cfont.cpp | 119 ++++++++++++++++++ app/cfont.h | 64 ++++++++++ plugins/googlefonts/CMakeLists.txt | 2 +- .../{googlefonts.cpp => cgooglefonts.cpp} | 10 +- .../{googlefonts.h => cgooglefonts.h} | 12 +- 6 files changed, 196 insertions(+), 12 deletions(-) create mode 100644 app/cfont.cpp create mode 100644 app/cfont.h rename plugins/googlefonts/{googlefonts.cpp => cgooglefonts.cpp} (57%) rename plugins/googlefonts/{googlefonts.h => cgooglefonts.h} (66%) diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 34def35..6584b62 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -24,6 +24,7 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) MANUAL_FINALIZATION ${PROJECT_SOURCES} ifontprovider.h + cfont.h cfont.cpp ) # Define target properties for Android with Qt 6 as: diff --git a/app/cfont.cpp b/app/cfont.cpp new file mode 100644 index 0000000..1422c1d --- /dev/null +++ b/app/cfont.cpp @@ -0,0 +1,119 @@ +#include "cfont.h" + + +cFont::cFont(QObject *parent) + : QObject{parent} +{ +} + +void cFont::setFamily(const QString& family) { + m_family = family; +} + +QString cFont::family() { + return m_family; +} + +void cFont::setVariants(const QStringList& variants) { + m_variants = variants; + m_variants.removeDuplicates(); +} + +void cFont::clearVariants() { + m_variants.clear(); +} + +void cFont::addVariants(const QStringList& variants) { + m_variants.append(variants); + m_variants.removeDuplicates(); +} + +void cFont::addVariants(const QString& variant) { + m_variants.append(variant); + m_variants.removeDuplicates(); +} + +QStringList cFont::variants() { + return m_variants; +} + +void cFont::setSubsets(const QStringList& subsets) { + m_subsets = subsets; + m_subsets.removeDuplicates(); +} + +void cFont::clearSubsets() { + m_subsets.clear(); +} + +void cFont::addSubsets(const QStringList& subsets) { + m_subsets.append(subsets); + m_subsets.removeDuplicates(); +} + +void cFont::addSubsets(const QString& subset) { + m_subsets.append(subset); + m_subsets.removeDuplicates(); +} + +QStringList cFont::subsets() { + return m_subsets; +} + +void cFont::setVersion(const QString& version) { + m_version = version; +} + +QString cFont::version() { + return m_version; +} + +void cFont::setLastModified(const QDate& lastModified) { + m_lastModified = lastModified; +} + +QDate cFont::lastModified() { + return m_lastModified; +} + +void cFont::setFiles(const QMap& files) { + for (auto [key, value] : files.asKeyValueRange()) { + m_files.insert(key, value); + } +} + +void cFont::clearFiles() { + m_files.clear(); +} + +void cFont::addFiles(const QMap& files) { + for (auto [key, value] : files.asKeyValueRange()) { + if (!m_files.contains(key)) + m_files.insert(key, value); + } +} + +void cFont::addFiles(const QString& variant, const QFile& file) { + if (!m_files.contains(variant)) + m_files.insert(variant, file); +} + +QMap cFont::files() { + return m_files; +} + +void cFont::setCategory(const QString& category) { + m_category = category; +} + +QString cFont::category() { + return m_category; +} + +void cFont::setKind(const QString& kind) { + m_kind = kind; +} + +QString cFont::kind() { + return m_kind; +} diff --git a/app/cfont.h b/app/cfont.h new file mode 100644 index 0000000..234d834 --- /dev/null +++ b/app/cfont.h @@ -0,0 +1,64 @@ +#ifndef CFONT_H +#define CFONT_H + + +#include +#include +#include +#include +#include + + +class cFont : public QObject +{ + Q_OBJECT +public: + explicit cFont(QObject *parent = nullptr); + + void setFamily(const QString& family); + QString family(); + + void setVariants(const QStringList& variants); + void clearVariants(); + void addVariants(const QStringList& variants); + void addVariants(const QString& variant); + QStringList variants(); + + void setSubsets(const QStringList& subsets); + void clearSubsets(); + void addSubsets(const QStringList& subsets); + void addSubsets(const QString& subset); + QStringList subsets(); + + void setVersion(const QString& version); + QString version(); + + void setLastModified(const QDate& lastModified); + QDate lastModified(); + + void setFiles(const QMap& files); + void clearFiles(); + void addFiles(const QMap& files); + void addFiles(const QString& variant, const QFile& file); + QMap files(); + + void setCategory(const QString& category); + QString category(); + + void setKind(const QString& kind); + QString kind(); + +private: + QString m_family; + QStringList m_variants; + QStringList m_subsets; + QString m_version; + QDate m_lastModified; + QMap m_files; + QString m_category; + QString m_kind; + +signals: +}; + +#endif // CFONT_H diff --git a/plugins/googlefonts/CMakeLists.txt b/plugins/googlefonts/CMakeLists.txt index b92f658..64dadf5 100644 --- a/plugins/googlefonts/CMakeLists.txt +++ b/plugins/googlefonts/CMakeLists.txt @@ -3,7 +3,7 @@ qt_add_plugin(googlefonts CLASS_NAME GoogleFonts - googlefonts.cpp googlefonts.h + cgooglefonts.cpp cgooglefonts.h ) find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets diff --git a/plugins/googlefonts/googlefonts.cpp b/plugins/googlefonts/cgooglefonts.cpp similarity index 57% rename from plugins/googlefonts/googlefonts.cpp rename to plugins/googlefonts/cgooglefonts.cpp index 920d7c6..4c412ba 100644 --- a/plugins/googlefonts/googlefonts.cpp +++ b/plugins/googlefonts/cgooglefonts.cpp @@ -1,24 +1,24 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause -#include "googlefonts.h" +#include "cgooglefonts.h" #include -GoogleFonts::GoogleFonts() +cGoogleFonts::cGoogleFonts() { } -GoogleFonts::~GoogleFonts() +cGoogleFonts::~cGoogleFonts() { } -QString GoogleFonts::name() +QString cGoogleFonts::name() { return tr("Google Fonts"); } -QString GoogleFonts::version() +QString cGoogleFonts::version() { return tr("0.1"); } diff --git a/plugins/googlefonts/googlefonts.h b/plugins/googlefonts/cgooglefonts.h similarity index 66% rename from plugins/googlefonts/googlefonts.h rename to plugins/googlefonts/cgooglefonts.h index f9e2f93..3f51768 100644 --- a/plugins/googlefonts/googlefonts.h +++ b/plugins/googlefonts/cgooglefonts.h @@ -1,24 +1,24 @@ // Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause -#ifndef GOOGLEFONTS_H -#define GOOGLEFONTS_H +#ifndef CGOOGLEFONTS_H +#define CGOOGLEFONTS_H #include "ifontprovider.h" -class GoogleFonts : public QObject, public IFontProvider +class cGoogleFonts : public QObject, public IFontProvider { Q_OBJECT Q_PLUGIN_METADATA(IID "at.windesign.fontManager.IFontProvider/1.0" FILE "googlefonts.json") Q_INTERFACES(IFontProvider) public: - GoogleFonts(); - ~GoogleFonts() override; + cGoogleFonts(); + ~cGoogleFonts() override; QString name() override; QString version() override; }; -#endif //GOOGLEFONTS_H +#endif //CGOOGLEFONTS_H