mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-16 13:01:19 +02:00
Merge 0e9596c860 into merged_master (Bitcoin PR bitcoin-core/gui#205)
Some commented-out GUI code becomes conditional ... maybe it doesn't need to be commented out anymore? I dunno, I left it alone.
This commit is contained in:
commit
41743b65e8
3 changed files with 55 additions and 43 deletions
|
|
@ -19,6 +19,7 @@
|
|||
#include <QCursor>
|
||||
#include <QMessageBox>
|
||||
#include <QScrollBar>
|
||||
#include <QSettings>
|
||||
#include <QTextDocument>
|
||||
|
||||
ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *_platformStyle, QWidget *parent) :
|
||||
|
|
@ -67,6 +68,24 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(const PlatformStyle *_platformStyle, QWid
|
|||
connect(copyAmountAction, &QAction::triggered, this, &ReceiveCoinsDialog::copyAmount);
|
||||
|
||||
connect(ui->clearButton, &QPushButton::clicked, this, &ReceiveCoinsDialog::clear);
|
||||
|
||||
QTableView* tableView = ui->recentRequestsView;
|
||||
tableView->verticalHeader()->hide();
|
||||
tableView->setAlternatingRowColors(true);
|
||||
tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
tableView->setSelectionMode(QAbstractItemView::ContiguousSelection);
|
||||
|
||||
QSettings settings;
|
||||
if (!tableView->horizontalHeader()->restoreState(settings.value("RecentRequestsViewHeaderState").toByteArray())) {
|
||||
tableView->setColumnWidth(RecentRequestsTableModel::Date, DATE_COLUMN_WIDTH);
|
||||
#if 0
|
||||
tableView->setColumnWidth(RecentRequestsTableModel::Label, LABEL_COLUMN_WIDTH);
|
||||
tableView->setColumnWidth(RecentRequestsTableModel::Amount, AMOUNT_MINIMUM_COLUMN_WIDTH);
|
||||
tableView->horizontalHeader()->setMinimumSectionSize(MINIMUM_COLUMN_WIDTH);
|
||||
tableView->horizontalHeader()->setStretchLastSection(true);
|
||||
#endif
|
||||
}
|
||||
tableView->horizontalHeader()->setSortIndicator(RecentRequestsTableModel::Date, Qt::DescendingOrder);
|
||||
}
|
||||
|
||||
void ReceiveCoinsDialog::setModel(WalletModel *_model)
|
||||
|
|
@ -80,21 +99,7 @@ void ReceiveCoinsDialog::setModel(WalletModel *_model)
|
|||
updateDisplayUnit();
|
||||
|
||||
QTableView* tableView = ui->recentRequestsView;
|
||||
|
||||
tableView->verticalHeader()->hide();
|
||||
tableView->setModel(_model->getRecentRequestsTableModel());
|
||||
tableView->setAlternatingRowColors(true);
|
||||
tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
tableView->setSelectionMode(QAbstractItemView::ContiguousSelection);
|
||||
tableView->setColumnWidth(RecentRequestsTableModel::Date, DATE_COLUMN_WIDTH);
|
||||
tableView->horizontalHeader()->setStretchLastSection(true);
|
||||
#if 0
|
||||
tableView->setColumnWidth(RecentRequestsTableModel::Label, LABEL_COLUMN_WIDTH);
|
||||
tableView->setColumnWidth(RecentRequestsTableModel::Amount, AMOUNT_MINIMUM_COLUMN_WIDTH);
|
||||
tableView->horizontalHeader()->setMinimumSectionSize(MINIMUM_COLUMN_WIDTH);
|
||||
tableView->horizontalHeader()->setStretchLastSection(true);
|
||||
#endif
|
||||
|
||||
connect(tableView->selectionModel(),
|
||||
&QItemSelectionModel::selectionChanged, this,
|
||||
&ReceiveCoinsDialog::recentRequestsView_selectionChanged);
|
||||
|
|
@ -117,6 +122,8 @@ void ReceiveCoinsDialog::setModel(WalletModel *_model)
|
|||
|
||||
ReceiveCoinsDialog::~ReceiveCoinsDialog()
|
||||
{
|
||||
QSettings settings;
|
||||
settings.setValue("RecentRequestsViewHeaderState", ui->recentRequestsView->horizontalHeader()->saveState());
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include <QMenu>
|
||||
#include <QPoint>
|
||||
#include <QScrollBar>
|
||||
#include <QSettings>
|
||||
#include <QTableView>
|
||||
#include <QTimer>
|
||||
#include <QUrl>
|
||||
|
|
@ -127,27 +128,40 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
|
|||
vlayout->setContentsMargins(0,0,0,0);
|
||||
vlayout->setSpacing(0);
|
||||
|
||||
QTableView *view = new QTableView(this);
|
||||
transactionView = new QTableView(this);
|
||||
transactionView->setObjectName("transactionView");
|
||||
vlayout->addLayout(hlayout);
|
||||
vlayout->addWidget(createDateRangeWidget());
|
||||
vlayout->addWidget(view);
|
||||
vlayout->addWidget(transactionView);
|
||||
vlayout->setSpacing(0);
|
||||
int width = view->verticalScrollBar()->sizeHint().width();
|
||||
int width = transactionView->verticalScrollBar()->sizeHint().width();
|
||||
// Cover scroll bar width with spacing
|
||||
if (platformStyle->getUseExtraSpacing()) {
|
||||
hlayout->addSpacing(width+2);
|
||||
} else {
|
||||
hlayout->addSpacing(width);
|
||||
}
|
||||
// Always show scroll bar
|
||||
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
view->setTabKeyNavigation(false);
|
||||
view->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
transactionView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
transactionView->setTabKeyNavigation(false);
|
||||
transactionView->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
transactionView->installEventFilter(this);
|
||||
transactionView->setAlternatingRowColors(true);
|
||||
transactionView->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
transactionView->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
transactionView->setSortingEnabled(true);
|
||||
transactionView->verticalHeader()->hide();
|
||||
|
||||
view->installEventFilter(this);
|
||||
|
||||
transactionView = view;
|
||||
transactionView->setObjectName("transactionView");
|
||||
QSettings settings;
|
||||
if (!transactionView->horizontalHeader()->restoreState(settings.value("TransactionViewHeaderState").toByteArray())) {
|
||||
transactionView->setColumnWidth(TransactionTableModel::Status, STATUS_COLUMN_WIDTH);
|
||||
transactionView->setColumnWidth(TransactionTableModel::Watchonly, WATCHONLY_COLUMN_WIDTH);
|
||||
transactionView->setColumnWidth(TransactionTableModel::Date, DATE_COLUMN_WIDTH);
|
||||
transactionView->setColumnWidth(TransactionTableModel::Type, TYPE_COLUMN_WIDTH);
|
||||
transactionView->setColumnWidth(TransactionTableModel::Amount, AMOUNT_MINIMUM_COLUMN_WIDTH);
|
||||
transactionView->horizontalHeader()->setMinimumSectionSize(MINIMUM_COLUMN_WIDTH);
|
||||
transactionView->horizontalHeader()->setStretchLastSection(true);
|
||||
}
|
||||
transactionView->horizontalHeader()->setSortIndicator(TransactionTableModel::Date, Qt::DescendingOrder);
|
||||
|
||||
// Actions
|
||||
abandonAction = new QAction(tr("Abandon transaction"), this);
|
||||
|
|
@ -183,8 +197,8 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
|
|||
connect(search_widget, &QLineEdit::textChanged, prefix_typing_delay, static_cast<void (QTimer::*)()>(&QTimer::start));
|
||||
connect(prefix_typing_delay, &QTimer::timeout, this, &TransactionView::changedSearch);
|
||||
|
||||
connect(view, &QTableView::doubleClicked, this, &TransactionView::doubleClicked);
|
||||
connect(view, &QTableView::customContextMenuRequested, this, &TransactionView::contextualMenu);
|
||||
connect(transactionView, &QTableView::doubleClicked, this, &TransactionView::doubleClicked);
|
||||
connect(transactionView, &QTableView::customContextMenuRequested, this, &TransactionView::contextualMenu);
|
||||
|
||||
connect(bumpFeeAction, &QAction::triggered, this, &TransactionView::bumpFee);
|
||||
connect(abandonAction, &QAction::triggered, this, &TransactionView::abandonTx);
|
||||
|
|
@ -204,6 +218,12 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
|
|||
});
|
||||
}
|
||||
|
||||
TransactionView::~TransactionView()
|
||||
{
|
||||
QSettings settings;
|
||||
settings.setValue("TransactionViewHeaderState", transactionView->horizontalHeader()->saveState());
|
||||
}
|
||||
|
||||
void TransactionView::setModel(WalletModel *_model)
|
||||
{
|
||||
this->model = _model;
|
||||
|
|
@ -214,24 +234,8 @@ void TransactionView::setModel(WalletModel *_model)
|
|||
transactionProxyModel->setDynamicSortFilter(true);
|
||||
transactionProxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||
transactionProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
|
||||
|
||||
transactionProxyModel->setSortRole(Qt::EditRole);
|
||||
|
||||
transactionView->setModel(transactionProxyModel);
|
||||
transactionView->setAlternatingRowColors(true);
|
||||
transactionView->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
transactionView->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
transactionView->horizontalHeader()->setSortIndicator(TransactionTableModel::Date, Qt::DescendingOrder);
|
||||
transactionView->setSortingEnabled(true);
|
||||
transactionView->verticalHeader()->hide();
|
||||
|
||||
transactionView->setColumnWidth(TransactionTableModel::Status, STATUS_COLUMN_WIDTH);
|
||||
transactionView->setColumnWidth(TransactionTableModel::Watchonly, WATCHONLY_COLUMN_WIDTH);
|
||||
transactionView->setColumnWidth(TransactionTableModel::Date, DATE_COLUMN_WIDTH);
|
||||
transactionView->setColumnWidth(TransactionTableModel::Type, TYPE_COLUMN_WIDTH);
|
||||
transactionView->setColumnWidth(TransactionTableModel::Amount, AMOUNT_MINIMUM_COLUMN_WIDTH);
|
||||
transactionView->horizontalHeader()->setMinimumSectionSize(MINIMUM_COLUMN_WIDTH);
|
||||
transactionView->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
if (_model->getOptionsModel())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ class TransactionView : public QWidget
|
|||
|
||||
public:
|
||||
explicit TransactionView(const PlatformStyle *platformStyle, QWidget *parent = nullptr);
|
||||
~TransactionView();
|
||||
|
||||
void setModel(WalletModel *model);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue