Skip to content

Commit 6372eeb

Browse files
committed
NO_GUI mode for EquationOfTime, Observability and PointerCoordinates plugins
- In Observability, also refactor: rename enabling flag, store/retrieve
1 parent 1bd57fd commit 6372eeb

File tree

9 files changed

+135
-66
lines changed

9 files changed

+135
-66
lines changed

plugins/EquationOfTime/src/CMakeLists.txt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,29 @@ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
1111
SET(EQUATIONOFTIME_SRCS
1212
EquationOfTime.hpp
1313
EquationOfTime.cpp
14+
)
15+
IF (STELLARIUM_GUI_MODE STREQUAL "Standard")
16+
LIST(APPEND EQUATIONOFTIME_SRCS
1417
gui/EquationOfTimeWindow.hpp
1518
gui/EquationOfTimeWindow.cpp
1619
)
1720

1821
SET(EQUATIONOFTIME_UIS
1922
gui/equationOfTimeWindow.ui
2023
)
24+
ENDIF (STELLARIUM_GUI_MODE STREQUAL "Standard")
2125

2226
################# compiles resources files ############
2327
SET(EQUATIONOFTIME_RES ../resources/EquationOfTime.qrc)
2428
IF (${QT_VERSION_MAJOR} EQUAL "5")
25-
QT5_WRAP_UI(EQUATIONOFTIME_UIS_H ${EQUATIONOFTIME_UIS})
29+
IF (STELLARIUM_GUI_MODE STREQUAL "Standard")
30+
QT5_WRAP_UI(EQUATIONOFTIME_UIS_H ${EQUATIONOFTIME_UIS})
31+
ENDIF()
2632
QT5_ADD_RESOURCES(EQUATIONOFTIME_RES_CXX ${EQUATIONOFTIME_RES})
2733
ELSE()
28-
QT_WRAP_UI(EQUATIONOFTIME_UIS_H ${EQUATIONOFTIME_UIS})
34+
IF (STELLARIUM_GUI_MODE STREQUAL "Standard")
35+
QT_WRAP_UI(EQUATIONOFTIME_UIS_H ${EQUATIONOFTIME_UIS})
36+
ENDIF()
2937
QT_ADD_RESOURCES(EQUATIONOFTIME_RES_CXX ${EQUATIONOFTIME_RES})
3038
ENDIF()
3139

plugins/EquationOfTime/src/EquationOfTime.cpp

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,25 +55,31 @@ StelPluginInfo EquationOfTimeStelPluginInterface::getPluginInfo() const
5555
return info;
5656
}
5757

58-
EquationOfTime::EquationOfTime()
59-
: flagShowSolutionEquationOfTime(false)
58+
EquationOfTime::EquationOfTime():
59+
#ifndef NO_GUI
60+
toolbarButton(Q_NULLPTR),
61+
#endif
62+
flagShowSolutionEquationOfTime(false)
6063
, flagUseInvertedValue(false)
6164
, flagUseMsFormat(false)
6265
, flagEnableAtStartup(false)
6366
, flagShowEOTButton(false)
6467
, fontSize(20)
65-
, toolbarButton(Q_NULLPTR)
6668
{
6769
setObjectName("EquationOfTime");
68-
mainWindow = new EquationOfTimeWindow();
6970
StelApp &app = StelApp::getInstance();
7071
conf = app.getSettings();
72+
#ifndef NO_GUI
73+
mainWindow = new EquationOfTimeWindow();
7174
gui = dynamic_cast<StelGui*>(app.getGui());
75+
#endif
7276
}
7377

7478
EquationOfTime::~EquationOfTime()
7579
{
80+
#ifndef NO_GUI
7681
delete mainWindow;
82+
#endif
7783
}
7884

7985
void EquationOfTime::init()
@@ -89,8 +95,9 @@ void EquationOfTime::init()
8995
readSettingsFromConfig();
9096

