You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.9 KiB
74 lines
2.9 KiB
#ifndef GUIUTIL_H |
|
#define GUIUTIL_H |
|
|
|
#include <QString> |
|
|
|
QT_BEGIN_NAMESPACE |
|
class QFont; |
|
class QLineEdit; |
|
class QWidget; |
|
class QDateTime; |
|
class QUrl; |
|
class QAbstractItemView; |
|
QT_END_NAMESPACE |
|
class SendCoinsRecipient; |
|
|
|
/** Utility functions used by the Bitcoin Qt UI. |
|
*/ |
|
namespace GUIUtil |
|
{ |
|
// Create human-readable string from date |
|
QString dateTimeStr(const QDateTime &datetime); |
|
QString dateTimeStr(qint64 nTime); |
|
|
|
// Render bitcoin addresses in monospace font |
|
QFont bitcoinAddressFont(); |
|
|
|
// Set up widgets for address and amounts |
|
void setupAddressWidget(QLineEdit *widget, QWidget *parent); |
|
void setupAmountWidget(QLineEdit *widget, QWidget *parent); |
|
|
|
// Parse "bitcoin:" URI into recipient object, return true on succesful parsing |
|
// See Bitcoin URI definition discussion here: https://bitcointalk.org/index.php?topic=33490.0 |
|
bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out); |
|
bool parseBitcoinURI(QString uri, SendCoinsRecipient *out); |
|
|
|
// HTML escaping for rich text controls |
|
QString HtmlEscape(const QString& str, bool fMultiLine=false); |
|
QString HtmlEscape(const std::string& str, bool fMultiLine=false); |
|
|
|
/** Copy a field of the currently selected entry of a view to the clipboard. Does nothing if nothing |
|
is selected. |
|
@param[in] column Data column to extract from the model |
|
@param[in] role Data role to extract from the model |
|
@see TransactionView::copyLabel, TransactionView::copyAmount, TransactionView::copyAddress |
|
*/ |
|
void copyEntryData(QAbstractItemView *view, int column, int role=Qt::EditRole); |
|
|
|
/** Get save file name, mimics QFileDialog::getSaveFileName, except that it appends a default suffix |
|
when no suffix is provided by the user. |
|
|
|
@param[in] parent Parent window (or 0) |
|
@param[in] caption Window caption (or empty, for default) |
|
@param[in] dir Starting directory (or empty, to default to documents directory) |
|
@param[in] filter Filter specification such as "Comma Separated Files (*.csv)" |
|
@param[out] selectedSuffixOut Pointer to return the suffix (file type) that was selected (or 0). |
|
Can be useful when choosing the save file format based on suffix. |
|
*/ |
|
QString getSaveFileName(QWidget *parent=0, const QString &caption=QString(), |
|
const QString &dir=QString(), const QString &filter=QString(), |
|
QString *selectedSuffixOut=0); |
|
|
|
/** Get connection type to call object slot in GUI thread with invokeMethod. The call will be blocking. |
|
|
|
@returns If called from the GUI thread, return a Qt::DirectConnection. |
|
If called from another thread, return a Qt::BlockingQueuedConnection. |
|
*/ |
|
Qt::ConnectionType blockingGUIThreadConnection(); |
|
|
|
// Determine whether a widget is hidden behind other windows |
|
bool isObscured(QWidget *w); |
|
|
|
} // namespace GUIUtil |
|
|
|
#endif // GUIUTIL_H
|
|
|