1 #include "importschedulewidget.h"
3 #include <schedulexmlparser.h>
11 ImportScheduleWidget::ImportScheduleWidget(QWidget *aParent)
17 mXmlParser = new ScheduleXmlParser(this);
18 connect(mXmlParser, SIGNAL(progressStatus(int)), SLOT(showParsingProgress(int)));
19 connect(mXmlParser, SIGNAL(parsingSchedule(const QString &)), SLOT(parsingSchedule(const QString &)));
21 connect(browse, SIGNAL(clicked()), SLOT(browseSchedule()));
25 ImportScheduleWidget::~ImportScheduleWidget()
34 void ImportScheduleWidget::setSqlEngine(SqlEngine *aSqlEngine)
36 Q_ASSERT(aSqlEngine != NULL);
38 mSqlEngine = aSqlEngine;
41 void ImportScheduleWidget::parsingSchedule(const QString &aTitle)
43 importScheduleLabel->setText("Importing: " + aTitle);
46 void ImportScheduleWidget::showParsingProgress(int progress)
48 progressBar->setValue(progress);
51 void ImportScheduleWidget::browseSchedule()
53 Q_ASSERT(mSqlEngine != NULL);
55 QString scheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)"));
56 if(QFile::exists(scheduleFileName))
58 QFile file(scheduleFileName);
59 if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
61 qDebug() << "can't open " << file.fileName();
65 QByteArray data = file.readAll();
68 int confId = mXmlParser->parseData(data,mSqlEngine);
72 importScheduleLabel->setText("Import schedule: ");
74 emit(scheduleImported(confId));