6 #include "ui_receivecoinsdialog.h"
20 #include <QItemSelection>
21 #include <QMessageBox>
23 #include <QTextDocument>
28 columnResizingFixer(0),
30 platformStyle(_platformStyle)
35 ui->clearButton->setIcon(QIcon());
36 ui->receiveButton->setIcon(QIcon());
37 ui->showRequestButton->setIcon(QIcon());
38 ui->removeRequestButton->setIcon(QIcon());
41 ui->receiveButton->setIcon(_platformStyle->
SingleColorIcon(
":/icons/receiving_addresses"));
43 ui->removeRequestButton->setIcon(_platformStyle->
SingleColorIcon(
":/icons/remove"));
47 QAction *copyURIAction =
new QAction(tr(
"Copy URI"),
this);
48 QAction *copyLabelAction =
new QAction(tr(
"Copy label"),
this);
49 QAction *copyMessageAction =
new QAction(tr(
"Copy message"),
this);
50 QAction *copyAmountAction =
new QAction(tr(
"Copy amount"),
this);
60 connect(
ui->recentRequestsView, SIGNAL(customContextMenuRequested(QPoint)),
this, SLOT(
showMenu(QPoint)));
61 connect(copyURIAction, SIGNAL(triggered()),
this, SLOT(
copyURI()));
62 connect(copyLabelAction, SIGNAL(triggered()),
this, SLOT(
copyLabel()));
63 connect(copyMessageAction, SIGNAL(triggered()),
this, SLOT(
copyMessage()));
64 connect(copyAmountAction, SIGNAL(triggered()),
this, SLOT(
copyAmount()));
66 connect(
ui->clearButton, SIGNAL(clicked()),
this, SLOT(
clear()));
79 QTableView* tableView =
ui->recentRequestsView;
81 tableView->verticalHeader()->hide();
82 tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
84 tableView->setAlternatingRowColors(
true);
85 tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
86 tableView->setSelectionMode(QAbstractItemView::ContiguousSelection);
91 connect(tableView->selectionModel(),
92 SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
this,
106 ui->reqAmount->clear();
107 ui->reqLabel->setText(
"");
108 ui->reqMessage->setText(
"");
109 ui->reuseAddress->setChecked(
false);
137 QString label =
ui->reqLabel->text();
138 if(
ui->reuseAddress->isChecked())
158 ui->reqAmount->value(),
ui->reqMessage->text());
160 dialog->setAttribute(Qt::WA_DeleteOnClose);
176 dialog->setAttribute(Qt::WA_DeleteOnClose);
183 bool enable = !
ui->recentRequestsView->selectionModel()->selectedRows().isEmpty();
184 ui->showRequestButton->setEnabled(enable);
185 ui->removeRequestButton->setEnabled(enable);
192 QModelIndexList selection =
ui->recentRequestsView->selectionModel()->selectedRows();
194 Q_FOREACH (
const QModelIndex& index, selection) {
203 QModelIndexList selection =
ui->recentRequestsView->selectionModel()->selectedRows();
204 if(selection.empty())
207 QModelIndex firstIndex = selection.at(0);
215 QWidget::resizeEvent(event);
221 if (event->key() == Qt::Key_Return)
224 if (
ui->reqLabel->hasFocus() ||
ui->reqAmount->hasFocus() ||
ui->reqMessage->hasFocus())
232 this->QDialog::keyPressEvent(event);
238 return QModelIndex();
239 QModelIndexList selection =
ui->recentRequestsView->selectionModel()->selectedRows();
240 if(selection.empty())
241 return QModelIndex();
243 QModelIndex firstIndex = selection.at(0);
251 if (!firstIndex.isValid()) {
270 if (!sel.isValid()) {
Widget that shows a list of sending or receiving addresses.
@ ForSelection
Open address book to pick address.
void setModel(AddressTableModel *model)
const QString & getReturnValue() const
QString addRow(const QString &type, const QString &label, const QString &address)
static const QString Receive
Specifies receive address.
QString labelForAddress(const QString &address) const
Makes a QTableView last column feel as if it was being resized from its left border.
void stretchColumnWidth(int column)
Dialog for requesting payment of bitcoins.
Ui::ReceiveCoinsDialog * ui
void on_removeRequestButton_clicked()
const PlatformStyle * platformStyle
@ AMOUNT_MINIMUM_COLUMN_WIDTH
void on_showRequestButton_clicked()
void on_recentRequestsView_doubleClicked(const QModelIndex &index)
GUIUtil::TableViewLastColumnResizingFixer * columnResizingFixer
void recentRequestsView_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
void setModel(WalletModel *model)
virtual void resizeEvent(QResizeEvent *event)
void showMenu(const QPoint &point)
void on_receiveButton_clicked()
virtual void keyPressEvent(QKeyEvent *event)
QModelIndex selectedRow()
void copyColumnToClipboard(int column)
ReceiveCoinsDialog(const PlatformStyle *platformStyle, QWidget *parent=0)
void setInfo(const SendCoinsRecipient &info)
void setModel(OptionsModel *model)
SendCoinsRecipient recipient
Model for list of recently generated payment requests / bitcoin: URIs.
bool removeRows(int row, int count, const QModelIndex &parent=QModelIndex())
void sort(int column, Qt::SortOrder order=Qt::AscendingOrder)
const RecentRequestEntry & entry(int row) const
QVariant data(const QModelIndex &index, int role) const
void addNewRequest(const SendCoinsRecipient &recipient)
Interface to Bitcoin wallet from Qt view code.
AddressTableModel * getAddressTableModel()
OptionsModel * getOptionsModel()
RecentRequestsTableModel * getRecentRequestsTableModel()
QString formatBitcoinURI(const SendCoinsRecipient &info)
void setClipboard(const QString &str)