author | zecke <zecke> | 2004-07-12 20:01:26 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-07-12 20:01:26 (UTC) |
commit | 5d2ec2e9b1dce49e914c260fe16a82ddccbaa92d (patch) (side-by-side diff) | |
tree | cbac9fa8c94900e3486c3251206bdc22028b4a66 | |
parent | e18cb7bddb3461a40ae1e8810ef408ceef101d38 (diff) | |
download | opie-5d2ec2e9b1dce49e914c260fe16a82ddccbaa92d.zip opie-5d2ec2e9b1dce49e914c260fe16a82ddccbaa92d.tar.gz opie-5d2ec2e9b1dce49e914c260fe16a82ddccbaa92d.tar.bz2 |
Query for FontFactories which implement the FontFactoryInterface on
QPEApplication creation.
Also update the comment in the API docu as now FontFactories are loaded
-rw-r--r-- | library/fontfactoryinterface.h | 2 | ||||
-rw-r--r-- | library/qpeapplication.cpp | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/library/fontfactoryinterface.h b/library/fontfactoryinterface.h index 68b0be5..36f430f 100644 --- a/library/fontfactoryinterface.h +++ b/library/fontfactoryinterface.h @@ -15,42 +15,40 @@ ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef FONTFACTORYINTERFACE_H #define FONTFACTORYINTERFACE_H #include <qnamespace.h> #include <qstring.h> #include <qpe/qcom.h> class QFontFactory; #ifndef QT_NO_COMPONENT // {7F194DD6-FAA3-498F-8F30-9C297A570DFA} #ifndef IID_FontFactory #define IID_FontFactory QUuid( 0x7f194dd6, 0xfaa3, 0x498f, 0x8f, 0x30, 0x9c, 0x29, 0x7a, 0x57, 0x0d, 0xfa) #endif #endif /** * \brief Interface for additional Font Factories * * To add special types of fonts TrueTypes or your very own * format. If you implement this Interface you can add * custom font loading. * * The dynamic shared object goes to * OPIEDIR/plugins/fontfactories. * - * As of version Opie 1.0.2 loading of the plugins is not - * yet implemented * */ struct FontFactoryInterface : public QUnknownInterface { virtual QFontFactory *fontFactory() = 0; }; #endif diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index b686e2e..f4a7f74 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -51,64 +51,65 @@ #include <qevent.h> #include <qtooltip.h> #include <qsignal.h> #include <qmainwindow.h> #include <qwidgetlist.h> #include <qpixmapcache.h> #if defined(Q_WS_QWS) && !defined(QT_NO_COP) #define QTOPIA_INTERNAL_INITAPP #include "qpeapplication.h" #include "qpestyle.h" #include "styleinterface.h" #if QT_VERSION >= 300 #include <qstylefactory.h> #else #include <qplatinumstyle.h> #include <qwindowsstyle.h> #include <qmotifstyle.h> #include <qmotifplusstyle.h> #include "lightstyle.h" #include <qpe/qlibrary.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" #ifdef QWS #include "fontmanager.h" +#include "fontdatabase.h" #endif #include "alarmserver.h" #include "applnk.h" #include "qpemenubar.h" #include "textcodecinterface.h" #include "imagecodecinterface.h" #include <unistd.h> #include <sys/file.h> #include <sys/ioctl.h> #ifndef QT_NO_SOUND #include <sys/soundcard.h> #endif #include "qt_override_p.h" static bool useBigPixmaps = 0; class HackWidget : public QWidget { public: bool needsOk() { return (getWState() & WState_Reserved1 ); } QRect normalGeometry() { return topData()->normalGeometry; }; }; class QPEApplicationData { public: QPEApplicationData ( ) @@ -774,65 +775,64 @@ void QPEApplication::processQCopFile() { 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 Note that messages received here may be processed by qpe application and emitted as signals, such as flush() and reload(). */ /*! Constructs a QPEApplication just as you would construct a QApplication, passing \a argc, \a argv, and \a t. For applications, \a t should be the default, GuiClient. Only the Qtopia server passes GuiServer. */ QPEApplication::QPEApplication( int & argc, char **argv, Type t ) : QApplication( hack(argc), argv, t ), pidChannel( 0 ) { QPixmapCache::setCacheLimit(256); // sensible default for smaller devices. d = new QPEApplicationData; d->loadTextCodecs(); d->loadImageCodecs(); - int dw = desktop() ->width(); setFont( QFont( d->fontFamily, d->fontSize ) ); AppLnk::setSmallIconSize( d->smallIconSize ); AppLnk::setBigIconSize( d->bigIconSize ); QMimeSourceFactory::setDefaultFactory( new ResourceMimeFactory ); connect( this, SIGNAL( lastWindowClosed() ), this, SLOT( hideOrQuit() ) ); sysChannel = new QCopChannel( "QPE/System", this ); connect( sysChannel, SIGNAL( received(const QCString&,const QByteArray&) ), this, SLOT( systemMessage(const QCString&,const QByteArray&) ) ); /* COde now in initapp */ #if 0 #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 ); } QCString channel = QCString( argv[ 0 ] ); channel.replace( QRegExp( ".*/" ), "" ); d->appName = channel; channel = "QPE/Application/" + channel; @@ -849,66 +849,68 @@ QPEApplication::QPEApplication( int & argc, char **argv, Type t ) ds >> channel >> message >> data; d->enqueueQCop( channel, message, data ); } flock( f.handle(), LOCK_UN ); f.close(); f.remove(); } for ( int a = 0; a < argc; a++ ) { if ( qstrcmp( argv[ a ], "-preload" ) == 0 ) { argv[ a ] = argv[ a + 1 ]; a++; d->preloaded = TRUE; argc -= 1; } else if ( qstrcmp( argv[ a ], "-preload-show" ) == 0 ) { argv[ a ] = argv[ a + 1 ]; a++; d->preloaded = TRUE; d->forceshow = TRUE; argc -= 1; } } /* overide stored arguments */ setArgs( argc, argv ); #endif #else initApp( argc, argv ); #endif - // qwsSetDecoration( new QPEDecoration() ); - +#ifdef Q_WS_QWS + /* load the font renderer factories */ + FontDatabase::loadRenderers(); +#endif #ifndef QT_NO_TRANSLATION d->langs = Global::languageList(); for ( QStringList::ConstIterator it = d->langs.begin(); it != d->langs.end(); ++it ) { QString lang = *it; installTranslation( lang + "/libopie.qm"); installTranslation( lang + "/libqpe.qm" ); installTranslation( lang + "/" + d->appName + ".qm" ); //###language/font hack; should look it up somewhere #ifdef QWS if ( lang == "ja" || lang == "zh_CN" || lang == "zh_TW" || lang == "ko" ) { QFont fn = FontManager::unicodeFont( FontManager::Proportional ); setFont( fn ); } #endif } #endif applyStyle(); if ( type() == GuiServer ) { setVolume(); } installEventFilter( this ); QPEMenuToolFocusManager::initialize(); |