[58937] trunk/dports/aqua/qt4-mac

snc at macports.org snc at macports.org
Wed Oct 7 08:55:02 PDT 2009


Revision: 58937
          http://trac.macports.org/changeset/58937
Author:   snc at macports.org
Date:     2009-10-07 08:55:01 -0700 (Wed, 07 Oct 2009)
Log Message:
-----------
add patch for cocoa support, ticket #20362. tested by jeremy_laine.

Modified Paths:
--------------
    trunk/dports/aqua/qt4-mac/Portfile

Added Paths:
-----------
    trunk/dports/aqua/qt4-mac/files/patch-qt3support-for-cocoa.diff

Modified: trunk/dports/aqua/qt4-mac/Portfile
===================================================================
--- trunk/dports/aqua/qt4-mac/Portfile	2009-10-07 15:54:17 UTC (rev 58936)
+++ trunk/dports/aqua/qt4-mac/Portfile	2009-10-07 15:55:01 UTC (rev 58937)
@@ -5,7 +5,7 @@
 
 name                qt4-mac
 version             4.5.2
-revision            1
+revision            2
 categories          aqua
 platforms           macosx
 maintainers         erickt gmail.com:clubjuggler openmaintainer
@@ -42,7 +42,8 @@
     patch-mac.conf.diff      \
     patch-precomp.test.diff  \
     patch-odbc.diff          \
-    patch-network.pro.diff
+    patch-network.pro.diff   \
+    patch-qt3support-for-cocoa.diff
 
 # The build process uses -fconstant-cfstrings.
 # configure.compiler should therefore not be one of the MacPorts compilers.

