File support-newer-libindi.patch of Package kstars4

From 97c3d53af2998420f7646b3a482417d00c291ec8 Mon Sep 17 00:00:00 2001
From: Jasem Mutlaq <mutlaqja@ikarustech.com>
Date: Mon, 1 Dec 2014 00:50:27 +0300
Subject: use std::string from libindi

---
 kstars/indi/indidevice.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kstars/indi/indidevice.cpp b/kstars/indi/indidevice.cpp
index f52decc..2a05ca6 100644
--- a/kstars/indi/indidevice.cpp
+++ b/kstars/indi/indidevice.cpp
@@ -271,7 +271,8 @@ void INDI_D::updateMessageLog(INDI::BaseDevice *idv, int messageID)
         return;
 
     msgST_w->ensureCursorVisible();
-    msgST_w->insertPlainText(dv->messageQueue(messageID) + QString("\n"));
+    msgST_w->insertPlainText(QString::fromStdString(dv->messageQueue(messageID)));
+    msgST_w->insertPlainText("\n");
     QTextCursor c = msgST_w->textCursor();
     c.movePosition(QTextCursor::Start);
     msgST_w->setTextCursor(c);
-- 
cgit v0.11.2

From 06e344bea9334eff76096a445f22ace2963b28bb Mon Sep 17 00:00:00 2001
From: Jasem Mutlaq <mutlaqja@ikarustech.com>
Date: Wed, 8 Apr 2015 14:01:12 +0300
Subject: Account for differences between libindi 1.0.0 and 1.1.0

---
 kstars/indi/indistd.cpp |  4 ++++
 kstars/indi/indistd.h   | 10 +++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/kstars/indi/indistd.cpp b/kstars/indi/indistd.cpp
index 4ecbb25..5de6fae 100644
--- a/kstars/indi/indistd.cpp
+++ b/kstars/indi/indistd.cpp
@@ -36,7 +36,11 @@ namespace ISD
 {
 
 
+#if (INDI_VERSION_MAJOR >= 1 && INDI_VERSION_MINOR >= 1)
+GDSetCommand::GDSetCommand(INDI_PROPERTY_TYPE inPropertyType, const QString &inProperty, const QString &inElement, QVariant qValue, QObject *parent) : QObject(parent)
+#else
 GDSetCommand::GDSetCommand(INDI_TYPE inPropertyType, const QString &inProperty, const QString &inElement, QVariant qValue, QObject *parent) : QObject(parent)
+#endif
 {
     propType     = inPropertyType;
     indiProperty = inProperty;
diff --git a/kstars/indi/indistd.h b/kstars/indi/indistd.h
index 9af15c6..e03e159 100644
--- a/kstars/indi/indistd.h
+++ b/kstars/indi/indistd.h
@@ -19,6 +19,7 @@
 #include "indicommon.h"
 #include "fitsviewer/fitscommon.h"
 
+#include "config-kstars.h"
 
 class ClientManager;
 class FITSViewer;
@@ -36,9 +37,15 @@ class GDSetCommand : public QObject
     Q_OBJECT
 
 public:
+#if (INDI_VERSION_MAJOR >= 1 && INDI_VERSION_MINOR >= 1)
+    GDSetCommand(INDI_PROPERTY_TYPE inPropertyType, const QString & inProperty, const QString & inElement, QVariant qValue, QObject *parent);
+    INDI_PROPERTY_TYPE   propType;
+#else
     GDSetCommand(INDI_TYPE inPropertyType, const QString & inProperty, const QString & inElement, QVariant qValue, QObject *parent);
-
     INDI_TYPE   propType;
+#endif
+
+
     QString indiProperty;
     QString indiElement;
     QVariant elementValue;
-- 
cgit v0.11.2

From 087208582d008705262934d82bfa2dbc88fb09fb Mon Sep 17 00:00:00 2001
From: Jasem Mutlaq <mutlaqja@ikarustech.com>
Date: Mon, 27 Apr 2015 19:52:11 +0300
Subject: Handle new INDI client function in 1.1

---
 kstars/indi/clientmanager.cpp | 16 ++++++++++++++++
 kstars/indi/clientmanager.h   |  9 ++++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/kstars/indi/clientmanager.cpp b/kstars/indi/clientmanager.cpp
index a9b60fa..0832971 100644
--- a/kstars/indi/clientmanager.cpp
+++ b/kstars/indi/clientmanager.cpp
@@ -114,6 +114,22 @@ void ClientManager::removeProperty(INDI::Property *prop)
     emit removeINDIProperty(prop);
 }
 
+#ifdef INDI_VERSION_MAJOR
+#if (INDI_VERSION_MAJOR >= 1 && INDI_VERSION_MINOR >= 1)
+void ClientManager::removeDevice(INDI::BaseDevice *dp)
+{
+    foreach(DriverInfo *di, managedDrivers)
+    {
+        if (di->getUniqueLabel() == dp->getDeviceName())
+        {
+            emit removeINDIDevice(di->getDevice(dp->getDeviceName()));
+            break;
+        }
+    }
+}
+#endif
+#endif
+
 void ClientManager::newBLOB(IBLOB *bp)
 {
    emit newINDIBLOB(bp);
diff --git a/kstars/indi/clientmanager.h b/kstars/indi/clientmanager.h
index 56bc3c4..5f687a0 100644
--- a/kstars/indi/clientmanager.h
+++ b/kstars/indi/clientmanager.h
@@ -12,9 +12,10 @@
  */
 
 #include <baseclient.h>
-
 #include <QObject>
 
+#include "config-kstars.h"
+
 class DeviceInfo;
 class DriverInfo;
 class ServerManager;
@@ -45,6 +46,11 @@ protected:
     virtual void newDevice(INDI::BaseDevice *dp);
     virtual void newProperty(INDI::Property *prop);
     virtual void removeProperty(INDI::Property *prop);
+    #ifdef INDI_VERSION_MAJOR
+    #if (INDI_VERSION_MAJOR >= 1 && INDI_VERSION_MINOR >= 1)
+    virtual void removeDevice(INDI::BaseDevice *dp);
+    #endif
+    #endif
     virtual void newBLOB(IBLOB *bp);
     virtual void newSwitch(ISwitchVectorProperty *svp);
     virtual void newNumber(INumberVectorProperty *);
@@ -65,6 +81,7 @@ signals:
     void connectionFailure(ClientManager *);
 
     void newINDIDevice(DeviceInfo *dv);
+    void removeINDIDevice(DeviceInfo *dv);
 
     void newINDIProperty(INDI::Property *prop);
     void removeINDIProperty(INDI::Property *prop);
-- 
cgit v0.11.2

--- a/kstars/CMakeLists.txt
+++ b/kstars/CMakeLists.txt
@@ -502,7 +502,9 @@
   target_link_libraries(KStarsLib ${CFITSIO_LIBRARIES})
 endif (CFITSIO_FOUND)
 if (INDI_FOUND)
-  target_link_libraries(KStarsLib ${CMAKE_THREAD_LIBS_INIT} ${INDI_LIBRARIES} ${INDI_CLIENT_LIBRARIES} z)
+  find_package(Nova REQUIRED)
+  include_directories(${NOVA_INCLUDE_DIR})
+  target_link_libraries(KStarsLib ${CMAKE_THREAD_LIBS_INIT} ${INDI_LIBRARIES} ${INDI_CLIENT_LIBRARIES} ${NOVA_LIBRARIES} z)
 endif (INDI_FOUND)
 if (WCSLIB_FOUND)
     target_link_libraries(KStarsLib ${WCSLIB_LIBRARIES})
openSUSE Build Service is sponsored by