summaryrefslogtreecommitdiffstats
path: root/src/sdk
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk')
-rw-r--r--src/sdk/settingsdialog.cpp14
-rw-r--r--src/sdk/settingsdialog.h3
2 files changed, 17 insertions, 0 deletions
diff --git a/src/sdk/settingsdialog.cpp b/src/sdk/settingsdialog.cpp
index b3508e169..9f705b41a 100644
--- a/src/sdk/settingsdialog.cpp
+++ b/src/sdk/settingsdialog.cpp
@@ -63,6 +63,11 @@ TestRepository::~TestRepository()
m_downloader->deleteLater();
}
+QInstaller::Repository TestRepository::repository() const
+{
+ return m_repository;
+}
+
void TestRepository::setRepository(const QInstaller::Repository &repository)
{
cancel();
@@ -98,6 +103,8 @@ void TestRepository::doStart()
connect(m_downloader, SIGNAL(downloadCompleted()), this, SLOT(downloadCompleted()));
connect(m_downloader, SIGNAL(downloadAborted(QString)), this, SLOT(downloadAborted(QString)),
Qt::QueuedConnection);
+ connect(m_downloader, SIGNAL(authenticatorChanged(QAuthenticator)), this,
+ SLOT(onAuthenticatorChanged(QAuthenticator)));
m_downloader->setAutoRemoveDownloadedFile(true);
m_downloader->setUrl(QUrl(url.toString() + QString::fromLatin1("/Updates.xml")));
@@ -150,6 +157,12 @@ void TestRepository::downloadAborted(const QString &reason)
emitFinishedWithError(QInstaller::DownloadError, reason);
}
+void TestRepository::onAuthenticatorChanged(const QAuthenticator &authenticator)
+{
+ m_repository.setUsername(authenticator.user());
+ m_repository.setPassword(authenticator.password());
+}
+
// -- PasswordDelegate
@@ -431,6 +444,7 @@ void SettingsDialog::testRepository()
m_testRepository.setRepository(current->repository());
m_testRepository.start();
m_testRepository.waitForFinished();
+ current->setRepository(m_testRepository.repository());
if (m_testRepository.error() > KDJob::NoError) {
QMessageBox msgBox(this);
diff --git a/src/sdk/settingsdialog.h b/src/sdk/settingsdialog.h
index a222ecf87..85fa2f26a 100644
--- a/src/sdk/settingsdialog.h
+++ b/src/sdk/settingsdialog.h
@@ -42,6 +42,7 @@
#include <QtGui/QTreeWidgetItem>
QT_BEGIN_NAMESPACE
+class QAuthenticator;
class QLocale;
class QVariant;
QT_END_NAMESPACE
@@ -70,6 +71,7 @@ public:
TestRepository(QObject *parent = 0);
~TestRepository();
+ QInstaller::Repository repository() const;
void setRepository(const QInstaller::Repository &repository);
private:
@@ -79,6 +81,7 @@ private:
private Q_SLOTS:
void downloadCompleted();
void downloadAborted(const QString &reason);
+ void onAuthenticatorChanged(const QAuthenticator &authenticator);
private:
QInstaller::Repository m_repository;