aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Ui/skinned/positionbar.cpp18
-rw-r--r--src/plugins/Ui/skinned/positionbar.h4
2 files changed, 20 insertions, 2 deletions
diff --git a/src/plugins/Ui/skinned/positionbar.cpp b/src/plugins/Ui/skinned/positionbar.cpp
index 540adc822..ef67fbd38 100644
--- a/src/plugins/Ui/skinned/positionbar.cpp
+++ b/src/plugins/Ui/skinned/positionbar.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2012 by Ilya Kotov *
+ * Copyright (C) 2009-2016 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -20,6 +20,7 @@
#include <QMouseEvent>
#include <QPainter>
+#include <QTimer>
#include <math.h>
#include "skin.h"
#include "button.h"
@@ -83,6 +84,21 @@ void PositionBar::mouseMoveEvent (QMouseEvent *e)
}
}
+void PositionBar::wheelEvent(QWheelEvent *e)
+{
+ if(m_max == 0)
+ return;
+
+ if(e->delta() > 0)
+ m_value += 5000;
+ else
+ m_value -= 5000;
+
+ m_value = qBound(qint64(0), m_value, m_max);
+ draw();
+ emit sliderReleased();
+}
+
void PositionBar::mouseReleaseEvent(QMouseEvent*)
{
draw(false);
diff --git a/src/plugins/Ui/skinned/positionbar.h b/src/plugins/Ui/skinned/positionbar.h
index 05a0e8243..d8f146c80 100644
--- a/src/plugins/Ui/skinned/positionbar.h
+++ b/src/plugins/Ui/skinned/positionbar.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2012 by Ilya Kotov *
+ * Copyright (C) 2009-2016 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -23,6 +23,7 @@
#include "pixmapwidget.h"
class QMouseEvent;
+class QWheelEvent;
class Skin;
/**
@@ -53,6 +54,7 @@ private:
void mousePressEvent(QMouseEvent*);
void mouseReleaseEvent(QMouseEvent*);
void mouseMoveEvent(QMouseEvent*);
+ void wheelEvent(QWheelEvent *e);
Skin *m_skin;
bool m_moving;
qint64 press_pos;