added "set finished/unfinished" actions

This commit is contained in:
Luis Ángel San Martín 2014-06-11 19:27:34 +02:00
parent 2df465e3e5
commit 7e68a34d7e
4 changed files with 53 additions and 2 deletions

View File

@ -315,7 +315,7 @@ void TreeModel::setupFilteredModelData()
db.close();
QSqlDatabase::removeDatabase(_databasePath);
endResetModel();
endResetModel();
}
void TreeModel::setupFilteredModelData(QSqlQuery &sqlquery, TreeItem *parent)
@ -453,3 +453,23 @@ void TreeModel::updateFolderCompletedStatus(const QModelIndexList &list, bool st
emit dataChanged(index(list.first().row(),TreeModel::Name),index(list.last().row(),TreeModel::Completed));
}
void TreeModel::updateFolderFinishedStatus(const QModelIndexList &list, bool status)
{
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
db.transaction();
foreach (QModelIndex mi, list)
{
TreeItem * item = static_cast<TreeItem*>(mi.internalPointer());
item->setData(TreeModel::Finished,status);
Folder f = DBHelper::loadFolder(item->id,db);
f.setFinished(status);
DBHelper::update(f,db);
}
db.commit();
db.close();
QSqlDatabase::removeDatabase(_databasePath);
emit dataChanged(index(list.first().row(),TreeModel::Name),index(list.last().row(),TreeModel::Completed));
}

View File

@ -83,6 +83,7 @@ public:
bool isFilterEnabled(){return filterEnabled;};
void updateFolderCompletedStatus(const QModelIndexList & list, bool status);
void updateFolderFinishedStatus(const QModelIndexList & list, bool status);
enum Columns {
Name = 0,

View File

@ -442,11 +442,16 @@ void LibraryWindow::createActions()
openContainingFolderAction->setIcon(QIcon(":/images/open.png"));
setFolderAsNotCompletedAction = new QAction(this);
setFolderAsNotCompletedAction->setText(tr("Set as not completed"));
setFolderAsNotCompletedAction->setText(tr("Set as uncompleted"));
setFolderAsCompletedAction = new QAction(this);
setFolderAsCompletedAction->setText(tr("Set as completed"));
setFolderAsFinishedAction = new QAction(this);
setFolderAsFinishedAction->setText(tr("Set as finished"));
setFolderAsNotFinishedAction = new QAction(this);
setFolderAsNotFinishedAction->setText(tr("Set as unfinished"));
openContainingFolderComicAction = new QAction(this);
openContainingFolderComicAction->setText(tr("Open containing folder..."));
@ -636,6 +641,13 @@ void LibraryWindow::createMenus()
}
foldersView->addAction(setFolderAsNotCompletedAction);
foldersView->addAction(setFolderAsCompletedAction);
{
QAction *act = new QAction(this);
act->setSeparator(true);
foldersView->addAction(act);
}
foldersView->addAction(setFolderAsFinishedAction);
foldersView->addAction(setFolderAsNotFinishedAction);
selectedLibrary->addAction(updateLibraryAction);
selectedLibrary->addAction(renameLibraryAction);
@ -768,6 +780,8 @@ void LibraryWindow::createConnections()
connect(openContainingFolderComicAction,SIGNAL(triggered()),this,SLOT(openContainingFolderComic()));
connect(setFolderAsNotCompletedAction,SIGNAL(triggered()),this,SLOT(setFolderAsNotCompleted()));
connect(setFolderAsCompletedAction,SIGNAL(triggered()),this,SLOT(setFolderAsCompleted()));
connect(setFolderAsFinishedAction,SIGNAL(triggered()),this,SLOT(setFolderAsFinished()));
connect(setFolderAsNotFinishedAction,SIGNAL(triggered()),this,SLOT(setFolderAsNotFinished()));
connect(openContainingFolderAction,SIGNAL(triggered()),this,SLOT(openContainingFolder()));
connect(resetComicRatingAction,SIGNAL(triggered()),this,SLOT(resetComicRating()));
@ -1557,6 +1571,16 @@ void LibraryWindow::setFolderAsCompleted()
dm->updateFolderCompletedStatus(foldersView->selectionModel()->selectedRows(),true);
}
void LibraryWindow::setFolderAsFinished()
{
dm->updateFolderFinishedStatus(foldersView->selectionModel()->selectedRows(),true);
}
void LibraryWindow::setFolderAsNotFinished()
{
dm->updateFolderFinishedStatus(foldersView->selectionModel()->selectedRows(),false);
}
void LibraryWindow::exportLibrary(QString destPath)
{
QString currentLibrary = selectedLibrary->currentText();

View File

@ -137,8 +137,12 @@ private:
QAction * colapseAllNodesAction;
QAction * openContainingFolderAction;
//--
QAction * setFolderAsNotCompletedAction;
QAction * setFolderAsCompletedAction;
//--
QAction * setFolderAsFinishedAction;
QAction * setFolderAsNotFinishedAction;
QAction * openContainingFolderComicAction;
QAction * setAsReadAction;
@ -236,6 +240,8 @@ public:
void openContainingFolder();
void setFolderAsNotCompleted();
void setFolderAsCompleted();
void setFolderAsFinished();
void setFolderAsNotFinished();
void openContainingFolderComic();
void deleteCurrentLibrary();
void removeLibrary();