Skip to content

Commit 96b0ce2

Browse files
hebastoapoelstra
authored andcommitted
qt: Add TransactionOverviewWidget class
Github-Pull: bitcoin-core/gui#176 Rebased-From: d439921 (cherry picked from commit b7086e6)
1 parent 9a729f8 commit 96b0ce2

File tree

4 files changed

+56
-2
lines changed

4 files changed

+56
-2
lines changed

src/Makefile.qt.include

+2
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ QT_MOC_CPP = \
7777
qt/moc_transactiondesc.cpp \
7878
qt/moc_transactiondescdialog.cpp \
7979
qt/moc_transactionfilterproxy.cpp \
80+
qt/moc_transactionoverviewwidget.cpp \
8081
qt/moc_transactiontablemodel.cpp \
8182
qt/moc_transactionview.cpp \
8283
qt/moc_utilitydialog.cpp \
@@ -150,6 +151,7 @@ BITCOIN_QT_H = \
150151
qt/transactiondesc.h \
151152
qt/transactiondescdialog.h \
152153
qt/transactionfilterproxy.h \
154+
qt/transactionoverviewwidget.h \
153155
qt/transactionrecord.h \
154156
qt/transactiontablemodel.h \
155157
qt/transactionview.h \

src/qt/forms/overviewpage.ui

+11-1
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@
610610
</layout>
611611
</item>
612612
<item>
613-
<widget class="QListView" name="listTransactions">
613+
<widget class="TransactionOverviewWidget" name="listTransactions">
614614
<property name="styleSheet">
615615
<string notr="true">QListView { background: transparent; }</string>
616616
</property>
@@ -626,6 +626,9 @@
626626
<property name="selectionMode">
627627
<enum>QAbstractItemView::NoSelection</enum>
628628
</property>
629+
<property name="uniformItemSizes">
630+
<bool>true</bool>
631+
</property>
629632
</widget>
630633
</item>
631634
</layout>
@@ -639,6 +642,13 @@
639642
</item>
640643
</layout>
641644
</widget>
645+
<customwidgets>
646+
<customwidget>
647+
<class>TransactionOverviewWidget</class>
648+
<extends>QListView</extends>
649+
<header>qt/transactionoverviewwidget.h</header>
650+
</customwidget>
651+
</customwidgets>
642652
<resources>
643653
<include location="../bitcoin.qrc"/>
644654
</resources>

src/qt/overviewpage.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <qt/optionsmodel.h>
1313
#include <qt/platformstyle.h>
1414
#include <qt/transactionfilterproxy.h>
15+
#include <qt/transactionoverviewwidget.h>
1516
#include <qt/transactiontablemodel.h>
1617
#include <qt/walletmodel.h>
1718

@@ -133,7 +134,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
133134
ui->listTransactions->setMinimumHeight(NUM_ITEMS * (DECORATION_SIZE + 2));
134135
ui->listTransactions->setAttribute(Qt::WA_MacShowFocusRect, false);
135136

136-
connect(ui->listTransactions, &QListView::clicked, this, &OverviewPage::handleTransactionClicked);
137+
connect(ui->listTransactions, &TransactionOverviewWidget::clicked, this, &OverviewPage::handleTransactionClicked);
137138

138139
// start with displaying the "out of sync" warnings
139140
showOutOfSyncWarning(true);

src/qt/transactionoverviewwidget.h

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright (c) 2021 The Bitcoin Core developers
2+
// Distributed under the MIT software license, see the accompanying
3+
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4+
5+
#ifndef BITCOIN_QT_TRANSACTIONOVERVIEWWIDGET_H
6+
#define BITCOIN_QT_TRANSACTIONOVERVIEWWIDGET_H
7+
8+
#include <qt/transactiontablemodel.h>
9+
10+
#include <QListView>
11+
#include <QSize>
12+
#include <QSizePolicy>
13+
14+
QT_BEGIN_NAMESPACE
15+
class QShowEvent;
16+
class QWidget;
17+
QT_END_NAMESPACE
18+
19+
class TransactionOverviewWidget : public QListView
20+
{
21+
Q_OBJECT
22+
23+
public:
24+
explicit TransactionOverviewWidget(QWidget* parent = nullptr) : QListView(parent) {}
25+
26+
QSize sizeHint() const override
27+
{
28+
return {sizeHintForColumn(TransactionTableModel::ToAddress), QListView::sizeHint().height()};
29+
}
30+
31+
protected:
32+
void showEvent(QShowEvent* event) override
33+
{
34+
Q_UNUSED(event);
35+
QSizePolicy sp = sizePolicy();
36+
sp.setHorizontalPolicy(QSizePolicy::Minimum);
37+
setSizePolicy(sp);
38+
}
39+
};
40+
41+
#endif // BITCOIN_QT_TRANSACTIONOVERVIEWWIDGET_H

0 commit comments

Comments
 (0)