#include "updatenotifywidget.h" #include "ui_updatenotifywidget.h" #include "mainwindow.h" #include UpdateNotifyWidget::UpdateNotifyWidget(QWidget *parent) : ui(new Ui::UpdateNotifyWidget) { ui->setupUi(this); setWindowFlag(Qt::SubWindow); setAttribute(Qt::WA_ShowModal,true); } void UpdateNotifyWidget::initialize(MainWindow *mainWindow,UpdateController *updateController) { setWindowTitle("Отправка новых файлов"); ui->LoadingBar->hide(); this->mainWindow = mainWindow; this->updateController = updateController; currentLoadingCount = 0; fillList(); connect(updateController,&UpdateController::sigUpdateComplete,this,&UpdateNotifyWidget::showCompleteDialogBox); connect(this,&UpdateNotifyWidget::sigUpdateFilesOnServer,updateController,&UpdateController::updateFilesOnServer); } void UpdateNotifyWidget::setUpdateList(QList *fileDataList) { int listCount = fileDataList->count(); this->updateList = fileDataList; ui->LoadingBar->setRange(0,listCount); } void UpdateNotifyWidget::updateCount() { currentLoadingCount++; ui->LoadingBar->setValue(currentLoadingCount); } void UpdateNotifyWidget::addToList(FileData fileData) { QString itemName = fileData.path; itemName = itemName.remove(streamingAssetsPath); ui->updateListWidget->addItem(itemName); } void UpdateNotifyWidget::on_StartLoadButton_clicked() { emit sigUpdateFilesOnServer(updateList); ui->StartLoadButton->setEnabled(false); ui->CancelButton->setEnabled(false); ui->LoadingBar->show(); } void UpdateNotifyWidget::on_CancelButton_clicked() { mainWindow->checkUpdate(); close(); } void UpdateNotifyWidget::fillList() { } UpdateNotifyWidget::~UpdateNotifyWidget() { delete ui; } void UpdateNotifyWidget::showCompleteDialogBox(bool flag) { QMessageBox *messageBox = new QMessageBox(this); if(flag) { messageBox->setIcon(QMessageBox::Information); messageBox->setWindowTitle("Информация"); messageBox->addButton(QMessageBox::Ok); messageBox->setText("Загрузка завершена"); } else { messageBox->setIcon(QMessageBox::Warning); messageBox->setWindowTitle("Ошибка"); messageBox->addButton(QMessageBox::Ok); messageBox->setText("Произошла ошибка при загрузке"); } connect(messageBox,&QMessageBox::accepted,this,&UpdateNotifyWidget::hide); connect(messageBox,&QMessageBox::accepted,this,&UpdateNotifyWidget::on_CancelButton_clicked); messageBox->show(); }