Merge pull request #1270 from laanwj/2012_05_overviewpage2
When a transaction is clicked on overview page, focus it on history page
This commit is contained in:
commit
82f66082b9
5 changed files with 24 additions and 3 deletions
|
@ -157,6 +157,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
|
||||||
|
|
||||||
// Clicking on a transaction on the overview page simply sends you to transaction history page
|
// Clicking on a transaction on the overview page simply sends you to transaction history page
|
||||||
connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), this, SLOT(gotoHistoryPage()));
|
connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), this, SLOT(gotoHistoryPage()));
|
||||||
|
connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex)));
|
||||||
|
|
||||||
// Doubleclicking on a transaction on the transaction history page shows details
|
// Doubleclicking on a transaction on the transaction history page shows details
|
||||||
connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails()));
|
connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails()));
|
||||||
|
|
|
@ -94,7 +94,7 @@ OverviewPage::OverviewPage(QWidget *parent) :
|
||||||
ui(new Ui::OverviewPage),
|
ui(new Ui::OverviewPage),
|
||||||
currentBalance(-1),
|
currentBalance(-1),
|
||||||
currentUnconfirmedBalance(-1),
|
currentUnconfirmedBalance(-1),
|
||||||
txdelegate(new TxViewDelegate())
|
txdelegate(new TxViewDelegate()), filter(0)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
@ -104,7 +104,13 @@ OverviewPage::OverviewPage(QWidget *parent) :
|
||||||
ui->listTransactions->setMinimumHeight(NUM_ITEMS * (DECORATION_SIZE + 2));
|
ui->listTransactions->setMinimumHeight(NUM_ITEMS * (DECORATION_SIZE + 2));
|
||||||
ui->listTransactions->setAttribute(Qt::WA_MacShowFocusRect, false);
|
ui->listTransactions->setAttribute(Qt::WA_MacShowFocusRect, false);
|
||||||
|
|
||||||
connect(ui->listTransactions, SIGNAL(clicked(QModelIndex)), this, SIGNAL(transactionClicked(QModelIndex)));
|
connect(ui->listTransactions, SIGNAL(clicked(QModelIndex)), this, SLOT(handleTransactionClicked(QModelIndex)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void OverviewPage::handleTransactionClicked(const QModelIndex &index)
|
||||||
|
{
|
||||||
|
if(filter)
|
||||||
|
emit transactionClicked(filter->mapToSource(index));
|
||||||
}
|
}
|
||||||
|
|
||||||
OverviewPage::~OverviewPage()
|
OverviewPage::~OverviewPage()
|
||||||
|
@ -132,7 +138,7 @@ void OverviewPage::setModel(WalletModel *model)
|
||||||
if(model)
|
if(model)
|
||||||
{
|
{
|
||||||
// Set up transaction list
|
// Set up transaction list
|
||||||
TransactionFilterProxy *filter = new TransactionFilterProxy();
|
filter = new TransactionFilterProxy();
|
||||||
filter->setSourceModel(model->getTransactionTableModel());
|
filter->setSourceModel(model->getTransactionTableModel());
|
||||||
filter->setLimit(NUM_ITEMS);
|
filter->setLimit(NUM_ITEMS);
|
||||||
filter->setDynamicSortFilter(true);
|
filter->setDynamicSortFilter(true);
|
||||||
|
|
|
@ -12,6 +12,7 @@ namespace Ui {
|
||||||
}
|
}
|
||||||
class WalletModel;
|
class WalletModel;
|
||||||
class TxViewDelegate;
|
class TxViewDelegate;
|
||||||
|
class TransactionFilterProxy;
|
||||||
|
|
||||||
/** Overview ("home") page widget */
|
/** Overview ("home") page widget */
|
||||||
class OverviewPage : public QWidget
|
class OverviewPage : public QWidget
|
||||||
|
@ -38,9 +39,11 @@ private:
|
||||||
qint64 currentUnconfirmedBalance;
|
qint64 currentUnconfirmedBalance;
|
||||||
|
|
||||||
TxViewDelegate *txdelegate;
|
TxViewDelegate *txdelegate;
|
||||||
|
TransactionFilterProxy *filter;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void displayUnitChanged();
|
void displayUnitChanged();
|
||||||
|
void handleTransactionClicked(const QModelIndex &index);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // OVERVIEWPAGE_H
|
#endif // OVERVIEWPAGE_H
|
||||||
|
|
|
@ -417,3 +417,13 @@ void TransactionView::dateRangeChanged()
|
||||||
QDateTime(dateFrom->date()),
|
QDateTime(dateFrom->date()),
|
||||||
QDateTime(dateTo->date()).addDays(1));
|
QDateTime(dateTo->date()).addDays(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TransactionView::focusTransaction(const QModelIndex &idx)
|
||||||
|
{
|
||||||
|
if(!transactionProxyModel)
|
||||||
|
return;
|
||||||
|
QModelIndex targetIdx = transactionProxyModel->mapFromSource(idx);
|
||||||
|
transactionView->scrollTo(targetIdx);
|
||||||
|
transactionView->setCurrentIndex(targetIdx);
|
||||||
|
transactionView->setFocus();
|
||||||
|
}
|
||||||
|
|
|
@ -75,6 +75,7 @@ public slots:
|
||||||
void changedPrefix(const QString &prefix);
|
void changedPrefix(const QString &prefix);
|
||||||
void changedAmount(const QString &amount);
|
void changedAmount(const QString &amount);
|
||||||
void exportClicked();
|
void exportClicked();
|
||||||
|
void focusTransaction(const QModelIndex&);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue