Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
LineEditValidator.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2021 Symless Ltd.
4 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5 */
6
7#pragma once
8
9#include "IStringValidator.h"
10
11#include <QLabel>
12#include <QLineEdit>
13#include <QValidator>
14#include <memory>
15#include <vector>
16
17#include "ValidationError.h"
18
19namespace validators {
20
21class LineEditValidator : public QValidator
22{
23public:
24 explicit LineEditValidator(QLineEdit *lineEdit = nullptr, ValidationError *error = nullptr);
25 QValidator::State validate(QString &input, int &pos) const override;
26 void addValidator(std::unique_ptr<IStringValidator> validator);
27
28private:
29 ValidationError *m_pError = nullptr;
30 QLineEdit *m_pLineEdit = nullptr;
31 std::vector<std::unique_ptr<IStringValidator>> m_Validators;
32
33 void setError(const QString &message) const;
34};
35
36} // namespace validators
LineEditValidator(QLineEdit *lineEdit=nullptr, ValidationError *error=nullptr)
Definition LineEditValidator.cpp:17
QValidator::State validate(QString &input, int &pos) const override
Definition LineEditValidator.cpp:32
void addValidator(std::unique_ptr< IStringValidator > validator)
Definition LineEditValidator.cpp:27
Definition ValidationError.h:16
Definition AliasValidator.cpp:14