Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F10615381
addresstablemodel.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
addresstablemodel.h
View Options
#ifndef ADDRESSTABLEMODEL_H
#define ADDRESSTABLEMODEL_H
#include
<QAbstractTableModel>
#include
<QStringList>
class
AddressTablePriv
;
class
CWallet
;
class
WalletModel
;
/**
Qt model of the address book in the core. This allows views to access and modify the address book.
*/
class
AddressTableModel
:
public
QAbstractTableModel
{
Q_OBJECT
public
:
explicit
AddressTableModel
(
CWallet
*
wallet
,
WalletModel
*
parent
=
0
);
~
AddressTableModel
();
enum
ColumnIndex
{
Label
=
0
,
/**< User specified label */
Address
=
1
/**< Bitcoin address */
};
enum
RoleIndex
{
TypeRole
=
Qt
::
UserRole
/**< Type of address (#Send or #Receive) */
};
/** Return status of edit/insert operation */
enum
EditStatus
{
OK
,
INVALID_ADDRESS
,
/**< Unparseable address */
DUPLICATE_ADDRESS
,
/**< Address already in address book */
WALLET_UNLOCK_FAILURE
,
/**< Wallet could not be unlocked to create new receiving address */
KEY_GENERATION_FAILURE
/**< Generating a new public key for a receiving address failed */
};
static
const
QString
Send
;
/**< Specifies send address */
static
const
QString
Receive
;
/**< Specifies receive address */
/** @name Methods overridden from QAbstractTableModel
@{*/
int
rowCount
(
const
QModelIndex
&
parent
)
const
;
int
columnCount
(
const
QModelIndex
&
parent
)
const
;
QVariant
data
(
const
QModelIndex
&
index
,
int
role
)
const
;
bool
setData
(
const
QModelIndex
&
index
,
const
QVariant
&
value
,
int
role
);
QVariant
headerData
(
int
section
,
Qt
::
Orientation
orientation
,
int
role
)
const
;
QModelIndex
index
(
int
row
,
int
column
,
const
QModelIndex
&
parent
)
const
;
bool
removeRows
(
int
row
,
int
count
,
const
QModelIndex
&
parent
=
QModelIndex
());
Qt
::
ItemFlags
flags
(
const
QModelIndex
&
index
)
const
;
/*@}*/
/* Add an address to the model.
Returns the added address on success, and an empty string otherwise.
*/
QString
addRow
(
const
QString
&
type
,
const
QString
&
label
,
const
QString
&
address
);
/* Look up label for address in address book, if not found return empty string.
*/
QString
labelForAddress
(
const
QString
&
address
)
const
;
/* Look up row index of an address in the model.
Return -1 if not found.
*/
int
lookupAddress
(
const
QString
&
address
)
const
;
EditStatus
getEditStatus
()
const
{
return
editStatus
;
}
private
:
WalletModel
*
walletModel
;
CWallet
*
wallet
;
AddressTablePriv
*
priv
;
QStringList
columns
;
EditStatus
editStatus
;
/** Notify listeners that data changed. */
void
emitDataChanged
(
int
index
);
signals
:
void
defaultAddressChanged
(
const
QString
&
address
);
public
slots
:
/* Update address list from core.
*/
void
updateEntry
(
const
QString
&
address
,
const
QString
&
label
,
bool
isMine
,
int
status
);
friend
class
AddressTablePriv
;
};
#endif
// ADDRESSTABLEMODEL_H
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sat, Nov 23, 10:06 (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4517841
Default Alt Text
addresstablemodel.h (2 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment