12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*
- *openPilot Log - A FOSS Pilot Logbook Application
- *Copyright (C) 2020 Felix Turowsky
- *
- *This program is free software: you can redistribute it and/or modify
- *it under the terms of the GNU General Public License as published by
- *the Free Software Foundation, either version 3 of the License, or
- *(at your option) any later version.
- *
- *This program is distributed in the hope that it will be useful,
- *but WITHOUT ANY WARRANTY; without even the implied warranty of
- *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- *GNU General Public License for more details.
- *
- *You should have received a copy of the GNU General Public License
- *along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- #include "mainwindow.h"
- //#include <QCoreApplication>
- #include <QApplication>
- #include <QFile>
- #include <QTextStream>
- #include <QDir>
- #include <QPalette>
- #include <QColor>
- #include <QSqlDatabase>
- #include <QSqlDriver>
- #include <QSqlError>
- #include <QSqlQuery>
- #include "dbsettings.h"
- #include "dbsetup.h"
- #include <QDebug>
- void connectToDatabase()
- {
- const QString DRIVER("QSQLITE");
- if(QSqlDatabase::isDriverAvailable(DRIVER))
- {
- QSqlDatabase db = QSqlDatabase::addDatabase(DRIVER);
- /*For a release, we need to decide where to put the database, for now
- *it is in the executable working directory for ease of developtment*/
- //QString pathtodb = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
- //db.setDatabaseName(pathtodb+"/logbook.db");
- //qDebug() << "Database: " << pathtodb+"/logbook.db";
- db.setDatabaseName("logbook.db");
- if(!db.open())
- qWarning() << "MainWindow::DatabaseConnect - ERROR: " << db.lastError().text();
- }
- else
- qWarning() << "MainWindow::DatabaseConnect - ERROR: no driver " << DRIVER << " available";
- }
- int main(int argc, char *argv[])
- {
- connectToDatabase();
- QCoreApplication::setOrganizationName("Fiffty50");
- QCoreApplication::setOrganizationDomain("https://github.com/fiffty-50/openpilotlog");
- QCoreApplication::setApplicationName("openLog");
- QApplication openLog(argc, argv);
- //Theming with CSS inlcues QFile,QTextStream, QDir, themes folder and TARGET = flog, RESOURCES = themes/breeze.qrc in pro
- // credit: https://github.com/Alexhuszagh/BreezeStyleSheets
- int selectedtheme = dbSettings::retreiveSetting(10).toInt();
- QDir::setCurrent("/themes");
- if (selectedtheme == 1){
- qDebug() << "Loading light theme";
- QFile file(":light.qss");
- file.open(QFile::ReadOnly | QFile::Text);
- QTextStream stream(&file);
- openLog.setStyleSheet(stream.readAll());
- }else if (selectedtheme == 2){
- qDebug() << "Loading dark theme";
- QFile file(":dark.qss");
- file.open(QFile::ReadOnly | QFile::Text);
- QTextStream stream(&file);
- openLog.setStyleSheet(stream.readAll());
- }
- MainWindow w;
- w.show();
- return openLog.exec();
- }
|