You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
// settingsdialog.h — Settings dialog with category list |
|
#pragma once |
|
|
|
#include <QDialog> |
|
#include <QListWidget> |
|
#include <QStackedWidget> |
|
#include <QPushButton> |
|
#include <QLineEdit> |
|
#include <QComboBox> |
|
#include <QString> |
|
|
|
class NetworkSettingsPage; |
|
class DatabaseSettingsPage; |
|
class StatusPage; |
|
class NodesPage; |
|
class SoundSettingsPage; |
|
class AudioDeviceSettingsPage; |
|
class StorageSettingsPage; |
|
class DbManager; |
|
class UtunNode; |
|
class AudioRecorder; |
|
|
|
class SettingsDialog : public QDialog { |
|
Q_OBJECT |
|
public: |
|
explicit SettingsDialog(const QString& configPath, DbManager* db, UtunNode* node, |
|
AudioRecorder* recorder, QWidget* parent = nullptr); |
|
|
|
private slots: |
|
void onCategoryChanged(int row); |
|
void onSave(); |
|
|
|
private: |
|
void loadProfileFromConfig(const QString& path); |
|
|
|
QString m_configPath; |
|
QListWidget* m_categoryList; |
|
QStackedWidget* m_pages; |
|
QPushButton* m_saveBtn; |
|
QLineEdit* m_nicknameEdit; |
|
QComboBox* m_sortCombo; |
|
QString m_oldNickname; |
|
NetworkSettingsPage* m_networkPage; |
|
DatabaseSettingsPage* m_databasePage; |
|
StatusPage* m_statusPage; |
|
NodesPage* m_nodesPage; |
|
SoundSettingsPage* m_soundPage; |
|
AudioDeviceSettingsPage* m_audioDevicePage; |
|
StorageSettingsPage* m_storagePage; |
|
};
|
|
|