Merge pull request #3874

caee92d qt: Enable and disable the Show and Remove buttons for requested payments history based on whether any entry is selected. (Haakon Nilsen)
This commit is contained in:
Wladimir J. van der Laan 2014-03-17 10:17:21 +01:00
commit ff0c0dd6a9
No known key found for this signature in database
GPG key ID: 74810B012346C9A6
3 changed files with 23 additions and 0 deletions

View file

@ -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>

View file

@ -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())

View file

@ -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();