// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #ifndef QDESIGNER_TEMPLATEOPTIONS_H #define QDESIGNER_TEMPLATEOPTIONS_H #include #include #include #include QT_BEGIN_NAMESPACE class QDesignerFormEditorInterface; namespace qdesigner_internal { namespace Ui { class TemplateOptionsWidget; } /* Present the user with a list of form template paths to save * form templates. */ class TemplateOptionsWidget : public QWidget { Q_OBJECT Q_DISABLE_COPY_MOVE(TemplateOptionsWidget) public: explicit TemplateOptionsWidget(QDesignerFormEditorInterface *core, QWidget *parent = nullptr); ~TemplateOptionsWidget(); QStringList templatePaths() const; void setTemplatePaths(const QStringList &l); static QString chooseTemplatePath(QDesignerFormEditorInterface *core, QWidget *parent); private slots: void addTemplatePath(); void removeTemplatePath(); void templatePathSelectionChanged(); private: QDesignerFormEditorInterface *m_core; Ui::TemplateOptionsWidget *m_ui; }; class TemplateOptionsPage : public QDesignerOptionsPageInterface { Q_DISABLE_COPY_MOVE(TemplateOptionsPage) public: explicit TemplateOptionsPage(QDesignerFormEditorInterface *core); QString name() const override; QWidget *createPage(QWidget *parent) override; void apply() override; void finish() override; private: QDesignerFormEditorInterface *m_core; QStringList m_initialTemplatePaths; QPointer m_widget; }; } QT_END_NAMESPACE #endif // QDESIGNER_TEMPLATEOPTIONS_H