mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
add to favorites is ready
This commit is contained in:
parent
4ca873e058
commit
b6e2a10f4f
@ -797,6 +797,24 @@ void ComicModel::resetComicRating(const QModelIndex &mi)
|
|||||||
QSqlDatabase::removeDatabase(_databasePath);
|
QSqlDatabase::removeDatabase(_databasePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ComicModel::addComicsToFavorites(const QList<QModelIndex> & comicsList)
|
||||||
|
{
|
||||||
|
QList<ComicDB> comics = getComics(comicsList);
|
||||||
|
|
||||||
|
DBHelper::insertComicsInFavorites(comics, QSqlDatabase());
|
||||||
|
|
||||||
|
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
|
||||||
|
|
||||||
|
db.transaction();
|
||||||
|
|
||||||
|
DBHelper::insertComicsInFavorites(comics,db);
|
||||||
|
|
||||||
|
db.commit();
|
||||||
|
|
||||||
|
db.close();
|
||||||
|
QSqlDatabase::removeDatabase(_databasePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void ComicModel::updateRating(int rating, QModelIndex mi)
|
void ComicModel::updateRating(int rating, QModelIndex mi)
|
||||||
{
|
{
|
||||||
|
@ -62,6 +62,7 @@ public:
|
|||||||
void removeInTransaction(int row);
|
void removeInTransaction(int row);
|
||||||
void reload(const ComicDB & comic);
|
void reload(const ComicDB & comic);
|
||||||
void resetComicRating(const QModelIndex & mi);
|
void resetComicRating(const QModelIndex & mi);
|
||||||
|
void addComicsToFavorites(const QList<QModelIndex> &comicsList);
|
||||||
|
|
||||||
QHash<int, QByteArray> roleNames() const;
|
QHash<int, QByteArray> roleNames() const;
|
||||||
|
|
||||||
|
@ -279,7 +279,8 @@ bool DataBaseManagement::createV8Tables(QSqlDatabase &database)
|
|||||||
"default_reading_list_id INTEGER, "
|
"default_reading_list_id INTEGER, "
|
||||||
//"order INTEGER, " //order????
|
//"order INTEGER, " //order????
|
||||||
"FOREIGN KEY(default_reading_list_id) REFERENCES default_reading_list(id) ON DELETE CASCADE, "
|
"FOREIGN KEY(default_reading_list_id) REFERENCES default_reading_list(id) ON DELETE CASCADE, "
|
||||||
"FOREIGN KEY(comic_id) REFERENCES comic(id) ON DELETE CASCADE)");
|
"FOREIGN KEY(comic_id) REFERENCES comic(id) ON DELETE CASCADE,"
|
||||||
|
"PRIMARY KEY(default_reading_list_id, comic_id))");
|
||||||
success = success && queryComicDefaultReadingList.exec();
|
success = success && queryComicDefaultReadingList.exec();
|
||||||
|
|
||||||
//INSERT DEFAULT READING LISTS
|
//INSERT DEFAULT READING LISTS
|
||||||
|
@ -415,6 +415,25 @@ qulonglong DBHelper::insertReadingList(const QString &name, QSqlDatabase &db)
|
|||||||
query.exec();
|
query.exec();
|
||||||
return query.lastInsertId().toULongLong();
|
return query.lastInsertId().toULongLong();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DBHelper::insertComicsInFavorites(const QList<ComicDB> &comicsList, QSqlDatabase &db)
|
||||||
|
{
|
||||||
|
/*QSqlQuery getNumComicsInFavoritesQuery("SELECT count(*) from comic_reading_list;",db);
|
||||||
|
getNumComicsInFavoritesQuery.next();
|
||||||
|
QSqlRecord record = getNumComicsInFavoritesQuery.record();
|
||||||
|
int numComics = record.value(0).toInt();*/
|
||||||
|
|
||||||
|
QSqlQuery query(db);
|
||||||
|
query.prepare("INSERT INTO comic_default_reading_list (default_reading_list_id, comic_id) "
|
||||||
|
"VALUES (1, :comic_id)");
|
||||||
|
|
||||||
|
foreach(ComicDB comic, comicsList)
|
||||||
|
{
|
||||||
|
query.bindValue(":comic_id", comic.id);
|
||||||
|
//query.bindValue(":order", numComics++);
|
||||||
|
query.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
//queries
|
//queries
|
||||||
QList<LibraryItem *> DBHelper::getFoldersFromParent(qulonglong parentId, QSqlDatabase & db, bool sort)
|
QList<LibraryItem *> DBHelper::getFoldersFromParent(qulonglong parentId, QSqlDatabase & db, bool sort)
|
||||||
{
|
{
|
||||||
|
@ -41,6 +41,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 void insertComicsInFavorites(const QList<ComicDB> & comicsList, QSqlDatabase & db);
|
||||||
//updates
|
//updates
|
||||||
static void update(qulonglong libraryId, ComicInfo & comicInfo);
|
static void update(qulonglong libraryId, ComicInfo & comicInfo);
|
||||||
static void update(ComicDB * comics, QSqlDatabase & db);
|
static void update(ComicDB * comics, QSqlDatabase & db);
|
||||||
|
@ -81,6 +81,7 @@
|
|||||||
#include "add_label_dialog.h"
|
#include "add_label_dialog.h"
|
||||||
|
|
||||||
#include "yacreader_history_controller.h"
|
#include "yacreader_history_controller.h"
|
||||||
|
#include "db_helper.h"
|
||||||
|
|
||||||
#include "QsLog.h"
|
#include "QsLog.h"
|
||||||
|
|
||||||
@ -1203,6 +1204,10 @@ void LibraryWindow::createConnections()
|
|||||||
connect(deleteReadingListAction,SIGNAL(triggered()),this,SLOT(deleteSelectedReadingList()));
|
connect(deleteReadingListAction,SIGNAL(triggered()),this,SLOT(deleteSelectedReadingList()));
|
||||||
connect(addLabelAction,SIGNAL(triggered()),this,SLOT(showAddNewLabelDialog()));
|
connect(addLabelAction,SIGNAL(triggered()),this,SLOT(showAddNewLabelDialog()));
|
||||||
connect(renameListAction,SIGNAL(triggered()),this,SLOT(showRenameCurrentList()));
|
connect(renameListAction,SIGNAL(triggered()),this,SLOT(showRenameCurrentList()));
|
||||||
|
|
||||||
|
//--
|
||||||
|
|
||||||
|
connect(addToFavoritesAction,SIGNAL(triggered()),this,SLOT(addSelectedComicsToFavorites()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void LibraryWindow::loadLibrary(const QString & name)
|
void LibraryWindow::loadLibrary(const QString & name)
|
||||||
@ -1681,6 +1686,12 @@ void LibraryWindow::showRenameCurrentList()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LibraryWindow::addSelectedComicsToFavorites()
|
||||||
|
{
|
||||||
|
QModelIndexList indexList = getSelectedComics();
|
||||||
|
comicsModel->addComicsToFavorites(indexList);
|
||||||
|
}
|
||||||
|
|
||||||
void LibraryWindow::selectSubfolder(const QModelIndex &mi, int child)
|
void LibraryWindow::selectSubfolder(const QModelIndex &mi, int child)
|
||||||
{
|
{
|
||||||
QModelIndex dest = foldersModel->index(child,0,mi);
|
QModelIndex dest = foldersModel->index(child,0,mi);
|
||||||
|
@ -390,6 +390,7 @@ public slots:
|
|||||||
void deleteSelectedReadingList();
|
void deleteSelectedReadingList();
|
||||||
void showAddNewLabelDialog();
|
void showAddNewLabelDialog();
|
||||||
void showRenameCurrentList();
|
void showRenameCurrentList();
|
||||||
|
void addSelectedComicsToFavorites();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user