23#include <QTextDocument>
29 platformStyle(_platformStyle)
57 tableView->verticalHeader()->hide();
58 tableView->setAlternatingRowColors(
true);
59 tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
60 tableView->setSelectionMode(QAbstractItemView::ContiguousSelection);
63 if (!tableView->horizontalHeader()->restoreState(settings.value(
"RecentRequestsViewHeaderState").toByteArray())) {
68 tableView->horizontalHeader()->setStretchLastSection(
true);
86 connect(tableView->selectionModel(),
87 &QItemSelectionModel::selectionChanged,
this,
109 settings.setValue(
"RecentRequestsViewHeaderState",
ui->
recentRequestsView->horizontalHeader()->saveState());
160 case AddressTableModel::EditStatus::OK: {
165 dialog->setAttribute(Qt::WA_DeleteOnClose);
174 case AddressTableModel::EditStatus::WALLET_UNLOCK_FAILURE:
175 QMessageBox::critical(
this, windowTitle(),
176 tr(
"Could not unlock wallet."),
177 QMessageBox::Ok, QMessageBox::Ok);
179 case AddressTableModel::EditStatus::KEY_GENERATION_FAILURE:
180 QMessageBox::critical(
this, windowTitle(),
181 tr(
"Could not generate new %1 address").arg(QString::fromStdString(
FormatOutputType(address_type))),
182 QMessageBox::Ok, QMessageBox::Ok);
185 case AddressTableModel::EditStatus::INVALID_ADDRESS:
186 case AddressTableModel::EditStatus::DUPLICATE_ADDRESS:
187 case AddressTableModel::EditStatus::NO_CHANGES:
199 dialog->setAttribute(Qt::WA_DeleteOnClose);
217 for (
const QModelIndex& index : selection) {
227 if(selection.empty())
230 QModelIndex firstIndex = selection.at(0);
237 return QModelIndex();
239 if(selection.empty())
240 return QModelIndex();
242 QModelIndex firstIndex = selection.at(0);
250 if (!firstIndex.isValid()) {
260 if (!sel.isValid()) {
278 if (!sel.isValid()) {
291 if (!sel.isValid()) {
EditStatus getEditStatus() const
QString addRow(const QString &type, const QString &label, const QString &address, const OutputType address_type)
static const QString Receive
Specifies receive address.
void setDisplayUnit(int unit)
Change unit used to display amount.
void clear()
Make field empty and ready for new input.
int getDisplayUnit() const
void displayUnitChanged(int unit)
Dialog for requesting payment of bitcoins.
Ui::ReceiveCoinsDialog * ui
void on_removeRequestButton_clicked()
@ AMOUNT_MINIMUM_COLUMN_WIDTH
QAction * copyMessageAction
void on_showRequestButton_clicked()
void on_recentRequestsView_doubleClicked(const QModelIndex &index)
QAction * copyLabelAction
void recentRequestsView_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
void setModel(WalletModel *model)
void showMenu(const QPoint &point)
void on_receiveButton_clicked()
ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidget *parent=nullptr)
QAction * copyAmountAction
QModelIndex selectedRow()
void copyColumnToClipboard(int column)
void setModel(WalletModel *model)
void setInfo(const SendCoinsRecipient &info)
SendCoinsRecipient recipient
Model for list of recently generated payment requests / bitcoin: URIs.
bool removeRows(int row, int count, const QModelIndex &parent=QModelIndex()) override
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
const RecentRequestEntry & entry(int row) const
void sort(int column, Qt::SortOrder order=Qt::AscendingOrder) override
void addNewRequest(const SendCoinsRecipient &recipient)
BitcoinAmountField * reqAmount
void setupUi(QDialog *ReceiveCoinsDialog)
QPushButton * removeRequestButton
QPushButton * receiveButton
QPushButton * showRequestButton
QTableView * recentRequestsView
QPushButton * clearButton
Interface to Bitcoin wallet from Qt view code.
AddressTableModel * getAddressTableModel()
OptionsModel * getOptionsModel()
interfaces::Wallet & wallet() const
RecentRequestsTableModel * getRecentRequestsTableModel()
void canGetAddressesChanged()
virtual OutputType getDefaultAddressType()=0
virtual bool canGetAddresses()=0
Utility functions used by the Bitcoin Qt UI.
QString formatBitcoinURI(const SendCoinsRecipient &info)
constexpr auto dialog_flags
void setClipboard(const QString &str)
const std::string & FormatOutputType(OutputType type)