From 8639518e6d59369464125f78621e8c872a393bca Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Fri, 6 Mar 2020 22:45:17 +0100 Subject: [PATCH] Update name when fetched --- src/feedListModel.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/feedListModel.cpp b/src/feedListModel.cpp index b2ab2114..c1e6319e 100644 --- a/src/feedListModel.cpp +++ b/src/feedListModel.cpp @@ -21,12 +21,15 @@ #include #include #include +#include #include #include "feedListModel.h" #include "fetcher.h" +#include + FeedListModel::FeedListModel(QObject *parent) : QAbstractListModel(parent) { @@ -62,6 +65,22 @@ int FeedListModel::rowCount(const QModelIndex &index) const void FeedListModel::addFeed(QString url) { + connect(&Fetcher::instance(), &Fetcher::finished, this, [this, url]() { + QSqlQuery query(QSqlDatabase::database()); + query.prepare(QStringLiteral("SELECT name FROM Feeds WHERE url=:url;")); + query.bindValue(QStringLiteral(":url"), url); + query.exec(); + if(!query.next()) + std::cout << "Query empty" << std::endl; + for(int i = 0; i < feeds.length(); i++) { + if(feeds[i].url() == url) { + feeds.removeAt(i); + feeds.insert(i, Feed(url, query.value(0).toString())); + emit dataChanged(index(i), index(i)); + break; + } + } + }); Fetcher::instance().fetch(QUrl(url)); beginInsertRows(QModelIndex(), feeds.size(), feeds.size()); feeds.append(Feed(url));