mirror of
https://github.com/YACReader/yacreader
synced 2025-07-20 05:54:39 -04:00
add reading sublists is done
This commit is contained in:
@ -325,7 +325,32 @@ void ReadingListModel::addReadingList(const QString &name)
|
|||||||
|
|
||||||
void ReadingListModel::addReadingListAt(const QString &name, const QModelIndex &mi)
|
void ReadingListModel::addReadingListAt(const QString &name, const QModelIndex &mi)
|
||||||
{
|
{
|
||||||
//TODO
|
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
|
||||||
|
|
||||||
|
beginInsertRows(mi, 0, 0); //TODO calculate the right coordinates before inserting
|
||||||
|
|
||||||
|
qulonglong id = DBHelper::insertReadingSubList(name,mi.data(IDRole).toULongLong(),db);
|
||||||
|
ReadingListItem * newItem;
|
||||||
|
ReadingListItem * readingListParent = static_cast<ReadingListItem*>(mi.internalPointer());
|
||||||
|
readingListParent->appendChild(newItem = new ReadingListItem(QList<QVariant>()
|
||||||
|
<< name
|
||||||
|
<< id
|
||||||
|
<< false
|
||||||
|
<< true
|
||||||
|
<< mi.data(IDRole).toULongLong()));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
items.insert(id, newItem);
|
||||||
|
|
||||||
|
int pos = readingListParent->children().indexOf(newItem);
|
||||||
|
|
||||||
|
pos += specialLists.count()+1+labels.count()+labels.count()>0?1:0;
|
||||||
|
|
||||||
|
|
||||||
|
endInsertRows();
|
||||||
|
|
||||||
|
QSqlDatabase::removeDatabase(_databasePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ReadingListModel::isEditable(const QModelIndex &mi)
|
bool ReadingListModel::isEditable(const QModelIndex &mi)
|
||||||
|
@ -472,6 +472,17 @@ qulonglong DBHelper::insertReadingList(const QString &name, QSqlDatabase &db)
|
|||||||
return query.lastInsertId().toULongLong();
|
return query.lastInsertId().toULongLong();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qulonglong DBHelper::insertReadingSubList(const QString &name, qulonglong parentId, QSqlDatabase &db)
|
||||||
|
{
|
||||||
|
QSqlQuery query(db);
|
||||||
|
query.prepare("INSERT INTO reading_list (name, parentId) "
|
||||||
|
"VALUES (:name, :parentId)");
|
||||||
|
query.bindValue(":name", name);
|
||||||
|
query.bindValue(":parentId", parentId);
|
||||||
|
query.exec();
|
||||||
|
return query.lastInsertId().toULongLong();
|
||||||
|
}
|
||||||
|
|
||||||
void DBHelper::insertComicsInFavorites(const QList<ComicDB> &comicsList, QSqlDatabase &db)
|
void DBHelper::insertComicsInFavorites(const QList<ComicDB> &comicsList, QSqlDatabase &db)
|
||||||
{
|
{
|
||||||
db.transaction();
|
db.transaction();
|
||||||
|
@ -45,6 +45,7 @@ public:
|
|||||||
static qulonglong insert(ComicDB * comic, QSqlDatabase & db);
|
static qulonglong insert(ComicDB * comic, QSqlDatabase & db);
|
||||||
static qulonglong insertLabel(const QString & name, YACReader::LabelColors color , QSqlDatabase & db);
|
static qulonglong insertLabel(const QString & name, YACReader::LabelColors color , QSqlDatabase & db);
|
||||||
static qulonglong insertReadingList(const QString & name, QSqlDatabase & db);
|
static qulonglong insertReadingList(const QString & name, QSqlDatabase & db);
|
||||||
|
static qulonglong insertReadingSubList(const QString & name, qulonglong parentId, QSqlDatabase & db);
|
||||||
static void insertComicsInFavorites(const QList<ComicDB> & comicsList, QSqlDatabase & db);
|
static void insertComicsInFavorites(const QList<ComicDB> & comicsList, QSqlDatabase & db);
|
||||||
static void insertComicsInLabel(const QList<ComicDB> & comicsList, qulonglong labelId, QSqlDatabase & db);
|
static void insertComicsInLabel(const QList<ComicDB> & comicsList, qulonglong labelId, QSqlDatabase & db);
|
||||||
static void insertComicsInReadingList(const QList<ComicDB> & comicsList, qulonglong readingListId, QSqlDatabase & db);
|
static void insertComicsInReadingList(const QList<ComicDB> & comicsList, qulonglong readingListId, QSqlDatabase & db);
|
||||||
|
Reference in New Issue
Block a user