72 lines
1.8 KiB
C++
72 lines
1.8 KiB
C++
#include "gui/mainwindow.h"
|
|
#include "gui/newrecipedialog.h"
|
|
|
|
#include <QApplication>
|
|
#include <QFontDatabase>
|
|
|
|
#include "model/database/database.h"
|
|
#include "model/database/recipedatabase.h"
|
|
#include "utils/fileutils.h"
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
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;
|
|
}
|