diff --git a/kstars/CMakeLists.txt b/kstars/CMakeLists.txt
--- a/kstars/CMakeLists.txt
+++ b/kstars/CMakeLists.txt
@@ -324,7 +324,7 @@
tools/eclipsetool/lunareclipsehandler.cpp
-# tools/jmoontool.cpp
+ tools/jmoontool.cpp
tools/approachsolver.cpp
tools/ksconjunct.cpp
tools/eqplotwidget.cpp
@@ -640,7 +640,7 @@
set(kstars_skyobjects_SRCS
skyobjects/constellationsart.cpp
skyobjects/deepskyobject.cpp
-# skyobjects/jupitermoons.cpp
+ skyobjects/jupitermoons.cpp
skyobjects/planetmoons.cpp
skyobjects/ksasteroid.cpp
skyobjects/kscomet.cpp
diff --git a/kstars/data/kstarsui.rc b/kstars/data/kstarsui.rc
--- a/kstars/data/kstarsui.rc
+++ b/kstars/data/kstarsui.rc
@@ -79,7 +79,7 @@
-
+
diff --git a/kstars/kstars.h b/kstars/kstars.h
--- a/kstars/kstars.h
+++ b/kstars/kstars.h
@@ -57,7 +57,7 @@
class SkyCalendar;
class ScriptBuilder;
class PlanetViewer;
-//class JMoonTool;
+class JMoonTool;
class MoonPhaseTool;
class FlagManager;
class Execute;
@@ -610,7 +610,7 @@
void slotSolarSystem();
/** action slot: open Jupiter Moons tool */
- // void slotJMoonTool();
+ void slotJMoonTool();
/** action slot: open Moon Phase Calendar tool */
void slotMoonPhaseTool();
@@ -836,7 +836,7 @@
ScriptBuilder *m_ScriptBuilder { nullptr };
PlanetViewer *m_PlanetViewer { nullptr };
WUTDialog *m_WUTDialog { nullptr };
- // JMoonTool *m_JMoonTool { nullptr };
+ JMoonTool *m_JMoonTool { nullptr };
FlagManager *m_FlagManager { nullptr };
HorizonManager *m_HorizonManager { nullptr };
EyepieceField *m_EyepieceView { nullptr };
diff --git a/kstars/kstarsactions.cpp b/kstars/kstarsactions.cpp
--- a/kstars/kstarsactions.cpp
+++ b/kstars/kstarsactions.cpp
@@ -58,6 +58,7 @@
#include "tools/horizonmanager.h"
#include "tools/observinglist.h"
#include "tools/planetviewer.h"
+#include "tools/jmoontool.h"
#include "tools/scriptbuilder.h"
#include "tools/skycalendar.h"
#include "tools/wutdialog.h"
@@ -593,12 +594,13 @@
m_PlanetViewer = new PlanetViewer(this);
m_PlanetViewer->show();
}
-/*
+
void KStars::slotJMoonTool() {
- if ( ! m_JMoonTool ) m_JMoonTool = new JMoonTool(this);
+ if (!m_JMoonTool)
+ m_JMoonTool = new JMoonTool(this);
m_JMoonTool->show();
}
-*/
+
void KStars::slotMoonPhaseTool()
{
diff --git a/kstars/kstarsinit.cpp b/kstars/kstarsinit.cpp
--- a/kstars/kstarsinit.cpp
+++ b/kstars/kstarsinit.cpp
@@ -453,9 +453,9 @@
<< i18n("Solar System") << QKeySequence(Qt::CTRL + Qt::Key_Y);
// Disabled until fixed later
- /*actionCollection()->addAction("jmoontool", this, SLOT(slotJMoonTool()) )
+ actionCollection()->addAction("jmoontool", this, SLOT(slotJMoonTool()) )
<< i18n("Jupiter's Moons")
- << QKeySequence(Qt::CTRL+Qt::Key_J );*/
+ << QKeySequence(Qt::CTRL+Qt::Key_J );
actionCollection()->addAction("flagmanager", this, SLOT(slotFlagManager())) << i18n("Flags");
diff --git a/kstars/tools/jmoontool.cpp b/kstars/tools/jmoontool.cpp
--- a/kstars/tools/jmoontool.cpp
+++ b/kstars/tools/jmoontool.cpp
@@ -18,12 +18,15 @@
#include "ksnumbers.h"
#include "kstars.h"
+
+#include "skymapcomposite.h"
#include "skyobjects/jupitermoons.h"
#include "skyobjects/ksplanet.h"
#include "skyobjects/kssun.h"
#include
#include
+#include
#include
#include
@@ -126,6 +129,19 @@
QRectF dataRect = pw->dataRect();
double dy = 0.01 * dataRect.height();
+ /*Debug
+ //For testing position of each satellite
+ for(double t = dataRect.y(); t <= dataRect.bottom(); t += 1){
+ KSNumbers num(jd0 + t);
+ jm.findPosition(&num, jup, ksun);
+
+ qDebug() << "Position [Io] : " << 0.5 * jup->angSize() * jm.x(0) << " at " << t << " arcmin";
+ qDebug() << "Position [Europa] : " << 0.5 * jup->angSize() * jm.x(1) << " at " << t << " arcmin";
+ qDebug() << "Position [Ganymede] : " << 0.5 * jup->angSize() * jm.x(2) << " at " << t << " arcmin";
+ qDebug() << "Position [Callisto] : " << 0.5 * jup->angSize() * jm.x(3) << " at " << t << " arcmin";
+ }
+ */
+
//t is the offset from jd0, in days.
for (double t = dataRect.y(); t <= dataRect.bottom(); t += dy)
{