RecipeDB/main.cpp

72 lines
1.8 KiB
C++
Raw Permalink 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:45:19 +00:00
int id = QFontDatabase::addApplicationFont(":/fonts/fonts/NotoSans-Light.ttf");
if (id == -1){
return;
}
2018-03-31 20:15:01 +00:00
QString family = QFontDatabase::applicationFontFamilies(id).at(0);
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 20:45:19 +00:00
QFont notoFont("Noto Sans");
notoFont.setStyleHint(QFont::SansSerif);
notoFont.setWeight(QFont::Thin);
a.setFont(notoFont);
2018-03-31 20:15:01 +00:00
2018-03-31 13:02:35 +00:00
MainWindow w(&recipeDB);
w.loadFromRecipe(checkForFirstRun(&recipeDB));
w.show();
a.exec();
recipeDB.closeConnection();
return 0;
}