initial commit

This commit is contained in:
2024-10-29 16:39:07 +01:00
parent 587484164d
commit f44c71f30d
11 changed files with 305 additions and 213 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
qt_add_plugin(googlefonts
CLASS_NAME GoogleFonts
cgooglefonts.cpp cgooglefonts.h ../../app/cfont.cpp ../../app/cfont.h
cgooglefonts.cpp cgooglefonts.h ../../app/cfontinfo.cpp ../../app/cfontinfo.h
)
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Network)
+8 -8
View File
@@ -56,7 +56,7 @@ QString cGoogleFonts::version() {
return tr("0.1");
}
QList<cFont> cGoogleFonts::search(const QString& family, const QString& subset, const Sort& sort) {
QList<cFontInfo> cGoogleFonts::search(const QString& family, const QString& subset, const Sort& sort) {
QNetworkAccessManager networkManager;
QString urlString = "https://www.googleapis.com/webfonts/v1/webfonts";
QUrlQuery query;
@@ -107,37 +107,37 @@ QList<cFont> cGoogleFonts::search(const QString& family, const QString& subset,
QJsonDocument doc = QJsonDocument::fromJson(data);
if(doc.isNull()) {
qDebug() << "Error: JSON return is empty";
return QList<cFont>();
return QList<cFontInfo>();
}
if(!doc.isObject()) {
qDebug() << "Error: invalid JSON";
return QList<cFont>();
return QList<cFontInfo>();
}
QJsonObject root = doc.object();
if(!root.contains("items")) {
qDebug() << "Error: no fonts found";
return QList<cFont>();
return QList<cFontInfo>();
}
QJsonValue itemsV = root.value("items");
if(!itemsV.isArray()) {
qDebug() << "Error: no fonts found";
return QList<cFont>();
return QList<cFontInfo>();
}
QJsonArray items = itemsV.toArray();
if(!items.count())
return QList<cFont>();
return QList<cFontInfo>();
QList<cFont> fontList;
QList<cFontInfo> fontList;
foreach (const QJsonValue& item, items) {
if (item.isObject()) {
cFont font;
cFontInfo font;
QJsonObject obj = item.toObject();
if(obj.contains("family"))
+5 -5
View File
@@ -17,13 +17,13 @@ public:
cGoogleFonts();
~cGoogleFonts() override;
QString pluginAPIVersion() override;
QString name() override;
QString version() override;
QString pluginAPIVersion() override;
QString name() override;
QString version() override;
QList<cFont> search(const QString& family, const QString& subset = QString(), const Sort& sort = Sort::popularity) override;
QList<cFontInfo> search(const QString& family, const QString& subset = QString(), const Sort& sort = Sort::popularity) override;
private:
QString m_key;
QString m_key;
};
#endif //CGOOGLEFONTS_H