summaryrefslogtreecommitdiffstats
path: root/src/sdk/settingsdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk/settingsdialog.cpp')
-rw-r--r--src/sdk/settingsdialog.cpp67
1 files changed, 39 insertions, 28 deletions
diff --git a/src/sdk/settingsdialog.cpp b/src/sdk/settingsdialog.cpp
index 6025ec475..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>
@@ -54,6 +55,8 @@
#include <QtXml/QDomDocument>
+using namespace QInstaller;
+
// -- TestRepositoryJob
@@ -72,12 +75,12 @@ TestRepository::~TestRepository()
m_downloader->deleteLater();
}
-QInstaller::Repository TestRepository::repository() const
+Repository TestRepository::repository() const
{
return m_repository;
}
-void TestRepository::setRepository(const QInstaller::Repository &repository)
+void TestRepository::setRepository(const Repository &repository)
{
cancel();
@@ -93,13 +96,13 @@ void TestRepository::doStart()
const QUrl url = m_repository.url();
if (url.isEmpty()) {
- emitFinishedWithError(QInstaller::InvalidUrl, tr("Empty repository URL."));
+ emitFinishedWithError(InvalidUrl, tr("Empty repository URL."));
return;
}
m_downloader = KDUpdater::FileDownloaderFactory::instance().create(url.scheme(), this);
if (!m_downloader) {
- emitFinishedWithError(QInstaller::InvalidUrl, tr("URL scheme not supported: %1 (%2).")
+ emitFinishedWithError(InvalidUrl, tr("URL scheme not supported: %1 (%2).")
.arg(url.scheme(), url.toString()));
return;
}
@@ -124,15 +127,20 @@ void TestRepository::doStart()
void TestRepository::doCancel()
{
if (m_downloader) {
+ QString errorString = m_downloader->errorString();
+ if (errorString.isEmpty())
+ errorString = tr("Got a timeout while testing: '%1'").arg(m_repository.displayname());
+ // at the moment the download sends downloadCompleted() if we cancel it, so just
+ disconnect(m_downloader, 0, this, 0);
m_downloader->cancelDownload();
- emitFinishedWithError(KDJob::Canceled, m_downloader->errorString());
+ emitFinishedWithError(KDJob::Canceled, errorString);
}
}
void TestRepository::downloadCompleted()
{
QString errorMsg;
- int error = QInstaller::DownloadError;
+ int error = DownloadError;
if (m_downloader->isDownloaded()) {
QFile file(m_downloader->downloadedFileName());
@@ -140,8 +148,8 @@ void TestRepository::downloadCompleted()
QDomDocument doc;
QString errorMsg;
if (!doc.setContent(&file, &errorMsg)) {
- error = QInstaller::InvalidUpdatesXml;
- errorMsg = tr("Could not parse Updates.xml! Error: %1.");
+ error = InvalidUpdatesXml;
+ errorMsg = tr("Could not parse Updates.xml! Error: %1.").arg(errorMsg);
} else {
error = NoError;
}
@@ -163,7 +171,7 @@ void TestRepository::downloadCompleted()
void TestRepository::downloadAborted(const QString &reason)
{
- emitFinishedWithError(QInstaller::DownloadError, reason);
+ emitFinishedWithError(DownloadError, reason);
}
void TestRepository::onAuthenticatorChanged(const QAuthenticator &authenticator)
@@ -214,7 +222,7 @@ RepositoryItem::RepositoryItem(const QString &label)
m_repo = QInstaller::Repository(QUrl(), true);
}
-RepositoryItem::RepositoryItem(const QInstaller::Repository &repo)
+RepositoryItem::RepositoryItem(const Repository &repo)
: QTreeWidgetItem(QTreeWidgetItem::UserType)
, m_repo(repo)
{
@@ -302,9 +310,9 @@ void RepositoryItem::setData(int column, int role, const QVariant &value)
QTreeWidgetItem::setData(column, role, value);
}
-QSet<QInstaller::Repository> RepositoryItem::repositories() const
+QSet<Repository> RepositoryItem::repositories() const
{
- QSet<QInstaller::Repository> set;
+ QSet<Repository> set;
for (int i = 0; i < childCount(); ++i) {
if (QTreeWidgetItem *item = child(i)) {
if (item->type() == QTreeWidgetItem::UserType) {
@@ -319,7 +327,7 @@ QSet<QInstaller::Repository> RepositoryItem::repositories() const
// -- SettingsDialog
-SettingsDialog::SettingsDialog(QInstaller::PackageManagerCore *core, QWidget *parent)
+SettingsDialog::SettingsDialog(PackageManagerCore *core, QWidget *parent)
: QDialog(parent)
, m_ui(new Ui::SettingsDialog)
, m_core(core)
@@ -328,15 +336,15 @@ SettingsDialog::SettingsDialog(QInstaller::PackageManagerCore *core, QWidget *pa
m_ui->setupUi(this);
setupRepositoriesTreeWidget();
- const QInstaller::Settings &settings = m_core->settings();
+ const Settings &settings = m_core->settings();
switch (settings.proxyType()) {
- case QInstaller::Settings::NoProxy:
+ case Settings::NoProxy:
m_ui->m_noProxySettings->setChecked(true);
break;
- case QInstaller::Settings::SystemProxy:
+ case Settings::SystemProxy:
m_ui->m_systemProxySettings->setChecked(true);
break;
- case QInstaller::Settings::UserDefinedProxy:
+ case Settings::UserDefinedProxy:
m_ui->m_manualProxySettings->setChecked(true);
break;
default:
@@ -381,8 +389,8 @@ SettingsDialog::SettingsDialog(QInstaller::PackageManagerCore *core, QWidget *pa
void SettingsDialog::accept()
{
bool settingsChanged = false;
- QInstaller::Settings newSettings;
- const QInstaller::Settings &settings = m_core->settings();
+ Settings newSettings;
+ const Settings &settings = m_core->settings();
// set possible updated default repositories
newSettings.setDefaultRepositories((dynamic_cast<RepositoryItem*> (m_rootItems.at(0)))->repositories());
@@ -399,14 +407,14 @@ void SettingsDialog::accept()
settingsChanged |= (settings.userRepositories() != newSettings.userRepositories());
// update proxy type
- newSettings.setProxyType(QInstaller::Settings::NoProxy);
+ newSettings.setProxyType(Settings::NoProxy);
if (m_ui->m_systemProxySettings->isChecked())
- newSettings.setProxyType(QInstaller::Settings::SystemProxy);
+ newSettings.setProxyType(Settings::SystemProxy);
else if (m_ui->m_manualProxySettings->isChecked())
- newSettings.setProxyType(QInstaller::Settings::UserDefinedProxy);
+ newSettings.setProxyType(Settings::UserDefinedProxy);
settingsChanged |= settings.proxyType() != newSettings.proxyType();
- if (newSettings.proxyType() == QInstaller::Settings::UserDefinedProxy) {
+ if (newSettings.proxyType() == Settings::UserDefinedProxy) {
// update ftp proxy settings
newSettings.setFtpProxy(QNetworkProxy(QNetworkProxy::HttpProxy, m_ui->m_ftpProxy->text(),
m_ui->m_ftpProxyPort->value(), m_ui->m_ftpProxyUser->text(), m_ui->m_ftpProxyPass->text()));
@@ -436,7 +444,7 @@ void SettingsDialog::addRepository()
}
if (parent) {
- QInstaller::Repository repository;
+ Repository repository;
repository.setEnabled(true);
RepositoryItem *item = new RepositoryItem(repository);
parent->insertChild(index, item);
@@ -537,7 +545,7 @@ void SettingsDialog::setupRepositoriesTreeWidget()
m_rootItems.append(new RepositoryItem(tr("User defined repositories")));
treeWidget->addTopLevelItems(m_rootItems);
- const QInstaller::Settings &settings = m_core->settings();
+ const Settings &settings = m_core->settings();
insertRepositories(settings.userRepositories(), m_rootItems.at(2));
insertRepositories(settings.defaultRepositories(), m_rootItems.at(0));
insertRepositories(settings.temporaryRepositories(), m_rootItems.at(1));
@@ -562,9 +570,12 @@ void SettingsDialog::setupRepositoriesTreeWidget()
m_delegate->disableEditing(false);
}
-void SettingsDialog::insertRepositories(const QSet<QInstaller::Repository> repos, QTreeWidgetItem *rootItem)
+void SettingsDialog::insertRepositories(const QSet<Repository> repos, QTreeWidgetItem *rootItem)
{
rootItem->setFirstColumnSpanned(true);
- foreach (const QInstaller::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));
+ }
}