import/search schedule dialog implemented
authorpavelpa <pavelpa@localhost>
Thu, 21 Jan 2010 14:41:03 +0000 (14:41 +0000)
committerpavelpa <pavelpa@localhost>
Thu, 21 Jan 2010 14:41:03 +0000 (14:41 +0000)
src/gui/gui.pro
src/gui/mainwindow.cpp
src/gui/mainwindow.h
src/orm/ormrecord.h
src/sql/sqlengine.cpp

index a5389f2..2f5abf9 100644 (file)
@@ -25,17 +25,20 @@ maemo {
 
 FORMS += mainwindow.ui \
          daynavigatorwidget.ui \
+         importscheduledialog.ui \
          about.ui \
          eventdialog.ui \
          mapwindow.ui
 
 HEADERS += mainwindow.h \
            daynavigatorwidget.h \
+           importscheduledialog.h \
            eventdialog.h \
            mapwindow.h
 
 SOURCES += mainwindow.cpp \
            daynavigatorwidget.cpp \
+           importscheduledialog.cpp \
            eventdialog.cpp \
            mapwindow.cpp
 
index dd21ee9..7f2da94 100644 (file)
@@ -4,7 +4,6 @@
 #include <QDirModel>
 
 #include <sqlengine.h>
-#include <schedulexmlparser.h>
 
 #include <track.h>
 #include <eventmodel.h>
@@ -16,6 +15,7 @@
 #include "ui_about.h"
 #include "eventdialog.h"
 #include "daynavigatorwidget.h"
+#include "importscheduledialog.h"
 #include "mapwindow.h"
 
 const int confId = 1;
@@ -35,10 +35,6 @@ MainWindow::MainWindow(int aEventId, QWidget *aParent)
     mSqlEngine = new SqlEngine(this);
     mSqlEngine->initialize();
 
-    mXmlParser = new ScheduleXmlParser(this);
-    connect(mXmlParser, SIGNAL(progressStatus(int)), this, SLOT(showParsingProgress(int)));
-    statusBar()->showMessage(tr("Ready"));
-
     //update track map
     Track::updateTrackMap();
 
@@ -140,25 +136,13 @@ MainWindow::~MainWindow()
         delete mSqlEngine;
         mSqlEngine = NULL;
     }
-    if(mXmlParser)
-    {
-        delete mXmlParser;
-        mXmlParser = NULL;
-    }
 }
 
 void MainWindow::importSchedule()
 {
-    QFile file(":/schedule.en.xml");
-    if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
-    {
-        qDebug() << "can't open " << file.fileName();
-        return;
-    }
-
-    QByteArray data = file.readAll();
-    mXmlParser->parseData(data,mSqlEngine);
-
+    ImportScheduleDialog dialog(mSqlEngine,this);
+    dialog.exec();
+    
     if(Conference::getAll().count())
     {
         // 'dayNavigator' emits signal 'dateChanged' after setting valid START:END dates
@@ -171,12 +155,6 @@ void MainWindow::importSchedule()
     }
 }
 
-void MainWindow::showParsingProgress(int aStatus)
-{
-    QString msg = QString("Parsing completed: %1\%").arg(aStatus);
-    statusBar()->showMessage(msg,1000);
-}
-
 void MainWindow::aboutApp()
 {
     QDialog dialog(this);
index 19410cf..dd9e24e 100644 (file)
@@ -6,7 +6,6 @@
 #include <ui_mainwindow.h>
 
 class SqlEngine;
-class ScheduleXmlParser;
 
 class MainWindow : public QMainWindow, private Ui::MainWindow
 {
@@ -18,7 +17,6 @@ public:
     ~MainWindow();
 private slots:
     void importSchedule();
-    void showParsingProgress(int aStatus);
     void aboutApp();
     void updateDayView(const QDate &aDate);
     void updateTab(const int n);
@@ -30,7 +28,6 @@ private slots:
     void searchClicked();
 private:
     SqlEngine *mSqlEngine;
-    ScheduleXmlParser *mXmlParser;
 };
 
 #endif // MAINWINDOW_H
index 3667315..d25553b 100644 (file)
@@ -134,7 +134,7 @@ QList<T> OrmRecord<T>::load(QSqlQuery query)
         }
         else
         {
-            qDebug() << "SQL OK";
+            //qDebug() << "SQL OK";
         }
     }
 
@@ -143,7 +143,7 @@ QList<T> OrmRecord<T>::load(QSqlQuery query)
     {
         objects << hydrate(query.record());
     }
-    qDebug() << "Fetch done";
+    //qDebug() << "Fetch done";
     return objects;
 }
 
index 94eafd8..c369256 100644 (file)
@@ -127,7 +127,6 @@ void SqlEngine::addEventToDB(QHash<QString,QString> &aEvent)
         result.bindValue(2,aEvent["subtitle"]);
         result.bindValue(3,aEvent["abstract"]);
         result.bindValue(4,aEvent["description"]);
-        qDebug() << result.lastQuery();
         result.exec();
     }
 }
@@ -247,7 +246,7 @@ bool SqlEngine::createTables(QSqlDatabase &aDatabase)
             favourite INTEGER DEFAULT 0, \
             alarm INTEGER DEFAULT 0, \
             PRIMARY KEY (xid_conference,id), \
-            FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) \
+            FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id), \
             FOREIGN KEY(xid_track) REFERENCES TRACK(id))");
 
         query.exec("CREATE TABLE EVENT_PERSON ( \