#ifndef HelpWidget_H
#define HelpWidget_H

#include <QWidget>
#include <QTimer>
#include <QSettings>
#include <QPropertyAnimation>
#include <QPushButton>

namespace Ui {
class HelpWidget;
}

class PatchDownloader;
class LotroDatManager;

class HelpWidget : public QWidget
{
    Q_OBJECT

public:
    explicit HelpWidget(QSettings* settings, PatchDownloader* patch_downloader, LotroDatManager* lotro_dat_manager, QWidget *parent = 0);

    ~HelpWidget();

public slots:
    void updateFontsSizes();

protected:
    void resizeEvent(QResizeEvent *event) override;


private slots:
    void handleContentScrolling(int value);

    void moveMenuHoverWidget(QPushButton* target);

    void scrollContentToWidget(QWidget* widget);

    void on_menuentry_1_clicked();

    void on_menuentry_2_clicked();

    void on_menuentry_3_clicked();

    void on_menuentry_4_clicked();

    void on_menuentry_5_clicked();

private:
    QSettings* app_settings;
    PatchDownloader* patch_updater;
    LotroDatManager* lotro_manager;

    QPushButton* currently_active_entry = nullptr;
    QPropertyAnimation* menuHoverWidgetAnimation = nullptr;
    QPropertyAnimation* scrollAreaContentsAnimation = nullptr;

    Ui::HelpWidget *ui;
};

#endif // HelpWidget_H
