From 1178787bc11557863925c707169f5ebc4134a955 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Sun, 29 Nov 2015 20:27:52 +0100 Subject: [PATCH] Last edits today. --- src/services/standard/standardserviceroot.cpp | 32 ++++++++++++++++++- src/services/standard/standardserviceroot.h | 2 ++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/services/standard/standardserviceroot.cpp b/src/services/standard/standardserviceroot.cpp index 94a6e6ba0..1af194217 100755 --- a/src/services/standard/standardserviceroot.cpp +++ b/src/services/standard/standardserviceroot.cpp @@ -106,7 +106,37 @@ bool StandardServiceRoot::canBeEdited() { } bool StandardServiceRoot::canBeDeleted() { - return false; + return true; +} + +bool StandardServiceRoot::deleteViaGui() { + QSqlDatabase connection = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + + // Remove all messages. + if (!QSqlQuery(connection).exec(QSL("DELETE FROM Messages;"))) { + return false; + } + + // Remove all feeds. + if (!QSqlQuery(connection).exec(QSL("DELETE FROM Feeds;"))) { + return false; + } + + // Remove all categories. + if (!QSqlQuery(connection).exec(QSL("DELETE FROM Categories;"))) { + return false; + } + + // Switch "existence" flag. + bool data_removed = QSqlQuery(connection).exec(QSL("UPDATE Information SET inf_value = 0 WHERE inf_key = 'standard_account_enabled';")); + + // TODO: pokračovat + + if (data_removed) { + feedsModel()->removeItem(this); + } + + return data_removed; } QVariant StandardServiceRoot::data(int column, int role) const { diff --git a/src/services/standard/standardserviceroot.h b/src/services/standard/standardserviceroot.h index dd1572ff6..2cf81b1ba 100755 --- a/src/services/standard/standardserviceroot.h +++ b/src/services/standard/standardserviceroot.h @@ -49,6 +49,8 @@ class StandardServiceRoot : public ServiceRoot { bool canBeEdited(); bool canBeDeleted(); + bool deleteViaGui(); + QVariant data(int column, int role) const; Qt::ItemFlags additionalFlags() const;