1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
/*
SPDX-FileCopyrightText: 2007 Alexander Dymo <adymo@kdevelop.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef _PROJECTSELECTIONPAGE_H_
#define _PROJECTSELECTIONPAGE_H_
#include "appwizardpagewidget.h"
#include "appwizarddialog.h"
namespace Ui {
class ProjectSelectionPage;
}
class ProjectTemplatesModel;
namespace KNSCore {
class Entry;
}
class QModelIndex;
class QStandardItem;
class QUrl;
class ProjectSelectionPage : public AppWizardPageWidget {
Q_OBJECT
public:
explicit ProjectSelectionPage(ProjectTemplatesModel *templatesModel, AppWizardDialog *wizardDialog);
~ProjectSelectionPage() override;
bool shouldContinue() override;
QString selectedTemplate();
QString projectName();
QUrl location();
Q_SIGNALS:
void locationChanged( const QUrl& );
void valid();
void invalid();
private Q_SLOTS:
void itemChanged( const QModelIndex& current );
void urlEdited();
void validateData();
void nameChanged();
void typeChanged(const QModelIndex& idx);
void templateChanged(int);
void loadFileClicked();
void handleNewStuffDialogFinished(const QList<KNSCore::Entry>& changedEntries);
private:
inline QByteArray encodedProjectName();
inline QStandardItem* currentItem() const;
void setCurrentTemplate(const QString& fileName);
Ui::ProjectSelectionPage *ui;
ProjectTemplatesModel *m_templatesModel;
AppWizardDialog *m_wizardDialog;
};
#endif
|