summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/configdlg.cpp31
-rw-r--r--inputmethods/multikey/configdlg.h3
-rw-r--r--inputmethods/multikey/keyboard.cpp39
-rw-r--r--inputmethods/multikey/keyboard.h2
4 files changed, 57 insertions, 18 deletions
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp
index 59a290b..566b2b9 100644
--- a/inputmethods/multikey/configdlg.cpp
+++ b/inputmethods/multikey/configdlg.cpp
@@ -112,8 +112,10 @@ ConfigDlg::ConfigDlg () : QTabWidget ()
connect(remove_button, SIGNAL(clicked()), SLOT(removeMap()));
- pick_button = new QCheckBox(tr("Pickboard"), gen_box);
+ // make a box that will contain the buttons on the bottom
+ QGrid *other_grid = new QGrid(2, gen_box);
+ pick_button = new QCheckBox(tr("Pickboard"), other_grid);
- config.setGroup ("pickboard");
- bool pick_open = config.readBoolEntry ("open", "0"); // default closed
+ config.setGroup ("general");
+ bool pick_open = config.readBoolEntry ("usePickboard", (bool)0); // default closed
if (pick_open) {
@@ -124,4 +126,14 @@ ConfigDlg::ConfigDlg () : QTabWidget ()
connect (pick_button, SIGNAL(clicked()), this, SLOT(pickTog()));
+ repeat_button = new QCheckBox(tr("Key Repeat"), other_grid);
+ bool repeat_on = config.readBoolEntry ("useRepeat", (bool)1);
+
+ if (repeat_on) {
+
+ repeat_button->setChecked(true);
+ }
+ connect (repeat_button, SIGNAL(clicked()), this, SLOT(repeatTog()));
+
+
/*
* 'color' tab
@@ -170,10 +182,19 @@ void ConfigDlg::pickTog() {
Config config ("multikey");
- config.setGroup ("pickboard");
- config.writeEntry ("open", pick_button->isChecked()); // default closed
+ config.setGroup ("general");
+ config.writeEntry ("usePickboard", pick_button->isChecked()); // default closed
emit pickboardToggled(pick_button->isChecked());
}
+void ConfigDlg::repeatTog() {
+
+ Config config ("multikey");
+ config.setGroup ("general");
+ config.writeEntry ("useRepeat", repeat_button->isChecked()); // default closed
+
+ emit repeatToggled(repeat_button->isChecked());
+}
+
/*
* the index is kinda screwy, because in the config file, index 0 is just the
diff --git a/inputmethods/multikey/configdlg.h b/inputmethods/multikey/configdlg.h
index ae7afe2..a000e60 100644
--- a/inputmethods/multikey/configdlg.h
+++ b/inputmethods/multikey/configdlg.h
@@ -17,4 +17,5 @@ public:
signals:
void pickboardToggled(bool on_off);
+ void repeatToggled(bool on_off);
void setMapToDefault();
void setMapToFile(QString map);
@@ -23,4 +24,5 @@ signals:
private slots:
void pickTog();
+ void repeatTog();
void setMap(int index);
void addMap();
@@ -32,4 +34,5 @@ private slots:
private:
QCheckBox *pick_button;
+ QCheckBox *repeat_button;
QListBox *keymaps;
QPushButton *add_button;
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp
index 8280297..7334c1c 100644
--- a/inputmethods/multikey/keyboard.cpp
+++ b/inputmethods/multikey/keyboard.cpp
@@ -40,10 +40,8 @@
-#define USE_SMALL_BACKSPACE
-
/* Keyboard::Keyboard {{{1 */
Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) :
QFrame(parent, _name, f), shift(0), lock(0), ctrl(0),
- alt(0), useLargeKeys(TRUE), usePicks(0), pressedKeyRow(-1), pressedKeyCol(-1),
+ alt(0), useLargeKeys(TRUE), usePicks(0), useRepeat(0), pressedKeyRow(-1), pressedKeyCol(-1),
unicode(-1), qkeycode(0), modifiers(0), schar(0), mchar(0), echar(0),
configdlg(0)
@@ -58,8 +56,10 @@ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) :
config = new Config("multikey");
- config->setGroup ("pickboard");
- usePicks = config->readBoolEntry ("open", "0"); // default closed
+ config->setGroup ("general");
+ usePicks = config->readBoolEntry ("usePickboard", "0"); // default closed
+ useRepeat = config->readBoolEntry ("useRepeat", "1");
delete config;
+
setFont( QFont( familyStr, 10 ) );
@@ -285,10 +285,12 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
else {
configdlg = new ConfigDlg ();
- connect(configdlg, SIGNAL(pickboardToggled(bool)),
- this, SLOT(togglePickboard(bool)));
connect(configdlg, SIGNAL(setMapToDefault()),
this, SLOT(setMapToDefault()));
connect(configdlg, SIGNAL(setMapToFile(QString)),
this, SLOT(setMapToFile(QString)));
+ connect(configdlg, SIGNAL(pickboardToggled(bool)),
+ this, SLOT(togglePickboard(bool)));
+ connect(configdlg, SIGNAL(repeatToggled(bool)),
+ this, SLOT(toggleRepeat(bool)));
connect(configdlg, SIGNAL(reloadKeyboard()),
this, SLOT(reloadKeyboard()));
@@ -396,5 +398,6 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
}
- pressTid = startTimer(80);
+ if (useRepeat) repeatTimer->start( 800 );
+ //pressTid = startTimer(80);
}
@@ -405,5 +408,5 @@ void Keyboard::mouseReleaseEvent(QMouseEvent*)
{
pressed = FALSE;
- if ( pressTid == 0 )
+ //if ( pressTid == 0 )
#if defined(Q_WS_QWS) || defined(_WS_QWS_)
if ( unicode != -1 ) {
@@ -426,6 +429,10 @@ void Keyboard::mouseReleaseEvent(QMouseEvent*)
/* Keyboard::timerEvent {{{1 */
-/*
-void Keyboard::timerEvent(QTimerEvent* e)
+
+/* dont know what this does, but i think it is here so that if your screen
+ * sticks (like on an ipaq) then it will stop repeating if you click another
+ * key... but who knows what anything does in this thing anyway?
+
+ void Keyboard::timerEvent(QTimerEvent* e)
{
if ( e->timerId() == pressTid ) {
@@ -434,5 +441,5 @@ void Keyboard::timerEvent(QTimerEvent* e)
if ( !pressed )
cout << "calling clearHighlight from timerEvent\n";
- clearHighlight();
+ //clearHighlight();
}
}
@@ -443,5 +450,5 @@ void Keyboard::repeat()
repeatTimer->start( 200 );
- emit key( unicode, 0, modifiers, true, true );
+ emit key( unicode, qkeycode, modifiers, true, true );
}
@@ -504,4 +511,10 @@ void Keyboard::togglePickboard(bool on_off)
}
+void Keyboard::toggleRepeat(bool on) {
+
+ useRepeat = on;
+ cout << "setting useRepeat to: " << useRepeat << "\n";
+}
+
/* Keyboard::setMapTo ... {{{1 */
void Keyboard::setMapToDefault() {
diff --git a/inputmethods/multikey/keyboard.h b/inputmethods/multikey/keyboard.h
index 6e577ab..dc50e55 100644
--- a/inputmethods/multikey/keyboard.h
+++ b/inputmethods/multikey/keyboard.h
@@ -113,4 +113,5 @@ private slots:
void repeat();
void togglePickboard(bool on_off);
+ void toggleRepeat(bool on_off);
void setMapToDefault();
void setMapToFile(QString map);
@@ -129,4 +130,5 @@ private:
uint useLargeKeys:1;
uint usePicks:1;
+ uint useRepeat:1;
int pressedKeyRow;