取消高版本可更新升级为低版本
This commit is contained in:
parent
e91a73e9f4
commit
7e55faf567
|
@ -6,58 +6,23 @@
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
|
|
||||||
Dialog_upgrade::Dialog_upgrade(class VersionDll *versionDll, HGVersionInfo *versionInfo, HGUInt versionCount, QWidget *parent) :
|
Dialog_upgrade::Dialog_upgrade(class VersionDll *versionDll, HGVersionInfo *versionInfo, QWidget *parent) :
|
||||||
QDialog(parent)
|
QDialog(parent)
|
||||||
, ui(new Ui::Dialog_upgrade)
|
, ui(new Ui::Dialog_upgrade)
|
||||||
, m_versionDll(versionDll)
|
, m_versionDll(versionDll)
|
||||||
, m_versionInfo(versionInfo)
|
, m_versionInfo(versionInfo)
|
||||||
, m_versionCount(versionCount)
|
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
setWindowTitle(tr("upgrade online"));
|
setWindowTitle(tr("upgrade online"));
|
||||||
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
||||||
this->layout()->setSizeConstraint(QLayout::SetFixedSize);
|
this->layout()->setSizeConstraint(QLayout::SetFixedSize);
|
||||||
|
|
||||||
ui->listWidget->setVisible(false);
|
|
||||||
ui->pbtn_upgrade->setVisible(false);
|
ui->pbtn_upgrade->setVisible(false);
|
||||||
ui->pbtn_install->setVisible(false);
|
|
||||||
ui->pbtn_cancel->setVisible(false);
|
|
||||||
ui->label->setVisible(false);
|
|
||||||
|
|
||||||
for(HGUInt i = 0; i < m_versionCount; ++i)
|
|
||||||
{
|
|
||||||
QListWidgetItem *listwidgetItem = new QListWidgetItem;
|
|
||||||
listwidgetItem->setText(QString(m_versionInfo[i].version));
|
|
||||||
|
|
||||||
std::string desc = m_versionInfo[i].desc;
|
|
||||||
std::string bugInfo = m_versionInfo[i].bugInfo;
|
|
||||||
|
|
||||||
if(desc.empty() && !bugInfo.empty())
|
|
||||||
{
|
|
||||||
listwidgetItem->setToolTip(tr("bug description: \n") + m_versionInfo[i].bugInfo);
|
|
||||||
}
|
|
||||||
if(!desc.empty() && bugInfo.empty())
|
|
||||||
{
|
|
||||||
listwidgetItem->setToolTip(tr("upgrade contents: \n") + m_versionInfo[i].desc);
|
|
||||||
}
|
|
||||||
if(!desc.empty() && !bugInfo.empty())
|
|
||||||
{
|
|
||||||
listwidgetItem->setToolTip(tr("upgrade contents: \n") + m_versionInfo[i].desc + tr("\nbug description: \n") + m_versionInfo[i].bugInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
ui->listWidget->addItem(listwidgetItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(ui->listWidget->count() > 0)
|
|
||||||
{
|
|
||||||
ui->listWidget->setCurrentRow(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
HGChar currVersion[64] = {0};
|
HGChar currVersion[64] = {0};
|
||||||
m_versionDll->GetCurrVersion(HGVERSION_APPNAME_SCANNER, currVersion, 64);
|
m_versionDll->GetCurrVersion(HGVERSION_APPNAME_SCANNER, currVersion, 64);
|
||||||
HGInt result = 0;
|
HGInt result = 0;
|
||||||
std::string newestVersionNum = ui->listWidget->item(0)->text().toStdString().c_str();
|
m_versionDll->CompareVersion(currVersion, m_versionInfo[0].version, &result);
|
||||||
m_versionDll->CompareVersion(currVersion, newestVersionNum.c_str(), &result);
|
|
||||||
if(result == 0 || result == 1)
|
if(result == 0 || result == 1)
|
||||||
{
|
{
|
||||||
ui->label_detectResult->setText(tr("The current version is the latest! The current version number is : ") + currVersion);
|
ui->label_detectResult->setText(tr("The current version is the latest! The current version number is : ") + currVersion);
|
||||||
|
@ -67,7 +32,7 @@ Dialog_upgrade::Dialog_upgrade(class VersionDll *versionDll, HGVersionInfo *vers
|
||||||
{
|
{
|
||||||
ui->pbtn_upgrade->setVisible(true);
|
ui->pbtn_upgrade->setVisible(true);
|
||||||
ui->label_detectResult->setText(tr("Discover the new version : ") +
|
ui->label_detectResult->setText(tr("Discover the new version : ") +
|
||||||
ui->listWidget->item(0)->text().toStdString().c_str() +
|
m_versionInfo[0].version +
|
||||||
tr(" ,the current version is : ") + currVersion);
|
tr(" ,the current version is : ") + currVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,54 +48,8 @@ QString Dialog_upgrade::getVersionNum()
|
||||||
return m_versionNum;
|
return m_versionNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Dialog_upgrade::on_pbtn_install_clicked()
|
|
||||||
{
|
|
||||||
QListWidgetItem *item = ui->listWidget->currentItem();
|
|
||||||
on_listWidget_itemDoubleClicked(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Dialog_upgrade::on_pbtn_cancel_clicked()
|
|
||||||
{
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Dialog_upgrade::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
|
|
||||||
{
|
|
||||||
HGChar currVersion[64] = {0};
|
|
||||||
m_versionDll->GetCurrVersion(HGVERSION_APPNAME_SCANNER, currVersion, 64);
|
|
||||||
|
|
||||||
std::string selectVersionNum = item->text().toStdString().c_str();
|
|
||||||
HGInt result = 0;
|
|
||||||
m_versionDll->CompareVersion(currVersion, selectVersionNum.c_str(), &result);
|
|
||||||
if(result == 0)
|
|
||||||
{
|
|
||||||
QMessageBox::information(this, tr("tip"), tr("Already in current version"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_versionNum = item->text();
|
|
||||||
|
|
||||||
accept();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Dialog_upgrade::on_pbtn_selectVersion_clicked()
|
|
||||||
{
|
|
||||||
if(ui->listWidget->count() == 0)
|
|
||||||
{
|
|
||||||
ui->pbtn_install->setVisible(false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ui->pbtn_install->setVisible(true);
|
|
||||||
}
|
|
||||||
ui->pbtn_selectVersion->setVisible(false);
|
|
||||||
ui->listWidget->setVisible(true);
|
|
||||||
ui->pbtn_cancel->setVisible(true);
|
|
||||||
ui->label->setVisible(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Dialog_upgrade::on_pbtn_upgrade_clicked()
|
void Dialog_upgrade::on_pbtn_upgrade_clicked()
|
||||||
{
|
{
|
||||||
QListWidgetItem *item = ui->listWidget->item(0);
|
m_versionNum = m_versionInfo[0].version;
|
||||||
on_listWidget_itemDoubleClicked(item);
|
accept();
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,20 +14,11 @@ class Dialog_upgrade : public QDialog
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit Dialog_upgrade(class VersionDll *versionDll, HGVersionInfo *versionInfo, HGUInt versionCount, QWidget *parent = nullptr);
|
explicit Dialog_upgrade(class VersionDll *versionDll, HGVersionInfo *versionInfo, QWidget *parent = nullptr);
|
||||||
~Dialog_upgrade();
|
~Dialog_upgrade();
|
||||||
|
|
||||||
QString getVersionNum();
|
QString getVersionNum();
|
||||||
|
|
||||||
private slots:
|
|
||||||
void on_pbtn_install_clicked();
|
|
||||||
|
|
||||||
void on_pbtn_cancel_clicked();
|
|
||||||
|
|
||||||
void on_listWidget_itemDoubleClicked(QListWidgetItem *item);
|
|
||||||
|
|
||||||
void on_pbtn_selectVersion_clicked();
|
|
||||||
|
|
||||||
void on_pbtn_upgrade_clicked();
|
void on_pbtn_upgrade_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -35,7 +26,6 @@ private:
|
||||||
|
|
||||||
VersionDll *m_versionDll;
|
VersionDll *m_versionDll;
|
||||||
HGVersionInfo *m_versionInfo;
|
HGVersionInfo *m_versionInfo;
|
||||||
HGUInt m_versionCount;
|
|
||||||
QString m_versionNum;
|
QString m_versionNum;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -43,13 +43,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="pbtn_selectVersion">
|
|
||||||
<property name="text">
|
|
||||||
<string>select version</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_3">
|
<spacer name="horizontalSpacer_3">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -65,47 +58,6 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Detected installable versions:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QListWidget" name="listWidget"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="pbtn_install">
|
|
||||||
<property name="text">
|
|
||||||
<string>install</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="pbtn_cancel">
|
|
||||||
<property name="text">
|
|
||||||
<string>cancel</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|
|
@ -4053,7 +4053,7 @@ void MainWindow::on_actionact_update_triggered()
|
||||||
}
|
}
|
||||||
if(versionCount > 0)
|
if(versionCount > 0)
|
||||||
{
|
{
|
||||||
Dialog_upgrade dlg(m_versionDll, versionInfo, versionCount, this);
|
Dialog_upgrade dlg(m_versionDll, versionInfo, this);
|
||||||
if (dlg.exec())
|
if (dlg.exec())
|
||||||
{
|
{
|
||||||
QString url, md5;
|
QString url, md5;
|
||||||
|
|
Loading…
Reference in New Issue