diff options
Diffstat (limited to 'x11-libs')
27 files changed, 14 insertions, 3332 deletions
diff --git a/x11-libs/qt/ChangeLog b/x11-libs/qt/ChangeLog index 3bf7996695ac..7c21e669eeac 100644 --- a/x11-libs/qt/ChangeLog +++ b/x11-libs/qt/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for x11-libs/qt # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.152 2004/06/28 19:20:40 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.153 2004/07/09 19:25:07 caleb Exp $ + + 09 Jul 2004; Caleb Tennis <caleb@gentoo.org> qt-3.0.5-r2.ebuild, + qt-3.1.2-r3.ebuild, qt-3.1.2-r4.ebuild, qt-3.3.0-r1.ebuild, + qt-3.3.1-r1.ebuild, qt-3.3.1-r2.ebuild, files/designer.diff, + files/qfontdatabase_x11.diff, files/qsocket-3.1.2.diff, + files/qt-3.1.0-minimized.diff, files/qt-3.1.2-coreutils-fixup.patch, + files/qt-3.1.2-korean-xim.patch, + files/qt-3.1.2-qfont-jp-family-subst-20030421.patch, + files/qt-3.1.2-qlistview-dnd.diff, files/qt-3.1.2-qmlined.diff, + files/qt-3.1.2-qpsprinter-ttc-otf-italic-20030429.patch, + files/qt-3.1.2-r3-qsocket.diff, files/qt-3.1.2-thai-complextext.patch, + files/qt-3.3.1-qclipboard-fix.patch, files/qt-x11-free-3.0.5-ko_input.patch: + Remove old versions and associated files 28 Jun 2004; Aron Griffis <agriffis@gentoo.org> qt-3.0.5-r2.ebuild, qt-3.1.2-r3.ebuild, qt-3.1.2-r4.ebuild, qt-3.3.1-r2.ebuild, qt-3.3.2.ebuild: diff --git a/x11-libs/qt/files/designer.diff b/x11-libs/qt/files/designer.diff deleted file mode 100644 index 96ad6c2802d1..000000000000 --- a/x11-libs/qt/files/designer.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- src/tools/qlibrary_unix.cpp.old 2003-01-28 12:40:51.000000000 +0100 -+++ src/tools/qlibrary_unix.cpp 2003-01-28 12:41:03.000000000 +0100 -@@ -141,13 +141,6 @@ - if ( !pHnd ) - return TRUE; - -- if ( dlclose( pHnd ) ) { --#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT) -- qWarning( "%s", dlerror() ); --#endif -- return FALSE; -- } -- - pHnd = 0; - return TRUE; - } diff --git a/x11-libs/qt/files/digest-qt-3.0.5-r2 b/x11-libs/qt/files/digest-qt-3.0.5-r2 deleted file mode 100644 index 5f44cde264ed..000000000000 --- a/x11-libs/qt/files/digest-qt-3.0.5-r2 +++ /dev/null @@ -1 +0,0 @@ -MD5 98dab506c55e50741e428c4cc43ac828 qt-x11-free-3.0.5.tar.gz 16057928 diff --git a/x11-libs/qt/files/digest-qt-3.1.2-r3 b/x11-libs/qt/files/digest-qt-3.1.2-r3 deleted file mode 100644 index adcf5a71e37e..000000000000 --- a/x11-libs/qt/files/digest-qt-3.1.2-r3 +++ /dev/null @@ -1 +0,0 @@ -MD5 156591717687799c69cf3f8b64a898f2 qt-x11-free-3.1.2.tar.bz2 13358932 diff --git a/x11-libs/qt/files/digest-qt-3.1.2-r4 b/x11-libs/qt/files/digest-qt-3.1.2-r4 deleted file mode 100644 index adcf5a71e37e..000000000000 --- a/x11-libs/qt/files/digest-qt-3.1.2-r4 +++ /dev/null @@ -1 +0,0 @@ -MD5 156591717687799c69cf3f8b64a898f2 qt-x11-free-3.1.2.tar.bz2 13358932 diff --git a/x11-libs/qt/files/digest-qt-3.3.0-r1 b/x11-libs/qt/files/digest-qt-3.3.0-r1 deleted file mode 100644 index b19f8ee750bc..000000000000 --- a/x11-libs/qt/files/digest-qt-3.3.0-r1 +++ /dev/null @@ -1 +0,0 @@ -MD5 7c628647126bb7bd957417f530ab04d4 qt-x11-free-3.3.0.tar.bz2 14401807 diff --git a/x11-libs/qt/files/digest-qt-3.3.1-r1 b/x11-libs/qt/files/digest-qt-3.3.1-r1 deleted file mode 100644 index 68146f1a0e7f..000000000000 --- a/x11-libs/qt/files/digest-qt-3.3.1-r1 +++ /dev/null @@ -1 +0,0 @@ -MD5 4e599bedfcb3fe389bc7ec921c476432 qt-x11-free-3.3.1.tar.bz2 14397600 diff --git a/x11-libs/qt/files/digest-qt-3.3.1-r2 b/x11-libs/qt/files/digest-qt-3.3.1-r2 deleted file mode 100644 index 68146f1a0e7f..000000000000 --- a/x11-libs/qt/files/digest-qt-3.3.1-r2 +++ /dev/null @@ -1 +0,0 @@ -MD5 4e599bedfcb3fe389bc7ec921c476432 qt-x11-free-3.3.1.tar.bz2 14397600 diff --git a/x11-libs/qt/files/qfontdatabase_x11.diff b/x11-libs/qt/files/qfontdatabase_x11.diff deleted file mode 100644 index 6a19825d2a5a..000000000000 --- a/x11-libs/qt/files/qfontdatabase_x11.diff +++ /dev/null @@ -1,27 +0,0 @@ ---- src/kernel/qfontdatabsae_x11.cpp.orig 2004-03-04 17:53:01.000000000 +0100 -+++ src/kernel/qfontdatabase_x11.cpp 2004-03-04 17:47:59.000000000 +0100 -@@ -1508,6 +1516,24 @@ - XftResult res; - XftPattern *result = - XftFontMatch( QPaintDevice::x11AppDisplay(), fp->screen, pattern, &res ); -+#ifdef QT_XFT2 -+ if (script == QFont::Latin) { -+ // since we added the Euro char on top, check we actually got the family -+ // we requested. If we didn't get it correctly, remove the Euro from the pattern -+ // and try again. -+ FcChar8 *f; -+ res = FcPatternGetString(result, FC_FAMILY, 0, &f); -+ if (res == FcResultMatch && QString::fromUtf8((char *)f) != family->rawName) { -+ qDebug("trying without Euro"); -+ FcPatternDel(pattern, FC_CHARSET); -+ FcCharSet *cs = FcCharSetCreate(); -+ QChar sample = sampleCharacter(script); -+ FcCharSetAddChar(cs, sample.unicode()); -+ FcPatternAddCharSet(pattern, FC_CHARSET, cs); -+ result = XftFontMatch( QPaintDevice::x11AppDisplay(), fp->screen, pattern, &res ); -+ } -+ } -+#endif - XftPatternDestroy(pattern); - - // We pass a duplicate to XftFontOpenPattern because either xft font diff --git a/x11-libs/qt/files/qsocket-3.1.2.diff b/x11-libs/qt/files/qsocket-3.1.2.diff deleted file mode 100644 index a255a637c85e..000000000000 --- a/x11-libs/qt/files/qsocket-3.1.2.diff +++ /dev/null @@ -1,121 +0,0 @@ ---- src/network/qsocket.cpp.orig 2003-02-24 09:30:06.000000000 +0100 -+++ src/network/qsocket.cpp 2002-12-09 10:40:38.000000000 +0100 -@@ -112,9 +112,7 @@ - public: - QSocketPrivate(); - ~QSocketPrivate(); -- void closeSocket(); - void close(); -- void connectionClosed(); - - QSocket::State state; // connection state - QString host; // host name -@@ -153,7 +151,7 @@ - #endif - } - --void QSocketPrivate::closeSocket() -+void QSocketPrivate::close() - { - // Order is important here - the socket notifiers must go away - // before the socket does, otherwise libc or the kernel will -@@ -163,25 +161,11 @@ - delete wsn; - wsn = 0; - socket->close(); --} -- --void QSocketPrivate::close() --{ -- closeSocket(); - rsize = wsize = 0; - rba.clear(); wba.clear(); - rindex = windex = 0; - } - --void QSocketPrivate::connectionClosed() --{ -- // We keep the open state in case there's unread incoming data -- state = QSocket::Idle; -- closeSocket(); -- wba.clear(); -- windex = wsize = 0; --} -- - /*! - \class QSocket qsocket.h - \brief The QSocket class provides a buffered TCP connection. -@@ -591,7 +575,7 @@ - } - setFlags( IO_Sequential ); - setStatus( IO_Ok ); -- d->close(); -+ d->close(); - d->state = Idle; - } - -@@ -1201,7 +1185,15 @@ - #if defined(QSOCKET_DEBUG) - qDebug( "QSocket (%s): sn_read: Connection closed", name() ); - #endif -- d->connectionClosed(); -+ // We keep the open state in case there's unread incoming data -+ d->state = Idle; -+ if ( d->rsn ) -+ d->rsn->setEnabled( FALSE ); -+ if ( d->wsn ) -+ d->wsn->setEnabled( FALSE ); -+ d->socket->close(); -+ d->wba.clear(); // clear write buffer -+ d->windex = d->wsize = 0; - emit connectionClosed(); - QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); - return; -@@ -1215,7 +1207,7 @@ - #if defined(QSOCKET_DEBUG) - qWarning( "QSocket::sn_read (%s): Close error", name() ); - #endif -- if ( d->rsn ) -+ if (d->rsn) - d->rsn->setEnabled( FALSE ); - emit error( ErrSocketRead ); - QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); -@@ -1242,13 +1234,7 @@ - memcpy(a->data(),buf,nread); - } - } -- if ( nread == 0 ) { --#if defined(QSOCKET_DEBUG) -- qDebug( "QSocket (%s): sn_read: Connection closed", name() ); --#endif -- d->connectionClosed(); -- emit connectionClosed(); -- } else if ( nread < 0 ) { -+ if ( nread <= 0 ) { - if ( d->socket->error() == QSocketDevice::NoError ) { - // all is fine - QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); -@@ -1258,7 +1244,7 @@ - qWarning( "QSocket::sn_read: Read error" ); - #endif - delete a; -- if ( d->rsn ) -+ if (d->rsn) - d->rsn->setEnabled( FALSE ); - emit error( ErrSocketRead ); - QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); -@@ -1273,13 +1259,8 @@ - } - d->rba.append( a ); - d->rsize += nread; -- if ( !force ) { -- if ( d->rsn ) -- d->rsn->setEnabled( FALSE ); -+ if ( !force ) - emit readyRead(); -- if ( d->rsn ) -- d->rsn->setEnabled( TRUE ); -- } - - QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); - } diff --git a/x11-libs/qt/files/qt-3.1.0-minimized.diff b/x11-libs/qt/files/qt-3.1.0-minimized.diff deleted file mode 100644 index 921b9dce8db3..000000000000 --- a/x11-libs/qt/files/qt-3.1.0-minimized.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- src/kernel/qwidget_x11.cpp.orig 2002-11-15 15:00:51.000000000 +0100 -+++ src/kernel/qwidget_x11.cpp 2002-11-15 15:01:07.000000000 +0100 -@@ -1561,7 +1561,6 @@ - else { - topData()->showMode = 1; - show(); -- hideChildren( FALSE ); - } - } else { - show(); diff --git a/x11-libs/qt/files/qt-3.1.2-coreutils-fixup.patch b/x11-libs/qt/files/qt-3.1.2-coreutils-fixup.patch deleted file mode 100644 index 1b6994361b15..000000000000 --- a/x11-libs/qt/files/qt-3.1.2-coreutils-fixup.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -urN qt-x11-free-3.1.2/config.tests/x11/xfreetype.test qt-x11-free-3.1.2.coreutils/config.tests/x11/xfreetype.test ---- qt-x11-free-3.1.2/config.tests/x11/xfreetype.test 2002-12-24 10:11:13.000000000 +0200 -+++ qt-x11-free-3.1.2.coreutils/config.tests/x11/xfreetype.test 2003-07-21 22:33:09.000000000 +0200 -@@ -84,8 +84,8 @@ - - # detect major version of Xft - if [ "$XFT" = "yes" ]; then -- XFT_MAJOR=`grep XFT_MAJOR $XFT_H | head -1 | awk '{ print \$3 }'` -- XFT_MINOR=`grep XFT_MINOR $XFT_H | head -1 | awk '{ print \$3 }'` -+ XFT_MAJOR=`grep XFT_MAJOR $XFT_H | head -n 1 | awk '{ print \$3 }'` -+ XFT_MINOR=`grep XFT_MINOR $XFT_H | head -n 1 | awk '{ print \$3 }'` - [ "$VERBOSE" = "yes" ] && echo " Found Xft version $XFT_MAJOR.$XFT_MINOR" - if [ "$XFT_MAJOR" = "2" ]; then - XFT2=yes -diff -urN qt-x11-free-3.1.2/src/3rdparty/libmng/aclocal.m4 qt-x11-free-3.1.2.coreutils/src/3rdparty/libmng/aclocal.m4 ---- qt-x11-free-3.1.2/src/3rdparty/libmng/aclocal.m4 2002-11-07 17:55:25.000000000 +0200 -+++ qt-x11-free-3.1.2.coreutils/src/3rdparty/libmng/aclocal.m4 2003-07-21 22:33:09.000000000 +0200 -@@ -1607,7 +1607,7 @@ - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is. - # If DATA tags from a recent dlltool are present, honour them! -- archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then -+ archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname-def; - else - echo EXPORTS > $output_objdir/$soname-def; -@@ -3546,7 +3546,7 @@ - lt_cv_file_magic_cmd='/usr/bin/file -L' - case "$host_os" in - rhapsody* | darwin1.[[012]]) -- lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` -+ lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -n 1` - ;; - *) # Darwin 1.3 on - lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' -diff -urN qt-x11-free-3.1.2/src/3rdparty/libmng/config.guess qt-x11-free-3.1.2.coreutils/src/3rdparty/libmng/config.guess ---- qt-x11-free-3.1.2/src/3rdparty/libmng/config.guess 2002-11-07 17:55:25.000000000 +0200 -+++ qt-x11-free-3.1.2.coreutils/src/3rdparty/libmng/config.guess 2003-07-21 22:33:09.000000000 +0200 -@@ -319,7 +319,7 @@ - echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; - sun*:*:4.2BSD:*) -- UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` -+ UNAME_RELEASE=`(head -n 1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) -@@ -506,7 +506,7 @@ - fi - exit 0 ;; - *:AIX:*:[45]) -- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` -+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -n 1 | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else -diff -urN qt-x11-free-3.1.2/src/3rdparty/libmng/configure qt-x11-free-3.1.2.coreutils/src/3rdparty/libmng/configure ---- qt-x11-free-3.1.2/src/3rdparty/libmng/configure 2002-11-07 17:55:25.000000000 +0200 -+++ qt-x11-free-3.1.2.coreutils/src/3rdparty/libmng/configure 2003-07-21 22:33:09.000000000 +0200 -@@ -1956,7 +1956,7 @@ - lt_cv_file_magic_cmd='/usr/bin/file -L' - case "$host_os" in - rhapsody* | darwin1.[012]) -- lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` -+ lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -n 1` - ;; - *) # Darwin 1.3 on - lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' -@@ -3433,7 +3433,7 @@ - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is. - # If DATA tags from a recent dlltool are present, honour them! -- archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then -+ archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname-def; - else - echo EXPORTS > $output_objdir/$soname-def; diff --git a/x11-libs/qt/files/qt-3.1.2-korean-xim.patch b/x11-libs/qt/files/qt-3.1.2-korean-xim.patch deleted file mode 100644 index 601039f000b9..000000000000 --- a/x11-libs/qt/files/qt-3.1.2-korean-xim.patch +++ /dev/null @@ -1,114 +0,0 @@ -diff -uNr qt-x11-free-3.1.2.orig/src/kernel/qapplication_x11.cpp qt-x11-free-3.1.2/src/kernel/qapplication_x11.cpp ---- qt-x11-free-3.1.2.orig/src/kernel/qapplication_x11.cpp 2003-02-24 08:30:07.000000000 +0000 -+++ qt-x11-free-3.1.2/src/kernel/qapplication_x11.cpp 2003-06-11 11:12:48.000000000 +0100 -@@ -3135,7 +3135,7 @@ - if ( inPopupMode() ) // no focus widget, see if we have a popup - keywidget = (QETWidget*) activePopupWidget(); - else if ( widget ) -- keywidget = (QETWidget*)widget->topLevelWidget(); -+ keywidget = widget->focusWidget()?(QETWidget*)widget->focusWidget():widget; - } - } - } -@@ -3166,11 +3166,12 @@ - if ( inPopupMode() ) // no focus widget, see if we have a popup - keywidget = (QETWidget*) activePopupWidget(); - else if ( widget ) -- keywidget = (QETWidget*)widget->topLevelWidget(); -+ keywidget = widget->focusWidget()?(QETWidget*)widget->focusWidget():widget; - } - } - } - -+#if 0 - /* - if the composition string has been emptied, we need to send - an IMEnd event. however, we have no way to tell if the user -@@ -3208,6 +3209,7 @@ - - qt_compose_emptied = FALSE; - } -+#endif // remove - #endif // QT_NO_XIM - - return 1; -@@ -3454,6 +3456,7 @@ - case XKeyRelease: - { - if ( keywidget && keywidget->isEnabled() ) { // should always exist -+#if 0 - #ifndef QT_NO_XIM - if ( (qt_xim_style & XIMPreeditCallbacks) && event->xkey.keycode == 0 ) { - // input method has sent us a commit string -@@ -3481,6 +3484,7 @@ - } - } else - #endif // !QT_NO_XIM -+#endif // remove - { - // qDebug( "sending key event" ); - keywidget->translateKeyEvent( event, grabbed ); -@@ -4913,6 +4917,12 @@ - if ( qic ) { - mb=TRUE; - count = qic->lookupString(&xkeyevent, chars, &key, &status); -+ if ( qic->composing && qic->focusWidget ) { -+ QIMEvent event(QEvent::IMEnd, QString::null, -1); -+ QApplication::sendEvent(qic->focusWidget, &event); -+ qic->composing = FALSE; -+ qic->focusWidget = 0; -+ } - } - } - if ( !mb ) { -diff -uNr qt-x11-free-3.1.2.orig/src/kernel/qfont_x11.cpp qt-x11-free-3.1.2/src/kernel/qfont_x11.cpp ---- qt-x11-free-3.1.2.orig/src/kernel/qfont_x11.cpp 2003-02-24 08:30:15.000000000 +0000 -+++ qt-x11-free-3.1.2/src/kernel/qfont_x11.cpp 2003-06-11 11:17:51.000000000 +0100 -@@ -1557,7 +1557,8 @@ - *scale = 1.; - } - -- mono_value = request.fixedPitch ? XFT_MONO : XFT_PROPORTIONAL; -+ mono_value = !request.fixedPitch || familyName == "monospace" || familyName == "gulimche" -+ ? XFT_PROPORTIONAL : XFT_MONO; - - switch (request.styleHint) { - case QFont::SansSerif: -@@ -1569,7 +1570,7 @@ - break; - case QFont::TypeWriter: - generic_value = "mono"; -- mono_value = XFT_MONO; -+ mono_value = XFT_PROPORTIONAL; - break; - } - -diff -uNr qt-x11-free-3.1.2.orig/src/kernel/qinputcontext_x11.cpp qt-x11-free-3.1.2/src/kernel/qinputcontext_x11.cpp ---- qt-x11-free-3.1.2.orig/src/kernel/qinputcontext_x11.cpp 2003-02-24 08:30:17.000000000 +0000 -+++ qt-x11-free-3.1.2/src/kernel/qinputcontext_x11.cpp 2003-06-11 11:12:48.000000000 +0100 -@@ -154,6 +154,13 @@ - } - } - -+ if (! qic->composing ) { -+ qic->composing = TRUE; -+ qic->focusWidget = qApp->focusWidget(); -+ QIMEvent startevent(QEvent::IMStart, QString::null, -1); -+ QApplication::sendEvent(qic->focusWidget, &startevent); -+ } -+ - if (! qic->composing || ! qic->focusWidget) { - // qDebug("compose event: invalid compose event %d %p", - // qic->composing, qic->focusWidget); -diff -uNr qt-x11-free-3.1.2.orig/src/kernel/qrichtext.cpp qt-x11-free-3.1.2/src/kernel/qrichtext.cpp ---- qt-x11-free-3.1.2.orig/src/kernel/qrichtext.cpp 2003-02-24 08:30:11.000000000 +0000 -+++ qt-x11-free-3.1.2/src/kernel/qrichtext.cpp 2003-06-11 11:12:56.000000000 +0100 -@@ -4645,7 +4645,7 @@ - color.setHsv( h1, s1, ( v1 + v2 ) / 2 ); - painter.setPen( cg.color( QColorGroup::Text ) ); - } else if ( selection == QTextDocument::IMSelectionText ) { -- color = cg.color( QColorGroup::Foreground ); -+ color = cg.color( QColorGroup::Highlight ); - painter.setPen( cg.color( QColorGroup::HighlightedText ) ); - } else if ( !hasdoc || document()->invertSelectionText( selection ) ) { - painter.setPen( cg.color( QColorGroup::HighlightedText ) ); diff --git a/x11-libs/qt/files/qt-3.1.2-qfont-jp-family-subst-20030421.patch b/x11-libs/qt/files/qt-3.1.2-qfont-jp-family-subst-20030421.patch deleted file mode 100644 index ddd1d1133b1e..000000000000 --- a/x11-libs/qt/files/qt-3.1.2-qfont-jp-family-subst-20030421.patch +++ /dev/null @@ -1,692 +0,0 @@ -diff -u qt-x11-free-3.1.2/src-orig/kernel/qapplication_x11.cpp qt-x11-free-3.1.2/src/kernel/qapplication_x11.cpp ---- qt-x11-free-3.1.2/src-orig/kernel/qapplication_x11.cpp Sat Mar 8 20:37:50 2003 -+++ qt-x11-free-3.1.2/src/kernel/qapplication_x11.cpp Mon Apr 21 21:28:22 2003 -@@ -979,7 +979,7 @@ - QString fam, skey; - QStringList::Iterator it = fontsubs.begin(); - while (it != fontsubs.end()) { -- fam = (*it++).latin1(); -+ fam = *it++; - skey = "/qt/Font Substitutions/" + fam; - subs = settings.readListEntry(skey); - QFont::insertSubstitutions(fam, subs); -@@ -1007,7 +1007,10 @@ - xftDone = TRUE; - qt_has_xft = FALSE; - qt_use_antialiasing = FALSE; -- if (qt_use_xrender && -+ if ( -+#ifndef QT_XFT2 -+ qt_use_xrender && -+#endif // QT_XFT2 - XftInit(0) && XftInitFtLibrary()) { - qt_has_xft = settings.readBoolEntry( "/qt/enableXft", TRUE ); - qt_use_antialiasing = settings.readBoolEntry( "/qt/useXft", TRUE ); -diff -u qt-x11-free-3.1.2/src-orig/kernel/qfont.cpp qt-x11-free-3.1.2/src/kernel/qfont.cpp ---- qt-x11-free-3.1.2/src-orig/kernel/qfont.cpp Mon Feb 24 17:30:09 2003 -+++ qt-x11-free-3.1.2/src/kernel/qfont.cpp Thu Apr 17 22:51:07 2003 -@@ -2951,8 +2951,13 @@ - #endif //Q_WS_QWS - - #ifdef Q_WS_X11 -+static QFont::Script x11ProperScript( QFontPrivate *priv, const QChar &c ); -+ - #define SCRIPT_FOR_CHAR( script, c, priv ) \ - do { \ -+ script = x11ProperScript( priv, c ); \ -+ if ( script != QFont::UnknownScript ) \ -+ break; \ - unsigned short _uc = (c).unicode(); \ - if ( _uc < 0x100 ) { \ - script = QFont::LatinBasic; \ -diff -u qt-x11-free-3.1.2/src-orig/kernel/qfont_x11.cpp qt-x11-free-3.1.2/src/kernel/qfont_x11.cpp ---- qt-x11-free-3.1.2/src-orig/kernel/qfont_x11.cpp Mon Feb 24 17:30:15 2003 -+++ qt-x11-free-3.1.2/src/kernel/qfont_x11.cpp Mon Apr 21 21:27:06 2003 -@@ -1199,7 +1199,7 @@ - } else { - overall->ascent = QMAX(overall->ascent, xgi->y*scale); - overall->descent = QMAX(overall->descent, (xgi->height - xgi->y)*scale); -- overall->lbearing = QMIN(overall->lbearing, -xgi->x*scale); -+ overall->lbearing = QMIN(overall->lbearing, overall->width - xgi->x*scale); - overall->rbearing = QMAX(overall->rbearing, overall->width + - (xgi->width - xgi->x)*scale); - overall->width += xgi->xOff; -@@ -1417,22 +1417,47 @@ - - #ifndef QT_NO_XFTFREETYPE - --static XftPattern *checkXftFont( XftPattern *match, const QString &familyName, const QChar &sample ) -+static XftPattern *checkXftFont( XftPattern *match, -+ const QString &familyName, const QString &foundryName, -+ const QChar &sample, const QChar *sample2 = 0 ) - { --#ifndef QT_XFT2 -- char * family_value; -- XftPatternGetString (match, XFT_FAMILY, 0, &family_value); -- QString fam = family_value; -- //qDebug("got family %s for request %s", fam.latin1(), familyName.latin1() ); -+ bool mismatch = TRUE; -+ if ( familyName.isEmpty() ) -+ mismatch = FALSE; -+ else -+ { -+ char * family_value; -+ XftPatternGetString (match, XFT_FAMILY, 0, &family_value); -+ QString fam = QString::fromUtf8( family_value ).lower(); -+ //qDebug("got family %s foundry %s for request %s / %s", -+ // fam.local8Bit().data(), fnd.latin1(), -+ // familyName.local8Bit().data(), foundryName.latin1() ); -+ -+ if ( !foundryName.isNull() ) { -+ char * foundry_value; -+ QString fnd = QString::null; -+ if ( XftPatternGetString( match, XFT_FOUNDRY, -+ 0, &foundry_value ) == XftResultMatch ) -+ fnd = QString( foundry_value ).lower(); -+ -+ if ( fnd == foundryName.lower() && fam == familyName.lower() ) { -+ mismatch = FALSE; -+ } else { -+ QString fullName = foundryName + "-" + familyName; -+ -+ if ( fam == fullName.lower() ) -+ mismatch = FALSE; -+ } -+ } -+ else if ( fam == familyName.lower() ) -+ mismatch = FALSE; -+ } - -- if ( fam.lower() != familyName.lower() ) { -+ if ( mismatch ) { - //qDebug("pattern don't match"); - XftPatternDestroy(match); - match = 0; - } --#else -- Q_UNUSED( familyName ); --#endif - - if (match && sample.unicode() != 0 ) { - // check if the character is actually in the font - this does result in -@@ -1441,7 +1466,8 @@ - #ifdef QT_XFT2 - FcCharSet *c; - if (FcPatternGetCharSet(match, FC_CHARSET, 0, &c) == FcResultMatch) { -- if (!FcCharSetHasChar(c, sample.unicode())) { -+ if (!FcCharSetHasChar(c, sample.unicode()) && -+ (!sample2 || !FcCharSetHasChar(c, sample2->unicode()))) { - XftPatternDestroy(match); - match = 0; - } -@@ -1452,8 +1478,11 @@ - if (xftfs) { - if ( ! XftFreeTypeGlyphExists(QPaintDevice::x11AppDisplay(), xftfs, - sample.unicode())) { -- XftPatternDestroy(match); -- match = 0; -+ if (!sample2 || !XftFreeTypeGlyphExists(QPaintDevice::x11AppDisplay(), -+ xftfs, sample2->unicode())) { -+ XftPatternDestroy(match); -+ match = 0; -+ } - } - - XftFreeTypeClose(QPaintDevice::x11AppDisplay(), xftfs); -@@ -1468,17 +1497,28 @@ - // be found - XftPattern *QFontPrivate::findXftFont(const QChar &sample, bool *exact, double *scale) const - { -+ return findXftFont(sample, exact, scale, 0, FALSE); -+} -+ -+XftPattern *QFontPrivate::findXftFont(const QChar &sample, bool *exact, double *scale, -+ const QChar *sample2, bool onlySubst) const -+{ - // look for foundry/family - QString familyName; - QString foundryName; - -- QFontDatabase::parseFontName(request.family, foundryName, familyName); -- XftPattern *match = bestXftPattern(familyName, foundryName, sample, scale); -+ QChar ch(0); - -- if ( match ) -- match = checkXftFont( match, familyName, sample ); -+ XftPattern *match = 0; -+ if (!onlySubst) { -+ QFontDatabase::parseFontName(request.family, foundryName, familyName); -+ match = bestXftPattern(familyName, foundryName, ch, scale); - -- *exact = TRUE; -+ if ( match ) -+ match = checkXftFont( match, familyName, foundryName, sample, sample2 ); -+ -+ *exact = TRUE; -+ } - - if (match) - return match; -@@ -1494,13 +1534,24 @@ - - if (request.family != familyName) { - QFontDatabase::parseFontName(familyName, foundryName, familyName); -- match = bestXftPattern(familyName, foundryName, sample, scale); -+ match = bestXftPattern(familyName, foundryName, ch, scale); - - if ( match ) -- match = checkXftFont( match, familyName, sample ); -+ match = checkXftFont( match, familyName, foundryName, sample, sample2 ); - } - } - -+ if (match) -+ return match; -+ -+ if (!onlySubst) { -+ QFontDatabase::parseFontName(request.family, foundryName, familyName); -+ match = bestXftPattern(familyName, foundryName, sample, scale); -+ -+ if ( match ) -+ match = checkXftFont( match, QString::null, QString::null, sample, sample2 ); -+ } -+ - return match; - } - -@@ -1575,6 +1626,8 @@ - - XftResult res; - XftPattern *pattern = 0, *result = 0; -+ bool hasFoundry = ( !foundryName.isNull() && foundryName.lower() != "xft" ); -+ QString fullName = foundryName + "-" + familyName; - - pattern = XftPatternCreate(); - if ( ! pattern ) return 0; -@@ -1582,10 +1635,12 @@ - #ifndef QT_XFT2 - XftPatternAddString (pattern, XFT_ENCODING, "iso10646-1"); - #endif -- if (! foundryName.isNull()) -+ if ( hasFoundry ) - XftPatternAddString (pattern, XFT_FOUNDRY, foundryName.latin1()); - if (! familyName.isNull()) -- XftPatternAddString (pattern, XFT_FAMILY, familyName.latin1()); -+ XftPatternAddString (pattern, XFT_FAMILY, familyName.utf8().data()); -+ if ( hasFoundry && !familyName.isNull() ) -+ XftPatternAddString( pattern, XFT_FAMILY, fullName.utf8().data() ); - XftPatternAddString (pattern, XFT_FAMILY, generic_value.data()); - - if (mono_value >= XFT_MONO) -@@ -1618,6 +1673,32 @@ - - result = XftFontMatch(QPaintDevice::x11AppDisplay(), - x11Screen, pattern, &res); -+ -+#ifdef QT_XFT2 -+ if ( result && hasFoundry ) { -+ char *family_value; -+ XftPatternGetString( result, XFT_FAMILY, 0, &family_value ); -+ QString fam = QString::fromUtf8( family_value ).lower(); -+ -+ if ( fam != familyName.lower() && fam != fullName.lower() ) { -+ XftPatternDel( pattern, XFT_FOUNDRY ); -+ XftPattern *result2 = XftFontMatch(QPaintDevice::x11AppDisplay(), -+ x11Screen, pattern, &res); -+ if ( result2 ) { -+ XftPatternGetString( result2, XFT_FAMILY, 0, &family_value ); -+ fam = QString::fromUtf8( family_value ).lower(); -+ -+ if ( fam == familyName.lower() || fam == fullName.lower() ) { -+ XftPatternDestroy( result ); -+ result = result2; -+ } else { -+ XftPatternDestroy( result2 ); -+ } -+ } -+ } -+ } -+#endif -+ - XftPatternDestroy(pattern); - - return result; -@@ -1646,6 +1727,7 @@ - { - *scale = 1.; - QString familyName = request.family; -+ bool need_exact = *exact; - - // assume exact match - *exact = TRUE; -@@ -1686,7 +1768,7 @@ - if ( score < exactScore ) - *exact = FALSE; - -- if (! bestName.isNull()) -+ if (! bestName.isNull() || need_exact) - return bestName; - - // try substitution -@@ -2221,7 +2303,7 @@ - else - weight_value = QFont::Normal; - -- actual.family = family_value; -+ actual.family = QString::fromUtf8(family_value); - actual.weight = weight_value; - actual.italic = (slant_value != XFT_SLANT_ROMAN); - actual.fixedPitch = (spacing_value >= XFT_MONO); -@@ -2339,6 +2421,39 @@ - return QFont::Han; - } - -+static QFont::Script x11ProperScript( QFontPrivate *priv, const QChar &c ) -+{ -+ if ( QFontPrivate::defaultScript == QFont::UnknownScript ) -+ return QFont::UnknownScript; -+ -+ priv->load( QFontPrivate::defaultScript ); -+ -+#ifndef QT_NO_XFTFREETYPE -+ QFontStruct *qfs = priv->x11data.fontstruct[QFont::Unicode]; -+ if ( qfs && qfs != (QFontStruct *) -1 ) { -+ if ( qfs->xfthandle ) { -+ if ( XftGlyphExists(QPaintDevice::x11AppDisplay(), -+ (XftFont *) qfs->xfthandle, c.unicode()) ) -+ return QFont::Unicode; -+ else -+ return QFont::UnknownScript; -+ } -+ } -+#endif // QT_NO_XFTFREETYPE -+ -+ qfs = priv->x11data.fontstruct[QFontPrivate::defaultScript]; -+ if ( qfs != (QFontStruct *) -1 ) { -+ Q_ASSERT( qfs != 0 ); -+ if ( !qfs->xfthandle && qfs->codec && qfs->codec->canEncode ( c ) ) { -+ XCharStruct *xcs = getCharStruct(qfs, QString(c), 0); -+ if ( ! charNonExistent(xcs) ) -+ return QFontPrivate::defaultScript; -+ } -+ } -+ -+ return QFont::UnknownScript; -+} -+ - - // Loads the font for the specified script - static inline int maxIndex(XFontStruct *f) { -@@ -2348,13 +2463,13 @@ - } - - // returns a sample unicode character for the specified script --static QChar sampleCharacter(QFont::Script script) -+static QChar sampleCharacter(QFont::Script script, QChar& sample2) - { -- ushort ch; -+ ushort ch, ch2 = 0; - - switch (script) { - case QFont::Latin: ch = 0x0030; break; -- case QFont::Greek: ch = 0x0390; break; -+ case QFont::Greek: ch = 0x0390; ch2 = 0x0391; break; - case QFont::Cyrillic: ch = 0x0410; break; - case QFont::Armenian: ch = 0x0540; break; - case QFont::Georgian: ch = 0x10a0; break; -@@ -2396,12 +2511,12 @@ - case QFont::Mongolian: ch = 0x1800; break; - - case QFont::CurrencySymbols: ch = 0x20aa; break; -- case QFont::LetterlikeSymbols: ch = 0x2122; break; -- case QFont::NumberForms: ch = 0x215b; break; -+ case QFont::LetterlikeSymbols: ch = 0x2122; ch2 = 0x2116; break; -+ case QFont::NumberForms: ch = 0x215b; ch2 = 0x2160; break; - case QFont::MathematicalOperators: ch = 0x222b; break; -- case QFont::TechnicalSymbols: ch = 0x2440; break; -+ case QFont::TechnicalSymbols: ch = 0x2440; ch2 = 0x2312; break; - case QFont::GeometricSymbols: ch = 0x2500; break; -- case QFont::MiscellaneousSymbols: ch = 0x2600; break; -+ case QFont::MiscellaneousSymbols: ch = 0x2600; ch2 = 0x2640; break; - case QFont::EnclosedAndSquare: ch = 0x2460; break; - case QFont::Braille: ch = 0x2800; break; - -@@ -2411,16 +2526,26 @@ - case QFont::LatinExtendedA_14: ch = 0x0174; break; - case QFont::LatinExtendedA_15: ch = 0x0152; break; - -+ case QFont::KatakanaHalfWidth: ch = 0xff71; break; -+ -+ - default: - ch = 0; - } - -+ sample2.unicode() = ch2; -+ - return QChar(ch); - } - - - bool QFontPrivate::loadUnicode(QFont::Script script, const QChar &sample) - { -+ return loadUnicode(script, sample, 0); -+} -+ -+bool QFontPrivate::loadUnicode(QFont::Script script, const QChar &sample, const QChar* sample2) -+{ - bool hasChar = FALSE; - QFontStruct *qfs = x11data.fontstruct[QFont::Unicode]; - -@@ -2471,6 +2596,10 @@ - hasChar = XftGlyphExists(QPaintDevice::x11AppDisplay(), - (XftFont *) qfs->xfthandle, - sample.unicode()); -+ if (!hasChar && sample2) -+ hasChar = XftGlyphExists(QPaintDevice::x11AppDisplay(), -+ (XftFont *) qfs->xfthandle, -+ sample2->unicode()); - } - #endif // QT_NO_XFTFREETYPE - -@@ -2494,6 +2623,11 @@ - - void QFontPrivate::load(QFont::Script script, bool tryUnicode) - { -+ load(script, tryUnicode, FALSE); -+} -+ -+void QFontPrivate::load(QFont::Script script, bool tryUnicode, bool onlySubstXft) -+{ - // Make sure fontCache is initialized - if (! fontCache) { - #ifdef QT_CHECK_STATE -@@ -2537,12 +2671,31 @@ - actual.dirty = TRUE; - } - -- QChar sample = sampleCharacter(script); -+ QChar sample2; -+ QChar sample = sampleCharacter(script, sample2); - // look for a unicode font first, and see if it has the script that we want... -- if (tryUnicode && loadUnicode(script, sample)) { -+ if (tryUnicode && !onlySubstXft && -+ loadUnicode(script, sample, (sample2.unicode() != 0)? &sample2 : 0)) { - request.dirty = FALSE; -+ if (script != QFont::Unicode && script != defaultScript) { -+ QFontStruct *qfs_uni = x11data.fontstruct[script]; -+ x11data.fontstruct[script] = 0; -+ load(script, FALSE, TRUE); -+ QFontStruct *qfs = x11data.fontstruct[script]; -+ if (qfs && qfs != (QFontStruct *) -1) -+ qfs_uni->deref(); -+ else -+ x11data.fontstruct[script] = qfs_uni; -+ } - return; - } -+ else if (tryUnicode && !onlySubstXft && script != QFont::Unicode && script != defaultScript) { -+ QFontStruct *qfs = x11data.fontstruct[QFont::Unicode]; -+ if (qfs && qfs != (QFontStruct *) -1) { -+ load(script, FALSE, TRUE); -+ return; -+ } -+ } - - QFontStruct *qfs = 0; - QCString fontname; -@@ -2568,7 +2721,7 @@ - // if we don't find the name in the dict, we need to find a font name - - #ifdef QFONTLOADER_DEBUG_VERBOSE -- qDebug("QFontLoader: getting font name for family %s", request.family.latin1()); -+ qDebug("QFontLoader: getting font name for family %s", request.family.local8Bit().data()); - #endif - - QString name; -@@ -2578,16 +2731,26 @@ - #ifndef QT_NO_XFTFREETYPE - if (qt_has_xft && ! (request.styleStrategy & QFont::PreferBitmap) && - ! request.rawMode ) { -- xftmatch = findXftFont(sample, &match, &scale); -+ xftmatch = findXftFont(sample, &match, &scale, -+ (sample2.unicode() != 0)? &sample2 : 0, onlySubstXft); - - if (xftmatch) { -- use_core = FALSE; -+ if (match) -+ use_core = FALSE; -+ -+ XftPattern *pat = XftPatternDuplicate(xftmatch); -+#ifdef QT_XFT2 -+ XftPatternDel(pat, FC_CHARSET); -+ XftPatternDel(pat, FC_LANG); -+ XftPatternDel(pat, FC_MATRIX); -+#endif - - char fn[1024]; -- XftNameUnparse(xftmatch, fn, sizeof(fn)); -+ XftNameUnparse(pat, fn, sizeof(fn)); -+ XftPatternDestroy(pat); - fn[1023] = '\0'; // just in case - -- name = fn; -+ name = QString::fromUtf8(fn); - } - } - #endif // QT_NO_XFTFREETYPE -@@ -2602,7 +2765,18 @@ - else if ( script != QFontPrivate::defaultScript ) - name = QString::null; - } else { -- name = findFont(script, &match, &scale); -+ match = (xftmatch && script != QFont::Unicode); -+ QString xlfdname = findFont(script, &match, &scale); -+ // Select xft font if not exact match -+ if (!match && xftmatch && script != QFont::Unicode) { -+ match = TRUE; -+ use_core = FALSE; -+ } else { -+ if (xftmatch) -+ XftPatternDestroy(xftmatch); -+ xftmatch = 0; -+ name = xlfdname; -+ } - } - } - -@@ -2617,12 +2791,12 @@ - } - - #ifdef QFONTLOADER_DEBUG_VERBOSE -- qDebug("QFontLoader: putting '%s' (%d) into name dict", name.latin1(), -+ qDebug("QFontLoader: putting '%s' (%d) into name dict", name.data(), - name.length()); - #endif - - // Put font name into fontNameDict -- qxfn = new QXFontName(name.latin1(), match, use_core); -+ qxfn = new QXFontName(name.utf8(), match, use_core); - Q_CHECK_PTR(qxfn); - fontNameDict->insert(k, qxfn); - -@@ -2667,9 +2841,10 @@ - if (! qxfn->useCore) { - if (! xftmatch) { - XftResult res; -- xftmatch = XftNameParse(qxfn->name.data()); -+ XftPattern *pat = XftNameParse(qxfn->name.data()); - xftmatch = XftFontMatch(QPaintDevice::x11AppDisplay(), -- x11Screen, xftmatch, &res); -+ x11Screen, pat, &res); -+ XftPatternDestroy(pat); - } - - #ifdef QFONTLOADER_DEBUG -diff -u qt-x11-free-3.1.2/src-orig/kernel/qfontdata_p.h qt-x11-free-3.1.2/src/kernel/qfontdata_p.h ---- qt-x11-free-3.1.2/src-orig/kernel/qfontdata_p.h Mon Feb 24 17:30:10 2003 -+++ qt-x11-free-3.1.2/src/kernel/qfontdata_p.h Thu Apr 17 22:51:07 2003 -@@ -387,7 +387,13 @@ - GC gc, const QColor &pen, Qt::BGMode, const QColor &bgcolor, - int x, int y, const TextRun *cache, int pdWidth ); - bool inFont( const QChar &ch ); -+private: -+ XftPattern *findXftFont(const QChar &, bool *, double *scale, -+ const QChar *sample2, bool onlySubst) const; -+ void load(QFont::Script, bool, bool onlySubstXft); -+ bool loadUnicode(QFont::Script, const QChar &, const QChar *sample2); - -+public: - QFontX11Data x11data; - static QFont::Script defaultScript; - int x11Screen; -diff -u qt-x11-free-3.1.2/src-orig/kernel/qfontdatabase.cpp qt-x11-free-3.1.2/src/kernel/qfontdatabase.cpp ---- qt-x11-free-3.1.2/src-orig/kernel/qfontdatabase.cpp Mon Feb 24 17:30:13 2003 -+++ qt-x11-free-3.1.2/src/kernel/qfontdatabase.cpp Thu Apr 17 22:51:07 2003 -@@ -57,6 +57,15 @@ - bool italic, bool lesserItalic, int weight ); - #endif - -+static QString qt_fontname_toLower( const QString &fontName ) -+{ -+#if defined( Q_WS_X11 ) -+ return QString::fromUtf8( fontName.utf8().lower() ); -+#else -+ return fontName.lower(); -+#endif -+} -+ - class QtFontStyle - { - public: -@@ -259,7 +268,7 @@ - - bool namesDirty; - -- void addFamily( QtFontFamily *f ) { familyDict.insert( f->name().lower(), f ); } -+ void addFamily( QtFontFamily *f ) { familyDict.insert( qt_fontname_toLower(f->name()), f ); } - - friend void QFontDatabase::createDatabase(); - -@@ -659,7 +668,7 @@ - const QtFontFamily *bitmapScalable = 0; - - for( ; (fndry = iter.current()) ; ++iter ) { -- fam = fndry->family( name.lower() ); -+ fam = fndry->family( qt_fontname_toLower( name ) ); - - if ( fam ) { - if ( fam->isSmoothlyScalable() ) { -@@ -1605,7 +1614,7 @@ - if ( name.contains('-') ) { - int i = name.find('-'); - foundry = name.left( i ).lower(); -- family = name.right( name.length() - i - 1 ).lower(); -+ family = qt_fontname_toLower( name.right( name.length() - i - 1 ) ); - } else if ( name.contains('[') && name.contains(']')) { - int i = name.find('['); - int li = name.findRev(']'); -@@ -1614,13 +1623,11 @@ - foundry = name.mid(i + 1, li - i - 1).lower(); - if (name[i - 1] == ' ') - i--; -- family = name.left(i).lower(); -+ family = qt_fontname_toLower( name.left(i) ); - } - } else { - foundry = QString::null; -- family = name.lower(); -+ family = qt_fontname_toLower( name ); - } - } -- -- - #endif // QT_NO_FONTDATABASE -diff -u qt-x11-free-3.1.2/src-orig/kernel/qfontdatabase_x11.cpp qt-x11-free-3.1.2/src/kernel/qfontdatabase_x11.cpp ---- qt-x11-free-3.1.2/src-orig/kernel/qfontdatabase_x11.cpp Mon Feb 24 17:30:10 2003 -+++ qt-x11-free-3.1.2/src/kernel/qfontdatabase_x11.cpp Thu Apr 17 22:51:07 2003 -@@ -247,6 +247,9 @@ - int spacing_value; - bool created_foundry = FALSE; - bool created_family = FALSE; -+#ifdef QT_XFT2 -+ const QString style_string[3] = { "Bold", "Oblique", "Bold Oblique" }; -+#endif - - foundries = XftListFonts (QPaintDevice::x11AppDisplay(), - QPaintDevice::x11AppScreen(), -@@ -284,19 +287,25 @@ - XftListFonts(QPaintDevice::x11AppDisplay(), - QPaintDevice::x11AppScreen(), - (const char *)0, -- XFT_FAMILY, (const char *)0); -+ XFT_FOUNDRY, XFT_FAMILY, (const char *)0); - - for (int f = 0; f < families->nfont; f++) { - created_family = FALSE; - -+ if (!hasFoundries) -+ if (XftPatternGetString(families->fonts[f], -+ XFT_FOUNDRY, 0, &value) == XftResultMatch) -+ continue; -+ - if (XftPatternGetString(families->fonts[f], - XFT_FAMILY, 0, &value) == XftResultMatch) { - familyName = value; -+ QString fam = QString::fromUtf8(value); - - QtFontFamily *family = -- foundry->familyDict.find( familyName.lower() ); -+ foundry->familyDict.find( qt_fontname_toLower( fam ) ); - if ( ! family ) { -- family = new QtFontFamily ( foundry, familyName.lower() ); -+ family = new QtFontFamily ( foundry, fam ); - Q_CHECK_PTR (family); - created_family = TRUE; - } -@@ -319,6 +328,10 @@ - XFT_STYLE, XFT_WEIGHT, XFT_SLANT, XFT_SPACING, - (const char *)0); - -+#ifdef QT_XFT2 -+ bool styles_check[8] = { FALSE, FALSE, FALSE, FALSE, -+ FALSE, FALSE, FALSE, FALSE }; -+#endif - for (int s = 0; s < styles->nfont; s++) { - if (XftPatternGetString (styles->fonts[s], - XFT_STYLE, 0, &value) == -@@ -345,8 +358,34 @@ - style->setFixedPitch(); - style->setSmoothlyScalable(); - family->addStyle (style); -+#ifdef QT_XFT2 -+ int sty_id = ((weight_value > XFT_WEIGHT_MEDIUM)? 1 : 0) + -+ ((slant_value > XFT_SLANT_ROMAN)? 2 : 0) + -+ ((spacing_value >= XFT_MONO)? 4 : 0); -+ styles_check[sty_id] = TRUE; -+#endif -+ } -+ } -+ -+#ifdef QT_XFT2 -+ for (int i = 0; i <= 4; i += 4) { -+ if (!styles_check[i] && !styles_check[i + 1] && !styles_check[i + 2]) -+ continue; -+ for (int j = 1; j < 4; j++) { -+ if (styles_check[i + j]) -+ continue; -+ QtFontStyle *style = new QtFontStyle (family, style_string[j - 1]); -+ style->ital = (j >= 2); -+ style->lesserItal = FALSE; -+ weight_value = (j % 2)? XFT_WEIGHT_BOLD : XFT_WEIGHT_MEDIUM; -+ style->weightString = getXftWeightString(weight_value); -+ if (i > 0) -+ style->setFixedPitch(); -+ style->setSmoothlyScalable(); -+ family->addStyle (style); - } - } -+#endif - - if ( created_family ) { - if ( created_foundry ) { diff --git a/x11-libs/qt/files/qt-3.1.2-qlistview-dnd.diff b/x11-libs/qt/files/qt-3.1.2-qlistview-dnd.diff deleted file mode 100644 index 8f19b6ffe6fb..000000000000 --- a/x11-libs/qt/files/qt-3.1.2-qlistview-dnd.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- src/widgets/qlistview.cpp 2003-02-24 19:30:39.000000000 +1100 -+++ src/widgets/qlistview.cpp 2003-07-09 23:11:05.000000000 +1000 -@@ -4166,7 +4166,7 @@ - else if ( selectionMode() == Extended ) { - bool changed = FALSE; - if ( !(e->state() & (ControlButton | ShiftButton)) ) { -- if ( !i->isSelected() || e->button() != RightButton ) { -+ if ( !i->isSelected() ) { - bool blocked = signalsBlocked(); - blockSignals( TRUE ); - clearSelection(); diff --git a/x11-libs/qt/files/qt-3.1.2-qmlined.diff b/x11-libs/qt/files/qt-3.1.2-qmlined.diff deleted file mode 100644 index 46165a9efcb7..000000000000 --- a/x11-libs/qt/files/qt-3.1.2-qmlined.diff +++ /dev/null @@ -1,9 +0,0 @@ ---- include/qmlined.h~ 2003-04-05 23:49:48.000000000 +0200 -+++ include/qmlined.h 2003-04-05 23:50:00.000000000 +0200 -@@ -22,5 +22,5 @@ - *****************************************************************************/ - #ifndef QMLINED_H - #define QMLINED_H --#include "qtmultilineedit.h" -+#include "qmultilineedit.h" - #endif diff --git a/x11-libs/qt/files/qt-3.1.2-qpsprinter-ttc-otf-italic-20030429.patch b/x11-libs/qt/files/qt-3.1.2-qpsprinter-ttc-otf-italic-20030429.patch deleted file mode 100644 index 56ca050ef6a4..000000000000 --- a/x11-libs/qt/files/qt-3.1.2-qpsprinter-ttc-otf-italic-20030429.patch +++ /dev/null @@ -1,701 +0,0 @@ ---- qt-x11-free-3.1.2/src-orig/kernel/qpsprinter.cpp Mon Feb 24 17:30:09 2003 -+++ qt-x11-free-3.1.2/src/kernel/qpsprinter.cpp Tue Apr 29 04:25:46 2003 -@@ -90,9 +90,18 @@ - #endif - #endif - -+#undef Q_PRINTER_USE_FREETYPE2 - #ifdef Q_WS_X11 - #include "qfontdata_p.h" - extern bool qt_has_xft; -+#ifndef QT_NO_XFTFREETYPE -+#define Q_PRINTER_USE_FREETYPE2 -+#endif -+#endif -+ -+#ifdef Q_PRINTER_USE_FREETYPE2 -+#include <ft2build.h> -+#include FT_OUTLINE_H - #endif - - static bool qt_gen_epsf = FALSE; -@@ -2016,7 +2025,8 @@ - class QPSPrinterFontTTF - : public QPSPrinterFontPrivate { - public: -- QPSPrinterFontTTF(const QFont &f, QByteArray& data); -+ QPSPrinterFontTTF(const QFont &f, QByteArray& data, -+ const QString &extra_key = QString::null); - virtual void download(QTextStream& s, bool global); - // virtual ~QPSPrinterFontTTF(); - -@@ -2088,6 +2098,21 @@ - - int indexToLocFormat; /* short or long offsets */ - -+ int ttc_index; -+ int ttc_offset; -+ double mxx, mxy, myx, myy; -+ bool transform; -+ -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ FT_Library ftLibrary; -+ FT_Face ftFace; -+ bool isCFF; -+ -+private: -+ bool open_freetype(); -+ void close_freetype(); -+ bool charprocLoad_ft(int charindex, charproc_data &cd, int metrics[5]); -+#endif // Q_PRINTER_USE_FREETYPE2 - }; - - -@@ -2173,7 +2198,8 @@ - #endif - - --QPSPrinterFontTTF::QPSPrinterFontTTF(const QFont &f, QByteArray& d) -+QPSPrinterFontTTF::QPSPrinterFontTTF(const QFont &f, QByteArray& d, -+ const QString &extra_key) - { - data = d; - defective = FALSE; -@@ -2196,11 +2222,42 @@ - #endif - offset_table = (unsigned char*) data.data(); /* first 12 bytes */ - -+ ttc_index = 0; -+ ttc_offset = 0; -+ -+ -+ if ( d[0]=='t' && d[1]=='t' && d[2]=='c' && d[3]=='f' ) { -+ if ( !extra_key.isEmpty() ) { -+ int a = extra_key.find( "-I" ) + 2; -+ if ( a >= 2 ) { -+ int b = extra_key.find( "-", a ); -+ if ( b > a ) -+ ttc_index = extra_key.mid( a, b - a ).toInt(); -+ else -+ ttc_index = extra_key.mid( a ).toInt(); -+ } -+ } -+ -+ if ( ttc_index >= (int)getULONG( offset_table + 8 ) ) { -+ defective = TRUE; -+ return; -+ } -+ -+ ttc_offset = getULONG( offset_table + 12 + ttc_index * 4 ); -+ } -+ - /* Determine how many directory entries there are. */ -- numTables = getUSHORT( offset_table + 4 ); -+ numTables = getUSHORT( offset_table + ttc_offset + 4 ); - - /* Extract information from the "Offset" table. */ -- TTVersion = getFixed( offset_table ); -+ TTVersion = getFixed( offset_table + ttc_offset ); -+ -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ Fixed flag_OTTO = getFixed( (BYTE *)"OTTO" ); -+ -+ isCFF = ( TTVersion.whole == flag_OTTO.whole && -+ TTVersion.fraction == flag_OTTO.fraction ); -+#endif // Q_PRINTER_USE_FREETYPE2 - - /* Load the "head" table and extract information from it. */ - ptr = getTable("head"); -@@ -2303,6 +2360,42 @@ - } - numGlyphs = getUSHORT( maxp + 4 ); - // qDebug("number of glyphs is %d", numGlyphs); -+ -+ double matrix[4] = { 1.0, 0.0, 0.0, 1.0 }; -+ -+ if ( !extra_key.isEmpty() ) { -+ int a, b; -+ a = extra_key.find( "-M[" ) + 3; -+ if ( a >= 3 ) { -+ for ( int i = 0; i < 4; i++, a = b + 1 ) { -+ if ( i < 3 ) -+ b = extra_key.find( ",", a ); -+ else -+ b = extra_key.find( "]", a ); -+ if ( b > a ) -+ matrix[i] = extra_key.mid( a, b - a ).toDouble(); -+ else -+ break; -+ } -+ } -+ } -+ -+ mxx = matrix[0]; -+ mxy = matrix[1]; -+ myx = matrix[2]; -+ myy = matrix[3]; -+ transform = ( mxx != 1.0 || mxy != 0.0 || myx != 0.0 || myy != 1.0 ); -+ -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ ftLibrary = 0; -+ ftFace = 0; -+#endif // Q_PRINTER_USE_FREETYPE2 -+ -+ if ( transform ) { -+ addPsFontNameExtension( f, psname ); -+ addPsFontNameExtension( f, FullName ); -+ } -+ - replacementList = makePSFontNameList( f, psname ); - uni2glyphSetup(); - } -@@ -2352,6 +2445,10 @@ - - if( target_type == 42 ) - s << "%%Creator: Converted from TrueType to type 42 by Qt\n"; -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ else if ( isCFF ) -+ s << "%%Creator: Converted from OpenType/CFF by Qt\n"; -+#endif // Q_PRINTER_USE_FREETYPE2 - else - s << "%%Creator: Converted from TrueType by Qt\n"; - -@@ -2375,7 +2472,7 @@ - s << "/_d{bind def}bind def\n"; - s << "/_m{moveto}_d\n"; - s << "/_l{lineto}_d\n"; -- s << "/_cl{closepath eofill}_d\n"; -+ s << "/_cl{closepath fill}_d\n"; - s << "/_c{curveto}_d\n"; - s << "/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d\n"; - s << "/_e{exec}_d\n"; -@@ -2388,6 +2485,10 @@ - - if(target_type == 42) - s << "/FontMatrix[1 0 0 1 0 0]def\n"; -+ else if ( transform ) -+ s << QString( "/FontMatrix[%1 %2 %3 %4 0 0]def\n" ) -+ .arg( 0.001 * mxx, 0, 'f', 6 ).arg( 0.001 * myx, 0, 'f', 6 ) -+ .arg( 0.001 * mxy, 0, 'f', 6 ).arg( 0.001 * myy, 0, 'f', 6 ); - else - s << "/FontMatrix[.001 0 0 .001 0 0]def\n"; - -@@ -2489,7 +2590,6 @@ - - // subsetting. We turn a char subset into a glyph subset - // and we mark as used the base glyphs of used composite glyphs. -- - bool glyphset[65536]; - for(int c=0; c < 65536; c++) - glyphset[c] = FALSE; -@@ -2535,6 +2635,10 @@ - - s << "end readonly def\n"; - -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ close_freetype(); -+#endif // Q_PRINTER_USE_FREETYPE2 -+ - // === trailer === - - /* If we are generating a type 3 font, we need to provide */ -@@ -2666,7 +2770,7 @@ - int x; - - /* We must search the table directory. */ -- ptr = offset_table + 12; -+ ptr = offset_table + ttc_offset + 12; - x=0; - while (x != numTables) { - if( strncmp((const char *)ptr,name,4) == 0 ) { -@@ -2775,6 +2879,9 @@ - } - } - } -+ -+ if (!glyph2uni[0xa0] && glyph2uni[0x20]) -+ glyph2uni[0xa0] = glyph2uni[0x20]; - } - - USHORT QPSPrinterFontTTF::unicode_for_glyph(int glyphindex) -@@ -2996,7 +3103,7 @@ - int diff; - int count; /* How many `important' tables did we find? */ - -- BYTE* ptr = offset_table + 12; // original table directory -+ BYTE* ptr = offset_table + ttc_offset + 12; // original table directory - ULONG nextoffset=0; - count=0; - -@@ -3037,7 +3144,7 @@ - - /* Generate the offset table header */ - /* Start by copying the TrueType version number. */ -- ptr = offset_table; -+ ptr = offset_table + ttc_offset; - for(int x=0; x < 4; x++) - sfnts_pputBYTE( *(ptr++) , s, string_len, line_len, in_string ); - -@@ -3180,7 +3287,7 @@ - } - - /* Emmit a PostScript "curveto" command. */ --static void PSCurveto(FWord* xcoor, FWord* ycoor, -+static void PSConicto(FWord* xcoor, FWord* ycoor, FWord x0, FWord y0, - FWord x, FWord y, int s, int t, QTextStream& ts) - { - int N, i; -@@ -3188,8 +3295,8 @@ - - N = t-s+2; - for(i=0; i<N-1; i++) { -- sx[0] = i==0?xcoor[s-1]:(xcoor[i+s]+xcoor[i+s-1])/2; -- sy[0] = i==0?ycoor[s-1]:(ycoor[i+s]+ycoor[i+s-1])/2; -+ sx[0] = i==0?x0:(xcoor[i+s]+xcoor[i+s-1])/2; -+ sy[0] = i==0?y0:(ycoor[i+s]+ycoor[i+s-1])/2; - sx[1] = xcoor[s+i]; - sy[1] = ycoor[s+i]; - sx[2] = i==N-2?x:(xcoor[s+i]+xcoor[s+i+1])/2; -@@ -3216,6 +3323,26 @@ - } - } - -+static void PSCubicto(FWord* xcoor, FWord* ycoor, FWord x, FWord y, -+ int s, QTextStream& ts) -+{ -+ xcoor += s; -+ ycoor += s; -+ -+ ts << (int)xcoor[0]; -+ ts << " "; -+ ts << (int)ycoor[0]; -+ ts << " "; -+ ts << (int)xcoor[1]; -+ ts << " "; -+ ts << (int)ycoor[1]; -+ ts << " "; -+ ts << (int)x; -+ ts << " "; -+ ts << (int)y; -+ ts << " _c\n"; -+} -+ - /* The PostScript bounding box. */ - /* Variables to hold the character data. */ - -@@ -3226,6 +3353,7 @@ - //void PSLineto(FWord x, FWord y, QTextStream& ts); - //void PSCurveto(FWord x, FWord y, int s, int t, QTextStream& ts); - -+#if 0 - //double area(FWord *x, FWord *y, int n); - //int nextinctr(int co, int ci); - //int nextoutctr(int co); -@@ -3338,17 +3466,20 @@ - - return k; - } /* end of nearout() */ -+#endif - - - /* - ** We call this routine to emmit the PostScript code - ** for the character we have loaded with load_char(). - */ --static void PSConvert(QTextStream& s, charproc_data* cd) -+static void PSConvert(QTextStream& s, charproc_data* cd, bool cubic) - { -- int i,j,k,fst,start_offpt; -+ int i,j,k,fst,end,start_offpt; - int end_offpt=0; -+ FWord x0, y0, x1, y1; - -+#if 0 - cd->area_ctr = new double[cd->num_ctr]; - memset(cd->area_ctr, 0, (cd->num_ctr*sizeof(double))); - -@@ -3375,6 +3506,7 @@ - cd->ctrset[2*i+1]=-1; - } - } -+#endif - - /* Step thru the coutours. */ - /* I believe that a contour is a detatched */ -@@ -3382,45 +3514,76 @@ - i=j=k=0; - while (i < cd->num_ctr ) { - fst = j = (k==0) ? 0 : (cd->epts_ctr[k-1]+1); -+ end = cd->epts_ctr[k]; -+ -+ if (end - fst < 2) { -+ k++; i++; -+ continue; -+ } - - /* Move to the first point on the contour. */ -+ if (cd->tt_flags[fst]&1) { -+ x0 = cd->xcoor[fst]; -+ y0 = cd->ycoor[fst]; -+ } else if (cd->tt_flags[end]&1) { -+ x0 = cd->xcoor[end]; -+ y0 = cd->ycoor[end]; -+ end--; j--; -+ } else { -+ x0 = (cd->xcoor[fst]+cd->xcoor[end])/2; -+ y0 = (cd->ycoor[fst]+cd->ycoor[end])/2; -+ j--; -+ } -+ - stack(cd->num_pts,3,s); -- PSMoveto(cd->xcoor[j],cd->ycoor[j],s); -- start_offpt = 0; /* No off curve points yet. */ -+ PSMoveto(x0,y0,s); -+ start_offpt = -1; /* No off curve points yet. */ - -+ x1 = x0; y1 = y0; - /* Step thru the remaining points of this contour. */ -- for(j++; j <= cd->epts_ctr[k]; j++) { -+ for(j++; j <= end; j++) { - if (!(cd->tt_flags[j]&1)) { /* Off curve */ -- if (!start_offpt) -+ if (start_offpt < 0) - { start_offpt = end_offpt = j; } - else - end_offpt++; - } else { /* On Curve */ -- if (start_offpt) { -+ if (start_offpt >= 0) { - stack(cd->num_pts,7,s); -- PSCurveto(cd->xcoor,cd->ycoor, -- cd->xcoor[j],cd->ycoor[j], -- start_offpt,end_offpt,s); -- start_offpt = 0; -+ if ( cubic ) -+ PSCubicto(cd->xcoor,cd->ycoor, -+ cd->xcoor[j],cd->ycoor[j],start_offpt,s); -+ else -+ PSConicto(cd->xcoor,cd->ycoor, -+ x1, y1, -+ cd->xcoor[j],cd->ycoor[j], -+ start_offpt,end_offpt,s); -+ start_offpt = -1; - } else { - stack(cd->num_pts,3,s); - PSLineto(cd->xcoor[j], cd->ycoor[j],s); - } -+ x1 = cd->xcoor[j]; -+ y1 = cd->ycoor[j]; - } - } - - /* Do the final curve or line */ - /* of this coutour. */ -- if (start_offpt) { -+ if (start_offpt >= 0) { - stack(cd->num_pts,7,s); -- PSCurveto(cd->xcoor,cd->ycoor, -- cd->xcoor[fst],cd->ycoor[fst], -- start_offpt,end_offpt,s); -+ if ( cubic ) -+ PSCubicto(cd->xcoor,cd->ycoor,x0,y0,start_offpt,s); -+ else -+ PSConicto(cd->xcoor,cd->ycoor, -+ x1,y1,x0,y0, -+ start_offpt,end_offpt,s); - } else { - stack(cd->num_pts,3,s); -- PSLineto(cd->xcoor[fst],cd->ycoor[fst],s); -+ PSLineto(x0,y0,s); - } - -+#if 0 - k=nextinctr(i,k,cd); - - if (k==NOMOREINCTR) -@@ -3428,16 +3591,21 @@ - - if (i==NOMOREOUTCTR) - break; -+#else -+ k++; i++; -+#endif - } - - /* Now, we can fill the whole thing. */ - stack(cd->num_pts,1,s); -- s << "_cl"; /* "closepath eofill" */ -+ s << "_cl"; /* "closepath fill" */ - -+#if 0 - /* Free our work arrays. */ - delete [] cd->area_ctr; - delete [] cd->check_ctr; - delete [] cd->ctrset; -+#endif // Q_TTF_CONTOURS_INOUT - } - - -@@ -3722,6 +3890,11 @@ - */ - BYTE* QPSPrinterFontTTF::charprocFindGlyphData(int charindex) - { -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ if ( isCFF ) -+ return (BYTE*)NULL; -+#endif // Q_PRINTER_USE_FREETYPE2 -+ - ULONG off; - ULONG length; - -@@ -3744,6 +3917,122 @@ - return (BYTE*)NULL; - } - -+#ifdef Q_PRINTER_USE_FREETYPE2 -+bool QPSPrinterFontTTF::open_freetype() -+{ -+ if ( !ftLibrary ) -+ { -+ ftFace = 0; -+ if ( FT_Init_FreeType( &ftLibrary ) ) -+ return FALSE; -+ } -+ -+ if ( !ftFace ) -+ { -+ if ( FT_New_Memory_Face( ftLibrary, (FT_Byte *)data.data(), -+ data.size(), ttc_index, &ftFace ) ) -+ goto Fail; -+ if ( FT_Select_Charmap( ftFace, ft_encoding_unicode ) ) -+ goto Fail; -+ if ( FT_Set_Pixel_Sizes ( ftFace, 1000, 1000 ) ) -+ goto Fail; -+ } -+ -+ return TRUE; -+ -+ Fail: -+ close_freetype(); -+ return FALSE; -+} -+ -+void QPSPrinterFontTTF::close_freetype() -+{ -+ if ( ftLibrary ) -+ FT_Done_FreeType( ftLibrary ); -+ ftLibrary = 0; -+ ftFace = 0; -+} -+ -+bool QPSPrinterFontTTF::charprocLoad_ft( int charindex, -+ charproc_data &cd, int metrics[5] ) -+{ -+ if ( !open_freetype() ) -+ return FALSE; -+ -+ if ( FT_Load_Glyph( ftFace, charindex, -+ FT_LOAD_NO_BITMAP | FT_LOAD_IGNORE_TRANSFORM | -+ FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ) ) -+ return FALSE; -+ -+ FT_GlyphSlot slot = ftFace->glyph; -+ FT_Outline *outline = &slot->outline; -+ -+ int nctrs = outline->n_contours; -+ int npts = outline->n_points; -+ float scale = (float)unitsPerEm/1000; -+ -+ cd.num_ctr = nctrs; -+ cd.num_pts = npts; -+ metrics[0] = (int)(slot->advance.x * scale / 64); -+ -+ if ( nctrs == 0 ) -+ return TRUE; -+ -+ FT_Vector *pts = outline->points; -+ char *tags = outline->tags; -+ short *ctrs = outline->contours; -+ -+ cd.xcoor = new FWord[npts]; -+ cd.ycoor = new FWord[npts]; -+ cd.tt_flags = new BYTE[npts]; -+ cd.epts_ctr = new int[nctrs]; -+ -+ FWord *xcoor = cd.xcoor; -+ FWord *ycoor = cd.ycoor; -+ BYTE *flags = cd.tt_flags; -+ -+ int x, y, xmin, ymin, xmax, ymax; -+ int n = 0, m; -+ bool bbox_valid = FALSE; -+ bool contour_valid; -+ -+ xmin = ymin = xmax = ymax = 0; -+ -+ for ( int i = 0 ; i < nctrs; i++ ) { -+ m = cd.epts_ctr[i] = ctrs[i]; -+ -+ contour_valid = (m >= n + 2); -+ -+ if ( !bbox_valid && contour_valid ) { -+ xmin = xmax = pts->x >> 6; -+ ymin = ymax = pts->y >> 6; -+ bbox_valid = TRUE; -+ } -+ -+ for ( ; n <= m; n++, pts++ ) { -+ *xcoor++ = x = pts->x >> 6; -+ *ycoor++ = y = pts->y >> 6; -+ *flags++ = (*tags++) & 3; -+ if ( contour_valid ) { -+ xmin = QMIN( xmin, x ); -+ xmax = QMAX( xmax, x ); -+ ymin = QMIN( ymin, y ); -+ ymax = QMAX( ymax, y ); -+ } -+ } -+ } -+ -+ if ( bbox_valid ) { -+ metrics[1] = (int)(xmin * scale); -+ metrics[2] = (int)(ymin * scale); -+ metrics[3] = (int)(xmax * scale); -+ metrics[4] = (int)(ymax * scale); -+ } -+ -+ return TRUE; -+} -+#endif // Q_PRINTER_USE_FREETYPE2 -+ - void QPSPrinterFontTTF::charproc(int charindex, QTextStream& s, bool *glyphSet ) - { - int llx,lly,urx,ury; -@@ -3759,6 +4048,18 @@ - /* Get a pointer to the data. */ - BYTE* glyph = charprocFindGlyphData( charindex ); - -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ int metrics[5] = { 0 }; -+ if (charprocLoad_ft(charindex, cd, metrics)) { -+ advance_width = metrics[0]; -+ llx = metrics[1]; -+ lly = metrics[2]; -+ urx = metrics[3]; -+ ury = metrics[4]; -+ goto Output; -+ } -+#endif // Q_PRINTER_USE_FREETYPE2 -+ - /* If the character is blank, it has no bounding box, */ - /* otherwise read the bounding box. */ - if( glyph == (BYTE*)NULL ) { -@@ -3791,6 +4092,9 @@ - else - advance_width = getuFWord( hmtx_table + ((numberOfHMetrics-1) * 4) ); - -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ Output: -+#endif // Q_PRINTER_USE_FREETYPE2 - /* Execute setcachedevice in order to inform the font machinery */ - /* of the character bounding box and advance width. */ - stack(cd.num_pts,7,s); -@@ -3808,7 +4112,7 @@ - /* If it is a simple glyph, convert it, */ - /* otherwise, close the stack business. */ - if( cd.num_ctr > 0 ) { // simple -- PSConvert(s,&cd); -+ PSConvert(s,&cd,isCFF); - delete [] cd.tt_flags; - delete [] cd.xcoor; - delete [] cd.ycoor; -@@ -4664,6 +4968,7 @@ - { - QString fontfilename; - QString fontname; -+ QString extra_key = QString::null; - - enum { NONE, PFB, PFA, TTF } type = NONE; - -@@ -4687,10 +4992,19 @@ - XftResult res; - XftPattern *f = XftFontMatch(qt_xdisplay(), 0, pattern, &res); - XftPatternGetString (f, XFT_FILE, 0, &filename); -+ -+ int font_index; -+ if ( XftPatternGetInteger (f, XFT_INDEX, 0, &font_index) == XftResultMatch ) -+ extra_key += QString("-I%1").arg(font_index); -+ XftMatrix *mat; -+ if (XftPatternGetMatrix (f, XFT_MATRIX, 0, &mat) == XftResultMatch) -+ extra_key += QString("-M[%1,%2,%3,%4]") -+ .arg(mat->xx).arg(mat->xy).arg(mat->yx).arg(mat->yy); -+ - //qDebug("filename for font is '%s'", filename); - if ( filename ) { - fontfilename = QString::fromLatin1( filename ); -- xfontname = fontfilename; -+ xfontname = fontfilename + extra_key; - } - XftPatternDestroy( f ); - XftPatternDestroy( pattern ); -@@ -4786,12 +5100,38 @@ - if (mapping.lower().contains(searchname.lower())) { - int index = mapping.find(' ',0); - QString ffn = mapping.mid(0,index); -+ // skip ttcap -+ int length = ffn.find(':',0) + 1; -+ while (length > 0) { -+ ffn = ffn.mid(length); -+ length = ffn.find(':',0) + 1; -+ } - // remove the most common bitmap formats - if( !ffn.contains( ".pcf" ) && !ffn.contains( " .bdf" ) && - !ffn.contains( ".spd" ) && !ffn.contains( ".phont" ) ) { - fontfilename = (*it) + QString("/") + ffn; - if ( QFile::exists(fontfilename) ) { - //qDebug("found font file %s", fontfilename.latin1()); -+ // check font index -+ index = mapping.find("fn=",0,FALSE) + 3; -+ if (index >= 3) { -+ length = mapping.find(':', index) - index; -+ if (length > 0) { -+ QString ttcap_fn = mapping.mid(index, length); -+ int font_index = ttcap_fn.toInt(); -+ extra_key += QString("-I%1").arg(font_index); -+ } -+ } -+ // check slant -+ index = mapping.find("ai=",0,FALSE) + 3; -+ if (index >= 3) { -+ length = mapping.find(':', index) - index; -+ if (length > 0) { -+ QString ttcap_ai = mapping.mid(index, length); -+ double xy = ttcap_ai.toDouble(); -+ extra_key += QString("-M[1.0,%1,0.0,1.0]").arg(xy); -+ } -+ } - break; - } else // unset fontfilename - fontfilename = QString(); -@@ -4829,6 +5169,12 @@ - type = PFA; - else if (d[0]==0x00 && d[1]==0x01 && d[2]==0x00 && d[3]==0x00) - type = TTF; -+ else if (d[0]=='t' && d[1]=='t' && d[2]=='c' && d[3]=='f') -+ type = TTF; -+#ifdef Q_PRINTER_USE_FREETYPE2 -+ else if (d[0]=='O' && d[1]=='T' && d[2]=='T' && d[3]=='O') -+ type = TTF; -+#endif // Q_PRINTER_USE_FREETYPE2 - else - type = NONE; - } else -@@ -4837,7 +5183,7 @@ - //qWarning(xfontname); - switch (type) { - case TTF : -- p = new QPSPrinterFontTTF(f, data); -+ p = new QPSPrinterFontTTF(f, data, extra_key); - break; - case PFB: - p = new QPSPrinterFontPFB(f, data); diff --git a/x11-libs/qt/files/qt-3.1.2-r3-qsocket.diff b/x11-libs/qt/files/qt-3.1.2-r3-qsocket.diff deleted file mode 100644 index fd8c384a789a..000000000000 --- a/x11-libs/qt/files/qt-3.1.2-r3-qsocket.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- src/network/qsocket.cpp.orig 2003-02-24 09:30:06.000000000 +0100 -+++ src/network/qsocket.cpp 2002-12-09 10:40:38.000000000 +0100 -@@ -1273,13 +1259,8 @@ - } - d->rba.append( a ); - d->rsize += nread; -- if ( !force ) { -- if ( d->rsn ) -- d->rsn->setEnabled( FALSE ); -+ if ( !force ) - emit readyRead(); -- if ( d->rsn ) -- d->rsn->setEnabled( TRUE ); -- } - - QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); - } diff --git a/x11-libs/qt/files/qt-3.1.2-thai-complextext.patch b/x11-libs/qt/files/qt-3.1.2-thai-complextext.patch deleted file mode 100644 index 7c9dea19cf3c..000000000000 --- a/x11-libs/qt/files/qt-3.1.2-thai-complextext.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nuar qt-x11-free-3.1.2/src/kernel/qcomplextext.cpp qt-x11-free-3.1.2-complextext/src/kernel/qcomplextext.cpp ---- qt-x11-free-3.1.2/src/kernel/qcomplextext.cpp 2003-04-03 00:22:39.000000000 +0700 -+++ qt-x11-free-3.1.2-complextext/src/kernel/qcomplextext.cpp 2003-04-03 00:22:19.000000000 +0700 -@@ -855,7 +855,7 @@ - } - - // combining marks of different class don't interact. Reset the rectangle. -- if ( cmb != lastCmb ) { -+ if ( eCmb != lastCmb ) { - //qDebug( "resetting rect" ); - attachmentRect = baseRect; - } diff --git a/x11-libs/qt/files/qt-3.3.1-qclipboard-fix.patch b/x11-libs/qt/files/qt-3.3.1-qclipboard-fix.patch deleted file mode 100644 index fdfa086ff13f..000000000000 --- a/x11-libs/qt/files/qt-3.3.1-qclipboard-fix.patch +++ /dev/null @@ -1,94 +0,0 @@ ---- src/kernel/qclipboard_x11.cpp.sav 2004-01-06 19:24:40.000000000 +0100 -+++ src/kernel/qclipboard_x11.cpp 2004-01-22 19:48:32.000000000 +0100 -@@ -112,10 +112,6 @@ static bool pending_selection_changed = - - // event capture mechanism for qt_xclb_wait_for_event - static bool waiting_for_data = FALSE; --static bool has_captured_event = FALSE; --static Window capture_event_win = None; --static int capture_event_type = -1; --static XEvent captured_event; - - class QClipboardWatcher; // forward decl - static QClipboardWatcher *selection_watcher = 0; -@@ -432,69 +428,36 @@ bool QClipboard::selectionModeEnabled() - { return inSelectionMode_obsolete; } - - --// event filter function... captures interesting events while --// qt_xclb_wait_for_event is running the event loop --static int qt_xclb_event_filter(XEvent *event) --{ -- if (event->xany.type == capture_event_type && -- event->xany.window == capture_event_win) { -- VDEBUG( "QClipboard: event_filter(): caught event type %d", event->type ); -- has_captured_event = TRUE; -- captured_event = *event; -- return 1; -- } -- -- return 0; --} -- - bool qt_xclb_wait_for_event( Display *dpy, Window win, int type, XEvent *event, - int timeout ) - { -- if ( waiting_for_data ) -- qFatal( "QClipboard: internal error, qt_xclb_wait_for_event recursed" ); -- -- waiting_for_data = TRUE; -- - QTime started = QTime::currentTime(); - QTime now = started; -- -- has_captured_event = FALSE; -- capture_event_win = win; -- capture_event_type = type; -- -- QX11EventFilter old_event_filter = qt_set_x11_event_filter(qt_xclb_event_filter); -+ bool flushed = FALSE; - - do { -- if ( XCheckTypedWindowEvent(dpy,win,type,event) ) { -- waiting_for_data = FALSE; -- qt_set_x11_event_filter(old_event_filter); -+ if ( XCheckTypedWindowEvent(dpy,win,type,event) ) - return TRUE; -- } - - now = QTime::currentTime(); - if ( started > now ) // crossed midnight - started = now; - -- // 0x08 == ExcludeTimers for X11 only -- qApp->eventLoop()->processEvents( QEventLoop::ExcludeUserInput | -- QEventLoop::ExcludeSocketNotifiers | -- QEventLoop::WaitForMore | 0x08 ); -- -- if ( has_captured_event ) { -- waiting_for_data = FALSE; -- *event = captured_event; -- qt_set_x11_event_filter(old_event_filter); -- return TRUE; -+ if(!flushed) { -+ XFlush( dpy ); -+ flushed = TRUE; - } -- } while ( started.msecsTo(now) < timeout ); - -- waiting_for_data = FALSE; -- qt_set_x11_event_filter(old_event_filter); -+ // sleep 50ms, so we don't use up CPU cycles all the time. -+ struct timeval usleep_tv; -+ usleep_tv.tv_sec = 0; -+ usleep_tv.tv_usec = 50000; -+ select(0, 0, 0, 0, &usleep_tv); -+ } while ( started.msecsTo(now) < timeout ); - - return FALSE; - } - -- - static inline int maxSelectionIncr( Display *dpy ) - { return XMaxRequestSize(dpy) > 65536 ? 65536*4 : XMaxRequestSize(dpy)*4 - 100; } - diff --git a/x11-libs/qt/files/qt-x11-free-3.0.5-ko_input.patch b/x11-libs/qt/files/qt-x11-free-3.0.5-ko_input.patch deleted file mode 100644 index b7567d88800a..000000000000 --- a/x11-libs/qt/files/qt-x11-free-3.0.5-ko_input.patch +++ /dev/null @@ -1,402 +0,0 @@ ---- qt-x11-free-3.0.5.orig/include/qwidget.h 2002-07-08 19:26:59.000000000 +0900 -+++ qt-x11-free-3.0.5/include/qwidget.h 2002-07-25 17:18:59.000000000 +0900 -@@ -512,7 +512,9 @@ - int metric( int ) const; - - void resetInputContext(); -- -+#ifndef KO_INPUT_PATCH -+ void clearInputContext(); -+#endif - virtual void create( WId = 0, bool initializeWindow = TRUE, - bool destroyOldWindow = TRUE ); - virtual void destroy( bool destroyWindow = TRUE, ---- qt-x11-free-3.0.5.orig/src/dialogs/qfiledialog.cpp 2002-07-08 19:26:40.000000000 +0900 -+++ qt-x11-free-3.0.5/src/dialogs/qfiledialog.cpp 2002-07-25 17:18:59.000000000 +0900 -@@ -976,7 +976,9 @@ - // this is similar to QUrl::encode but does encode "*" and - // doesn't encode whitespaces - static QString encodeFileName( const QString& fName ) { -- -+#ifndef KO_INPUT_PATCH -+ return fName; -+#else - QString newStr; - QCString cName = fName.utf8(); - const QCString sChars( -@@ -1006,6 +1008,7 @@ - } - } - return newStr; -+#endif - } - - }; -@@ -2987,6 +2990,23 @@ - } - } - } -+#ifndef KO_INPUT_PATCH -+ QString LineText = nameEdit->text(); -+ int dot_pos = LineText.find("."); -+ int line_len = LineText.length(); -+ if( f.compare("*.*") != 0 && line_len > 0 && LineText.contains('.') < 2 && index >= 0) { -+ if(dot_pos >= 0) { -+ if(dot_pos != 0 && dot_pos < (line_len-1)) { -+ LineText = LineText.left(LineText.findRev(".")); -+ LineText += f.right(f.length() - f.findRev(".")); -+ nameEdit->setText(LineText); -+ } -+ } else { -+ LineText += f.right(f.length() - f.findRev(".")); -+ nameEdit->setText(LineText); -+ } -+ } -+#endif - rereadDir(); - } - ---- qt-x11-free-3.0.5.orig/src/kernel/qapplication_x11.cpp 2002-07-08 19:26:53.000000000 +0900 -+++ qt-x11-free-3.0.5/src/kernel/qapplication_x11.cpp 2002-07-25 17:18:59.000000000 +0900 -@@ -3349,7 +3349,7 @@ - if ( inPopupMode() ) // no focus widget, see if we have a popup - keywidget = (QETWidget*) activePopupWidget(); - else if ( widget ) -- keywidget = (QETWidget*)widget->topLevelWidget(); -+ keywidget = widget->focusWidget()?(QETWidget*)widget->focusWidget():widget; - } - } - } -@@ -5555,8 +5555,14 @@ - QWidget *tlw = topLevelWidget(); - QInputContext *qic = (QInputContext *) tlw->topData()->xic; - -- if (qic && qic->composing && ! qic->lastcompose.isNull() && -- qic->lastcompose == text) { -+#ifndef KO_INPUT_PATCH -+ if (qic && qic->composing && ! qic->lastcompose.isNull() && -+ text.length() && qic->lastcompose.contains(text)) -+#else -+ if (qic && qic->composing && ! qic->lastcompose.isNull() && -+ qic->lastcompose == text) -+#endif -+ { - // keyevent with same text as last compose, skip it - return TRUE; - } ---- qt-x11-free-3.0.5.orig/src/kernel/qinputcontext_x11.cpp 2002-07-08 19:27:03.000000000 +0900 -+++ qt-x11-free-3.0.5/src/kernel/qinputcontext_x11.cpp 2002-07-25 17:18:59.000000000 +0900 -@@ -138,24 +138,42 @@ - - qic->text.remove(drawstruct->chg_first, drawstruct->chg_length); - -- KeySym sym = XKeycodeToKeysym(QPaintDevice::x11AppDisplay(), -- compose_keycode, 0); -- -- if ( qic->text.isEmpty() ) { -- if ( sym == XK_Return ) { -- // qDebug("user pressed return, send an IMEnd..."); -- QIMEvent endevent(QEvent::IMEnd, qic->lastcompose, -1); -- QApplication::sendEvent(qic->focusWidget, &endevent); -- qic->focusWidget = 0; -+#ifndef KO_INPUT_PATCH -+ if(qic->text.isEmpty() && drawstruct->chg_length > 0) { -+ int cursorPos = -1 * drawstruct->chg_length; -+ QString modifier = QString(getenv("XMODIFIERS")); -+ if(modifier.contains("Ami")) -+ cursorPos = -1; -+ -+ if(modifier.contains("vje")) { -+ QIMEvent event(QEvent::IMCompose, qic->text, drawstruct->caret); -+ QApplication::sendEvent(qic->focusWidget, &event); -+ qic->lastcompose = QString::null; - return 0; - } else { -- // qDebug("last char deleted, send an IMEnd with null string..."); -- QIMEvent endevent(QEvent::IMEnd, QString::null, -1); -- QApplication::sendEvent(qic->focusWidget, &endevent); -- qic->focusWidget = 0; -- return 0; -+ QIMEvent endevent(QEvent::IMEnd, qic->lastcompose, cursorPos); -+ -+ QApplication::sendEvent(qic->focusWidget, &endevent); -+ qic->focusWidget = 0; -+ return 0; - } - } -+#else -+ if (drawstruct->chg_length == 0 || -+ (qic->text.isEmpty() && drawstruct->chg_length > 1)) { -+ QIMEvent endevent(QEvent::IMEnd, qic->lastcompose, -1); -+ QApplication::sendEvent(qic->focusWidget, &endevent); -+ qic->focusWidget = 0; -+ return 0; -+ } else if ( qic->text.isEmpty() && -+ drawstruct->chg_first == 0 && -+ drawstruct->chg_length == 1 ) { -+ QIMEvent endevent(QEvent::IMEnd, QString::null, -1); -+ QApplication::sendEvent(qic->focusWidget, &endevent); -+ qic->focusWidget = 0; -+ return 0; -+ } -+#endif - } - - qic->lastcompose = qic->text; -@@ -328,7 +346,9 @@ - QApplication::sendEvent(focusWidget, &endevent); - focusWidget = 0; - lastcompose = text = QString::null; -- -+#ifndef KO_INPUT_PATCH -+ text = QString::null; -+#endif - char *mb = XmbResetIC((XIC) ic); - if (mb) - XFree(mb); ---- qt-x11-free-3.0.5.orig/src/kernel/qpaintdevice_x11.cpp 2002-07-08 19:27:15.000000000 +0900 -+++ qt-x11-free-3.0.5/src/kernel/qpaintdevice_x11.cpp 2002-07-25 17:18:59.000000000 +0900 -@@ -461,6 +461,9 @@ - dpiX = - (DisplayWidth(dpy,scr) * 254 + DisplayWidthMM(dpy,scr)*5) - / (DisplayWidthMM(dpy,scr)*10); -+#ifndef KO_INPUT_PATCH -+ dpiX = 75; -+#endif - } - } - return dpiX; -@@ -484,6 +487,9 @@ - (DisplayHeight(dpy,scr) * 254 + DisplayHeightMM(dpy,scr)*5) - / (DisplayHeightMM(dpy,scr)*10); - } -+#ifndef KO_INPUT_PATCH -+ dpiY = 75; -+#endif - return dpiY; - } - ---- qt-x11-free-3.0.5.orig/src/kernel/qpsprinter.cpp 2002-07-08 19:26:55.000000000 +0900 -+++ qt-x11-free-3.0.5/src/kernel/qpsprinter.cpp 2002-07-25 17:18:59.000000000 +0900 -@@ -6410,10 +6410,14 @@ - if ( last && !pageBuffer ) - return; - bool pageFonts = ( buffer == 0 ); -+#ifndef KO_INPUT_PATCH -+ if ( buffer && last || (buffer && buffer->size() > 2000000) ) -+#else - if ( buffer && - // ( last || pagesInBuffer++ > -1 || - // ( pagesInBuffer > 4 && buffer->size() > 262144 ) ) ) - (last || buffer->size() > 2000000) ) -+#endif - { - // qDebug("emiting header at page %d", pageCount ); - emitHeader( last ); ---- qt-x11-free-3.0.5.orig/src/kernel/qrichtext.cpp 2002-07-08 19:26:57.000000000 +0900 -+++ qt-x11-free-3.0.5/src/kernel/qrichtext.cpp 2002-07-25 17:18:59.000000000 +0900 -@@ -5104,10 +5104,13 @@ - } - if ( row < 0x11 ) // no asian font - return FALSE; -+#ifndef KO_INPUT_PATCH -+#else - if ( row > 0x2d && row < 0xfb || row == 0x11 ) - // asian line breaking. Everywhere allowed except directly - // in front of a punctuation character. - return TRUE; -+#endif - } - return FALSE; - } ---- qt-x11-free-3.0.5.orig/src/kernel/qwidget.h 2002-07-08 19:26:59.000000000 +0900 -+++ qt-x11-free-3.0.5/src/kernel/qwidget.h 2002-07-25 17:18:59.000000000 +0900 -@@ -512,7 +512,9 @@ - int metric( int ) const; - - void resetInputContext(); -- -+#ifndef KO_INPUT_PATCH -+ void clearInputContext(); -+#endif - virtual void create( WId = 0, bool initializeWindow = TRUE, - bool destroyOldWindow = TRUE ); - virtual void destroy( bool destroyWindow = TRUE, ---- qt-x11-free-3.0.5.orig/src/kernel/qwidget_x11.cpp 2002-07-08 19:27:01.000000000 +0900 -+++ qt-x11-free-3.0.5/src/kernel/qwidget_x11.cpp 2002-07-25 17:18:59.000000000 +0900 -@@ -131,7 +131,11 @@ - FocusChangeMask | - ExposureMask | - PropertyChangeMask | -+#ifndef KO_INPUT_PATCH -+ StructureNotifyMask -+#else - StructureNotifyMask | SubstructureRedirectMask -+#endif - ); - - const uint stdDesktopEventMask = // X event mask -@@ -2507,6 +2511,22 @@ - #endif // QT_NO_XIM - } - -+#ifndef KO_INPUT_PATCH -+void QWidget::clearInputContext() -+{ -+#ifndef QT_NO_XIM -+ if (qt_xim_style & XIMPreeditCallbacks) { -+ QWidget *tlw = topLevelWidget(); -+ QTLWExtra *topdata = tlw->topData(); -+ createInputContext(); -+ if (topdata->xic) { -+ QInputContext *qic = (QInputContext *) topdata->xic; -+ qic->lastcompose = QString::null; -+ } -+ } -+#endif // QT_NO_XIM -+} -+#endif // KO_INPUT_PATCH - - void QWidget::focusInputContext() - { ---- qt-x11-free-3.0.5.orig/src/widgets/qlineedit.cpp 2002-07-08 19:27:29.000000000 +0900 -+++ qt-x11-free-3.0.5/src/widgets/qlineedit.cpp 2002-07-25 17:18:59.000000000 +0900 -@@ -646,16 +646,18 @@ - if ( !t.isEmpty() && (!e->ascii() || e->ascii()>=32) && - e->key() != Key_Delete && - e->key() != Key_Backspace ) { -- if ( d->parag && d->parag->string() && d->parag->string()->isRightToLeft() ) { -- QChar *c = (QChar *)t.unicode(); -- int l = t.length(); -- while( l-- ) { -- if ( c->mirrored() ) -- *c = c->mirroredChar(); -- c++; -- } -+#ifndef KO_INPUT_PATCH -+ if ( (d->preeditLength > 0) && (cursorPosition() >= 0) ) { -+ d->parag->remove(d->preeditStart, d->preeditLength); -+ d->cursor->setIndex(d->preeditStart ); - } -+#endif - insert( t ); -+#ifndef KO_INPUT_PATCH -+ d->preeditStart = cursorPosition(); -+ d->preeditLength = -1; -+ clearInputContext(); -+#endif - return; - } - } -@@ -840,6 +842,12 @@ - void QLineEdit::imStartEvent( QIMEvent *e ) - { - d->preeditStart = cursorPosition(); -+ if (selectedText().length() > 0) { -+ d->preeditStart -= selectedText().length(); -+ cut(); -+ emit textChanged(text()); -+ } -+ - d->preeditLength = 0; - setMicroFocusHint( d->cursor->x() - d->offset, d->cursor->y(), 0, - d->cursor->paragraph()->rect().height(), TRUE ); -@@ -851,9 +859,21 @@ - */ - void QLineEdit::imComposeEvent( QIMEvent *e ) - { -+#ifndef KO_INPUT_PATCH -+ if (d->preeditLength > 0) { -+ d->parag->remove(d->preeditStart, d->preeditLength); -+ d->cursor->setIndex(d->preeditStart); -+ } -+ insert( e->text() ); -+ -+ if (d->preeditLength <= 0) -+ d->preeditStart = cursorPosition() - e->text().length(); -+#else -+ - if (d->preeditLength > 0) - d->parag->remove(d->preeditStart, d->preeditLength); - d->parag->insert(d->preeditStart, e->text()); -+#endif - d->preeditLength = e->text().length(); - d->cursor->setIndex(d->preeditStart + e->cursorPos()); - -@@ -866,6 +886,12 @@ - */ - void QLineEdit::imEndEvent( QIMEvent *e ) - { -+#ifndef KO_INPUT_PATCH -+ if (e->cursorPos() < -1) { -+ d->preeditStart = cursorPosition() + e->cursorPos(); -+ d->preeditLength = QABS(e->cursorPos()); -+ } -+#endif - if (d->preeditLength > 0) - d->parag->remove(d->preeditStart, d->preeditLength); - d->parag->insert(d->preeditStart, e->text()); ---- qt-x11-free-3.0.5.orig/src/widgets/qtextedit.cpp 2002-07-08 19:27:27.000000000 +0900 -+++ qt-x11-free-3.0.5/src/widgets/qtextedit.cpp 2002-07-25 17:19:00.000000000 +0900 -@@ -1107,7 +1107,18 @@ - c++; - } - } -- insert( t, TRUE, FALSE ); -+#ifndef KO_INPUT_PATCH -+ if ( d->preeditLength > 0 && cursor->paragraph() ) { -+ cursor->paragraph()->remove( d->preeditStart, d->preeditLength ); -+ cursor->setIndex( d->preeditStart ); -+ } -+#endif -+ insert( e->text(), TRUE, FALSE ); -+#ifndef KO_INPUT_PATCH -+ d->preeditStart = cursor->index(); -+ d->preeditLength = -1; -+ clearInputContext(); -+#endif - break; - } else if ( e->state() & ControlButton ) { - switch ( e->key() ) { -@@ -1208,16 +1219,28 @@ - void QTextEdit::imStartEvent( QIMEvent *e ) - { - d->preeditStart = cursor->index(); -+ if ( selectedText().length() > 0 ) -+ d->preeditStart -= selectedText().length(); - e->accept(); - } - - /*! \reimp */ - void QTextEdit::imComposeEvent( QIMEvent *e ) - { -+#ifndef KO_INPUT_PATCH -+ if ( d->preeditLength > 0 && cursor->paragraph() ) { -+ cursor->paragraph()->remove( d->preeditStart, d->preeditLength ); -+ cursor->setIndex( d->preeditStart ); -+ } -+ insert( e->text(), TRUE, FALSE ); -+ if ( d->preeditLength <= 0 ) -+ d->preeditStart = cursor->index() - e->text().length(); -+#else - if ( d->preeditLength > 0 && cursor->paragraph() ) - cursor->paragraph()->remove( d->preeditStart, d->preeditLength ); - cursor->setIndex( d->preeditStart ); - insert( e->text(), TRUE, FALSE ); -+#endif - d->preeditLength = e->text().length(); - cursor->setIndex( d->preeditStart + e->cursorPos() ); - -@@ -1229,6 +1252,12 @@ - /*! \reimp */ - void QTextEdit::imEndEvent( QIMEvent *e ) - { -+#ifndef KO_INPUT_PATCH -+ if ( e->cursorPos() < -1 ) { -+ d->preeditStart = cursor->index() + e->cursorPos(); -+ d->preeditLength = QABS(e->cursorPos()); -+ } -+#endif - if ( d->preeditLength > 0 && cursor->paragraph() ) - cursor->paragraph()->remove( d->preeditStart, d->preeditLength ); - cursor->setIndex( d->preeditStart ); diff --git a/x11-libs/qt/qt-3.0.5-r2.ebuild b/x11-libs/qt/qt-3.0.5-r2.ebuild deleted file mode 100644 index 0b0d2caeb3f9..000000000000 --- a/x11-libs/qt/qt-3.0.5-r2.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.0.5-r2.ebuild,v 1.17 2004/06/28 19:20:40 agriffis Exp $ - -inherit eutils - -DESCRIPTION="QT version ${PV}" -HOMEPAGE="http://www.trolltech.com/" -SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.gz" - -LICENSE="QPL-1.0 | GPL-2" -SLOT="3" -KEYWORDS="x86 ppc sparc ia64 alpha" -IUSE="debug gif mysql nas nls odbc opengl postgres" - -DEPEND="virtual/x11 - media-libs/libpng - media-libs/lcms - media-libs/jpeg - >=media-libs/libmng-1.0.0 - >=media-libs/freetype-2 - nas? ( >=media-libs/nas-1.4.1 ) - odbc? ( >=dev-db/unixODBC-2.0 ) - mysql? ( >=dev-db/mysql-3.2.10 ) - opengl? ( virtual/opengl virtual/glu ) - postgres? ( >=dev-db/postgresql-7.2 )" - -S=${WORKDIR}/qt-x11-free-${PV} - -QTBASE=/usr/qt/3 -export QTDIR=${S} - -src_unpack() { - unpack qt-x11-free-${PV}.tar.gz - - # qt patch - for ami, fixed on the spot bug. - cd ${S} - use nls && epatch ${FILESDIR}/qt-x11-free-3.0.5-ko_input.patch - - cd ${S} - cp configure configure.orig - sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure - - cd $S/mkspecs/linux-g++ - # use env's $CC, $CXX - if [ -n "$CXX" ]; then - einfo 'Using environment definition of $CXX' - cp qmake.conf qmake.conf.orig - sed -e "s:= g++:= ${CXX}:" qmake.conf.orig > qmake.conf - fi - if [ -n "$CC" ]; then - einfo 'Using environment definition of $CC' - cp qmake.conf qmake.conf.orig - sed -e "s:= cc:= ${CC}:" qmake.conf.orig > qmake.conf - fi -} - -src_compile() { - export LDFLAGS="-ldl" - - use nas && myconf="${myconf} -system-nas-sound" - use gif && myconf="${myconf} -qt-gif" - use mysql && myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" - use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server" - use odbc && myconf="${myconf} -plugin-sql-odbc" - use opengl && myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl" - use debug && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions" - - # avoid wasting time building things we won't install - rm -rf tutorial examples - - export YACC='byacc -d' - - ./configure -sm -thread -stl -system-zlib -system-libjpeg -tablet \ - -system-libmng -system-libpng -ldl -lpthread -xft -platform linux-g++ \ - -qt-imgfmt-{jpeg,mng,png} -xplatform linux-g++ -prefix ${QTBASE} \ - ${myconf} || die - - export QTDIR=${S} - emake src-qmake src-moc sub-src sub-tools || die -} - -src_install() { - # binaries - into $QTBASE - dobin bin/* - - # libraries - dolib lib/libqt-mt.so.${PV} lib/libqui.so.1.0.0 lib/libeditor.so.1.0.0 - cd ${D}$QTBASE/lib - for x in libqui.so libeditor.so ; do - ln -s $x.1.0.0 $x.1.0 - ln -s $x.1.0 $x.1 - ln -s $x.1 $x - done - - # version symlinks - 3.0.3->3.0->3->.so - ln -s libqt-mt.so.${PV} libqt-mt.so.3.0 - ln -s libqt-mt.so.3.0 libqt-mt.so.3 - ln -s libqt-mt.so.3 libqt-mt.so - - # libqt -> libqt-mt symlinks - ln -s libqt-mt.so.${PV} libqt.so.${PV} - ln -s libqt-mt.so.3.0 libqt.so.3.0 - ln -s libqt-mt.so.3 libqt.so.3 - ln -s libqt-mt.so libqt.so - - # includes - cd ${S} - dodir ${QTBASE}/include/private - cp include/* ${D}/${QTBASE}/include/ - cp include/private/* ${D}/${QTBASE}/include/private/ - - # misc - insinto /etc/env.d - doins ${FILESDIR}/{45qt3,50qtdir3} - - # misc build reqs - dodir ${QTBASE}/mkspecs - cp -R ${S}/mkspecs/linux-g++ ${D}/${QTBASE}/mkspecs/ - - sed -e "s:${D}::g" \ - -e "s:qt-x11-free-3.0.1::g" \ - -e "s:${WORKDIR}:${QTBASE}:" \ - -e "s:/usr/local/qt:${QTBASE}:" \ - ${S}/.qmake.cache > ${D}${QTBASE}/.qmake.cache - - # plugins - cd ${S} - plugins=`find plugins -name "lib*.so" -print` - for x in $plugins; do - insinto ${QTBASE}/`dirname $x` - doins $x - done -} - -pkg_postinst() { - ewarn "NOTE: If you are upgrading from an older QT," - ewarn "you must remerge any versions of kde-base/kdelibs" - ewarn "and x11-themes/mosfet-liquid-widgets, or QT/KDE" - ewarn "widget style plugns will not work!" -} diff --git a/x11-libs/qt/qt-3.1.2-r3.ebuild b/x11-libs/qt/qt-3.1.2-r3.ebuild deleted file mode 100644 index 38b84e57570c..000000000000 --- a/x11-libs/qt/qt-3.1.2-r3.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.1.2-r3.ebuild,v 1.16 2004/06/28 19:20:40 agriffis Exp $ - -inherit eutils - -DESCRIPTION="QT version ${PV}" -HOMEPAGE="http://www.trolltech.com/" -SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2" - -LICENSE="QPL-1.0 | GPL-2" -SLOT="3" -# WARNING: do not give this ebuild keywords that >=kdelibs-3.1.1, >=kdebase-3.1.1-r1 don't have -KEYWORDS="x86 ppc sparc alpha amd64 ia64" -IUSE="cups debug doc gif mysql nas odbc opengl postgres" - -DEPEND="virtual/x11 - media-libs/libpng - media-libs/lcms - media-libs/jpeg - >=media-libs/libmng-1.0.0 - >=media-libs/freetype-2 - virtual/xft - nas? ( >=media-libs/nas-1.4.1 ) - odbc? ( >=dev-db/unixODBC-2.0 ) - mysql? ( >=dev-db/mysql-3.2.10 ) - opengl? ( virtual/opengl virtual/glu ) - postgres? ( >=dev-db/postgresql-7.2 ) - !=kde-base/kdelibs-3.1 - !=kde-base/kdelibs-3.1-r1 - !=kde-base/kdelibs-3.1-r2 - !=kde-base/kdelibs-3.1-r3 - !=kde-base/kdebase-3.1 - !=kde-base/kdebase-3.1-r1 - !=kde-base/kdebase-3.1.1" -# WARNING: the versions blocked above are known to be buggy. DO NOT use them with this qt -RDEPEND="${DEPEND} - doc? ( ~app-doc/qt-docs-$PV )" - -S=${WORKDIR}/qt-x11-free-${PV} - -QTBASE=/usr/qt/3 -export QTDIR=${S} - -src_unpack() { - unpack ${A} - - cd ${S} - - epatch ${FILESDIR}/designer.diff - epatch ${FILESDIR}/${P}-qmlined.diff - epatch ${FILESDIR}/${P}-r3-qsocket.diff - # Fix issues with coreutils's head and tail commands - epatch ${FILESDIR}/${P}-coreutils-fixup.patch - - cp configure configure.orig - sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure - - cd mkspecs/linux-g++ - # use env's $CC, $CXX - if [ -n "$CXX" ]; then - einfo 'Using environment definition of $CXX' - cp qmake.conf qmake.conf.orig - sed -e "s:= g++:= ${CXX}:" qmake.conf.orig > qmake.conf - fi - if [ -n "$CC" ]; then - einfo 'Using environment definition of $CC' - cp qmake.conf qmake.conf.orig - sed -e "s:= gcc:= ${CC}:" qmake.conf.orig > qmake.conf - fi - - # hppa people, please review the following - - # hppa need some additional flags - if [ "${ARCH}" = "hppa" ]; then - echo "QMAKE_CFLAGS += -fPIC -ffunction-sections" >> qmake.conf - echo "QMAKE_CXXFLAGS += -fPIC -ffunction-sections" >> qmake.conf - echo "QMAKE_LFLAGS += -ffunction-sections -Wl,--stub-group-size=25000" >> qmake.conf - fi -} - -src_compile() { - # fix #11144; qt wants to create lock files etc. in that directory - [ -d "$QTBASE/etc/settings" ] && addwrite "$QTBASE/etc/settings" - - export LDFLAGS="-ldl" - - use cups || myconf="${myconf} -no-cups" - use nas && myconf="${myconf} -system-nas-sound" - use gif && myconf="${myconf} -qt-gif" - use mysql && myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" - use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server" - use odbc && myconf="${myconf} -plugin-sql-odbc" - use opengl && myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl" - use debug && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions" - - # avoid wasting time building things we won't install - rm -rf tutorial examples - - export YACC='byacc -d' - - ./configure -sm -thread -stl -system-zlib -system-libjpeg -verbose \ - -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \ - -system-libpng -ldl -lpthread -xft -platform linux-g++ -xplatform \ - linux-g++ -xrender -prefix ${QTBASE} -fast ${myconf} || die - - export QTDIR=${S} - emake src-qmake src-moc sub-src sub-tools || die -} - -src_install() { - # binaries - into $QTBASE - dobin bin/* - - # libraries - dolib lib/libqt-mt.so.3.1.2 lib/libqui.so.1.0.0 lib/lib{editor,qassistantclient,designer}.a - cd ${D}$QTBASE/lib - for x in libqui.so ; do - ln -s $x.1.0.0 $x.1.0 - ln -s $x.1.0 $x.1 - ln -s $x.1 $x - done - - # version symlinks - 3.1.2->3.1->3->.so - ln -s libqt-mt.so.3.1.2 libqt-mt.so.3.1 - ln -s libqt-mt.so.3.1 libqt-mt.so.3 - ln -s libqt-mt.so.3 libqt-mt.so - - # libqt -> libqt-mt symlinks - ln -s libqt-mt.so.3.1.2 libqt.so.3.1.2 - ln -s libqt-mt.so.3.1 libqt.so.3.1 - ln -s libqt-mt.so.3 libqt.so.3 - ln -s libqt-mt.so libqt.so - - # includes - cd ${S} - dodir ${QTBASE}/include/private - cp include/* ${D}/${QTBASE}/include/ - cp include/private/* ${D}/${QTBASE}/include/private/ - - # misc - insinto /etc/env.d - doins ${FILESDIR}/{45qt3,50qtdir3} - - # misc build reqs - dodir ${QTBASE}/mkspecs - cp -R ${S}/mkspecs/linux-g++ ${D}/${QTBASE}/mkspecs/ - - sed -e "s:${S}:${QTBASE}:g" \ - ${S}/.qmake.cache > ${D}${QTBASE}/.qmake.cache - - # plugins - cd ${S} - plugins=`find plugins -name "lib*.so" -print` - for x in $plugins; do - insinto ${QTBASE}/`dirname $x` - doins $x - done -} - -pkg_postinst() { - ewarn "If you upgraded from QT 3.0.x to 3.1.x, you should remerge any copies" - ewarn "of kdelibs you have installed. Otherwise, other kde packages may not" - ewarn "compile properly. If you upgraded QT from 3.0.x to 3.1.x in the past" - ewarn "but have not remerged kdelib, since then, you should proobably do so now." -} diff --git a/x11-libs/qt/qt-3.1.2-r4.ebuild b/x11-libs/qt/qt-3.1.2-r4.ebuild deleted file mode 100644 index 411736b8ca85..000000000000 --- a/x11-libs/qt/qt-3.1.2-r4.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.1.2-r4.ebuild,v 1.13 2004/06/28 19:20:40 agriffis Exp $ - -inherit eutils - -DESCRIPTION="QT version ${PV}" -HOMEPAGE="http://www.trolltech.com/" -SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2" - -LICENSE="QPL-1.0 | GPL-2" -SLOT="3" -# WARNING: do not give this ebuild keywords that >=kdelibs-3.1.1, >=kdebase-3.1.1-r1 don't have -KEYWORDS="x86 ~ppc ~sparc alpha hppa ia64" -IUSE="cjk cups debug doc gif mysql nas odbc opengl postgres xinerama" - -DEPEND="virtual/x11 - media-libs/libpng - media-libs/lcms - media-libs/jpeg - >=media-libs/libmng-1.0.0 - >=media-libs/freetype-2 - virtual/xft - nas? ( >=media-libs/nas-1.4.1 ) - odbc? ( >=dev-db/unixODBC-2.0 ) - mysql? ( >=dev-db/mysql-3.2.10 ) - opengl? ( virtual/opengl virtual/glu ) - postgres? ( >=dev-db/postgresql-7.2 ) - !=kde-base/kdelibs-3.1 - !=kde-base/kdelibs-3.1-r1 - !=kde-base/kdelibs-3.1-r2 - !=kde-base/kdelibs-3.1-r3 - !=kde-base/kdebase-3.1 - !=kde-base/kdebase-3.1-r1 - !=kde-base/kdebase-3.1.1" -# WARNING: the versions blocked above are known to be buggy. DO NOT use them with this qt -RDEPEND="${DEPEND} - doc? ( ~app-doc/qt-docs-$PV )" - -S=${WORKDIR}/qt-x11-free-${PV} - -QTBASE=/usr/qt/3 -export QTDIR=${S} - -src_unpack() { - unpack ${A} - - cd ${S} - - epatch ${FILESDIR}/designer.diff - epatch ${FILESDIR}/${P}-qmlined.diff - epatch ${FILESDIR}/${P}-r3-qsocket.diff - epatch ${FILESDIR}/${P}-qlistview-dnd.diff - # Fix issues with coreutils's head and tail commands - epatch ${FILESDIR}/${P}-coreutils-fixup.patch - - use cjk && epatch ${FILESDIR}/${P}-korean-xim.patch - use cjk && epatch ${FILESDIR}/${P}-qfont-jp-family-subst-20030421.patch - use cjk && epatch ${FILESDIR}/${P}-qpsprinter-ttc-otf-italic-20030429.patch - epatch ${FILESDIR}/${P}-thai-complextext.patch - - cp configure configure.orig - sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure - - cd mkspecs/linux-g++ - # use env's $CC, $CXX - if [ -n "$CXX" ]; then - einfo 'Using environment definition of $CXX' - cp qmake.conf qmake.conf.orig - sed -e "s:= g++:= ${CXX}:" qmake.conf.orig > qmake.conf - fi - if [ -n "$CC" ]; then - einfo 'Using environment definition of $CC' - cp qmake.conf qmake.conf.orig - sed -e "s:= gcc:= ${CC}:" qmake.conf.orig > qmake.conf - fi - - # hppa people, please review the following - # hppa need some additional flags - if [ "${ARCH}" = "hppa" ]; then - echo "QMAKE_CFLAGS += -fPIC -ffunction-sections" >> qmake.conf - echo "QMAKE_CXXFLAGS += -fPIC -ffunction-sections" >> qmake.conf - echo "QMAKE_LFLAGS += -ffunction-sections -Wl,--stub-group-size=25000" >> qmake.conf - fi -} - -src_compile() { - # fix #11144; qt wants to create lock files etc. in that directory - [ -d "$QTBASE/etc/settings" ] && addwrite "$QTBASE/etc/settings" - - export LDFLAGS="-ldl" - - use cups || myconf="${myconf} -no-cups" - use nas && myconf="${myconf} -system-nas-sound" - use gif && myconf="${myconf} -qt-gif" - use mysql && myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" - use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server" - use odbc && myconf="${myconf} -plugin-sql-odbc" - use opengl && myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl" - use debug && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions" - use xinerama && myconf="${myconf} -xinerama" - - # avoid wasting time building things we won't install - rm -rf tutorial examples - - export YACC='byacc -d' - - ./configure -sm -thread -stl -system-zlib -system-libjpeg -verbose \ - -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \ - -system-libpng -ldl -lpthread -xft -platform linux-g++ -xplatform \ - linux-g++ -xrender -prefix ${QTBASE} -fast ${myconf} || die - - export QTDIR=${S} - emake src-qmake src-moc sub-src sub-tools || die -} - -src_install() { - # binaries - into $QTBASE - dobin bin/* - - # libraries - dolib lib/libqt-mt.so.3.1.2 lib/libqui.so.1.0.0 lib/lib{editor,qassistantclient,designer}.a lib/*.la lib/*.prl - cd ${D}$QTBASE/lib - for x in libqui.so ; do - ln -s $x.1.0.0 $x.1.0 - ln -s $x.1.0 $x.1 - ln -s $x.1 $x - done - - # version symlinks - 3.1.2->3.1->3->.so - ln -s libqt-mt.so.3.1.2 libqt-mt.so.3.1 - ln -s libqt-mt.so.3.1 libqt-mt.so.3 - ln -s libqt-mt.so.3 libqt-mt.so - - # libqt -> libqt-mt symlinks - ln -s libqt-mt.so.3.1.2 libqt.so.3.1.2 - ln -s libqt-mt.so.3.1 libqt.so.3.1 - ln -s libqt-mt.so.3 libqt.so.3 - ln -s libqt-mt.so libqt.so - - # includes - cd ${S} - dodir ${QTBASE}/include/private - cp include/* ${D}/${QTBASE}/include/ - cp include/private/* ${D}/${QTBASE}/include/private/ - - # misc - insinto /etc/env.d - doins ${FILESDIR}/{45qt3,50qtdir3} - - # misc build reqs - dodir ${QTBASE}/mkspecs - cp -R ${S}/mkspecs/linux-g++ ${D}/${QTBASE}/mkspecs/ - - sed -e "s:${S}:${QTBASE}:g" \ - ${S}/.qmake.cache > ${D}${QTBASE}/.qmake.cache - - # plugins - cd ${S} - plugins=`find plugins -name "lib*.so" -print` - for x in $plugins; do - insinto ${QTBASE}/`dirname $x` - doins $x - done -} - -pkg_postinst() { - ewarn "If you upgraded from QT 3.0.x to 3.1.x, you should remerge any copies" - ewarn "of kdelibs you have installed. Otherwise, other kde packages may not" - ewarn "compile properly. If you upgraded QT from 3.0.x to 3.1.x in the past" - ewarn "but have not remerged kdelib, since then, you should proobably do so now." -} diff --git a/x11-libs/qt/qt-3.3.0-r1.ebuild b/x11-libs/qt/qt-3.3.0-r1.ebuild deleted file mode 100644 index fd9465466268..000000000000 --- a/x11-libs/qt/qt-3.3.0-r1.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.0-r1.ebuild,v 1.8 2004/06/24 22:07:16 agriffis Exp $ - -inherit eutils - -SRCTYPE="free" -DESCRIPTION="QT version ${PV}" -HOMEPAGE="http://www.trolltech.com/" - -SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-${SRCTYPE}-${PV}.tar.bz2" - -LICENSE="QPL-1.0 | GPL-2" -SLOT="3" -KEYWORDS="x86 ~alpha ~ppc ~amd64 hppa" -IUSE="cups nas postgres opengl mysql odbc gif doc firebird zlib icc sqlite ipv6 xinerama debug" - -DEPEND="virtual/x11 virtual/xft - media-libs/libpng media-libs/jpeg media-libs/libmng - >=media-libs/freetype-2 - gif? ( media-libs/giflib media-libs/libungif ) - nas? ( >=media-libs/nas-1.5 ) - odbc? ( dev-db/unixODBC ) - mysql? ( dev-db/mysql ) - sqlite? ( dev-db/sqlite ) - firebird? ( dev-db/firebird ) - opengl? ( virtual/opengl virtual/glu ) - postgres? ( dev-db/postgresql ) - cups? ( net-print/cups ) - zlib? ( sys-libs/zlib ) - icc? ( dev-lang/icc )" - -RDEPEND="${DEPEND}" - -S=${WORKDIR}/qt-x11-${SRCTYPE}-${PV} - -QTBASE=/usr/qt/3 -export QTDIR=${S} - -src_unpack() { - unpack ${A} - - export QTDIR=${S} - cd ${S} - - cp configure configure.orig - sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure - - epatch ${FILESDIR}/qt-no-rpath-uic.patch - - export PLATFORM=linux-g++ -# use icc && export PLATFORM=linux-icc -} - -src_compile() { - export QTDIR=${S} - export SYSCONF=${D}${QTBASE}/etc/settings - - # Let's just allow writing to these directories during Qt emerge - # as it makes Qt much happier. - addwrite "${QTBASE}/etc/settings" - addwrite "$HOME/.qt" - - use nas && myconf="${myconf} -system-nas-sound" - use gif && myconf="${myconf} -qt-gif" - use mysql && myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" - use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" - use firebird && myconf="${myconf} -plugin-sql-ibase" -# use oci8 && myconf="${myconf} -plugin-sql-oci" - use sqlite && myconf="${myconf} -plugin-sql-sqlite" - use odbc && myconf="${myconf} -plugin-sql-odbc" - use cups && myconf="${myconf} -cups" || myconf="${myconf} -no-cups" - use opengl && myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl" - use debug && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions" - use xinerama && myconf="${myconf} -xinerama" || myconf="${myconf} -no-xinerama" - use zlib && myconf="${myconf} -system-zlib" || myconf="${myconf} -qt-zlib" - use ipv6 && myconf="${myconf} -ipv6" || myconf="${myconf} -no-ipv6" - - export YACC='byacc -d' - - ./configure -sm -thread -stl -system-libjpeg -verbose -largefile \ - -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \ - -system-libpng -lpthread -xft -platform ${PLATFORM} -xplatform \ - ${PLATFORM} -xrender -prefix ${QTBASE} -fast ${myconf} \ - -dlopen-opengl || die - - export QTDIR=${S} - - emake src-qmake src-moc sub-src || die - LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" emake sub-tools || die -} - -src_install() { - export QTDIR=${S} - - # binaries - into $QTBASE - dobin bin/* - - # libraries - - dolib lib/libqt-mt.so.3.3.0 lib/libqui.so.1.0.0 - dolib lib/lib{editor,qassistantclient,designercore}.a lib/libqt-mt.la - - cd ${D}/$QTBASE/lib - for x in libqui.so ; do - ln -s $x.1.0.0 $x.1.0 - ln -s $x.1.0 $x.1 - ln -s $x.1 $x - done - - # version symlinks - 3.3.0->3.3->3->.so - ln -s libqt-mt.so.3.3.0 libqt-mt.so.3.3 - ln -s libqt-mt.so.3.3 libqt-mt.so.3 - ln -s libqt-mt.so.3 libqt-mt.so - - # libqt -> libqt-mt symlinks - ln -s libqt-mt.so.3.3.0 libqt.so.3.3.0 - ln -s libqt-mt.so.3.3 libqt.so.3.3 - ln -s libqt-mt.so.3 libqt.so.3 - ln -s libqt-mt.so libqt.so - - # includes - cd ${S} - dodir ${QTBASE}/include/private - cp include/* ${D}/${QTBASE}/include/ - cp include/private/* ${D}/${QTBASE}/include/private/ - - # misc - insinto /etc/env.d - doins ${FILESDIR}/{45qt3,50qtdir3} - - dodir ${QTBASE}/tools/designer/templates - cd ${S} - cp tools/designer/templates/* ${D}/${QTBASE}/tools/designer/templates - - dodir ${QTBASE}/translations - cd ${S} - cp translations/* ${D}/${QTBASE}/translations - - dodir ${QTBASE}/etc - keepdir ${QTBASE}/etc/settings - - dodir ${QTBASE}/doc - - if use doc; then - cp -r ${S}/doc ${D}/${QTBASE} - cp -r ${S}/examples ${D}/${QTBASE} - cp -r ${S}/tutorial ${D}/${QTBASE} - fi - - # misc build reqs - dodir ${QTBASE}/mkspecs - cp -R ${S}/mkspecs/${PLATFORM} ${D}/${QTBASE}/mkspecs/ - - sed -e "s:${S}:${QTBASE}:g" \ - ${S}/.qmake.cache > ${D}${QTBASE}/.qmake.cache - - # plugins - cd ${S} - plugins=`find plugins -name "lib*.so" -print` - for x in $plugins; do - insinto ${QTBASE}/`dirname $x` - doins $x - done -} - -pkg_postinst() -{ - einfo - einfo "If you are upgrading Qt from an earlier version, it's possible that" - einfo "your buildkey has changed (based on use flags). This causes problems" - einfo "loading KDE plugins. If you have problems with KDE styles, the" - einfo "simple solution is to re-emerge kdelibs (and kdeartwork if you have it)." - einfo -} diff --git a/x11-libs/qt/qt-3.3.1-r1.ebuild b/x11-libs/qt/qt-3.3.1-r1.ebuild deleted file mode 100644 index d11d5430f874..000000000000 --- a/x11-libs/qt/qt-3.3.1-r1.ebuild +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.1-r1.ebuild,v 1.9 2004/06/24 22:07:16 agriffis Exp $ - -inherit eutils - -SRCTYPE="free" -DESCRIPTION="QT version ${PV}" -HOMEPAGE="http://www.trolltech.com/" - -SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-${SRCTYPE}-${PV}.tar.bz2" - -LICENSE="QPL-1.0 | GPL-2" -SLOT="3" -KEYWORDS="~x86 ~alpha ~ppc amd64 ~sparc hppa" -IUSE="cups nas postgres opengl mysql odbc gif doc firebird zlib icc sqlite ipv6 xinerama debug" - -DEPEND="virtual/x11 virtual/xft - media-libs/libpng media-libs/jpeg media-libs/libmng - >=media-libs/freetype-2 - gif? ( media-libs/giflib media-libs/libungif ) - nas? ( >=media-libs/nas-1.5 ) - odbc? ( dev-db/unixODBC ) - mysql? ( dev-db/mysql ) - sqlite? ( dev-db/sqlite ) - firebird? ( dev-db/firebird ) - opengl? ( virtual/opengl virtual/glu ) - postgres? ( dev-db/postgresql ) - cups? ( net-print/cups ) - zlib? ( sys-libs/zlib ) - icc? ( dev-lang/icc )" - -RDEPEND="${DEPEND}" - -S=${WORKDIR}/qt-x11-${SRCTYPE}-${PV} - -QTBASE=/usr/qt/3 -export QTDIR=${S} -export PLATFORM=linux-g++ - -src_unpack() { - unpack ${A} - - export QTDIR=${S} - cd ${S} - - cp configure configure.orig - sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure - - epatch ${FILESDIR}/qt-no-rpath-uic.patch - - epatch ${FILESDIR}/qfontdatabase_x11.diff - -# use icc && export PLATFORM=linux-icc -} - -src_compile() { - export QTDIR=${S} - export SYSCONF=${D}${QTBASE}/etc/settings - - # Let's just allow writing to these directories during Qt emerge - # as it makes Qt much happier. - addwrite "${QTBASE}/etc/settings" - addwrite "$HOME/.qt" - - use nas && myconf="${myconf} -system-nas-sound" - use gif && myconf="${myconf} -qt-gif" - use mysql && myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" - use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" - use firebird && myconf="${myconf} -plugin-sql-ibase" -# use oci8 && myconf="${myconf} -plugin-sql-oci" - use sqlite && myconf="${myconf} -plugin-sql-sqlite" - use odbc && myconf="${myconf} -plugin-sql-odbc" - use cups && myconf="${myconf} -cups" || myconf="${myconf} -no-cups" - use opengl && myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl" - use debug && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions" - use xinerama && myconf="${myconf} -xinerama" || myconf="${myconf} -no-xinerama" - use zlib && myconf="${myconf} -system-zlib" || myconf="${myconf} -qt-zlib" - use ipv6 && myconf="${myconf} -ipv6" || myconf="${myconf} -no-ipv6" - - export YACC='byacc -d' - - ./configure -sm -thread -stl -system-libjpeg -verbose -largefile \ - -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \ - -system-libpng -lpthread -xft -platform ${PLATFORM} -xplatform \ - ${PLATFORM} -xrender -prefix ${QTBASE} -fast ${myconf} \ - -dlopen-opengl || die - - export QTDIR=${S} - - emake src-qmake src-moc sub-src || die - LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" emake sub-tools || die -} - -src_install() { - export QTDIR=${S} - - # binaries - into $QTBASE - dobin bin/* - - # libraries - - dolib lib/libqt-mt.so.3.3.1 lib/libqui.so.1.0.0 - dolib lib/lib{editor,qassistantclient,designercore}.a lib/libqt-mt.la - - cd ${D}/$QTBASE/lib - for x in libqui.so ; do - ln -s $x.1.0.0 $x.1.0 - ln -s $x.1.0 $x.1 - ln -s $x.1 $x - done - - # version symlinks - 3.3.1->3.3->3->.so - ln -s libqt-mt.so.3.3.1 libqt-mt.so.3.3 - ln -s libqt-mt.so.3.3 libqt-mt.so.3 - ln -s libqt-mt.so.3 libqt-mt.so - - # libqt -> libqt-mt symlinks - ln -s libqt-mt.so.3.3.1 libqt.so.3.3.1 - ln -s libqt-mt.so.3.3 libqt.so.3.3 - ln -s libqt-mt.so.3 libqt.so.3 - ln -s libqt-mt.so libqt.so - - # includes - cd ${S} - dodir ${QTBASE}/include/private - cp include/* ${D}/${QTBASE}/include/ - cp include/private/* ${D}/${QTBASE}/include/private/ - - # misc - insinto /etc/env.d - doins ${FILESDIR}/{45qt3,50qtdir3} - - dodir ${QTBASE}/tools/designer/templates - cd ${S} - cp tools/designer/templates/* ${D}/${QTBASE}/tools/designer/templates - - dodir ${QTBASE}/translations - cd ${S} - cp translations/* ${D}/${QTBASE}/translations - - dodir ${QTBASE}/etc - keepdir ${QTBASE}/etc/settings - - dodir ${QTBASE}/doc - - if use doc; then - cp -r ${S}/doc ${D}/${QTBASE} - cp -r ${S}/examples ${D}/${QTBASE} - cp -r ${S}/tutorial ${D}/${QTBASE} - fi - - # misc build reqs - dodir ${QTBASE}/mkspecs - cp -R ${S}/mkspecs/${PLATFORM} ${D}/${QTBASE}/mkspecs/ - - sed -e "s:${S}:${QTBASE}:g" \ - ${S}/.qmake.cache > ${D}${QTBASE}/.qmake.cache - - # plugins - cd ${S} - plugins=`find plugins -name "lib*.so" -print` - for x in $plugins; do - insinto ${QTBASE}/`dirname $x` - doins $x - done - - # needed to fix lib64 issues on amd64, see bug #45669 - use amd64 && ln -s ${QTBASE}/lib ${D}/${QTBASE}/lib64 -} diff --git a/x11-libs/qt/qt-3.3.1-r2.ebuild b/x11-libs/qt/qt-3.3.1-r2.ebuild deleted file mode 100644 index fbf0dbbc0a91..000000000000 --- a/x11-libs/qt/qt-3.3.1-r2.ebuild +++ /dev/null @@ -1,193 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.1-r2.ebuild,v 1.7 2004/06/28 19:20:40 agriffis Exp $ - -inherit eutils - -SRCTYPE="free" -DESCRIPTION="QT version ${PV}" -HOMEPAGE="http://www.trolltech.com/" - -SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-${SRCTYPE}-${PV}.tar.bz2" - -LICENSE="QPL-1.0 | GPL-2" -SLOT="3" -KEYWORDS="~x86 ~alpha ~ppc ~amd64 sparc ~hppa mips" -IUSE="cups debug doc firebird gif icc ipv6 mysql nas odbc opengl postgres sqlite xinerama zlib" - -DEPEND="virtual/x11 virtual/xft - media-libs/libpng media-libs/jpeg media-libs/libmng - >=media-libs/freetype-2 - gif? ( media-libs/giflib media-libs/libungif ) - nas? ( >=media-libs/nas-1.5 ) - odbc? ( dev-db/unixODBC ) - mysql? ( dev-db/mysql ) - sqlite? ( dev-db/sqlite ) - firebird? ( dev-db/firebird ) - opengl? ( virtual/opengl virtual/glu ) - postgres? ( dev-db/postgresql ) - cups? ( net-print/cups ) - zlib? ( sys-libs/zlib ) - icc? ( dev-lang/icc )" - -RDEPEND="${DEPEND}" - -S=${WORKDIR}/qt-x11-${SRCTYPE}-${PV} - -QTBASE=/usr/qt/3 -export QTDIR=${S} -export PLATFORM=linux-g++ - -src_unpack() { - unpack ${A} - - export QTDIR=${S} - cd ${S} - - cp configure configure.orig - sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure - - epatch ${FILESDIR}/qt-no-rpath-uic.patch - epatch ${FILESDIR}/qfontdatabase_x11.diff - epatch ${FILESDIR}/${P}-qclipboard-fix.patch - - # mips requires this patch to pass a CFLAG to gcc/g++ (which passes it to the assembler). - # It tells the assembler to relax branches on mips, otherwise we get build errors. - use mips && epatch ${FILESDIR}/${P}-mips-relax-branches.patch - -# use icc && export PLATFORM=linux-icc -} - -src_compile() { - export QTDIR=${S} - export SYSCONF=${D}${QTBASE}/etc/settings - - # Let's just allow writing to these directories during Qt emerge - # as it makes Qt much happier. - addwrite "${QTBASE}/etc/settings" - addwrite "$HOME/.qt" - - use nas && myconf="${myconf} -system-nas-sound" - use gif && myconf="${myconf} -qt-gif" - use mysql && myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" || myconf="${myconf} -no-sql-mysql" - use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" || myconf="${myconf} -no-sql-psql" - use firebird && myconf="${myconf} -plugin-sql-ibase" || myconf="${myconf} -no-sql-ibase" -# use oci8 && myconf="${myconf} -plugin-sql-oci" || myconf="${myconf} -no-sql-oci" - use sqlite && myconf="${myconf} -plugin-sql-sqlite" || myconf="${myconf} -no-sql-sqlite" - use odbc && myconf="${myconf} -plugin-sql-odbc" || myconf="${myconf} -no-sql-odbc" - use cups && myconf="${myconf} -cups" || myconf="${myconf} -no-cups" - use opengl && myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl" - use debug && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions" - use xinerama && myconf="${myconf} -xinerama" || myconf="${myconf} -no-xinerama" - use zlib && myconf="${myconf} -system-zlib" || myconf="${myconf} -qt-zlib" - use ipv6 && myconf="${myconf} -ipv6" || myconf="${myconf} -no-ipv6" - - export YACC='byacc -d' - - ./configure -sm -thread -stl -system-libjpeg -verbose -largefile \ - -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \ - -system-libpng -lpthread -xft -platform ${PLATFORM} -xplatform \ - ${PLATFORM} -xrender -prefix ${QTBASE} -fast ${myconf} \ - -dlopen-opengl || die - - export QTDIR=${S} - - emake src-qmake src-moc sub-src || die - LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" emake sub-tools || die -} - -src_install() { - export QTDIR=${S} - - # binaries - into $QTBASE - dobin bin/* - - # libraries - - dolib lib/libqt-mt.so.3.3.1 lib/libqui.so.1.0.0 - dolib lib/lib{editor,qassistantclient,designercore}.a lib/libqt-mt.la - - cd ${D}/$QTBASE/lib - for x in libqui.so ; do - ln -s $x.1.0.0 $x.1.0 - ln -s $x.1.0 $x.1 - ln -s $x.1 $x - done - - # version symlinks - 3.3.1->3.3->3->.so - ln -s libqt-mt.so.3.3.1 libqt-mt.so.3.3 - ln -s libqt-mt.so.3.3 libqt-mt.so.3 - ln -s libqt-mt.so.3 libqt-mt.so - - # libqt -> libqt-mt symlinks - ln -s libqt-mt.so.3.3.1 libqt.so.3.3.1 - ln -s libqt-mt.so.3.3 libqt.so.3.3 - ln -s libqt-mt.so.3 libqt.so.3 - ln -s libqt-mt.so libqt.so - - # includes - cd ${S} - dodir ${QTBASE}/include/private - cp include/* ${D}/${QTBASE}/include/ - cp include/private/* ${D}/${QTBASE}/include/private/ - - # misc - insinto /etc/env.d - doins ${FILESDIR}/{45qt3,50qtdir3} - - dodir ${QTBASE}/tools/designer/templates - cd ${S} - cp tools/designer/templates/* ${D}/${QTBASE}/tools/designer/templates - - dodir ${QTBASE}/translations - cd ${S} - cp translations/* ${D}/${QTBASE}/translations - - dodir ${QTBASE}/etc - keepdir ${QTBASE}/etc/settings - - dodir ${QTBASE}/doc - - if use doc; then - cp -r ${S}/doc ${D}/${QTBASE} - - cd ${S}/examples - find . -name Makefile | while read MAKEFILE - do - cp ${MAKEFILE} ${MAKEFILE}.old - sed -e 's:${S}:${QTBASE}:g' ${MAKEFILE}.old > ${MAKEFILE} - rm -f ${MAKEFILE}.old - done - - cp -r ${S}/examples ${D}/${QTBASE} - - cd ${S}/tutorial - find . -name Makefile | while read MAKEFILE - do - cp ${MAKEFILE} ${MAKEFILE}.old - sed -e 's:${S}:${QTBASE}:g' ${MAKEFILE}.old > ${MAKEFILE} - rm -f ${MAKEFILE}.old - done - - cp -r ${S}/tutorial ${D}/${QTBASE} - fi - - # misc build reqs - dodir ${QTBASE}/mkspecs - cp -R ${S}/mkspecs/${PLATFORM} ${D}/${QTBASE}/mkspecs/ - - sed -e "s:${S}:${QTBASE}:g" \ - ${S}/.qmake.cache > ${D}${QTBASE}/.qmake.cache - - # plugins - cd ${S} - plugins=`find plugins -name "lib*.so" -print` - for x in $plugins; do - insinto ${QTBASE}/`dirname $x` - doins $x - done - - # needed to fix lib64 issues on amd64, see bug #45669 - use amd64 && ln -s ${QTBASE}/lib ${D}/${QTBASE}/lib64 -} |