ソースを参照

Merge branch 'fix-ctkIconEnginePlugin-for-qt4'

* fix-ctkIconEnginePlugin-for-qt4:
  Fix ctkIconEnginePlugin moc-ing with Qt 4
  Make ctkIconEnginePlugin derive from QIconEngineV2 for Qt 4
Julien Finet 10 年 前
コミット
9e1c02581d
共有2 個のファイルを変更した24 個の追加3 個の削除を含む
  1. 8 0
      Libs/Widgets/ctkIconEnginePlugin.cpp
  2. 16 3
      Libs/Widgets/ctkIconEnginePlugin.h

+ 8 - 0
Libs/Widgets/ctkIconEnginePlugin.cpp

@@ -35,7 +35,11 @@ public:
 
 //------------------------------------------------------------------------------
 ctkIconEnginePlugin::ctkIconEnginePlugin(QObject* parentObject)
+#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
   : QIconEnginePlugin(parentObject)
+#else
+  : QIconEnginePluginV2(parentObject)
+#endif
   , d_ptr(new ctkIconEnginePluginPrivate)
 {
 }
@@ -46,7 +50,11 @@ ctkIconEnginePlugin::~ctkIconEnginePlugin()
 }
 
 //------------------------------------------------------------------------------
+#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
 QIconEngine* ctkIconEnginePlugin::create(const QString& fileName)
+#else
+QIconEngineV2* ctkIconEnginePlugin::create(const QString& fileName)
+#endif
 {
   Q_D(ctkIconEnginePlugin);
   Q_UNUSED(fileName);

+ 16 - 3
Libs/Widgets/ctkIconEnginePlugin.h

@@ -21,14 +21,19 @@
 #ifndef __ctkIconEnginePlugin_h
 #define __ctkIconEnginePlugin_h
 
-#include "ctkWidgetsExport.h"
 // Qt includes
+#if QT_VERSION >= 0x050000
 # include <QIconEngine>
 # include <QIconEnginePlugin>
+#else
+# include <QIconEngineV2>
+# include <QIconEnginePluginV2>
+#endif
 
 // CTK includes
 #include "ctkPimpl.h"
 #include "ctkPixmapIconEngine.h"
+#include "ctkWidgetsExport.h"
 
 class ctkIconEnginePluginPrivate;
 class ctkIconEnginePrivate;
@@ -43,15 +48,23 @@ class ctkIconEnginePrivate;
 /// don't forget to declare in the cpp file:
 ///   Q_EXPORT_PLUGIN2(yourpluginName, ctkIconEnginePlugin)
 class CTK_WIDGETS_EXPORT ctkIconEnginePlugin
+// Can't use QT_VERSION_CHECK macro for Qt 4 moc parsing
+#if QT_VERSION >= 0x050000
   : public QIconEnginePlugin
+#else
+  : public QIconEnginePluginV2
+#endif
 {
   Q_OBJECT;
 public:
   ctkIconEnginePlugin(QObject* parent = 0);
   virtual ~ctkIconEnginePlugin();
 
-  virtual QIconEngine* create(const QString& filename);
-
+#if QT_VERSION >= 0x050000
+  virtual QIconEngine* create(const QString& filename=QString());
+#else
+  virtual QIconEngineV2* create(const QString& filename=QString());
+#endif
   /// Support all the Qt image formats by default
   virtual QStringList keys()const;