kapptemplate
kapptemplate.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <QPixmap>
00021 #include <QRegExpValidator>
00022
00023 #include <kapplication.h>
00024 #include <KLocale>
00025 #include <KDebug>
00026 #include <ktoolinvocation.h>
00027
00028 #include "choicepage.h"
00029 #include "generatepage.h"
00030 #include "kapptemplate.h"
00031 #include "prefs.h"
00032
00033
00034 KAppTemplate::KAppTemplate( QWidget *parent )
00035 : QWizard()
00036 {
00037 Q_UNUSED(parent);
00038 setWindowTitle(i18n("KDE 4 Template Generator"));
00039 setOption(HaveHelpButton, true);
00040 connect(this, SIGNAL(helpRequested()), this, SLOT(showHelp()));
00041 addPage(new IntroPage);
00042 addPage(new ChoicePage);
00043 addPage(new PropertiesPage);
00044 addPage(new GeneratePage);
00045 }
00046
00047 KAppTemplate::~KAppTemplate()
00048 {
00049 }
00050
00051 void KAppTemplate::showHelp()
00052 {
00053 KToolInvocation::invokeHelp( "kapptemplate-index", "kapptemplate" );
00054 }
00055
00056
00057 IntroPage::IntroPage(QWidget *parent)
00058 : QWizardPage(parent)
00059 {
00060 setTitle(i18n("Introduction"));
00061 ui_introduction.setupUi(this);
00062 }
00063
00064 PropertiesPage::PropertiesPage(QWidget *parent)
00065 : QWizardPage(parent)
00066 {
00067 setTitle(i18n("Set the project properties"));
00068 ui_properties.setupUi(this);
00069
00070 ui_properties.kcfg_appVersion->setText(Prefs::appVersion());
00071 ui_properties.kcfg_url->setMode(KFile::Directory);
00072 ui_properties.kcfg_url->setUrl(Prefs::url());
00073 ui_properties.kcfg_name->setText(Prefs::name());
00074 ui_properties.kcfg_email->setText(Prefs::email());
00075
00076 registerField("author", ui_properties.kcfg_name);
00077 registerField("email", ui_properties.kcfg_email);
00078 registerField("version", ui_properties.kcfg_appVersion);
00079 registerField("url", ui_properties.kcfg_url->lineEdit());
00080
00081
00082 connect(ui_properties.kcfg_appVersion, SIGNAL(textChanged(const QString &)), this, SIGNAL(completeChanged()));
00083 connect(ui_properties.kcfg_url, SIGNAL(textChanged(const QString &)), this, SIGNAL(completeChanged()));
00084 connect(ui_properties.kcfg_name, SIGNAL(textChanged(const QString &)), this, SIGNAL(completeChanged()));
00085 connect(ui_properties.kcfg_email, SIGNAL(textChanged(const QString &)), this, SIGNAL(completeChanged()));
00086 connect(this, SIGNAL(completeChanged()), this, SLOT(saveConfig()));
00087
00088 }
00089
00090 void PropertiesPage::initializePage()
00091 {
00092 appNameString = field("appName").toString();
00093 QString message = i18n("Your project name is : %1", appNameString);
00094 ui_properties.appNameLabel->setText(message);
00095 }
00096
00097 void PropertiesPage::saveConfig()
00098 {
00099 Prefs::setAppVersion(ui_properties.kcfg_appVersion->text());
00100 Prefs::setUrl(ui_properties.kcfg_url->url().path());
00101 Prefs::setName(ui_properties.kcfg_name->text());
00102 Prefs::setEmail(ui_properties.kcfg_email->text());
00103 Prefs::setAppName(appNameString);
00104 Prefs::self()->writeConfig();
00105 }
00106
00107
00108
00109
00110
00111
00112
00113