From cbfff6d765a086049af478442eca6ea0282bd68d Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sat, 3 Aug 2013 00:38:02 +0200 Subject: [PATCH] Fixed critical issue in refactored startup code --- src/ui/MainWindow.cc | 5 +++-- src/ui/MainWindow.h | 11 ++++++++--- src/ui/linechart/LinechartWidget.cc | 7 ------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index 0b55b7a..be1994f 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -99,7 +99,7 @@ MainWindow* MainWindow::instance_mode(QSplashScreen* screen, enum MainWindow::CU MainWindow* MainWindow::instance(QSplashScreen* screen) { - instance_mode(screen, CUSTOM_MODE_NONE); + return instance_mode(screen, CUSTOM_MODE_UNCHANGED); } /** @@ -122,7 +122,7 @@ MainWindow::MainWindow(QWidget *parent): lowPowerMode(false), isAdvancedMode(false), dockWidgetTitleBarEnabled(true), - customMode(CUSTOM_MODE_WIFI) + customMode(CUSTOM_MODE_NONE) { this->setAttribute(Qt::WA_DeleteOnClose); loadSettings(); @@ -1294,6 +1294,7 @@ bool MainWindow::loadStyle(QGC_MAINWINDOW_STYLE style, QString cssFile) // And trigger any changes to other UI elements that are watching for // theme changes. emit styleChanged(style); + emit styleChanged(); // Finally restore the cursor before returning. qApp->restoreOverrideCursor(); diff --git a/src/ui/MainWindow.h b/src/ui/MainWindow.h index 70d512e..8876564 100644 --- a/src/ui/MainWindow.h +++ b/src/ui/MainWindow.h @@ -99,7 +99,8 @@ class MainWindow : public QMainWindow public: enum CUSTOM_MODE { - CUSTOM_MODE_NONE = 0, + CUSTOM_MODE_UNCHANGED = 0, + CUSTOM_MODE_NONE, CUSTOM_MODE_PX4, CUSTOM_MODE_APM, CUSTOM_MODE_WIFI @@ -178,7 +179,10 @@ public: void setCustomMode(enum MainWindow::CUSTOM_MODE mode) { - customMode = mode; + if (mode != CUSTOM_MODE_UNCHANGED) + { + customMode = mode; + } } enum MainWindow::CUSTOM_MODE getCustomMode() @@ -301,6 +305,7 @@ public slots: signals: void styleChanged(MainWindow::QGC_MAINWINDOW_STYLE newTheme); + void styleChanged(); void initStatusChanged(const QString& message, int alignment, const QColor &color); #ifdef MOUSE_ENABLED_LINUX /** @brief Forward X11Event to catch 3DMouse inputs */ @@ -490,6 +495,7 @@ protected: bool lowPowerMode; ///< If enabled, QGC reduces the update rates of all widgets QGCFlightGearLink* fgLink; QTimer windowNameUpdateTimer; + CUSTOM_MODE customMode; private: QList commsWidgetList; @@ -499,7 +505,6 @@ private: QMap > centralWidgetToDockWidgetsMap; bool isAdvancedMode; ///< If enabled dock widgets can be moved and floated. bool dockWidgetTitleBarEnabled; ///< If enabled, dock widget titlebars are displayed when NOT in advanced mode. - CUSTOM_MODE customMode; Ui::MainWindow ui; /** @brief Set the appropriate titlebar for a given dock widget. diff --git a/src/ui/linechart/LinechartWidget.cc b/src/ui/linechart/LinechartWidget.cc index e29b655..53dcac3 100644 --- a/src/ui/linechart/LinechartWidget.cc +++ b/src/ui/linechart/LinechartWidget.cc @@ -137,14 +137,7 @@ LinechartWidget::LinechartWidget(int systemid, QWidget *parent) : QWidget(parent // Create the layout createLayout(); - // Add the last actions - //connect(this, SIGNAL(plotWindowPositionUpdated(int)), scrollbar, SLOT(setValue(int))); - //connect(scrollbar, SIGNAL(sliderMoved(int)), this, SLOT(setPlotWindowPosition(int))); - - // And make sure we're listening for future style changes - connect(MainWindow::instance(), SIGNAL(styleChanged(MainWindow::QGC_MAINWINDOW_STYLE)), - this, SLOT(styleChanged(MainWindow::QGC_MAINWINDOW_STYLE))); connect(MainWindow::instance(), SIGNAL(styleChanged()), this, SLOT(recolor())); updateTimer->setInterval(updateInterval);