added 'save selected covers to...' feature

This commit is contained in:
Luis Ángel San Martín 2014-12-28 20:01:00 +01:00
parent acaa4e0f24
commit 96248577ac
4 changed files with 204 additions and 168 deletions

View File

@ -126,6 +126,8 @@ QVariant ComicModel::data(const QModelIndex &index, int role) const
return item->data(Number); return item->data(Number);
else if (role == TitleRole) else if (role == TitleRole)
return item->data(Title).isNull()?item->data(FileName):item->data(Title); return item->data(Title).isNull()?item->data(FileName):item->data(Title);
else if (role == FileNameRole)
return item->data(FileName);
else if (role == RatingRole) else if (role == RatingRole)
return item->data(Rating); return item->data(Rating);
else if (role == CoverPathRole) else if (role == CoverPathRole)

View File

@ -344,6 +344,7 @@ void LibraryWindow::setUpShortcutsManagement()
editShortcutsDialog->addActionsGroup("Comics",QIcon(":/images/shortcuts_group_comics.png"), editShortcutsDialog->addActionsGroup("Comics",QIcon(":/images/shortcuts_group_comics.png"),
tmpList = QList<QAction *>() tmpList = QList<QAction *>()
<< openComicAction << openComicAction
<< saveCoversToAction
<< setAsReadAction << setAsReadAction
<< setAsNonReadAction << setAsNonReadAction
<< openContainingFolderComicAction << openContainingFolderComicAction
@ -463,35 +464,35 @@ void LibraryWindow::doComicsViewConnections()
void LibraryWindow::createActions() void LibraryWindow::createActions()
{ {
backAction = new QAction(this); backAction = new QAction(this);
QIcon icoBackButton; QIcon icoBackButton;
icoBackButton.addFile(":/images/main_toolbar/back.png",QSize(), QIcon::Normal); icoBackButton.addFile(":/images/main_toolbar/back.png",QSize(), QIcon::Normal);
//icoBackButton.addPixmap(QPixmap(":/images/main_toolbar/back_disabled.png"), QIcon::Disabled); //icoBackButton.addPixmap(QPixmap(":/images/main_toolbar/back_disabled.png"), QIcon::Disabled);
backAction->setData(BACK_ACTION_YL); backAction->setData(BACK_ACTION_YL);
backAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(BACK_ACTION_YL)); backAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(BACK_ACTION_YL));
backAction->setIcon(icoBackButton); backAction->setIcon(icoBackButton);
backAction->setDisabled(true); backAction->setDisabled(true);
forwardAction = new QAction(this); forwardAction = new QAction(this);
QIcon icoFordwardButton; QIcon icoFordwardButton;
icoFordwardButton.addFile(":/images/main_toolbar/forward.png", QSize(), QIcon::Normal); icoFordwardButton.addFile(":/images/main_toolbar/forward.png", QSize(), QIcon::Normal);
//icoFordwardButton.addPixmap(QPixmap(":/images/main_toolbar/forward_disabled.png"), QIcon::Disabled); //icoFordwardButton.addPixmap(QPixmap(":/images/main_toolbar/forward_disabled.png"), QIcon::Disabled);
forwardAction->setData(FORWARD_ACTION_YL); forwardAction->setData(FORWARD_ACTION_YL);
forwardAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FORWARD_ACTION_YL)); forwardAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FORWARD_ACTION_YL));
forwardAction->setIcon(icoFordwardButton); forwardAction->setIcon(icoFordwardButton);
forwardAction->setDisabled(true); forwardAction->setDisabled(true);
createLibraryAction = new QAction(this); createLibraryAction = new QAction(this);
createLibraryAction->setToolTip(tr("Create a new library")); createLibraryAction->setToolTip(tr("Create a new library"));
createLibraryAction->setData(CREATE_LIBRARY_ACTION_YL); createLibraryAction->setData(CREATE_LIBRARY_ACTION_YL);
createLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(CREATE_LIBRARY_ACTION_YL)); createLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(CREATE_LIBRARY_ACTION_YL));
createLibraryAction->setIcon(QIcon(":/images/newLibraryIcon.png")); createLibraryAction->setIcon(QIcon(":/images/newLibraryIcon.png"));
openLibraryAction = new QAction(this); openLibraryAction = new QAction(this);
openLibraryAction->setToolTip(tr("Open an existing library")); openLibraryAction->setToolTip(tr("Open an existing library"));
openLibraryAction->setData(OPEN_LIBRARY_ACTION_YL); openLibraryAction->setData(OPEN_LIBRARY_ACTION_YL);
openLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_LIBRARY_ACTION_YL)); openLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_LIBRARY_ACTION_YL));
openLibraryAction->setIcon(QIcon(":/images/openLibraryIcon.png")); openLibraryAction->setIcon(QIcon(":/images/openLibraryIcon.png"));
exportComicsInfoAction = new QAction(tr("Export comics info"),this); exportComicsInfoAction = new QAction(tr("Export comics info"),this);
exportComicsInfoAction->setToolTip(tr("Export comics info")); exportComicsInfoAction->setToolTip(tr("Export comics info"));
@ -505,85 +506,90 @@ void LibraryWindow::createActions()
importComicsInfoAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(IMPORT_COMICS_INFO_ACTION_YL)); importComicsInfoAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(IMPORT_COMICS_INFO_ACTION_YL));
importComicsInfoAction->setIcon(QIcon(":/images/importComicsInfoIcon.png")); importComicsInfoAction->setIcon(QIcon(":/images/importComicsInfoIcon.png"));
exportLibraryAction = new QAction(tr("Pack covers"),this); exportLibraryAction = new QAction(tr("Pack covers"),this);
exportLibraryAction->setToolTip(tr("Pack the covers of the selected library")); exportLibraryAction->setToolTip(tr("Pack the covers of the selected library"));
exportLibraryAction->setData(EXPORT_LIBRARY_ACTION_YL); exportLibraryAction->setData(EXPORT_LIBRARY_ACTION_YL);
exportLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(EXPORT_LIBRARY_ACTION_YL)); exportLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(EXPORT_LIBRARY_ACTION_YL));
exportLibraryAction->setIcon(QIcon(":/images/exportLibraryIcon.png")); exportLibraryAction->setIcon(QIcon(":/images/exportLibraryIcon.png"));
importLibraryAction = new QAction(tr("Unpack covers"),this); importLibraryAction = new QAction(tr("Unpack covers"),this);
importLibraryAction->setToolTip(tr("Unpack a catalog")); importLibraryAction->setToolTip(tr("Unpack a catalog"));
importLibraryAction->setData(IMPORT_LIBRARY_ACTION_YL); importLibraryAction->setData(IMPORT_LIBRARY_ACTION_YL);
importLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(IMPORT_LIBRARY_ACTION_YL)); importLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(IMPORT_LIBRARY_ACTION_YL));
importLibraryAction->setIcon(QIcon(":/images/importLibraryIcon.png")); importLibraryAction->setIcon(QIcon(":/images/importLibraryIcon.png"));
updateLibraryAction = new QAction(tr("Update library"),this); updateLibraryAction = new QAction(tr("Update library"),this);
updateLibraryAction->setToolTip(tr("Update current library")); updateLibraryAction->setToolTip(tr("Update current library"));
updateLibraryAction->setData(UPDATE_LIBRARY_ACTION_YL); updateLibraryAction->setData(UPDATE_LIBRARY_ACTION_YL);
updateLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(UPDATE_LIBRARY_ACTION_YL)); updateLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(UPDATE_LIBRARY_ACTION_YL));
updateLibraryAction->setIcon(QIcon(":/images/updateLibraryIcon.png")); updateLibraryAction->setIcon(QIcon(":/images/updateLibraryIcon.png"));
renameLibraryAction = new QAction(tr("Rename library"),this); renameLibraryAction = new QAction(tr("Rename library"),this);
renameLibraryAction->setToolTip(tr("Rename current library")); renameLibraryAction->setToolTip(tr("Rename current library"));
renameLibraryAction->setData(RENAME_LIBRARY_ACTION_YL); renameLibraryAction->setData(RENAME_LIBRARY_ACTION_YL);
renameLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(RENAME_LIBRARY_ACTION_YL)); renameLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(RENAME_LIBRARY_ACTION_YL));
renameLibraryAction->setIcon(QIcon(":/images/editIcon.png")); renameLibraryAction->setIcon(QIcon(":/images/editIcon.png"));
removeLibraryAction = new QAction(tr("Remove library"),this); removeLibraryAction = new QAction(tr("Remove library"),this);
removeLibraryAction->setToolTip(tr("Remove current library from your collection")); removeLibraryAction->setToolTip(tr("Remove current library from your collection"));
removeLibraryAction->setData(REMOVE_LIBRARY_ACTION_YL); removeLibraryAction->setData(REMOVE_LIBRARY_ACTION_YL);
removeLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(REMOVE_LIBRARY_ACTION_YL)); removeLibraryAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(REMOVE_LIBRARY_ACTION_YL));
removeLibraryAction->setIcon(QIcon(":/images/removeLibraryIcon.png")); removeLibraryAction->setIcon(QIcon(":/images/removeLibraryIcon.png"));
openComicAction = new QAction(tr("Open current comic"),this); openComicAction = new QAction(tr("Open current comic"),this);
openComicAction->setToolTip(tr("Open current comic on YACReader")); openComicAction->setToolTip(tr("Open current comic on YACReader"));
openComicAction->setData(OPEN_COMIC_ACTION_YL); openComicAction->setData(OPEN_COMIC_ACTION_YL);
openComicAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_COMIC_ACTION_YL)); openComicAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_COMIC_ACTION_YL));
openComicAction->setIcon(QIcon(":/images/openInYACReader.png")); openComicAction->setIcon(QIcon(":/images/openInYACReader.png"));
setAsReadAction = new QAction(tr("Set as read"),this); saveCoversToAction = new QAction(tr("Save selected covers to..."),this);
setAsReadAction->setToolTip(tr("Set comic as read")); saveCoversToAction->setToolTip(tr("Save covers of the selected comics as JPG files"));
saveCoversToAction->setData(SAVE_COVERS_TO_ACTION_YL);
saveCoversToAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SAVE_COVERS_TO_ACTION_YL));
setAsReadAction = new QAction(tr("Set as read"),this);
setAsReadAction->setToolTip(tr("Set comic as read"));
setAsReadAction->setData(SET_AS_READ_ACTION_YL); setAsReadAction->setData(SET_AS_READ_ACTION_YL);
setAsReadAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SET_AS_READ_ACTION_YL)); setAsReadAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SET_AS_READ_ACTION_YL));
setAsReadAction->setIcon(QIcon(":/images/setReadButton.png")); setAsReadAction->setIcon(QIcon(":/images/setReadButton.png"));
setAsNonReadAction = new QAction(tr("Set as unread"),this); setAsNonReadAction = new QAction(tr("Set as unread"),this);
setAsNonReadAction->setToolTip(tr("Set comic as unread")); setAsNonReadAction->setToolTip(tr("Set comic as unread"));
setAsNonReadAction->setData(SET_AS_NON_READ_ACTION_YL); setAsNonReadAction->setData(SET_AS_NON_READ_ACTION_YL);
setAsNonReadAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SET_AS_NON_READ_ACTION_YL)); setAsNonReadAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SET_AS_NON_READ_ACTION_YL));
setAsNonReadAction->setIcon(QIcon(":/images/setUnread.png")); setAsNonReadAction->setIcon(QIcon(":/images/setUnread.png"));
/*setAllAsReadAction = new QAction(tr("Set all as read"),this); /*setAllAsReadAction = new QAction(tr("Set all as read"),this);
setAllAsReadAction->setToolTip(tr("Set all comics as read")); setAllAsReadAction->setToolTip(tr("Set all comics as read"));
setAllAsReadAction->setIcon(QIcon(":/images/setAllRead.png")); setAllAsReadAction->setIcon(QIcon(":/images/setAllRead.png"));
setAllAsNonReadAction = new QAction(tr("Set all as unread"),this); setAllAsNonReadAction = new QAction(tr("Set all as unread"),this);
setAllAsNonReadAction->setToolTip(tr("Set all comics as unread")); setAllAsNonReadAction->setToolTip(tr("Set all comics as unread"));
setAllAsNonReadAction->setIcon(QIcon(":/images/setAllUnread.png"));*/ setAllAsNonReadAction->setIcon(QIcon(":/images/setAllUnread.png"));*/
showHideMarksAction = new QAction(tr("Show/Hide marks"),this); showHideMarksAction = new QAction(tr("Show/Hide marks"),this);
showHideMarksAction->setToolTip(tr("Show or hide readed marks")); showHideMarksAction->setToolTip(tr("Show or hide readed marks"));
showHideMarksAction->setData(SHOW_HIDE_MARKS_ACTION_YL); showHideMarksAction->setData(SHOW_HIDE_MARKS_ACTION_YL);
showHideMarksAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SHOW_HIDE_MARKS_ACTION_YL)); showHideMarksAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SHOW_HIDE_MARKS_ACTION_YL));
showHideMarksAction->setCheckable(true); showHideMarksAction->setCheckable(true);
showHideMarksAction->setIcon(QIcon(":/images/showMarks.png")); showHideMarksAction->setIcon(QIcon(":/images/showMarks.png"));
showHideMarksAction->setChecked(true); showHideMarksAction->setChecked(true);
#ifndef Q_OS_MAC #ifndef Q_OS_MAC
toggleFullScreenAction = new QAction(tr("Fullscreen mode on/off"),this); toggleFullScreenAction = new QAction(tr("Fullscreen mode on/off"),this);
toggleFullScreenAction->setToolTip(tr("Fullscreen mode on/off")); toggleFullScreenAction->setToolTip(tr("Fullscreen mode on/off"));
toggleFullScreenAction->setData(TOGGLE_FULL_SCREEN_ACTION_YL); toggleFullScreenAction->setData(TOGGLE_FULL_SCREEN_ACTION_YL);
toggleFullScreenAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(TOGGLE_FULL_SCREEN_ACTION_YL)); toggleFullScreenAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(TOGGLE_FULL_SCREEN_ACTION_YL));
QIcon icoFullscreenButton; QIcon icoFullscreenButton;
icoFullscreenButton.addPixmap(QPixmap(":/images/main_toolbar/fullscreen.png"), QIcon::Normal); icoFullscreenButton.addPixmap(QPixmap(":/images/main_toolbar/fullscreen.png"), QIcon::Normal);
toggleFullScreenAction->setIcon(icoFullscreenButton); toggleFullScreenAction->setIcon(icoFullscreenButton);
#endif #endif
helpAboutAction = new QAction(this); helpAboutAction = new QAction(this);
helpAboutAction->setToolTip(tr("Help, About YACReader")); helpAboutAction->setToolTip(tr("Help, About YACReader"));
helpAboutAction->setData(HELP_ABOUT_ACTION_YL); helpAboutAction->setData(HELP_ABOUT_ACTION_YL);
helpAboutAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(HELP_ABOUT_ACTION_YL)); helpAboutAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(HELP_ABOUT_ACTION_YL));
QIcon icoHelpButton; QIcon icoHelpButton;
icoHelpButton.addFile(":/images/main_toolbar/help.png",QSize(), QIcon::Normal); icoHelpButton.addFile(":/images/main_toolbar/help.png",QSize(), QIcon::Normal);
helpAboutAction->setIcon(icoHelpButton); helpAboutAction->setIcon(icoHelpButton);
addFolderAction = new QAction(tr("Add new folder"), this); addFolderAction = new QAction(tr("Add new folder"), this);
addFolderAction->setData(ADD_FOLDER_ACTION_YL); addFolderAction->setData(ADD_FOLDER_ACTION_YL);
@ -597,39 +603,39 @@ void LibraryWindow::createActions()
deleteFolderAction->setToolTip(tr("Delete current folder from disk")); deleteFolderAction->setToolTip(tr("Delete current folder from disk"));
deleteFolderAction->setIcon(QIcon(":/images/delete_sidebar.png")); deleteFolderAction->setIcon(QIcon(":/images/delete_sidebar.png"));
setRootIndexAction = new QAction(this); setRootIndexAction = new QAction(this);
setRootIndexAction->setData(SET_ROOT_INDEX_ACTION_YL); setRootIndexAction->setData(SET_ROOT_INDEX_ACTION_YL);
setRootIndexAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SET_ROOT_INDEX_ACTION_YL)); setRootIndexAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SET_ROOT_INDEX_ACTION_YL));
setRootIndexAction->setToolTip(tr("Select root node")); setRootIndexAction->setToolTip(tr("Select root node"));
setRootIndexAction->setIcon(QIcon(":/images/setRoot.png")); setRootIndexAction->setIcon(QIcon(":/images/setRoot.png"));
expandAllNodesAction = new QAction(this); expandAllNodesAction = new QAction(this);
expandAllNodesAction->setToolTip(tr("Expand all nodes")); expandAllNodesAction->setToolTip(tr("Expand all nodes"));
expandAllNodesAction->setData(EXPAND_ALL_NODES_ACTION_YL); expandAllNodesAction->setData(EXPAND_ALL_NODES_ACTION_YL);
expandAllNodesAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(EXPAND_ALL_NODES_ACTION_YL)); expandAllNodesAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(EXPAND_ALL_NODES_ACTION_YL));
expandAllNodesAction->setIcon(QIcon(":/images/expand.png")); expandAllNodesAction->setIcon(QIcon(":/images/expand.png"));
colapseAllNodesAction = new QAction(this); colapseAllNodesAction = new QAction(this);
colapseAllNodesAction->setToolTip(tr("Colapse all nodes")); colapseAllNodesAction->setToolTip(tr("Colapse all nodes"));
colapseAllNodesAction->setData(COLAPSE_ALL_NODES_ACTION_YL); colapseAllNodesAction->setData(COLAPSE_ALL_NODES_ACTION_YL);
colapseAllNodesAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(COLAPSE_ALL_NODES_ACTION_YL)); colapseAllNodesAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(COLAPSE_ALL_NODES_ACTION_YL));
colapseAllNodesAction->setIcon(QIcon(":/images/colapse.png")); colapseAllNodesAction->setIcon(QIcon(":/images/colapse.png"));
optionsAction = new QAction(this); optionsAction = new QAction(this);
optionsAction->setToolTip(tr("Show options dialog")); optionsAction->setToolTip(tr("Show options dialog"));
optionsAction->setData(OPTIONS_ACTION_YL); optionsAction->setData(OPTIONS_ACTION_YL);
optionsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPTIONS_ACTION_YL)); optionsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPTIONS_ACTION_YL));
QIcon icoSettingsButton; QIcon icoSettingsButton;
icoSettingsButton.addFile(":/images/main_toolbar/settings.png", QSize(), QIcon::Normal); icoSettingsButton.addFile(":/images/main_toolbar/settings.png", QSize(), QIcon::Normal);
optionsAction->setIcon(icoSettingsButton); optionsAction->setIcon(icoSettingsButton);
serverConfigAction = new QAction(this); serverConfigAction = new QAction(this);
serverConfigAction->setToolTip(tr("Show comics server options dialog")); serverConfigAction->setToolTip(tr("Show comics server options dialog"));
serverConfigAction->setData(SERVER_CONFIG_ACTION_YL); serverConfigAction->setData(SERVER_CONFIG_ACTION_YL);
serverConfigAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SERVER_CONFIG_ACTION_YL)); serverConfigAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SERVER_CONFIG_ACTION_YL));
QIcon icoServerButton; QIcon icoServerButton;
icoServerButton.addFile(":/images/main_toolbar/server.png", QSize(), QIcon::Normal); icoServerButton.addFile(":/images/main_toolbar/server.png", QSize(), QIcon::Normal);
serverConfigAction->setIcon(icoServerButton); serverConfigAction->setIcon(icoServerButton);
toggleComicsViewAction = new QAction(tr("Change between comics views"),this); toggleComicsViewAction = new QAction(tr("Change between comics views"),this);
toggleComicsViewAction->setToolTip(tr("Change between comics views")); toggleComicsViewAction->setToolTip(tr("Change between comics views"));
@ -641,13 +647,13 @@ void LibraryWindow::createActions()
toggleComicsViewAction->setData(TOGGLE_COMICS_VIEW_ACTION_YL); toggleComicsViewAction->setData(TOGGLE_COMICS_VIEW_ACTION_YL);
toggleComicsViewAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(TOGGLE_COMICS_VIEW_ACTION_YL)); toggleComicsViewAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(TOGGLE_COMICS_VIEW_ACTION_YL));
toggleComicsViewAction->setIcon(icoViewsButton); toggleComicsViewAction->setIcon(icoViewsButton);
//socialAction = new QAction(this); //socialAction = new QAction(this);
openContainingFolderAction = new QAction(this); openContainingFolderAction = new QAction(this);
openContainingFolderAction->setText(tr("Open folder...")); openContainingFolderAction->setText(tr("Open folder..."));
openContainingFolderAction->setData(OPEN_CONTAINING_FOLDER_ACTION_YL); openContainingFolderAction->setData(OPEN_CONTAINING_FOLDER_ACTION_YL);
openContainingFolderAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_CONTAINING_FOLDER_ACTION_YL)); openContainingFolderAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_CONTAINING_FOLDER_ACTION_YL));
openContainingFolderAction->setIcon(QIcon(":/images/open.png")); openContainingFolderAction->setIcon(QIcon(":/images/open.png"));
setFolderAsNotCompletedAction = new QAction(this); setFolderAsNotCompletedAction = new QAction(this);
setFolderAsNotCompletedAction->setText(tr("Set as uncompleted")); setFolderAsNotCompletedAction->setText(tr("Set as uncompleted"));
@ -669,29 +675,29 @@ void LibraryWindow::createActions()
setFolderAsUnreadAction->setData(SET_FOLDER_AS_UNREAD_ACTION_YL); setFolderAsUnreadAction->setData(SET_FOLDER_AS_UNREAD_ACTION_YL);
setFolderAsUnreadAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SET_FOLDER_AS_UNREAD_ACTION_YL)); setFolderAsUnreadAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SET_FOLDER_AS_UNREAD_ACTION_YL));
openContainingFolderComicAction = new QAction(this); openContainingFolderComicAction = new QAction(this);
openContainingFolderComicAction->setText(tr("Open containing folder...")); openContainingFolderComicAction->setText(tr("Open containing folder..."));
openContainingFolderComicAction->setData(OPEN_CONTAINING_FOLDER_COMIC_ACTION_YL); openContainingFolderComicAction->setData(OPEN_CONTAINING_FOLDER_COMIC_ACTION_YL);
openContainingFolderComicAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_CONTAINING_FOLDER_COMIC_ACTION_YL)); openContainingFolderComicAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_CONTAINING_FOLDER_COMIC_ACTION_YL));
openContainingFolderComicAction->setIcon(QIcon(":/images/open.png")); openContainingFolderComicAction->setIcon(QIcon(":/images/open.png"));
resetComicRatingAction = new QAction(this); resetComicRatingAction = new QAction(this);
resetComicRatingAction->setText(tr("Reset comic rating")); resetComicRatingAction->setText(tr("Reset comic rating"));
resetComicRatingAction->setData(RESET_COMIC_RATING_ACTION_YL); resetComicRatingAction->setData(RESET_COMIC_RATING_ACTION_YL);
resetComicRatingAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(RESET_COMIC_RATING_ACTION_YL)); resetComicRatingAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(RESET_COMIC_RATING_ACTION_YL));
//Edit comics actions------------------------------------------------------ //Edit comics actions------------------------------------------------------
selectAllComicsAction = new QAction(this); selectAllComicsAction = new QAction(this);
selectAllComicsAction->setText(tr("Select all comics")); selectAllComicsAction->setText(tr("Select all comics"));
selectAllComicsAction->setData(SELECT_ALL_COMICS_ACTION_YL); selectAllComicsAction->setData(SELECT_ALL_COMICS_ACTION_YL);
selectAllComicsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SELECT_ALL_COMICS_ACTION_YL)); selectAllComicsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SELECT_ALL_COMICS_ACTION_YL));
selectAllComicsAction->setIcon(QIcon(":/images/selectAll.png")); selectAllComicsAction->setIcon(QIcon(":/images/selectAll.png"));
editSelectedComicsAction = new QAction(this); editSelectedComicsAction = new QAction(this);
editSelectedComicsAction->setText(tr("Edit")); editSelectedComicsAction->setText(tr("Edit"));
editSelectedComicsAction->setData(EDIT_SELECTED_COMICS_ACTION_YL); editSelectedComicsAction->setData(EDIT_SELECTED_COMICS_ACTION_YL);
editSelectedComicsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(EDIT_SELECTED_COMICS_ACTION_YL)); editSelectedComicsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(EDIT_SELECTED_COMICS_ACTION_YL));
editSelectedComicsAction->setIcon(QIcon(":/images/editComic.png")); editSelectedComicsAction->setIcon(QIcon(":/images/editComic.png"));
asignOrderAction = new QAction(this); asignOrderAction = new QAction(this);
asignOrderAction->setText(tr("Asign current order to comics")); asignOrderAction->setText(tr("Asign current order to comics"));
@ -705,11 +711,11 @@ void LibraryWindow::createActions()
forceCoverExtractedAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FORCE_COVER_EXTRACTED_ACTION_YL)); forceCoverExtractedAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FORCE_COVER_EXTRACTED_ACTION_YL));
forceCoverExtractedAction->setIcon(QIcon(":/images/importCover.png")); forceCoverExtractedAction->setIcon(QIcon(":/images/importCover.png"));
deleteComicsAction = new QAction(this); deleteComicsAction = new QAction(this);
deleteComicsAction->setText(tr("Delete selected comics")); deleteComicsAction->setText(tr("Delete selected comics"));
deleteComicsAction->setData(DELETE_COMICS_ACTION_YL); deleteComicsAction->setData(DELETE_COMICS_ACTION_YL);
deleteComicsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(DELETE_COMICS_ACTION_YL)); deleteComicsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(DELETE_COMICS_ACTION_YL));
deleteComicsAction->setIcon(QIcon(":/images/trash.png")); deleteComicsAction->setIcon(QIcon(":/images/trash.png"));
hideComicViewAction = new QAction(this); hideComicViewAction = new QAction(this);
hideComicViewAction->setText(tr("Hide comic flow")); hideComicViewAction->setText(tr("Hide comic flow"));
@ -719,12 +725,12 @@ void LibraryWindow::createActions()
hideComicViewAction->setCheckable(true); hideComicViewAction->setCheckable(true);
hideComicViewAction->setChecked(false); hideComicViewAction->setChecked(false);
getInfoAction = new QAction(this); getInfoAction = new QAction(this);
getInfoAction->setData(GET_INFO_ACTION_YL); getInfoAction->setData(GET_INFO_ACTION_YL);
getInfoAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(GET_INFO_ACTION_YL)); getInfoAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(GET_INFO_ACTION_YL));
getInfoAction->setText(tr("Download tags from Comic Vine")); getInfoAction->setText(tr("Download tags from Comic Vine"));
getInfoAction->setIcon(QIcon(":/images/getInfo.png")); getInfoAction->setIcon(QIcon(":/images/getInfo.png"));
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
showEditShortcutsAction = new QAction(tr("Edit shortcuts"),this); showEditShortcutsAction = new QAction(tr("Edit shortcuts"),this);
showEditShortcutsAction->setData(SHOW_EDIT_SHORTCUTS_ACTION_YL); showEditShortcutsAction->setData(SHOW_EDIT_SHORTCUTS_ACTION_YL);
@ -773,8 +779,8 @@ void LibraryWindow::createActions()
addToFavoritesAction->setToolTip(tr("Add selected comics to favorites list")); addToFavoritesAction->setToolTip(tr("Add selected comics to favorites list"));
addToFavoritesAction->setIcon(QIcon(":/images/lists/default_1.png")); addToFavoritesAction->setIcon(QIcon(":/images/lists/default_1.png"));
//disable actions //disable actions
disableAllActions(); disableAllActions();
} }
void LibraryWindow::disableComicsActions(bool disabled) void LibraryWindow::disableComicsActions(bool disabled)
{ {
@ -994,7 +1000,7 @@ void LibraryWindow::createMenus()
void LibraryWindow::createConnections() void LibraryWindow::createConnections()
{ {
//history navigation //history navigation
connect(backAction,SIGNAL(triggered()),historyController,SLOT(backward())); connect(backAction,SIGNAL(triggered()),historyController,SLOT(backward()));
connect(forwardAction,SIGNAL(triggered()),historyController,SLOT(forward())); connect(forwardAction,SIGNAL(triggered()),historyController,SLOT(forward()));
//-- //--
@ -1002,51 +1008,51 @@ void LibraryWindow::createConnections()
connect(historyController,SIGNAL(enabledForward(bool)),forwardAction,SLOT(setEnabled(bool))); connect(historyController,SIGNAL(enabledForward(bool)),forwardAction,SLOT(setEnabled(bool)));
//connect(foldersView, SIGNAL(clicked(QModelIndex)), historyController, SLOT(updateHistory(QModelIndex))); //connect(foldersView, SIGNAL(clicked(QModelIndex)), historyController, SLOT(updateHistory(QModelIndex)));
//libraryCreator connections //libraryCreator connections
connect(createLibraryDialog,SIGNAL(createLibrary(QString,QString,QString)),this,SLOT(create(QString,QString,QString))); connect(createLibraryDialog,SIGNAL(createLibrary(QString,QString,QString)),this,SLOT(create(QString,QString,QString)));
connect(createLibraryDialog,SIGNAL(libraryExists(QString)),this,SLOT(libraryAlreadyExists(QString))); connect(createLibraryDialog,SIGNAL(libraryExists(QString)),this,SLOT(libraryAlreadyExists(QString)));
connect(importComicsInfoDialog,SIGNAL(finished(int)),this,SLOT(reloadCurrentLibrary())); connect(importComicsInfoDialog,SIGNAL(finished(int)),this,SLOT(reloadCurrentLibrary()));
//connect(libraryCreator,SIGNAL(coverExtracted(QString)),createLibraryDialog,SLOT(showCurrentFile(QString))); //connect(libraryCreator,SIGNAL(coverExtracted(QString)),createLibraryDialog,SLOT(showCurrentFile(QString)));
//connect(libraryCreator,SIGNAL(coverExtracted(QString)),updateLibraryDialog,SLOT(showCurrentFile(QString))); //connect(libraryCreator,SIGNAL(coverExtracted(QString)),updateLibraryDialog,SLOT(showCurrentFile(QString)));
connect(libraryCreator,SIGNAL(finished()),this,SLOT(showRootWidget())); connect(libraryCreator,SIGNAL(finished()),this,SLOT(showRootWidget()));
connect(libraryCreator,SIGNAL(updated()),this,SLOT(reloadCurrentLibrary())); connect(libraryCreator,SIGNAL(updated()),this,SLOT(reloadCurrentLibrary()));
connect(libraryCreator,SIGNAL(created()),this,SLOT(openLastCreated())); connect(libraryCreator,SIGNAL(created()),this,SLOT(openLastCreated()));
//connect(libraryCreator,SIGNAL(updatedCurrentFolder()), this, SLOT(showRootWidget())); //connect(libraryCreator,SIGNAL(updatedCurrentFolder()), this, SLOT(showRootWidget()));
connect(libraryCreator,SIGNAL(updatedCurrentFolder(QModelIndex)), this, SLOT(reloadAfterCopyMove(QModelIndex))); connect(libraryCreator,SIGNAL(updatedCurrentFolder(QModelIndex)), this, SLOT(reloadAfterCopyMove(QModelIndex)));
connect(libraryCreator,SIGNAL(comicAdded(QString,QString)),importWidget,SLOT(newComic(QString,QString))); connect(libraryCreator,SIGNAL(comicAdded(QString,QString)),importWidget,SLOT(newComic(QString,QString)));
//libraryCreator errors //libraryCreator errors
connect(libraryCreator,SIGNAL(failedCreatingDB(QString)),this,SLOT(manageCreatingError(QString))); connect(libraryCreator,SIGNAL(failedCreatingDB(QString)),this,SLOT(manageCreatingError(QString)));
connect(libraryCreator,SIGNAL(failedUpdatingDB(QString)),this,SLOT(manageUpdatingError(QString))); //TODO: implement failedUpdatingDB connect(libraryCreator,SIGNAL(failedUpdatingDB(QString)),this,SLOT(manageUpdatingError(QString))); //TODO: implement failedUpdatingDB
//new import widget //new import widget
connect(importWidget,SIGNAL(stop()),this,SLOT(stopLibraryCreator())); connect(importWidget,SIGNAL(stop()),this,SLOT(stopLibraryCreator()));
//packageManager connections //packageManager connections
connect(exportLibraryDialog,SIGNAL(exportPath(QString)),this,SLOT(exportLibrary(QString))); connect(exportLibraryDialog,SIGNAL(exportPath(QString)),this,SLOT(exportLibrary(QString)));
connect(exportLibraryDialog,SIGNAL(rejected()),packageManager,SLOT(cancel())); connect(exportLibraryDialog,SIGNAL(rejected()),packageManager,SLOT(cancel()));
connect(packageManager,SIGNAL(exported()),exportLibraryDialog,SLOT(close())); connect(packageManager,SIGNAL(exported()),exportLibraryDialog,SLOT(close()));
connect(importLibraryDialog,SIGNAL(unpackCLC(QString,QString,QString)),this,SLOT(importLibrary(QString,QString,QString))); connect(importLibraryDialog,SIGNAL(unpackCLC(QString,QString,QString)),this,SLOT(importLibrary(QString,QString,QString)));
connect(importLibraryDialog,SIGNAL(rejected()),packageManager,SLOT(cancel())); connect(importLibraryDialog,SIGNAL(rejected()),packageManager,SLOT(cancel()));
connect(importLibraryDialog,SIGNAL(rejected()),this,SLOT(deleteCurrentLibrary())); connect(importLibraryDialog,SIGNAL(rejected()),this,SLOT(deleteCurrentLibrary()));
connect(importLibraryDialog,SIGNAL(libraryExists(QString)),this,SLOT(libraryAlreadyExists(QString))); connect(importLibraryDialog,SIGNAL(libraryExists(QString)),this,SLOT(libraryAlreadyExists(QString)));
connect(packageManager,SIGNAL(imported()),importLibraryDialog,SLOT(hide())); connect(packageManager,SIGNAL(imported()),importLibraryDialog,SLOT(hide()));
connect(packageManager,SIGNAL(imported()),this,SLOT(openLastCreated())); connect(packageManager,SIGNAL(imported()),this,SLOT(openLastCreated()));
//create and update dialogs //create and update dialogs
connect(createLibraryDialog,SIGNAL(cancelCreate()),this,SLOT(cancelCreating())); connect(createLibraryDialog,SIGNAL(cancelCreate()),this,SLOT(cancelCreating()));
//open existing library from dialog. //open existing library from dialog.
connect(addLibraryDialog,SIGNAL(addLibrary(QString,QString)),this,SLOT(openLibrary(QString,QString))); connect(addLibraryDialog,SIGNAL(addLibrary(QString,QString)),this,SLOT(openLibrary(QString,QString)));
//load library when selected library changes //load library when selected library changes
connect(selectedLibrary,SIGNAL(currentIndexChanged(QString)),this,SLOT(loadLibrary(QString))); connect(selectedLibrary,SIGNAL(currentIndexChanged(QString)),this,SLOT(loadLibrary(QString)));
//rename library dialog //rename library dialog
connect(renameLibraryDialog,SIGNAL(renameLibrary(QString)),this,SLOT(rename(QString))); connect(renameLibraryDialog,SIGNAL(renameLibrary(QString)),this,SLOT(rename(QString)));
//navigations between view modes (tree,list and flow) //navigations between view modes (tree,list and flow)
//TODO connect(foldersView, SIGNAL(pressed(QModelIndex)), this, SLOT(updateFoldersViewConextMenu(QModelIndex))); //TODO connect(foldersView, SIGNAL(pressed(QModelIndex)), this, SLOT(updateFoldersViewConextMenu(QModelIndex)));
//connect(foldersView, SIGNAL(clicked(QModelIndex)), this, SLOT(loadCovers(QModelIndex))); //connect(foldersView, SIGNAL(clicked(QModelIndex)), this, SLOT(loadCovers(QModelIndex)));
@ -1055,57 +1061,57 @@ void LibraryWindow::createConnections()
connect(foldersView, SIGNAL(moveComicsToFolder(QList<QPair<QString,QString> >,QModelIndex)), this, SLOT(moveAndImportComicsToFolder(QList<QPair<QString,QString> >,QModelIndex))); connect(foldersView, SIGNAL(moveComicsToFolder(QList<QPair<QString,QString> >,QModelIndex)), this, SLOT(moveAndImportComicsToFolder(QList<QPair<QString,QString> >,QModelIndex)));
connect(foldersView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showFoldersContextMenu(QPoint))); connect(foldersView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showFoldersContextMenu(QPoint)));
//actions //actions
connect(createLibraryAction,SIGNAL(triggered()),this,SLOT(createLibrary())); connect(createLibraryAction,SIGNAL(triggered()),this,SLOT(createLibrary()));
connect(exportLibraryAction,SIGNAL(triggered()),exportLibraryDialog,SLOT(open())); connect(exportLibraryAction,SIGNAL(triggered()),exportLibraryDialog,SLOT(open()));
connect(importLibraryAction,SIGNAL(triggered()),this,SLOT(importLibraryPackage())); connect(importLibraryAction,SIGNAL(triggered()),this,SLOT(importLibraryPackage()));
connect(openLibraryAction,SIGNAL(triggered()),this,SLOT(showAddLibrary())); connect(openLibraryAction,SIGNAL(triggered()),this,SLOT(showAddLibrary()));
connect(setAsReadAction,SIGNAL(triggered()),this,SLOT(setCurrentComicReaded())); connect(setAsReadAction,SIGNAL(triggered()),this,SLOT(setCurrentComicReaded()));
connect(setAsNonReadAction,SIGNAL(triggered()),this,SLOT(setCurrentComicUnreaded())); connect(setAsNonReadAction,SIGNAL(triggered()),this,SLOT(setCurrentComicUnreaded()));
//connect(setAllAsReadAction,SIGNAL(triggered()),this,SLOT(setComicsReaded())); //connect(setAllAsReadAction,SIGNAL(triggered()),this,SLOT(setComicsReaded()));
//connect(setAllAsNonReadAction,SIGNAL(triggered()),this,SLOT(setComicsUnreaded())); //connect(setAllAsNonReadAction,SIGNAL(triggered()),this,SLOT(setComicsUnreaded()));
//comicsInfoManagement //comicsInfoManagement
connect(exportComicsInfoAction,SIGNAL(triggered()),this,SLOT(showExportComicsInfo())); connect(exportComicsInfoAction,SIGNAL(triggered()),this,SLOT(showExportComicsInfo()));
connect(importComicsInfoAction,SIGNAL(triggered()),this,SLOT(showImportComicsInfo())); connect(importComicsInfoAction,SIGNAL(triggered()),this,SLOT(showImportComicsInfo()));
//properties & config //properties & config
connect(propertiesDialog,SIGNAL(accepted()),navigationController,SLOT(reselectCurrentSource())); connect(propertiesDialog,SIGNAL(accepted()),navigationController,SLOT(reselectCurrentSource()));
//comic vine //comic vine
connect(comicVineDialog,SIGNAL(accepted()),navigationController,SLOT(reselectCurrentSource())); connect(comicVineDialog,SIGNAL(accepted()),navigationController,SLOT(reselectCurrentSource()));
connect(updateLibraryAction,SIGNAL(triggered()),this,SLOT(updateLibrary())); connect(updateLibraryAction,SIGNAL(triggered()),this,SLOT(updateLibrary()));
connect(renameLibraryAction,SIGNAL(triggered()),this,SLOT(renameLibrary())); connect(renameLibraryAction,SIGNAL(triggered()),this,SLOT(renameLibrary()));
//connect(deleteLibraryAction,SIGNAL(triggered()),this,SLOT(deleteLibrary())); //connect(deleteLibraryAction,SIGNAL(triggered()),this,SLOT(deleteLibrary()));
connect(removeLibraryAction,SIGNAL(triggered()),this,SLOT(removeLibrary())); connect(removeLibraryAction,SIGNAL(triggered()),this,SLOT(removeLibrary()));
connect(openComicAction,SIGNAL(triggered()),this,SLOT(openComic())); connect(openComicAction,SIGNAL(triggered()),this,SLOT(openComic()));
connect(helpAboutAction,SIGNAL(triggered()),had,SLOT(show())); connect(helpAboutAction,SIGNAL(triggered()),had,SLOT(show()));
connect(addFolderAction,SIGNAL(triggered()),this,SLOT(addFolderToCurrentIndex())); connect(addFolderAction,SIGNAL(triggered()),this,SLOT(addFolderToCurrentIndex()));
connect(deleteFolderAction,SIGNAL(triggered()),this,SLOT(deleteSelectedFolder())); connect(deleteFolderAction,SIGNAL(triggered()),this,SLOT(deleteSelectedFolder()));
connect(setRootIndexAction,SIGNAL(triggered()),this,SLOT(setRootIndex())); connect(setRootIndexAction,SIGNAL(triggered()),this,SLOT(setRootIndex()));
connect(expandAllNodesAction,SIGNAL(triggered()),foldersView,SLOT(expandAll())); connect(expandAllNodesAction,SIGNAL(triggered()),foldersView,SLOT(expandAll()));
connect(colapseAllNodesAction,SIGNAL(triggered()),foldersView,SLOT(collapseAll())); connect(colapseAllNodesAction,SIGNAL(triggered()),foldersView,SLOT(collapseAll()));
#ifndef Q_OS_MAC #ifndef Q_OS_MAC
connect(toggleFullScreenAction,SIGNAL(triggered()),this,SLOT(toggleFullScreen())); connect(toggleFullScreenAction,SIGNAL(triggered()),this,SLOT(toggleFullScreen()));
#endif #endif
connect(toggleComicsViewAction,SIGNAL(triggered()),this,SLOT(toggleComicsView())); connect(toggleComicsViewAction,SIGNAL(triggered()),this,SLOT(toggleComicsView()));
connect(optionsAction, SIGNAL(triggered()),optionsDialog,SLOT(show())); connect(optionsAction, SIGNAL(triggered()),optionsDialog,SLOT(show()));
#ifdef SERVER_RELEASE #ifdef SERVER_RELEASE
connect(serverConfigAction, SIGNAL(triggered()), serverConfigDialog, SLOT(show())); connect(serverConfigAction, SIGNAL(triggered()), serverConfigDialog, SLOT(show()));
#endif #endif
connect(optionsDialog, SIGNAL(optionsChanged()),this,SLOT(reloadOptions())); connect(optionsDialog, SIGNAL(optionsChanged()),this,SLOT(reloadOptions()));
connect(optionsDialog, SIGNAL(editShortcuts()),editShortcutsDialog,SLOT(show())); connect(optionsDialog, SIGNAL(editShortcuts()),editShortcutsDialog,SLOT(show()));
//Folders filter //Folders filter
//connect(clearFoldersFilter,SIGNAL(clicked()),foldersFilter,SLOT(clear())); //connect(clearFoldersFilter,SIGNAL(clicked()),foldersFilter,SLOT(clear()));
connect(searchEdit,SIGNAL(filterChanged(YACReader::SearchModifiers, QString)),this,SLOT(setSearchFilter(YACReader::SearchModifiers, QString))); connect(searchEdit,SIGNAL(filterChanged(YACReader::SearchModifiers, QString)),this,SLOT(setSearchFilter(YACReader::SearchModifiers, QString)));
//connect(includeComicsCheckBox,SIGNAL(stateChanged(int)),this,SLOT(searchInFiles(int))); //connect(includeComicsCheckBox,SIGNAL(stateChanged(int)),this,SLOT(searchInFiles(int)));
//ContextMenus //ContextMenus
connect(openContainingFolderComicAction,SIGNAL(triggered()),this,SLOT(openContainingFolderComic())); connect(openContainingFolderComicAction,SIGNAL(triggered()),this,SLOT(openContainingFolderComic()));
connect(setFolderAsNotCompletedAction,SIGNAL(triggered()),this,SLOT(setFolderAsNotCompleted())); connect(setFolderAsNotCompletedAction,SIGNAL(triggered()),this,SLOT(setFolderAsNotCompleted()));
connect(setFolderAsCompletedAction,SIGNAL(triggered()),this,SLOT(setFolderAsCompleted())); connect(setFolderAsCompletedAction,SIGNAL(triggered()),this,SLOT(setFolderAsCompleted()));
connect(setFolderAsReadAction,SIGNAL(triggered()),this,SLOT(setFolderAsRead())); connect(setFolderAsReadAction,SIGNAL(triggered()),this,SLOT(setFolderAsRead()));
@ -1113,19 +1119,19 @@ void LibraryWindow::createConnections()
connect(openContainingFolderAction,SIGNAL(triggered()),this,SLOT(openContainingFolder())); connect(openContainingFolderAction,SIGNAL(triggered()),this,SLOT(openContainingFolder()));
connect(resetComicRatingAction,SIGNAL(triggered()),this,SLOT(resetComicRating())); connect(resetComicRatingAction,SIGNAL(triggered()),this,SLOT(resetComicRating()));
//connect(dm,SIGNAL(directoryLoaded(QString)),foldersView,SLOT(expandAll())); //connect(dm,SIGNAL(directoryLoaded(QString)),foldersView,SLOT(expandAll()));
//connect(dm,SIGNAL(directoryLoaded(QString)),this,SLOT(updateFoldersView(QString))); //connect(dm,SIGNAL(directoryLoaded(QString)),this,SLOT(updateFoldersView(QString)));
//Comicts edition //Comicts edition
connect(editSelectedComicsAction,SIGNAL(triggered()),this,SLOT(showProperties())); connect(editSelectedComicsAction,SIGNAL(triggered()),this,SLOT(showProperties()));
connect(asignOrderAction,SIGNAL(triggered()),this,SLOT(asignNumbers())); connect(asignOrderAction,SIGNAL(triggered()),this,SLOT(asignNumbers()));
connect(deleteComicsAction,SIGNAL(triggered()),this,SLOT(deleteComics())); connect(deleteComicsAction,SIGNAL(triggered()),this,SLOT(deleteComics()));
connect(hideComicViewAction, SIGNAL(toggled(bool)),this, SLOT(hideComicFlow(bool))); connect(hideComicViewAction, SIGNAL(toggled(bool)),this, SLOT(hideComicFlow(bool)));
connect(getInfoAction,SIGNAL(triggered()),this,SLOT(showComicVineScraper())); connect(getInfoAction,SIGNAL(triggered()),this,SLOT(showComicVineScraper()));
//connect(socialAction,SIGNAL(triggered()),this,SLOT(showSocial())); //connect(socialAction,SIGNAL(triggered()),this,SLOT(showSocial()));
connect(comicsViewTransition,SIGNAL(transitionFinished()),this,SLOT(showComicsView())); connect(comicsViewTransition,SIGNAL(transitionFinished()),this,SLOT(showComicsView()));
@ -1154,6 +1160,9 @@ void LibraryWindow::createConnections()
//-- //--
connect(addToFavoritesAction,SIGNAL(triggered()),this,SLOT(addSelectedComicsToFavorites())); connect(addToFavoritesAction,SIGNAL(triggered()),this,SLOT(addSelectedComicsToFavorites()));
//save covers
connect(saveCoversToAction,SIGNAL(triggered()),this,SLOT(saveSelectedCoversTo()));
} }
void LibraryWindow::loadLibrary(const QString & name) void LibraryWindow::loadLibrary(const QString & name)
@ -1646,6 +1655,7 @@ void LibraryWindow::showComicsViewContextMenu(const QPoint &point)
QMenu menu; QMenu menu;
menu.addAction(openComicAction); menu.addAction(openComicAction);
menu.addAction(saveCoversToAction);
menu.addSeparator(); menu.addSeparator();
menu.addAction(openContainingFolderComicAction); menu.addAction(openContainingFolderComicAction);
menu.addAction(updateCurrentFolderAction); menu.addAction(updateCurrentFolderAction);
@ -1680,6 +1690,7 @@ void LibraryWindow::showComicsItemContextMenu(const QPoint &point)
QMenu menu; QMenu menu;
menu.addAction(openComicAction); menu.addAction(openComicAction);
menu.addAction(saveCoversToAction);
menu.addSeparator(); menu.addSeparator();
menu.addAction(openContainingFolderComicAction); menu.addAction(openContainingFolderComicAction);
menu.addAction(updateCurrentFolderAction); menu.addAction(updateCurrentFolderAction);
@ -1745,6 +1756,26 @@ void LibraryWindow::setToolbarTitle(const QModelIndex &modelIndex)
#endif #endif
} }
void LibraryWindow::saveSelectedCoversTo()
{
QFileDialog saveDialog;
QString folderPath = saveDialog.getExistingDirectory(this,tr("Save covers"),QStandardPaths::writableLocation(QStandardPaths::DesktopLocation));
if (!folderPath.isEmpty())
{
QModelIndexList comics = getSelectedComics();
foreach(QModelIndex comic, comics)
{
QString origin = comic.data(ComicModel::CoverPathRole).toString().remove("file:///");
QString destination = QDir(folderPath).filePath(comic.data(ComicModel::FileNameRole).toString()+".jpg");
QLOG_DEBUG() << "From : " << origin;
QLOG_DEBUG() << "To : " << destination;
QFile::copy(origin,destination);
}
}
}
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);

