#include "slider.h"

#include <QStyle>
#include <QPainter>

Slider::Slider(QWidget *parent) : QSlider(parent)
{
    leftMarkerValue = -1;
    rightMarkerValue = -1;
}

void Slider::paintEvent(QPaintEvent* ev)
{
    QSlider::paintEvent(ev);
    int position;
    if (leftMarkerValue != -1 || rightMarkerValue != -1) {
        QPainter painter(this);
        if (leftMarkerValue != -1) {
            position = QStyle::sliderPositionFromValue(minimum(), maximum(), leftMarkerValue, width());
            painter.drawLine(position, 0, position, height()/2);
        }
        if (rightMarkerValue != -1) {
            position = QStyle::sliderPositionFromValue(minimum(), maximum(), rightMarkerValue, width());
            painter.drawLine(position, 0, position, height()/2);
        }
    }
}

void Slider::setLeftMarker(int index)
{
    leftMarkerValue = index;
    this->update();
}

void Slider::setRightMarker(int index)
{
    rightMarkerValue = index;
    this->update();
}
