d7523aa15c967f8b7d70bf35969256d0b27f7f98
[novacoin.git] / src / qt / guiutil.h
1 #ifndef GUIUTIL_H
2 #define GUIUTIL_H
3
4 #include <QString>
5
6 QT_BEGIN_NAMESPACE
7 class QFont;
8 class QLineEdit;
9 class QWidget;
10 class QDateTime;
11 class QUrl;
12 QT_END_NAMESPACE
13 class SendCoinsRecipient;
14
15 class GUIUtil
16 {
17 public:
18     // Create human-readable string from date
19     static QString dateTimeStr(qint64 nTime);
20     static QString dateTimeStr(const QDateTime &datetime);
21
22     // Render bitcoin addresses in monospace font
23     static QFont bitcoinAddressFont();
24
25     // Set up widgets for address and amounts
26     static void setupAddressWidget(QLineEdit *widget, QWidget *parent);
27     static void setupAmountWidget(QLineEdit *widget, QWidget *parent);
28
29     // Parse "bitcoin:" URL into recipient object, return true on succesful parsing
30     // See Bitcoin URL definition discussion here: https://bitcointalk.org/index.php?topic=33490.0
31     static bool parseBitcoinURL(const QUrl *url, SendCoinsRecipient *out);
32     static bool parseBitcoinURL(QString url, SendCoinsRecipient *out);
33
34     /** Get save file name, mimics QFileDialog::getSaveFileName, except that it appends a default suffix
35         when no suffix is provided by the user.
36
37       @param[in] parent  Parent window (or 0)
38       @param[in] caption Window caption (or empty, for default)
39       @param[in] dir     Starting directory (or empty, to default to documents directory)
40       @param[in] filter  Filter specification such as "Comma Separated Files (*.csv)"
41       @param[out] selectedSuffixOut  Pointer to return the suffix (file type) that was selected (or 0).
42                   Can be useful when choosing the save file format based on suffix.
43      */
44     static QString getSaveFileName(QWidget *parent=0, const QString &caption=QString(),
45                                    const QString &dir=QString(), const QString &filter=QString(),
46                                    QString *selectedSuffixOut=0);
47
48 };
49
50 #endif // GUIUTIL_H