File indexing completed on 2024-06-23 05:13:54
0001 /* -*- mode: c++; c-basic-offset:4 -*- 0002 crypto/gui/wizardpage.h 0003 0004 This file is part of Kleopatra, the KDE keymanager 0005 SPDX-FileCopyrightText: 2007 Klarälvdalens Datakonsult AB 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #pragma once 0011 0012 #include <QWidget> 0013 0014 #include <utils/pimpl_ptr.h> 0015 0016 class KGuiItem; 0017 0018 namespace Kleo 0019 { 0020 namespace Crypto 0021 { 0022 namespace Gui 0023 { 0024 0025 class Wizard; 0026 0027 class WizardPage : public QWidget 0028 { 0029 friend class ::Kleo::Crypto::Gui::Wizard; 0030 Q_OBJECT 0031 public: 0032 explicit WizardPage(QWidget *parent = nullptr, Qt::WindowFlags f = {}); 0033 ~WizardPage() override; 0034 0035 virtual bool isComplete() const = 0; 0036 0037 bool isCommitPage() const; 0038 void setCommitPage(bool commitPage); 0039 0040 bool autoAdvance() const; 0041 void setAutoAdvance(bool enabled); 0042 0043 QString title() const; 0044 void setTitle(const QString &title); 0045 0046 QString subTitle() const; 0047 void setSubTitle(const QString &subTitle); 0048 0049 QString explanation() const; 0050 void setExplanation(const QString &explanation); 0051 0052 KGuiItem customNextButton() const; 0053 void setCustomNextButton(const KGuiItem &item); 0054 0055 Q_SIGNALS: 0056 void completeChanged(); 0057 void explanationChanged(); 0058 void titleChanged(); 0059 void subTitleChanged(); 0060 void autoAdvanceChanged(); 0061 void windowTitleChanged(const QString &title); 0062 0063 protected: 0064 virtual void onNext(); 0065 0066 private: 0067 class Private; 0068 kdtools::pimpl_ptr<Private> d; 0069 }; 0070 0071 } 0072 } 0073 }