TT-RSS accounts now store its additions/edits to DB/model.

This commit is contained in:
Martin Rotter 2015-12-03 11:02:19 +01:00
parent d5c7e3b8f4
commit 441e0e8632
3 changed files with 17 additions and 10 deletions

View File

@ -136,7 +136,7 @@ void FormEditAccount::onClickedOk() {
if (m_editableRoot == NULL) {
// We want to confirm newly created account.
// So save new account into DB, setup its properties.
m_editableRoot = new TtRssServiceRoot(false);
m_editableRoot = new TtRssServiceRoot();
}
m_editableRoot->network()->setUrl(m_ui->m_txtUrl->lineEdit()->text());

View File

@ -26,14 +26,10 @@
#include <QSqlError>
TtRssServiceRoot::TtRssServiceRoot(bool load_from_db, RootItem *parent)
TtRssServiceRoot::TtRssServiceRoot(RootItem *parent)
: ServiceRoot(parent), m_network(new TtRssNetworkFactory) {
setIcon(TtRssServiceEntryPoint().icon());
setCreationDate(QDateTime::currentDateTime());
if (load_from_db) {
loadFromDatabase();
}
}
TtRssServiceRoot::~TtRssServiceRoot() {
@ -145,10 +141,21 @@ TtRssNetworkFactory *TtRssServiceRoot::network() const {
void TtRssServiceRoot::saveToDatabase() {
if (accountId() != NO_PARENT_CATEGORY) {
// We are overwritting previously saved data.
// TODO: todo
QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings);
QSqlQuery query(database);
updateTitle();
itemChanged(QList<RootItem*>() << this);
query.prepare("UPDATE TtRssAccounts "
"SET username = :username, password = :password, url = :url "
"WHERE id = :id;");
query.bindValue(":username", m_network->username());
query.bindValue(":password", m_network->password());
query.bindValue(":url", m_network->url());
query.bindValue(":id", accountId());
if (query.exec()) {
updateTitle();
itemChanged(QList<RootItem*>() << this);
}
}
else {
// We are probably saving newly added account.

View File

@ -29,7 +29,7 @@ class TtRssServiceRoot : public ServiceRoot {
Q_OBJECT
public:
explicit TtRssServiceRoot(bool load_from_db, RootItem *parent = NULL);
explicit TtRssServiceRoot(RootItem *parent = NULL);
virtual ~TtRssServiceRoot();
void start();