feather/src/SettingsDialog.h

81 lines
1.9 KiB
C
Raw Normal View History

2023-02-11 17:11:21 +00:00
// SPDX-License-Identifier: BSD-3-Clause
2024-01-01 17:07:58 +00:00
// SPDX-FileCopyrightText: 2020-2024 The Monero Project
2023-02-11 17:11:21 +00:00
2023-02-11 17:24:18 +00:00
#ifndef FEATHER_SettingsDIALOG_H
#define FEATHER_SettingsDIALOG_H
2023-02-11 17:11:21 +00:00
#include <QAbstractButton>
#include <QDialog>
#include <QSettings>
#include "widgets/NodeWidget.h"
namespace Ui {
2023-02-11 17:24:18 +00:00
class Settings;
2023-02-11 17:11:21 +00:00
}
2023-02-11 17:24:18 +00:00
class Settings : public QDialog
2023-02-11 17:11:21 +00:00
{
Q_OBJECT
public:
explicit Settings(Nodes *nodes, QWidget *parent = nullptr);
2023-02-11 17:24:18 +00:00
~Settings() override;
2023-02-11 17:11:21 +00:00
void showNetworkProxyTab();
enum Pages {
APPEARANCE = 0,
NETWORK,
STORAGE,
DISPLAY,
MEMORY,
TRANSACTIONS,
2023-11-30 14:01:39 +00:00
PLUGINS,
2023-02-11 17:11:21 +00:00
MISC
};
signals:
void preferredFiatCurrencyChanged(QString currency);
void skinChanged(QString skinName);
void hideUpdateNotifications(bool hidden);
void websocketStatusChanged(bool enabled);
void proxySettingsChanged();
void updateBalance();
void offlineMode(bool offline);
2023-11-30 14:01:39 +00:00
void pluginConfigured(const QString &id);
void manualFeeSelectionEnabled(bool enabled);
void subtractFeeFromAmountEnabled(bool enabled);
2023-02-11 17:11:21 +00:00
public slots:
// void checkboxExternalLinkWarn();
// void fiatCurrencySelected(int index);
private slots:
void onProxySettingsChanged();
private:
void setupAppearanceTab();
void setupNetworkTab();
void setupStorageTab();
void setupDisplayTab();
void setupMemoryTab();
void setupTransactionsTab();
2023-11-30 14:01:39 +00:00
void setupPluginsTab();
2023-02-11 17:11:21 +00:00
void setupMiscTab();
void setupThemeComboBox();
void setSelection(int index);
void enableWebsocket(bool enabled);
2023-02-11 17:24:18 +00:00
QScopedPointer<Ui::Settings> ui;
2023-02-11 17:11:21 +00:00
Nodes *m_nodes = nullptr;
QStringList m_themes{"Native", "QDarkStyle", "Breeze/Dark", "Breeze/Light"};
QStringList m_dateFormats{"yyyy-MM-dd", "MM-dd-yyyy", "dd-MM-yyyy"};
QStringList m_timeFormats{"hh:mm", "hh:mm ap"};
};
2023-02-11 17:24:18 +00:00
#endif //FEATHER_SettingsDIALOG_H