Deskflow 1.26.0.134
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 <QValidator>
12#include <memory>
13#include <vector>
14
15class QLineEdit;
16
17namespace validators {
18class ValidationError;
19
20class LineEditValidator : public QValidator
21{
22public:
23 explicit LineEditValidator(QLineEdit *lineEdit = nullptr, ValidationError *error = nullptr);
24 QValidator::State validate(QString &input, int &pos) const override;
25 void addValidator(std::unique_ptr<IStringValidator> validator);
26
27private:
28 ValidationError *m_pError = nullptr;
29 QLineEdit *m_pLineEdit = nullptr;
30 std::vector<std::unique_ptr<IStringValidator>> m_Validators;
31
32 void setError(const QString &message) const;
33};
34
35} // namespace validators
LineEditValidator(QLineEdit *lineEdit=nullptr, ValidationError *error=nullptr)
Definition LineEditValidator.cpp:18
QValidator::State validate(QString &input, int &pos) const override
Definition LineEditValidator.cpp:33
void addValidator(std::unique_ptr< IStringValidator > validator)
Definition LineEditValidator.cpp:28
Definition ValidationError.h:18
Definition AliasValidator.cpp:17