Added: trunk/dports/aqua/qt4-mac/files/patch-qt3support-for-cocoa.diff
===================================================================
--- trunk/dports/aqua/qt4-mac/files/patch-qt3support-for-cocoa.diff	                        (rev 0)
+++ trunk/dports/aqua/qt4-mac/files/patch-qt3support-for-cocoa.diff	2009-10-07 15:55:01 UTC (rev 58937)
@@ -0,0 +1,154 @@
+From 106d7a210be1e6d52946b575a262e2c76c5e51e6 Mon Sep 17 00:00:00 2001
+From: Morten Sorvig <msorvig at trolltech.com>
+Date: Thu, 10 Sep 2009 11:53:31 +0200
+Subject: [PATCH] Enable Qt3Support for Qt/Cocoa on Mac OS X.
+
+Qt on Mac OS X should not be the only desktop platform
+without Qt3Support once the Carpon port is dropped. This
+will also make the switch from Carbon to Cocoa-based Qt
+as smooth as possible.
+
+This is a minimal port, with some code removed:
+Q3FileDialog is gone.
+Q3MainWindow won't get the "hide toolbar" button.
+Q3ScrollView might to more updates than structly neccesary.
+
+The rest is there, including the QT3_SUPPORT functions
+in QtCore and QtGui.
+---
+ configure                                   |    1 -
+ src/qt3support/dialogs/q3filedialog.cpp     |    5 ++++-
+ src/qt3support/dialogs/q3filedialog.h       |    4 ++++
+ src/qt3support/dialogs/q3filedialog_mac.cpp |    4 ++++
+ src/qt3support/widgets/q3mainwindow.cpp     |    4 ++--
+ src/qt3support/widgets/q3scrollview.cpp     |    4 ++++
+ 6 files changed, 18 insertions(+), 4 deletions(-)
+
+diff --git configure configure
+index 719db32..43aa739 100755
+--- configure
++++ configure
+@@ -5859,7 +5859,6 @@ case "$PLATFORM,$CFG_MAC_COCOA" in
+     macx*,yes)
+ 	# Cocoa
+ 	QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.5
+-	CFG_QT3SUPPORT="no"
+ 	;;
+     macx*,no)
+ 	# gcc, Carbon
+diff --git src/qt3support/dialogs/q3filedialog.cpp src/qt3support/dialogs/q3filedialog.cpp
+index 66ace5d..c14ff5c 100644
+--- src/qt3support/dialogs/q3filedialog.cpp
++++ src/qt3support/dialogs/q3filedialog.cpp
+@@ -116,6 +116,8 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
++#ifndef QT_MAC_USE_COCOA
++
+ /* XPM */
+ static const char * const start_xpm[]={
+     "16 15 8 1",
+@@ -6051,7 +6053,8 @@ Q3FilePreview::Q3FilePreview()
+   function to provide file previewing.
+ */
+ 
+-
++#endif // QT_MAC_USE_COCOA
++    
+ QT_END_NAMESPACE
+ 
+ #include "moc_q3filedialog.cpp"
+diff --git src/qt3support/dialogs/q3filedialog.h src/qt3support/dialogs/q3filedialog.h
+index f6a7950..8644b4c 100644
+--- src/qt3support/dialogs/q3filedialog.h
++++ src/qt3support/dialogs/q3filedialog.h
+@@ -69,6 +69,8 @@ class QUrlInfo;
+ 
+ #ifndef QT_NO_FILEDIALOG
+ 
++#ifndef QT_MAC_USE_COCOA
++
+ class Q_COMPAT_EXPORT Q3FileIconProvider : public QObject
+ {
+     Q_OBJECT
+@@ -337,6 +339,8 @@ private:
+ #endif
+ };
+ 
++#endif // QT_MAC_USE_COCOA
++
+ #endif // QT_NO_FILEDIALOG
+ 
+ QT_END_NAMESPACE
+diff --git src/qt3support/dialogs/q3filedialog_mac.cpp src/qt3support/dialogs/q3filedialog_mac.cpp
+index a36274d..585fa8f 100644
+--- src/qt3support/dialogs/q3filedialog_mac.cpp
++++ src/qt3support/dialogs/q3filedialog_mac.cpp
+@@ -60,6 +60,8 @@
+ 
+ QT_BEGIN_NAMESPACE
+ 
++#ifndef QT_MAC_USE_COCOA
++
+ /*****************************************************************************
+   Externals
+  *****************************************************************************/
+@@ -564,6 +566,8 @@ QString Q3FileDialog::macGetSaveFileName(const QString &start, const QString &fi
+     return retstr;
+ }
+ 
++#endif // QT_MAC_USE_COCOA
++
+ QT_END_NAMESPACE
+ 
+ #endif
+diff --git src/qt3support/widgets/q3mainwindow.cpp src/qt3support/widgets/q3mainwindow.cpp
+index b7fc486..e02d890 100644
+--- src/qt3support/widgets/q3mainwindow.cpp
++++ src/qt3support/widgets/q3mainwindow.cpp
+@@ -1042,7 +1042,7 @@ void Q3MainWindow::addDockWindow(Q3DockWindow *dockWindow,
+                               Qt::Dock edge, bool newLine)
+ {
+     Q_D(Q3MainWindow);
+-#ifdef Q_WS_MAC
++#if defined (Q_WS_MAC) && !defined(QT_MAC_USE_COCOA)
+     extern WindowPtr qt_mac_window_for(const QWidget*); //qwidget_mac.cpp
+     if(isWindow() && edge == Qt::DockTop) {
+         d->createWinId();
+@@ -1217,7 +1217,7 @@ void Q3MainWindow::removeDockWindow(Q3DockWindow * dockWindow)
+ {
+     Q_D(Q3MainWindow);
+ 
+-#ifdef Q_WS_MAC
++#if defined (Q_WS_MAC) && !defined (QT_MAC_USE_COCOA)
+     extern WindowPtr qt_mac_window_for(const QWidget*); //qwidget_mac.cpp
+     if(isWindow() && dockWindow->area() == topDock() && !dockWindows(Qt::DockTop).count())
+         ChangeWindowAttributes(qt_mac_window_for(this), 0, kWindowToolbarButtonAttribute);
+diff --git src/qt3support/widgets/q3scrollview.cpp src/qt3support/widgets/q3scrollview.cpp
+index 1178047..3be0145 100644
+--- src/qt3support/widgets/q3scrollview.cpp
++++ src/qt3support/widgets/q3scrollview.cpp
+@@ -870,15 +870,19 @@ void Q3ScrollView::updateScrollBars()
+             mac_need_scroll = true;
+         } else {
+             QWidget *tlw = window();
++#ifndef QT_MAC_USE_COCOA
+             QPoint tlw_br = QPoint(tlw->width(), tlw->height()),
+                     my_br = qt_mac_posInWindow(this) + QPoint(w, h);
+             if(my_br.x() >= tlw_br.x() - 3 && my_br.y() >= tlw_br.y() - 3)
++#endif
+                 mac_need_scroll = true;
+         }
+         if(mac_need_scroll) {
++#ifndef QT_MAC_USE_COCOA
+             WindowAttributes attr;
+             GetWindowAttributes((WindowPtr)handle(), &attr);
+             mac_need_scroll = (attr & kWindowResizableAttribute);
++#endif
+         }
+         if(mac_need_scroll) {
+             showc = true;
+-- 
+1.6.1
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20091007/690e7786/attachment-0001.html>


More information about the macports-changes mailing list