File indexing completed on 2024-05-12 16:44:04
0001 /* 0002 SPDX-FileCopyrightText: 2014-2015 Christian Dávid <christian-david@web.de> 0003 SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KMYMONEYVALIDATIONFEEDBACK_H 0008 #define KMYMONEYVALIDATIONFEEDBACK_H 0009 0010 #include <QWidget> 0011 0012 #include "kmm_widgets_export.h" 0013 0014 namespace eWidgets { 0015 namespace ValidationFeedback { 0016 enum class MessageType; 0017 } 0018 } 0019 0020 class KMyMoneyValidationFeedbackPrivate; 0021 class KMM_WIDGETS_EXPORT KMyMoneyValidationFeedback : public QWidget 0022 { 0023 Q_OBJECT 0024 Q_DISABLE_COPY(KMyMoneyValidationFeedback) 0025 0026 public: 0027 explicit KMyMoneyValidationFeedback(QWidget* parent = nullptr); 0028 ~KMyMoneyValidationFeedback(); 0029 0030 public Q_SLOTS: 0031 /** 0032 * @brief Removes the shown feedback 0033 */ 0034 void removeFeedback(); 0035 0036 /** 0037 * @brief Removes a specific feedback 0038 * 0039 * Removes the feedback only if type and message fit. This is useful 0040 * if several objects are connected to setFeedback(). 0041 */ 0042 void removeFeedback(eWidgets::ValidationFeedback::MessageType type, QString message); 0043 0044 /** 0045 * @brief Show a feedback 0046 * 0047 * If type == None and !message.isEmpty() holds, the feedback is only hidden if 0048 * the currently shown message equals message. 0049 */ 0050 void setFeedback(eWidgets::ValidationFeedback::MessageType type, QString message); 0051 0052 private: 0053 KMyMoneyValidationFeedbackPrivate * const d_ptr; 0054 Q_DECLARE_PRIVATE(KMyMoneyValidationFeedback) 0055 }; 0056 0057 #endif // KMYMONEYVALIDATIONFEEDBACK_H