Commit 33220de0 authored by Don Gagne's avatar Don Gagne

Saved files location support

- Also renamed QGCCore->QGCApplication to better reflect usage.
- New global qgcApp api to access main QHCApplication singleton
parent 75b4bd0a
This diff is collapsed.
/*===================================================================== /*=====================================================================
PIXHAWK Micro Air Vehicle Flying Robotics Toolkit QGroundControl Open Source Ground Control Station
(c) 2009, 2010 PIXHAWK PROJECT <http://pixhawk.ethz.ch> (c) 2009 - 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the PIXHAWK project This file is part of the QGROUNDCONTROL project
PIXHAWK is free software: you can redistribute it and/or modify QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
PIXHAWK is distributed in the hope that it will be useful, QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with PIXHAWK. If not, see <http://www.gnu.org/licenses/>. along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/ ======================================================================*/
/** /**
* @file * @file
...@@ -30,8 +30,8 @@ This file is part of the PIXHAWK project ...@@ -30,8 +30,8 @@ This file is part of the PIXHAWK project
*/ */
#ifndef QGC_CORE_H #ifndef QGCAPPLICATION_H
#define QGC_CORE_H #define QGCAPPLICATION_H
#include <QApplication> #include <QApplication>
...@@ -42,6 +42,7 @@ This file is part of the PIXHAWK project ...@@ -42,6 +42,7 @@ This file is part of the PIXHAWK project
#include "OpalLink.h" #include "OpalLink.h"
#endif #endif
/** /**
* @brief The main application and management class. * @brief The main application and management class.
* *
...@@ -49,33 +50,69 @@ This file is part of the PIXHAWK project ...@@ -49,33 +50,69 @@ This file is part of the PIXHAWK project
* the central management unit of the groundstation application. * the central management unit of the groundstation application.
* *
**/ **/
class QGCCore : public QApplication class QGCApplication : public QApplication
{ {
Q_OBJECT Q_OBJECT
public: public:
QGCCore(int &argc, char* argv[]); QGCApplication(int &argc, char* argv[]);
~QGCCore(); ~QGCApplication();
/// @brief Initialize the applicaation. /// @brief Initialize the applicaation.
/// @return false: init failed, app should exit /// @return false: init failed, app should exit
bool init(void); bool init(void);
static const char* deleteAllSettingsKey; /// @brief Sets the persistent flag to delete all settings the next time QGroundControl is started.
void deleteAllSettingsNextBoot(void);
/// @brief Clears the persistent flag to delete all settings the next time QGroundControl is started.
void clearDeleteAllSettingsNextBoot(void);
/// @brief Returns the location of user visible saved file associated with QGroundControl
QString savedFilesLocation(void);
/// @brief Sets the location of user visible saved file associated with QGroundControl
void setSavedFilesLocation(QString& location);
/// @brief Location to save and load parameter files from.
QString savedParameterFilesLocation(void);
/// @brief Location to save and load mavlink log files from
QString mavlinkLogFilesLocation(void);
/// @brief Validates that the specified location will work for the saved files location.
bool validatePossibleSavedFilesLocation(QString& location);
/// @brief Returns true is all mavlink connections should be logged
bool promptFlightDataSave(void);
/// @brief Sets the flag to log all mavlink connections
void setPromptFlightDataSave(bool promptForSave);
protected: protected:
void startLinkManager(); void startLinkManager();
/** /**
* @brief Start the robot managing system * @brief Start the robot managing system
* *
* The robot manager keeps track of the configured robots. * The robot manager keeps track of the configured robots.
**/ **/
void startUASManager(); void startUASManager();
private: private:
MainWindow* _mainWindow; MainWindow* _mainWindow;
static const char* _settingsVersionKey;
static const char* _settingsVersionKey; ///< Settings key which hold settings version
static const char* _deleteAllSettingsKey; ///< If this settings key is set on boot, all settings will be deleted
static const char* _savedFilesLocationKey; ///< Settings key for user visible saved files location
static const char* _promptFlightDataSave; ///< Settings key to prompt for saving Flight Data Log for all flights
static const char* _defaultSavedFileDirectoryName; ///< Default name for user visible save file directory
static const char* _savedFileMavlinkLogDirectoryName; ///< Name of mavlink log subdirectory
static const char* _savedFileParameterDirectoryName; ///< Name of parameter subdirectory
}; };
#endif /* _CORE_H_ */ /// @brief Returns the QGCApplication object singleton.
QGCApplication* qgcApp(void);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment