18 #include <QAbstractItemDelegate>
21 #define DECORATION_SIZE 64
33 inline void paint(QPainter *painter,
const QStyleOptionViewItem &option,
34 const QModelIndex &index )
const
38 QIcon icon = qvariant_cast<QIcon>(index.data(Qt::DecorationRole));
39 QRect mainRect = option.rect;
43 int halfheight = (mainRect.height() - 2*ypad)/2;
44 QRect amountRect(mainRect.left() + xspace, mainRect.top()+ypad, mainRect.width() - xspace, halfheight);
45 QRect addressRect(mainRect.left() + xspace, mainRect.top()+ypad+halfheight, mainRect.width() - xspace, halfheight);
46 icon.paint(painter, decorationRect);
49 QString address = index.data(Qt::DisplayRole).toString();
52 QVariant value = index.data(Qt::ForegroundRole);
53 QColor foreground = option.palette.color(QPalette::Text);
54 if(value.canConvert<QBrush>())
56 QBrush brush = qvariant_cast<QBrush>(value);
57 foreground = brush.color();
60 painter->setPen(foreground);
62 painter->drawText(addressRect, Qt::AlignLeft|Qt::AlignVCenter, address, &boundingRect);
67 QRect watchonlyRect(boundingRect.right() + 5, mainRect.top()+ypad+halfheight, 16, halfheight);
68 iconWatchonly.paint(painter, watchonlyRect);
81 foreground = option.palette.color(QPalette::Text);
83 painter->setPen(foreground);
87 amountText = QString(
"[") + amountText + QString(
"]");
89 painter->drawText(amountRect, Qt::AlignRight|Qt::AlignVCenter, amountText);
91 painter->setPen(option.palette.color(QPalette::Text));
97 inline QSize
sizeHint(
const QStyleOptionViewItem &option,
const QModelIndex &index)
const
105 #include "overviewpage.moc"
113 currentUnconfirmedBalance(-1),
114 currentImmatureBalance(-1),
115 currentWatchOnlyBalance(-1),
116 currentWatchUnconfBalance(-1),
117 currentWatchImmatureBalance(-1),
150 void OverviewPage::setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance, qint64 watchOnlyBalance, qint64 watchUnconfBalance, qint64 watchImmatureBalance)
170 bool showImmature = immatureBalance != 0;
171 bool showWatchOnlyImmature = watchImmatureBalance != 0;
199 connect(model, SIGNAL(alertsChanged(QString)),
this, SLOT(
updateAlerts(QString)));
213 filter->setDynamicSortFilter(
true);
214 filter->setSortRole(Qt::EditRole);
224 connect(model, SIGNAL(balanceChanged(qint64, qint64, qint64, qint64, qint64, qint64)),
this, SLOT(
setBalance(qint64, qint64, qint64, qint64, qint64, qint64)));
QLabel * labelUnconfirmed
void setWalletModel(WalletModel *walletModel)
void updateAlerts(const QString &warnings)
Anoncoin unit definitions.
qint64 currentWatchOnlyBalance
qint64 getImmatureBalance() const
void handleTransactionClicked(const QModelIndex &index)
qint64 currentWatchUnconfBalance
static QString formatWithUnit(int unit, qint64 amount, bool plussign=false)
Format as string (with unit)
QLabel * labelTransactionsStatus
QString dateTimeStr(const QDateTime &date)
qint64 getWatchUnconfirmedBalance() const
TransactionFilterProxy * filter
qint64 currentUnconfirmedBalance
QFrame * lineWatchBalance
TxViewDelegate * txdelegate
WalletModel * walletModel
QString getStatusBarWarnings() const
Return warnings to be displayed in status bar.
qint64 getWatchImmatureBalance() const
QLabel * labelWatchPending
void updateWatchOnlyLabels(bool showWatchOnly)
qint64 getUnconfirmedBalance() const
Is transaction confirmed?
qint64 currentImmatureBalance
Date and time this transaction was created.
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
TransactionTableModel * getTransactionTableModel()
void setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance, qint64 watchOnlyBalance, qint64 watchUnconfBalance, qint64 watchImmatureBalance)
#define COLOR_UNCONFIRMED
Model for Anoncoin network client.
ClientModel * clientModel
QLabel * labelImmatureText
void transactionClicked(const QModelIndex &index)
void setLimit(int limit)
Set maximum number of rows returned, -1 if unlimited.
void showOutOfSyncWarning(bool fShow)
void setShowInactive(bool showInactive)
Set whether to show conflicted transactions.
Net amount of transaction.
QLabel * labelWalletStatus
QLabel * labelWatchAvailable
OverviewPage(QWidget *parent=0)
Filter the transaction list according to pre-specified rules.
Interface to Anoncoin wallet from Qt view code.
qint64 getBalance(const CCoinControl *coinControl=NULL) const
qint64 currentWatchImmatureBalance
bool haveWatchOnly() const
void setClientModel(ClientModel *clientModel)
QLabel * labelWatchImmature
QListView * listTransactions
qint64 getWatchBalance() const
Overview ("home") page widget.
void setupUi(QWidget *OverviewPage)
OptionsModel * getOptionsModel()
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const