summaryrefslogtreecommitdiffstats
path: root/khotkeys/kcontrol/gesturerecorder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'khotkeys/kcontrol/gesturerecorder.cpp')
-rw-r--r--khotkeys/kcontrol/gesturerecorder.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/khotkeys/kcontrol/gesturerecorder.cpp b/khotkeys/kcontrol/gesturerecorder.cpp
new file mode 100644
index 000000000..6e4395a5b
--- /dev/null
+++ b/khotkeys/kcontrol/gesturerecorder.cpp
@@ -0,0 +1,67 @@
+/****************************************************************************
+
+ KHotKeys
+
+ Copyright (C) 2003 Mike Pilone <mpilone@slac.com>
+ Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org>
+
+ Distributed under the terms of the GNU General Public License version 2.
+
+****************************************************************************/
+
+#include <tqcolor.h>
+#include <tqevent.h>
+
+#include "gesturerecorder.h"
+
+namespace KHotKeys
+{
+
+GestureRecorder::GestureRecorder(TQWidget *parent, const char *name)
+ : TQFrame(parent, name), _mouseButtonDown(false)
+ {
+ setBackgroundColor( colorGroup().base());
+ setFrameStyle(TQFrame::Sunken | TQFrame::Panel);
+ setLineWidth(2);
+ setMidLineWidth(0);
+ }
+
+GestureRecorder::~GestureRecorder()
+ {
+ }
+
+void GestureRecorder::mousePressEvent(TQMouseEvent *ev)
+ {
+ if (ev->button() == Qt::LeftButton)
+ {
+ _mouseButtonDown = true;
+ stroke.reset();
+ TQPoint pos = ev->pos();
+ stroke.record(pos.x(), pos.y());
+ }
+ }
+
+void GestureRecorder::mouseReleaseEvent(TQMouseEvent *ev)
+ {
+ if ((ev->button() == Qt::LeftButton) && (_mouseButtonDown))
+ {
+ TQPoint pos = ev->pos();
+ stroke.record(pos.x(), pos.y());
+ TQString data( stroke.translate());
+ if( !data.isEmpty())
+ emit recorded(data);
+ }
+ }
+
+void GestureRecorder::mouseMoveEvent(TQMouseEvent *ev)
+ {
+ if (_mouseButtonDown)
+ {
+ TQPoint pos = ev->pos();
+ stroke.record(pos.x(), pos.y());
+ }
+ }
+
+} // namespace KHotKeys
+
+#include "gesturerecorder.moc"