author | mickeyl <mickeyl> | 2004-06-25 12:49:30 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-06-25 12:49:30 (UTC) |
commit | d3276bd5098fa4418efae6e3f87521f56653872f (patch) (side-by-side diff) | |
tree | 906ff0338c780924e035822ce0629948d8ff2413 | |
parent | 09451308ca73f7b58a8ec0766df01bcb188f4b3f (diff) | |
download | opie-d3276bd5098fa4418efae6e3f87521f56653872f.zip opie-d3276bd5098fa4418efae6e3f87521f56653872f.tar.gz opie-d3276bd5098fa4418efae6e3f87521f56653872f.tar.bz2 |
- get rid of HIGH_RES_LOW_PHYS to allow shipping one libqpe for all devices
- honor FontFamily and FontSize as set in qpe/Appearance
- NOTE to packagers: Remember to ship appropriate qpe.conf files for the different devices!
-rw-r--r-- | Rules.make | 3 | ||||
-rw-r--r-- | config.in | 5 | ||||
-rw-r--r-- | library/qpeapplication.cpp | 55 |
3 files changed, 25 insertions, 38 deletions
@@ -56,35 +56,32 @@ ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y) endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ endif ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ endif ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) echo DEFINES += USE_FILE_NOTIFICATION >> $@ endif ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ endif -ifeq ($(CONFIG_OPIE_HIGH_RES_SMALL_PHY),y) - echo DEFINES += OPIE_HIGH_RES_SMALL_PHY >> $@ -endif ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) echo DEFINES += OPIE_NEW_MALLOC >> $@ endif ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y) echo DEFINES += OPIE_NO_SOUND_PCM_READ_BITS >> $@ endif echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@ ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y) echo DEFINES += OPIE_WE_VERSION=$(CONFIG_OPIE_WE_VERSION) >> $@ endif # Write LIB dirs and INC dirs... ifeq ($(CONFIG_LIBETPAN_DEP),y) echo LIBETPAN_LIB_DIR = $(CONFIG_LIBETPAN_LIB_DIR) >> $@ echo LIBETPAN_INC_DIR = $(CONFIG_LIBETPAN_INC_DIR) >> $@ endif ifeq ($(CONFIG_LIBPCAP_DEP),y) @@ -125,37 +125,32 @@ config OPIE_NO_BUILTIN_CALIBRATE config OPIE_SOUND_FRAGMENT_SHIFT string "The sound fragment used in Opie Player I" default "14" if TARGET_IPAQ default "16" if ! TARGET_IPAQ config USE_REALTIME_AUDIO_THREAD boolean "Use a realtime thread in Opie Player I" default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) config QT_QWS_ALLOW_OVERCLOCK boolean "Allow the user to overclock the device" depends TARGET_RAMSES default n -config OPIE_HIGH_RES_SMALL_PHY - boolean "Resolution is bigger than physical screen" - default y if TARGET_C700 - default n if ! TARGET_C700 - config USE_FILE_NOTIFICATION boolean "Substitute (some) polling interfaces with OFileNotifier" default y config OPIE_NEW_ALLOC boolean "Use malloc and free for the implementation" default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) config OPIE_NO_SOUND_PCM_READ_BITS boolean "There is not a pcm_read_bits io control" default y if TARGET_SHARP default n if ! TARGET_SHARP endmenu menu "Dependencies" diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 26e310a..4bc0c5f 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -83,65 +83,80 @@ #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 ( ) : presstimer( 0 ), presswidget( 0 ), rightpressed( false ), kbgrabbed( false ), notbusysent( false ), preloaded( false ), forceshow( false ), nomaximize( false ), - keep_running( true ), qcopQok( false ), qpe_main_widget( 0 ) - - {} + keep_running( true ), qcopQok( false ), + fontFamily( "Vera" ), fontSize( 10 ), smallIconSize( 14 ), + bigIconSize( 32 ), qpe_main_widget( 0 ) + { + Config cfg( "qpe" ); + cfg.setGroup( "Appearance" ); + useBigPixmaps = cfg.readBoolEntry( "useBigPixmaps", false ); + fontFamily = cfg.readEntry( "FontFamily", "Vera" ); + fontSize = cfg.readNumEntry( "FontSize", 10 ); + smallIconSize = cfg.readNumEntry( "SmallIconSize", 14 ); + bigIconSize = cfg.readNumEntry( "BigIconSize", 32 ); + } int presstimer; QWidget* presswidget; QPoint presspos; bool rightpressed : 1; bool kbgrabbed : 1; bool notbusysent : 1; bool preloaded : 1; bool forceshow : 1; bool nomaximize : 1; bool keep_running : 1; bool qcopQok : 1; + QCString fontFamily; + int fontSize; + int smallIconSize; + int bigIconSize; QStringList langs; QString appName; struct QCopRec { QCopRec( const QCString &ch, const QCString &msg, const QByteArray &d ) : channel( ch ), message( msg ), data( d ) { } QCString channel; QCString message; QByteArray data; }; QWidget* qpe_main_widget; QGuardedPtr<QWidget> lastraised; @@ -160,44 +175,38 @@ public: return; QCopRec * r; while((r=qcopq.dequeue())) { // remove from queue before sending... // event loop can come around again before getting // back from sendLocally #ifndef QT_NO_COP QCopChannel::sendLocally( r->channel, r->message, r->data ); #endif delete r; } } - static void show_mx(QWidget* mw, bool nomaximize, QString &strName/* = QString::null */) + static void show_mx(QWidget* mw, bool nomaximize, QString &strName) + { + if ( mw->inherits("QMainWindow") || mw->isA("QMainWindow") ) { - // ugly hack, remove that later after finding a sane solution - // Addendum: Only Sharp currently has models with high resolution but (physically) small displays, - // so this is only useful if QT_QWS_SIMPAD is NOT defined. E.g. SIMpad has 800x600 but has - // a (physically) large enough display to use the small icons -#if defined(OPIE_HIGH_RES_SMALL_PHY) - if ( QPEApplication::desktop() ->width() >= 600 && ( mw->inherits("QMainWindow") || mw->isA("QMainWindow") ) ) { - ( ( QMainWindow* ) mw )->setUsesBigPixmaps( true ); + ( ( QMainWindow* ) mw )->setUsesBigPixmaps( useBigPixmaps ); } -#endif - QPoint p; QSize s; bool max; if ( mw->isVisible() ) { if ( read_widget_rect(strName, max, p, s) && validate_widget_size(mw, p, s) ) { mw->resize(s); mw->move(p); } mw->raise(); } else { if ( mw->layout() && mw->inherits("QDialog") ) { if ( read_widget_rect(strName, max, p, s) && validate_widget_size(mw, p, s) ) { mw->resize(s); mw->move(p); @@ -783,49 +792,35 @@ void QPEApplication::processQCopFile() 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(); - if ( dw < 200 ) { - setFont( QFont( "vera", 8 ) ); - AppLnk::setSmallIconSize( 10 ); - AppLnk::setBigIconSize( 28 ); - } -#if defined(OPIE_HIGH_RES_SMALL_PHY) - else if ( dw > 600 ) { - setFont( QFont( "vera", 16 ) ); - AppLnk::setSmallIconSize( 24 ); - AppLnk::setBigIconSize( 48 ); - } -#endif - else if ( dw > 200 ) { - setFont( QFont( "vera", 10 ) ); - AppLnk::setSmallIconSize( 14 ); - AppLnk::setBigIconSize( 32 ); - } + 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 |