-rw-r--r-- | noncore/apps/opie-console/function_keyboard.cpp | 43 | ||||
-rw-r--r-- | noncore/apps/opie-console/function_keyboard.h | 7 | ||||
-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 6 |
3 files changed, 48 insertions, 8 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 @@ -57,3 +57,5 @@ void FunctionKeyboard::changeRows(int r) { numRows = r; - repaint(false); + + // have to do this so the whole thing gets redrawn + hide(); show(); } @@ -65,2 +67,36 @@ void FunctionKeyboard::changeCols(int c) { } +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(); + +} @@ -275,2 +311,5 @@ void FunctionKeyboardConfig::load (const Profile& prof) { + kb->keys.clear(); + kb->loadDefaults(); + m_rowBox->setValue(prof.readNumEntry("keb_rows", 2)); @@ -322,4 +361,2 @@ void FunctionKeyboardConfig::slotChangeRows(int r) { - // have to do this so the whole thing gets redrawn - kb->hide(); kb->show(); } diff --git a/noncore/apps/opie-console/function_keyboard.h b/noncore/apps/opie-console/function_keyboard.h index 80d9f29..a60ff4b 100644 --- a/noncore/apps/opie-console/function_keyboard.h +++ b/noncore/apps/opie-console/function_keyboard.h @@ -47,3 +47,4 @@ public: - //Key getKey(int, int); + void load(const Profile &); + void loadDefaults(); @@ -60,6 +61,2 @@ signals: -private: - - void loadDefaults(); - diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp index b177fa5..745efaf 100644 --- a/noncore/apps/opie-console/mainwindow.cpp +++ b/noncore/apps/opie-console/mainwindow.cpp @@ -409,2 +409,4 @@ void MainWindow::slotClose() { } + + m_kb->loadDefaults(); } @@ -458,2 +460,4 @@ void MainWindow::create( const Profile& prof ) { if(w) w->setFocus(); + + m_kb->load(currentSession()->profile()); } @@ -521,2 +525,4 @@ void MainWindow::slotSessionChanged( Session* ses ) { if(w) w->setFocus(); + + m_kb->load(currentSession()->profile()); } |