#ifndef WEEKLYCODEWIDGET_H
#define WEEKLYCODEWIDGET_H

#include <QWidget>
#include <QTimer>

#include "models/downloader.h"

namespace Ui {
class WeeklyCodeWidget;
}

class WeeklyCodeWidget : public QWidget
{
    Q_OBJECT

public:
    explicit WeeklyCodeWidget(QWidget *parent = 0);
    ~WeeklyCodeWidget();

public slots:
    void updateFontsSizes();

protected:
    void resizeEvent(QResizeEvent *event) override;
    virtual void leaveEvent(QEvent * event) override;
    virtual void enterEvent(QEvent * event) override;
    virtual void mousePressEvent(QMouseEvent *ev) override;
    virtual void mouseReleaseEvent(QMouseEvent *ev) override;

signals:
    void showHelpTooltip();
    void showCompletedTooltip();
    void showNoTooltip();

public slots:
    void updateCode();

private:
    Ui::WeeklyCodeWidget *ui;
    QByteArray code_data;
    QTimer code_update_timer;
    Downloader code_downloader;

};

#endif // WEEKLYCODEWIDGET_H
