author | hash <hash> | 2002-08-27 01:47:36 (UTC) |
---|---|---|
committer | hash <hash> | 2002-08-27 01:47:36 (UTC) |
commit | 6aa0fb1ced890c21cd1ad4a3bab17b843c40164b (patch) (side-by-side diff) | |
tree | fafb48427af1b54fc55cc4a064cfc0f6eb95e454 /inputmethods/multikey/keyboard.cpp | |
parent | f7d9d8697c2971b7f512ade7625dfff30d0043d0 (diff) | |
download | opie-6aa0fb1ced890c21cd1ad4a3bab17b843c40164b.zip opie-6aa0fb1ced890c21cd1ad4a3bab17b843c40164b.tar.gz opie-6aa0fb1ced890c21cd1ad4a3bab17b843c40164b.tar.bz2 |
now shows whatever you wrote in the keymap 'title' var as the listItem
Diffstat (limited to 'inputmethods/multikey/keyboard.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index 3f6f73b..c3ee8f3 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp @@ -1,133 +1,132 @@ /********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #include "keyboard.h" #include "configdlg.h" #include <qpe/global.h> #include <qpe/qcopenvelope_qws.h> #include <qwindowsystem_qws.h> #include <qpainter.h> #include <qfontmetrics.h> #include <qtimer.h> #include <qpe/qpeapplication.h> #include <qpe/config.h> #include <ctype.h> #include <qfile.h> #include <qtextstream.h> #include <qstringlist.h> -#include <iostream.h> #include <sys/utsname.h> /* Keyboard::Keyboard {{{1 */ Keyboard::Keyboard(QWidget* parent, const char* _name, WFlags f) : QFrame(parent, _name, f), shift(0), lock(0), ctrl(0), alt(0), meta(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) { // get the default font Config *config = new Config( "qpe" ); config->setGroup( "Appearance" ); QString familyStr = config->readEntry( "FontFamily", "fixed" ); delete config; config = new Config("multikey"); config->setGroup ("general"); usePicks = config->readBoolEntry ("usePickboard", "0"); // default closed useRepeat = config->readBoolEntry ("useRepeat", "1"); delete config; setFont( QFont( familyStr, 10 ) ); picks = new KeyboardPicks( this ); picks->setFont( QFont( familyStr, 10 ) ); picks->initialise(); if (usePicks) { QObject::connect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ), this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); } else picks->hide(); loadKeyboardColors(); keys = new Keys(); repeatTimer = new QTimer( this ); connect( repeatTimer, SIGNAL(timeout()), this, SLOT(repeat()) ); } Keyboard::~Keyboard() { if ( configdlg ) { delete (ConfigDlg *) configdlg; configdlg = 0; } } /* Keyboard::resizeEvent {{{1 */ void Keyboard::resizeEvent(QResizeEvent*) { int ph = picks->sizeHint().height(); picks->setGeometry( 0, 0, width(), ph ); keyHeight = (height()-(usePicks ? ph : 0))/5; int nk; // number of keys? if ( useLargeKeys ) { nk = 15; } else { nk = 19; } defaultKeyWidth = (width()/nk)/2; xoffs = (width()-defaultKeyWidth*nk)/2; // empty key spaces? } /* KeyboardPicks::initialize {{{1 */ void KeyboardPicks::initialise() { setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed)); mode = 0; dc = new KeyboardConfig(this); configs.append(dc); } /* KeyboardPicks::sizeHint {{{1 */ QSize KeyboardPicks::sizeHint() const { return QSize(240,fontMetrics().lineSpacing()); } /* KeyboardConfig::generateText {{{1 */ void KeyboardConfig::generateText(const QString &s) { #if defined(Q_WS_QWS) || defined(_WS_QWS_) for (int i=0; i<(int)backspaces; i++) { parent->emitKey( 0, Qt::Key_Backspace, 0, true, false ); @@ -509,193 +508,193 @@ void Keyboard::mouseReleaseEvent(QMouseEvent*) *meta = 0; meta = 0; repaint(FALSE); } else clearHighlight(); } /* Keyboard::timerEvent {{{1 */ /* 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 ) { killTimer(pressTid); pressTid = 0; if ( !pressed ) cout << "calling clearHighlight from timerEvent\n"; //clearHighlight(); } } */ void Keyboard::repeat() { repeatTimer->start( 200 ); emit key( unicode, qkeycode, modifiers, true, true ); } void Keyboard::clearHighlight() { if ( pressedKeyRow >= 0 && pressedKeyCol >= 0) { int tmpRow = pressedKeyRow; int tmpCol = pressedKeyCol; pressedKeyRow = -1; pressedKeyCol = -1; QPainter p(this); drawKeyboard(p, tmpRow, tmpCol); } } /* Keyboard::sizeHint {{{1 */ QSize Keyboard::sizeHint() const { QFontMetrics fm=fontMetrics(); int keyHeight = fm.lineSpacing() + 2; return QSize( 240, keyHeight * 5 + (usePicks ? picks->sizeHint().height() : 0) + 1); } void Keyboard::resetState() { schar = mchar = echar = 0; picks->resetState(); } /* Keyboard::togglePickboard {{{1 */ void Keyboard::togglePickboard(bool on_off) { usePicks = on_off; if (usePicks) { picks->show(); //move(x(), y() - picks->height()); // not required anymore because QCopChannel::send //adjustSize(); QObject::connect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ), this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); } else { picks->hide(); picks->resetState(); //move(x(), y() + picks->height()); //adjustSize(); QObject::disconnect( picks, SIGNAL(key(ushort,ushort,ushort,bool,bool) ), this, SIGNAL(key(ushort,ushort,ushort,bool,bool)) ); } /* * this closes && opens the input method */ QCopChannel::send ("QPE/TaskBar", "hideInputMethod()"); QCopChannel::send ("QPE/TaskBar", "showInputMethod()"); } void Keyboard::toggleRepeat(bool on) { useRepeat = on; - cout << "setting useRepeat to: " << useRepeat << "\n"; + //cout << "setting useRepeat to: " << useRepeat << "\n"; } /* Keyboard::setMapTo ... {{{1 */ void Keyboard::setMapToDefault() { /* load current locale language map */ Config *config = new Config("locale"); config->setGroup( "Language" ); QString l = config->readEntry( "Language" , "en" ); delete config; QString key_map = QPEApplication::qpeDir() + "/share/multikey/" + l + ".keymap"; /* save change to multikey config file */ config = new Config("multikey"); config->setGroup ("keymaps"); config->writeEntry ("current", key_map); // default closed delete config; delete keys; keys = new Keys(key_map); // have to repaint the keyboard repaint(FALSE); } void Keyboard::setMapToFile(QString map) { /* save change to multikey config file */ Config *config = new Config("multikey"); config->setGroup ("keymaps"); config->writeEntry ("current", map); // default closed delete config; delete keys; if (QFile(map).exists()) keys = new Keys(map); else keys = new Keys(); repaint(FALSE); } /* Keybaord::reloadKeyboard {{{1 */ void Keyboard::reloadKeyboard() { // reload colors and redraw loadKeyboardColors(); repaint(); } void Keyboard::loadKeyboardColors() { Config config ("multikey"); config.setGroup("colors"); QStringList color; color = config.readListEntry("keycolor", QChar(',')); if (color.isEmpty()) { color = QStringList::split(",", "240,240,240"); config.writeEntry("keycolor", color.join(",")); } keycolor = QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()); color = config.readListEntry("keycolor_pressed", QChar(',')); if (color.isEmpty()) { color = QStringList::split(",", "171,183,198"); config.writeEntry("keycolor_pressed", color.join(",")); } keycolor_pressed = QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()); color = config.readListEntry("keycolor_lines", QChar(',')); if (color.isEmpty()) { color = QStringList::split(",", "138,148,160"); config.writeEntry("keycolor_lines", color.join(",")); } keycolor_lines = QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()); color = config.readListEntry("textcolor", QChar(',')); if (color.isEmpty()) { color = QStringList::split(",", "43,54,68"); config.writeEntry("textcolor", color.join(",")); } textcolor = QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()); } |