tagging release
[dasher.git] / trunk / Src / Qt / QtDasherPlugin.cc
blob95df13837a66b7a949090cfadbfd340a2965241f
1 #include "../Common/Common.h"
3 #include "QtDasherPlugin.h"
5 #include <qpe/global.h>
7 #include <qpainter.h>
8 #include <qlist.h>
9 #include <qbitmap.h>
10 #include <qlayout.h>
11 #include <qvbox.h>
12 #include <qdialog.h>
13 #include <qscrollview.h>
14 #include <qpopupmenu.h>
15 #include <qhbuttongroup.h>
16 #include <qpushbutton.h>
17 #include <qmessagebox.h>
18 #include <qwindowsystem_qws.h>
20 QtDasherPlugin::QtDasherPlugin(QWidget *parent, const char *name, WFlags f):QFrame(parent, name, f) {
21 (new QHBoxLayout(this))->setAutoAdd(TRUE);
22 interface = new CDasherInterface;
23 interface->SetSystemLocation("/opt/QtPalmtop/share/dasher/");
24 interface->Unpause(0);
25 interface->Start();
26 d = new QtDasherScreen(240, 100, interface, this, this);
27 interface->ChangeMaxBitRate(2.5);
28 d->show();
29 utf8_codec = new QUtf8Codec;
32 QSize QtDasherPlugin::sizeHint() const {
33 return QSize(240, 100);
36 QtDasherPlugin::~QtDasherPlugin() {
37 delete d;
40 void QtDasherPlugin::resetState() {
41 flushcount = 0;
42 interface->Start();
43 interface->Redraw();
46 void QtDasherPlugin::unflush() {
47 if(flushcount == 0)
48 return;
49 for(flushcount; flushcount > 0; flushcount--) {
50 deletetext();
54 void QtDasherPlugin::output(int Symbol) {
55 std::string label = interface->GetEditText(Symbol);
56 QString unicodestring = utf8_codec->toUnicode(label.c_str());
57 for(int i = 0; i < int (unicodestring.length()); i++) {
58 emit key(unicodestring[i].unicode(), 0, 0, true, false);
59 emit key(unicodestring[i].unicode(), 0, 0, false, false);
63 void QtDasherPlugin::deletetext() {
64 emit key(0, Qt::Key_Backspace, 0, true, false);
65 emit key(0, Qt::Key_Backspace, 0, false, false);
68 void QtDasherPlugin::flush(int Symbol) {
69 if(Symbol == 0)
70 return;
71 output(Symbol);
72 flushcount++;