From: pavelpa Date: Tue, 26 Jan 2010 19:30:45 +0000 (+0000) Subject: SqlEngine made STATIC X-Git-Tag: 0.5.0~183 X-Git-Url: https://git.toastfreeware.priv.at/toast/confclerk.git/commitdiff_plain/3a8dc71cda38278bb6c89bfe6008f299ff00277d?ds=sidebyside SqlEngine made STATIC --- diff --git a/src/app/main.cpp b/src/app/main.cpp index 43728cb..22445b2 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -15,7 +15,7 @@ int main(int argc, char *argv[]) QApplication a(argc, argv); QApplication::setWindowIcon(QIcon(":/icons/fosdem.png")); - SqlEngine::initialize(); // creates DB connection + SqlEngine::initialize(); // creates "SQLITE" DB connection QWidget *window; #ifdef MAEMO diff --git a/src/gui/importschedulewidget.cpp b/src/gui/importschedulewidget.cpp index c23ee88..c2806af 100644 --- a/src/gui/importschedulewidget.cpp +++ b/src/gui/importschedulewidget.cpp @@ -1,7 +1,6 @@ #include "importschedulewidget.h" #include -#include #include #include @@ -10,7 +9,6 @@ ImportScheduleWidget::ImportScheduleWidget(QWidget *aParent) : QWidget(aParent) - , mSqlEngine(NULL) { setupUi(this); @@ -31,13 +29,6 @@ ImportScheduleWidget::~ImportScheduleWidget() } } -void ImportScheduleWidget::setSqlEngine(SqlEngine *aSqlEngine) -{ - Q_ASSERT(aSqlEngine != NULL); - - mSqlEngine = aSqlEngine; -} - void ImportScheduleWidget::parsingSchedule(const QString &aTitle) { importScheduleLabel->setText("Importing: " + aTitle); @@ -50,8 +41,6 @@ void ImportScheduleWidget::showParsingProgress(int progress) void ImportScheduleWidget::browseSchedule() { - Q_ASSERT(mSqlEngine != NULL); - QString scheduleFileName = QFileDialog::getOpenFileName(this, tr("Select Conference Schedule"), QDir::homePath(), tr("Schedule Files (*.xml)")); if(QFile::exists(scheduleFileName)) { @@ -65,7 +54,7 @@ void ImportScheduleWidget::browseSchedule() QByteArray data = file.readAll(); browse->hide(); progressBar->show(); - int confId = mXmlParser->parseData(data,mSqlEngine); + int confId = mXmlParser->parseData(data); progressBar->hide(); browse->show(); diff --git a/src/gui/importschedulewidget.h b/src/gui/importschedulewidget.h index 71a76fa..26abd8d 100644 --- a/src/gui/importschedulewidget.h +++ b/src/gui/importschedulewidget.h @@ -5,15 +5,13 @@ #include "ui_importschedulewidget.h" class ScheduleXmlParser; -class SqlEngine; class ImportScheduleWidget : public QWidget, Ui::ImportScheduleWidget { Q_OBJECT public: - ImportScheduleWidget(QWidget *aParent = NULL); // don't forget to use setSqlEngine() + ImportScheduleWidget(QWidget *aParent = NULL); ~ImportScheduleWidget(); - void setSqlEngine(SqlEngine *aSqlEngine); private slots: void browseSchedule(); void parsingSchedule(const QString &aTitle); @@ -22,7 +20,6 @@ class ImportScheduleWidget : public QWidget, Ui::ImportScheduleWidget void scheduleImported(int confId); private: ScheduleXmlParser *mXmlParser; - SqlEngine *mSqlEngine; // uses it }; #endif /* IMPORTSCHEDULEWIDGET_H */ diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 3a260f4..6ea7851 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -27,12 +27,6 @@ MainWindow::MainWindow(int aEventId, QWidget *aParent) { setupUi(this); - // create "SQLITE" DB instance/connection - // opens DB connection (needed for EventModel) - mSqlEngine = new SqlEngine(this); - //mSqlEngine->initialize(); - importScheduleWidget->setSqlEngine(mSqlEngine); - // Sanity check for existence of any Conference in the DB // it AppSettings::confId() is 0, but there are any Conference(s) in the DB // set the confId in the AppSettings for the ID of the first conference in the DB @@ -126,15 +120,6 @@ MainWindow::MainWindow(int aEventId, QWidget *aParent) } } -MainWindow::~MainWindow() -{ - if(mSqlEngine) - { - delete mSqlEngine; - mSqlEngine = NULL; - } -} - void MainWindow::scheduleImported(int aConfId) { Q_UNUSED(aConfId); @@ -203,7 +188,7 @@ void MainWindow::searchClicked() QString keyword = searchEdit->text().replace( QString("%"), QString("\\%") ); qDebug() << "\nKeyword to search: " << keyword; - mSqlEngine->searchEvent( AppSettings::confId(), columns, keyword ); + SqlEngine::searchEvent( AppSettings::confId(), columns, keyword ); QDate aStartDate = Conference::getById(AppSettings::confId()).start(); QDate aEndDate = Conference::getById(AppSettings::confId()).end(); diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index 0f425a3..2e82a7c 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -5,8 +5,6 @@ #include -class SqlEngine; - class MainWindow : public QMainWindow, private Ui::MainWindow { Q_OBJECT @@ -14,7 +12,7 @@ public: // aEventId is used to inform widget to automatically open // Event dialog for given Event ID MainWindow(int aEventId = 0, QWidget *aParent = NULL); - ~MainWindow(); + ~MainWindow() {} private slots: void scheduleImported(int aConfId); void aboutApp(); @@ -23,8 +21,6 @@ private slots: void searchAgainClicked(); void conferenceMapClicked(); void eventHasChanged(int aEventId); -private: - SqlEngine *mSqlEngine; }; #endif // MAINWINDOW_H diff --git a/src/sql/schedulexmlparser.cpp b/src/sql/schedulexmlparser.cpp index bb83f8a..496eaaa 100644 --- a/src/sql/schedulexmlparser.cpp +++ b/src/sql/schedulexmlparser.cpp @@ -12,10 +12,8 @@ ScheduleXmlParser::ScheduleXmlParser(QObject *aParent) { } -int ScheduleXmlParser::parseData(const QByteArray &aData, SqlEngine *aDBEngine) +int ScheduleXmlParser::parseData(const QByteArray &aData) { - Q_ASSERT(NULL != aDBEngine); - QDomDocument document; document.setContent (aData, false); @@ -38,7 +36,7 @@ int ScheduleXmlParser::parseData(const QByteArray &aData, SqlEngine *aDBEngine) conference["days"] = conferenceElement.firstChildElement("days").text(); // int conference["day_change"] = conferenceElement.firstChildElement("day_change").text(); // time conference["timeslot_duration"] = conferenceElement.firstChildElement("timeslot_duration").text(); // time - aDBEngine->addConferenceToDB(conference); + SqlEngine::addConferenceToDB(conference); confId = conference["id"].toInt(); emit(parsingSchedule(conference["title"])); } @@ -77,7 +75,7 @@ int ScheduleXmlParser::parseData(const QByteArray &aData, SqlEngine *aDBEngine) room["event_id"] = eventElement.attribute("id"); room["conference_id"] = QString::number(confId,10); room["picture"] = "NOT DEFINED YET"; // TODO: implement some mapping to assign correct picture to specified room_name - aDBEngine->addRoomToDB(room); + SqlEngine::addRoomToDB(room); // process event's nodes QHash event; @@ -95,7 +93,7 @@ int ScheduleXmlParser::parseData(const QByteArray &aData, SqlEngine *aDBEngine) event["language"] = eventElement.firstChildElement("language").text(); // language eg. "English" event["abstract"] = eventElement.firstChildElement("abstract").text(); // string event["description"] = eventElement.firstChildElement("description").text(); // string - aDBEngine->addEventToDB(event); + SqlEngine::addEventToDB(event); // process persons' nodes QList persons; QDomElement personsElement = eventElement.firstChildElement("persons"); @@ -107,7 +105,7 @@ int ScheduleXmlParser::parseData(const QByteArray &aData, SqlEngine *aDBEngine) person["event_id"] = eventElement.attribute("id"); person["conference_id"] = QString::number(confId, 10); //qDebug() << "adding Person: " << person["name"]; - aDBEngine->addPersonToDB(person); + SqlEngine::addPersonToDB(person); } // process links' nodes QDomElement linksElement = eventElement.firstChildElement("links"); @@ -118,7 +116,7 @@ int ScheduleXmlParser::parseData(const QByteArray &aData, SqlEngine *aDBEngine) link["url"] = linkList.at(i).toElement().attribute("href"); link["event_id"] = eventElement.attribute("id"); link["conference_id"] = QString::number(confId, 10); - aDBEngine->addLinkToDB(link); + SqlEngine::addLinkToDB(link); } // emit signal to inform the user about the current status (how many events are parsed so far - expressed in %) int status = currentEvent * 100 / totalEventsCount; diff --git a/src/sql/schedulexmlparser.h b/src/sql/schedulexmlparser.h index 26cf556..51b258d 100644 --- a/src/sql/schedulexmlparser.h +++ b/src/sql/schedulexmlparser.h @@ -3,8 +3,6 @@ #include -class SqlEngine; - class ScheduleXmlParser : public QObject { Q_OBJECT @@ -12,7 +10,7 @@ class ScheduleXmlParser : public QObject ScheduleXmlParser (QObject *aParent = NULL); public slots: - int parseData(const QByteArray &aData, SqlEngine *aDBEngine); // returns 'confId' of parsed conference schedule + int parseData(const QByteArray &aData); // returns 'confId' of parsed conference schedule signals: void progressStatus(int aStatus); diff --git a/src/sql/sqlengine.h b/src/sql/sqlengine.h index d52ceb3..295b4aa 100644 --- a/src/sql/sqlengine.h +++ b/src/sql/sqlengine.h @@ -13,18 +13,18 @@ class SqlEngine : public QObject SqlEngine(QObject *aParent = NULL); ~SqlEngine(); static void initialize(); - void addConferenceToDB(QHash &aConference); - void addEventToDB(QHash &aEvent); - void addPersonToDB(QHash &aPerson); - void addLinkToDB(QHash &aLink); - void addRoomToDB(QHash &aRoom); + static void addConferenceToDB(QHash &aConference); + static void addEventToDB(QHash &aEvent); + static void addPersonToDB(QHash &aPerson); + static void addLinkToDB(QHash &aLink); + static void addRoomToDB(QHash &aRoom); // search Events for .... - int searchEvent(int conferenceId, const QHash &columns, const QString &keyword); + static int searchEvent(int conferenceId, const QHash &columns, const QString &keyword); private: static QString login(const QString &aDatabaseType, const QString &aDatabaseName); static bool createTables(QSqlDatabase &aDatabase); - bool execQuery(QSqlDatabase &aDatabase, const QString &aQuery); + static bool execQuery(QSqlDatabase &aDatabase, const QString &aQuery); }; #endif /* SQLENGINE_H */