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) {