Changeset 3a8dc71
- Timestamp:
- 01/26/10 20:30:45 (13 years ago)
- Branches:
- master, qt5
- Children:
- 336fa33
- Parents:
- 05afe5f
- Location:
- src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
src/app/main.cpp
r05afe5f r3a8dc71 16 16 QApplication::setWindowIcon(QIcon(":/icons/fosdem.png")); 17 17 18 SqlEngine::initialize(); // creates DB connection18 SqlEngine::initialize(); // creates "SQLITE" DB connection 19 19 20 20 QWidget *window; -
src/gui/importschedulewidget.cpp
r05afe5f r3a8dc71 2 2 3 3 #include <schedulexmlparser.h> 4 #include <sqlengine.h>5 4 6 5 #include <QDir> … … 11 10 ImportScheduleWidget::ImportScheduleWidget(QWidget *aParent) 12 11 : QWidget(aParent) 13 , mSqlEngine(NULL)14 12 { 15 13 setupUi(this); … … 32 30 } 33 31 34 void ImportScheduleWidget::setSqlEngine(SqlEngine *aSqlEngine)35 {36 Q_ASSERT(aSqlEngine != NULL);37 38 mSqlEngine = aSqlEngine;39 }40 41 32 void ImportScheduleWidget::parsingSchedule(const QString &aTitle) 42 33 { … … 51 42 void ImportScheduleWidget::browseSchedule() 52 43 { 53 Q_ASSERT(mSqlEngine != NULL);54 55 44 QString scheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)")); 56 45 if(QFile::exists(scheduleFileName)) … … 66 55 browse->hide(); 67 56 progressBar->show(); 68 int confId = mXmlParser->parseData(data ,mSqlEngine);57 int confId = mXmlParser->parseData(data); 69 58 70 59 progressBar->hide(); -
src/gui/importschedulewidget.h
r05afe5f r3a8dc71 6 6 7 7 class ScheduleXmlParser; 8 class SqlEngine;9 8 10 9 class ImportScheduleWidget : public QWidget, Ui::ImportScheduleWidget … … 12 11 Q_OBJECT 13 12 public: 14 ImportScheduleWidget(QWidget *aParent = NULL); // don't forget to use setSqlEngine()13 ImportScheduleWidget(QWidget *aParent = NULL); 15 14 ~ImportScheduleWidget(); 16 void setSqlEngine(SqlEngine *aSqlEngine);17 15 private slots: 18 16 void browseSchedule(); … … 23 21 private: 24 22 ScheduleXmlParser *mXmlParser; 25 SqlEngine *mSqlEngine; // uses it26 23 }; 27 24 -
src/gui/mainwindow.cpp
r05afe5f r3a8dc71 27 27 { 28 28 setupUi(this); 29 30 // create "SQLITE" DB instance/connection31 // opens DB connection (needed for EventModel)32 mSqlEngine = new SqlEngine(this);33 //mSqlEngine->initialize();34 importScheduleWidget->setSqlEngine(mSqlEngine);35 29 36 30 // Sanity check for existence of any Conference in the DB … … 127 121 } 128 122 129 MainWindow::~MainWindow()130 {131 if(mSqlEngine)132 {133 delete mSqlEngine;134 mSqlEngine = NULL;135 }136 }137 138 123 void MainWindow::scheduleImported(int aConfId) 139 124 { … … 204 189 QString keyword = searchEdit->text().replace( QString("%"), QString("\\%") ); 205 190 qDebug() << "\nKeyword to search: " << keyword; 206 mSqlEngine->searchEvent( AppSettings::confId(), columns, keyword );191 SqlEngine::searchEvent( AppSettings::confId(), columns, keyword ); 207 192 208 193 QDate aStartDate = Conference::getById(AppSettings::confId()).start(); -
src/gui/mainwindow.h
r05afe5f r3a8dc71 5 5 6 6 #include <ui_mainwindow.h> 7 8 class SqlEngine;9 7 10 8 class MainWindow : public QMainWindow, private Ui::MainWindow … … 15 13 // Event dialog for given Event ID 16 14 MainWindow(int aEventId = 0, QWidget *aParent = NULL); 17 ~MainWindow() ;15 ~MainWindow() {} 18 16 private slots: 19 17 void scheduleImported(int aConfId); … … 24 22 void conferenceMapClicked(); 25 23 void eventHasChanged(int aEventId); 26 private:27 SqlEngine *mSqlEngine;28 24 }; 29 25 -
src/sql/schedulexmlparser.cpp
r05afe5f r3a8dc71 13 13 } 14 14 15 int ScheduleXmlParser::parseData(const QByteArray &aData , SqlEngine *aDBEngine)15 int ScheduleXmlParser::parseData(const QByteArray &aData) 16 16 { 17 Q_ASSERT(NULL != aDBEngine);18 19 17 QDomDocument document; 20 18 document.setContent (aData, false); … … 39 37 conference["day_change"] = conferenceElement.firstChildElement("day_change").text(); // time 40 38 conference["timeslot_duration"] = conferenceElement.firstChildElement("timeslot_duration").text(); // time 41 aDBEngine->addConferenceToDB(conference);39 SqlEngine::addConferenceToDB(conference); 42 40 confId = conference["id"].toInt(); 43 41 emit(parsingSchedule(conference["title"])); … … 78 76 room["conference_id"] = QString::number(confId,10); 79 77 room["picture"] = "NOT DEFINED YET"; // TODO: implement some mapping to assign correct picture to specified room_name 80 aDBEngine->addRoomToDB(room);78 SqlEngine::addRoomToDB(room); 81 79 82 80 // process event's nodes … … 96 94 event["abstract"] = eventElement.firstChildElement("abstract").text(); // string 97 95 event["description"] = eventElement.firstChildElement("description").text(); // string 98 aDBEngine->addEventToDB(event);96 SqlEngine::addEventToDB(event); 99 97 // process persons' nodes 100 98 QList<QString> persons; … … 108 106 person["conference_id"] = QString::number(confId, 10); 109 107 //qDebug() << "adding Person: " << person["name"]; 110 aDBEngine->addPersonToDB(person);108 SqlEngine::addPersonToDB(person); 111 109 } 112 110 // process links' nodes … … 119 117 link["event_id"] = eventElement.attribute("id"); 120 118 link["conference_id"] = QString::number(confId, 10); 121 aDBEngine->addLinkToDB(link);119 SqlEngine::addLinkToDB(link); 122 120 } 123 121 // emit signal to inform the user about the current status (how many events are parsed so far - expressed in %) -
src/sql/schedulexmlparser.h
r05afe5f r3a8dc71 3 3 4 4 #include <QObject> 5 6 class SqlEngine;7 5 8 6 class ScheduleXmlParser : public QObject … … 13 11 14 12 public slots: 15 int parseData(const QByteArray &aData , SqlEngine *aDBEngine); // returns 'confId' of parsed conference schedule13 int parseData(const QByteArray &aData); // returns 'confId' of parsed conference schedule 16 14 17 15 signals: -
src/sql/sqlengine.h
r05afe5f r3a8dc71 14 14 ~SqlEngine(); 15 15 static void initialize(); 16 void addConferenceToDB(QHash<QString,QString> &aConference);17 void addEventToDB(QHash<QString,QString> &aEvent);18 void addPersonToDB(QHash<QString,QString> &aPerson);19 void addLinkToDB(QHash<QString,QString> &aLink);20 void addRoomToDB(QHash<QString,QString> &aRoom);16 static void addConferenceToDB(QHash<QString,QString> &aConference); 17 static void addEventToDB(QHash<QString,QString> &aEvent); 18 static void addPersonToDB(QHash<QString,QString> &aPerson); 19 static void addLinkToDB(QHash<QString,QString> &aLink); 20 static void addRoomToDB(QHash<QString,QString> &aRoom); 21 21 22 22 // search Events for .... 23 int searchEvent(int conferenceId, const QHash<QString,QString> &columns, const QString &keyword);23 static int searchEvent(int conferenceId, const QHash<QString,QString> &columns, const QString &keyword); 24 24 private: 25 25 static QString login(const QString &aDatabaseType, const QString &aDatabaseName); 26 26 static bool createTables(QSqlDatabase &aDatabase); 27 bool execQuery(QSqlDatabase &aDatabase, const QString &aQuery);27 static bool execQuery(QSqlDatabase &aDatabase, const QString &aQuery); 28 28 }; 29 29
Note: See TracChangeset
for help on using the changeset viewer.