summaryrefslogtreecommitdiffstats
path: root/src/VButton.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-24 02:19:41 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-24 02:19:41 +0000
commitd728c2086bb8bb99df2828948644c14194a91681 (patch)
tree3f62305a8afc7dbb36d90ab5fc6fc0538972b71e /src/VButton.cpp
downloadkvkbd-d728c2086bb8bb99df2828948644c14194a91681.tar.gz
kvkbd-d728c2086bb8bb99df2828948644c14194a91681.zip
Added KDE3 version of kvkbd
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kvkbd@1095344 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/VButton.cpp')
-rw-r--r--src/VButton.cpp121
1 files changed, 121 insertions, 0 deletions
diff --git a/src/VButton.cpp b/src/VButton.cpp
new file mode 100644
index 0000000..33ef1f5
--- /dev/null
+++ b/src/VButton.cpp
@@ -0,0 +1,121 @@
+#include "VButton.h"
+#include <qvbox.h>
+#include <qfont.h>
+
+double VButton::pw=550.0;
+double VButton::ph=235.0;
+
+VButton::VButton(QWidget *parent, const char *name): QPushButton (parent,name)
+{
+
+ //connect(this,SIGNAL(clicked()),this,SLOT(sendKey()));
+ setFocusPolicy(NoFocus);
+ resize(30,30);
+ press=false;
+
+}
+VButton::~VButton()
+{
+
+}
+void VButton::shiftPressed(bool press)
+{
+ if (press==true){
+ QString tu=l.upper();
+ if (tu.compare(l)==0){
+ //QPushButton::setText(tu);
+ QPushButton::setText(u);
+ }
+ else{
+ QPushButton::setText(tu);
+ }
+
+ }
+ else{
+ QPushButton::setText(l);
+ }
+}
+void VButton::capsPressed(bool press)
+{
+ if (press==true){
+ QString tu=l.upper();
+ if (tu.compare(l)==0){
+ QPushButton::setText(tu);
+ }
+ else{
+ QPushButton::setText(u);
+ }
+ }
+ else{
+ QPushButton::setText(l);
+ }
+}
+
+void VButton::setText(const QString& text)
+{
+ QPushButton::setText(text);
+ l=text;
+}
+void VButton::setShiftText(const QString& text)
+{
+ u=text;
+}
+
+void VButton::setKeyCode(unsigned int keycode)
+{
+ this->keycode=keycode;
+
+}
+unsigned int VButton::getKeyCode()
+{
+ return this->keycode;
+}
+void VButton::sendKey()
+{
+ emit keyClick(keycode);
+}
+
+void VButton::reposition(int width, int height)
+{
+ double dx=pw/orig_size.x();
+ double dy=ph/orig_size.y();
+ double sdx=pw/orig_size.width();
+ double sdy=ph/orig_size.height();
+ move((int)(width/dx),(int)(height/dy));
+ resize((int)(width/sdx), (int)(height/sdy));
+
+}
+void VButton::res()
+{
+ orig_size=geometry();
+}
+
+void VButton::mousePressEvent(QMouseEvent * e)
+{
+ press=true;
+ QPushButton::mousePressEvent(e);
+ sendKey();
+ startTimer(500);
+}
+
+void VButton::mouseReleaseEvent(QMouseEvent * e)
+{
+ press=false;
+ QPushButton::mouseReleaseEvent(e);
+ killTimers();
+ inrpt=false;
+}
+
+void VButton::timerEvent(QTimerEvent *)
+{
+ if (!press){
+ inrpt=false;
+ return;
+ }
+ if (press && !inrpt) {
+ inrpt=true;
+ startTimer(120);
+ return;
+ }
+ sendKey();
+}