| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #include "dialogupdateseg.h"
- #include "ui_dialogupdateseg.h"
- #include "SNCDataBase.h"
- DialogUpdateSeg::DialogUpdateSeg(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::DialogUpdateSeg)
- {
- ui->setupUi(this);
- ui->labelIcon->setPixmap(QPixmap(":/upgrade.png"));
- ui->labelOk->setPixmap(QPixmap(":/upgradeok.jpg"));
- ui->labelError->setPixmap(QPixmap(":/upgradeerror.jpg"));
- ui->labelWarning->setPixmap(QPixmap(":/upgradewarning.jpg"));
- //ui->label->setStyleSheet("font:bold");
- //ui->labelCurrentVersion->setStyleSheet("font:bold");
- movie = new QMovie(":/upgrading.gif");
- ui->labelAnimation->setMovie(movie);
- movie->start();
- ui->labelAnimation->setVisible(false);
- ui->labelOk->setVisible(false);
- ui->labelError->setVisible(false);
- ui->labelWarning->setVisible(false);
- upgrading = false;
- update = new SegmentUpdate();
- QObject::connect(update,SIGNAL(updateFinished()),this,SLOT(onFinished()));
- QObject::connect(update,SIGNAL(updateProgress(QString,int)),this,SLOT(onProgressUpdated(QString,int)));
- QObject::connect(update,SIGNAL(newNumbers(QString)),this,SLOT(onNewNumber()));
- updateSegment();
- }
- DialogUpdateSeg::~DialogUpdateSeg()
- {
- movie->stop();
- delete movie;
- //qDebug()<<update->isRunning()<<update->isFinished();
- update->abort();
- update->wait();
- delete update;
- delete ui;
- qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
- <<"DialogUpdateSeg Destroyed.";
- }
- void DialogUpdateSeg::updateSegment()
- {
- ui->labelCurrentVersion->setText("号段版本:"+SNCDataBase::getSegVersion()+ "(共" + QString::number(SNCDataBase::getSegCount()) + "个号段)");
- if(!upgrading)
- {
- ui->label->setText("正在检测号段库是否有更新...");
- ui->labelAnimation->setVisible(true);
- ui->labelOk->setVisible(false);
- ui->labelError->setVisible(false);
- ui->labelWarning->setVisible(false);
- ui->pushButtonChkSegVersion->setEnabled(false);
- update->setMethod(UpdateBaseInfo);
- upgrading = true;
- update->start();
- }
- }
- void DialogUpdateSeg::onProgressUpdated(QString msg,int code)
- {
- ui->label->setText(msg);
- ui->labelAnimation->setVisible(false);
- ui->labelOk->setVisible(false);
- ui->labelError->setVisible(false);
- ui->labelWarning->setVisible(false);
- ui->pushButtonChkSegVersion->setEnabled(false);
- if(code < -1)
- {
- ui->labelError->setVisible(true);
- }
- else if(code == -1)
- {
- ui->labelWarning->setVisible(true);
- }
- else if(code == 0)
- {
- ui->labelAnimation->setVisible(true);
- }
- else if(code == 1 )
- {
- ui->labelOk->setVisible(true);
- emit segUpdated();
- }
- }
- void DialogUpdateSeg::onFinished()
- {
- ui->labelCurrentVersion->setText("号段版本:"+SNCDataBase::getSegVersion()+ "(共" + QString::number(SNCDataBase::getSegCount()) + "个号段)");
- ui->pushButtonChkSegVersion->setEnabled(true);
- upgrading = false;
- emit segUpdated();
- }
- void DialogUpdateSeg::onNewNumber()
- {
- emit segNewVersionFound();
- }
- void DialogUpdateSeg::on_pushButtonChkSegVersion_clicked()
- {
- updateSegment();
- }
- void DialogUpdateSeg::on_pushButtonHide_clicked()
- {
- this->hide();
- }
|