diff options
author | kh1 <karsten.heimrich@digia.com> | 2013-08-07 15:47:00 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@digia.com> | 2013-08-08 12:43:15 +0200 |
commit | c0cee088ebe9b1265200dbf74a26e1685c48e4f7 (patch) | |
tree | a975ce5187c6ef509a991d3f755ca6b9f3721841 | |
parent | 00cd66ac09767d066ab88346a9107e04197658f0 (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.cpp | 4 | ||||
-rw-r--r-- | src/libs/installer/productkeycheck.cpp | 7 | ||||
-rw-r--r-- | src/libs/installer/productkeycheck.h | 4 | ||||
-rw-r--r-- | src/sdk/settingsdialog.cpp | 8 |
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)); + } } |