在线升级列表中,过滤掉低版本

This commit is contained in:
luoliangyi 2022-11-11 15:52:54 +08:00
parent a5e6e8f9ce
commit 8ebf1ccee9
3 changed files with 33 additions and 23 deletions

View File

@ -38,8 +38,6 @@ MainWindow::MainWindow(QWidget *parent)
m_versionMgr = nullptr;
HGVersion_CreateMgr(&m_versionMgr);
m_versionInfo = nullptr;
m_versionCount = 0;
SANE_Int v = 0;
sane_init_ex(&v, sane_ex_callback, this);
@ -57,9 +55,7 @@ MainWindow::~MainWindow()
sane_exit();
HGVersion_ReleaseVersionList(m_versionInfo, m_versionCount);
m_versionInfo = nullptr;
m_versionCount = 0;
m_vVersion.clear();
HGVersion_DestroyMgr(m_versionMgr);
m_versionMgr = nullptr;
@ -211,9 +207,7 @@ void MainWindow::on_comboDevList_currentIndexChanged(int index)
{
ui->comboDevList2->setCurrentIndex(index);
HGVersion_ReleaseVersionList(m_versionInfo, m_versionCount);
m_versionInfo = nullptr;
m_versionCount = 0;
m_vVersion.clear();
ui->comboVersionList->clear();
ui->editFilePath->clear();
@ -290,20 +284,28 @@ void MainWindow::on_comboDevList_currentIndexChanged(int index)
void MainWindow::on_btnGetVersionList_clicked()
{
HGVersion_ReleaseVersionList(m_versionInfo, m_versionCount);
m_versionInfo = nullptr;
m_versionCount = 0;
m_vVersion.clear();
ui->comboVersionList->clear();
QString devType = GetDevType(m_curFwVersion);
assert(!devType.isEmpty());
HGVersion_GetDriverVersionList(m_versionMgr, devType.toStdString().c_str(), &m_versionInfo, &m_versionCount);
if (0 != m_versionCount)
HGVersionInfo *versionInfo = nullptr;
HGUInt versionCount = 0;
HGVersion_GetDriverVersionList(m_versionMgr, devType.toStdString().c_str(), &versionInfo, &versionCount);
if (0 != versionCount)
{
for (HGUInt i = 0; i < m_versionCount; ++i)
for (HGUInt i = 0; i < versionCount; ++i)
{
ui->comboVersionList->addItem(m_versionInfo[i].version);
if (QString(versionInfo[i].version) > m_curFwVersion)
{
VersionInfo inf;
inf.version = versionInfo[i].version;
inf.url = versionInfo[i].url;
inf.md5 = versionInfo[i].md5;
m_vVersion.push_back(inf);
ui->comboVersionList->addItem(versionInfo[i].version);
}
}
}
else
@ -312,6 +314,8 @@ void MainWindow::on_btnGetVersionList_clicked()
msg.setButtonText(QMessageBox::Yes, tr("yes"));
msg.exec();
}
HGVersion_ReleaseVersionList(versionInfo, versionCount);
}
void MainWindow::on_comboVersionList_currentIndexChanged(int index)
@ -377,9 +381,9 @@ void MainWindow::on_btnDownloadUpgrade_clicked()
int idx = ui->comboVersionList->currentIndex();
if (-1 != idx)
{
QString url = m_versionInfo[idx].url;
QString md5 = m_versionInfo[idx].md5;
QString versionNum = m_versionInfo[idx].version;
QString url = m_vVersion[idx].url.c_str();
QString md5 = m_vVersion[idx].md5.c_str();
QString versionNum = m_vVersion[idx].version.c_str();
if (m_curFwVersion >= versionNum)
{

View File

@ -9,6 +9,13 @@ QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
struct VersionInfo
{
std::string version;
std::string url;
std::string md5;
};
class MainWindow : public QMainWindow
{
Q_OBJECT
@ -56,8 +63,7 @@ private:
private:
Ui::MainWindow *ui;
HGVersionMgr m_versionMgr;
HGVersionInfo* m_versionInfo;
HGUInt m_versionCount;
std::vector<VersionInfo> m_vVersion;
QString m_curDevName;
SANE_Handle m_curDevHandle;

View File

@ -30,7 +30,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
@ -52,9 +52,9 @@
<widget class="QLabel" name="labelDevInfo">
<property name="geometry">
<rect>
<x>180</x>
<x>190</x>
<y>80</y>
<width>401</width>
<width>391</width>
<height>20</height>
</rect>
</property>