File indexing completed on 2024-04-28 07:45:16

0001 /*
0002     This file is part of KNewStuffQuick.
0003     SPDX-FileCopyrightText: 2019 Dan Leinir Turthra Jensen <admin@leinir.dk>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-or-later
0006 */
0007 
0008 #ifndef KNSQ_QUICKQUESTIONLISTENER_H
0009 #define KNSQ_QUICKQUESTIONLISTENER_H
0010 
0011 #include "core/questionlistener.h"
0012 #include <QPointer>
0013 
0014 namespace KNewStuffQuick
0015 {
0016 class QuickQuestionListener : public KNSCore::QuestionListener
0017 {
0018     Q_OBJECT
0019     Q_DISABLE_COPY(QuickQuestionListener)
0020 public:
0021     static QuickQuestionListener *instance();
0022     ~QuickQuestionListener() override;
0023 
0024     Q_SLOT void askQuestion(KNSCore::Question *question) override;
0025 
0026     Q_SIGNAL void askListQuestion(QString title, QString question, QStringList list);
0027     Q_SIGNAL void askContinueCancelQuestion(QString title, QString question);
0028     Q_SIGNAL void askTextInputQuestion(QString title, QString question);
0029     Q_SIGNAL void askPasswordQuestion(QString title, QString question);
0030     Q_SIGNAL void askYesNoQuestion(QString title, QString question);
0031 
0032     Q_SLOT void passResponse(bool responseIsContinue, QString input);
0033 
0034     QuickQuestionListener() = default; // Only used by Q_GLOBAL_STATIC
0035 private:
0036     QPointer<KNSCore::Question> m_question;
0037 };
0038 }
0039 
0040 #endif // KNSQ_QUICKQUESTIONLISTENER_H