fixed contextual folders actions

This commit is contained in:
Luis Ángel San Martín 2014-11-20 23:38:27 +01:00
parent 397761451a
commit 2af75b35ca
4 changed files with 17 additions and 10 deletions

View File

@ -169,6 +169,9 @@ QVariant FolderModel::data(const QModelIndex &index, int role) const
if(role == FolderModel::CompletedRole)
return item->data(FolderModel::Completed);
if(role == FolderModel::FinishedRole)
return item->data(FolderModel::Finished);
if (role != Qt::DisplayRole)
return QVariant();

View File

@ -2247,22 +2247,26 @@ void LibraryWindow::openContainingFolder()
void LibraryWindow::setFolderAsNotCompleted()
{
foldersModel->updateFolderCompletedStatus(foldersView->selectionModel()->selectedRows(),false);
//foldersModel->updateFolderCompletedStatus(foldersView->selectionModel()->selectedRows(),false);
foldersModel->updateFolderCompletedStatus(QModelIndexList() << foldersModelProxy->mapToSource(foldersView->currentIndex()),false);
}
void LibraryWindow::setFolderAsCompleted()
{
foldersModel->updateFolderCompletedStatus(foldersView->selectionModel()->selectedRows(),true);
//foldersModel->updateFolderCompletedStatus(foldersView->selectionModel()->selectedRows(),true);
foldersModel->updateFolderCompletedStatus(QModelIndexList() << foldersModelProxy->mapToSource(foldersView->currentIndex()),true);
}
void LibraryWindow::setFolderAsRead()
{
foldersModel->updateFolderFinishedStatus(foldersView->selectionModel()->selectedRows(),true);
//foldersModel->updateFolderFinishedStatus(foldersView->selectionModel()->selectedRows(),true);
foldersModel->updateFolderFinishedStatus(QModelIndexList() << foldersModelProxy->mapToSource(foldersView->currentIndex()),true);
}
void LibraryWindow::setFolderAsUnread()
{
foldersModel->updateFolderFinishedStatus(foldersView->selectionModel()->selectedRows(),false);
//foldersModel->updateFolderFinishedStatus(foldersView->selectionModel()->selectedRows(),false);
foldersModel->updateFolderFinishedStatus(QModelIndexList() << foldersModelProxy->mapToSource(foldersView->currentIndex()),false);
}
void LibraryWindow::exportLibrary(QString destPath)
@ -2479,9 +2483,8 @@ void LibraryWindow::updateFoldersViewConextMenu(const QModelIndex &mi)
if(!mi.isValid())
return;
FolderItem * item = static_cast<FolderItem *>(mi.internalPointer());
bool isFinished = item->data(FolderModel::Finished).toBool();
bool isCompleted = item->data(FolderModel::Completed).toBool();
bool isFinished = mi.data(FolderModel::FinishedRole).toBool();
bool isCompleted = mi.data(FolderModel::CompletedRole).toBool();
setFolderAsReadAction->setVisible(!isFinished);
setFolderAsUnreadAction->setVisible(isFinished);

View File

@ -87,7 +87,6 @@ YACReaderFoldersViewItemDeletegate::YACReaderFoldersViewItemDeletegate(QObject *
void YACReaderFoldersViewItemDeletegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
if(!index.data(FolderModel::CompletedRole).toBool())
{
painter->save();

View File

@ -72,6 +72,8 @@ void YACReaderNavigationController::loadFolderInfo(const QModelIndex &modelIndex
libraryWindow->showEmptyFolderView();
libraryWindow->disableComicsActions(true);
}
libraryWindow->updateFoldersViewConextMenu(modelIndex);
}
void YACReaderNavigationController::loadListInfo(const QModelIndex &modelIndex)
@ -80,7 +82,7 @@ void YACReaderNavigationController::loadListInfo(const QModelIndex &modelIndex)
}
void YACReaderNavigationController::selectedList(const QModelIndex &mi)
{/*
{
//A proxy is used
QModelIndex modelIndex = libraryWindow->listsModelProxy->mapToSource(mi);
@ -99,7 +101,7 @@ void YACReaderNavigationController::selectedList(const QModelIndex &mi)
loadListInfo(modelIndex);
//if a list is selected, foldersView selection must be cleared
libraryWindow->foldersView->clearSelection();*/
libraryWindow->foldersView->clearSelection();
}
void YACReaderNavigationController::selectedIndexFromHistory(const QModelIndex &sourceMI)