Skip to content

Commit

Permalink
[FEATURE] Remember "Display all routes [F6]" setting (#239)
Browse files Browse the repository at this point in the history
As a drive-by change this also cleans up around former MapScreen actions.

Fixes: #237
  • Loading branch information
jonaseberle committed May 15, 2023
1 parent 619cea2 commit cd68ef4
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 42 deletions.
3 changes: 2 additions & 1 deletion src/Airport.cpp
Expand Up @@ -10,7 +10,6 @@
#include "NavData.h"

Airport::Airport(const QStringList& list, unsigned int debugLineNumber) :
showRoutes(false),
_appDisplayList(0),
_twrDisplayList(0), _gndDisplayList(0), _delDisplayList(0) {
resetWhazzupStatus();
Expand Down Expand Up @@ -39,6 +38,8 @@ Airport::Airport(const QStringList& list, unsigned int debugLineNumber) :

lat = list[4].toDouble();
lon = list[5].toDouble();

showRoutes = Settings::showRoutes();
}

Airport::~Airport() {
Expand Down
26 changes: 0 additions & 26 deletions src/MapScreen.h
Expand Up @@ -12,32 +12,6 @@ class MapScreen : public QWidget {
static MapScreen* instance(bool createIfNoInstance = true);
protected:
void resizeEvent(QResizeEvent *event);
signals:
void toggleRoutes();
void toggleSectors(bool);
void toggleRouteWaypoints();
void toggleInactiveAirports();

private:
QHBoxLayout _hblC, _hblP, _hblN, _hblN1, _hblW, _hblW1;
QVBoxLayout _vblN, _vblW;

//for PilotTab
QPushButton *_pbRoutes, *_pbPilotLabels;

//for ControllerTab
QPushButton *_pbCtr, *_pbApp, *_pbTwr, *_pbGnd;

//for NavDataTab
QPushButton *_pbSectorsAll, *_pbInactiveAirports, *_pbRouteWaypoints;
//QPushButton *pbFixes, *_pbVors, *_pbNdbs;

//for WeatherTab
QPushButton *_pbWind, *_pbWindAltInc, *_pbWindAltDec, *_pbClouds;
QSlider *_slider;
QLabel *_lblWindAlt;

int _xDistance;
};

#endif // MAPSCREEN_H
7 changes: 1 addition & 6 deletions src/Pilot.cpp
Expand Up @@ -28,7 +28,6 @@ int Pilot::altToFl(int alt_ft, int qnh_mb)

Pilot::Pilot(const QJsonObject& json, const WhazzupData* whazzup):
Client(json, whazzup),
showDepDestLine(false),
airline(0) {
whazzupTime = QDateTime(whazzup->whazzupTime); // need some local reference to that

Expand Down Expand Up @@ -92,13 +91,9 @@ Pilot::Pilot(const QJsonObject& json, const WhazzupData* whazzup):
else
dayOfFlight = whazzupTime.date().addDays(-1); // started the day before

showDepDestLine = Settings::showRoutes();

checkStatus();

// anti-idiot hack: some guys like routes like KORLI/MARPI/UA551/FOF/FUN...
// let's keep him... waypoints() takes care of it in places where we need it.
//if(planRoute.count("/") > 4)
// planRoute.replace(QRegExp("[/]"), " ");
}

void Pilot::showDetailsDialog() {
Expand Down
7 changes: 7 additions & 0 deletions src/Settings.cpp
Expand Up @@ -986,6 +986,13 @@ void Settings::setWaypointsFont(const QFont& font) {
}

// routes
bool Settings::showRoutes() {
return instance()->value("display/showRoutes", false).toBool();
}
void Settings::setShowRoutes(bool value) {
instance()->setValue("display/showRoutes", value);
}

QColor Settings::depLineColor() {
return instance()->value("pilotDisplay/depLineColor", QColor::fromRgb(170, 255, 127, 100)).value<QColor>();
}
Expand Down
3 changes: 3 additions & 0 deletions src/Settings.h
Expand Up @@ -297,6 +297,9 @@ class Settings {
static QFont waypointsFont();
static void setWaypointsFont(const QFont& font);

static bool showRoutes();
static void setShowRoutes(bool value);

static QColor depLineColor();
static void setDepLineColor(const QColor& color);

Expand Down
1 change: 1 addition & 0 deletions src/SondeData.cpp
Expand Up @@ -5,6 +5,7 @@
#include "Net.h"
#include "GuiMessage.h"
#include "Settings.h"
#include "FileReader.h"

SondeData *windDataInstance = 0;
SondeData *SondeData::instance(bool createIfNoInstance) {
Expand Down
13 changes: 7 additions & 6 deletions src/Window.cpp
Expand Up @@ -23,6 +23,7 @@
#include "SectorView.h"
#include "Platform.h"
#include "MetarDelegate.h"
#include "FileReader.h"

#include <QModelIndex>

Expand Down Expand Up @@ -56,11 +57,6 @@ Window::Window(QWidget *parent) :
mapScreen = new MapScreen(this);
centralwidget->layout()->addWidget(mapScreen);

connect(mapScreen, &MapScreen::toggleRoutes, actionShowRoutes, &QAction::trigger);
connect(mapScreen, &MapScreen::toggleSectors, this, &Window::allSectorsChanged);
connect(mapScreen, &MapScreen::toggleRouteWaypoints, actionShowWaypoints, &QAction::trigger);
connect(mapScreen, &MapScreen::toggleInactiveAirports, actionShowInactiveAirports,&QAction::trigger);

// Status- & ProgressBar
_progressBar = new QProgressBar(statusbar);
_progressBar->setMaximumWidth(200);
Expand Down Expand Up @@ -88,6 +84,10 @@ Window::Window(QWidget *parent) :
setEnableBookedAtc(Settings::downloadBookings());
actionShowWaypoints->setChecked(Settings::showUsedWaypoints());

connect(actionShowRoutes, &QAction::toggled, this, &Window::actionShowRoutes_triggered);
actionShowRoutes->setChecked(Settings::showRoutes());
actionShowRoutes_triggered(Settings::showRoutes());

Whazzup *whazzup = Whazzup::instance();
connect(actionDownload, &QAction::triggered, whazzup, &Whazzup::downloadJson3);

Expand Down Expand Up @@ -841,8 +841,9 @@ void Window::shootScreenshot() {
qDebug() << "Window::shootScreenshot()" << QString("%1.png").arg(filename); //fixme
}

void Window::on_actionShowRoutes_triggered(bool checked) {
void Window::actionShowRoutes_triggered(bool checked) {
qDebug() << "Window::on_actionShowRoutes_triggered()" << checked;
Settings::setShowRoutes(checked);
GuiMessages::message(QString("toggled routes [%1]").arg(checked? "on": "off"), "routeToggle");
foreach(Airport *a, NavData::instance()->airports.values()) // synonym to "toggle routes" on all airports
a->showRoutes = checked;
Expand Down
5 changes: 2 additions & 3 deletions src/Window.h
Expand Up @@ -10,7 +10,6 @@
#include "MapScreen.h"
#include "SearchResultModel.h"
#include "MetarModel.h"
#include "FileReader.h"

class Window : public QMainWindow, public Ui::Window {
Q_OBJECT
Expand All @@ -22,14 +21,14 @@ class Window : public QMainWindow, public Ui::Window {
//GLWidget *glWidget;
public slots:
void refreshFriends();
void on_actionShowRoutes_triggered(bool checked);
void downloadCloud();
void processWhazzup(bool isNew = true);
void restore();
signals:
void restored();
void cloudDownloaded();
private slots:
void actionShowRoutes_triggered(bool checked);
void on_actionShowWaypoints_triggered(bool checked);
void on_actionHighlight_Friends_triggered(bool checked);
void on_pb_highlightFriends_toggled(bool checked);
Expand Down Expand Up @@ -59,7 +58,7 @@ class Window : public QMainWindow, public Ui::Window {
void on_actionRecallMapPosition6_triggered();
void on_actionRecallMapPosition7_triggered();
void on_actionHideAllWindows_triggered();
void on_actionPredict_toggled(bool );
void on_actionPredict_toggled(bool);
void on_tbDisablePredict_clicked();
void on_tbRunPredict_toggled(bool checked);
void on_cbUseDownloaded_toggled(bool checked);
Expand Down

0 comments on commit cd68ef4

Please sign in to comment.