View File

@ -182,6 +182,7 @@ private:
QAction * colapseAllNodesAction; QAction * colapseAllNodesAction;
QAction * openContainingFolderAction; QAction * openContainingFolderAction;
QAction * saveCoversToAction;
//-- //--
QAction * setFolderAsNotCompletedAction; QAction * setFolderAsNotCompletedAction;
QAction * setFolderAsCompletedAction; QAction * setFolderAsCompletedAction;
@ -395,6 +396,7 @@ public slots:
void setupAddToSubmenu(QMenu & menu); void setupAddToSubmenu(QMenu & menu);
void onAddComicsToLabel(); void onAddComicsToLabel();
void setToolbarTitle(const QModelIndex & modelIndex); void setToolbarTitle(const QModelIndex & modelIndex);
void saveSelectedCoversTo();
}; };

View File

@ -80,6 +80,7 @@ public:
#define ADD_LABEL_ACTION_YL "ADD_LABEL_ACTION_YL" #define ADD_LABEL_ACTION_YL "ADD_LABEL_ACTION_YL"
#define RENAME_LIST_ACTION_YL "RENAME_LIST_ACTION_YL" #define RENAME_LIST_ACTION_YL "RENAME_LIST_ACTION_YL"
#define ADD_TO_FAVORITES_ACTION_YL "ADD_TO_FAVORITES_ACTION_YL" #define ADD_TO_FAVORITES_ACTION_YL "ADD_TO_FAVORITES_ACTION_YL"
#define SAVE_COVERS_TO_ACTION_YL "SAVE_COVERS_TO_ACTION_YL"
//COMMANDS YACReaderLibrary //COMMANDS YACReaderLibrary