initial commit
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user