author | zecke <zecke> | 2004-10-15 19:23:42 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-10-15 19:23:42 (UTC) |
commit | ac36bfe2794741188da1d6d4b471f96fd15d47ee (patch) (side-by-side diff) | |
tree | 5c1bc264fd554142993be8963aed159f32877d6a | |
parent | a979ea08e8f9dbade70a9bf4fdc93dcbebb5f3fa (diff) | |
download | opie-ac36bfe2794741188da1d6d4b471f96fd15d47ee.zip opie-ac36bfe2794741188da1d6d4b471f96fd15d47ee.tar.gz opie-ac36bfe2794741188da1d6d4b471f96fd15d47ee.tar.bz2 |
-Add a QPEGLOBAL that adds define for 'weak', 'used' and unused symbols
Make use of the newly added qpeglobal.h to kill custom versions of
similiar macros
-rw-r--r-- | library/calendar.cpp | 11 | ||||
-rw-r--r-- | library/library.pro | 3 | ||||
-rw-r--r-- | library/qpeapplication.cpp | 8 | ||||
-rw-r--r-- | library/qpeglobal.h | 55 | ||||
-rw-r--r-- | library/qpemessagebox.cpp | 9 | ||||
-rw-r--r-- | library/qt_override.cpp | 16 | ||||
-rw-r--r-- | library/stable.h | 2 |
7 files changed, 67 insertions, 37 deletions
diff --git a/library/calendar.cpp b/library/calendar.cpp index 70e764c..d281a14 100644 --- a/library/calendar.cpp +++ b/library/calendar.cpp @@ -1,72 +1,67 @@ /********************************************************************** ** 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 "calendar.h" +#include "qpeglobal.h" #include <qdatetime.h> #include <qobject.h> + /*! \class Calendar calendar.html \brief The Calendar class provides programmers with an easy to calculate and get information about dates, months and years. \ingroup qtopiaemb */ -#ifdef Q_OS_MACX - #define ATTRIBUTE_UNUSED -#else - #define ATTRIBUTE_UNUSED __attribute__((unused)) -#endif - - -static void never_called_tr_function_um_libqpe_ts_etwas_unter_zu_jubeln() ATTRIBUTE_UNUSED; +static void never_called_tr_function_um_libqpe_ts_etwas_unter_zu_jubeln() QPE_SYMBOL_UNUSED; static void never_called_tr_function_um_libqpe_ts_etwas_unter_zu_jubeln() { (void)QObject::tr("Jan"); (void)QObject::tr("Feb"); (void)QObject::tr("Mar"); (void)QObject::tr("Apr"); (void)QObject::tr("May"); (void)QObject::tr("Jun"); (void)QObject::tr("Jul"); (void)QObject::tr("Aug"); (void)QObject::tr("Sep"); (void)QObject::tr("Oct"); (void)QObject::tr("Nov"); (void)QObject::tr("Dec"); (void)QObject::tr("Mon"); (void)QObject::tr("Tue"); (void)QObject::tr("Wed"); (void)QObject::tr("Thu"); (void)QObject::tr("Fri"); (void)QObject::tr("Sat"); (void)QObject::tr("Sun"); } /*! Returns the name of the month for \a m. Equivalent to QDate::monthName(). */ QString Calendar::nameOfMonth( int m ) { QDate d; diff --git a/library/library.pro b/library/library.pro index ffd20fd..cdc1dab 100644 --- a/library/library.pro +++ b/library/library.pro @@ -30,65 +30,66 @@ HEADERS = calendar.h \ datebookdb.h \ alarmserver.h \ process.h \ password.h \ timestring.h \ fontfactoryinterface.h \ fontdatabase.h \ power.h \ storage.h \ qpemessagebox.h \ timeconversion.h \ qpedebug.h \ qpemenubar.h \ qpetoolbar.h \ backend/categories.h \ stringutil.h \ backend/palmtoprecord.h \ backend/task.h \ backend/event.h \ backend/contact.h\ categorymenu.h \ categoryedit_p.h \ categoryselect.h \ categorywidget.h \ ir.h \ backend/vobject_p.h \ findwidget_p.h \ finddialog.h \ lnkproperties.h \ windowdecorationinterface.h \ textcodecinterface.h \ imagecodecinterface.h \ - qt_override_p.h + qt_override_p.h \ + qpeglobal.h SOURCES = calendar.cpp \ global.cpp \ xmlreader.cpp \ mimetype.cpp \ menubutton.cpp \ network.cpp \ networkinterface.cpp \ filemanager.cpp \ fontmanager.cpp \ qdawg.cpp \ datebookmonth.cpp \ fileselector.cpp \ imageedit.cpp \ resource.cpp \ qpedecoration_qws.cpp \ qcopenvelope_qws.cpp \ qpeapplication.cpp \ qpestyle.cpp \ qpedialog.cpp \ lightstyle.cpp \ config.cpp \ applnk.cpp \ sound.cpp \ tzselect.cpp \ qmath.c \ datebookdb.cpp \ alarmserver.cpp \ password.cpp \ process.cpp \ process_unix.cpp \ timestring.cpp \ diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index df313ce..3efba20 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -59,64 +59,65 @@ #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 <qtopia/qpeglobal.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" #include <backend/rohfeedback.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 ), fontFamily( "Vera" ), fontSize( 10 ), smallIconSize( 14 ), @@ -1265,70 +1266,65 @@ void QPEApplication::setCurrentMode( int x, int y, int depth ) // Reset the caches #if QT_VERSION > 236 qws_clearLoadedFonts(); #endif QPixmapCache::clear(); // Change the screen mode qt_screen->setMode(x, y, depth); if ( qApp->type() == GuiServer ) { #if QT_VERSION > 236 // Reconfigure the GuiServer qwsServer->beginDisplayReconfigure(); qwsServer->endDisplayReconfigure(); #endif // Get all the running apps to reset QCopEnvelope env( "QPE/System", "reset()" ); } } void QPEApplication::reset() { // Reconnect to the screen qt_screen->disconnect(); qt_screen->connect( QString::null ); // Redraw everything applyStyle(); } #if (QT_VERSION < 238) && defined Q_OS_MACX bool qt_left_hand_scrollbars = false; #else -#ifdef Q_OS_MACX -#define WEAK_SYMBOL __attribute__((weak_import)) -#else -#define WEAK_SYMBOL __attribute__((weak)) -#endif -extern bool qt_left_hand_scrollbars WEAK_SYMBOL; +extern bool qt_left_hand_scrollbars QPE_WEAK_SYMBOL; #endif /*! \internal */ void QPEApplication::applyStyle() { Config config( "qpe" ); config.setGroup( "Appearance" ); #if QT_VERSION > 233 #if !defined(OPIE_NO_OVERRIDE_QT) // don't block ourselves ... Opie::force_appearance = 0; static QString appname = Opie::binaryName ( ); QStringList ex = config. readListEntry ( "NoStyle", ';' ); int nostyle = 0; for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) { if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) { nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 ); break; } } #else int nostyle = 0; #endif // Widget style QString style = config.readEntry( "Style", "FlatStyle" ); diff --git a/library/qpeglobal.h b/library/qpeglobal.h new file mode 100644 index 0000000..96ce3a6 --- a/dev/null +++ b/library/qpeglobal.h @@ -0,0 +1,55 @@ +/* + =. This file is part of the OPIE Project + .=l. Copyright (c) 2002,2003,2004 Holger Hans Peter Freyther <freyther@handhelds.org> + .>+-= + _;:, .> :=|. This library is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This library is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU +..}^=.= = ; Library General Public License for more +++= -. .` .: details. + : = ...= . :.=- + -. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#ifndef QPE_GLOBAL_H +#define QPE_GLOBAL_H + +/** + * Defines for used compiler attributes + * + */ +#if defined(Q_OS_MACX) +#define QPE_WEAK_SYMBOL __attribute__((weak_import)) +#define QPE_SYMBOL_USED +#define QPE_SYMBOL_UNUSED + +#elif defined(_OS_UNIX_) +#define QPE_WEAK_SYMBOL __attribute__((weak)) +#define QPE_SYMBOL_USED __attribute__((used)) +#define QPE_SYMBOL_UNUSED __attribute__((unused)) + + +#else // defined(Q_OS_WIN32) +#define QPE_WEAK_SYMBOL +#define QPE_SYMBOL_USED +#define QPE_SYMBOL_UNUSED +#endif + + + +#endif diff --git a/library/qpemessagebox.cpp b/library/qpemessagebox.cpp index c38828a..1df108a 100644 --- a/library/qpemessagebox.cpp +++ b/library/qpemessagebox.cpp @@ -1,60 +1,55 @@ /********************************************************************** ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** ** This file is part of the 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 "qpemessagebox.h" +#include "qpeglobal.h" #include <qtopia/stringutil.h> #include <qmessagebox.h> -#ifdef Q_OS_MACX - #define ATTRIBUTE_UNUSED -#else - #define ATTRIBUTE_UNUSED __attribute__((unused)) -#endif - -static void never_called_tr_function_um_libqpe_ts_etwas_unter_zu_jubeln() ATTRIBUTE_UNUSED; +static void never_called_tr_function_um_libqpe_ts_etwas_unter_zu_jubeln() QPE_SYMBOL_UNUSED; static void never_called_tr_function_um_libqpe_ts_etwas_unter_zu_jubeln() { (void)QMessageBox::tr("Yes"); (void)QMessageBox::tr("No"); } /*! \class QPEMessageBox qpemessagebox.h \brief A message box that provides yes, no and cancel options. \ingroup qtopiaemb */ /*! Displays a QMessageBox with parent \a parent and caption \a caption. The message displayed is "Are you sure you want to delete: ", followed by \a object. */ bool QPEMessageBox::confirmDelete( QWidget *parent, const QString & caption, const QString & object ) { QString msg = QObject::tr("<qt>Are you sure you want to delete\n %1?</qt>").arg( Qtopia::escapeString( object ) ); // use <qt> an esacpe String.... int r = QMessageBox::warning( parent, caption, msg, QMessageBox::Yes, QMessageBox::No|QMessageBox::Default| QMessageBox::Escape, 0 ); return r == QMessageBox::Yes; } diff --git a/library/qt_override.cpp b/library/qt_override.cpp index 56f82d7..a0d753b 100644 --- a/library/qt_override.cpp +++ b/library/qt_override.cpp @@ -1,42 +1,43 @@ #include <qpe/qpeapplication.h> #include <qfontdatabase.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <limits.h> #include <sys/param.h> // for toolchains with old libc headers +#include <qtopia/qpeglobal.h> #include "qt_override_p.h" #if QT_VERSION > 233 #ifndef OPIE_NO_ERASE_RECT_HACKFIX struct color_fix_t { char *m_app; char *m_class; char *m_name; QColorGroup::ColorRole m_set; QColorGroup::ColorRole m_get; }; static const color_fix_t apps_that_need_special_colors [] = { { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base }, { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base }, { 0, 0, 0, QColorGroup::Base, QColorGroup::Base } }; #endif #ifndef OPIE_NO_OVERRIDE_QT static const char * const apps_that_need_pointsizes_times_10 [] = { "HancomMobileWord", "hancomsheet", "HancomPresenterViewer", 0 @@ -56,127 +57,114 @@ static void binaryNameFree ( ) ::free ((void *) Opie::binaryName ( )); // we need to cast away the const here } const char *Opie::binaryName ( ) { static const char *appname = 0; if ( !appname ) { char dst [PATH_MAX + 1]; int l = ::readlink ( "/proc/self/exe", dst, PATH_MAX ); if ( l <= 0 ) l = 0; dst [l] = 0; const char *b = ::strrchr ( dst, '/' ); appname = ::strdup ( b ? b + 1 : dst ); ::atexit ( binaryNameFree ); } return appname; } #else int Opie::force_appearance = 0; #endif // Fix for a toolchain incompatibility (binaries compiled with // old tcs using shared libs compiled with newer tcs) extern "C" { -extern void __gmon_start__ ( ) __attribute__(( weak )); - +extern void __gmon_start__ ( ) QPE_WEAK_SYMBOL; extern void __gmon_start__ ( ) { } } #ifndef OPIE_NO_ERASE_RECT_HACKFIX // Fix for apps, that use QPainter::eraseRect() which doesn't work with styles // that set a background pixmap (it would be easier to fix eraseRect(), but // TT made it an inline ...) void QPEApplication::polish ( QWidget *w ) { #ifndef OPIE_NO_OVERRIDE_QT -// qDebug ( "QPEApplication::polish()" ); - for ( const color_fix_t *ptr = apps_that_need_special_colors; ptr-> m_app; ptr++ ) { if (( ::strcmp ( Opie::binaryName ( ), ptr-> m_app ) == 0 ) && ( ptr-> m_class ? w-> inherits ( ptr-> m_class ) : true ) && ( ptr-> m_name ? ( ::strcmp ( w-> name ( ), ptr-> m_name ) == 0 ) : true )) { QPalette pal = w-> palette ( ); pal. setColor ( ptr-> m_set, pal. color ( QPalette::Active, ptr-> m_get )); w-> setPalette ( pal ); } } #endif QApplication::polish ( w ); } #endif #ifndef OPIE_NO_OVERRIDE_QT // Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes // were multiplied by 10 (which was incorrect) QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString const &style, QString const &charset ) { -// qDebug ( "QFontDatabase::pointSizes()" ); - QValueList <int> sl = pointSizes_NonWeak ( family, style, charset ); for ( const char * const *ptr = apps_that_need_pointsizes_times_10; *ptr; ptr++ ) { if ( ::strcmp ( Opie::binaryName ( ), *ptr ) == 0 ) { for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) *it *= 10; } } return sl; } // Various style/font/color related overrides for weak symbols in Qt/E, // which allows us to force the usage of the global Opie appearance. void QApplication::setStyle ( QStyle *style ) { -// qDebug ( "QApplication::setStyle()" ); - if ( Opie::force_appearance & Opie::Force_Style ) delete style; else QApplication::setStyle_NonWeak ( style ); } void QApplication::setPalette ( const QPalette &pal, bool informWidgets, const char *className ) { -// qDebug ( "QApplication::setPalette()" ); - if (!( Opie::force_appearance & Opie::Force_Style )) QApplication::setPalette_NonWeak ( pal, informWidgets, className ); } void QApplication::setFont ( const QFont &fnt, bool informWidgets, const char *className ) { -// qDebug ( "QApplication::setFont()" ); - if (!( Opie::force_appearance & Opie::Force_Font )) QApplication::setFont_NonWeak ( fnt, informWidgets, className ); } void QApplication::qwsSetDecoration ( QWSDecoration *deco ) { -// qDebug ( "QApplication::qwsSetDecoration()" ); - if ( Opie::force_appearance & Opie::Force_Decoration ) delete deco; else QApplication::qwsSetDecoration_NonWeak ( deco ); } #endif #endif diff --git a/library/stable.h b/library/stable.h index 10f13a6..ea4526c 100644 --- a/library/stable.h +++ b/library/stable.h @@ -43,35 +43,35 @@ #include <qtopia/datebookmonth.h> #define QTOPIA_INTERNAL_TZSELECT_INC_LOCAL #include <qtopia/tzselect.h> #undef QTOPIA_INTERNAL_TZSELECT_INC_LOCAL #include <qtopia/resource.h> #include <qtopia/version.h> #include <qtopia/storage.h> #include <qtopia/qpestyle.h> #include <qtopia/alarmserver.h> #include <qtopia/calendar.h> #include <qtopia/fileselector.h> #include <qtopia/filemanager.h> #include <qtopia/qcom.h> #include <qtopia/qcopenvelope_qws.h> #include <qtopia/qpemessagebox.h> #undef QTOPIA_INTERAL_PRELOADACCESS #undef QTOPIA_INTERNAL_INITAPP #undef QTOPIA_INTERNAL_LANGLIST #include <qtopia/xmlreader.h> #include <qtopia/windowdecorationinterface.h> #define QTOPIA_INTERNAL_TZSELECT_INC_LOCAL #include <qtopia/tzselect.h> #undef QTOPIA_INTERNAL_TZSELECT_INC_LOCAL #include <qtopia/applicationinterface.h> - +#include <qtopia/qpeglobal.h> #endif |