diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-22 18:23:26 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-22 18:23:26 +0000 |
commit | ae364d9bed0589bf1a22cd5f530c563462379e3e (patch) | |
tree | e32727e2664e7ce68d0d30270afa040320ae35a1 /kradio3/plugins/recording/recording-monitor.h | |
download | tderadio-ae364d9bed0589bf1a22cd5f530c563462379e3e.tar.gz tderadio-ae364d9bed0589bf1a22cd5f530c563462379e3e.zip |
Added old KDE3 version of kradio
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kradio@1094417 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kradio3/plugins/recording/recording-monitor.h')
-rw-r--r-- | kradio3/plugins/recording/recording-monitor.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/kradio3/plugins/recording/recording-monitor.h b/kradio3/plugins/recording/recording-monitor.h new file mode 100644 index 0000000..c34e927 --- /dev/null +++ b/kradio3/plugins/recording/recording-monitor.h @@ -0,0 +1,124 @@ +/*************************************************************************** + recording-monitor.h - description + ------------------- + begin : Mo Sep 1 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_RECORDING_MONITOR_H +#define KRADIO_RECORDING_MONITOR_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <qwidget.h> + +#include "../../src/include/widgetplugins.h" +#include "../../src/include/soundstreamclient_interfaces.h" +//#include <kradio/interfaces/recording-interfaces.h> + + +class QLabel; +class QPushButton; +class QCheckBox; +class RecordingDataMonitor; +class KComboBox; + +class RecordingMonitor : public QWidget, + public WidgetPluginBase, + public ISoundStreamClient + //public IRecordingClient +{ +Q_OBJECT +public: + + RecordingMonitor(const QString &name); + virtual ~RecordingMonitor(); + + const QString &name() const { return PluginBase::name(); } + QString &name() { return PluginBase::name(); } + + virtual QString pluginClassName() const { return "RecordingMonitor"; } + + // WidgetPluginBase + +public: + virtual void saveState (KConfig *) const; + virtual void restoreState (KConfig *); + + virtual bool connectI(Interface *i); + virtual bool disconnectI(Interface *i); + + virtual ConfigPageInfo createConfigurationPage(); + virtual AboutPageInfo createAboutPage(); + + // IRecordingClient + + void noticeConnectedI (ISoundStreamServer *s, bool pointer_valid); + + bool noticeSoundStreamCreated(SoundStreamID id); + bool noticeSoundStreamClosed(SoundStreamID id); + bool noticeSoundStreamChanged(SoundStreamID id); + + bool startRecordingWithFormat(SoundStreamID id, const SoundFormat &sf, SoundFormat &real_format); + bool stopRecording(SoundStreamID id); + + bool noticeSoundStreamData(SoundStreamID id, const SoundFormat &sf, const char *data, size_t size, size_t &consumed_size, const SoundMetaData &md); + +public slots: + + void toggleShown() { WidgetPluginBase::pToggleShown(); } + void showOnOrgDesktop(); + void show(); + void hide(); + + void slotStartStopRecording(); + + void slotStreamSelected(int idx); + +protected: + + virtual void updateRecordingButton(); + + virtual void showEvent(QShowEvent *); + virtual void hideEvent(QHideEvent *); + + const QWidget *getWidget() const { return this; } + QWidget *getWidget() { return this; } + + +protected: + + QLabel *m_labelSize; + QLabel *m_labelTime; + QLabel *m_labelRate; + QLabel *m_labelFileName; + QLabel *m_labelStatus; + QPushButton *m_btnStartStop; + + KComboBox *m_comboSoundStreamSelector; + QMap<SoundStreamID, int> m_SoundStreamID2idx; + QMap<int, SoundStreamID> m_idx2SoundStreamID; + + SoundStreamID m_currentStream; + RecordingDataMonitor *m_dataMonitor; + + bool m_recording; + QString m_defaultStreamDescription; +}; + + + + +#endif |