limenkaaddressvalidator.h raw
1 // Copyright (c) 2011-2020 The Limenka developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5 #ifndef LIMENKA_QT_LIMENKAADDRESSVALIDATOR_H
6 #define LIMENKA_QT_LIMENKAADDRESSVALIDATOR_H
7
8 #include <QValidator>
9
10 #include <vector>
11
12 /** Base58 entry widget validator, checks for valid characters and
13 * removes some whitespace.
14 */
15 class LimenkaAddressEntryValidator : public QValidator
16 {
17 Q_OBJECT
18
19 public:
20 explicit LimenkaAddressEntryValidator(QObject *parent);
21
22 virtual State validate(QString &input, std::vector<int>&error_locations) const;
23 virtual State validate(QString &input, int &pos) const override;
24 };
25
26 /** Limenka address widget validator, checks for a valid limenka address.
27 */
28 class LimenkaAddressCheckValidator : public LimenkaAddressEntryValidator
29 {
30 Q_OBJECT
31
32 public:
33 explicit LimenkaAddressCheckValidator(QObject *parent);
34
35 using LimenkaAddressEntryValidator::validate;
36 State validate(QString &input, std::vector<int>&error_locations) const override;
37 };
38
39 #endif // LIMENKA_QT_LIMENKAADDRESSVALIDATOR_H
40