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 a5389f2885eec6ab22fc8713119e6b3401e05ec0..2f5abf9e389eb6a18983b46dc3d9172c0469dc13 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 dd21ee9c8314794dd2042293dc406ef77b367148..7f2da94faaf904b3e28c0d6d6bfdbaa7bb1e9540 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 19410cfbf8e3d05099fb3e6eadec0af204e96935..dd9e24e6aea2e8a8a72a1ef3827a5eed3299ecd1 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 3667315be97e5b3f3188bff83adc44dbdca2899c..d25553bd99f4128748303e7d2fb843c65ce8047d 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 94eafd8269a1b5cb17ccabbe50c5356e6818d6cc..c36925629f5e15a398d89dc9c9859d8bf320aeb1 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 ( \