diff --git a/NameCreater/NameCreater.cpp b/NameCreater/NameCreater.cpp index 1b7206b..86f8ff2 100644 --- a/NameCreater/NameCreater.cpp +++ b/NameCreater/NameCreater.cpp @@ -37,262 +37,271 @@ //#define FONT_CHT_URL "http://45.32.51.135/font/TaiwanPearl-SemiBold.ttf" -NameCreater::NameCreater(QWidget *parent) - : QMainWindow(parent) +NameCreater::NameCreater(QWidget* parent) + : QMainWindow(parent) { - ui.setupUi(this); - connect(ui.fivesingle_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - //connect(ui.fiveold_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - connect(ui.birthday_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - connect(ui.towel_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - connect(ui.fivenew_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - connect(ui.birthday_zh_eng_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - connect(ui.birthday_eng_eng_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - connect(ui.handkerchief_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - connect(ui.fivesingle_zh_eng_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); - connect(ui.customlogo_btn, &QPushButton::released, this , &NameCreater::OnClickedCustomLogoBtn); - connect(ui.customlogo2_btn, &QPushButton::released, this, &NameCreater::OnClickedCustomLogo2Btn); + ui.setupUi(this); + connect(ui.fivesingle_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + //connect(ui.fiveold_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.birthday_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.towel_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.fivenew_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.birthday_zh_eng_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.birthday_eng_eng_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.handkerchief_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.fivesingle_zh_eng_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); + connect(ui.customlogo_btn, &QPushButton::released, this, &NameCreater::OnClickedCustomLogoBtn); + connect(ui.customlogo2_btn, &QPushButton::released, this, &NameCreater::OnClickedCustomLogo2Btn); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) - connect(ui.font_comboBox, &QComboBox::currentTextChanged, this, &NameCreater::OnFontComboBoxTextChanged); + connect(ui.font_comboBox, &QComboBox::currentTextChanged, this, &NameCreater::OnFontComboBoxTextChanged); #else - connect(ui.font_comboBox, &QComboBox::currentIndexChanged, this, &NameCreater::OnFontComboBoxIndexChanged); + connect(ui.font_comboBox, &QComboBox::currentIndexChanged, this, &NameCreater::OnFontComboBoxIndexChanged); #endif - //qDebug()<<"QSslSocket="<clear(); - QJsonArray jsonArray = jsonDoc.array(); + if (jsonDoc.isObject()) { + QJsonObject jsonObj = jsonDoc.object(); + // Process the JSON object + qDebug() << "JSON Object:" << jsonObj; + } + else if (jsonDoc.isArray()) { + ui.font_comboBox->clear(); + QJsonArray jsonArray = jsonDoc.array(); - foreach(auto val, jsonArray) { - auto obj = val.toObject(); - QString n = obj["font_name"].toString(); - QString u = obj["font_url"].toString(); - ui.font_comboBox->addItem(n, u); - } + foreach(auto val, jsonArray) { + auto obj = val.toObject(); + QString n = obj["font_name"].toString(); + QString u = obj["font_url"].toString(); + ui.font_comboBox->addItem(n, u); + } - // Process the JSON array - qDebug() << "JSON Array:" << jsonArray; + // Process the JSON array + qDebug() << "JSON Array:" << jsonArray; - } + } } -void NameCreater::query(const QUrl& url) +void NameCreater::query(const QUrl& url, int type) { - QNetworkRequest req(url); - network_mgr.get(req); + QNetworkRequest req(url); + req.setAttribute(QNetworkRequest::User, QVariant(type)); + network_mgr.get(req); + + } -void NameCreater::loadFont(const QByteArray& fontdata){ +void NameCreater::loadFont(const QByteArray& fontdata) { - int id = QFontDatabase::addApplicationFontFromData(fontdata); - QStringList family_list = QFontDatabase::applicationFontFamilies(id); - qDebug()<<"font family list:" <setFont(tital_font); + //ui.tital_label->setFont(tital_font); - char c_font_name[64] = {0}; - sprintf(c_font_name,"%s", cht_fontname.toStdString().c_str()); - ui.font_name_label->setFont(version_font); - ui.font_name_label->setText(QString::fromLocal8Bit(c_font_name)); + char c_font_name[64] = { 0 }; + sprintf(c_font_name, "%s", cht_fontname.toStdString().c_str()); + ui.font_name_label->setFont(version_font); + ui.font_name_label->setText(QString::fromLocal8Bit(c_font_name)); - ui.version_label->setFont(version_font); - ui.version_label->setText(VERSION); + ui.version_label->setFont(version_font); + ui.version_label->setText(VERSION); + ui.font_comboBox->setFont(version_font); - QList titals = findChildren(QRegularExpression("tital_label")); - foreach(auto tital, titals) { - tital->setFont(tital_font); - } + QList titals = findChildren(QRegularExpression("tital_label")); + foreach(auto tital, titals) { + tital->setFont(tital_font); + } - qDebug() << "Load Font Succeed!"; + qDebug() << "Load Font Succeed!"; } void NameCreater::OnClickedReadBtn() { - auto sender =(QPushButton*) QObject::sender(); + auto sender = (QPushButton*)QObject::sender(); #ifdef Q_OS_WASM - auto fileContentReady = [this, sender](const QString &fileName, const QByteArray &fileContent) { - if (!fileName.isEmpty()) { - this->execCreater(sender, fileName, fileContent); - } + auto fileContentReady = [this, sender](const QString& fileName, const QByteArray& fileContent) { + if (!fileName.isEmpty()) { + this->execCreater(sender, fileName, fileContent); + } - }; - QFileDialog::getOpenFileContent("CSV (*.csv)", fileContentReady); + }; + QFileDialog::getOpenFileContent("CSV (*.csv)", fileContentReady); #else - QString filename = QFileDialog::getOpenFileName(nullptr,"Open Name File", QDir::currentPath(),"CSV file(*.csv)"); - if(!filename.isEmpty()){ - QFile _f(filename); - if(_f.open(QIODevice::ReadOnly)){ - execCreater(sender, filename, _f.readAll()); - } - } + QString filename = QFileDialog::getOpenFileName(nullptr, "Open Name File", QDir::currentPath(), "CSV file(*.csv)"); + if (!filename.isEmpty()) { + QFile _f(filename); + if (_f.open(QIODevice::ReadOnly)) { + execCreater(sender, filename, _f.readAll()); + } + } #endif } void NameCreater::execCreater(QObject* sender, const QString& fileName, const QByteArray& fileContent) { - // Use fileName and fileContent - if(sender == ui.fivesingle_btn) FiveToSingle().generaImageFromCSV(Name_Type_e::Name_zh,fileName, fileContent, this->font, this->font_color); + // Use fileName and fileContent + if (sender == ui.fivesingle_btn) FiveToSingle().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); - if(sender == ui.birthday_btn) BirthdayCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); - if(sender == ui.fivenew_btn) NewFiveCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); - if(sender == ui.towel_btn) TowelCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font_towel, this->font_color); - if (sender == ui.birthday_zh_eng_btn) { - BirthdayCreater creater; - creater.setEnglishFont(font_english); - creater.generaImageFromCSV(Name_Type_e::Name_zh_eng, fileName, fileContent, this->font, this->font_color); - } - if (sender == ui.birthday_eng_eng_btn){ - BirthdayCreater b; - b.setEnglishFont(font_english); - b.generaImageFromCSV(Name_Type_e::Name_eng, fileName,fileContent,this->font, this->font_color); - } - if (sender == ui.handkerchief_btn) { - QFont newFont(font); - newFont.setPixelSize(78); - QColor newColor(0,0,0); - HKHolderCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, newFont, newColor); - } - if (sender == ui.fivesingle_zh_eng_btn) { - FiveToSingle f; - f.setEnglishFont(this->font_english); - f.generaImageFromCSV(Name_Type_e::Name_zh_eng, fileName, fileContent, this->font, this->font_color); - return; - } + if (sender == ui.birthday_btn) BirthdayCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); + if (sender == ui.fivenew_btn) NewFiveCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); + if (sender == ui.towel_btn) TowelCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font_towel, this->font_color); + if (sender == ui.birthday_zh_eng_btn) { + BirthdayCreater creater; + creater.setEnglishFont(font_english); + creater.generaImageFromCSV(Name_Type_e::Name_zh_eng, fileName, fileContent, this->font, this->font_color); + } + if (sender == ui.birthday_eng_eng_btn) { + BirthdayCreater b; + b.setEnglishFont(font_english); + b.generaImageFromCSV(Name_Type_e::Name_eng, fileName, fileContent, this->font, this->font_color); + } + if (sender == ui.handkerchief_btn) { + QFont newFont(font); + newFont.setPixelSize(78); + QColor newColor(0, 0, 0); + HKHolderCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, newFont, newColor); + } + if (sender == ui.fivesingle_zh_eng_btn) { + FiveToSingle f; + f.setEnglishFont(this->font_english); + f.generaImageFromCSV(Name_Type_e::Name_zh_eng, fileName, fileContent, this->font, this->font_color); + return; + } } void NameCreater::OnClickedCustomLogoBtn() { - QEventLoop loop; - CustomLogo widget(&this->font); - widget.show(); - connect(&widget, &CustomLogo::finished, &loop, &QEventLoop::quit); - loop.exec(); - qDebug()<<"exit event loop"; + QEventLoop loop; + CustomLogo widget(&this->font); + widget.show(); + connect(&widget, &CustomLogo::finished, &loop, &QEventLoop::quit); + loop.exec(); + qDebug() << "exit event loop"; } -void NameCreater::OnClickedCustomLogo2Btn(){ - QEventLoop loop; - customlogo2 widget(&this->font); - connect(&widget, &CustomLogo::finished, &loop, &QEventLoop::quit); - widget.show(); - loop.exec(); +void NameCreater::OnClickedCustomLogo2Btn() { + QEventLoop loop; + customlogo2 widget(&this->font); + connect(&widget, &CustomLogo::finished, &loop, &QEventLoop::quit); + widget.show(); + loop.exec(); } -void NameCreater::onFontDownloadFinished(QNetworkReply *reply){ +void NameCreater::onFontDownloadFinished(QNetworkReply* reply) { - if(reply->error() == QNetworkReply::NoError){ - QString url = reply->request().url().toString(); - qDebug() << "req url:" << url; + if (reply->error() == QNetworkReply::NoError) { + QString url = reply->request().url().toString(); + int attri = reply->request().attribute(QNetworkRequest::User).toInt(); - if (url.contains("fonts.json")) { - qDebug() << "query fonts json succeed"; - parseFontJson(reply->readAll()); - - } - else if(url.contains(".ttf") || url.contains(".otf")) { - qDebug() << "query font family succeed"; - loadFont(reply->readAll()); - } - - }else{ + qDebug() << "req url:" << url << "attribi:" << QString::number(attri); - QMessageBox msgBox; - msgBox.setText("Can not load font file!" + reply->errorString()); - msgBox.exec(); - reply->deleteLater(); + if (url.contains("fonts.json") || attri == 10 || query_type == 10) { + qDebug() << "query fonts json succeed"; + parseFontJson(reply->readAll()); + + }else if (url.contains(".ttf") || url.contains(".otf") || attri == 20 || query_type == 20) { + qDebug() << "query font family succeed"; + loadFont(reply->readAll()); + } + + } + else { + + QMessageBox msgBox; + msgBox.setText("Can not load font file!" + reply->errorString()); + msgBox.exec(); + reply->deleteLater(); - return ; - } + return; + } } void NameCreater::OnFontComboBoxTextChanged(const QString& str) { - QComboBox* sender = (QComboBox*)QObject::sender(); - QString u = sender->currentData().toString(); - query(QUrl(u)); + QComboBox* sender = (QComboBox*)QObject::sender(); + QString u = sender->currentData().toString(); + query_type = 20; + query(QUrl(u),20); } void NameCreater::OnFontComboBoxIndexChanged(int idx) { - QComboBox* sender = (QComboBox*)QObject::sender(); - QString u = sender->currentData().toString(); - query(QUrl(u)); + QComboBox* sender = (QComboBox*)QObject::sender(); + QString u = sender->currentData().toString(); + query_type = 20; + query(QUrl(u),20); } diff --git a/NameCreater/NameCreater.h b/NameCreater/NameCreater.h index 68245a1..5d5a2c5 100644 --- a/NameCreater/NameCreater.h +++ b/NameCreater/NameCreater.h @@ -24,7 +24,9 @@ private: QColor font_color; QNetworkAccessManager network_mgr; - void query(const QUrl& url); + int query_type; + + void query(const QUrl& url, int type = -1); void loadFont(const QByteArray& fontdata); void execCreater(QObject*sender, const QString&fileName, const QByteArray &fileContent); diff --git a/NameCreater/NameCreater.pro.user b/NameCreater/NameCreater.pro.user index c3911f1..d4970ff 100644 --- a/NameCreater/NameCreater.pro.user +++ b/NameCreater/NameCreater.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -96,16 +96,16 @@ ProjectExplorer.Project.Target.0 WebAssemblyDeviceType - QwbAssembly Qt 5.15.2 - QwbAssembly Qt 5.15.2 - {7751e2ea-88c1-4df7-b6c4-78f8275796e2} + WebAssembly Qt 6.7.2 (single-threaded) + WebAssembly Qt 6.7.2 (single-threaded) + qt.qt6.672.wasm_singlethread_kit 0 -1 0 0 - C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Debug - C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Debug + C:/dev/namecreater/NameCreater/build/WebAssembly_Qt_6_7_2_single_threaded-Debug + C:/dev/namecreater/NameCreater/build/WebAssembly_Qt_6_7_2_single_threaded-Debug true @@ -143,8 +143,8 @@ 2 - C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Release - C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Release + device://WebAssembly DeviceC:/dev/namecreater/NameCreater/build/WebAssembly_Qt_6_7_2_single_threaded-Release + device://WebAssembly DeviceC:/dev/namecreater/NameCreater/build/WebAssembly_Qt_6_7_2_single_threaded-Release true @@ -180,12 +180,11 @@ Release Qt4ProjectManager.Qt4BuildConfiguration 0 - 0 0 - C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Profile - C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Profile + device://WebAssembly DeviceC:/dev/namecreater/NameCreater/build/WebAssembly_Qt_6_7_2_single_threaded-Profile + device://WebAssembly DeviceC:/dev/namecreater/NameCreater/build/WebAssembly_Qt_6_7_2_single_threaded-Profile true @@ -221,7 +220,6 @@ Profile Qt4ProjectManager.Qt4BuildConfiguration 0 - 0 0 3 @@ -233,14 +231,16 @@ true + 2 + + false -e cpu-cycles --call-graph "dwarf,4096" -F 250 - NameCreater - WebAssembly.RunConfiguration.EmrunC:/dev/namecreater/NameCreater/NameCreater.pro - C:/dev/namecreater/NameCreater/NameCreater.pro + + ProjectExplorer.CustomExecutableRunConfiguration + false true true - chrome 1 @@ -583,6 +583,159 @@ ProjectExplorer.Project.Target.3 + + WebAssemblyDeviceType + QwbAssembly Qt 5.15.2 + QwbAssembly Qt 5.15.2 + {7751e2ea-88c1-4df7-b6c4-78f8275796e2} + 0 + -1 + 0 + + 0 + C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Debug + C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Release + C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Profile + C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + 0 + + true + true + 0 + true + + + -e cpu-cycles --call-graph "dwarf,4096" -F 250 + NameCreater + WebAssembly.RunConfiguration.EmrunC:/dev/namecreater/NameCreater/NameCreater.pro + C:/dev/namecreater/NameCreater/NameCreater.pro + false + true + true + chrome + + 1 + + + + ProjectExplorer.Project.Target.4 Desktop Desktop Qt 5.12.12 MinGW 64-bit @@ -745,7 +898,7 @@ ProjectExplorer.Project.TargetCount - 4 + 5 ProjectExplorer.Project.Updater.FileVersion diff --git a/NameCreater/def.h b/NameCreater/def.h index b23b7d7..727a598 100644 --- a/NameCreater/def.h +++ b/NameCreater/def.h @@ -1,7 +1,7 @@ #ifndef DEF_H #define DEF_H -#define VERSION "v2.8.1" +#define VERSION "v2.9.0"