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);
|
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)
|
||||||
|
@ -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
|
||||||
@ -541,6 +542,11 @@ void LibraryWindow::createActions()
|
|||||||
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"));
|
||||||
|
|
||||||
|
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 = new QAction(tr("Set as read"),this);
|
||||||
setAsReadAction->setToolTip(tr("Set comic as read"));
|
setAsReadAction->setToolTip(tr("Set comic as read"));
|
||||||
setAsReadAction->setData(SET_AS_READ_ACTION_YL);
|
setAsReadAction->setData(SET_AS_READ_ACTION_YL);
|
||||||
@ -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);
|
||||||
|
@ -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();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user