File indexing completed on 2024-04-28 15:32:06

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2012 David Faure <faure+bluesystems@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 
0008 #ifndef KMESSAGEBOXDONTASKAGAININTERFACE_H
0009 #define KMESSAGEBOXDONTASKAGAININTERFACE_H
0010 
0011 #include "kmessagebox.h"
0012 #include <qmetatype.h>
0013 
0014 /**
0015  * @internal
0016  * Used internally by KMessageBox, implemented by plugin, for dynamic dependency on KConfig.
0017  */
0018 class KMessageBoxDontAskAgainInterface
0019 {
0020 public:
0021     KMessageBoxDontAskAgainInterface()
0022     {
0023     }
0024     virtual ~KMessageBoxDontAskAgainInterface()
0025     {
0026     }
0027 
0028 #if KWIDGETSADDONS_BUILD_DEPRECATED_SINCE(5, 100)
0029     virtual bool shouldBeShownYesNo(const QString &dontShowAgainName, KMessageBox::ButtonCode &result) = 0;
0030 #else
0031     virtual bool shouldBeShownTwoActions(const QString &dontShowAgainName, KMessageBox::ButtonCode &result) = 0;
0032 #endif
0033     virtual bool shouldBeShownContinue(const QString &dontShowAgainName) = 0;
0034 #if KWIDGETSADDONS_BUILD_DEPRECATED_SINCE(5, 100)
0035     virtual void saveDontShowAgainYesNo(const QString &dontShowAgainName, KMessageBox::ButtonCode result) = 0;
0036 #else
0037     virtual void saveDontShowAgainTwoActions(const QString &dontShowAgainName, KMessageBox::ButtonCode result) = 0;
0038 #endif
0039     virtual void saveDontShowAgainContinue(const QString &dontShowAgainName) = 0;
0040     virtual void enableAllMessages() = 0;
0041     virtual void enableMessage(const QString &dontShowAgainName) = 0;
0042     virtual void setConfig(KConfig *) = 0;
0043 };
0044 
0045 Q_DECLARE_METATYPE(KMessageBoxDontAskAgainInterface *)
0046 
0047 #define KMESSAGEBOXDONTASKAGAIN_PROPERTY "KMessageBoxDontAskAgain"
0048 
0049 #endif