#include "importschedulewidget.h"
#include <schedulexmlparser.h>
+#include "proxysettingsdialog.h"
#include <QDir>
#include <QFile>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QDebug>
+#include <appsettings.h>
const QString SCHEDULE_URL = "http://fosdem.org/2010/schedule/xml";
+const QString PROXY_USERNAME;
+const QString PROXY_PASSWD;
+
ImportScheduleWidget::ImportScheduleWidget(QWidget *aParent)
: QWidget(aParent)
{
importAction->hide();
connect(online, SIGNAL(clicked()), SLOT(downloadSchedule()));
+ connect(proxySettings, SIGNAL(clicked()), SLOT(setupProxy()));
mNetworkAccessManager = new QNetworkAccessManager(this);
connect(mNetworkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkQueryFinished(QNetworkReply*)));
mNetworkAccessManager->setProxy(QNetworkProxy::applicationProxy());
void ImportScheduleWidget::networkQueryFinished(QNetworkReply *aReply)
{
- qDebug() << "ImportScheduleWidget::networkQueryFinished()";
-
if ( aReply->error() != QNetworkReply::NoError )
{
qDebug() << "Error occured during download: " << aReply->errorString();
void ImportScheduleWidget::downloadSchedule()
{
- qDebug() << "downloading schedule";
-
QNetworkRequest request;
request.setUrl(QUrl(SCHEDULE_URL));
mNetworkAccessManager->get(request);
browse->hide();
online->hide();
progressBar->show();
+ proxySettings->hide();
int confId = mXmlParser->parseData(aData);
progressBar->hide();
browse->show();
online->show();
+ proxySettings->show();
importScheduleLabel->setText("Import schedule: ");
emit(scheduleImported(confId));
}
+void ImportScheduleWidget::setupProxy()
+{
+ ProxySettingsDialog dialog;
+ dialog.exec();
+
+ qDebug() << "Setting-up proxy: " << AppSettings::proxyAddress() << ":" << AppSettings::proxyPort();
+ QNetworkProxy proxy(
+ AppSettings::isDirectConnection() ? QNetworkProxy::NoProxy : QNetworkProxy::HttpProxy,
+ AppSettings::proxyAddress(),
+ AppSettings::proxyPort(),
+ PROXY_USERNAME,
+ PROXY_PASSWD);
+ QNetworkProxy::setApplicationProxy(proxy);
+
+ mNetworkAccessManager->setProxy(QNetworkProxy::applicationProxy());
+}
+