summaryrefslogtreecommitdiffstats
path: root/kradio3/src/include/stationselector.h
diff options
context:
space:
mode:
Diffstat (limited to 'kradio3/src/include/stationselector.h')
-rw-r--r--kradio3/src/include/stationselector.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/kradio3/src/include/stationselector.h b/kradio3/src/include/stationselector.h
new file mode 100644
index 0000000..6842877
--- /dev/null
+++ b/kradio3/src/include/stationselector.h
@@ -0,0 +1,99 @@
+/***************************************************************************
+ StationSelector.h - description
+ -------------------
+ begin : Son Aug 3 2003
+ copyright : (C) 2003 by Martin Witte
+ email : witte@kawo1.rwth-aachen.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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_STATIONSELECTOR_H
+#define KRADIO_STATIONSELECTOR_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <qstringlist.h>
+
+#include "radio_interfaces.h"
+#include "stationselection_interfaces.h"
+#include "stationlist.h"
+
+#include <stationselector-ui.h>
+#include "radiostation-listview.h"
+
+
+class RadioStationListView;
+
+class StationSelector : public StationSelectorUI,
+ public IRadioClient,
+ public IStationSelectionClient
+{
+Q_OBJECT
+public :
+ StationSelector (QWidget *parent);
+ ~StationSelector ();
+
+ bool connectI (Interface *i);
+ bool disconnectI (Interface *i);
+
+// IStationSelectionClient
+
+ bool noticeStationSelectionChanged(const QStringList &sl);
+
+// IRadioClient
+
+ bool noticePowerChanged(bool /*on*/) { return false; }
+ bool noticeStationChanged (const RadioStation &, int /*idx*/) { return false; }
+ bool noticeStationsChanged(const StationList &sl);
+ bool noticePresetFileChanged(const QString &/*f*/) { return false; }
+
+ bool noticeCurrentSoundStreamIDChanged(SoundStreamID) { return false; }
+
+ void saveState (KConfig *) const;
+ void restoreState (KConfig *);
+
+ bool isDirty () const { return m_dirty; }
+
+protected slots:
+
+ void slotButtonToLeft();
+ void slotButtonToRight();
+ void slotMoveToRight(const QStringList &list);
+ void slotMoveToLeft(const QStringList &list);
+
+ void slotOK();
+ void slotCancel();
+ void slotSetDirty();
+
+signals:
+
+ void sigDirty();
+
+protected:
+
+ void moveItem (RadioStationListView *fromListView, QStringList &fromIDList,
+ QListViewItem *item, int fromIdx,
+ RadioStationListView *toListView, QStringList &toIDList);
+
+ void updateListViews();
+
+ // station ids
+ QStringList m_stationIDsAvailable,
+ m_stationIDsSelected,
+ m_stationIDsNotDisplayed,
+ m_stationIDsAll;
+
+ bool m_dirty;
+};
+
+#endif