summaryrefslogtreecommitdiff
path: root/core/applets/multikeyapplet/multikey.cpp
Unidiff
Diffstat (limited to 'core/applets/multikeyapplet/multikey.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/applets/multikeyapplet/multikey.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/core/applets/multikeyapplet/multikey.cpp b/core/applets/multikeyapplet/multikey.cpp
index 0a056b0..f1227ef 100644
--- a/core/applets/multikeyapplet/multikey.cpp
+++ b/core/applets/multikeyapplet/multikey.cpp
@@ -26,3 +26,3 @@
26 26
27Multikey::Multikey( QWidget *parent ) : QLabel( parent ), current("EN") 27Multikey::Multikey(QWidget *parent) : QLabel(parent), popupMenu(this), current("EN")
28{ 28{
@@ -36,2 +36,3 @@ Multikey::Multikey( QWidget *parent ) : QLabel( parent ), current("EN")
36 setText("EN"); 36 setText("EN");
37 popupMenu.insertItem("EN", -1);
37 show(); 38 show();
@@ -39,6 +40,19 @@ Multikey::Multikey( QWidget *parent ) : QLabel( parent ), current("EN")
39 40
40void Multikey::mousePressEvent( QMouseEvent * ) 41void Multikey::mousePressEvent(QMouseEvent *ev)
41{ 42{
42 QCopEnvelope e("MultiKey/Keyboard", "setmultikey(QString)"); 43 if (ev->button() == RightButton) {
44
45 QPoint p = mapToGlobal(QPoint(0, 0));
46 QSize s = popupMenu.sizeHint();
47 int opt = popupMenu.exec(QPoint(p.x() + (width() / 2) - (s.width() / 2),
48 p.y() - s.height()), 0);
49
50 if (opt == -1)
51 return;
52 lang = opt;
53 } else {
43 lang = lang < sw_maps.count()-1 ? lang+1 : 0; 54 lang = lang < sw_maps.count()-1 ? lang+1 : 0;
55 }
56
57 QCopEnvelope e("MultiKey/Keyboard", "setmultikey(QString)");
44 //qDebug("Lang=%d, count=%d, lab=%s", lang, sw_maps.count(), labels[lang].ascii()); 58 //qDebug("Lang=%d, count=%d, lab=%s", lang, sw_maps.count(), labels[lang].ascii());
@@ -62,2 +76,3 @@ void Multikey::message(const QCString &message, const QByteArray &data)
62 sw_maps.clear(); 76 sw_maps.clear();
77 popupMenu.clear();
63 78
@@ -92,2 +107,3 @@ void Multikey::message(const QCString &message, const QByteArray &data)
92 labels.append(line.right(line.length() - line.find(QChar('=')) - 1).stripWhiteSpace()); 107 labels.append(line.right(line.length() - line.find(QChar('=')) - 1).stripWhiteSpace());
108 popupMenu.insertItem(labels[labels.count()-1], labels.count()-1);
93 } else { 109 } else {