9197
addAction("actionShow_EquationOfTime", N_("Equation of Time"), N_("Show value of the equation of time"), "showEOT", "Ctrl+Alt+T");
98+
#ifndef NO_GUI
9299
addAction("actionShow_EquationOfTime_dialog", N_("Equation of Time"), N_("Show settings dialog"), mainWindow, "visible");
93-
100+
#endif
94101
enableEquationOfTime(getFlagEnableAtStartup());
95102
setFlagShowEOTButton(flagShowEOTButton);
96103

@@ -101,11 +108,6 @@ void EquationOfTime::init()
101108
connect(StelApp::getInstance().getCore(), SIGNAL(configurationDataSaved()), this, SLOT(saveSettings()));
102109
}
103110

104-
void EquationOfTime::deinit()
105-
{
106-
//
107-
}
108-
109111
void EquationOfTime::draw(StelCore *core)
110112
{
111113
if (!isEnabled())
@@ -142,7 +144,11 @@ void EquationOfTime::draw(StelCore *core)
142144
QFontMetrics fm(font);
143145
QSize fs = fm.size(Qt::TextSingleLine, timeText);
144146

147+
#ifndef NO_GUI
145148
sPainter.drawText(gui->getSkyGui()->getSkyGuiWidth()*ppx/2 - fs.width()*ppx/2, gui->getSkyGui()->getSkyGuiHeight()*ppx - fs.height()*ppx*1.5, timeText);
149+
#else
150+
sPainter.drawText(params.viewportXywh[2]*ppx/2 - fs.width()*ppx/2, params.viewportXywh[3]*ppx - fs.height()*ppx*1.5, timeText);
151+
#endif
146152

147153
//qDebug() << timeText;
148154
}
@@ -156,12 +162,16 @@ double EquationOfTime::getCallOrder(StelModuleActionName actionName) const
156162

157163
bool EquationOfTime::configureGui(bool show)
158164
{
165+
#ifdef NO_GUI
166+
return false;
167+
#else
159168
if (show)
160169
{
161170
mainWindow->setVisible(true);
162171
}
163172

164173
return true;
174+
#endif
165175
}
166176

167177
void EquationOfTime::restoreDefaults(void)
@@ -226,8 +236,9 @@ void EquationOfTime::updateMessageText()
226236

