Attached is a patch that I need to get PyQt4 compiled against a
lean-and-mean Qt4, where we disable some features to minimize its size
for our embedded targets.

It may not be complete, but it works for the following configuration:

QT_CONFIG_FLAGS = "-release -shared -qt-zlib -system-libjpeg
-no-nas-sound -no-sm -no-libmng -qt-libpng -no-gif -no-xinerama
-no-tablet -no-xkb -no-nis -no-cups -no-opengl -nosse -no-sql-ibase
-no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2
-verbose -stl -no-accessibility"

Please consider applying.

-- 
Regards,

Mickey.
------------------------------------------------------------------
Dipl.-Inf. Michael 'Mickey' Lauer <[EMAIL PROTECTED]>
------------------------------------------------------------------

#
# Patch managed by http://www.holgerschurig.de/patcher.html
#

--- PyQt4-gpl-4.0beta1/sip/QtGui/qsessionmanager.sip~optional-features.patch
+++ PyQt4-gpl-4.0beta1/sip/QtGui/qsessionmanager.sip
@@ -21,7 +21,7 @@
 // PyQt; see the file LICENSE.  If not, write to the Free Software Foundation,
 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-
+%If (SessionManager)
 class QSessionManager : QObject
 {
 %TypeHeaderCode
@@ -58,3 +58,4 @@
     bool isPhase2() const;
     void requestPhase2();
 };
+%End
--- PyQt4-gpl-4.0beta1/sip/QtGui/qapplication.sip~optional-features.patch
+++ PyQt4-gpl-4.0beta1/sip/QtGui/qapplication.sip
@@ -20,7 +20,7 @@
 // You should have received a copy of the GNU General Public License along with
 // PyQt; see the file LICENSE.  If not, write to the Free Software Foundation,
 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
+%Feature SessionManager
 
 // QApplication *qApp
 QApplication *qApp;
@@ -101,7 +101,9 @@
             {sipName_QStandardItemModel,	&sipClass_QStandardItemModel,	-1, 8},
             {sipName_QLayout,	&sipClass_QLayout,	27, 9},
             {sipName_QTextObject,	&sipClass_QTextObject,	32, 10},
+#ifndef QT_NO_SESSIONMANAGER
             {sipName_QSessionManager,	&sipClass_QSessionManager,	-1, 11},
+#endif
             {sipName_QWidget,	&sipClass_QWidget,	36, 12},
             {sipName_QMovie,	&sipClass_QMovie,	-1, 13},
             {sipName_QAbstractProxyModel,	&sipClass_QAbstractProxyModel,	100, 14},
@@ -357,11 +359,13 @@
     static bool isLeftToRight();
     static bool isEffectEnabled(Qt::UIEffect);
     static void setEffectEnabled(Qt::UIEffect, bool enable = true);
+%If (SessionManager)
     bool isSessionRestored() const;
     QString sessionId() const;
     QString sessionKey() const;
     virtual void commitData(QSessionManager &sm);
     virtual void saveState(QSessionManager &sm);
+%End
     void setInputContext(QInputContext *);
     QInputContext *inputContext() const;
     static int exec() /PostHook=__pyQtPostEventLoopHook__, PreHook=__pyQtPreEventLoopHook__, PyName=exec_, ReleaseGIL/;
--- PyQt4-gpl-4.0beta1/sip/QtGui/qwidget.sip~optional-features.patch
+++ PyQt4-gpl-4.0beta1/sip/QtGui/qwidget.sip
@@ -20,7 +20,10 @@
 // You should have received a copy of the GNU General Public License along with
 // PyQt; see the file LICENSE.  If not, write to the Free Software Foundation,
 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
+%Feature Accessibility
+%Feature ToolTips
+%Feature StatusTips
+%Feature WhatsThis
 
 class QWidget : QObject, QPaintDevice
 {
@@ -128,16 +131,24 @@
     void setWindowOpacity(qreal level);
     qreal windowOpacity() const;
     bool isWindowModified() const;
+%If (ToolTips)
     void setToolTip(const QString &);
     QString toolTip() const;
+%End
+%If (StatusTips)
     void setStatusTip(const QString &);
     QString statusTip() const;
+%End
+%If (WhatsThis)
     void setWhatsThis(const QString &);
     QString whatsThis() const;
+%End
+%If (Accessibility)
     QString accessibleName() const;
     void setAccessibleName(const QString &name);
     QString accessibleDescription() const;
     void setAccessibleDescription(const QString &description);
+%End
     void setLayoutDirection(Qt::LayoutDirection direction);
     Qt::LayoutDirection layoutDirection() const;
     void unsetLayoutDirection();
_______________________________________________
PyKDE mailing list    [email protected]
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to