#include "updatenotifywidget.h"
#include "ui_updatenotifywidget.h"
#include "mainwindow.h"

#include <QMessageBox>

UpdateNotifyWidget::UpdateNotifyWidget(QWidget *) :
    ui(new Ui::UpdateNotifyWidget)
{
    ui->setupUi(this);
    setWindowFlag(Qt::FramelessWindowHint);
    setAttribute(Qt::WA_ShowModal,true);
}

void UpdateNotifyWidget::initialize(MainWindow *mainWindow)
{
    this->mainWindow = mainWindow;
    currentLoadingCount = 0;
    hide();

    auto pos = mainWindow->pos();
    pos.setY(pos.y() + 40);
    move(pos);
//    auto point = mainWindow->pos();
//    point.setY(point.y() + 100);
//    mapToParent(point);
}

void UpdateNotifyWidget::addToList(FileData fileData)
{
    QString itemName = fileData.path;
    itemName = itemName.remove(streamingAssetsPath);
    ui->updateListWidget->addItem(itemName);
}

void UpdateNotifyWidget::showWithFill()
{
    QString list = tr("Возможные действия:\n"
                      " 1. Выгрузить изменения на сервер\n"
                      " 2. Отменить изменения с загрузкой версии с сервера \n"
                      " 3. Запустить без отправки файлов, но с текущими изменениями");


    ui->updateActionListLabel->setText(list);

    show();
}

void UpdateNotifyWidget::on_loadToServerButton_clicked()
{
    mainWindow->loadToServer();
}

void UpdateNotifyWidget::on_undoChangesButton_clicked()
{
    mainWindow->undoCurrentChanges();
}

void UpdateNotifyWidget::on_startWithCurrentChangesButton_clicked()
{
    mainWindow->startUnityClient();
}

void UpdateNotifyWidget::setButtonWidget(InstructorButtonGroupWidget *widget)
{
    //ui->ButtonsLayout->addWidget(widget,0,Qt::AlignTop);
}


UpdateNotifyWidget::~UpdateNotifyWidget()
{
    delete ui;
}

void UpdateNotifyWidget::on_closeButton_clicked()
{
    close();
}


