⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 licensewizard.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
字号:
/******************************************************************************** Copyright (C) 2007-2007 Trolltech ASA. All rights reserved.**** This file is part of the example classes of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include <QtGui>#include "licensewizard.h"LicenseWizard::LicenseWizard(QWidget *parent)    : QWizard(parent){    setPage(Page_Intro, new IntroPage);    setPage(Page_Evaluate, new EvaluatePage);    setPage(Page_Register, new RegisterPage);    setPage(Page_Details, new DetailsPage);    setPage(Page_Conclusion, new ConclusionPage);    setStartId(Page_Intro);#ifndef Q_WS_MAC    setWizardStyle(ModernStyle);#endif    setOption(HaveHelpButton, true);    setPixmap(QWizard::LogoPixmap, QPixmap(":/images/logo.png"));    connect(this, SIGNAL(helpRequested()), this, SLOT(showHelp()));    setWindowTitle(tr("License Wizard"));}void LicenseWizard::showHelp(){    static QString lastHelpMessage;    QString message;    switch (currentId()) {    case Page_Intro:        message = tr("The decision you make here will affect which page you "                     "get to see next.");        break;    case Page_Evaluate:        message = tr("Make sure to provide a valid email address, such as "                     "toni.buddenbrook@example.de.");        break;    case Page_Register:        message = tr("If you don't provide an upgrade key, you will be "                     "asked to fill in your details.");        break;    case Page_Details:        message = tr("Make sure to provide a valid email address, such as "                     "thomas.gradgrind@example.co.uk.");        break;    case Page_Conclusion:        message = tr("You must accept the terms and conditions of the "                     "license to proceed.");        break;    default:        message = tr("This help is likely not to be of any help.");    }    if (lastHelpMessage == message)        message = tr("Sorry, I already gave what help I could. "                     "Maybe you should try asking a human?");    QMessageBox::information(this, tr("License Wizard Help"), message);    lastHelpMessage = message;}IntroPage::IntroPage(QWidget *parent)    : QWizardPage(parent){    setTitle(tr("Introduction"));    setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/watermark.png"));    topLabel = new QLabel(tr("This wizard will help you register your copy of "                             "<i>Super Product One</i>&trade; or start "                             "evaluating the product."));    topLabel->setWordWrap(true);    registerRadioButton = new QRadioButton(tr("&Register your copy"));    evaluateRadioButton = new QRadioButton(tr("&Evaluate the product for 30 "                                              "days"));    registerRadioButton->setChecked(true);    QVBoxLayout *layout = new QVBoxLayout;    layout->addWidget(topLabel);    layout->addWidget(registerRadioButton);    layout->addWidget(evaluateRadioButton);    setLayout(layout);}int IntroPage::nextId() const{    if (evaluateRadioButton->isChecked()) {        return LicenseWizard::Page_Evaluate;    } else {        return LicenseWizard::Page_Register;    }}EvaluatePage::EvaluatePage(QWidget *parent)    : QWizardPage(parent){    setTitle(tr("Evaluate <i>Super Product One</i>&trade;"));    setSubTitle(tr("Please fill both fields. Make sure to provide a valid "                   "email address (e.g., john.smith@example.com)."));    nameLabel = new QLabel(tr("N&ame:"));    nameLineEdit = new QLineEdit;    nameLabel->setBuddy(nameLineEdit);    emailLabel = new QLabel(tr("&Email address:"));    emailLineEdit = new QLineEdit;    emailLineEdit->setValidator(new QRegExpValidator(QRegExp(".*@.*"), this));    emailLabel->setBuddy(emailLineEdit);    registerField("evaluate.name*", nameLineEdit);    registerField("evaluate.email*", emailLineEdit);    QGridLayout *layout = new QGridLayout;    layout->addWidget(nameLabel, 0, 0);    layout->addWidget(nameLineEdit, 0, 1);    layout->addWidget(emailLabel, 1, 0);    layout->addWidget(emailLineEdit, 1, 1);    setLayout(layout);}int EvaluatePage::nextId() const{    return LicenseWizard::Page_Conclusion;}RegisterPage::RegisterPage(QWidget *parent)    : QWizardPage(parent){    setTitle(tr("Register Your Copy of <i>Super Product One</i>&trade;"));    setSubTitle(tr("If you have an upgrade key, please fill in "                   "the appropriate field."));    nameLabel = new QLabel(tr("N&ame:"));    nameLineEdit = new QLineEdit;    nameLabel->setBuddy(nameLineEdit);    upgradeKeyLabel = new QLabel(tr("&Upgrade key:"));    upgradeKeyLineEdit = new QLineEdit;    upgradeKeyLabel->setBuddy(upgradeKeyLineEdit);    registerField("register.name*", nameLineEdit);    registerField("register.upgradeKey", upgradeKeyLineEdit);    QGridLayout *layout = new QGridLayout;    layout->addWidget(nameLabel, 0, 0);    layout->addWidget(nameLineEdit, 0, 1);    layout->addWidget(upgradeKeyLabel, 1, 0);    layout->addWidget(upgradeKeyLineEdit, 1, 1);    setLayout(layout);}int RegisterPage::nextId() const{    if (upgradeKeyLineEdit->text().isEmpty()) {        return LicenseWizard::Page_Details;    } else {        return LicenseWizard::Page_Conclusion;    }}DetailsPage::DetailsPage(QWidget *parent)    : QWizardPage(parent){    setTitle(tr("Fill In Your Details"));    setSubTitle(tr("Please fill all three fields. Make sure to provide a valid "                   "email address (e.g., tanaka.aya@example.co.jp)."));    companyLabel = new QLabel(tr("&Company name:"));    companyLineEdit = new QLineEdit;    companyLabel->setBuddy(companyLineEdit);    emailLabel = new QLabel(tr("&Email address:"));    emailLineEdit = new QLineEdit;    emailLineEdit->setValidator(new QRegExpValidator(QRegExp(".*@.*"), this));    emailLabel->setBuddy(emailLineEdit);    postalLabel = new QLabel(tr("&Postal address:"));    postalLineEdit = new QLineEdit;    postalLabel->setBuddy(postalLineEdit);    registerField("details.company*", companyLineEdit);    registerField("details.email*", emailLineEdit);    registerField("details.postal*", postalLineEdit);    QGridLayout *layout = new QGridLayout;    layout->addWidget(companyLabel, 0, 0);    layout->addWidget(companyLineEdit, 0, 1);    layout->addWidget(emailLabel, 1, 0);    layout->addWidget(emailLineEdit, 1, 1);    layout->addWidget(postalLabel, 2, 0);    layout->addWidget(postalLineEdit, 2, 1);    setLayout(layout);}int DetailsPage::nextId() const{    return LicenseWizard::Page_Conclusion;}ConclusionPage::ConclusionPage(QWidget *parent)    : QWizardPage(parent){    setTitle(tr("Complete Your Registration"));    setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/watermark.png"));    bottomLabel = new QLabel;    bottomLabel->setWordWrap(true);    agreeCheckBox = new QCheckBox(tr("I agree to the terms of the license"));    registerField("conclusion.agree*", agreeCheckBox);    QVBoxLayout *layout = new QVBoxLayout;    layout->addWidget(bottomLabel);    layout->addWidget(agreeCheckBox);    setLayout(layout);}int ConclusionPage::nextId() const{    return -1;}void ConclusionPage::initializePage(){    QString licenseText;    if (wizard()->hasVisitedPage(LicenseWizard::Page_Evaluate)) {        licenseText = tr("<u>Evaluation License Agreement:</u> "                         "You can use this software for 30 days and make one "                         "backup, but you are not allowed to distribute it.");    } else if (wizard()->hasVisitedPage(LicenseWizard::Page_Details)) {        licenseText = tr("<u>First-Time License Agreement:</u> "                         "You can use this software subject to the license "                         "you will receive by email.");    } else {        licenseText = tr("<u>Upgrade License Agreement:</u> "                         "This software is licensed under the terms of your "                         "current license.");    }    bottomLabel->setText(licenseText);}void ConclusionPage::setVisible(bool visible){    QWizardPage::setVisible(visible);    if (visible) {        wizard()->setButtonText(QWizard::CustomButton1, tr("&Print"));        wizard()->setOption(QWizard::HaveCustomButton1, true);        connect(wizard(), SIGNAL(customButtonClicked(int)),                this, SLOT(printButtonClicked()));    } else {        wizard()->setOption(QWizard::HaveCustomButton1, false);        disconnect(wizard(), SIGNAL(customButtonClicked(int)),                   this, SLOT(printButtonClicked()));    }}void ConclusionPage::printButtonClicked(){    QPrinter printer;    QPrintDialog dialog(&printer, this);    if (dialog.exec())        QMessageBox::warning(this, tr("Print License"),                             tr("As an environmentally friendly measure, the "                                "license text will not actually be printed."));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -