From e2de64d6f1beb9e492daf5b886e19933c1fa41dd Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- juk/slideraction.h | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 juk/slideraction.h (limited to 'juk/slideraction.h') diff --git a/juk/slideraction.h b/juk/slideraction.h new file mode 100644 index 00000000..f312196c --- /dev/null +++ b/juk/slideraction.h @@ -0,0 +1,97 @@ +/*************************************************************************** + begin : Wed Feb 6 2002 + copyright : (C) 2002 - 2004 by Scott Wheeler + email : wheeler@kde.org +***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef SLIDERACTION_H +#define SLIDERACTION_H + +#include +#include + +class QBoxLayout; +class QDockWindow; + +class VolumeSlider : public QSlider +{ + Q_OBJECT + +public: + VolumeSlider(Orientation o, QWidget *parent, const char *name); + + int volume() const; + void setVolume(int value); + + void setOrientation(Orientation o); + +signals: + void signalVolumeChanged(int value); + +protected: + virtual void wheelEvent(QWheelEvent *e); + virtual void focusInEvent(QFocusEvent *); + +private slots: + void slotValueChanged(int value); +}; + +class SliderAction : public KAction +{ + Q_OBJECT + +public: + SliderAction(const QString &text, QObject *parent, const char *name); + virtual ~SliderAction(); + + VolumeSlider *volumeSlider() const { return m_volumeSlider; } + QSlider *trackPositionSlider() const { return m_trackPositionSlider; } + + bool dragging() const { return m_dragging; } + bool volumeDragging() const { return m_volumeDragging; } + + virtual int plug(QWidget *parent, int index = -1); + virtual void unplug(QWidget *widget); + + static const int minPosition; + static const int maxPosition; + +public slots: + void slotUpdateOrientation(); + +signals: + void signalPositionChanged(int position); + void signalVolumeChanged(int volume); + +private: + QWidget *createWidget(QWidget *parent); + +private slots: + void slotUpdateSize(); + void slotVolumeSliderPressed(); + void slotVolumeSliderReleased(); + void slotSliderPressed(); + void slotSliderReleased(); + void slotToolbarDestroyed(); + +private: + KToolBar *m_toolBar; + QBoxLayout *m_layout; + QSlider *m_trackPositionSlider; + VolumeSlider *m_volumeSlider; + bool m_dragging; + bool m_volumeDragging; + + static const int volumeMax = 50; +}; + +#endif -- cgit v1.2.1