author | drw <drw> | 2002-06-20 00:32:56 (UTC) |
---|---|---|
committer | drw <drw> | 2002-06-20 00:32:56 (UTC) |
commit | 2ae11eec4c1b90093e464b863131de07c4528d96 (patch) (side-by-side diff) | |
tree | f8df2cf39b9fe183944be3f6453cbfe383729e57 | |
parent | 51ef8523daa3874e7b5542de6b19423fba261de6 (diff) | |
download | opie-2ae11eec4c1b90093e464b863131de07c4528d96.zip opie-2ae11eec4c1b90093e464b863131de07c4528d96.tar.gz opie-2ae11eec4c1b90093e464b863131de07c4528d96.tar.bz2 |
Allow apps to use font selected in appearance app
-rw-r--r-- | library/qpeapplication.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index cf437da..f84bc0e 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -49,48 +49,50 @@ #include <qtooltip.h> #include <qsignal.h> #include <linux/fb.h> #include <qsignal.h> #include "qpeapplication.h" #include "qpestyle.h" #if QT_VERSION >= 300 #include <qstylefactory.h> #else #include <qplatinumstyle.h> #include <qwindowsstyle.h> #include <qmotifstyle.h> #include <qmotifplusstyle.h> #include "lightstyle.h" #endif #include "global.h" #include "resource.h" #if QT_VERSION <= 230 && defined(QT_NO_CODECS) #include "qutfcodec.h" #endif #include "config.h" #include "network.h" #include "fontmanager.h" +#include "fontdatabase.h" + #include "power.h" #include "alarmserver.h" #include "applnk.h" #include "qpemenubar.h" #include <unistd.h> #include <sys/file.h> #include <sys/ioctl.h> #include <sys/soundcard.h> // for setBacklight() #if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) #include <linux/fb.h> #include <sys/types.h> #include <sys/stat.h> #endif #include <stdlib.h> class QPEApplicationData { public: QPEApplicationData() : presstimer(0), presswidget(0), rightpressed(FALSE), kbgrabber(0), kbregrab(FALSE), notbusysent(FALSE), preloaded(FALSE), forceshow(FALSE), nomaximize(FALSE), qpe_main_widget(0), @@ -483,49 +485,49 @@ static void setScreenSaverInterval(int interval) { QDataStream stream( data, IO_ReadOnly ); if ( msg == "someMessage(int,int,int)" ) { int a,b,c; stream >> a >> b >> c; ... } else if ( msg == "otherMessage(QString)" ) { ... } } \endcode \sa qcop.html */ /*! Constructs a QPEApplication just as you would construct a QApplication, passing \a argc, \a argv, and \a t. */ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) : QApplication( hack(argc), argv, t ) { int dw = desktop()->width(); if ( dw < 200 ) { - setFont( QFont( "helvetica", 8 ) ); +// setFont( QFont( "helvetica", 8 ) ); AppLnk::setSmallIconSize(10); AppLnk::setBigIconSize(28); } d = new QPEApplicationData; QMimeSourceFactory::setDefaultFactory(new ResourceMimeFactory); connect(this, SIGNAL(lastWindowClosed()), this, SLOT(hideOrQuit())); #if defined(Q_WS_QWS) && !defined(QT_NO_COP) QString qcopfn("/tmp/qcop-msg-"); qcopfn += QString(argv[0]); // append command name QFile f(qcopfn); if ( f.open(IO_ReadOnly) ) { flock(f.handle(), LOCK_EX); } sysChannel = new QCopChannel( "QPE/System", this ); connect( sysChannel, SIGNAL(received(const QCString &, const QByteArray &)), this, SLOT(systemMessage( const QCString &, const QByteArray &)) ); QCString channel = QCString(argv[0]); channel.replace(QRegExp(".*/"),""); @@ -578,49 +580,63 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) QString lang = *it; QTranslator * trans; QString tfn; trans = new QTranslator(this); tfn = qpeDir()+"/i18n/"+lang+"/libqpe.qm"; if ( trans->load( tfn )) installTranslator( trans ); else delete trans; trans = new QTranslator(this); tfn = qpeDir()+"/i18n/"+lang+"/"+d->appName+".qm"; if ( trans->load( tfn )) installTranslator( trans ); else delete trans; //###language/font hack; should look it up somewhere if ( lang == "ja" || lang == "zh_CN" || lang == "zh_TW" || lang == "ko" ) { QFont fn = FontManager::unicodeFont( FontManager::Proportional ); setFont( fn ); } + else { + Config config( "qpe" ); + config.setGroup( "Appearance" ); + QString familyStr = config.readEntry( "FontFamily", "fixed" ); + QString styleStr = config.readEntry( "FontStyle", "Regular" ); + QString sizeStr = config.readEntry( "FontSize", "10" ); + QString charSetStr = config.readEntry( "FontCharSet", "iso10646-1" ); + bool ok; + int i_size = sizeStr.toInt( &ok, 10 ); + FontDatabase fdb; + QFont selectedFont = fdb.font( familyStr, styleStr, i_size, charSetStr ); + setFont( selectedFont ); + } } + #endif applyStyle(); if ( type() == GuiServer ) { setScreenSaverInterval(-1); setVolume(); QWSServer::setScreenSaver(new QPEScreenSaver); } installEventFilter( this ); QPEMenuToolFocusManager::initialize(); #ifdef QT_NO_QWS_CURSOR // if we have no cursor, probably don't want tooltips QToolTip::setEnabled( FALSE ); #endif } static QPtrDict<void>* inputMethodDict=0; static void createInputMethodDict() { if ( !inputMethodDict ) |