| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #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)));
- updateSegment();
- }
- DialogUpdateSeg::~DialogUpdateSeg()
- {
- movie->stop();
- delete movie;
- //qDebug()<<update->isRunning()<<update->isFinished();
- update->abort();
- update->wait();
- delete update;
- delete ui;
- qDebug()<<"DialogUpdateSeg dead";
- }
- void DialogUpdateSeg::updateSegment()
- {
- ui->labelCurrentVersion->setText("当前号段版本:"+SNCDataBase::getSegVersion());
- 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 updateStatusBar();
- }
- }
- void DialogUpdateSeg::onFinished()
- {
- ui->labelCurrentVersion->setText("当前号段版本:"+SNCDataBase::getSegVersion());
- ui->pushButtonChkSegVersion->setEnabled(true);
- upgrading = false;
- emit updateStatusBar();
- }
- void DialogUpdateSeg::on_pushButtonChkSegVersion_clicked()
- {
- updateSegment();
- }
|