summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/function_keyboard.cpp
authorhash <hash>2002-10-24 17:39:47 (UTC)
committer hash <hash>2002-10-24 17:39:47 (UTC)
commitb01703c4b1de7006c88aa814ca00472b966b2464 (patch) (side-by-side diff)
tree9d0f4e708646ddbf1a0198f1ac2dd4b67e2c45fa /noncore/apps/opie-console/function_keyboard.cpp
parent1364899f2b250d1605e1a49cb7c65ce950c57fda (diff)
downloadopie-b01703c4b1de7006c88aa814ca00472b966b2464.zip
opie-b01703c4b1de7006c88aa814ca00472b966b2464.tar.gz
opie-b01703c4b1de7006c88aa814ca00472b966b2464.tar.bz2
i think it loads according to the session properly now
Diffstat (limited to 'noncore/apps/opie-console/function_keyboard.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/function_keyboard.cpp43
1 files changed, 40 insertions, 3 deletions
diff --git a/noncore/apps/opie-console/function_keyboard.cpp b/noncore/apps/opie-console/function_keyboard.cpp
index 3da8d61..ce65052 100644
--- a/noncore/apps/opie-console/function_keyboard.cpp
+++ b/noncore/apps/opie-console/function_keyboard.cpp
@@ -55,7 +55,9 @@ FunctionKeyboard::~FunctionKeyboard() {}
void FunctionKeyboard::changeRows(int r) {
numRows = r;
- repaint(false);
+
+ // have to do this so the whole thing gets redrawn
+ hide(); show();
}
void FunctionKeyboard::changeCols(int c) {
@@ -63,6 +65,40 @@ void FunctionKeyboard::changeCols(int c) {
keyWidth = (double)width()/numCols; // have to reset this thing too
repaint(false);
}
+void FunctionKeyboard::load (const Profile& prof) {
+
+ keys.clear();
+
+ numRows = prof.readNumEntry("keb_rows", 2);
+ numCols = prof.readNumEntry("keb_cols", 10);
+ keyWidth = (double)width()/numCols; // have to reset this thing too
+
+ /* load all the keys to the keyboard */
+ for (ushort i = 0; i <= numRows - 1; i++)
+ for (ushort j = 0; j <= numCols - 1; j++) {
+
+ QString h = "r" + QString::number(i) + "c" + QString::number(j);
+ QString values = prof.readEntry("keb_" + h);
+
+ if (!values.isEmpty()) {
+
+ QStringList l = QStringList::split(QChar('|'), values, TRUE);
+ keys[h] = FKey(l[0], l[1], l[2].toInt(), l[3].toInt());
+
+ // load pixmap if used
+ if (!l[1].isEmpty()) {
+
+ keys[h].pix = new QPixmap( Resource::loadPixmap( "console/keys/" + l[1] ) );
+ }
+ }
+ }
+
+ if (keys.isEmpty()) loadDefaults();
+
+ hide();
+ show();
+
+}
void FunctionKeyboard::paintEvent(QPaintEvent *e) {
@@ -273,6 +309,9 @@ FunctionKeyboardConfig::~FunctionKeyboardConfig() {
}
void FunctionKeyboardConfig::load (const Profile& prof) {
+ kb->keys.clear();
+ kb->loadDefaults();
+
m_rowBox->setValue(prof.readNumEntry("keb_rows", 2));
m_colBox->setValue(prof.readNumEntry("keb_cols", 10));
@@ -320,8 +359,6 @@ void FunctionKeyboardConfig::slotChangeRows(int r) {
kb->changeRows(r);
- // have to do this so the whole thing gets redrawn
- kb->hide(); kb->show();
}
void FunctionKeyboardConfig::slotChangeCols(int c) {