summaryrefslogtreecommitdiffstats
path: root/kradio3/plugins/gui-standard-display/radioview_volume.h
diff options
context:
space:
mode:
Diffstat (limited to 'kradio3/plugins/gui-standard-display/radioview_volume.h')
-rw-r--r--kradio3/plugins/gui-standard-display/radioview_volume.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/kradio3/plugins/gui-standard-display/radioview_volume.h b/kradio3/plugins/gui-standard-display/radioview_volume.h
new file mode 100644
index 0000000..a48c16d
--- /dev/null
+++ b/kradio3/plugins/gui-standard-display/radioview_volume.h
@@ -0,0 +1,75 @@
+/***************************************************************************
+ radioview_volume.h - description
+ -------------------
+ begin : Don Jun 19 2003
+ copyright : (C) 2003 by Martin Witte
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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 KRADIO_RADIOVIEW_VOLUME_H
+#define KRADIO_RADIOVIEW_VOLUME_H
+
+#include "../../src/include/radiodevice_interfaces.h"
+#include "../../src/include/soundstreamclient_interfaces.h"
+#include "radioview_element.h"
+
+/**
+ *@author Martin Witte
+ */
+
+class QSlider;
+
+class RadioViewVolume : public RadioViewElement, // is a QObject, must be first
+ public IRadioDeviceClient,
+ public ISoundStreamClient,
+ public IErrorLogClient
+{
+Q_OBJECT
+public:
+ RadioViewVolume(QWidget *parent, const QString &name);
+ ~RadioViewVolume();
+
+ float getUsability(Interface *) const;
+
+// Interface
+
+ bool connectI (Interface *);
+ bool disconnectI(Interface *);
+
+// IRadioDeviceClient
+RECEIVERS:
+ bool noticePowerChanged (bool /*on*/, const IRadioDevice */*sender*/) { return false; }
+ bool noticeStationChanged (const RadioStation &, const IRadioDevice */*sender*/) { return false; }
+ bool noticeDescriptionChanged (const QString &, const IRadioDevice */*sender*/) { return false; }
+ bool noticeCurrentSoundStreamIDChanged(SoundStreamID /*id*/, const IRadioDevice */*sender*/) { return false; }
+
+// ISoundStreamClient
+RECEIVERS:
+ void noticeConnectedI (ISoundStreamServer *s, bool pointer_valid);
+ bool noticePlaybackVolumeChanged(SoundStreamID id, float v);
+
+// own stuff
+protected slots:
+
+ void slotVolumeChanged(int val);
+
+protected:
+
+ int getSlider4Volume(float volume);
+ float getVolume4Slider(int sl);
+
+ QSlider *m_slider;
+ bool m_handlingSlot;
+
+};
+
+#endif