From d3367301304d58aff645c7d28ea8f2211ffbfceb Mon Sep 17 00:00:00 2001 From: pavelpa Date: Thu, 21 Jan 2010 22:28:04 +0000 Subject: [PATCH 1/1] modifications to import-schedule dialog - closed automatically after parsing/importing schedule --- src/gui/importscheduledialog.cpp | 6 ++-- src/gui/importscheduledialog.ui | 48 ++++++++++---------------------- src/sql/schedulexmlparser.cpp | 1 + src/sql/schedulexmlparser.h | 1 + 4 files changed, 21 insertions(+), 35 deletions(-) diff --git a/src/gui/importscheduledialog.cpp b/src/gui/importscheduledialog.cpp index c42d18d..a87f36f 100644 --- a/src/gui/importscheduledialog.cpp +++ b/src/gui/importscheduledialog.cpp @@ -15,7 +15,9 @@ ImportScheduleDialog::ImportScheduleDialog(SqlEngine *aSqlEngine, QWidget *aPare setupUi(this); mXmlParser = new ScheduleXmlParser(this); - connect(mXmlParser, SIGNAL(progressStatus(int)), this, SLOT(showParsingProgress(int))); + connect(mXmlParser, SIGNAL(progressStatus(int)), SLOT(showParsingProgress(int))); + connect(mXmlParser, SIGNAL(parsingSchedule(const QString &)), SLOT(setWindowTitle(const QString &))); + connect(import, SIGNAL(clicked()), SLOT(importSchedule())); connect(search, SIGNAL(clicked()), SLOT(searchSchedule())); progressBar->hide(); @@ -39,7 +41,6 @@ void ImportScheduleDialog::showParsingProgress(int progress) void ImportScheduleDialog::searchSchedule() { mScheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)")); - fileName->setText(mScheduleFileName); if(QFile::exists(mScheduleFileName)) import->setEnabled(true); else @@ -63,6 +64,7 @@ void ImportScheduleDialog::importSchedule() { progressBar->show(); mXmlParser->parseData(data,mSqlEngine); + close(); } } diff --git a/src/gui/importscheduledialog.ui b/src/gui/importscheduledialog.ui index d7771a5..cea270f 100644 --- a/src/gui/importscheduledialog.ui +++ b/src/gui/importscheduledialog.ui @@ -5,47 +5,22 @@ 0 0 - 408 - 118 + 330 + 74 + + + 0 + 0 + + Import schedule - - - - - - Select conference schedule file - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Search - - - - - @@ -58,6 +33,13 @@ + + + + Search + + + diff --git a/src/sql/schedulexmlparser.cpp b/src/sql/schedulexmlparser.cpp index 88c4686..01ddeb5 100644 --- a/src/sql/schedulexmlparser.cpp +++ b/src/sql/schedulexmlparser.cpp @@ -40,6 +40,7 @@ void ScheduleXmlParser::parseData(const QByteArray &aData, SqlEngine *aDBEngine) conference["timeslot_duration"] = conferenceElement.firstChildElement("timeslot_duration").text(); // time aDBEngine->addConferenceToDB(conference); confId = conference["id"].toInt(); + emit(parsingSchedule(conference["title"])); } // we need to get count of all events in order to emit 'progressStatus' signal diff --git a/src/sql/schedulexmlparser.h b/src/sql/schedulexmlparser.h index 13df2a9..f5ecfb5 100644 --- a/src/sql/schedulexmlparser.h +++ b/src/sql/schedulexmlparser.h @@ -16,6 +16,7 @@ class ScheduleXmlParser : public QObject signals: void progressStatus(int aStatus); + void parsingSchedule(const QString &aTitle); }; #endif /* SCHEDULEXMLPARSER_H_ */ -- 2.30.2