]> git.sesse.net Git - mlt/commitdiff
Add support for Qt 5, drop support for Qt 3 and KDE 3.
authorDan Dennedy <dan@dennedy.org>
Thu, 8 Aug 2013 06:55:16 +0000 (23:55 -0700)
committerDan Dennedy <dan@dennedy.org>
Thu, 8 Aug 2013 06:55:16 +0000 (23:55 -0700)
src/modules/qimage/Makefile
src/modules/qimage/configure
src/modules/qimage/consumer_qglsl.cpp
src/modules/qimage/kdenlivetitle_wrapper.cpp
src/modules/qimage/qimage_wrapper.cpp
src/modules/qimage/transition_vqm.cpp

index eedfc6159c7bfce809369ed915595391a7b688cb..7b9e71bfb826a513006288f4873976fc6b9a4276 100644 (file)
@@ -21,10 +21,6 @@ CXXFLAGS += $(CFLAGS) $(QTCXXFLAGS) $(EXIFCXXFLAGS) $(KDECXXFLAGS) -Wno-deprecat
 
 LDFLAGS += $(QTLIBS) $(EXIFLIBS) $(KDELIBS)
 
-ifdef USE_KDE3
-LDFLAGS += -lkio
-endif
-
 SRCS := $(OBJS:.o=.c) $(CPPOBJS:.o=.cpp)
 
 all:   $(TARGET)
index a9ec7f8170b59d779a50f4dbe1b70ed3a3492c58..efd10db44fed634beb3c4f4bc793ea493cc32e0e 100755 (executable)
@@ -5,9 +5,8 @@ then
        cat << EOF
 QImage options:
 
-  --force-qt3            - Force compile against Qt3 if Qt4 is present on the system
-  --qimage-libdir         - Location of QT lib directory [/usr/lib/qt4 or /usr/lib/qt3]
-  --qimage-includedir     - Location of QT include directory [/usr/include/qt4 or /usr/include/qt3]
+  --qimage-libdir         - Location of QT lib directory [/usr/lib/qt4]
+  --qimage-includedir     - Location of QT include directory [/usr/include/qt4]
   --kde-libdir            - Location of KDE lib directory [/usr/lib]
   --kde-includedir        - Location of KDE include directory [/usr/include/kde]
   --exif-libdir           - Location of libexif lib directory [/usr/lib]
@@ -41,8 +40,6 @@ else
                qimage_libdir="$QTDIR/lib"
        fi
 
-       export force_qt3=
-       export qt4_found=
        export without_kde=
 
        for i in "$@"
@@ -54,7 +51,6 @@ else
                        --kde-includedir=* )    kde_includedir="${i#--kde-includedir=}" ;;
                        --exif-libdir=* )       exif_libdir="${i#--exif-libdir=}" ;;
                        --exif-includedir=* )   exif_includedir="${i#--exif-includedir=}" ;;
-                       --force-qt3 )           force_qt3="true" ;;
                        --without-kde ) without_kde="true" ;;
                esac
        done
@@ -65,85 +61,79 @@ else
        pkg-config --exists 'libexif'
        if [ $? -eq 0 ]
        then
-           echo "Libexif found, enabling auto rotate"
-           echo "#define USE_EXIF" >> config.h
-           echo "USE_EXIF=1" >> config.mak
-           echo EXIFCXXFLAGS=$(pkg-config --cflags libexif ) >> config.mak
-           echo EXIFLIBS=$(pkg-config --libs libexif) >> config.mak
+               echo "- Libexif found, enabling auto rotate"
+               echo "#define USE_EXIF" >> config.h
+               echo "USE_EXIF=1" >> config.mak
+               echo EXIFCXXFLAGS=$(pkg-config --cflags libexif ) >> config.mak
+               echo EXIFLIBS=$(pkg-config --libs libexif) >> config.mak
        elif [ -d "$exif_libdir" -a -d "$exif_includedir" ]
        then
                # test if we have a libexif
                if [ -f "$exif_libdir/exif-data.h" ]
                then
-                       echo "Libexif found, enabling auto rotate"
+                       echo "Libexif found, enabling auto rotate"
                        echo "#define USE_EXIF" >> config.h
                        echo "USE_EXIF=1" >> config.mak
                        echo EXIFCXXFLAGS=-I$exif_includedir >> config.mak
-                        echo EXIFLIBS=-L$exif_libdir lexif >> config.mak
+                       echo EXIFLIBS=-L$exif_libdir lexif >> config.mak
                else
-                       echo "Libexif not found, disabling exif features (auto rotate)"
+                       echo "Libexif not found, disabling exif features (auto rotate)"
                fi
        fi
 
        if [ -d "$qimage_libdir" -a -d "$qimage_includedir" ]
        then
-               # test if we have a Qt3 or Qt4
-               if [ -f "$qimage_libdir/libQtCore.so" ] || [ -d "$qimage_libdir/QtGui.framework" ] || [ -f "$qimage_libdir/libQtCore4.a" ] && [ "$force_qt3" = "" ]
+               # test if we have a Qt5 or Qt4
+               if [ -f "$qimage_libdir/libQt5Core.so" ]
                then
-                       echo "Qt version 4.x detected, will compile Qt4 qimage producer"
-                       qt4_found=true
+                       echo "- Qt version 5.x detected"
+                       # TODO re-enable KDE support when KDE Frameworks 5 widely available
+                       without_kde=true
+               elif [ -f "$qimage_libdir/libQtCore.so" ] || [ -d "$qimage_libdir/QtGui.framework" ] || [ -f "$qimage_libdir/libQtCore4.a" ] && [ "$force_qt3" = "" ]
+               then
+                       echo "- Qt version 4.x detected"
                else
-                       echo "Qt version 3.x detected, will compile Qt3 qimage producer"
+                       echo "- Qt not found: disabling"
+                       touch ../disable-qimage
+                       exit 0
                fi
 
-               echo "Include directory: " $qimage_includedir
+               echo "Include directory: " $qimage_includedir
 
-               if [ "$qt4_found" != "" ] && [ "$force_qt3" = "" ]
+               if [ -f "$qimage_libdir/libQt5Core.so" ]
                then
-                       echo "#define USE_QT4" >> config.h
-                       echo "USE_QT4=1" >> config.mak
-                       if [ -d "$qimage_libdir/QtGui.framework" ]
-                       then
-                               echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
-                               echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
-                       elif [ -f "$qimage_libdir/libQtCore4.a" ]
-                       then
-                               echo QTCXXFLAGS=-I$qimage_includedir >> config.mak
-                               echo QTLIBS=-Wl,-enable-auto-import -L$qimage_libdir -lQtCore4 -lQtGui4 -lQtXml4 -lQtSvg4 -lQtOpenGL4 >> config.mak
-                       else
-                               echo QTCXXFLAGS=-I$qimage_includedir >> config.mak
-                               echo QTLIBS=-L$qimage_libdir -lQtCore -lQtGui -lQtXml -lQtSvg -lQtOpenGL >> config.mak
-                       fi
+                       echo QTCXXFLAGS=-I$qimage_includedir -I$qimage_includedir/QtCore -I$qimage_includedir/QtGui -I$qimage_includedir/QtXml -I$qimage_includedir/QtSvg -I$qimage_includedir/QtOpenGL -I$qimage_includedir/QtWidgets >> config.mak
+                       echo QTLIBS=-Wl,-rpath-link,"$qimage_includedir" -L"$qimage_libdir" -lQt5Core -lQt5Gui -lQt5Xml -lQt5Svg -lQt5OpenGL -lQt5Widgets >> config.mak
+               elif [ -d "$qimage_libdir/QtGui.framework" ]
+               then
+                       echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
+                       echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
+               elif [ -f "$qimage_libdir/libQtCore4.a" ]
+               then
+                       echo QTCXXFLAGS=-I$qimage_includedir -I$qimage_includedir/QtCore -I$qimage_includedir/QtGui -I$qimage_includedir/QtXml -I$qimage_includedir/QtSvg -I$qimage_includedir/QtOpenGL >> config.mak
+                       echo QTLIBS=-Wl,-enable-auto-import -L$qimage_libdir -lQtCore4 -lQtGui4 -lQtXml4 -lQtSvg4 -lQtOpenGL4 >> config.mak
                else
-                   if [ "$without_kde" = "" ] && [ -d "$kde_includedir" ]
-                   then
-                           echo "#define USE_KDE3" >> config.h
-                           echo "USE_KDE3=1" >> config.mak
-                           echo "#define USE_QT3" >> config.h
-                           echo "USE_QT3=1" >> config.mak
-                           echo QTCXXFLAGS=-I$qimage_includedir -I$kde_includedir -DQT_THREAD_SUPPORT >> config.mak
-                               echo QTLIBS=-L$qimage_libdir -L$kde_libdir -lqt-mt >> config.mak
-                   else
-                           echo "qimage: KDE environment not found or disabled by request - disabling extra image formats"
-                           echo "#define USE_QT3" >> config.h
-                           echo "USE_QT3=1" >> config.mak
-                           echo QTCXXFLAGS=-I$qimage_includedir -DQT_THREAD_SUPPORT>> config.mak
-                           echo QTLIBS=-L$qimage_libdir -lqt-mt >> config.mak
-                   fi
+                       echo QTCXXFLAGS=-I$qimage_includedir  -I$qimage_includedir/QtCore -I$qimage_includedir/QtGui -I$qimage_includedir/QtXml -I$qimage_includedir/QtSvg -I$qimage_includedir/QtOpenGL >> config.mak
+                       echo QTLIBS=-L$qimage_libdir -lQtCore -lQtGui -lQtXml -lQtSvg -lQtOpenGL >> config.mak
                fi
        else
                pkg-config --exists 'QtGui >= 4'
