summaryrefslogtreecommitdiffstats
path: root/noatun/library/noatun/controls.h
diff options
context:
space:
mode:
Diffstat (limited to 'noatun/library/noatun/controls.h')
-rw-r--r--noatun/library/noatun/controls.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/noatun/library/noatun/controls.h b/noatun/library/noatun/controls.h
new file mode 100644
index 00000000..6db8d1cd
--- /dev/null
+++ b/noatun/library/noatun/controls.h
@@ -0,0 +1,79 @@
+#ifndef __CONTROLS_H
+#define __CONTROLS_H
+
+#include <qguardedptr.h>
+
+#include <kaction.h>
+#include <ktoolbar.h>
+#include <qslider.h>
+#include <qstringlist.h>
+#include <kdemacros.h>
+
+class QComboBox;
+class QLabel;
+
+/**
+ * A slider that can be moved around while being
+ * changed internally
+ *
+ * @short Special QSlider based class suitable for time sliders
+ * @author Charles Samuels
+ * @version 2.3
+ **/
+class KDE_EXPORT L33tSlider : public QSlider
+{
+Q_OBJECT
+public:
+ L33tSlider(QWidget * parent, const char * name=0);
+ L33tSlider(Orientation, QWidget * parent, const char * name=0);
+ L33tSlider(int minValue, int maxValue, int pageStep, int value,
+ Orientation, QWidget * parent, const char * name=0);
+
+ bool currentlyPressed() const;
+signals:
+ /**
+ * emmited only when the user changes the value by hand
+ **/
+ void userChanged(int value);
+
+public slots:
+ virtual void setValue(int);
+
+protected:
+ virtual void mousePressEvent(QMouseEvent*);
+ virtual void mouseReleaseEvent(QMouseEvent*);
+ virtual void wheelEvent(QWheelEvent *);
+
+private:
+ bool pressed;
+};
+
+/**
+ * @short A slider for your toolbar
+ * @author Charles Samuels
+ * @version 2.3
+ **/
+class SliderAction : public KAction
+{
+Q_OBJECT
+public:
+ SliderAction(const QString& text, int accel, const QObject *receiver,
+ const char *member, QObject* parent, const char* name );
+ virtual int plug( QWidget *w, int index = -1 );
+ virtual void unplug( QWidget *w );
+ QSlider* slider() const { return m_slider; }
+
+signals:
+ void plugged();
+
+public slots:
+ void toolbarMoved(KToolBar::BarPosition pos);
+
+private:
+ QGuardedPtr<QSlider> m_slider;
+ QStringList m_items;
+ const QObject *m_receiver;
+ const char *m_member;
+};
+
+#endif