From 5236d1a186661d7373063dfd606bd822b29754d7 Mon Sep 17 00:00:00 2001 From: kh1 Date: Thu, 26 Apr 2012 17:31:02 +0200 Subject: Implememt a way to ask for and save user authentication settings. Change-Id: If1fa6bbcb8cd0d3da08f33f96b52589251f9cffc Reviewed-by: Niels Weber Reviewed-by: Tim Jenssen --- src/sdk/settingsdialog.cpp | 14 ++++++++++++++ src/sdk/settingsdialog.h | 3 +++ 2 files changed, 17 insertions(+) (limited to 'src/sdk') 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 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; -- cgit v1.2.3