#include "Mousometer.h"

Mousometer::Mousometer(QWidget *parent) : QMainWindow(parent) {
    w       = new QWidget;
    layout  = new QGridLayout(w);
    spin    = new QSpinBox;
    slider  = new QSlider(Qt::Horizontal);
    label   = new QLabel("Anzahl der Durchläufe");
    button1  = new QPushButton("Programm starten...");
    button2  = new QPushButton("Programm stoppen...");

    spin->setMinimum(1);
    spin->setMaximum(100);
    slider->setMinimum(1);
    slider->setMaximum(100);

    layout->addWidget(label, 0, 0);
    layout->addWidget(slider, 0, 1);
    layout->addWidget(spin, 0, 2);
    layout->addWidget(button1, 1, 1);
    layout->addWidget(button2, 2, 1);

    QObject::connect( spin, SIGNAL( valueChanged(int) ), slider, SLOT( setValue(int) ) );
    QObject::connect( slider, SIGNAL( valueChanged(int) ), spin, SLOT( setValue(int) ) );
    QObject::connect( button1, SIGNAL( clicked() ), this, SLOT( letMouseRun() ) );
    QObject::connect( button2, SIGNAL( clicked() ), this, SLOT( stopMouse() ) );

    QMenu *fileMenu = new QMenu(tr("&Datei"), this);
    menuBar()->addMenu(fileMenu);
    fileMenu->addAction(
        QIcon("./images/cancel.png"),
        tr("Beenden..."), qApp, SLOT(quit()),
        QKeySequence(tr("Ctrl+X", "Datei|Beenden")));

    resize(320, 200);
    setCentralWidget(w);
    setWindowTitle("Mousometer");

    thread = new Thread;
}

Mousometer::~Mousometer() {}

void Mousometer::letMouseRun() {
    slider->setValue(55);
    thread->start();
}

void Mousometer::stopMouse() {
    slider->setValue(66);
    thread->timerStop();
    thread->quit();
}
