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) if(role == FolderModel::CompletedRole)
return item->data(FolderModel::Completed); return item->data(FolderModel::Completed);
if(role == FolderModel::FinishedRole)
return item->data(FolderModel::Finished);
if (role != Qt::DisplayRole) if (role != Qt::DisplayRole)
return QVariant(); return QVariant();

View File

@ -2247,22 +2247,26 @@ void LibraryWindow::openContainingFolder()
void LibraryWindow::setFolderAsNotCompleted() 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() 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() 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() 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) void LibraryWindow::exportLibrary(QString destPath)
@ -2479,9 +2483,8 @@ void LibraryWindow::updateFoldersViewConextMenu(const QModelIndex &mi)
if(!mi.isValid()) if(!mi.isValid())
return; return;
FolderItem * item = static_cast<FolderItem *>(mi.internalPointer()); bool isFinished = mi.data(FolderModel::FinishedRole).toBool();
bool isFinished = item->data(FolderModel::Finished).toBool(); bool isCompleted = mi.data(FolderModel::CompletedRole).toBool();
bool isCompleted = item->data(FolderModel::Completed).toBool();
setFolderAsReadAction->setVisible(!isFinished); setFolderAsReadAction->setVisible(!isFinished);
setFolderAsUnreadAction->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 void YACReaderFoldersViewItemDeletegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{ {
if(!index.data(FolderModel::CompletedRole).toBool()) if(!index.data(FolderModel::CompletedRole).toBool())
{ {
painter->save(); painter->save();

View File

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