From b86d4aaf322d4f073bd33dd09df2ad4e05b9649a Mon Sep 17 00:00:00 2001 From: pavelpa Date: Tue, 26 Jan 2010 14:11:04 +0000 Subject: [PATCH] reimplemented 'import schedule' --- src/gui/importschedulewidget.cpp | 60 +++++++++++++--------------- src/gui/importschedulewidget.h | 5 +-- src/gui/importschedulewidget.ui | 68 +++++++++++++------------------- src/gui/mainwindow.cpp | 2 + 4 files changed, 59 insertions(+), 76 deletions(-) diff --git a/src/gui/importschedulewidget.cpp b/src/gui/importschedulewidget.cpp index 20d48ac..c23ee88 100644 --- a/src/gui/importschedulewidget.cpp +++ b/src/gui/importschedulewidget.cpp @@ -16,12 +16,10 @@ ImportScheduleWidget::ImportScheduleWidget(QWidget *aParent) mXmlParser = new ScheduleXmlParser(this); connect(mXmlParser, SIGNAL(progressStatus(int)), SLOT(showParsingProgress(int))); - connect(mXmlParser, SIGNAL(parsingSchedule(const QString &)), SLOT(setWindowTitle(const QString &))); + connect(mXmlParser, SIGNAL(parsingSchedule(const QString &)), SLOT(parsingSchedule(const QString &))); - connect(import, SIGNAL(clicked()), SLOT(importSchedule())); - connect(search, SIGNAL(clicked()), SLOT(searchSchedule())); + connect(browse, SIGNAL(clicked()), SLOT(browseSchedule())); progressBar->hide(); - import->setEnabled(false); } ImportScheduleWidget::~ImportScheduleWidget() @@ -40,48 +38,44 @@ void ImportScheduleWidget::setSqlEngine(SqlEngine *aSqlEngine) mSqlEngine = aSqlEngine; } +void ImportScheduleWidget::parsingSchedule(const QString &aTitle) +{ + importScheduleLabel->setText("Importing: " + aTitle); +} + void ImportScheduleWidget::showParsingProgress(int progress) { progressBar->setValue(progress); } -void ImportScheduleWidget::searchSchedule() +void ImportScheduleWidget::browseSchedule() { Q_ASSERT(mSqlEngine != NULL); - mScheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)")); - if(QFile::exists(mScheduleFileName)) - import->setEnabled(true); - else + QString scheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)")); + if(QFile::exists(scheduleFileName)) { - import->setEnabled(false); + QFile file(scheduleFileName); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + qDebug() << "can't open " << file.fileName(); + return; + } + + QByteArray data = file.readAll(); + browse->hide(); + progressBar->show(); + int confId = mXmlParser->parseData(data,mSqlEngine); + progressBar->hide(); - } -} + browse->show(); + importScheduleLabel->setText("Import schedule: "); -void ImportScheduleWidget::importSchedule() -{ - if(!mSqlEngine) - { - qDebug() << "ImportScheduleWidget::importSchedule(): sqlEngine not set"; - return; + emit(scheduleImported(confId)); } - - QFile file(mScheduleFileName); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + else { - qDebug() << "can't open " << file.fileName(); - return; + progressBar->hide(); } - - QByteArray data = file.readAll(); - progressBar->show(); - int confId = mXmlParser->parseData(data,mSqlEngine); - - // hide stuff - import->setEnabled(false); - progressBar->hide(); - - emit(scheduleImported(confId)); } diff --git a/src/gui/importschedulewidget.h b/src/gui/importschedulewidget.h index b9d8a1e..71a76fa 100644 --- a/src/gui/importschedulewidget.h +++ b/src/gui/importschedulewidget.h @@ -15,15 +15,14 @@ class ImportScheduleWidget : public QWidget, Ui::ImportScheduleWidget ~ImportScheduleWidget(); void setSqlEngine(SqlEngine *aSqlEngine); private slots: - void searchSchedule(); - void importSchedule(); + void browseSchedule(); + void parsingSchedule(const QString &aTitle); void showParsingProgress(int progress); signals: void scheduleImported(int confId); private: ScheduleXmlParser *mXmlParser; SqlEngine *mSqlEngine; // uses it - QString mScheduleFileName; }; #endif /* IMPORTSCHEDULEWIDGET_H */ diff --git a/src/gui/importschedulewidget.ui b/src/gui/importschedulewidget.ui index bf76875..e746ebf 100644 --- a/src/gui/importschedulewidget.ui +++ b/src/gui/importschedulewidget.ui @@ -6,7 +6,7 @@ 0 0 379 - 82 + 48 @@ -20,7 +20,33 @@ - + + + + + + 0 + 0 + + + + Import schedule: + + + + + + + + 0 + 0 + + + + Browse + + + @@ -31,44 +57,6 @@ - - - - - - Import schedule: - - - - - - - Search - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Import - - - - - diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 118b823..d7d3fec 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -44,6 +44,8 @@ MainWindow::MainWindow(int aEventId, QWidget *aParent) { if(AppSettings::confId() == 0) AppSettings::setConfId(confs[0].id()); + + setWindowTitle(confs[0].title()); } connect(importScheduleWidget, SIGNAL(scheduleImported(int)), SLOT(scheduleImported(int))); -- 2.39.5