Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1// Copyright (c) 2011-present The Bitcoin Core developers2// Distributed under the MIT software license, see the accompanying3// file COPYING or http://www.opensource.org/licenses/mit-license.php.5#ifndef BITCOIN_QT_TRANSACTIONVIEW_H6#define BITCOIN_QT_TRANSACTIONVIEW_H8#include <qt/guiutil.h>10#include <primitives/transaction_identifier.h>11#include <uint256.h>13#include <QWidget>14#include <QKeyEvent>16class PlatformStyle;17class TransactionDescDialog;18class TransactionFilterProxy;19class WalletModel;21QT_BEGIN_NAMESPACE22class QComboBox;23class QDateTimeEdit;24class QFrame;25class QLineEdit;26class QMenu;27class QModelIndex;28class QTableView;29QT_END_NAMESPACE31/** Widget showing the transaction list for a wallet, including a filter row.32Using the filter row, the user can view or export a subset of the transactions.33*/34class TransactionView : public QWidget35{36Q_OBJECT38public:39explicit TransactionView(const PlatformStyle *platformStyle, QWidget *parent = nullptr);40~TransactionView();42void setModel(WalletModel *model);44// Date ranges for filter45enum DateEnum46{47All,48Today,49ThisWeek,50ThisMonth,51LastMonth,52ThisYear,53Range54};56enum ColumnWidths {57STATUS_COLUMN_WIDTH = 30,58DATE_COLUMN_WIDTH = 120,59TYPE_COLUMN_WIDTH = 113,60AMOUNT_MINIMUM_COLUMN_WIDTH = 120,61MINIMUM_COLUMN_WIDTH = 2362};64protected:65void changeEvent(QEvent* e) override;67private:68WalletModel *model{nullptr};69TransactionFilterProxy *transactionProxyModel{nullptr};70QTableView *transactionView{nullptr};72QComboBox *dateWidget;73QComboBox *typeWidget;74QLineEdit *search_widget;75QLineEdit *amountWidget;77QMenu *contextMenu;79QFrame *dateRangeWidget;80QDateTimeEdit *dateFrom;81QDateTimeEdit *dateTo;82QAction *abandonAction{nullptr};83QAction *bumpFeeAction{nullptr};84QAction *copyAddressAction{nullptr};85QAction *copyLabelAction{nullptr};87QWidget *createDateRangeWidget();89bool eventFilter(QObject *obj, QEvent *event) override;91const PlatformStyle* m_platform_style;93QList<TransactionDescDialog*> m_opened_dialogs;95private Q_SLOTS:96void contextualMenu(const QPoint &);97void dateRangeChanged();98void showDetails();99void copyAddress();100void editLabel();101void copyLabel();102void copyAmount();103void copyTxID();104void copyTxHex();105void copyTxPlainText();106void openThirdPartyTxUrl(QString url);107void abandonTx();108void bumpFee(bool checked);110Q_SIGNALS:111void doubleClicked(const QModelIndex&);113/** Fired when a message should be reported to the user */114void message(const QString &title, const QString &message, unsigned int style);116void bumpedFee(const Txid& txid);118public Q_SLOTS:119void chooseDate(int idx);120void chooseType(int idx);121void changedAmount();122void changedSearch();123void exportClicked();124void closeOpenedDialogs();125void focusTransaction(const QModelIndex&);126void focusTransaction(const Txid& txid);127};129#endif // BITCOIN_QT_TRANSACTIONVIEW_H
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.