-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | noncore/apps/opie-console/emulation_handler.cpp | 20 |
2 files changed, 18 insertions, 3 deletions
@@ -1,110 +1,111 @@ 2005-??-?? Opie 1.2.1 New Features ------------ * OpieStumbler: Scans WiFi networks using the wireless extension scanning (skyhusker) * Opie-Reader: Support for document formats ArriereGo and Reb, add flite output (tim,pohly) * Opie-Networksettings: Add support for wlan-ng devices and improve WEP handling (Dirk Opfer) * Wellenreiter: Remove Joining networks - use OpieStumbler for that (mickeyl) * Opie-Mobilemsg has gone unsupported - it never really worked and there will be a replacement (mickeyl) * Opie-Tabmanager has gone unsupported - it barely works and there is not much of a use of it anyway (mickeyl) * Checkbook - added configuration option to use smaller font for checkbook transaction tab (hrw) * ZSafe - make UI conform to Opie standards (drw) * Today Addressbook plugin - fix configuration to show/not show birthdays, use checkboxes for selection (hrw) + * Opie-Console: read initial fixed font configuration from qpe.conf (mickeyl) Fixed Bugs ---------- * #1476 - Wrong order of application entries in the O-menu (skyhusker) * #1535 - Missing line break and unnecessary location shown with Today-Calendar plugin (deller) * #1565 - crash-fix in odevice.cpp while scanning the distribution table (deller) * #1614 - Make Opie-console start in $HOME instead of / (skyhusker) * #1665 - Opie-IRC diplays the host prepended to the message when peer is using and ipv6 address (skyhusker) * #1666 - Opie-IRC does not allow to add !channels in config as autojoin ones (skyhusker) * #1667 - Opie-IRC does not show messages from !channel (skyhusker) * n.a. - always show volume and wireless applet popups inside visible screen (deller) * n.a. - scale O-Menu-Applets appropriately (mickeyl) * n.a. - libopienet: fix bugs in wireless scanning and setting SSID (skyhusker) * n.a. - Wellenreiter: relax WE version matching test a bit (mickeyl) * n.a. - scale BluezApplet appropriately and use larger icons (mickeyl) * n.a. - memoryapplet: fix crash in memoryapplet on kernels without swap support (seneca cunningham) * n.a. - networksettings: ignore hostap control interfaces wifi* (mickeyl) * n.a. - Today Addressbook plugin fix configuration to show/not show birthdays, use checkboxes for selection (hrw) Internal -------- * Make BluezApplet use OTaskbarApplet (mickeyl) * libopiecore: rewrite OFileNotification to use the Linux 2.6 inotify interface (mickeyl) * libopiecore: add ODirNotification - recursive directory notifications (mickeyl) * libopienet: Skip hostap control interfaces 'wifi' and improve robustness in ONetworkInterface (mickeyl) * libopieui: Remove OVersatileView and OVersatileViewItem (mickeyl) * libopienet: Miscellaneous API cleanups (mickeyl) * libopiecore: Add linux pcmcia system abstraction classes (mickeyl) 2005-03-25 Opie 1.2.0 Fixed Bugs ---------- * #1613 - AdvancedFM - scale toolbar icons appropriately (drw) * #1620 - OFileSelector - show the button on press and not on press on hold (alwin) * #1473 - Opie-Eye - Same as #1620 but we lack a common FileSystem Button class (zecke) * n.a. - PackageManager - fix bug where messages show up multiple times in install dialog (drw) * n.a. - make qpeglobal.h include qglobal.h (zecke) 2005-03-20 Opie 1.2.0-rc1 New Features ------------ * Launcher: Support a static background pixmap (mickeyl) * LauncherSettings: Choose whether to have a static background pixmap (mickeyl) * PackageManager supports the 'lists_dir' ipkg configuration option (drw) * Added hi-res inline images for large resolution devices (drw) * Improved launcher icons for consistency (ar) * Datebook: Added plugin system to datebook so holidays and birthdays from contacts may displayed in datebook (alwin) Fixed Bugs ---------- * #1236 - VCards contained empty home and work address entries causing Palms to crash (eilers) * #1412 - Launcher Settings - fixed default settings for background in Edit tab dialog (drw) * #1472 - Opie textedit now check for unsaved changes on ESC key (ljp) * #1474 - Implement GUI for Scrollbars on the Left in Appearance (zecke) * #1482 - Fix double '/' in paths (zecke) * #1536 - Autosave of custom locations in opie backup (ar) * #1539 - Fixed displaying too long path in the delete dialog in opie-eye (zecke) * #1540 - Implemented deletion of DocLnks in opie-eye (zecke) * #1542 - Fixed Todo crash when priority < 1 or > 5 (drw) * #1550 - Browse for alarm sound start in QPEDIR/sounds/ (zecke) * #1554 - Fixed Opie-Console name in .desktop file (mickeyl) * #1556 - Start to look for sound files in /opt/QtPalmtop/sounds (zecke) * #1558 - Fixed opie-login breaking opie startup (mickeyl) * #1560 - Fixed Opie-Console picking up the wrong shell (bluelightning) * #1570 - Confirmation needed befor Restore a backup and overwrite local data (ar) * #1591 - Addressbook sortorder changed by clicking on column 0 (eilers) * #1599 - Security - change recommendation for opie-multiauth to opie-securityplugin (gints) * #1604 - Checkbook crashed on startup (drw) * #1608 - Addressbook crashed after search, which may caused by not initialzed member variable (eilers) * #1608 - QueryByExampe-Datediff on SQL database did not worked properly (eilers) * n.a. - Netsystemtime - fixed UI to prevent error dialog from displaying when it shouldn't, get rid of some compiler warnings (drw) * n.a. - PackageManager - fixed where last package in status file was not shown as installed when it should be (drw) * n.a. - PackageManager - fixed bug where lists_dir was not being honored at startup (drw) * n.a. - PackageManager - provided default value for lists_dir when none is entered in configuration dialog (drw) * n.a. - OTabWidget - fixed scroll buttons, fix display position of tabs (drw) * n.a. - AddressBook - fixed sorting by 'File As' name (drw) * n.a. - AddressBook - fixed category handling for 'All' and 'Unfiled' (eilers) * n.a. - AddressBook - fixed letter picker record selection and sort records afterwards (drw) Internal -------- * Worked around bug in Qt/Embedded 2.3.10: qt_version() returns 231 (mickeyl) * Killed the need for weak symbols in QtE (zecke) * Added optional building libqpe without inline images (mickeyl) * OColorButton - fixed so does not emit a colorSelected signal inside of resizeEvent (drw) 2005-02-03 Opie 1.1.9 New Features ------------ * Number of icon columns in Launcher is customizable through Launcher.conf (hrw,zecke,mickeyl) * Number of icon columns in Launcher is customizable through LauncherSettings (mickeyl) * Usability enhancements in OpieIRC (skyhusker) diff --git a/noncore/apps/opie-console/emulation_handler.cpp b/noncore/apps/opie-console/emulation_handler.cpp index 986ae8d..2087f57 100644 --- a/noncore/apps/opie-console/emulation_handler.cpp +++ b/noncore/apps/opie-console/emulation_handler.cpp @@ -1,148 +1,162 @@ #include "TEmuVt102.h" #include "profile.h" #include "emulation_handler.h" #include "script.h" #include "logger.h" +/* OPIE */ +#include <qpe/config.h> + +/* QT */ #include <qfile.h> #include <qtextstream.h> EmulationHandler::EmulationHandler( const Profile& prof, QWidget* parent,const char* name ) : QObject(0, name ) { m_teWid = new TEWidget( parent, "TerminalMain"); // use setWrapAt(0) for classic behaviour (wrap at screen width, no scrollbar) // use setWrapAt(80) for normal console with scrollbar setWrap(prof.readNumEntry("Wrap", 80) ? 0 : 80); m_teWid->setMinimumSize(150, 70 ); m_script = 0; m_log = 0; parent->resize( m_teWid->calcSize(80, 24 ) ); m_teEmu = new TEmuVt102(m_teWid ); connect(m_teEmu,SIGNAL(ImageSizeChanged(int,int) ), this, SIGNAL(changeSize(int,int) ) ); connect(m_teEmu, SIGNAL(sndBlock(const char*,int) ), this, SLOT(recvEmulation(const char*,int) ) ); m_teEmu->setConnect( true ); m_teEmu->setHistory( TRUE ); load( prof ); } TEmulation* EmulationHandler::emulation() { return m_teEmu; } EmulationHandler::~EmulationHandler() { if (isRecording()) clearScript(); delete m_teEmu; delete m_teWid; delete m_log; } void EmulationHandler::load( const Profile& prof) { -// m_teWid->setVTFont( font( prof.readNumEntry("Font") ) ); - QFont font( prof.readEntry("Font"), prof.readNumEntry( "FontSize" ), QFont::Normal ); + // try to read the fontconfig from the profile + QString aFont = prof.readEntry( "Font" ); + int aFontSize = prof.readNumEntry( "FontSize" ); + // use defaults from qpe.conf if no profile yet + if ( ( aFontSize == -1 ) || ( aFont == QString::null ) ) + { + Config c( "qpe" ); + c.setGroup( "Appearance" ); + aFont = c.readEntry( "FixedFontFamily", "Fixed" ); + aFontSize = c.readNumEntry( "FixedFontSize", 7 ); + } + QFont font( aFont, aFontSize ); font.setFixedPitch( TRUE ); m_teWid->setVTFont( font ); - int num = prof.readNumEntry("Color"); + int num = prof.readNumEntry("Color", 0); setColor( foreColor(num), backColor(num) ); m_teWid->setBackgroundColor(backColor(num) ); int term = prof.readNumEntry("Terminal", 0) ; switch(term) { default: case Profile::VT102: case Profile::VT100: m_teEmu->setKeytrans("vt100.keytab"); break; case Profile::Linux: m_teEmu->setKeytrans("linux.keytab"); break; case Profile::XTerm: m_teEmu->setKeytrans("default.Keytab"); break; } } void EmulationHandler::recv( const QByteArray& ar) { m_teEmu->onRcvBlock(ar.data(), ar.count() ); if ( isLogging() ) { m_log->append( ar ); } } void EmulationHandler::recvEmulation(const char* src, int len ) { QByteArray ar(len); memcpy(ar.data(), src, sizeof(char) * len ); if (isRecording()) m_script->append(ar); emit send(ar); } QWidget* EmulationHandler::widget() { return m_teWid; } /* * allocate a new table of colors */ void EmulationHandler::setColor( const QColor& fore, const QColor& back ) { ColorEntry table[TABLE_COLORS]; const ColorEntry *defaultCt = m_teWid->getdefaultColorTable(); for (int i = 0; i < TABLE_COLORS; i++ ) { if ( i == 0 || i == 10 ) { table[i].color = fore; }else if ( i == 1 || i == 11 ) { table[i].color = back; table[i].transparent = 0; }else { table[i].color = defaultCt[i].color; } } m_teWid->setColorTable(table ); m_teWid->update(); } QFont EmulationHandler::font( int id ) { QString name; int size = 0; switch(id ) { default: // fall through case 0: name = QString::fromLatin1("Micro"); size = 4; break; case 1: name = QString::fromLatin1("Fixed"); size = 7; break; case 2: name = QString::fromLatin1("Fixed"); size = 12; break; } QFont font(name, size, QFont::Normal ); font.setFixedPitch(TRUE ); return font; } QColor EmulationHandler::foreColor(int col) { QColor co; /* we need to switch it */ switch( col ) { default: case Profile::White: /* color is black */ co = Qt::white; break; case Profile::Black: co = Qt::black; break; case Profile::Green: co = Qt::green; break; case Profile::Orange: |