#ifndef UPDATENOTIFYWIDGET_H
#define UPDATENOTIFYWIDGET_H

#include "mainwindow.h"

#include <QDialog>
#include <QWidget>

#include <Data/FileData.h>

namespace Ui {
class UpdateNotifyWidget;
}

class MainWindow;
class UpdateController;
class InstructorButtonGroupWidget;
class VersionContainer;

class UpdateNotifyWidget : public QWidget
{
    Q_OBJECT

public:
    explicit UpdateNotifyWidget(QWidget *parent = nullptr);
    void initialize(MainWindow *mainWindow,VersionContainer *versionContainer);
    void addToList(FileData fileData);
    void showWithFill();

    ~UpdateNotifyWidget();

private slots:
    void on_closeButton_clicked();
    void on_loadToServerButton_clicked();
    void on_undoChangesButton_clicked();
    void on_startWithCurrentChangesButton_clicked();

    void on_updateActionListLabel_linkActivated(const QString &link);

private:
    Ui::UpdateNotifyWidget *ui;
    MainWindow *mainWindow;
    VersionContainer *versionContainer;
    int currentLoadingCount;
    void showWarning(QString text);
};

#endif // UPDATENOTIFYWIDGET_H
