COMMENT "Generating AppImage..."
VERBATIM
)
+ add_dependencies(appimage nutra)
endif()
cppcheck --enable=warning,performance,portability \
--language=c++ --std=c++17 \
--suppress=missingIncludeSystem \
- -Dslots= -Dsignals= -Demit= \
+ -Dslots= -Dsignals= -Demit= -DQT_VERSION_CHECK\(major,minor,patch\)=0 \
--quiet --error-exitcode=1 \
$(SRC_DIRS) include tests
@if [ ! -f $(BUILD_DIR)/compile_commands.json ]; then \
#include "db/databasemanager.h"
-RecipeRepository::RecipeRepository() {}
+RecipeRepository::RecipeRepository() = default;
int RecipeRepository::createRecipe(const QString& name, const QString& instructions) {
QSqlDatabase db = DatabaseManager::instance().userDatabase();
if (query.exec()) {
return query.lastInsertId().toInt();
- } else {
- qCritical() << "Failed to create recipe:" << query.lastError().text();
- return -1;
}
+ qCritical() << "Failed to create recipe:" << query.lastError().text();
+ return -1;
}
bool RecipeRepository::updateRecipe(int id, const QString& name, const QString& instructions) {
query.addBindValue(instructions);
query.addBindValue(id);
- return query.exec();
+ if (query.exec()) {
+ return true;
+ }
+ qCritical() << "Failed to update recipe:" << query.lastError().text();
+ return false;
}
bool RecipeRepository::deleteRecipe(int id) {
// Load ingredients
ingredientsTable->setRowCount(0);
auto ingredients = repository.getIngredients(recipeId);
- ingredientsTable->setRowCount(ingredients.size());
+ ingredientsTable->setRowCount(static_cast<int>(ingredients.size()));
for (int i = 0; i < ingredients.size(); ++i) {
const auto& ing = ingredients[i];
ingredientsTable->setItem(i, 0, new QTableWidgetItem(QString::number(ing.foodId)));
int row = ingredientsTable->currentRow();
if (row < 0) return;
- int foodId = ingredientsTable->item(row, 0)->text().toInt();
+ auto* item = ingredientsTable->item(row, 0);
+ if (item == nullptr) return;
+ int foodId = item->text().toInt();
if (repository.removeIngredient(currentRecipeId, foodId)) {
ingredientsTable->removeRow(row);
q.exec("CREATE TABLE log_food (id int)");
db.close();
+ db = QSqlDatabase(); // Clear the object so it doesn't hold reference
auto info = DatabaseManager::instance().getDatabaseInfo(dbPath);
QCOMPARE(info.type, QString("User"));
QVERIFY(db.open());
// Empty DB
db.close();
+ db = QSqlDatabase(); // Clear the object so it doesn't hold reference
auto info = DatabaseManager::instance().getDatabaseInfo(dbPath);
QVERIFY(info.isValid == false);