summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/multikeyapplet/multikey.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/applets/multikeyapplet/multikey.cpp b/core/applets/multikeyapplet/multikey.cpp
index 9ef162f..d304f54 100644
--- a/core/applets/multikeyapplet/multikey.cpp
+++ b/core/applets/multikeyapplet/multikey.cpp
@@ -32,18 +32,21 @@ Multikey::Multikey(QWidget *parent) : QLabel(parent), popupMenu(this), current("
32 32
33 setFont( QFont( "Helvetica", 10, QFont::Normal ) ); 33 setFont( QFont( "Helvetica", 10, QFont::Normal ) );
34 QPEApplication::setStylusOperation(this, QPEApplication::RightOnHold); 34 QPEApplication::setStylusOperation(this, QPEApplication::RightOnHold);
35 lang = 0; 35 lang = 0;
36 QCopEnvelope e("MultiKey/Keyboard", "getmultikey()"); 36 QCopEnvelope e("MultiKey/Keyboard", "getmultikey()");
37 setText("EN"); 37 setText("EN");
38 popupMenu.insertItem("EN", -1); 38 popupMenu.insertItem("EN", 0);
39 show(); 39 show();
40} 40}
41 41
42void Multikey::mousePressEvent(QMouseEvent *ev) 42void Multikey::mousePressEvent(QMouseEvent *ev)
43{ 43{
44 if (!sw_maps.count())
45 return;
46
44 if (ev->button() == RightButton) { 47 if (ev->button() == RightButton) {
45 48
46 QPoint p = mapToGlobal(QPoint(0, 0)); 49 QPoint p = mapToGlobal(QPoint(0, 0));
47 QSize s = popupMenu.sizeHint(); 50 QSize s = popupMenu.sizeHint();
48 int opt = popupMenu.exec(QPoint(p.x() + (width() / 2) - (s.width() / 2), 51 int opt = popupMenu.exec(QPoint(p.x() + (width() / 2) - (s.width() / 2),
49 p.y() - s.height()), 0); 52 p.y() - s.height()), 0);
@@ -58,12 +61,15 @@ void Multikey::mousePressEvent(QMouseEvent *ev)
58 } 61 }
59 QWidget::mousePressEvent(ev); 62 QWidget::mousePressEvent(ev);
60} 63}
61 64
62void Multikey::mouseReleaseEvent(QMouseEvent *ev) 65void Multikey::mouseReleaseEvent(QMouseEvent *ev)
63{ 66{
67 if (!sw_maps.count())
68 return;
69
64 lang = lang < sw_maps.count()-1 ? lang+1 : 0; 70 lang = lang < sw_maps.count()-1 ? lang+1 : 0;
65 QCopEnvelope e("MultiKey/Keyboard", "setmultikey(QString)"); 71 QCopEnvelope e("MultiKey/Keyboard", "setmultikey(QString)");
66 //qDebug("Lang=%d, count=%d, lab=%s", lang, sw_maps.count(), labels[lang].ascii()); 72 //qDebug("Lang=%d, count=%d, lab=%s", lang, sw_maps.count(), labels[lang].ascii());
67 e << sw_maps[lang]; 73 e << sw_maps[lang];
68 setText(labels[lang]); 74 setText(labels[lang]);
69} 75}