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

List:       kde-commits
Subject:    extragear/sysadmin/muon/installer
From:       Jonathan Michael Thomas <echidnaman () kubuntu ! org>
Date:       2010-12-09 1:18:27
Message-ID: 20101209011827.ED186AC8A5 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1204784 by jmthomas:

When language-selector is installed, don't pollute the addons list with large amounts \
of langpacks since language-selector presumably takes care of things.


 M  +30 -1     Application.cpp  


--- trunk/extragear/sysadmin/muon/installer/Application.cpp #1204783:1204784
@@ -30,6 +30,7 @@
 #include <KLocale>
 #include <KService>
 #include <KServiceGroup>
+#include <KDebug>
 
 // QApt includes
 #include <LibQApt/Backend>
@@ -217,9 +218,37 @@
     tempList << m_package->suggestsList();
     tempList << m_package->enhancedByList();
 
+    QStringList languagePackages;
+    QFile l10nFilterFile("/usr/share/language-selector/data/pkg_depends");
+
+    if (l10nFilterFile.open(QFile::ReadOnly)) {
+        QString contents = l10nFilterFile.readAll();
+
+        foreach (const QString &line, contents.split('\n')) {
+            if (line.startsWith("#")) {
+                continue;
+            }
+            languagePackages << line.split(':').last();
+        }
+
+        languagePackages.removeAll("");
+    }
+
     foreach (const QString &addon, tempList) {
+        bool shouldShow = true;
         QApt::Package *package = m_backend->package(addon);
-        if (!package->section().contains("lib")) {
+        if (package->section().contains("lib")) {
+            continue;
+        }
+
+        foreach (const QString &langpack, languagePackages) {
+            if (addon.contains(langpack)) {
+                shouldShow = false;
+                break;
+            }
+        }
+
+        if (shouldShow) {
             addons << package;
         }
     }


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

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