[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [muon] muon: Make showing multiarch dupes a controllable option in.
From:       Jonathan Thomas <echidnaman () kubuntu ! org>
Date:       2012-03-31 17:12:32
Message-ID: 20120331171232.996ADA60A9 () git ! kde ! org
[Download RAW message or body]

Git commit 8ccf6f8062da4c940c677b88df88414ad26d1ac5 by Jonathan Thomas.
Committed on 31/03/2012 at 19:11.
Pushed by jmthomas into branch 'master'.

Make showing multiarch dupes a controllable option in.

M  +5    -2    muon/PackageModel/PackageProxyModel.cpp
M  +9    -1    muon/config/GeneralSettingsPage.cpp
M  +2    -1    muon/config/GeneralSettingsPage.h
M  +4    -0    muon/config/muon.kcfg

http://commits.kde.org/muon/8ccf6f8062da4c940c677b88df88414ad26d1ac5

diff --git a/muon/PackageModel/PackageProxyModel.cpp \
b/muon/PackageModel/PackageProxyModel.cpp index bf2df6c..0638c56 100644
--- a/muon/PackageModel/PackageProxyModel.cpp
+++ b/muon/PackageModel/PackageProxyModel.cpp
@@ -28,6 +28,7 @@
 
 // Own includes
 #include "PackageModel.h"
+#include "MuonSettings.h"
 
 static const int status_sort_magic = (QApt::Package::Installed
 //                                       | QApt::Package::Outdated
@@ -148,8 +149,10 @@ bool PackageProxyModel::filterAcceptsRow(int sourceRow, const \
QModelIndex &sourc  }
 
     // TODO before 1.4: Configurable
-    if (package->isMultiArchDuplicate())
-        return false;
+    if (!MuonSettings::self()->showMultiArchDupes()) {
+        if (package->isMultiArchDuplicate())
+            return false;
+    }
 
     if (m_useSearchResults)
         return m_searchPackages.contains(package);
diff --git a/muon/config/GeneralSettingsPage.cpp \
b/muon/config/GeneralSettingsPage.cpp index deacd4b..5d910a5 100644
--- a/muon/config/GeneralSettingsPage.cpp
+++ b/muon/config/GeneralSettingsPage.cpp
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright  © 2010 Jonathan Thomas <echidnaman@kubuntu.org>             *
+ *   Copyright  © 2010-2012 Jonathan Thomas <echidnaman@kubuntu.org>        *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or         *
  *   modify it under the terms of the GNU General Public License as        *
@@ -37,6 +37,7 @@ GeneralSettingsPage::GeneralSettingsPage(QWidget* parent, \
QApt::Config *aptConfi  : SettingsPageBase(parent)
         , m_aptConfig(aptConfig)
         , m_askChangesCheckBox(new QCheckBox(this))
+        , m_multiArchDupesBox(new QCheckBox(this))
         , m_recommendsCheckBox(new QCheckBox(this))
         , m_suggestsCheckBox(new QCheckBox(this))
         , m_untrustedCheckBox(new QCheckBox(this))
@@ -50,10 +51,13 @@ GeneralSettingsPage::GeneralSettingsPage(QWidget* parent, \
QApt::Config *aptConfi  setLayout(layout);
 
     m_askChangesCheckBox->setText(i18n("Ask to confirm changes that affect other \
packages")); +    m_multiArchDupesBox->setText(i18n("Show foreign-architecture \
                packages that are available natively"));
     m_recommendsCheckBox->setText(i18n("Treat recommended packages as \
                dependencies"));
     m_suggestsCheckBox->setText(i18n("Treat suggested packages as dependencies"));
     m_untrustedCheckBox->setText(i18n("Allow the installation of untrusted \
packages"));  
+    m_multiArchDupesBox->setEnabled(aptConfig->architectures().size() > 1);
+
     // Autoclean settings
     QWidget *autoCleanWidget = new QWidget(this);
 
@@ -75,6 +79,7 @@ GeneralSettingsPage::GeneralSettingsPage(QWidget* parent, \
                QApt::Config *aptConfi
     spacer->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
 
     layout->addRow(m_askChangesCheckBox);
+    layout->addRow(m_multiArchDupesBox);
     layout->addRow(m_recommendsCheckBox);
     layout->addRow(m_suggestsCheckBox);
     layout->addRow(m_untrustedCheckBox);
@@ -83,6 +88,7 @@ GeneralSettingsPage::GeneralSettingsPage(QWidget* parent, \
QApt::Config *aptConfi  layout->addRow(spacer);
 
     connect(m_askChangesCheckBox, SIGNAL(clicked()), this, SIGNAL(changed()));
+    connect(m_multiArchDupesBox, SIGNAL(clicked()), this, SIGNAL(changed()));
     connect(m_recommendsCheckBox, SIGNAL(clicked()), this, SLOT(emitAuthChanged()));
     connect(m_suggestsCheckBox, SIGNAL(clicked()), this, SLOT(emitAuthChanged()));
     connect(m_untrustedCheckBox, SIGNAL(clicked()), this, SLOT(emitAuthChanged()));
@@ -106,6 +112,7 @@ void GeneralSettingsPage::loadSettings()
     MuonSettings *settings = MuonSettings::self();
 
     m_askChangesCheckBox->setChecked(settings->askChanges());
+    m_multiArchDupesBox->setChecked(settings->showMultiArchDupes());
     m_recommendsCheckBox->setChecked(m_aptConfig->readEntry("APT::Install-Recommends", \
                true));
     m_suggestsCheckBox->setChecked(m_aptConfig->readEntry("APT::Install-Suggests", \
                false));
     m_untrustedCheckBox->setChecked(m_aptConfig->readEntry("APT::Get::AllowUnauthenticated", \
false)); @@ -121,6 +128,7 @@ void GeneralSettingsPage::applySettings()
     MuonSettings *settings = MuonSettings::self();
 
     settings->setAskChanges(m_askChangesCheckBox->isChecked());
+    settings->setShowMultiArchDupes(m_multiArchDupesBox->isChecked());
     settings->setUndoStackSize(m_undoStackSpinbox->value());
     settings->writeConfig();
 
diff --git a/muon/config/GeneralSettingsPage.h b/muon/config/GeneralSettingsPage.h
index 1e71c61..e18b46c 100644
--- a/muon/config/GeneralSettingsPage.h
+++ b/muon/config/GeneralSettingsPage.h
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright  © 2010 Jonathan Thomas <echidnaman@kubuntu.org>             *
+ *   Copyright  © 2010-2012 Jonathan Thomas <echidnaman@kubuntu.org>        *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or         *
  *   modify it under the terms of the GNU General Public License as        *
@@ -51,6 +51,7 @@ private Q_SLOTS:
 private:
     QApt::Config *m_aptConfig;
     QCheckBox *m_askChangesCheckBox;
+    QCheckBox *m_multiArchDupesBox;
     QCheckBox *m_recommendsCheckBox;
     QCheckBox *m_suggestsCheckBox;
     QCheckBox *m_untrustedCheckBox;
diff --git a/muon/config/muon.kcfg b/muon/config/muon.kcfg
index 6083f2b..f880169 100644
--- a/muon/config/muon.kcfg
+++ b/muon/config/muon.kcfg
@@ -24,5 +24,9 @@
       <label>Whether or not to confirm additional changes.</label>
       <default>true</default>
     </entry>
+    <entry name="ShowMultiArchDupes" type="Bool">
+      <label>Show foreign architecture packages also available natively.</label>
+      <default>false</default>
+    </entry>
   </group>
 </kcfg>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic