#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLayout>
#include <QSpacerItem>
#include <QDebug>
#include <QButtonGroup>
#include <QEvent>
#include <QDragMoveEvent>
#include <QDragEnterEvent>
#include <QEvent>
#include <QPaintEvent>
#include <QMessageBox>
#include "fileconfigdecode.h"
#include "frmalbum.h"
#include "frmsetting.h"
#include "frmupload.h"
#include "iconhelper.h"

class QPushButton;

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

protected:
    virtual bool eventFilter(QObject* watched, QEvent* event);

    virtual void paintEvent(QPaintEvent* event);

private slots:
    void on_btnClose_clicked();

    void on_btnMin_clicked();

private slots:
    void pageChangeSlot();
    void actAboutSlot();
    void actRcodeSlot();
    void actPrivateLicSlot();
private:
    void initWidgetForm();
    void initWidget();
    void initSignalSlot();
    void initLeftMenu();

private:
    Ui::Widget *ui;
    FrmUpload* frmupload;
    FrmAlbum* frmalbum;
    FrmSetting* frmsetting;

    QPushButton* btnPageUpload;
    QPushButton* btnPageAlbum;
    QPushButton* btnPageSetting;
    QLabel* labAbout;

    QMenu* menuPop;
    QAction* actAbout;
    QAction* actRcode;
    QAction* actPrivateLic;

    FileConfigDecode* fileConfig;

};
#endif // WIDGET_H
