summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@digia.com>2014-04-10 12:54:59 +0200
committerKarsten Heimrich <karsten.heimrich@digia.com>2014-04-26 09:50:14 +0200
commit5135dcbf0ac23a52ceb2b4d1463eb2fd20b09346 (patch)
treef4515e2fbbdcdb3855f7b0cdf0a65b5995fbc555
parent56e326946159407a13eda62e894e11be5a824a4c (diff)
Merge IntroductionPage and IntroductionPageImpl.
Change-Id: Ib8a08779979ccde42dab8a1bd83b27a24f318de0 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
-rw-r--r--src/libs/installer/packagemanagergui.cpp313
-rw-r--r--src/libs/installer/packagemanagergui.h44
-rw-r--r--src/sdk/installerbasecommons.cpp324
-rw-r--r--src/sdk/installerbasecommons.h61
-rw-r--r--src/sdk/tabcontroller.cpp8
5 files changed, 352 insertions, 398 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp
index f31ade6aa..30e1a51d5 100644
--- a/src/libs/installer/packagemanagergui.cpp
+++ b/src/libs/installer/packagemanagergui.cpp
@@ -51,6 +51,7 @@
#include "settings.h"
#include "utils.h"
#include "scriptengine.h"
+#include "productkeycheck.h"
#include "kdsysinfo.h"
@@ -70,6 +71,7 @@
#include <QListWidget>
#include <QListWidgetItem>
#include <QMessageBox>
+#include <QProgressBar>
#include <QPushButton>
#include <QRadioButton>
#include <QTextBrowser>
@@ -845,31 +847,322 @@ int PackageManagerPage::nextId() const
IntroductionPage::IntroductionPage(PackageManagerCore *core)
: PackageManagerPage(core)
- , m_widget(0)
+ , m_updatesFetched(false)
+ , m_allPackagesFetched(false)
+ , m_label(0)
+ , m_msgLabel(0)
+ , m_errorLabel(0)
+ , m_progressBar(0)
+ , m_packageManager(0)
+ , m_updateComponents(0)
+ , m_removeAllComponents(0)
{
setObjectName(QLatin1String("IntroductionPage"));
setColoredTitle(tr("Setup - %1").arg(productName()));
+ QVBoxLayout *layout = new QVBoxLayout(this);
+ setLayout(layout);
+
m_msgLabel = new QLabel(this);
m_msgLabel->setWordWrap(true);
m_msgLabel->setObjectName(QLatin1String("MessageLabel"));
m_msgLabel->setText(tr("Welcome to the %1 Setup Wizard.").arg(productName()));
- QVBoxLayout *layout = new QVBoxLayout(this);
- setLayout(layout);
+ QWidget *widget = new QWidget(this);
+ QVBoxLayout *boxLayout = new QVBoxLayout(widget);
+
+ m_packageManager = new QRadioButton(tr("Package manager"), this);
+ m_packageManager->setObjectName(QLatin1String("PackageManagerRadioButton"));
+ boxLayout->addWidget(m_packageManager);
+ m_packageManager->setChecked(core->isPackageManager());
+ connect(m_packageManager, SIGNAL(toggled(bool)), this, SLOT(setPackageManager(bool)));
+
+ m_updateComponents = new QRadioButton(tr("Update components"), this);
+ m_updateComponents->setObjectName(QLatin1String("UpdaterRadioButton"));
+ boxLayout->addWidget(m_updateComponents);
+ m_updateComponents->setChecked(core->isUpdater());
+ connect(m_updateComponents, SIGNAL(toggled(bool)), this, SLOT(setUpdater(bool)));
+
+ m_removeAllComponents = new QRadioButton(tr("Remove all components"), this);
+ m_removeAllComponents->setObjectName(QLatin1String("UninstallerRadioButton"));
+ boxLayout->addWidget(m_removeAllComponents);
+ m_removeAllComponents->setChecked(core->isUninstaller());
+ connect(m_removeAllComponents, SIGNAL(toggled(bool)), this, SLOT(setUninstaller(bool)));
+ connect(m_removeAllComponents, SIGNAL(toggled(bool)), core, SLOT(setCompleteUninstallation(bool)));
+
+ boxLayout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding));
+
+ m_label = new QLabel(this);
+ m_label->setWordWrap(true);
+ m_label->setText(tr("Retrieving information from remote installation sources..."));
+ boxLayout->addWidget(m_label);
+
+ m_progressBar = new QProgressBar(this);
+ m_progressBar->setRange(0, 0);
+ boxLayout->addWidget(m_progressBar);
+
+ boxLayout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding));
+
+ m_errorLabel = new QLabel(this);
+ m_errorLabel->setWordWrap(true);
+ boxLayout->addWidget(m_errorLabel);
+
layout->addWidget(m_msgLabel);
+ layout->addWidget(widget);
layout->addItem(new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding));
+
+ core->setCompleteUninstallation(core->isUninstaller());
+
+ connect(core, SIGNAL(metaJobProgress(int)), this, SLOT(onProgressChanged(int)));
+ connect(core, SIGNAL(metaJobInfoMessage(QString)), this, SLOT(setMessage(QString)));
+ connect(core, SIGNAL(coreNetworkSettingsChanged()), this, SLOT(onCoreNetworkSettingsChanged()));
+
+ m_updateComponents->setEnabled(ProductKeyCheck::instance()->hasValidKey());
+}
+
+int IntroductionPage::nextId() const
+{
+ if (packageManagerCore()->isUninstaller())
+ return PackageManagerCore::ReadyForInstallation;
+
+ if (packageManagerCore()->isUpdater() || packageManagerCore()->isPackageManager())
+ return PackageManagerCore::ComponentSelection;
+
+ return PackageManagerPage::nextId();
}
-void IntroductionPage::setWidget(QWidget *widget)
+bool IntroductionPage::validatePage()
{
- if (m_widget) {
- layout()->removeWidget(m_widget);
- delete m_widget;
+ PackageManagerCore *core = packageManagerCore();
+ if (core->isUninstaller())
+ return true;
+
+ setComplete(false);
+ if (!validRepositoriesAvailable()) {
+ setErrorMessage(QLatin1String("<font color=\"red\">") + tr("At least one valid and enabled "
+ "repository required for this action to succeed.") + QLatin1String("</font>"));
+ return isComplete();
}
- m_widget = widget;
- if (m_widget)
- static_cast<QVBoxLayout*>(layout())->addWidget(m_widget, 1);
+
+ gui()->setSettingsButtonEnabled(false);
+ const bool maintanence = core->isUpdater() || core->isPackageManager();
+ if (maintanence) {
+ showAll();
+ setMaintenanceToolsEnabled(false);
+ } else {
+ showMetaInfoUdate();
+ }
+
+ // fetch updater packages
+ if (core->isUpdater()) {
+ if (!m_updatesFetched) {
+ m_updatesFetched = core->fetchRemotePackagesTree();
+ if (!m_updatesFetched)
+ setErrorMessage(core->error());
+ }
+
+ callControlScript(QLatin1String("UpdaterSelectedCallback"));
+
+ if (m_updatesFetched) {
+ if (core->updaterComponents().count() <= 0)
+ setErrorMessage(QLatin1String("<b>") + tr("No updates available.") + QLatin1String("</b>"));
+ else
+ setComplete(true);
+ }
+ }
+
+ // fetch common packages
+ if (core->isInstaller() || core->isPackageManager()) {
+ bool localPackagesTreeFetched = false;
+ if (!m_allPackagesFetched) {
+ // first try to fetch the server side packages tree
+ m_allPackagesFetched = core->fetchRemotePackagesTree();
+ if (!m_allPackagesFetched) {
+ QString error = core->error();
+ if (core->isPackageManager() && core->status() != PackageManagerCore::ForceUpdate) {
+ // if that fails and we're in maintenance mode, try to fetch local installed tree
+ localPackagesTreeFetched = core->fetchLocalPackagesTree();
+ if (localPackagesTreeFetched) {
+ // if that succeeded, adjust error message
+ error = QLatin1String("<font color=\"red\">") + error + tr(" Only local package "
+ "management available.") + QLatin1String("</font>");
+ }
+ }
+ setErrorMessage(error);
+ }
+ }
+
+ callControlScript(QLatin1String("PackageManagerSelectedCallback"));
+
+ if (m_allPackagesFetched | localPackagesTreeFetched)
+ setComplete(true);
+ }
+
+ if (maintanence) {
+ showMaintenanceTools();
+ setMaintenanceToolsEnabled(true);
+ } else {
+ hideAll();
+ }
+ gui()->setSettingsButtonEnabled(true);
+
+ return isComplete();
+}
+
+void IntroductionPage::showAll()
+{
+ showWidgets(true);
+}
+
+void IntroductionPage::hideAll()
+{
+ showWidgets(false);
+}
+
+void IntroductionPage::showMetaInfoUdate()
+{
+ showWidgets(false);
+ m_label->setVisible(true);
+ m_progressBar->setVisible(true);
+}
+
+void IntroductionPage::showMaintenanceTools()
+{
+ showWidgets(true);
+ m_label->setVisible(false);
+ m_progressBar->setVisible(false);
+}
+
+void IntroductionPage::setMaintenanceToolsEnabled(bool enable)
+{
+ m_packageManager->setEnabled(enable);
+ m_updateComponents->setEnabled(enable && ProductKeyCheck::instance()->hasValidKey());
+ m_removeAllComponents->setEnabled(enable);
+}
+
+// -- public slots
+
+void IntroductionPage::setMessage(const QString &msg)
+{
+ m_label->setText(msg);
+}
+
+void IntroductionPage::onProgressChanged(int progress)
+{
+ m_progressBar->setRange(0, 100);
+ m_progressBar->setValue(progress);
+}
+
+void IntroductionPage::setErrorMessage(const QString &error)
+{
+ QPalette palette;
+ const PackageManagerCore::Status s = packageManagerCore()->status();
+ if (s == PackageManagerCore::Failure || s == PackageManagerCore::Failure) {
+ palette.setColor(QPalette::WindowText, Qt::red);
+ } else {
+ palette.setColor(QPalette::WindowText, palette.color(QPalette::WindowText));
+ }
+
+ m_errorLabel->setText(error);
+ m_errorLabel->setPalette(palette);
+}
+
+void IntroductionPage::callControlScript(const QString &callback)
+{
+ // Initialize the gui. Needs to be done after check repositories as only then the ui can handle
+ // hide of pages depending on the components.
+ gui()->init();
+ gui()->callControlScriptMethod(callback);
+}
+
+bool IntroductionPage::validRepositoriesAvailable() const
+{
+ const PackageManagerCore *const core = packageManagerCore();
+ bool valid = (core->isInstaller() && core->isOfflineOnly()) || core->isUninstaller();
+
+ if (!valid) {
+ foreach (const Repository &repo, core->settings().repositories()) {
+ if (repo.isEnabled() && repo.isValid()) {
+ valid = true;
+ break;
+ }
+ }
+ }
+ return valid;
+}
+
+// -- private slots
+
+void IntroductionPage::setUpdater(bool value)
+{
+ if (value) {
+ entering();
+ gui()->showSettingsButton(true);
+ packageManagerCore()->setUpdater();
+ emit packageManagerCoreTypeChanged();
+ }
+}
+
+void IntroductionPage::setUninstaller(bool value)
+{
+ if (value) {
+ entering();
+ gui()->showSettingsButton(false);
+ packageManagerCore()->setUninstaller();
+ emit packageManagerCoreTypeChanged();
+ }
+}
+
+void IntroductionPage::setPackageManager(bool value)
+{
+ if (value) {
+ entering();
+ gui()->showSettingsButton(true);
+ packageManagerCore()->setPackageManager();
+ emit packageManagerCoreTypeChanged();
+ }
+}
+
+void IntroductionPage::onCoreNetworkSettingsChanged()
+{
+ m_updatesFetched = false;
+ m_allPackagesFetched = false;
+}
+
+// -- private
+
+void IntroductionPage::entering()
+{
+ setComplete(true);
+ showWidgets(false);
+ setMessage(QString());
+ setErrorMessage(QString());
+ setButtonText(QWizard::CancelButton, tr("Quit"));
+
+ m_progressBar->setValue(0);
+ m_progressBar->setRange(0, 0);
+ PackageManagerCore *core = packageManagerCore();
+ if (core->isUninstaller() || core->isUpdater() || core->isPackageManager()) {
+ showMaintenanceTools();
+ setMaintenanceToolsEnabled(true);
+ }
+ setSettingsButtonRequested((!core->isOfflineOnly()) && (!core->isUninstaller()));
+}
+
+void IntroductionPage::leaving()
+{
+ m_progressBar->setValue(0);
+ m_progressBar->setRange(0, 0);
+ setButtonText(QWizard::CancelButton, gui()->defaultButtonText(QWizard::CancelButton));
+}
+
+void IntroductionPage::showWidgets(bool show)
+{
+ m_label->setVisible(show);
+ m_progressBar->setVisible(show);
+ m_packageManager->setVisible(show);
+ m_updateComponents->setVisible(show);
+ m_removeAllComponents->setVisible(show);
}
void IntroductionPage::setText(const QString &text)
diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h
index e1544306a..a2cf23139 100644
--- a/src/libs/installer/packagemanagergui.h
+++ b/src/libs/installer/packagemanagergui.h
@@ -58,6 +58,7 @@ class QLabel;
class QLineEdit;
class QListWidget;
class QListWidgetItem;
+class QProgressBar;
class QRadioButton;
class QTextBrowser;
QT_END_NAMESPACE
@@ -213,12 +214,51 @@ class INSTALLER_EXPORT IntroductionPage : public PackageManagerPage
public:
explicit IntroductionPage(PackageManagerCore *core);
- void setWidget(QWidget *widget);
void setText(const QString &text);
+ int nextId() const;
+ bool validatePage();
+
+ void showAll();
+ void hideAll();
+ void showMetaInfoUdate();
+ void showMaintenanceTools();
+ void setMaintenanceToolsEnabled(bool enable);
+
+ public Q_SLOTS:
+ void onCoreNetworkSettingsChanged();
+ void setMessage(const QString &msg);
+ void onProgressChanged(int progress);
+ void setErrorMessage(const QString &error);
+
+Q_SIGNALS:
+ void packageManagerCoreTypeChanged();
+
+ private Q_SLOTS:
+ void setUpdater(bool value);
+ void setUninstaller(bool value);
+ void setPackageManager(bool value);
+
private:
+ void entering();
+ void leaving();
+
+ void showWidgets(bool show);
+ void callControlScript(const QString &callback);
+
+ bool validRepositoriesAvailable() const;
+
+private:
+ bool m_updatesFetched;
+ bool m_allPackagesFetched;
+
+ QLabel *m_label;
QLabel *m_msgLabel;
- QWidget *m_widget;
+ QLabel *m_errorLabel;
+ QProgressBar *m_progressBar;
+ QRadioButton *m_packageManager;
+ QRadioButton *m_updateComponents;
+ QRadioButton *m_removeAllComponents;
};
diff --git a/src/sdk/installerbasecommons.cpp b/src/sdk/installerbasecommons.cpp
index 8bf6ca449..f34024c17 100644
--- a/src/sdk/installerbasecommons.cpp
+++ b/src/sdk/installerbasecommons.cpp
@@ -40,331 +40,12 @@
**************************************************************************/
#include "installerbasecommons.h"
-#include <component.h>
-#include <messageboxhandler.h>
-#include <packagemanagercore.h>
#include <packagemanagerpagefactory.h>
-#include <settings.h>
-
#include <productkeycheck.h>
-#include <QtCore/QDir>
-#include <QtCore/QFileInfo>
-#include <QtCore/QTimer>
-
-#include <QLabel>
-#include <QProgressBar>
-#include <QRadioButton>
-#include <QStackedWidget>
-#include <QVBoxLayout>
-
using namespace QInstaller;
-// -- IntroductionPageImpl
-
-IntroductionPageImpl::IntroductionPageImpl(QInstaller::PackageManagerCore *core)
- : QInstaller::IntroductionPage(core)
- , m_updatesFetched(false)
- , m_allPackagesFetched(false)
-{
- QWidget *widget = new QWidget(this);
- QVBoxLayout *layout = new QVBoxLayout(widget);
-
- m_packageManager = new QRadioButton(tr("Package manager"), this);
- m_packageManager->setObjectName(QLatin1String("PackageManagerRadioButton"));
- layout->addWidget(m_packageManager);
- m_packageManager->setChecked(core->isPackageManager());
- connect(m_packageManager, SIGNAL(toggled(bool)), this, SLOT(setPackageManager(bool)));
-
- m_updateComponents = new QRadioButton(tr("Update components"), this);
- m_updateComponents->setObjectName(QLatin1String("UpdaterRadioButton"));
- layout->addWidget(m_updateComponents);
- m_updateComponents->setChecked(core->isUpdater());
- connect(m_updateComponents, SIGNAL(toggled(bool)), this, SLOT(setUpdater(bool)));
-
- m_removeAllComponents = new QRadioButton(tr("Remove all components"), this);
- m_removeAllComponents->setObjectName(QLatin1String("UninstallerRadioButton"));
- layout->addWidget(m_removeAllComponents);
- m_removeAllComponents->setChecked(core->isUninstaller());
- connect(m_removeAllComponents, SIGNAL(toggled(bool)), this, SLOT(setUninstaller(bool)));
- connect(m_removeAllComponents, SIGNAL(toggled(bool)), core, SLOT(setCompleteUninstallation(bool)));
-
- layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding));
-
- m_label = new QLabel(this);
- m_label->setWordWrap(true);
- m_label->setText(tr("Retrieving information from remote installation sources..."));
- layout->addWidget(m_label);
-
- m_progressBar = new QProgressBar(this);
- m_progressBar->setRange(0, 0);
- layout->addWidget(m_progressBar);
-
- layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding));
-
- m_errorLabel = new QLabel(this);
- m_errorLabel->setWordWrap(true);
- layout->addWidget(m_errorLabel);
-
- widget->setLayout(layout);
- setWidget(widget);
-
- core->setCompleteUninstallation(core->isUninstaller());
-
- connect(core, SIGNAL(metaJobProgress(int)), this, SLOT(onProgressChanged(int)));
- connect(core, SIGNAL(metaJobInfoMessage(QString)), this, SLOT(setMessage(QString)));
- connect(core, SIGNAL(coreNetworkSettingsChanged()), this, SLOT(onCoreNetworkSettingsChanged()));
-
- m_updateComponents->setEnabled(ProductKeyCheck::instance()->hasValidKey());
-}
-
-int IntroductionPageImpl::nextId() const
-{
- if (packageManagerCore()->isUninstaller())
- return PackageManagerCore::ReadyForInstallation;
-
- if (packageManagerCore()->isUpdater() || packageManagerCore()->isPackageManager())
- return PackageManagerCore::ComponentSelection;
-
- return QInstaller::IntroductionPage::nextId();
-}
-
-bool IntroductionPageImpl::validatePage()
-{
- PackageManagerCore *core = packageManagerCore();
- if (core->isUninstaller())
- return true;
-
- setComplete(false);
- if (!validRepositoriesAvailable()) {
- setErrorMessage(QLatin1String("<font color=\"red\">") + tr("At least one valid and enabled "
- "repository required for this action to succeed.") + QLatin1String("</font>"));
- return isComplete();
- }
-
- gui()->setSettingsButtonEnabled(false);
- const bool maintanence = core->isUpdater() || core->isPackageManager();
- if (maintanence) {
- showAll();
- setMaintenanceToolsEnabled(false);
- } else {
- showMetaInfoUdate();
- }
-
- // fetch updater packages
- if (core->isUpdater()) {
- if (!m_updatesFetched) {
- m_updatesFetched = core->fetchRemotePackagesTree();
- if (!m_updatesFetched)
- setErrorMessage(core->error());
- }
-
- callControlScript(QLatin1String("UpdaterSelectedCallback"));
-
- if (m_updatesFetched) {
- if (core->updaterComponents().count() <= 0)
- setErrorMessage(QLatin1String("<b>") + tr("No updates available.") + QLatin1String("</b>"));
- else
- setComplete(true);
- }
- }
-
- // fetch common packages
- if (core->isInstaller() || core->isPackageManager()) {
- bool localPackagesTreeFetched = false;
- if (!m_allPackagesFetched) {
- // first try to fetch the server side packages tree
- m_allPackagesFetched = core->fetchRemotePackagesTree();
- if (!m_allPackagesFetched) {
- QString error = core->error();
- if (core->isPackageManager() && core->status() != PackageManagerCore::ForceUpdate) {
- // if that fails and we're in maintenance mode, try to fetch local installed tree
- localPackagesTreeFetched = core->fetchLocalPackagesTree();
- if (localPackagesTreeFetched) {
- // if that succeeded, adjust error message
- error = QLatin1String("<font color=\"red\">") + error + tr(" Only local package "
- "management available.") + QLatin1String("</font>");
- }
- }
- setErrorMessage(error);
- }
- }
-
- callControlScript(QLatin1String("PackageManagerSelectedCallback"));
-
- if (m_allPackagesFetched | localPackagesTreeFetched)
- setComplete(true);
- }
-
- if (maintanence) {
- showMaintenanceTools();
- setMaintenanceToolsEnabled(true);
- } else {
- hideAll();
- }
- gui()->setSettingsButtonEnabled(true);
-
- return isComplete();
-}
-
-void IntroductionPageImpl::showAll()
-{
- showWidgets(true);
-}
-
-void IntroductionPageImpl::hideAll()
-{
- showWidgets(false);
-}
-
-void IntroductionPageImpl::showMetaInfoUdate()
-{
- showWidgets(false);
- m_label->setVisible(true);
- m_progressBar->setVisible(true);
-}
-
-void IntroductionPageImpl::showMaintenanceTools()
-{
- showWidgets(true);
- m_label->setVisible(false);
- m_progressBar->setVisible(false);
-}
-
-void IntroductionPageImpl::setMaintenanceToolsEnabled(bool enable)
-{
- m_packageManager->setEnabled(enable);
- m_updateComponents->setEnabled(enable && ProductKeyCheck::instance()->hasValidKey());
- m_removeAllComponents->setEnabled(enable);
-}
-
-// -- public slots
-
-void IntroductionPageImpl::setMessage(const QString &msg)
-{
- m_label->setText(msg);
-}
-
-void IntroductionPageImpl::onProgressChanged(int progress)
-{
- m_progressBar->setRange(0, 100);
- m_progressBar->setValue(progress);
-}
-
-void IntroductionPageImpl::setErrorMessage(const QString &error)
-{
- QPalette palette;
- const PackageManagerCore::Status s = packageManagerCore()->status();
- if (s == PackageManagerCore::Failure || s == PackageManagerCore::Failure) {
- palette.setColor(QPalette::WindowText, Qt::red);
- } else {
- palette.setColor(QPalette::WindowText, palette.color(QPalette::WindowText));
- }
-
- m_errorLabel->setText(error);
- m_errorLabel->setPalette(palette);
-}
-
-void IntroductionPageImpl::callControlScript(const QString &callback)
-{
- // Initialize the gui. Needs to be done after check repositories as only then the ui can handle
- // hide of pages depending on the components.
- gui()->init();
- gui()->callControlScriptMethod(callback);
-}
-
-bool IntroductionPageImpl::validRepositoriesAvailable() const
-{
- const PackageManagerCore *const core = packageManagerCore();
- bool valid = (core->isInstaller() && core->isOfflineOnly()) || core->isUninstaller();
-
- if (!valid) {
- foreach (const Repository &repo, core->settings().repositories()) {
- if (repo.isEnabled() && repo.isValid()) {
- valid = true;
- break;
- }
- }
- }
- return valid;
-}
-
-// -- private slots
-
-void IntroductionPageImpl::setUpdater(bool value)
-{
- if (value) {
- entering();
- gui()->showSettingsButton(true);
- packageManagerCore()->setUpdater();
- emit packageManagerCoreTypeChanged();
- }
-}
-
-void IntroductionPageImpl::setUninstaller(bool value)
-{
- if (value) {
- entering();
- gui()->showSettingsButton(false);
- packageManagerCore()->setUninstaller();
- emit packageManagerCoreTypeChanged();
- }
-}
-
-void IntroductionPageImpl::setPackageManager(bool value)
-{
- if (value) {
- entering();
- gui()->showSettingsButton(true);
- packageManagerCore()->setPackageManager();
- emit packageManagerCoreTypeChanged();
- }
-}
-
-void IntroductionPageImpl::onCoreNetworkSettingsChanged()
-{
- m_updatesFetched = false;
- m_allPackagesFetched = false;
-}
-
-// -- private
-
-void IntroductionPageImpl::entering()
-{
- setComplete(true);
- showWidgets(false);
- setMessage(QString());
- setErrorMessage(QString());
- setButtonText(QWizard::CancelButton, tr("Quit"));
-
- m_progressBar->setValue(0);
- m_progressBar->setRange(0, 0);
- PackageManagerCore *core = packageManagerCore();
- if (core->isUninstaller() ||core->isUpdater() || core->isPackageManager()) {
- showMaintenanceTools();
- setMaintenanceToolsEnabled(true);
- }
- setSettingsButtonRequested((!core->isOfflineOnly()) && (!core->isUninstaller()));
-}
-
-void IntroductionPageImpl::leaving()
-{
- m_progressBar->setValue(0);
- m_progressBar->setRange(0, 0);
- setButtonText(QWizard::CancelButton, gui()->defaultButtonText(QWizard::CancelButton));
-}
-
-void IntroductionPageImpl::showWidgets(bool show)
-{
- m_label->setVisible(show);
- m_progressBar->setVisible(show);
- m_packageManager->setVisible(show);
- m_updateComponents->setVisible(show);
- m_removeAllComponents->setVisible(show);
-}
-
-
// -- InstallerGui
InstallerGui::InstallerGui(PackageManagerCore *core)
@@ -377,7 +58,8 @@ InstallerGui::InstallerGui(PackageManagerCore *core)
"constructed.").arg(id)));
setPage(id, page);
}
- setPage(PackageManagerCore::Introduction, new IntroductionPageImpl(core));
+
+ setPage(PackageManagerCore::Introduction, new IntroductionPage(core));
setPage(PackageManagerCore::TargetDirectory, new TargetDirectoryPage(core));
setPage(PackageManagerCore::ComponentSelection, new ComponentSelectionPage(core));
setPage(PackageManagerCore::LicenseCheck, new LicenseAgreementPage(core));
@@ -407,7 +89,7 @@ MaintenanceGui::MaintenanceGui(PackageManagerCore *core)
setPage(id, page);
}
- IntroductionPageImpl *intro = new IntroductionPageImpl(core);
+ IntroductionPage *intro = new IntroductionPage(core);
connect(intro, SIGNAL(packageManagerCoreTypeChanged()), this, SLOT(updateRestartPage()));
setPage(PackageManagerCore::Introduction, intro);
diff --git a/src/sdk/installerbasecommons.h b/src/sdk/installerbasecommons.h
index 8103145dd..6579bbaaf 100644
--- a/src/sdk/installerbasecommons.h
+++ b/src/sdk/installerbasecommons.h
@@ -44,67 +44,6 @@
#include <packagemanagergui.h>
-QT_BEGIN_NAMESPACE
-class QLabel;
-class QString;
-class QProgressBar;
-QT_END_NAMESPACE
-
-
-// -- IntroductionPageImpl
-
-class IntroductionPageImpl : public QInstaller::IntroductionPage
-{
- Q_OBJECT
-
-public:
- explicit IntroductionPageImpl(QInstaller::PackageManagerCore *core);
-
- int nextId() const;
- bool validatePage();
-
- void showAll();
- void hideAll();
- void showMetaInfoUdate();
- void showMaintenanceTools();
- void setMaintenanceToolsEnabled(bool enable);
-
-public Q_SLOTS:
- void onCoreNetworkSettingsChanged();
- void setMessage(const QString &msg);
- void onProgressChanged(int progress);
- void setErrorMessage(const QString &error);
-
-Q_SIGNALS:
- void packageManagerCoreTypeChanged();
-
-private Q_SLOTS:
- void setUpdater(bool value);
- void setUninstaller(bool value);
- void setPackageManager(bool value);
-
-private:
- void entering();
- void leaving();
-
- void showWidgets(bool show);
- void callControlScript(const QString &callback);
-
- bool validRepositoriesAvailable() const;
-
-private:
- bool m_updatesFetched;
- bool m_updatesCompleted;
- bool m_allPackagesFetched;
-
- QLabel *m_label;
- QLabel *m_errorLabel;
- QProgressBar *m_progressBar;
- QRadioButton *m_packageManager;
- QRadioButton *m_updateComponents;
- QRadioButton *m_removeAllComponents;
-};
-
// -- InstallerGui
diff --git a/src/sdk/tabcontroller.cpp b/src/sdk/tabcontroller.cpp
index 0bc832e9f..ffa831580 100644
--- a/src/sdk/tabcontroller.cpp
+++ b/src/sdk/tabcontroller.cpp
@@ -137,8 +137,8 @@ int TabController::init()
connect(d->m_gui, SIGNAL(settingsButtonClicked()), this, SLOT(onSettingsButtonClicked()));
}
- IntroductionPageImpl *page =
- qobject_cast<IntroductionPageImpl*> (d->m_gui->page(PackageManagerCore::Introduction));
+ IntroductionPage *page =
+ qobject_cast<IntroductionPage*> (d->m_gui->page(PackageManagerCore::Introduction));
if (page) {
page->setMessage(QString());
page->setErrorMessage(QString());
@@ -184,8 +184,8 @@ void TabController::onSettingsButtonClicked()
if (d->m_networkSettingsChanged) {
d->m_core->setCanceled();
- IntroductionPageImpl *page =
- qobject_cast<IntroductionPageImpl*> (d->m_gui->page(PackageManagerCore::Introduction));
+ IntroductionPage *page =
+ qobject_cast<IntroductionPage*> (d->m_gui->page(PackageManagerCore::Introduction));
if (page) {
page->setMessage(QString());
page->setErrorMessage(QString());