/**************************************************************************** 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 <tqframe.h> #include "ui/voice_input_widget_ui.h" #include <tqmemarray.h> #include "sound.h" class TQMouseEvent; class KAudioRecordStream ; class KArtsServer; class KTempFile; class KLibrary; namespace KHotKeys { class SoundRecorder; class Voice_trigger; class VoiceRecorder : public Voice_input_widget_ui { TQ_OBJECT public: VoiceRecorder(const Sound& sound_P, const TQString &voiceId, TQWidget *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 TQString& 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; TQString _voiceId; static arts_play_fun arts_play; }; } // namespace KHotKeys #endif