227237
void EquationOfTime::setFlagShowEOTButton(bool b)
228238
{
239+
#ifndef NO_GUI
229240
if (b==true) {
230-
if (toolbarButton==Q_NULLPTR) {
241+
if (!toolbarButton) {
231242
// Create the button
232243
toolbarButton = new StelButton(Q_NULLPTR,
233244
QPixmap(":/EquationOfTime/bt_EquationOfTime_On.png"),
@@ -241,6 +252,7 @@ void EquationOfTime::setFlagShowEOTButton(bool b)
241252
} else {
242253
gui->getButtonBar()->hideButton("actionShow_EquationOfTime");
243254
}
255+
#endif
244256
flagShowEOTButton = b;
245257
}
246258

plugins/EquationOfTime/src/EquationOfTime.hpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ class EquationOfTime : public StelModule
7373
~EquationOfTime() override;
7474

7575
void init() override;
76-
void deinit() override;
7776
void draw(StelCore *core) override;
7877
double getCallOrder(StelModuleActionName actionName) const override;
7978
bool configureGui(bool show) override;
@@ -149,9 +148,12 @@ private slots:
149148
// if existing, delete EquationOfTime section in main config.ini, then create with default values
150149
void restoreDefaultConfigIni(void);
151150

151+
#ifndef NO_GUI
152+
StelGui* gui;
152153
EquationOfTimeWindow* mainWindow;
154+
StelButton* toolbarButton;
155+
#endif
153156
QSettings* conf;
154-
StelGui* gui;
155157

156158
bool flagShowSolutionEquationOfTime;
157159
bool flagUseInvertedValue;
@@ -163,7 +165,6 @@ private slots:
163165
QString messageEquationSeconds;
164166
Vec3f textColor;
165167
int fontSize;
166-
StelButton* toolbarButton;
167168
};
168169

169170

plugins/Observability/src/CMakeLists.txt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
1010
SET(Observability_SRCS
1111
Observability.hpp
1212
Observability.cpp
13+
)
14+
IF (STELLARIUM_GUI_MODE STREQUAL "Standard")
15+
LIST(APPEND Observability_SRCS
1316
gui/ObservabilityDialog.hpp
1417
gui/ObservabilityDialog.cpp
1518
)
@@ -19,13 +22,18 @@ SET(Observability_SRCS
1922
SET(ObservabilityDialog_UIS
2023
gui/ObservabilityDialog.ui
2124
)
25+
ENDIF (STELLARIUM_GUI_MODE STREQUAL "Standard")
2226

2327
SET(Observability_RES ../Observability.qrc)
2428
IF (${QT_VERSION_MAJOR} EQUAL "5")
25-
QT5_WRAP_UI(ObservabilityDialog_UIS_H ${ObservabilityDialog_UIS})
29+
IF (STELLARIUM_GUI_MODE STREQUAL "Standard")
30+
QT5_WRAP_UI(ObservabilityDialog_UIS_H ${ObservabilityDialog_UIS})
31+
ENDIF()
2632
QT5_ADD_RESOURCES(Observability_RES_CXX ${Observability_RES})
2733
ELSE()
28-
QT_WRAP_UI(ObservabilityDialog_UIS_H ${ObservabilityDialog_UIS})
34+
IF (STELLARIUM_GUI_MODE STREQUAL "Standard")
35+
QT_WRAP_UI(ObservabilityDialog_UIS_H ${ObservabilityDialog_UIS})
36+
ENDIF()
2937
QT_ADD_RESOURCES(Observability_RES_CXX ${Observability_RES})
3038
ENDIF()
3139

plugins/Observability/src/Observability.cpp

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,17 @@
2525
#include <QTimer>
2626

2727
#include "Observability.hpp"
28+
#ifndef NO_GUI
2829
#include "ObservabilityDialog.hpp"
30+
#include "StelGui.hpp"
31+
#include "StelGuiItems.hpp"
32+
#endif
2933

3034
#include "Planet.hpp"
3135
#include "SolarSystem.hpp"
3236
//#include "StelActionMgr.hpp"
3337
#include "StelApp.hpp"
3438
#include "StelCore.hpp"
35-
#include "StelGui.hpp"
36-
#include "StelGuiItems.hpp"
3739
#include "StelLocaleMgr.hpp"
3840
#include "StelModuleMgr.hpp"
3941
#include "StelMovementMgr.hpp"
@@ -75,8 +77,7 @@ const double Observability::RefFullMoon = 2451564.696; // Reference Julian date
7577
const double Observability::MoonPerilune = 0.0024236308; // Smallest Earth-Moon distance (in AU).
7678

7779
Observability::Observability()
78-
: configDialog(new ObservabilityDialog())
79-
, nextFullMoon(0.)
80+
: nextFullMoon(0.)
8081
, prevFullMoon(0.)
8182
, GMTShift(0.)
8283
, Jan1stJD(0.)
@@ -112,9 +113,12 @@ Observability::Observability()
112113
, show_Best_Night(false)
113114
, show_Today(false)
114115
, show_FullMoon(false)
115-
, flagShowReport(false)
116+
, flagEnabled(false)
116117
, fontSize(14)
118+
#ifndef NO_GUI
119+
, configDialog(new ObservabilityDialog()),
117120
, button(Q_NULLPTR)
121+
#endif
118122
{
119123
setObjectName("Observability");
120124

@@ -141,8 +145,10 @@ Observability::Observability()
141145
Observability::~Observability()
142146
{
143147
// Shouldn't this be in the deinit()? --BM
144-
if (configDialog != Q_NULLPTR)
148+
#ifndef NO_GUI
149+
if (configDialog)
145150
delete configDialog;
151+
#endif
146152
}
147153

148154
void Observability::updateMessageText()
@@ -194,7 +200,8 @@ void Observability::init()
194200
{
195201
loadConfiguration();
196202

197-
addAction("actionShow_Observability", N_("Observability"), N_("Observability"), "flagShowReport");
203+
addAction("actionShow_Observability", N_("Observability"), N_("Observability"), "flagEnabled");
204+
#ifndef NO_GUI
198205
addAction("actionShow_Observability_dialog", N_("Observability"), N_("Show settings dialog"), configDialog, "visible", ""); // Allow assign shortkey
199206

200207
StelGui * gui = dynamic_cast<StelGui *>(StelApp::getInstance().getGui());
@@ -208,12 +215,12 @@ void Observability::init()
208215
"actionShow_Observability_dialog");
209216
gui->getButtonBar()->addButton(button, "065-pluginsGroup");
210217
}
211-
218+
#endif
212219
updateMessageText();
213220
connect(&StelApp::getInstance(), &StelApp::languageChanged, this, &Observability::onLanguageChanged);
214221
connect(StelApp::getInstance().getCore(), SIGNAL(configurationDataSaved()), this, SLOT(saveConfiguration()));
215222

216-
connect(this, &Observability::flagReportVisibilityChanged, this, [&](bool enabled) {
223+
connect(this, &Observability::flagEnabledChanged, this, [&](bool enabled) {
217224
if (enabled) {
218225
qDebug() << "[Observability] Creating plugin status dependent connections.";
219226
createConnections();
@@ -230,7 +237,7 @@ void Observability::init()
230237
// MAIN CODE:
231238
void Observability::draw(StelCore* core)
232239
{
233-
if (!flagShowReport)
240+
if (!flagEnabled)
234241
return; // Button is off.
235242
/////////////////////////////////////////////////////////////////
236243
// PRELIMINARS:
@@ -276,10 +283,7 @@ void Observability::draw(StelCore* core)
276283
}
277284

278285
// Add refraction, if necessary:
279-
Vec3d TempRefr;
280-
TempRefr[0] = std::cos(horizonAltitude);
281-
TempRefr[1] = 0.0;
282-
TempRefr[2] = std::sin(horizonAltitude);
286+
Vec3d TempRefr(std::cos(horizonAltitude), 0.0, std::sin(horizonAltitude));
283287
Vec3d CorrRefr = core->altAzToEquinoxEqu(TempRefr,StelCore::RefractionAuto);
284288
TempRefr = core->equinoxEquToAltAz(CorrRefr,StelCore::RefractionOff);
285289
double RefracAlt = std::asin(TempRefr[2]);
@@ -1433,9 +1437,13 @@ bool Observability::calculateSolarSystemEvents(StelCore* core, int bodyType)
14331437

14341438
bool Observability::configureGui(bool show)
14351439
{
1440+
#ifdef NO_GUI
1441+
return false;
1442+
#else
14361443
if (show)
14371444
configDialog->setVisible(true);
14381445
return true;
1446+
#endif
14391447
}
14401448

14411449
void Observability::resetConfiguration()
@@ -1465,6 +1473,7 @@ void Observability::loadConfiguration()
14651473
show_FullMoon = conf->value("show_FullMoon", true).toBool();
14661474
// show_Crescent = conf->value("show_Crescent", true).toBool();
14671475
// show_SuperMoon = conf->value("show_SuperMoon", true).toBool();
1476+
flagEnabled = conf->value("enabled", false).toBool();
14681477

14691478
// For backwards compatibility, the value of this key is stored with
14701479
// inverted sign.
@@ -1602,12 +1611,13 @@ void Observability::setHorizonAltitude(int altitude)
16021611
configChanged = true;
16031612
}
16041613

1605-
void Observability::showReport(bool b)
1614+
void Observability::setEnabled(bool b)
16061615
{
1607-
if (b!=flagShowReport)
1616+
if (b!=flagEnabled)
16081617
{
1609-
flagShowReport = b;
1610-
emit flagReportVisibilityChanged(b);
1618+
flagEnabled = b;
1619+
StelApp::immediateSave("Observability/enabled", b);
1620+
emit flagEnabledChanged(b);
16111621
}
16121622
}
16131623

0 commit comments

Comments
 (0)