Browse Source

qt: Enable and disable the Show and Remove buttons for requested payments history

based on whether any entry is selected.
0.10
Haakon Nilsen 11 years ago
parent
commit
caee92dfa8
  1. 6
      src/qt/forms/receivecoinsdialog.ui
  2. 15
      src/qt/receivecoinsdialog.cpp
  3. 2
      src/qt/receivecoinsdialog.h

6
src/qt/forms/receivecoinsdialog.ui

@ -263,6 +263,9 @@
<property name="text"> <property name="text">
<string>Show</string> <string>Show</string>
</property> </property>
<property name="enabled">
<bool>false</bool>
</property>
<property name="icon"> <property name="icon">
<iconset resource="../bitcoin.qrc"> <iconset resource="../bitcoin.qrc">
<normaloff>:/icons/edit</normaloff>:/icons/edit</iconset> <normaloff>:/icons/edit</normaloff>:/icons/edit</iconset>
@ -277,6 +280,9 @@
<property name="text"> <property name="text">
<string>Remove</string> <string>Remove</string>
</property> </property>
<property name="enabled">
<bool>false</bool>
</property>
<property name="icon"> <property name="icon">
<iconset resource="../bitcoin.qrc"> <iconset resource="../bitcoin.qrc">
<normaloff>:/icons/remove</normaloff>:/icons/remove</iconset> <normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>

15
src/qt/receivecoinsdialog.cpp

@ -19,6 +19,7 @@
#include <QMessageBox> #include <QMessageBox>
#include <QTextDocument> #include <QTextDocument>
#include <QScrollBar> #include <QScrollBar>
#include <QItemSelection>
ReceiveCoinsDialog::ReceiveCoinsDialog(QWidget *parent) : ReceiveCoinsDialog::ReceiveCoinsDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
@ -77,6 +78,11 @@ void ReceiveCoinsDialog::setModel(WalletModel *model)
ui->recentRequestsView->horizontalHeader()->resizeSection(RecentRequestsTableModel::Amount, 100); ui->recentRequestsView->horizontalHeader()->resizeSection(RecentRequestsTableModel::Amount, 100);
model->getRecentRequestsTableModel()->sort(RecentRequestsTableModel::Date, Qt::DescendingOrder); model->getRecentRequestsTableModel()->sort(RecentRequestsTableModel::Date, Qt::DescendingOrder);
connect(ui->recentRequestsView->selectionModel(),
SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
this,
SLOT(on_recentRequestsView_selectionChanged(QItemSelection, QItemSelection)));
} }
} }
@ -161,6 +167,15 @@ void ReceiveCoinsDialog::on_recentRequestsView_doubleClicked(const QModelIndex &
dialog->show(); dialog->show();
} }
void ReceiveCoinsDialog::on_recentRequestsView_selectionChanged(const QItemSelection &selected,
const QItemSelection &deselected)
{
// Enable Show/Remove buttons only if anything is selected.
bool enable = !ui->recentRequestsView->selectionModel()->selectedRows().isEmpty();
ui->showRequestButton->setEnabled(enable);
ui->removeRequestButton->setEnabled(enable);
}
void ReceiveCoinsDialog::on_showRequestButton_clicked() void ReceiveCoinsDialog::on_showRequestButton_clicked()
{ {
if(!model || !model->getRecentRequestsTableModel() || !ui->recentRequestsView->selectionModel()) if(!model || !model->getRecentRequestsTableModel() || !ui->recentRequestsView->selectionModel())

2
src/qt/receivecoinsdialog.h

@ -10,6 +10,7 @@
#include <QMenu> #include <QMenu>
#include <QPoint> #include <QPoint>
#include <QVariant> #include <QVariant>
#include <QItemSelection>
namespace Ui { namespace Ui {
class ReceiveCoinsDialog; class ReceiveCoinsDialog;
@ -51,6 +52,7 @@ private slots:
void on_showRequestButton_clicked(); void on_showRequestButton_clicked();
void on_removeRequestButton_clicked(); void on_removeRequestButton_clicked();
void on_recentRequestsView_doubleClicked(const QModelIndex &index); void on_recentRequestsView_doubleClicked(const QModelIndex &index);
void on_recentRequestsView_selectionChanged(const QItemSelection &, const QItemSelection &);
void updateDisplayUnit(); void updateDisplayUnit();
void showMenu(const QPoint &); void showMenu(const QPoint &);
void copyLabel(); void copyLabel();

Loading…
Cancel
Save