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:
|
2023-03-01 02:05:56 +00:00
|
|
|
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);
|
2024-04-28 19:26:54 +00:00
|
|
|
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
|