summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@digia.com>2013-08-07 15:47:00 +0200
committerKai Koehne <kai.koehne@digia.com>2013-08-08 12:43:15 +0200
commitc0cee088ebe9b1265200dbf74a26e1685c48e4f7 (patch)
treea975ce5187c6ef509a991d3f755ca6b9f3721841
parent00cd66ac09767d066ab88346a9107e04197658f0 (diff)
Make it possible to filter repositories not matching the license.
Change-Id: I8ca36004394778ecd680636b36bfeafe8fcd1ff8 Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
-rw-r--r--src/libs/installer/getrepositoriesmetainfojob.cpp4
-rw-r--r--src/libs/installer/productkeycheck.cpp7
-rw-r--r--src/libs/installer/productkeycheck.h4
-rw-r--r--src/sdk/settingsdialog.cpp8
4 files changed, 20 insertions, 3 deletions
diff --git a/src/libs/installer/getrepositoriesmetainfojob.cpp b/src/libs/installer/getrepositoriesmetainfojob.cpp
index 98840b6b0..c4564e781 100644
--- a/src/libs/installer/getrepositoriesmetainfojob.cpp
+++ b/src/libs/installer/getrepositoriesmetainfojob.cpp
@@ -42,6 +42,7 @@
#include "getrepositoriesmetainfojob.h"
#include "getrepositorymetainfojob.h"
+#include "productkeycheck.h"
#include "packagemanagercore_p.h"
#include <QtCore/QDebug>
@@ -120,8 +121,9 @@ void GetRepositoriesMetaInfoJob::doStart()
{
if ((m_core->isInstaller() && !m_core->isOfflineOnly()) || (m_core->isUpdater()
|| m_core->isPackageManager())) {
+ const ProductKeyCheck *const productKeyCheck = ProductKeyCheck::instance(m_core);
foreach (const Repository &repo, m_core->settings().repositories()) {
- if (repo.isEnabled())
+ if (repo.isEnabled() && productKeyCheck->isValidRepository(repo))
m_repositories += repo;
}
}
diff --git a/src/libs/installer/productkeycheck.cpp b/src/libs/installer/productkeycheck.cpp
index fe1fd10af..a4af2b6d3 100644
--- a/src/libs/installer/productkeycheck.cpp
+++ b/src/libs/installer/productkeycheck.cpp
@@ -88,3 +88,10 @@ bool ProductKeyCheck::isValidLicenseTextFile(const QString &/*fileName*/)
{
return true;
}
+
+
+bool ProductKeyCheck::isValidRepository(const QInstaller::Repository &repository) const
+{
+ Q_UNUSED(repository)
+ return true;
+} \ No newline at end of file
diff --git a/src/libs/installer/productkeycheck.h b/src/libs/installer/productkeycheck.h
index d472d9288..6d72089e2 100644
--- a/src/libs/installer/productkeycheck.h
+++ b/src/libs/installer/productkeycheck.h
@@ -38,6 +38,7 @@
namespace QInstaller{
class PackageManagerCore;
+ class Repository;
}
class ProductKeyCheckPrivate;
@@ -60,6 +61,9 @@ public:
// to filter none valid licenses
bool isValidLicenseTextFile(const QString &fileName);
+ // to filter repositories not matching the license
+ bool isValidRepository(const QInstaller::Repository &repository) const;
+
private:
ProductKeyCheck();
ProductKeyCheckPrivate *const d;
diff --git a/src/sdk/settingsdialog.cpp b/src/sdk/settingsdialog.cpp
index d6dd34e8c..1a7903403 100644
--- a/src/sdk/settingsdialog.cpp
+++ b/src/sdk/settingsdialog.cpp
@@ -45,6 +45,7 @@
#include <kdupdaterfiledownloader.h>
#include <kdupdaterfiledownloaderfactory.h>
#include <packagemanagercore.h>
+#include <productkeycheck.h>
#include <QtCore/QFile>
@@ -572,6 +573,9 @@ void SettingsDialog::setupRepositoriesTreeWidget()
void SettingsDialog::insertRepositories(const QSet<Repository> repos, QTreeWidgetItem *rootItem)
{
rootItem->setFirstColumnSpanned(true);
- foreach (const Repository &repo, repos)
- rootItem->addChild(new RepositoryItem(repo));
+ foreach (const Repository &repo, repos) {
+ RepositoryItem *item = new RepositoryItem(repo);
+ rootItem->addChild(item);
+ item->setHidden(!ProductKeyCheck::instance(m_core)->isValidRepository(repo));
+ }
}