Added drop support for copying/moving comics in the current folder

This commit is contained in:
Luis Ángel San Martín
2014-10-11 17:01:15 +02:00
parent a25818a0ca
commit 28d8bd2940
15 changed files with 393 additions and 51 deletions

View File

@ -13,8 +13,11 @@
#include "compressed_archive.h"
#include "comic_db.h"
QStringList Comic::extensions = QStringList() << "*.jpg" << "*.jpeg" << "*.png" << "*.gif" << "*.tiff" << "*.tif" << "*.bmp";
QStringList Comic::literalExtensions = QStringList() << ".jpg" << ".jpeg" << ".png" << ".gif" << ".tiff" << ".tif" << ".bmp";
QStringList Comic::imageExtensions = QStringList() << "*.jpg" << "*.jpeg" << "*.png" << "*.gif" << "*.tiff" << "*.tif" << "*.bmp";
QStringList Comic::literalImageExtensions = QStringList() << "jpg" << "jpeg" << "png" << "gif" << "tiff" << "tif" << "bmp";
QStringList Comic::comicExtensions = QStringList() << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar" << "*.pdf" << "*.7z" << "*.cb7" << "*.arj" << "*.cbt";
QStringList Comic::literalComicExtensions = QStringList() << "cbr" << "cbz" << "rar" << "zip" << "tar" << "pdf" << "7z" << "cb7" << "arj" << "cbt";
//-----------------------------------------------------------------------------
Comic::Comic()
@ -177,7 +180,13 @@ bool Comic::pageIsLoaded(int page)
{
if(page < 0 || page >= _pages.size())
return false;
return _loadedPages[page];
return _loadedPages[page];
}
bool Comic::fileIsComic(QUrl &path)
{
QFileInfo info(path.toLocalFile());
return literalComicExtensions.contains(info.suffix());
}
////////////////////////////////////////////////////////////////////////////////
@ -302,7 +311,7 @@ void FileComic::crcError(int index)
emit crcErrorFound(tr("CRC error on page (%1): some of the pages will not be displayed correctly").arg(index+1));
}
//TODO: comprobar que si se produce uno de estos errores, la carga del c<>mic es irrecuperable
//TODO: comprobar que si se produce uno de estos errores, la carga del c<>mic es irrecuperable
void FileComic::unknownError(int index)
{
Q_UNUSED(index)
@ -425,7 +434,7 @@ void FileComic::process()
return;
}
//se filtran para obtener s<>lo los formatos soportados
//se filtran para obtener s<>lo los formatos soportados
_order = archive.getFileNames();
_fileNames = filter(_order);
@ -472,7 +481,7 @@ void FileComic::process()
emit imageLoaded(sortedIndex,_pages[sortedIndex]);
}*/
emit imagesLoaded();
emit imagesLoaded();
//moveToThread(QApplication::instance()->thread());
}

View File

@ -49,8 +49,11 @@ class ComicDB;
bool _isPDF;
static QStringList extensions;
static QStringList literalExtensions;
static QStringList imageExtensions;
static QStringList literalImageExtensions;
static QStringList comicExtensions;
static QStringList literalComicExtensions;
public:
Bookmarks * bm;
@ -74,12 +77,14 @@ class ComicDB;
//QPixmap * currentPage();
bool loaded();
//QPixmap * operator[](unsigned int index);
QVector<QByteArray> * getRawData(){return &_pages;};
QVector<QByteArray> * getRawData(){return &_pages;}
QByteArray getRawPage(int page);
bool pageIsLoaded(int page);
inline static QStringList getSupportedImageFormats() { return extensions;};
inline static QStringList getSupportedImageLiteralFormats() { return literalExtensions;};
inline static QStringList getSupportedImageFormats() { return imageExtensions;}
inline static QStringList getSupportedImageLiteralFormats() { return literalImageExtensions;}
static bool fileIsComic(QUrl & path);
public slots:
void loadFinished();