mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
added 'save selected covers to...' feature
This commit is contained in:
parent
acaa4e0f24
commit
96248577ac
@ -126,6 +126,8 @@ QVariant ComicModel::data(const QModelIndex &index, int role) const
|
||||
return item->data(Number);
|
||||
else if (role == TitleRole)
|
||||
return item->data(Title).isNull()?item->data(FileName):item->data(Title);
|
||||
else if (role == FileNameRole)
|
||||
return item->data(FileName);
|
||||
else if (role == RatingRole)
|
||||
return item->data(Rating);
|
||||
else if (role == CoverPathRole)
|
||||
|
@ -344,6 +344,7 @@ void LibraryWindow::setUpShortcutsManagement()
|
||||
editShortcutsDialog->addActionsGroup("Comics",QIcon(":/images/shortcuts_group_comics.png"),
|
||||
tmpList = QList<QAction *>()
|
||||
<< openComicAction
|
||||
<< saveCoversToAction
|
||||
<< setAsReadAction
|
||||
<< setAsNonReadAction
|
||||
<< openContainingFolderComicAction
|
||||
@ -541,6 +542,11 @@ void LibraryWindow::createActions()
|
||||
openComicAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(OPEN_COMIC_ACTION_YL));
|
||||
openComicAction->setIcon(QIcon(":/images/openInYACReader.png"));
|
||||
|
||||
saveCoversToAction = new QAction(tr("Save selected covers to..."),this);
|
||||
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);
|
||||
@ -1154,6 +1160,9 @@ void LibraryWindow::createConnections()
|
||||
//--
|
||||
|
||||
connect(addToFavoritesAction,SIGNAL(triggered()),this,SLOT(addSelectedComicsToFavorites()));
|
||||
|
||||
//save covers
|
||||
connect(saveCoversToAction,SIGNAL(triggered()),this,SLOT(saveSelectedCoversTo()));
|
||||
}
|
||||
|
||||
void LibraryWindow::loadLibrary(const QString & name)
|
||||
@ -1646,6 +1655,7 @@ void LibraryWindow::showComicsViewContextMenu(const QPoint &point)
|
||||
QMenu menu;
|
||||
|
||||
menu.addAction(openComicAction);
|
||||
menu.addAction(saveCoversToAction);
|
||||
menu.addSeparator();
|
||||
menu.addAction(openContainingFolderComicAction);
|
||||
menu.addAction(updateCurrentFolderAction);
|
||||
@ -1680,6 +1690,7 @@ void LibraryWindow::showComicsItemContextMenu(const QPoint &point)
|
||||
QMenu menu;
|
||||
|
||||
menu.addAction(openComicAction);
|
||||
menu.addAction(saveCoversToAction);
|
||||
menu.addSeparator();
|
||||
menu.addAction(openContainingFolderComicAction);
|
||||
menu.addAction(updateCurrentFolderAction);
|
||||
@ -1745,6 +1756,26 @@ void LibraryWindow::setToolbarTitle(const QModelIndex &modelIndex)
|
||||
#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)
|
||||
{
|
||||
QModelIndex dest = foldersModel->index(child,0,mi);
|
||||
|
@ -182,6 +182,7 @@ private:
|
||||
QAction * colapseAllNodesAction;
|
||||
|
||||
QAction * openContainingFolderAction;
|
||||
QAction * saveCoversToAction;
|
||||
//--
|
||||
QAction * setFolderAsNotCompletedAction;
|
||||
QAction * setFolderAsCompletedAction;
|
||||
@ -395,6 +396,7 @@ public slots:
|
||||
void setupAddToSubmenu(QMenu & menu);
|
||||
void onAddComicsToLabel();
|
||||
void setToolbarTitle(const QModelIndex & modelIndex);
|
||||
void saveSelectedCoversTo();
|
||||
|
||||
};
|
||||
|
||||
|
@ -80,6 +80,7 @@ public:
|
||||
#define ADD_LABEL_ACTION_YL "ADD_LABEL_ACTION_YL"
|
||||
#define RENAME_LIST_ACTION_YL "RENAME_LIST_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
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user