RecipeDB/main.cpp

66 lines
1.7 KiB
C++
Raw Normal View History

#include "gui/mainwindow.h"
2018-03-04 09:19:32 +00:00
#include "gui/newrecipedialog.h"
2018-03-31 20:01:49 +00:00
2018-02-02 09:00:46 +00:00
#include <QApplication>
2018-03-31 20:01:49 +00:00
#include <QFontDatabase>
2018-02-02 10:41:36 +00:00
2018-02-12 13:24:11 +00:00
#include "model/database/database.h"
#include "model/database/recipedatabase.h"
#include "utils/fileutils.h"
2018-02-02 09:00:46 +00:00
2018-03-31 20:01:49 +00:00
void test(RecipeDatabase *recipeDB){
vector<RecipeIngredient> ri;
ri.push_back(RecipeIngredient("flour", "grains", 3.0f, UnitOfMeasure("cup", "cups", "c", UnitOfMeasure::VOLUME, 1.0), ""));
ri.push_back(RecipeIngredient("baking powder", "additives", 1.0f, UnitOfMeasure("teaspoon", "teaspoons", "tsp", UnitOfMeasure::VOLUME, 1.0), ""));
Recipe rec("Example",
"Andrew Lalis",
ri,
Instruction("Placeholder Text"),
QImage(),
vector<RecipeTag>({RecipeTag("testing"),
RecipeTag("fake")}),
QDate::currentDate(),
QTime(0, 30),
QTime(0, 25),
10.0f);
bool success = recipeDB->storeRecipe(rec);
printf("Storage successful: %d\n", success);
}
2018-03-31 13:02:35 +00:00
Recipe checkForFirstRun(RecipeDatabase *recipeDB){
Recipe r = recipeDB->retrieveRandomRecipe();
if (r.isEmpty()){//There are no recipes in the database.
//Add some basic units to the units, and some basic ingredients.
recipeDB->addBasicUnits();
recipeDB->addBasicIngredients();
}
return r;
}
2018-03-31 20:01:49 +00:00
void loadAndSetFonts(){
2018-03-31 20:15:01 +00:00
int id = QFontDatabase::addApplicationFont(":/fonts/NotoSans-Light.ttf");
QString family = QFontDatabase::applicationFontFamilies(id).at(0);
printf("%s\n", family.toStdString().c_str());
2018-03-31 20:01:49 +00:00
}
2018-02-02 09:00:46 +00:00
int main(int argc, char *argv[])
{
RecipeDatabase recipeDB(QString(FileUtils::appDataPath+"recipes.db").toStdString());
2018-02-02 09:00:46 +00:00
2018-03-31 13:02:35 +00:00
QApplication a(argc, argv);
2018-03-31 20:15:01 +00:00
loadAndSetFonts();
2018-03-31 13:02:35 +00:00
MainWindow w(&recipeDB);
w.loadFromRecipe(checkForFirstRun(&recipeDB));
w.show();
a.exec();
recipeDB.closeConnection();
return 0;
}