From 27fe3692fea37c424d77a05f1143863429ae49ea Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Wed, 20 Jul 2022 17:30:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=89=88=E6=9C=AC=E5=AF=B9?= =?UTF-8?q?=E6=AF=94=EF=BC=8C=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scanner/dialog_feedback.cpp | 53 ++++++++++++++ app/scanner/dialog_feedback.h | 30 ++++++++ app/scanner/dialog_feedback.ui | 76 +++++++++++++++++++++ app/scanner/dialog_upgrade.cpp | 2 +- app/scanner/mainwindow.cpp | 7 ++ app/scanner/mainwindow.h | 2 + app/scanner/mainwindow.ui | 9 +++ build-qt/HGSolution/HGScanner/HGScanner.pro | 11 +-- 8 files changed, 185 insertions(+), 5 deletions(-) create mode 100644 app/scanner/dialog_feedback.cpp create mode 100644 app/scanner/dialog_feedback.h create mode 100644 app/scanner/dialog_feedback.ui diff --git a/app/scanner/dialog_feedback.cpp b/app/scanner/dialog_feedback.cpp new file mode 100644 index 00000000..cc31dc4c --- /dev/null +++ b/app/scanner/dialog_feedback.cpp @@ -0,0 +1,53 @@ +#include "dialog_feedback.h" +#include "ui_dialog_feedback.h" +#include + +Dialog_Feedback::Dialog_Feedback(class VersionDll *versionDll, QWidget *parent) : + QDialog(parent) + , ui(new Ui::Dialog_Feedback) + , m_versionDll(versionDll) +{ + ui->setupUi(this); + + setWindowTitle(tr("feedback")); + setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); + + ui->textEdit->setPlaceholderText(tr("Please leave your valuable comments and suggestions (required field).")); + ui->lineEdit->setPlaceholderText(tr("Please leave your phone number, QQ or email address (required field).")); +} + +Dialog_Feedback::~Dialog_Feedback() +{ + delete ui; +} + +void Dialog_Feedback::on_pbtn_submit_clicked() +{ + QString feedback = ui->textEdit->toPlainText(); + QString contact = ui->lineEdit->text(); + if(ui->textEdit->document()->isEmpty()) + { + QMessageBox::critical(this, tr("error"), tr("Comments and suggestions cannot be empty.")); + return; + } + if(ui->lineEdit->text().isEmpty()) + { + QMessageBox::critical(this, tr("error"), tr("The contact information column cannot be empty.")); + return; + } + HGResult ret = m_versionDll->PostUserFeedback(HGVERSION_APPNAME_SCANNER, "feedback", feedback.toStdString().c_str(), contact.toStdString().c_str()); + if(HGBASE_ERR_OK == ret) + { + QMessageBox::information(this, tr("tip"), tr("submit succeed.")); + } + else + { + QMessageBox::critical(this, tr("error"), tr("submit failed.")); + } + close(); +} + +void Dialog_Feedback::on_pbtn_cancel_clicked() +{ + close(); +} diff --git a/app/scanner/dialog_feedback.h b/app/scanner/dialog_feedback.h new file mode 100644 index 00000000..2afbf877 --- /dev/null +++ b/app/scanner/dialog_feedback.h @@ -0,0 +1,30 @@ +#ifndef DIALOG_FEEDBACK_H +#define DIALOG_FEEDBACK_H + +#include +#include "VersionDll.h" + +namespace Ui { +class Dialog_Feedback; +} + +class Dialog_Feedback : public QDialog +{ + Q_OBJECT + +public: + explicit Dialog_Feedback(class VersionDll *versionDll, QWidget *parent = nullptr); + ~Dialog_Feedback(); + +private slots: + void on_pbtn_submit_clicked(); + + void on_pbtn_cancel_clicked(); + +private: + Ui::Dialog_Feedback *ui; + + VersionDll *m_versionDll; +}; + +#endif // DIALOG_FEEDBACK_H diff --git a/app/scanner/dialog_feedback.ui b/app/scanner/dialog_feedback.ui new file mode 100644 index 00000000..111f7cb5 --- /dev/null +++ b/app/scanner/dialog_feedback.ui @@ -0,0 +1,76 @@ + + + Dialog_Feedback + + + + 0 + 0 + 383 + 214 + + + + Dialog + + + + + + feedback: + + + + + + + + + + + + contact: + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + submit + + + + + + + cancel + + + + + + + + + + diff --git a/app/scanner/dialog_upgrade.cpp b/app/scanner/dialog_upgrade.cpp index 216de841..ac08bd5c 100644 --- a/app/scanner/dialog_upgrade.cpp +++ b/app/scanner/dialog_upgrade.cpp @@ -47,7 +47,7 @@ Dialog_upgrade::Dialog_upgrade(class VersionDll *versionDll, QWidget *parent) : HGInt result = 0; std::string newestVersionNum = ui->listWidget->item(0)->text().toStdString().c_str(); m_versionDll->CompareVersion(currVersion, newestVersionNum.c_str(), &result); - if(result == 0) + if(result == 0 || result == 1) { ui->label_detectResult->setText(tr("The current version is the latest! The current version number is : ") + currVersion); ui->pbtn_upgrade->setVisible(false); diff --git a/app/scanner/mainwindow.cpp b/app/scanner/mainwindow.cpp index 3560f8b2..07269aad 100644 --- a/app/scanner/mainwindow.cpp +++ b/app/scanner/mainwindow.cpp @@ -30,6 +30,7 @@ #include "dialog_imageeditor.h" #include "dialog_updateprogress.h" #include "dialog_upgrade.h" +#include "dialog_feedback.h" #include "hg_settingdialog.h" #include "base/HGInfo.h" #include "imgfmt/HGPdf.h" @@ -3159,3 +3160,9 @@ void MainWindow::on_actionact_update_triggered() return; } } + +void MainWindow::on_act_feedback_triggered() +{ + Dialog_Feedback dlg(m_versionDll, this); + dlg.exec(); +} diff --git a/app/scanner/mainwindow.h b/app/scanner/mainwindow.h index ff6c9652..7524a8a5 100644 --- a/app/scanner/mainwindow.h +++ b/app/scanner/mainwindow.h @@ -204,6 +204,8 @@ private slots: void on_actionact_update_triggered(); + void on_act_feedback_triggered(); + public slots: void my_url_handler(const QUrl& url); diff --git a/app/scanner/mainwindow.ui b/app/scanner/mainwindow.ui index 07292097..35afc847 100644 --- a/app/scanner/mainwindow.ui +++ b/app/scanner/mainwindow.ui @@ -156,6 +156,7 @@ + @@ -583,6 +584,14 @@ act_update + + + true + + + act_feedback + + diff --git a/build-qt/HGSolution/HGScanner/HGScanner.pro b/build-qt/HGSolution/HGScanner/HGScanner.pro index eddeabcc..1b00e5b1 100644 --- a/build-qt/HGSolution/HGScanner/HGScanner.pro +++ b/build-qt/HGSolution/HGScanner/HGScanner.pro @@ -54,7 +54,7 @@ unix { contains(DISTRIBUTION, UnionTech){ message('UOS') DEFINES += UOS - contains(ARCH, x86_64){ + contains(ARCH, x86_64){ LIBS += -L../../../../release/uos/x86_64 -lHGBase -lHGImgFmt -lHGImgProc -lsane-hgsane -lhgdriver CONFIG(release, debug|release) { DESTDIR = ../../../../release/uos/x86_64/ @@ -164,7 +164,8 @@ SOURCES += \ ../../../utility/HGString.cpp \ ../../../app/scanner/dialog_input.cpp \ ../../../app/scanner/dialog_updateprogress.cpp \ - ../../../app/scanner/dialog_upgrade.cpp + ../../../app/scanner/dialog_upgrade.cpp \ + ../../../app/scanner/dialog_feedback.cpp HEADERS += \ ../../../app/scanner/VersionDll.h \ @@ -211,7 +212,8 @@ HEADERS += \ ../../../app/scanner/dialog_input.h \ ../../../app/scanner/custom_file_dialog.h \ ../../../app/scanner/dialog_updateprogress.h \ - ../../../app/scanner/dialog_upgrade.h + ../../../app/scanner/dialog_upgrade.h \ + ../../../app/scanner/dialog_feedback.h FORMS += \ ../../../app/scanner/cutdialog.ui \ @@ -243,7 +245,8 @@ FORMS += \ ../../../app/scanner/dialog_log.ui \ ../../../app/scanner/dialog_input.ui \ ../../../app/scanner/dialog_updateprogress.ui \ - ../../../app/scanner/dialog_upgrade.ui + ../../../app/scanner/dialog_upgrade.ui \ + ../../../app/scanner/dialog_feedback.ui TRANSLATIONS += \ ../../../app/scanner/Scanner_zh_CN.ts \