1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-13 20:01:46 -05:00
sdrangel/sdrbase/settings/mainsettings.h

117 lines
5.5 KiB
C
Raw Normal View History

#ifndef INCLUDE_SETTINGS_H
#define INCLUDE_SETTINGS_H
#include <QString>
2019-06-12 12:50:53 -04:00
#include "device/deviceuserargs.h"
#include "limerfe/limerfeusbcalib.h"
#include "preferences.h"
#include "preset.h"
2020-09-23 23:38:05 -04:00
#include "featuresetpreset.h"
#include "export.h"
#include "plugin/pluginmanager.h"
2018-01-04 05:11:53 -05:00
class Command;
2019-07-20 17:25:00 -04:00
class AudioDeviceManager;
class AMBEEngine;
2018-01-04 05:11:53 -05:00
2018-03-03 14:23:38 -05:00
class SDRBASE_API MainSettings {
public:
MainSettings();
~MainSettings();
2020-09-23 23:38:05 -04:00
void load();
void save() const;
void resetToDefaults();
2019-08-06 02:48:14 -04:00
void initialize();
2019-01-17 05:22:38 -05:00
QString getFileLocation() const;
int getFileFormat() const; //!< see QSettings::Format for the values
const Preferences& getPreferences() const { return m_preferences; }
2019-08-06 02:48:14 -04:00
void setPreferences(const Preferences& preferences) { m_preferences = preferences; }
Preset* newPreset(const QString& group, const QString& description);
2019-08-06 02:48:14 -04:00
void addPreset(Preset *preset);
void deletePreset(const Preset* preset);
int getPresetCount() const { return m_presets.count(); }
const Preset* getPreset(int index) const { return m_presets[index]; }
2019-05-08 19:12:40 -04:00
const Preset* getPreset(const QString& groupName, quint64 centerFrequency, const QString& description, const QString& type) const;
void sortPresets();
void renamePresetGroup(const QString& oldGroupName, const QString& newGroupName);
void deletePresetGroup(const QString& groupName);
2019-08-06 02:48:14 -04:00
void clearPresets();
2020-09-23 23:38:05 -04:00
const Preset& getWorkingPresetConst() const { return m_workingPreset; }
Preset* getWorkingPreset() { return &m_workingPreset; }
2018-01-04 05:11:53 -05:00
void addCommand(Command *command);
void deleteCommand(const Command* command);
int getCommandCount() const { return m_commands.count(); }
const Command* getCommand(int index) const { return m_commands[index]; }
const Command* getCommand(const QString& groupName, const QString& description) const;
void sortCommands();
void renameCommandGroup(const QString& oldGroupName, const QString& newGroupName);
void deleteCommandGroup(const QString& groupName);
2019-08-06 02:48:14 -04:00
void clearCommands();
2018-01-04 05:11:53 -05:00
2020-09-23 23:38:05 -04:00
FeatureSetPreset* newFeatureSetPreset(const QString& group, const QString& description);
void addFeatureSetPreset(FeatureSetPreset *preset);
void deleteFeatureSetPreset(const FeatureSetPreset* preset);
int getFeatureSetPresetCount() const { return m_featureSetPresets.count(); }
const FeatureSetPreset* getFeatureSetPreset(int index) const { return m_featureSetPresets[index]; }
const FeatureSetPreset* getFeatureSetPreset(const QString& groupName, const QString& description) const;
void sortFeatureSetPresets();
void renameFeatureSetPresetGroup(const QString& oldGroupName, const QString& newGroupName);
void deleteFeatureSetPresetGroup(const QString& groupName);
void clearFeatureSetPresets();
const FeatureSetPreset& getWorkingFeatureSetPresetConst() const { return m_workingFeatureSetPreset; }
FeatureSetPreset* getWorkingFeatureSetPreset() { return &m_workingFeatureSetPreset; }
QList<FeatureSetPreset*> *getFeatureSetPresets() { return &m_featureSetPresets; }
int getSourceIndex() const { return m_preferences.getSourceIndex(); }
void setSourceIndex(int value) { m_preferences.setSourceIndex(value); }
2017-11-01 22:30:54 -04:00
const QString& getSourceDeviceId() const { return m_preferences.getSourceDevice(); }
void setSourceDeviceId(const QString& deviceId) { m_preferences.setSourceDevice(deviceId); }
void setStationName(const QString& name) { m_preferences.setStationName(name); }
void setLatitude(float latitude) { m_preferences.setLatitude(latitude); }
2016-09-28 07:38:38 -04:00
void setLongitude(float longitude) { m_preferences.setLongitude(longitude); }
void setAltitude(float altitude) { m_preferences.setAltitude(altitude); }
QString getStationName() const { return m_preferences.getStationName(); }
2016-09-28 07:38:38 -04:00
float getLatitude() const { return m_preferences.getLatitude(); }
float getLongitude() const { return m_preferences.getLongitude(); }
float getAltitude() const { return m_preferences.getAltitude(); }
2016-09-28 07:38:38 -04:00
2017-11-11 20:23:55 -05:00
void setConsoleMinLogLevel(const QtMsgType& minLogLevel) { m_preferences.setConsoleMinLogLevel(minLogLevel); }
void setFileMinLogLevel(const QtMsgType& minLogLevel) { m_preferences.setFileMinLogLevel(minLogLevel); }
void setUseLogFile(bool useLogFile) { m_preferences.setUseLogFile(useLogFile); }
void setLogFileName(const QString& value) { m_preferences.setLogFileName(value); }
2017-11-11 20:23:55 -05:00
QtMsgType getConsoleMinLogLevel() const { return m_preferences.getConsoleMinLogLevel(); }
QtMsgType getFileMinLogLevel() const { return m_preferences.getFileMinLogLevel(); }
bool getUseLogFile() const { return m_preferences.getUseLogFile(); }
const QString& getLogFileName() const { return m_preferences.getLogFileName(); }
2019-06-12 12:50:53 -04:00
DeviceUserArgs& getDeviceUserArgs() { return m_hardwareDeviceUserArgs; }
LimeRFEUSBCalib& getLimeRFEUSBCalib() { return m_limeRFEUSBCalib; }
const AudioDeviceManager *getAudioDeviceManager() const { return m_audioDeviceManager; }
void setAudioDeviceManager(AudioDeviceManager *audioDeviceManager) { m_audioDeviceManager = audioDeviceManager; }
2019-07-20 17:25:00 -04:00
void setAMBEEngine(AMBEEngine *ambeEngine) { m_ambeEngine = ambeEngine; }
protected:
Preferences m_preferences;
AudioDeviceManager *m_audioDeviceManager;
Preset m_workingPreset;
2020-09-23 23:38:05 -04:00
FeatureSetPreset m_workingFeatureSetPreset;
typedef QList<Preset*> Presets;
Presets m_presets;
2018-01-04 05:11:53 -05:00
typedef QList<Command*> Commands;
Commands m_commands;
2020-09-23 23:38:05 -04:00
typedef QList<FeatureSetPreset*> FeatureSetPresets;
FeatureSetPresets m_featureSetPresets;
2019-06-12 12:50:53 -04:00
DeviceUserArgs m_hardwareDeviceUserArgs;
LimeRFEUSBCalib m_limeRFEUSBCalib;
2019-07-20 17:25:00 -04:00
AMBEEngine *m_ambeEngine;
};
#endif // INCLUDE_SETTINGS_H