[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