6 #include <qt/forms/ui_overviewpage.h> 18 #include <QAbstractItemDelegate> 21 #define DECORATION_SIZE 54 32 platformStyle(_platformStyle)
37 inline void paint(QPainter *painter,
const QStyleOptionViewItem &option,
38 const QModelIndex &index )
const 43 QRect mainRect = option.rect;
47 int halfheight = (mainRect.height() - 2*ypad)/2;
48 QRect amountRect(mainRect.left() + xspace, mainRect.top()+ypad, mainRect.width() - xspace, halfheight);
49 QRect addressRect(mainRect.left() + xspace, mainRect.top()+ypad+halfheight, mainRect.width() - xspace, halfheight);
50 icon = platformStyle->SingleColorIcon(icon);
51 icon.paint(painter, decorationRect);
54 QString address = index.data(Qt::DisplayRole).toString();
57 QVariant value = index.data(Qt::ForegroundRole);
58 QColor foreground = option.palette.color(QPalette::Text);
59 if(value.canConvert<QBrush>())
61 QBrush brush = qvariant_cast<QBrush>(value);
62 foreground = brush.color();
65 painter->setPen(foreground);
67 painter->drawText(addressRect, Qt::AlignLeft|Qt::AlignVCenter, address, &boundingRect);
72 QRect watchonlyRect(boundingRect.right() + 5, mainRect.top()+ypad+halfheight, 16, halfheight);
73 iconWatchonly.paint(painter, watchonlyRect);
86 foreground = option.palette.color(QPalette::Text);
88 painter->setPen(foreground);
92 amountText = QString(
"[") + amountText + QString(
"]");
94 painter->drawText(amountRect, Qt::AlignRight|Qt::AlignVCenter, amountText);
96 painter->setPen(option.palette.color(QPalette::Text));
102 inline QSize
sizeHint(
const QStyleOptionViewItem &option,
const QModelIndex &index)
const 111 #include <qt/overviewpage.moc> 126 icon.addPixmap(icon.pixmap(QSize(64,64), QIcon::Normal), QIcon::Disabled);
127 ui->labelTransactionsStatus->setIcon(icon);
128 ui->labelWalletStatus->setIcon(icon);
134 ui->listTransactions->setAttribute(Qt::WA_MacShowFocusRect,
false);
179 ui->labelImmature->setVisible(showImmature || showWatchOnlyImmature);
180 ui->labelImmatureText->setVisible(showImmature || showWatchOnlyImmature);
181 ui->labelWatchImmature->setVisible(showWatchOnlyImmature);
187 ui->labelSpendable->setVisible(showWatchOnly);
188 ui->labelWatchonly->setVisible(showWatchOnly);
189 ui->lineWatchBalance->setVisible(showWatchOnly);
190 ui->labelWatchAvailable->setVisible(showWatchOnly);
191 ui->labelWatchPending->setVisible(showWatchOnly);
192 ui->labelWatchTotal->setVisible(showWatchOnly);
195 ui->labelWatchImmature->hide();
218 filter->setDynamicSortFilter(
true);
219 filter->setSortRole(Qt::EditRole);
220 filter->setShowInactive(
false);
223 ui->listTransactions->setModel(
filter.get());
253 ui->listTransactions->update();
259 this->
ui->labelAlerts->setVisible(!warnings.isEmpty());
260 this->
ui->labelAlerts->setText(warnings);
265 ui->labelWalletStatus->setVisible(fShow);
266 ui->labelTransactionsStatus->setVisible(fShow);
void setWalletModel(WalletModel *walletModel)
interfaces::Wallet & wallet() const
Bitcoin unit definitions.
void updateAlerts(const QString &warnings)
void handleTransactionClicked(const QModelIndex &index)
interfaces::WalletBalances m_balances
std::unique_ptr< TransactionFilterProxy > filter
QString dateTimeStr(const QDateTime &date)
TxViewDelegate(const PlatformStyle *_platformStyle, QObject *parent=nullptr)
TxViewDelegate * txdelegate
WalletModel * walletModel
void outOfSyncWarningClicked()
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
QString getStatusBarWarnings() const
Return warnings to be displayed in status bar.
void alertsChanged(const QString &warnings)
int getDisplayUnit() const
CAmount watch_only_balance
Collection of wallet balances.
void updateWatchOnlyLabels(bool showWatchOnly)
Interface for accessing a wallet.
Is transaction confirmed?
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
CAmount immature_watch_only_balance
Date and time this transaction was created.
TransactionTableModel * getTransactionTableModel()
void displayUnitChanged(int unit)
#define COLOR_UNCONFIRMED
Model for Bitcoin network client.
ClientModel * clientModel
OverviewPage(const PlatformStyle *platformStyle, QWidget *parent=0)
void transactionClicked(const QModelIndex &index)
const PlatformStyle * platformStyle
void showOutOfSyncWarning(bool fShow)
CAmount unconfirmed_balance
Net amount of transaction.
CAmount unconfirmed_watch_only_balance
Filter the transaction list according to pre-specified rules.
Interface to Bitcoin wallet from Qt view code.
virtual bool haveWatchOnly()=0
Return whether wallet has watch only keys.
void notifyWatchonlyChanged(bool fHaveWatchonly)
void setClientModel(ClientModel *clientModel)
void setBalance(const interfaces::WalletBalances &balances)
void handleOutOfSyncWarningClicks()
static QString formatWithUnit(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as string (with unit)
virtual WalletBalances getBalances()=0
Get balances.
Overview ("home") page widget.
void balanceChanged(const interfaces::WalletBalances &balances)
OptionsModel * getOptionsModel()