[libmediaart] extract: Port Qt backend to Qt5 and NEMO platform
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libmediaart] extract: Port Qt backend to Qt5 and NEMO platform
- Date: Thu, 6 Feb 2014 17:47:21 +0000 (UTC)
commit 5bab8ee72d2956e3814ced2ff3824bbadd2c8663
Author: Andrew den Exter <andrew den exter jollamobile com>
Date: Thu Feb 6 17:14:18 2014 +0000
extract: Port Qt backend to Qt5 and NEMO platform
Commits squashed and based on tracker commits:
----------------------------------------------
8b3b8fe Fixes after review for Qt5 port
934eb10 Use minimal in Nemo for QGuiApplication for in case the compositor isn't running yet. Use
QGuiApplication instead of QCoreApplicati
601be18 Port to Qt5.
8dfadf3 tracker-extract: Fix compile of Qt media art backend
configure.ac | 70 +++++++++++++++++++++++++++++++++++---------
libmediaart/extractqt.cpp | 29 +++++++++++++++---
2 files changed, 79 insertions(+), 20 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 2cf04e2..81777b4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -139,7 +139,8 @@ CFLAGS="$CFLAGS"
# Library required versions
GLIB_REQUIRED=2.35.1
GDKPIXBUF_REQUIRED=2.12.0
-QT_REQUIRED=4.7.1
+QT5_REQUIRED=5.0.0
+QT4_REQUIRED=4.7.1
# Check requirements for libmediaart
LIBMEDIAART_REQUIRED="glib-2.0 >= $GLIB_REQUIRED
@@ -213,30 +214,51 @@ selected_for_media_art="no (disabled)"
##################################################################
if test "x$enable_qt" != "xno" && test "x$enable_gdkpixbuf" != "xyes"; then
- PKG_CHECK_MODULES(QT,
- [QtGui >= $QT_REQUIRED],
- [have_qt=yes],
- [have_qt=no])
-
- LIBMEDIAART_CFLAGS="$LIBMEDIAART_CFLAGS $QT_CFLAGS"
- LIBMEDIAART_LIBS="$LIBMEDIAART_LIBS $QT_LIBS"
-
- if test "x$have_qt" = "xyes"; then
+ PKG_CHECK_MODULES(QT5,
+ [Qt5Gui >= $QT5_REQUIRED],
+ [have_qt5=yes],
+ [have_qt5=no])
+ PKG_CHECK_MODULES(QT4,
+ [QtGui >= $QT4_REQUIRED],
+ [have_qt4=yes],
+ [have_qt4=no])
+
+ if test "x$have_qt5" = "xyes"; then
+ LIBMEDIAART_CFLAGS="$LIBMEDIAART_CFLAGS $QT5_CFLAGS -fPIC"
+ LIBMEDIAART_LIBS="$LIBMEDIAART_LIBS $QT5_LIBS"
+
+ AC_DEFINE(HAVE_QT5, [], [Define if we have Qt5])
AC_DEFINE(HAVE_QT, [], [Define if we have Qt])
LIBMEDIAART_BACKEND=QtGui
- selected_for_media_art="yes (qt)"
+
+ selected_for_media_art="yes (qt5)"
+ else
+ if test "x$have_qt4" = "xyes"; then
+ LIBMEDIAART_CFLAGS="$LIBMEDIAART_CFLAGS $QT4_CFLAGS -fPIC"
+ LIBMEDIAART_LIBS="$LIBMEDIAART_LIBS $QT4_LIBS"
+
+ AC_DEFINE(HAVE_QT4, [], [Define if we have Qt4])
+ AC_DEFINE(HAVE_QT, [], [Define if we have Qt])
+
+ selected_for_media_art="yes (qt4)"
+ fi
fi
else
- have_qt="no (disabled)"
+ have_qt4="no (disabled)"
+ have_qt5="no (disabled)"
fi
if test "x$enable_qt" = "xyes"; then
- if test "x$have_qt" != "xyes"; then
- AC_MSG_ERROR([Couldn't find Qt >= $QT_REQUIRED.])
+ if test "x$have_qt5" != "xyes"; then
+ if test "x$have_qt4" != "xyes"; then
+ AC_MSG_ERROR([Couldn't find Qt4 >= $QT4_REQUIRED or Qt5 >= $QT5_REQUIRED.])
+ fi
fi
fi
-AM_CONDITIONAL(HAVE_QT, test "x$have_qt" = "xyes")
+AM_CONDITIONAL(HAVE_QT4, test "x$have_qt4" = "xyes")
+AM_CONDITIONAL(HAVE_QT5, test "x$have_qt5" = "xyes")
+AM_CONDITIONAL(HAVE_QT, test "x$have_qt5" = "xyes" || test "x$have_qt4" = "xyes")
if test "x$enable_gdkpixbuf" != "xno" && test "x$enable_quill" != "xyes"; then
PKG_CHECK_MODULES(GDKPIXBUF,
@@ -266,6 +288,22 @@ AM_CONDITIONAL(HAVE_GDKPIXBUF, test "x$have_gdkpixbuf" = "xyes")
AC_SUBST(LIBMEDIAART_BACKEND)
+#################################################################
+# Check if we should install nemo specific features
+#################################################################
+
+AC_ARG_ENABLE(nemo,
+ AS_HELP_STRING([--enable-nemo],
+ [enable nemo specific [[default=no]]]),
+ [enable_nemo="$enableval"],
+ [enable_nemo=no])
+
+AM_CONDITIONAL(HAVE_NEMO, test "x$enable_nemo" = "xyes")
+
+if test "x$enable_nemo" = "xyes" ; then
+ AC_DEFINE(HAVE_NEMO, 1, [Define if we enable Nemo specific features])
+fi
+
####################################################################
# Should we build GLib based unit tests
####################################################################
@@ -319,4 +357,6 @@ Build Configuration:
Enable documentation: $enable_gtk_doc
Support media art processing: $selected_for_media_art
+
+ Support Nemo $enable_nemo
"
diff --git a/libmediaart/extractqt.cpp b/libmediaart/extractqt.cpp
index 7651189..d41cc10 100644
--- a/libmediaart/extractqt.cpp
+++ b/libmediaart/extractqt.cpp
@@ -20,31 +20,50 @@
* Philip Van Hoof <philip codeminded be>
*/
-#include "tracker-main.h"
+#include "config.h"
#include <QFile>
#include <QBuffer>
#include <QImageReader>
#include <QImageWriter>
+#ifdef HAVE_QT5
+#include <QCoreApplication>
+#else
#include <QApplication>
+#endif
#include <QColor>
#include <QPainter>
#include <glib.h>
-#include "tracker-media-art-generic.h"
+#ifdef HAVE_NEMO
+#include <stdlib.h>
+#endif
G_BEGIN_DECLS
+#ifdef HAVE_QT5
+static QGuiApplication *app = NULL;
+#else /* HAVE_QT4 (we fallback to Qt4) */
static QApplication *app = NULL;
+#endif /* HAVE_QT5 */
void
media_art_plugin_init (void)
{
- int argc = 0;
- char *argv[2] = { NULL, NULL };
+ int argc = 1;
+ char *argv[2] = { (char*) "libmediaart", NULL };
- app = new QApplication (argc, argv, QApplication::Tty);
+#ifdef HAVE_QT5
+
+#ifdef HAVE_NEMO
+ setenv("QT_QPA_PLATFORM", "minimal", 1);
+#endif /* HAVE_NEMO */
+
+ app = new QGuiApplication (argc, argv);
+#else /* HAVE_QT4 (we fallback to Qt4) */
+ app = new QApplication (argc, argv, QApplication::Tty);
+#endif /* HAVE_QT5 */
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]