monospace font for bitcoin addresses

This commit is contained in:
Wladimir J. van der Laan 2011-06-01 20:08:21 +02:00
parent df6dfb4ab8
commit ef1b844e7b
6 changed files with 40 additions and 10 deletions

View File

@ -29,7 +29,9 @@ public:
int columnCount(const QModelIndex &parent) const;
QVariant data(const QModelIndex &index, int role) const;
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
QModelIndex index ( int row, int column, const QModelIndex & parent ) const;
QModelIndex index(int row, int column, const QModelIndex & parent) const;
void updateList();
private:
AddressTablePriv *priv;
QStringList columns;

View File

@ -2,7 +2,10 @@
#define GUIUTIL_H
#include <QString>
#include <QFont>
QString DateTimeStr(qint64 nTime);
/* Render bitcoin addresses in monospace font */
QFont bitcoinAddressFont();
#endif // GUIUTIL_H

View File

@ -5,6 +5,7 @@
#include "editaddressdialog.h"
#include <QSortFilterProxyModel>
#include <QClipboard>
#include <QDebug>
AddressBookDialog::AddressBookDialog(QWidget *parent) :
@ -72,13 +73,21 @@ QTableView *AddressBookDialog::getCurrentTable()
void AddressBookDialog::on_copyToClipboard_clicked()
{
/* Copy currently selected address to clipboard */
/* Copy currently selected address to clipboard
(or nothing, if nothing selected)
*/
QTableView *table = getCurrentTable();
QModelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address);
foreach (QModelIndex index, indexes) {
QVariant address = table->model()->data(index);
QApplication::clipboard()->setText(address.toString());
}
}
void AddressBookDialog::on_editButton_clicked()
{
/* Double click should trigger edit button */
/* Double click triggers edit button */
EditAddressDialog dlg;
dlg.exec();
}

View File

@ -1,4 +1,5 @@
#include "addresstablemodel.h"
#include "guiutil.h"
#include "main.h"
const QString AddressTableModel::Send = "S";
@ -28,10 +29,6 @@ struct AddressTablePriv
{
cachedAddressTable.clear();
}
void updateAddressTable()
{
CRITICAL_BLOCK(cs_mapKeys)
CRITICAL_BLOCK(cs_mapAddressBook)
{
@ -48,7 +45,6 @@ struct AddressTablePriv
}
}
int size()
{
return cachedAddressTable.size();
@ -108,6 +104,12 @@ QVariant AddressTableModel::data(const QModelIndex &index, int role) const
case Address:
return rec->address;
}
} else if (role == Qt::FontRole)
{
if(index.column() == Address)
{
return bitcoinAddressFont();
}
} else if (role == TypeRole)
{
switch(rec->type)
@ -134,7 +136,7 @@ QVariant AddressTableModel::headerData(int section, Qt::Orientation orientation,
return QVariant();
}
QModelIndex AddressTableModel::index ( int row, int column, const QModelIndex & parent ) const
QModelIndex AddressTableModel::index(int row, int column, const QModelIndex & parent) const
{
Q_UNUSED(parent);
AddressTableEntry *data = priv->index(row);
@ -146,3 +148,10 @@ QModelIndex AddressTableModel::index ( int row, int column, const QModelIndex &
}
}
void AddressTableModel::updateList()
{
/* Update internal model from Bitcoin core */
beginResetModel();
priv->refreshAddressTable();
endResetModel();
}

View File

@ -83,7 +83,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
hbox_balance->addSpacing(5);/* Add some spacing between the label and the text */
labelBalance = new QLabel();
labelBalance->setFont(QFont("Teletype"));
labelBalance->setFont(QFont("Monospace"));
hbox_balance->addWidget(labelBalance);
hbox_balance->addStretch(1);

View File

@ -7,3 +7,10 @@ QString DateTimeStr(qint64 nTime)
QDateTime date = QDateTime::fromMSecsSinceEpoch(nTime*1000);
return date.date().toString(Qt::SystemLocaleShortDate) + QString(" ") + date.toString("hh:mm");
}
QFont bitcoinAddressFont()
{
QFont font("Monospace");
font.setStyleHint(QFont::TypeWriter);
return font;
}