1 #include "mainwindow.h"
7 #include <schedulexmlparser.h>
9 #include <eventmodel.h>
15 MainWindow::MainWindow(QWidget *parent)
20 // connect Menu actions
21 connect(actionImportSchedule, SIGNAL(triggered()), SLOT(importSchedule()));
22 connect(actionAboutQt, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
23 connect(actionAboutApplication, SIGNAL(triggered()), SLOT(aboutApp()));
25 // create "SQLITE" DB instance/connection
26 // opens DB connection (needed for EventModel)
27 mSqlEngine = new SqlEngine(this);
28 mSqlEngine->initialize();
30 mXmlParser = new ScheduleXmlParser(this);
31 connect(mXmlParser, SIGNAL(progressStatus(int)), this, SLOT(showParsingProgress(int)));
32 statusBar()->showMessage(tr("Ready"));
34 treeView->setHeaderHidden(true);
35 treeView->setRootIsDecorated(false);
36 treeView->setIndentation(0);
37 treeView->setAnimated(true);
38 treeView->setModel(new EventModel());
39 treeView->setItemDelegate(new Delegate(treeView));
42 MainWindow::~MainWindow()
56 void MainWindow::importSchedule()
58 QFile file("../schedule.en.xml");
59 if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
61 qDebug() << "can't open " << file.fileName();
65 QByteArray data = file.readAll();
66 mXmlParser->parseData(data,mSqlEngine);
67 static_cast<EventModel*>(treeView->model())->loadEvents();
71 void MainWindow::showParsingProgress(int aStatus)
73 QString msg = QString("Parsing completed: %1\%").arg(aStatus);
74 statusBar()->showMessage(msg,1000);
77 void MainWindow::aboutApp()