| 2579 | } |
| 2580 | |
| 2581 | void LibraryWindow::showFoldersContextMenu(const QPoint &point) |
| 2582 | { |
| 2583 | QModelIndex sourceMI = foldersModelProxy->mapToSource(foldersView->indexAt(point)); |
| 2584 | |
| 2585 | if (!sourceMI.isValid()) |
| 2586 | return; |
| 2587 | |
| 2588 | auto folder = foldersModel->getFolder(sourceMI); |
| 2589 | |
| 2590 | actions.setFolderAsNormalAction->setCheckable(true); |
| 2591 | actions.setFolderAsMangaAction->setCheckable(true); |
| 2592 | actions.setFolderAsWesternMangaAction->setCheckable(true); |
| 2593 | actions.setFolderAsWebComicAction->setCheckable(true); |
| 2594 | actions.setFolderAsYonkomaAction->setCheckable(true); |
| 2595 | |
| 2596 | actions.setFolderAsNormalAction->setChecked(false); |
| 2597 | actions.setFolderAsMangaAction->setChecked(false); |
| 2598 | actions.setFolderAsWesternMangaAction->setChecked(false); |
| 2599 | actions.setFolderAsWebComicAction->setChecked(false); |
| 2600 | actions.setFolderAsYonkomaAction->setChecked(false); |
| 2601 | |
| 2602 | switch (folder.type) { |
| 2603 | case FileType::Comic: |
| 2604 | actions.setFolderAsNormalAction->setChecked(true); |
| 2605 | break; |
| 2606 | case FileType::Manga: |
| 2607 | actions.setFolderAsMangaAction->setChecked(true); |
| 2608 | break; |
| 2609 | case FileType::WesternManga: |
| 2610 | actions.setFolderAsWesternMangaAction->setChecked(true); |
| 2611 | break; |
| 2612 | case FileType::WebComic: |
| 2613 | actions.setFolderAsWebComicAction->setChecked(true); |
| 2614 | break; |
| 2615 | case FileType::Yonkoma: |
| 2616 | actions.setFolderAsYonkomaAction->setChecked(true); |
| 2617 | break; |
| 2618 | } |
| 2619 | |
| 2620 | QMenu menu; |
| 2621 | |
| 2622 | menu.addAction(actions.openContainingFolderAction); |
| 2623 | menu.addAction(actions.updateFolderAction); |
| 2624 | menu.addSeparator(); //------------------------------- |
| 2625 | menu.addAction(actions.rescanXMLFromCurrentFolderAction); |
| 2626 | menu.addSeparator(); //------------------------------- |
| 2627 | if (folder.completed) |
| 2628 | menu.addAction(actions.setFolderAsNotCompletedAction); |
| 2629 | else |
| 2630 | menu.addAction(actions.setFolderAsCompletedAction); |
| 2631 | menu.addSeparator(); //------------------------------- |
| 2632 | if (folder.finished) |
| 2633 | menu.addAction(actions.setFolderAsUnreadAction); |
| 2634 | else |
| 2635 | menu.addAction(actions.setFolderAsReadAction); |
| 2636 | menu.addSeparator(); //------------------------------- |
| 2637 | auto typeMenu = new QMenu(tr("Set type")); |
| 2638 | menu.addMenu(typeMenu); |