diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-02-19 07:30:54 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-02-19 07:30:54 +0000 |
| commit | 30e11dd37f98c78193d5768c634931865821af10 (patch) | |
| tree | 2091503c63750f738be7b830a8be586ad7f9b1c7 /src/ui/positionbar.cpp | |
| parent | 37f66aa3c4e031812b0c2a415f07c661d8ee13aa (diff) | |
| download | qmmp-30e11dd37f98c78193d5768c634931865821af10.tar.gz qmmp-30e11dd37f98c78193d5768c634931865821af10.tar.bz2 qmmp-30e11dd37f98c78193d5768c634931865821af10.zip | |
added position tracking
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2062 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui/positionbar.cpp')
| -rw-r--r-- | src/ui/positionbar.cpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/ui/positionbar.cpp b/src/ui/positionbar.cpp index c27a586fe..6d8255858 100644 --- a/src/ui/positionbar.cpp +++ b/src/ui/positionbar.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2011 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -21,21 +21,15 @@ #include <QMouseEvent> #include <QPainter> #include <math.h> - #include "skin.h" #include "button.h" -#include "mainwindow.h" - #include "positionbar.h" - -PositionBar::PositionBar(QWidget *parent) - : PixmapWidget(parent) +PositionBar::PositionBar(QWidget *parent) : PixmapWidget(parent) { m_skin = Skin::instance(); connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin())); setPixmap(m_skin->getPosBar()); - mw = qobject_cast<MainWindow*>(window()); m_moving = false; m_min = 0; m_max = 0; @@ -55,11 +49,13 @@ void PositionBar::mousePressEvent(QMouseEvent *e) if (m_pos<e->x() && e->x()<m_pos+29*m_skin->ratio()) { press_pos = e->x()-m_pos; + emit sliderPressed(); } else { m_value = convert(qMax(qMin(width()-30*m_skin->ratio(),e->x()-15*m_skin->ratio()),0)); press_pos = 15*m_skin->ratio(); + emit sliderPressed(); if (m_value!=m_old) { emit sliderMoved(m_value); @@ -88,12 +84,11 @@ void PositionBar::mouseMoveEvent (QMouseEvent *e) void PositionBar::mouseReleaseEvent(QMouseEvent*) { draw(false); - if (m_value!=m_old && m_max > 0) - { + if (m_value != m_old && m_max > 0) m_old = m_value; - mw->seek(m_value); - } m_moving = false; + if(m_max > 0) + emit sliderReleased(); } void PositionBar::setValue(qint64 v) @@ -104,7 +99,7 @@ void PositionBar::setValue(qint64 v) draw(false); } -void PositionBar::setMax(qint64 max) +void PositionBar::setMaximum(qint64 max) { m_max = max; draw(false); |
