#include "gui/mainwindow.h" #include "gui/newrecipedialog.h" #include #include #include "model/database/database.h" #include "model/database/recipedatabase.h" #include "utils/fileutils.h" void test(RecipeDatabase *recipeDB){ vector 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("testing"), RecipeTag("fake")}), QDate::currentDate(), QTime(0, 30), QTime(0, 25), 10.0f); bool success = recipeDB->storeRecipe(rec); printf("Storage successful: %d\n", success); } 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; } void loadAndSetFonts(){ int id = QFontDatabase::addApplicationFont(":/fonts/fonts/NotoSans-Light.ttf"); if (id == -1){ return; } QString family = QFontDatabase::applicationFontFamilies(id).at(0); } int main(int argc, char *argv[]) { RecipeDatabase recipeDB(QString(FileUtils::appDataPath+"recipes.db").toStdString()); QApplication a(argc, argv); loadAndSetFonts(); QFont notoFont("Noto Sans"); notoFont.setStyleHint(QFont::SansSerif); notoFont.setWeight(QFont::Thin); a.setFont(notoFont); MainWindow w(&recipeDB); w.loadFromRecipe(checkForFirstRun(&recipeDB)); w.show(); a.exec(); recipeDB.closeConnection(); return 0; }