-               if [ $? -eq 0 ] && [ "$force_qt3" = "" ]
+               if [ $? -eq 0 ]
                then
-                       echo "Qt version 4.x detected, will compile Qt4 qimage producer"
-                       qt4_found=true
-                       echo "#define USE_QT4" >> config.h
-                       echo "USE_QT4=1" >> config.mak
+                       echo "- Qt version 4.x detected"
                        echo QTCXXFLAGS=$(pkg-config --cflags QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
                        echo QTLIBS=$(pkg-config --libs QtCore QtGui QtXml QtSvg QtOpenGL) >> config.mak
                else
-                       echo "qimage: QT environment not found - disabling"
-                       touch ../disable-qimage
+                       pkg-config --exists 'Qt5Gui'
+                       if [ $? -eq 0 ]
+                       then
+                               echo "- Qt version 5.x detected"
+                               echo QTCXXFLAGS=$(pkg-config --cflags Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5OpenGL Qt5Widgets) >> config.mak
+                               echo QTLIBS=$(pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5OpenGL Qt5Widgets) >> config.mak
+                       else
+                               echo "- Qt not found - disabling"
+                               touch ../disable-qimage
+                       fi
                fi
        fi
 
@@ -163,7 +153,7 @@ else
                        fi
                        if [ -d "$kde_includedir" ] && [ -d "$kde_libdir" ]
                        then
-                               echo "KDE version 4.x detected, will enable extra image formats"
+                               echo "KDE version 4.x detected, will enable extra image formats"
                                echo "#define USE_KDE4" >> config.h
                                echo "USE_KDE4=1" >> config.mak
                                echo KDECXXFLAGS=-I$kde_includedir >> config.mak
index d87a7b75810cf1d4827ac929640add61015e509d..660bb3b51a07f350261f4c10947233ef972dac9b 100644 (file)
@@ -18,9 +18,9 @@
  */
 
 #include <framework/mlt.h>
-#include <QtGui/QApplication>
-#include <QtCore/QLocale>
-#include <QtOpenGL/QGLWidget>
+#include <QApplication>
+#include <QLocale>
+#include <QGLWidget>
 
 static void onThreadStarted(mlt_properties owner, mlt_consumer consumer)
 {
index 1f701f1b4c1bc6e31780360f9450007e7bef4864..2d5bc4d6bf0df243cebfbc52348a552213771f4a 100755 (executable)
 
 #include "kdenlivetitle_wrapper.h"
 
-#include <QtGui/QImage>
-#include <QtGui/QPainter>
-#include <QtCore/QDebug>
-#include <QtGui/QApplication>
-#include <QtCore/QMutex>
-#include <QtGui/QGraphicsScene>
-#include <QtGui/QGraphicsTextItem>
-#include <QtSvg/QGraphicsSvgItem>
-#include <QtSvg/QSvgRenderer>
-#include <QtGui/QTextCursor>
-#include <QtGui/QTextDocument>
-#include <QtGui/QStyleOptionGraphicsItem>
-
-#include <QtCore/QString>
-
-#include <QtXml/QDomElement>
-#include <QtCore/QRectF>
-#include <QtGui/QColor>
-#include <QtGui/QWidget>
+#include <QImage>
+#include <QPainter>
+#include <QDebug>
+#include <QApplication>
+#include <QMutex>
+#include <QGraphicsScene>
+#include <QGraphicsTextItem>
+#include <QGraphicsSvgItem>
+#include <QSvgRenderer>
+#include <QTextCursor>
+#include <QTextDocument>
+#include <QStyleOptionGraphicsItem>
+
+#include <QString>
+
+#include <QDomElement>
+#include <QRectF>
+#include <QColor>
+#include <QWidget>
 #include <framework/mlt_log.h>
 
 #if QT_VERSION >= 0x040600
-#include <QtGui/QGraphicsEffect>
-#include <QtGui/QGraphicsBlurEffect>
-#include <QtGui/QGraphicsDropShadowEffect>
+#include <QGraphicsEffect>
+#include <QGraphicsBlurEffect>
+#include <QGraphicsDropShadowEffect>
 #endif
 
 static QApplication *app = NULL;
@@ -260,7 +260,7 @@ void loadFromXml( mlt_producer producer, QGraphicsScene *scene, const char *temp
                                if (base64.isEmpty()){
                                        img.load(url);
                                }else{
-                                       img.loadFromData(QByteArray::fromBase64(base64.toAscii()));
+                                       img.loadFromData(QByteArray::fromBase64(base64.toLatin1()));
                                }
                                ImageItem *rec = new ImageItem(img);
                                scene->addItem( rec );
@@ -275,7 +275,7 @@ void loadFromXml( mlt_producer producer, QGraphicsScene *scene, const char *temp
                                        rec = new QGraphicsSvgItem(url);
                                }else{
                                        rec = new QGraphicsSvgItem();
-                                       QSvgRenderer *renderer= new QSvgRenderer(QByteArray::fromBase64(base64.toAscii()), rec );
+                                       QSvgRenderer *renderer= new QSvgRenderer(QByteArray::fromBase64(base64.toLatin1()), rec );
                                        rec->setSharedRenderer(renderer);
                                }
                                if (rec){
index 18a0c9f2e7334eaf8068b9038179bc81ce934d86..fc871e6cb45d201d2e3f42060843c1070f723a46 100644 (file)
 
 #include "qimage_wrapper.h"
 
-#ifdef USE_QT3
-#include <qimage.h>
-#include <qmutex.h>
-
-#ifdef USE_KDE3
-#include <kinstance.h>
-#include <kimageio.h>
-#endif
-#endif
-
 #ifdef USE_KDE4
 #include <kcomponentdata.h>
 #endif
 
-#ifdef USE_QT4
-#include <QtGui/QImage>
-#include <QtCore/QSysInfo>
-#include <QtGui/QApplication>
-#include <QtCore/QMutex>
-#include <QtCore/QtEndian>
-#include <QtCore/QTemporaryFile>
-#include <QtCore/QLocale>
-#endif
+#include <QImage>
+#include <QSysInfo>
+#include <QApplication>
+#include <QMutex>
+#include <QtEndian>
+#include <QTemporaryFile>
+#include <QLocale>
 
 #ifdef USE_EXIF
 #include <libexif/exif-data.h>
@@ -61,8 +49,6 @@ extern "C" {
 
 #ifdef USE_KDE4
 static KComponentData *instance = 0L;
-#elif USE_KDE3
-static KInstance *instance = 0L;
 #endif
 
 static QApplication *app = NULL;
@@ -72,7 +58,7 @@ static void qimage_delete( void *data )
        QImage *image = ( QImage * )data;
        delete image;
        image = NULL;
-#if defined(USE_KDE3) || defined(USE_KDE4) 
+#if defined(USE_KDE4)
        if (instance) delete instance;
        instance = 0L;
 #endif
@@ -85,11 +71,6 @@ void init_qimage()
        if ( !instance ) {
            instance = new KComponentData( "qimage_prod" );
        }
-#elif defined(USE_KDE3)
-       if ( !instance ) {
-           instance = new KInstance( "qimage_prod" );
-           KImageIO::registerFormats();
-       }
 #endif
   
 }
@@ -278,7 +259,6 @@ void refresh_image( producer_qimage self, mlt_frame frame, mlt_image_format form
                        || strcmp( interps, "bicubic" ) == 0 )
                        interp = 1;
 
-#ifdef USE_QT4
                // Note - the original qimage is already safe and ready for destruction
                if ( qimage->depth() == 1 )
                {
@@ -290,14 +270,6 @@ void refresh_image( producer_qimage self, mlt_frame frame, mlt_image_format form
                QImage scaled = interp == 0 ? qimage->scaled( QSize( width, height ) ) :
                        qimage->scaled( QSize(width, height), Qt::IgnoreAspectRatio, Qt::SmoothTransformation );
                int has_alpha = scaled.hasAlphaChannel();
-#endif
-
-#ifdef USE_QT3
-               // Note - the original qimage is already safe and ready for destruction
-               QImage scaled = interp == 0 ? qimage->scale( width, height, QImage::ScaleFree ) :
-                       qimage->smoothScale( width, height, QImage::ScaleFree );
-               self->has_alpha = 1;
-#endif
 
                // Store width and height
                self->current_width = width;
index d08a308621dbdb9b205040c60bb19048404dddb7..c926b165803c98b3862d300c212883bb9450a50e 100644 (file)
 #include <string.h>
 #include <math.h>
 #include <stdio.h>
-#include <QtGui/QtGui>
+#include <QApplication>
+#include <QImage>
+#include <QColor>
+#include <QLocale>
+#include <QPainter>
+#include <QPalette>
+#include <QFont>
+#include <QString>
 
 static QApplication *app = 0;