#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QList>
#include <QMainWindow>
#include <libintl.h>
#include <locale.h>
#define _(txt) gettext(txt)

class ScribbleArea;

//! [0]
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow();

protected:
    void closeEvent(QCloseEvent *event) override;

private slots:
    void open();
    void save();
    void about();

private:
    void createActions();
    void createMenus();
    void addColorSubmenu();
    void addPatternSubmenu();
    bool maybeSave();
    bool saveFile(const QByteArray &fileFormat);


    ScribbleArea *scribbleArea;

    QMenu *saveAsMenu{};
    QMenu *fileMenu{};
    QMenu *optionMenu{};
    QMenu *helpMenu{};

    QAction *openAct{};
    QList<QAction *> saveAsActs;
    QAction *exitAct{};
    QAction *printAct{};
    QAction *clearScreenAct{};
    QVector<QAction *>  colorActs;
    QAction *aboutAct{};
    QAction *aboutQtAct{};

};
//! [0]

#endif
