diff options
Diffstat (limited to 'khotkeys/shared/voices.h')
-rw-r--r-- | khotkeys/shared/voices.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/khotkeys/shared/voices.h b/khotkeys/shared/voices.h new file mode 100644 index 000000000..ccd07563f --- /dev/null +++ b/khotkeys/shared/voices.h @@ -0,0 +1,83 @@ +/**************************************************************************** + + KHotKeys + + Copyright (C) 2005 Olivier Goffart <ogoffart @ kde.org> + + Distributed under the terms of the GNU General Public License version 2. + +****************************************************************************/ + +#ifndef VOICES_H_ +#define VOICES_H_ + +#include <tqwidget.h> +#include <tdeshortcut.h> + +class Sound; +class TQTimer; +class TDEGlobalAccel; + +namespace KHotKeys +{ + +class Voice; +class SoundRecorder; + +class Voice_trigger; +class VoiceSignature; + + +class KDE_EXPORT Voice : public TQObject + { + Q_OBJECT + public: + Voice( bool enabled_P, TQObject* parent_P ); + virtual ~Voice(); + void enable( bool enable_P ); + + void register_handler( Voice_trigger* ); + void unregister_handler( Voice_trigger* ); +// bool x11Event( XEvent* e ); + + void set_shortcut( const TDEShortcut &k); + + /** + * return TQString::null is a new signature is far enough from others signature + * otherwise, return the stringn which match. + */ + TQString isNewSoundFarEnough(const VoiceSignature& s, const TQString& currentTrigger); + + bool doesVoiceCodeExists(const TQString &s); + + public slots: + void record_start(); + void record_stop(); + + private slots: + void slot_sound_recorded( const Sound & ); + void slot_key_pressed(); + void slot_timeout(); + + signals: + void handle_voice( const TQString &voice ); + private: + + bool _enabled; + bool _recording; + + TQValueList<Voice_trigger *> _references; + SoundRecorder *_recorder; + + TDEShortcut _shortcut; + TDEGlobalAccel *_kga; + + TQTimer *_timer; + }; + + +KDE_EXPORT extern Voice* voice_handler; + +} // namespace KHotKeys + +#endif |