From 3aed883402dc8da829fc304434c5efd0570cbb97 Mon Sep 17 00:00:00 2001 From: "Felix (xq) Queißner" Date: Sat, 6 Jun 2020 23:14:21 +0200 Subject: Moves source code into subdirectory. --- favouritecollection.cpp | 140 ------------------------------------------------ 1 file changed, 140 deletions(-) delete mode 100644 favouritecollection.cpp (limited to 'favouritecollection.cpp') diff --git a/favouritecollection.cpp b/favouritecollection.cpp deleted file mode 100644 index 161eacf..0000000 --- a/favouritecollection.cpp +++ /dev/null @@ -1,140 +0,0 @@ -#include "favouritecollection.hpp" - -#include - -FavouriteCollection::FavouriteCollection(QObject *parent) : - QAbstractListModel(parent) -{ - -} - -void FavouriteCollection::add(QUrl const & url) -{ - if(contains(url)) - return; - - beginInsertRows(QModelIndex{}, items.size(), items.size() + 1); - items.push_back(url); - endInsertRows(); -} - -void FavouriteCollection::remove(QUrl const & url) -{ - for(int i = 0; i < items.size(); i++) - { - if(items.at(i) == url) { - beginRemoveRows(QModelIndex{}, i, i + 1); - items.removeAt(i); - endRemoveRows(); - return; - } - } -} - -bool FavouriteCollection::contains(const QUrl &url) -{ - for(auto const & item : items) { - if(item == url) - return true; - } - return false; -} - -QUrl FavouriteCollection::get(const QModelIndex &index) const -{ - if(index.isValid()) { - return items.at(index.row()); - } else { - return QUrl { }; - } -} - -bool FavouriteCollection::save(const QString &fileName) const -{ - QFile file(fileName); - if(not file.open(QFile::WriteOnly)) - return false; - - for(auto const & url: items) - { - QByteArray blob = (url.toString() + "\n").toUtf8(); - - qint64 offset = 0; - while(offset < blob.size()) - { - auto len = file.write(blob.data() + offset, blob.size() - offset); - if(len <= 0) { - file.close(); - return false; - } - offset += len; - } - } - - file.close(); - return true; -} - -bool FavouriteCollection::save(QSettings &settings) const -{ - settings.beginWriteArray("favourites", items.size()); - for(int i = 0; i < items.size(); i++) - { - settings.setArrayIndex(i); - settings.setValue("url", items[i].toString()); - } - settings.endArray(); - return true; -} - -bool FavouriteCollection::load(const QString &fileName) -{ - QFile file(fileName); - if(not file.open(QFile::ReadOnly)) - return false; - auto data = file.readAll(); - - beginResetModel(); - - items.clear(); - for(auto line : data.split('\n')) { - if(line.size() > 0) { - items.push_back(QUrl(QString::fromUtf8(line))); - } - } - endResetModel(); - - return true; -} - -bool FavouriteCollection::load(QSettings & settings) -{ - int len = settings.beginReadArray("favourites"); - items.resize(len); - for(int i = 0; i < items.size(); i++) - { - settings.setArrayIndex(i); - items[i] = settings.value("url").toString(); - } - settings.endArray(); - return true; -} - -int FavouriteCollection::rowCount(const QModelIndex &parent) const -{ - return items.size(); -} - -bool FavouriteCollection::setData(const QModelIndex &index, const QVariant &value, int role) -{ - return false; -} - -QVariant FavouriteCollection::data(const QModelIndex &index, int role) const -{ - if(role != Qt::DisplayRole) { - return QVariant{}; - } - return items.at(index.row()).toString(); -} - -- cgit v1.2.3