[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdesupport/kdewin-installer/gui
From: Ralf Habacker <Ralf.Habacker () freenet ! de>
Date: 2008-03-31 15:05:45
Message-ID: 1206975945.659755.15886.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 792182 by habacker:
- added end user install mode page which allows to update and remove the installation \
M +3 -3 CMakeLists.txt
M +15 -2 enduserinstallmodepage.cpp
M +5 -12 enduserinstallmodepage.ui
M +27 -0 installerdialogs.cpp
M +2 -0 installerdialogs.h
M +33 -3 installerenginegui.cpp
M +7 -4 installerenginegui.h
M +7 -7 installwizard.cpp
--- trunk/kdesupport/kdewin-installer/gui/CMakeLists.txt #792181:792182
@@ -48,7 +48,7 @@
${CMAKE_CURRENT_SOURCE_DIR}/installerenginegui.cpp
${CMAKE_CURRENT_SOURCE_DIR}/installpage.cpp
${CMAKE_CURRENT_SOURCE_DIR}/usercompilermodepage.cpp
-# ${CMAKE_CURRENT_SOURCE_DIR}/enduserinstallmodepage.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/enduserinstallmodepage.cpp
${CMAKE_CURRENT_SOURCE_DIR}/enduserpackageselectorpage.cpp
${CMAKE_CURRENT_SOURCE_DIR}/installwizard.cpp
${CMAKE_CURRENT_SOURCE_DIR}/internetsettingspage.cpp
@@ -71,7 +71,7 @@
${CMAKE_CURRENT_SOURCE_DIR}/installerenginegui.h
${CMAKE_CURRENT_SOURCE_DIR}/installpage.h
${CMAKE_CURRENT_SOURCE_DIR}/usercompilermodepage.h
-# ${CMAKE_CURRENT_SOURCE_DIR}/enduserinstallmodepage.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/enduserinstallmodepage.h
${CMAKE_CURRENT_SOURCE_DIR}/enduserpackageselectorpage.h
${CMAKE_CURRENT_SOURCE_DIR}/installwizard.h
${CMAKE_CURRENT_SOURCE_DIR}/internetsettingspage.h
@@ -89,7 +89,7 @@
${CMAKE_CURRENT_SOURCE_DIR}/finishpage.ui
${CMAKE_CURRENT_SOURCE_DIR}/installdirectorypage.ui
${CMAKE_CURRENT_SOURCE_DIR}/usercompilermodepage.ui
-# ${CMAKE_CURRENT_SOURCE_DIR}/enduserinstallmodepage.ui
+ ${CMAKE_CURRENT_SOURCE_DIR}/enduserinstallmodepage.ui
${CMAKE_CURRENT_SOURCE_DIR}/enduserpackageselectorpage.ui
${CMAKE_CURRENT_SOURCE_DIR}/internetsettingspage.ui
${CMAKE_CURRENT_SOURCE_DIR}/mirrorsettingspage.ui
--- trunk/kdesupport/kdewin-installer/gui/enduserinstallmodepage.cpp #792181:792182
@@ -24,6 +24,7 @@
#include "config.h"
#include "enduserinstallmodepage.h"
+#include "installerdialogs.h"
EndUserInstallModePage::EndUserInstallModePage() : InstallWizardPage(0)
{
@@ -35,6 +36,8 @@
groupA->addButton(ui.updateInstallButton);
groupA->addButton(ui.repairInstallButton);
groupA->addButton(ui.removeInstallButton);
+ ui.updateInstallButton->setChecked(true);
+ ui.repairInstallButton->setVisible(false);
}
void EndUserInstallModePage::initializePage()
@@ -44,17 +47,27 @@
int EndUserInstallModePage::nextId() const
{
if (ui.updateInstallButton->isChecked())
- return InstallWizard::endUserUpdatePage;
+ return InstallWizard::mirrorSettingsPage;
else if (ui.repairInstallButton->isChecked())
return InstallWizard::endUserRepairPage;
else if (ui.removeInstallButton->isChecked())
- return InstallWizard::endUserRemovePage;
+ return InstallWizard::uninstallPage;
else
return InstallWizard::endUserInstallModePage;
}
bool EndUserInstallModePage::validatePage()
{
+ if (ui.removeInstallButton->isChecked())
+ {
+ if (InstallerDialogs::instance().confirmRemovalDialog())
+ engine->selectAllPackagesForRemoval();
+ }
+ else if (ui.repairInstallButton->isChecked())
+ {
+ if (InstallerDialogs::instance().confirmRepairDialog())
+ engine->selectPackagesForReinstall();
+ }
return true;
}
--- trunk/kdesupport/kdewin-installer/gui/enduserinstallmodepage.ui #792181:792182
@@ -19,34 +19,27 @@
<item row="0" column="0" >
<layout class="QVBoxLayout" >
<item>
- <widget class="QLabel" name="label" >
+ <widget class="QRadioButton" name="updateInstallButton" >
<property name="text" >
- <string>TextLabel</string>
+ <string>Update installed packages</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="updateInstallButton" >
+ <widget class="QRadioButton" name="removeInstallButton" >
<property name="text" >
- <string>update installed packages</string>
+ <string>Remove installed packages</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="repairInstallButton" >
<property name="text" >
- <string>repair current installation</string>
+ <string>Repair current installation</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="removeInstallButton" >
- <property name="text" >
- <string>remove installation</string>
- </property>
- </widget>
- </item>
- <item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
--- trunk/kdesupport/kdewin-installer/gui/installerdialogs.cpp #792181:792182
@@ -21,6 +21,7 @@
****************************************************************************/
#include "installerdialogs.h"
+#include "settings.h"
#include <QVBoxLayout>
bool InstallerDialogs::installerOutdated()
@@ -73,6 +74,32 @@
}
}
+bool InstallerDialogs::confirmRemovalDialog()
+{
+ QString text = tr("Are you sure to remove the KDE installation from %1 ? \
").arg(Settings::instance().installDir()); + QMessageBox::StandardButton result = \
QMessageBox::warning ( + m_parent,
+ m_title,
+ text,
+ QMessageBox::Cancel | QMessageBox::Ok,
+ QMessageBox::Cancel
+ );
+ return result == QMessageBox::Ok;
+}
+
+bool InstallerDialogs::confirmRepairDialog()
+{
+ QString text = tr("Are you sure to reinstall all packages ? ");
+ QMessageBox::StandardButton result = QMessageBox::warning (
+ m_parent,
+ m_title,
+ text,
+ QMessageBox::Cancel | QMessageBox::Ok,
+ QMessageBox::Cancel
+ );
+ return result == QMessageBox::Ok;
+}
+
InstallerDialogs &InstallerDialogs::instance()
{
static InstallerDialogs instance;
--- trunk/kdesupport/kdewin-installer/gui/installerdialogs.h #792181:792182
@@ -37,6 +37,8 @@
bool installerOutdated();
QMessageBox::StandardButton downloadFailed(const QString &url, const QString \
&error=QString());
void downloadProgressDialog(QWidget *parent,bool show, const QString \
&title=QString()); + bool confirmRemovalDialog();
+ bool confirmRepairDialog();
static InstallerDialogs &instance();
--- trunk/kdesupport/kdewin-installer/gui/installerenginegui.cpp #792181:792182
@@ -484,7 +484,37 @@
InstallerEngine::reload();
}
+void InstallerEngineGui::selectAllPackagesForRemoval()
+{
+ Package::Type type = Package::BIN;
+ stateType newState = _Remove;
+ foreach(Package *installed,m_database->packages())
+ {
+ if (installed->hasType(type))
+ packageStates.setState(installed,type,newState);
+ // set additional package types for download/install/remove
+ if (type == Package::BIN && m_installMode == Developer)
+ {
+ if (installed->hasType(Package::LIB))
+ packageStates.setState(installed,Package::LIB,newState);
+ if (installed->hasType(Package::DOC))
+ packageStates.setState(installed,Package::DOC,newState);
+ }
+ else if (type == Package::BIN && m_installMode == EndUser)
+ {
+ ;//if (installed->hasType(Package::DOC))
+ // packageStates.setState(available,Package::DOC,newState);
+ }
+ m_packageResources->addPackage(*installed);
+ }
+ qDebug() << packageStates;
+}
+void InstallerEngineGui::selectPackagesForReinstall()
+{
+ qWarning() << "has to be implemented";
+}
+
bool InstallerEngineGui::downloadPackageItem(Package *pkg, Package::Type type )
{
bool all = false; //isMarkedForInstall(pkg,Package::ALL);
@@ -515,7 +545,7 @@
return false;
}
-bool InstallerEngineGui::downloadPackages ( QTreeWidget *tree, const QString \
&category ) +bool InstallerEngineGui::downloadPackages ( const QString &category )
{
QList<Package*> list = packageStates.packages(m_packageResources);
Q_FOREACH ( Package *pkg, dependencyStates.packages(m_packageResources) )
@@ -543,7 +573,7 @@
return true;
}
-bool InstallerEngineGui::removePackages ( QTreeWidget *tree, const QString &category \
) +bool InstallerEngineGui::removePackages ( const QString &category )
{
QList<Package*> list = packageStates.packages(m_packageResources);
Q_FOREACH ( Package *pkg, dependencyStates.packages(m_packageResources) )
@@ -576,7 +606,7 @@
return true;
}
-bool InstallerEngineGui::installPackages ( QTreeWidget *tree, const QString \
&_category ) +bool InstallerEngineGui::installPackages ( const QString &_category )
{
QList<Package*> list = packageStates.packages(m_packageResources);
Q_FOREACH ( Package *pkg, dependencyStates.packages(m_packageResources) )
--- trunk/kdesupport/kdewin-installer/gui/installerenginegui.h #792181:792182
@@ -37,13 +37,16 @@
/// reload all package definitions
virtual void reload();
+ void selectAllPackagesForRemoval();
+ void selectPackagesForReinstall();
+
void checkUpdateDependencies(QTreeWidget *list);
bool checkRemoveDependencies(QTreeWidget *list);
- bool downloadPackages(QTreeWidget *tree, const QString &category=QString());
- bool installPackages(QTreeWidget *tree, const QString &category=QString());
- bool removePackages(QTreeWidget *tree, const QString &category=QString());
- /// @TODO: cleanup
+ bool downloadPackages(const QString &category=QString());
+ bool installPackages(const QString &category=QString());
+ bool removePackages(const QString &category=QString());
+ /// @TODO: cleanup
void setEndUserInitialState ( QTreeWidgetItem &item, Package *available, Package \
*installed, int column=0 );
void setInitialState(QTreeWidgetItem &item, Package *available, Package \
*installed,int column=0);
--- trunk/kdesupport/kdewin-installer/gui/installwizard.cpp #792181:792182
@@ -41,7 +41,7 @@
#include "installdirectorypage.h"
#include "internetsettingspage.h"
#include "downloadsettingspage.h"
-//#include "enduserinstallmodepage.h"
+#include "enduserinstallmodepage.h"
#include "enduserpackageselectorpage.h"
//#include "enduserupdatepage.h"
//#include "enduserrepairpage.h"
@@ -101,7 +101,7 @@
setPage(userCompilerModePage, new UserCompilerModePage);
setPage(downloadSettingsPage, new DownloadSettingsPage);
setPage(internetSettingsPage, new InternetSettingsPage);
-// setPage(endUserInstallModePage,new EndUserInstallModePage);
+ setPage(endUserInstallModePage,new EndUserInstallModePage);
setPage(endUserPackageSelectorPage, new EndUserPackageSelectorPage);
// setPage(endUserUpdatePage, new EndUserUpdatePage);
// setPage(endUserRepairPage, new EndUserRepairPage);
@@ -175,7 +175,7 @@
if (id == downloadPage) {
button(QWizard::BackButton)->setEnabled(false);
button(QWizard::NextButton)->setEnabled(false);
- if (!engine->downloadPackages(tree)) {
+ if (!engine->downloadPackages()) {
reject();
return;
}
@@ -187,7 +187,7 @@
else if (id == uninstallPage) {
button(QWizard::BackButton)->setEnabled(false);
button(QWizard::NextButton)->setEnabled(false);
- if (!engine->removePackages(tree)) {
+ if (!engine->removePackages()) {
reject();
return;
}
@@ -199,7 +199,7 @@
else if (id == installPage) {
button(QWizard::BackButton)->setEnabled(false);
button(QWizard::NextButton)->setEnabled(false);
- if (!engine->installPackages(tree)) {
+ if (!engine->installPackages()) {
reject();
return;
}
@@ -228,7 +228,7 @@
if (Settings::instance().isSkipBasicSettings())
{
if (Database::isAnyPackageInstalled(Settings::instance().installDir()))
-#if 0
+#if 1
return endUserInstallModePage;
#else
return endUserPackageSelectorPage;
@@ -248,7 +248,7 @@
else
return mirrorSettingsPage;
-#if 0
+#if 1
case endUserInstallModePage:
{
EndUserInstallModePage *_page = \
static_cast<EndUserInstallModePage*>(page(endUserInstallModePage));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic