#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMouseEvent>
#include <QCloseEvent>
#include <QWidget>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    Ui::MainWindow *ui;
    explicit MainWindow(double scale_factor, QMainWindow *parent = 0);
    ~MainWindow();
    bool eventFilter(QObject *obj, QEvent *event);

    QString hint = "";
    QString exthint = "";
    double scale_factor_;

signals:
    void datFileChecked(int result);
public slots:
    void PostDatFileCheckTransactions(int check_result);

private:


private slots:
    void minimize();
    void saveSkin();

    void on_mainButton_clicked();

    void on_optButton_clicked();

    void on_newsButton_clicked();

    void on_helpButton_clicked();

    void on_aboutButton_clicked();

    void on_minimizeButton_clicked();

    void on_closeButton_clicked();

    void on_checkFonts_stateChanged(int arg1);

    void on_checkTexts_stateChanged(int arg1);

    void on_checkSounds_stateChanged(int arg1);

    void on_checkMaps_stateChanged(int arg1);

    void on_checkScreens_stateChanged(int arg1);

    void on_checkVideos_stateChanged(int arg1);

    void on_checkMicro_stateChanged(int arg1);

    void on_lotropathButton_clicked();

    void on_okButton_clicked();

    void on_couponButton_clicked();

    void on_cancelButton_clicked();

    void on_enButton_clicked();

    void on_deButton_clicked();

    void on_frButton_clicked();

    void on_enterButton_clicked();

    void on_goCancel_clicked();

    void on_goOriginal_clicked();

    void on_goLocal_clicked();

    void on_repairButton_clicked();

    void on_designButton_clicked();


protected:
    void mouseMoveEvent( QMouseEvent* e );
    void mousePressEvent( QMouseEvent* e );
    void mouseReleaseEvent( QMouseEvent* e );
    void closeEvent( QCloseEvent * e );
private:
    int dx;
    int dy;

};

#endif // MAINWINDOW_H
