islider.cpp 885 Bytes
#include "islider.h"
#include <QDebug>

ISlider::ISlider(QWidget *parent) :
    QSlider(parent)
{
    this->installEventFilter(this);
    connect(this, SIGNAL(sliderPressed()), this, SLOT(setMoveable()));
    connect(this, SIGNAL(sliderReleased()), this, SLOT(setMoveDisable()));
    m_Trigpressed = false;
}

void ISlider::mouseMoveEvent(QMouseEvent *ev)
{
    if(m_Trigpressed)
    {
        QSlider::mouseMoveEvent(ev);
    }
}

bool ISlider::eventFilter(QObject *obj, QEvent *event)
{
    return false;
}

void ISlider::wheelEvent(QWheelEvent *event)
{
    QSlider::wheelEvent(event);
}

void ISlider::setMoveable()
{
    m_Trigpressed = true;
    //emit mouseCliced();
}
void ISlider::setMoveDisable()
{
    m_Trigpressed = false;
    emit mouseCliced();
}

void ISlider::enterEvent(QEvent *e)
{
    emit mouseIn();
}

void ISlider::leaveEvent(QEvent *e)
{
    emit mouseOut();
}