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(setWindowTitle(const QString &)));
21 connect(import, SIGNAL(clicked()), SLOT(importSchedule()));
22 connect(search, SIGNAL(clicked()), SLOT(searchSchedule()));
24 import->setEnabled(false);
27 ImportScheduleWidget::~ImportScheduleWidget()
36 void ImportScheduleWidget::setSqlEngine(SqlEngine *aSqlEngine)
38 Q_ASSERT(aSqlEngine != NULL);
40 mSqlEngine = aSqlEngine;
43 void ImportScheduleWidget::showParsingProgress(int progress)
45 progressBar->setValue(progress);
48 void ImportScheduleWidget::searchSchedule()
50 Q_ASSERT(mSqlEngine != NULL);
52 mScheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)"));
53 if(QFile::exists(mScheduleFileName))
54 import->setEnabled(true);
57 import->setEnabled(false);
62 void ImportScheduleWidget::importSchedule()
66 qDebug() << "ImportScheduleWidget::importSchedule(): sqlEngine not set";
70 QFile file(mScheduleFileName);
71 if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
73 qDebug() << "can't open " << file.fileName();
77 QByteArray data = file.readAll();
79 int confId = mXmlParser->parseData(data,mSqlEngine);
82 import->setEnabled(false);
85 emit(scheduleImported(confId));