1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-16 13:21:50 -05:00
sdrangel/sdrbase/settings/preferences.h
Jon Beniston 68603fec43 Allow sampling devices to be refreshed while SDRangel is running.
(Possibly need to add a mutex for MainCore::getPluginManager, so only
can be used by one thread)
Add option to automatically update My Position based on GPS. This is
started in MainCore, so we get position as soon as possible.
Don't set QFileDialog::DontUseNativeDialog on Android, as Qt's file
dialog can't access user storage. Set globally for Linux/Windows, rather
than for each dialog.

 MainWindow:
 - Add welcome dialog for Android.
 - Don't show menu bar or status bar on Android to save screen space.
 - On Android, change tab position when screen orientation changes.
 - Load default configurations and presets first time SDRangel is run.
 - Change loadConfiguration to use a QProgressDialog rather than
   QMessageBox, as the latter was crashing on Android.
   - Use DialogPositioner to ensure dialogs are on screen.
2022-12-20 21:06:39 +00:00

105 lines
3.6 KiB
C++

#ifndef INCLUDE_PREFERENCES_H
#define INCLUDE_PREFERENCES_H
#include <QString>
#include "export.h"
class SDRBASE_API Preferences {
public:
enum ElementType
{
SourceDevice = 2,
AudioType,
AudioDevice,
SourceIndex,
Latitude,
Longitude,
ConsoleMinLogLevel,
UseLogFile,
LogFileName,
FileMinLogLevel,
StationName,
Altitude,
SourceItemIndex,
Multisampling,
AutoUpdatePosition
};
Preferences();
Preferences(const Preferences&) = default;
Preferences& operator=(const Preferences&) = default;
void resetToDefaults();
QByteArray serialize() const;
bool deserialize(const QByteArray& data);
const QString& getSourceDevice() const { return m_sourceDevice; }
void setSourceDevice(const QString& value) { m_sourceDevice = value; }
int getSourceIndex() const { return m_sourceIndex; }
void setSourceIndex(const int value) { m_sourceIndex = value; }
int getSourceItemIndex() const { return m_sourceItemIndex; }
void setSourceItemIndex(const int value) { m_sourceItemIndex = value; }
const QString& getAudioType() const { return m_audioType; }
void setAudioType(const QString& value) { m_audioType = value; }
const QString& getAudioDevice() const { return m_audioDevice; }
void setAudioDevice(const QString& value) { m_audioDevice = value; }
QString getStationName() const { return m_stationName; }
void setStationName(const QString& name) { m_stationName = name; }
float getLatitude() const { return m_latitude; }
void setLatitude(float latitude) { m_latitude = latitude; }
float getLongitude() const { return m_longitude; }
void setLongitude(float longitude) { m_longitude = longitude; }
float getAltitude() const { return m_altitude; }
void setAltitude(float altitude) { m_altitude = altitude; }
bool getAutoUpdatePosition() const { return m_autoUpdatePosition; }
void setAutoUpdatePosition(bool autoUpdatePosition) { m_autoUpdatePosition = autoUpdatePosition; }
QtMsgType getConsoleMinLogLevel() const { return m_consoleMinLogLevel; }
void setConsoleMinLogLevel(const QtMsgType& minLogLevel) { m_consoleMinLogLevel = minLogLevel; }
QtMsgType getFileMinLogLevel() const { return m_fileMinLogLevel; }
void setFileMinLogLevel(const QtMsgType& minLogLevel) { m_fileMinLogLevel = minLogLevel; }
bool getUseLogFile() const { return m_useLogFile; }
void setUseLogFile(bool useLogFile) { m_useLogFile = useLogFile; }
const QString& getLogFileName() const { return m_logFileName; }
void setLogFileName(const QString& value) { m_logFileName = value; }
int getMultisampling() const { return m_multisampling; }
void setMultisampling(int samples) { m_multisampling = samples; }
protected:
QString m_sourceDevice; //!< Identification of the source used in R0 tab (GUI flavor) at startup
int m_sourceIndex; //!< Index of the source used in R0 tab (GUI flavor) at startup
int m_sourceItemIndex; //!< Index of device item in the source used in R0 tab (GUI flavor) at startup
QString m_audioType;
QString m_audioDevice;
QString m_stationName; //!< Name of the station (for drawing on the map)
float m_latitude; //!< Position of the station
float m_longitude;
float m_altitude; //!< Altitude in metres
bool m_autoUpdatePosition; //!< Automatically update position from GPS
QtMsgType m_consoleMinLogLevel;
QtMsgType m_fileMinLogLevel;
bool m_useLogFile;
QString m_logFileName;
int m_multisampling; //!< Number of samples to use for multisampling anti-aliasing (typically 0 or 4)
};
#endif // INCLUDE_PREFERENCES_H