diff options
Diffstat (limited to 'khotkeys/kcontrol/voicerecorder.h')
-rw-r--r-- | khotkeys/kcontrol/voicerecorder.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/khotkeys/kcontrol/voicerecorder.h b/khotkeys/kcontrol/voicerecorder.h new file mode 100644 index 000000000..579f53893 --- /dev/null +++ b/khotkeys/kcontrol/voicerecorder.h @@ -0,0 +1,73 @@ +/**************************************************************************** + + KHotKeys + + Copyright (C) 2005 Olivier Goffgart <ogoffart @ kde.org> + + Distributed under the terms of the GNU General Public License version 2. + +****************************************************************************/ + +#ifndef VOICE_RECORDER_H +#define VOICE_RECORDER_H + +#include <qframe.h> +#include "ui/voice_input_widget_ui.h" +#include <qmemarray.h> + +#include "sound.h" +class QMouseEvent; +class KAudioRecordStream ; +class KArtsServer; +class KTempFile; +class KLibrary; + +namespace KHotKeys +{ + + class SoundRecorder; + class Voice_trigger; + +class VoiceRecorder : public Voice_input_widget_ui + { + Q_OBJECT + + public: + VoiceRecorder(const Sound& sound_P, const QString &voiceId, QWidget *parent, const char *name); + ~VoiceRecorder(); + + Sound sound() const; + + enum State { sNotModified , sIncorrect, sModified }; + + inline State state() const + { + return _state; + } + + static bool init( KLibrary* lib ); + typedef void (*arts_play_fun)( const QString& file ); + + protected slots: + void slotStopPressed(); + void slotRecordPressed(); + void slotPlayPressed(); + + signals: + void recorded(bool); + private slots: + void slotSoundRecorded(const Sound& sound); + bool drawSound(); + + private: + SoundRecorder *_recorder; + Sound _sound; + State _state; + KTempFile *_tempFile; + QString _voiceId; + static arts_play_fun arts_play; + }; + +} // namespace KHotKeys + +#endif |