Hush full node GUI wallet
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.

90 lines
1.8 KiB

6 years ago
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "precompiled.h"
// Forward declare to break circular dependency.
class RPC;
class Settings;
using json = nlohmann::json;
// Struct used to hold destination info when sending a Tx.
struct ToFields {
QString addr;
double amount;
QString txtMemo;
QString encodedMemo;
};
// Struct used to represent a Transaction.
struct Tx {
QString fromAddr;
QList<ToFields> toAddrs;
double fee;
};
6 years ago
namespace Ui {
class MainWindow;
6 years ago
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
Ui::MainWindow* ui;
QLabel* statusLabel;
QLabel* statusIcon;
QLabel* loadingLabel;
6 years ago
private:
void setupSendTab();
void setupTransactionsTab();
void setupRecieveTab();
void setupBalancesTab();
6 years ago
void setupTurnstileDialog();
void setupSettingsModal();
void setupStatusBar();
6 years ago
void removeExtraAddresses();
void setDefaultPayFrom();
Tx createTxFromSendPage();
bool confirmTx(Tx tx, ToFields devFee);
void turnstileDoMigration();
void turnstileProgress();
6 years ago
void cancelButton();
void sendButton();
void inputComboTextChanged(const QString& text);
void addAddressSection();
void maxAmountChecked(int checked);
void addressChanged(int number, const QString& text);
void amountChanged (int numer, const QString& text);
void addNewZaddr(bool sapling);
std::function<void(bool)> addZAddrsToComboList(bool sapling);
void memoButtonClicked(int number);
void setMemoEnabled(int number, bool enabled);
QString doSendTxValidations(Tx tx);
void donate();
void importPrivKeys();
6 years ago
RPC* rpc;
QMovie* loadingMovie;
6 years ago
};
#endif // MAINWINDOW_H