mirror of
https://github.com/YACReader/yacreader
synced 2025-07-18 04:54:29 -04:00
A?adido soporte para archivos PDF
Modificados los .pro para a?adir poppler y opengl en todas las plataformas Corregido bug relacionado con la actualizaci?n del flow al cambiar su configuraci?n A?adida image de selecci?n de flow en espa?ol A?adidas 2 im?genes nuevas para los dos tipos de flow nuevos Corregidos fallos de compilaci?n en sistemas de 64bit y el include GL/glu.h A?adidas las traducciones al espa?ol de la versi?n 5.5.0 A?adida la actualizaci?n de bibliotecas a la versi?n actual A?adida carpeta de dependencias para la compilaci?n en Win32
This commit is contained in:
@ -7,6 +7,24 @@ DEPENDPATH += . \
|
|||||||
release
|
release
|
||||||
INCLUDEPATH += .
|
INCLUDEPATH += .
|
||||||
INCLUDEPATH += ../common
|
INCLUDEPATH += ../common
|
||||||
|
|
||||||
|
win32 {
|
||||||
|
INCLUDEPATH += ../dependencies/poppler/include
|
||||||
|
LIBS += -L../dependencies/poppler/lib -lpoppler-qt4
|
||||||
|
}
|
||||||
|
|
||||||
|
unix:!macx{
|
||||||
|
INCLUDEPATH += /usr/include/poppler/qt4
|
||||||
|
LIBS += -L/usr/lib -lpoppler-qt4
|
||||||
|
LIBS += -lGLU
|
||||||
|
}
|
||||||
|
|
||||||
|
macx{
|
||||||
|
INCLUDEPATH += "/Volumes/Mac OS X Lion/usr/X11/include"
|
||||||
|
INCLUDEPATH += /usr/local/include/poppler/qt4
|
||||||
|
LIBS += -L/usr/local/lib -lpoppler-qt4
|
||||||
|
}
|
||||||
|
|
||||||
QT += network webkit phonon opengl
|
QT += network webkit phonon opengl
|
||||||
CONFIG += release
|
CONFIG += release
|
||||||
CONFIG -= flat
|
CONFIG -= flat
|
||||||
|
@ -13,13 +13,13 @@
|
|||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
Comic::Comic()
|
Comic::Comic()
|
||||||
:_pages(),_index(0),_path(),_loaded(false),bm(new Bookmarks()),_loadedPages()
|
:_pages(),_index(0),_path(),_loaded(false),bm(new Bookmarks()),_loadedPages(),_isPDF(false)
|
||||||
{
|
{
|
||||||
setup();
|
setup();
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
Comic::Comic(const QString pathFile)
|
Comic::Comic(const QString pathFile)
|
||||||
:_pages(),_index(0),_path(pathFile),_loaded(false),bm(new Bookmarks()),_loadedPages()
|
:_pages(),_index(0),_path(pathFile),_loaded(false),bm(new Bookmarks()),_loadedPages(),_isPDF(false)
|
||||||
{
|
{
|
||||||
setup();
|
setup();
|
||||||
loadFromFile(pathFile);
|
loadFromFile(pathFile);
|
||||||
@ -50,7 +50,13 @@ bool Comic::load(const QString & path)
|
|||||||
|
|
||||||
if(fi.isFile())
|
if(fi.isFile())
|
||||||
{
|
{
|
||||||
loadFromFile(path);
|
if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0)
|
||||||
|
{
|
||||||
|
_isPDF = true;
|
||||||
|
loadFromPDF(path);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
loadFromFile(path);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -87,43 +93,96 @@ void Comic::loadFromDir(const QString & pathDir)
|
|||||||
start();
|
start();
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
void Comic::loadFromPDF(const QString & pathPdf)
|
||||||
|
{
|
||||||
|
_path = pathPdf;
|
||||||
|
start();
|
||||||
|
}
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
void Comic::run()
|
void Comic::run()
|
||||||
{
|
{
|
||||||
QDir d(_pathDir);
|
if(_isPDF)
|
||||||
QStringList l;
|
|
||||||
l EXTENSIONS;
|
|
||||||
d.setNameFilters(l);
|
|
||||||
d.setFilter(QDir::Files|QDir::NoDotAndDotDot);
|
|
||||||
//d.setSorting(QDir::Name|QDir::IgnoreCase|QDir::LocaleAware);
|
|
||||||
QFileInfoList list = d.entryInfoList();
|
|
||||||
|
|
||||||
qSort(list.begin(),list.end(),naturalSortLessThanCIFileInfo);
|
|
||||||
|
|
||||||
int nPages = list.size();
|
|
||||||
_pages.clear();
|
|
||||||
_pages.resize(nPages);
|
|
||||||
_loadedPages = QVector<bool>(nPages,false);
|
|
||||||
if(nPages==0)
|
|
||||||
{
|
{
|
||||||
QMessageBox::critical(NULL,tr("No images found"),tr("There are not images on the selected folder"));
|
pdfComic = Poppler::Document::load(_path);
|
||||||
emit errorOpening();
|
if (!pdfComic)
|
||||||
|
{
|
||||||
|
delete pdfComic;
|
||||||
|
pdfComic = 0;
|
||||||
|
QMessageBox::critical(NULL,tr("Bad PDF File"),tr("Invalid PDF file"));
|
||||||
|
emit errorOpening();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//pdfComic->setRenderHint(Poppler::Document::Antialiasing, true);
|
||||||
|
pdfComic->setRenderHint(Poppler::Document::TextAntialiasing, true);
|
||||||
|
int nPages = pdfComic->numPages();
|
||||||
|
emit pageChanged(0); // this indicates new comic, index=0
|
||||||
|
emit numPages(nPages);
|
||||||
|
_loaded = true;
|
||||||
|
//QMessageBox::critical(NULL,QString("%1").arg(nPages),tr("Invalid PDF file"));
|
||||||
|
|
||||||
|
_pages.clear();
|
||||||
|
_pages.resize(nPages);
|
||||||
|
_loadedPages = QVector<bool>(nPages,false);
|
||||||
|
for(int i=0;i<nPages;i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
Poppler::Page* pdfpage = pdfComic->page(i);
|
||||||
|
if (pdfpage)
|
||||||
|
{
|
||||||
|
QImage img = pdfpage->renderToImage(150,150); //TODO use defaults if not using X11 (e.g. MS Win)
|
||||||
|
delete pdfpage;
|
||||||
|
QByteArray ba;
|
||||||
|
QBuffer buf(&ba);
|
||||||
|
img.save(&buf, "jpg");
|
||||||
|
_pages[i] = ba;
|
||||||
|
emit imageLoaded(i);
|
||||||
|
emit imageLoaded(i,_pages[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
delete pdfComic;
|
||||||
|
emit imagesLoaded();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
emit pageChanged(0); // this indicates new comic, index=0
|
QDir d(_pathDir);
|
||||||
emit numPages(_pages.size());
|
QStringList l;
|
||||||
_loaded = true;
|
l EXTENSIONS;
|
||||||
|
d.setNameFilters(l);
|
||||||
for(int i=0;i<nPages;i++)
|
d.setFilter(QDir::Files|QDir::NoDotAndDotDot);
|
||||||
{
|
//d.setSorting(QDir::Name|QDir::IgnoreCase|QDir::LocaleAware);
|
||||||
QFile f(list.at(i).absoluteFilePath());
|
QFileInfoList list = d.entryInfoList();
|
||||||
f.open(QIODevice::ReadOnly);
|
|
||||||
_pages[i]=f.readAll();
|
qSort(list.begin(),list.end(),naturalSortLessThanCIFileInfo);
|
||||||
emit imageLoaded(i);
|
|
||||||
emit imageLoaded(i,_pages[i]);
|
int nPages = list.size();
|
||||||
}
|
_pages.clear();
|
||||||
|
_pages.resize(nPages);
|
||||||
|
_loadedPages = QVector<bool>(nPages,false);
|
||||||
|
if(nPages==0)
|
||||||
|
{
|
||||||
|
QMessageBox::critical(NULL,tr("No images found"),tr("There are not images on the selected folder"));
|
||||||
|
emit errorOpening();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
emit pageChanged(0); // this indicates new comic, index=0
|
||||||
|
emit numPages(_pages.size());
|
||||||
|
_loaded = true;
|
||||||
|
|
||||||
|
for(int i=0;i<nPages;i++)
|
||||||
|
{
|
||||||
|
QFile f(list.at(i).absoluteFilePath());
|
||||||
|
f.open(QIODevice::ReadOnly);
|
||||||
|
_pages[i]=f.readAll();
|
||||||
|
emit imageLoaded(i);
|
||||||
|
emit imageLoaded(i,_pages[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
emit imagesLoaded();
|
||||||
}
|
}
|
||||||
emit imagesLoaded();
|
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void Comic::loadSizes()
|
void Comic::loadSizes()
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
#include "bookmarks.h"
|
#include "bookmarks.h"
|
||||||
|
|
||||||
|
#include "poppler-qt4.h"
|
||||||
|
|
||||||
class Comic : public QThread
|
class Comic : public QThread
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -28,6 +30,9 @@
|
|||||||
QString _pathDir;
|
QString _pathDir;
|
||||||
Bookmarks * bm;
|
Bookmarks * bm;
|
||||||
void run();
|
void run();
|
||||||
|
//pdf
|
||||||
|
Poppler::Document * pdfComic;
|
||||||
|
bool _isPDF;
|
||||||
public:
|
public:
|
||||||
//Constructors
|
//Constructors
|
||||||
Comic();
|
Comic();
|
||||||
@ -38,6 +43,7 @@
|
|||||||
bool load(const QString & path);
|
bool load(const QString & path);
|
||||||
void loadFromFile(const QString & pathFile);
|
void loadFromFile(const QString & pathFile);
|
||||||
void loadFromDir(const QString & pathDir);
|
void loadFromDir(const QString & pathDir);
|
||||||
|
void loadFromPDF(const QString & pathPDF);
|
||||||
int nextPage();
|
int nextPage();
|
||||||
int previousPage();
|
int previousPage();
|
||||||
void setIndex(unsigned int index);
|
void setIndex(unsigned int index);
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
<file>../images/flow1.png</file>
|
<file>../images/flow1.png</file>
|
||||||
<file>../images/flow2.png</file>
|
<file>../images/flow2.png</file>
|
||||||
<file>../images/flow3.png</file>
|
<file>../images/flow3.png</file>
|
||||||
|
<file>../images/flow4.png</file>
|
||||||
|
<file>../images/flow5.png</file>
|
||||||
<file>../images/bookmark.png</file>
|
<file>../images/bookmark.png</file>
|
||||||
<file>../images/setBookmark.png</file>
|
<file>../images/setBookmark.png</file>
|
||||||
<file>../images/notCover.png</file>
|
<file>../images/notCover.png</file>
|
||||||
@ -64,7 +66,8 @@
|
|||||||
<file>../images/helpImages/mouse.png</file>
|
<file>../images/helpImages/mouse.png</file>
|
||||||
<file>../images/helpImages/speaker.png</file>
|
<file>../images/helpImages/speaker.png</file>
|
||||||
<file>../images/defaultCover.png</file>
|
<file>../images/defaultCover.png</file>
|
||||||
<file>../images/onStartFlowSelection.png</file>
|
<file>../images/onStartFlowSelection.png</file>
|
||||||
|
<file>../images/onStartFlowSelection_es.png</file>
|
||||||
<file>../images/useNewFlowButton.png</file>
|
<file>../images/useNewFlowButton.png</file>
|
||||||
<file>../images/useOldFlowButton.png</file>
|
<file>../images/useOldFlowButton.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
|
@ -395,7 +395,7 @@ void MainWindowViewer::reloadOptions()
|
|||||||
void MainWindowViewer::open()
|
void MainWindowViewer::open()
|
||||||
{
|
{
|
||||||
QFileDialog openDialog;
|
QFileDialog openDialog;
|
||||||
QString pathFile = openDialog.getOpenFileName(this,tr("Open Comic"),currentDirectory,tr("Comic files (*.cbr *.cbz *.rar *.zip *.tar *.arj)"));
|
QString pathFile = openDialog.getOpenFileName(this,tr("Open Comic"),currentDirectory,tr("Comic files (*.cbr *.cbz *.rar *.zip *.pdf *.tar *.arj)"));
|
||||||
if (!pathFile.isEmpty())
|
if (!pathFile.isEmpty())
|
||||||
{
|
{
|
||||||
openComicFromPath(pathFile);
|
openComicFromPath(pathFile);
|
||||||
|
@ -85,7 +85,7 @@ OptionsDialog::OptionsDialog(QWidget * parent)
|
|||||||
//restoreOptions(); //load options
|
//restoreOptions(); //load options
|
||||||
resize(400,0);
|
resize(400,0);
|
||||||
setModal (true);
|
setModal (true);
|
||||||
setWindowTitle("Options");
|
setWindowTitle(tr("Options"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionsDialog::findFolder()
|
void OptionsDialog::findFolder()
|
||||||
|
Binary file not shown.
@ -28,85 +28,138 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Comic</name>
|
<name>Comic</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="57"/>
|
<location filename="comic.cpp" line="72"/>
|
||||||
<source>Not found</source>
|
<source>Not found</source>
|
||||||
<translation>No encontrado</translation>
|
<translation>No encontrado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="57"/>
|
<location filename="comic.cpp" line="72"/>
|
||||||
<source>Comic not found</source>
|
<source>Comic not found</source>
|
||||||
<translation>Cómic no encontrado</translation>
|
<translation>Cómic no encontrado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="98"/>
|
<location filename="comic.cpp" line="111"/>
|
||||||
|
<source>Bad PDF File</source>
|
||||||
|
<translation>Archivo PDF erróneo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="111"/>
|
||||||
|
<source>Invalid PDF file</source>
|
||||||
|
<translation>Archivo PDF inválido</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="166"/>
|
||||||
<source>No images found</source>
|
<source>No images found</source>
|
||||||
<translation>No se han encontrado imágenes</translation>
|
<translation>No se han encontrado imágenes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="98"/>
|
<location filename="comic.cpp" line="166"/>
|
||||||
<source>There are not images on the selected folder</source>
|
<source>There are not images on the selected folder</source>
|
||||||
<translation>No hay imágenes en el directorio seleccionado</translation>
|
<translation>No hay imágenes en el directorio seleccionado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="139"/>
|
<location filename="comic.cpp" line="208"/>
|
||||||
<source>File error</source>
|
<source>File error</source>
|
||||||
<translation>Error en archivo</translation>
|
<translation>Error en archivo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="139"/>
|
<location filename="comic.cpp" line="208"/>
|
||||||
<source>File not found or not images in file</source>
|
<source>File not found or not images in file</source>
|
||||||
<translation>Archivo no encontrado o no hay imágenes en él</translation>
|
<translation>Archivo no encontrado o no hay imágenes en él</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="192"/>
|
<location filename="comic.cpp" line="262"/>
|
||||||
<source>7z not found</source>
|
<source>7z not found</source>
|
||||||
<translation>7z no encontrado</translation>
|
<translation>7z no encontrado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="192"/>
|
<location filename="comic.cpp" line="262"/>
|
||||||
<source>7z wasn't found in your PATH.</source>
|
<source>7z wasn't found in your PATH.</source>
|
||||||
<translation>7z no se ha encontrado en el PATH.</translation>
|
<translation>7z no se ha encontrado en el PATH.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="195"/>
|
<location filename="comic.cpp" line="265"/>
|
||||||
<source>7z crashed</source>
|
<source>7z crashed</source>
|
||||||
<translation>7z falló</translation>
|
<translation>7z falló</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="195"/>
|
<location filename="comic.cpp" line="265"/>
|
||||||
<source>7z crashed.</source>
|
<source>7z crashed.</source>
|
||||||
<translation>7z falló.</translation>
|
<translation>7z falló.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="198"/>
|
<location filename="comic.cpp" line="268"/>
|
||||||
<source>7z reading</source>
|
<source>7z reading</source>
|
||||||
<translation>7z leyendo</translation>
|
<translation>7z leyendo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="198"/>
|
<location filename="comic.cpp" line="268"/>
|
||||||
<source>problem reading from 7z</source>
|
<source>problem reading from 7z</source>
|
||||||
<translation>Problema leyendo desde 7z</translation>
|
<translation>Problema leyendo desde 7z</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="201"/>
|
<location filename="comic.cpp" line="271"/>
|
||||||
<source>7z problem</source>
|
<source>7z problem</source>
|
||||||
<translation>7z problema</translation>
|
<translation>7z problema</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="201"/>
|
<location filename="comic.cpp" line="271"/>
|
||||||
<source>Unknown error 7z</source>
|
<source>Unknown error 7z</source>
|
||||||
<translation>Error desconocido 7z</translation>
|
<translation>Error desconocido 7z</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Comic2</name>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="544"/>
|
||||||
|
<source>7z not found</source>
|
||||||
|
<translation type="unfinished">7z no encontrado</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="544"/>
|
||||||
|
<source>7z wasn't found in your PATH.</source>
|
||||||
|
<translation type="unfinished">7z no se ha encontrado en el PATH.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="547"/>
|
||||||
|
<source>7z crashed</source>
|
||||||
|
<translation type="unfinished">7z falló</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="547"/>
|
||||||
|
<source>7z crashed.</source>
|
||||||
|
<translation type="unfinished">7z falló.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="550"/>
|
||||||
|
<source>7z reading</source>
|
||||||
|
<translation type="unfinished">7z leyendo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="550"/>
|
||||||
|
<source>problem reading from 7z</source>
|
||||||
|
<translation type="unfinished">Problema leyendo desde 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="553"/>
|
||||||
|
<source>7z problem</source>
|
||||||
|
<translation type="unfinished">7z problema</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="553"/>
|
||||||
|
<source>Unknown error 7z</source>
|
||||||
|
<translation type="unfinished">Error desconocido 7z</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Configuration</name>
|
<name>Configuration</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="configuration.cpp" line="148"/>
|
<location filename="configuration.cpp" line="167"/>
|
||||||
<source>Saving config file....</source>
|
<source>Saving config file....</source>
|
||||||
<translation>Guardando el archivo de configuración...</translation>
|
<translation>Guardando el archivo de configuración...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="configuration.cpp" line="148"/>
|
<location filename="configuration.cpp" line="167"/>
|
||||||
<source>There was a problem saving YACReader configuration. Please, check if you have enough permissions in the YACReader root folder.</source>
|
<source>There was a problem saving YACReader configuration. Please, check if you have enough permissions in the YACReader root folder.</source>
|
||||||
<translation>Hubo un problema al guardar la configuración de YACReader. Por favor, comprueba si tienes suficientes permisos en el directorio raíz de YACReader.</translation>
|
<translation>Hubo un problema al guardar la configuración de YACReader. Por favor, comprueba si tienes suficientes permisos en el directorio raíz de YACReader.</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -152,15 +205,23 @@
|
|||||||
<translation type="obsolete">Page:</translation>
|
<translation type="obsolete">Page:</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>GoToFlowGL</name>
|
||||||
|
<message>
|
||||||
|
<location filename="goto_flow_gl.cpp" line="28"/>
|
||||||
|
<source>Page : </source>
|
||||||
|
<translation>Página :</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>HelpAboutDialog</name>
|
<name>HelpAboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="32"/>
|
<location filename="../common/custom_widgets.cpp" line="37"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Acerca de</translation>
|
<translation>Acerca de</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="35"/>
|
<location filename="../common/custom_widgets.cpp" line="40"/>
|
||||||
<source>Help</source>
|
<source>Help</source>
|
||||||
<translation>Ayuda</translation>
|
<translation>Ayuda</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -168,294 +229,298 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindowViewer</name>
|
<name>MainWindowViewer</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="104"/>
|
<location filename="main_window_viewer.cpp" line="119"/>
|
||||||
<source>&Open</source>
|
<source>&Open</source>
|
||||||
<translation>&Abrir</translation>
|
<translation>&Abrir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="105"/>
|
<location filename="main_window_viewer.cpp" line="120"/>
|
||||||
<source>O</source>
|
<source>O</source>
|
||||||
<translation>O</translation>
|
<translation>O</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="107"/>
|
<location filename="main_window_viewer.cpp" line="122"/>
|
||||||
<source>Open a comic</source>
|
<source>Open a comic</source>
|
||||||
<translation>Abrir cómic</translation>
|
<translation>Abrir cómic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="110"/>
|
<location filename="main_window_viewer.cpp" line="125"/>
|
||||||
<source>Open Folder</source>
|
<source>Open Folder</source>
|
||||||
<translation>Abrir carpeta</translation>
|
<translation>Abrir carpeta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="111"/>
|
<location filename="main_window_viewer.cpp" line="126"/>
|
||||||
<source>Ctrl+O</source>
|
<source>Ctrl+O</source>
|
||||||
<translation>Ctrl+O</translation>
|
<translation>Ctrl+O</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="113"/>
|
<location filename="main_window_viewer.cpp" line="128"/>
|
||||||
<source>Open image folder</source>
|
<source>Open image folder</source>
|
||||||
<oldsource>Open images in a folder</oldsource>
|
<oldsource>Open images in a folder</oldsource>
|
||||||
<translation>Abrir carpeta de imágenes</translation>
|
<translation>Abrir carpeta de imágenes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="116"/>
|
<location filename="main_window_viewer.cpp" line="131"/>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation>Guardar</translation>
|
<translation>Guardar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="118"/>
|
<location filename="main_window_viewer.cpp" line="133"/>
|
||||||
<location filename="main_window_viewer.cpp" line="400"/>
|
<location filename="main_window_viewer.cpp" line="442"/>
|
||||||
<source>Save current page</source>
|
<source>Save current page</source>
|
||||||
<translation>Guardar la página actual</translation>
|
<translation>Guardar la página actual</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="122"/>
|
<location filename="main_window_viewer.cpp" line="137"/>
|
||||||
<source>Previous Comic</source>
|
<source>Previous Comic</source>
|
||||||
<translation>Cómic anterior</translation>
|
<translation>Cómic anterior</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="125"/>
|
<location filename="main_window_viewer.cpp" line="140"/>
|
||||||
<source>Open previous comic</source>
|
<source>Open previous comic</source>
|
||||||
<translation>Abrir cómic anterior</translation>
|
<translation>Abrir cómic anterior</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="129"/>
|
<location filename="main_window_viewer.cpp" line="144"/>
|
||||||
<source>Next Comic</source>
|
<source>Next Comic</source>
|
||||||
<translation>Siguiente Cómic</translation>
|
<translation>Siguiente Cómic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="132"/>
|
<location filename="main_window_viewer.cpp" line="147"/>
|
||||||
<source>Open next comic</source>
|
<source>Open next comic</source>
|
||||||
<translation>Abrir siguiente cómic</translation>
|
<translation>Abrir siguiente cómic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="136"/>
|
<location filename="main_window_viewer.cpp" line="151"/>
|
||||||
<source>&Previous</source>
|
<source>&Previous</source>
|
||||||
<translation>A&nterior</translation>
|
<translation>A&nterior</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="139"/>
|
<location filename="main_window_viewer.cpp" line="154"/>
|
||||||
<source>Go to previous page</source>
|
<source>Go to previous page</source>
|
||||||
<translation>Ir a la página anterior</translation>
|
<translation>Ir a la página anterior</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="143"/>
|
<location filename="main_window_viewer.cpp" line="158"/>
|
||||||
<source>&Next</source>
|
<source>&Next</source>
|
||||||
<translation>Siguie&nte</translation>
|
<translation>Siguie&nte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="146"/>
|
<location filename="main_window_viewer.cpp" line="161"/>
|
||||||
<source>Go to next page</source>
|
<source>Go to next page</source>
|
||||||
<translation>Ir a la página siguiente</translation>
|
<translation>Ir a la página siguiente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="150"/>
|
<location filename="main_window_viewer.cpp" line="165"/>
|
||||||
<source>Fit Width</source>
|
<source>Fit Width</source>
|
||||||
<translation>Ajustar anchura</translation>
|
<translation>Ajustar anchura</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="151"/>
|
<location filename="main_window_viewer.cpp" line="166"/>
|
||||||
<source>A</source>
|
<source>A</source>
|
||||||
<translation>A</translation>
|
<translation>A</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="156"/>
|
<location filename="main_window_viewer.cpp" line="171"/>
|
||||||
<source>Fit image to ...</source>
|
<source>Fit image to ...</source>
|
||||||
<translation>Ajustar imagen a...</translation>
|
<translation>Ajustar imagen a...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="160"/>
|
<location filename="main_window_viewer.cpp" line="175"/>
|
||||||
<source>Rotate image to the left</source>
|
<source>Rotate image to the left</source>
|
||||||
<translation>Rotar imagen a la izquierda</translation>
|
<translation>Rotar imagen a la izquierda</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="161"/>
|
<location filename="main_window_viewer.cpp" line="176"/>
|
||||||
<source>L</source>
|
<source>L</source>
|
||||||
<translation>L</translation>
|
<translation>L</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="166"/>
|
<location filename="main_window_viewer.cpp" line="181"/>
|
||||||
<source>Rotate image to the right</source>
|
<source>Rotate image to the right</source>
|
||||||
<translation>Rotar imagen a la derecha</translation>
|
<translation>Rotar imagen a la derecha</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="167"/>
|
<location filename="main_window_viewer.cpp" line="182"/>
|
||||||
<source>R</source>
|
<source>R</source>
|
||||||
<translation>R</translation>
|
<translation>R</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="172"/>
|
<location filename="main_window_viewer.cpp" line="187"/>
|
||||||
<source>Double page mode</source>
|
<source>Double page mode</source>
|
||||||
<translation>Modo a doble página</translation>
|
<translation>Modo a doble página</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="173"/>
|
<location filename="main_window_viewer.cpp" line="188"/>
|
||||||
<source>Switch to double page mode</source>
|
<source>Switch to double page mode</source>
|
||||||
<translation>Cambiar a modo de doble página</translation>
|
<translation>Cambiar a modo de doble página</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="174"/>
|
<location filename="main_window_viewer.cpp" line="189"/>
|
||||||
<source>D</source>
|
<source>D</source>
|
||||||
<translation>D</translation>
|
<translation>D</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="181"/>
|
<location filename="main_window_viewer.cpp" line="196"/>
|
||||||
<source>Go To</source>
|
<source>Go To</source>
|
||||||
<translation>Ir a</translation>
|
<translation>Ir a</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="182"/>
|
<location filename="main_window_viewer.cpp" line="197"/>
|
||||||
<source>G</source>
|
<source>G</source>
|
||||||
<translation>G</translation>
|
<translation>G</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="185"/>
|
<location filename="main_window_viewer.cpp" line="200"/>
|
||||||
<source>Go to page ...</source>
|
<source>Go to page ...</source>
|
||||||
<translation>Ir a página...</translation>
|
<translation>Ir a página...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="188"/>
|
<location filename="main_window_viewer.cpp" line="203"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation>Opciones</translation>
|
<translation>Opciones</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="189"/>
|
<location filename="main_window_viewer.cpp" line="204"/>
|
||||||
<source>C</source>
|
<source>C</source>
|
||||||
<translation>C</translation>
|
<translation>C</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="190"/>
|
<location filename="main_window_viewer.cpp" line="205"/>
|
||||||
<source>YACReader options</source>
|
<source>YACReader options</source>
|
||||||
<translation>Opciones de YACReader</translation>
|
<translation>Opciones de YACReader</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="195"/>
|
<location filename="main_window_viewer.cpp" line="210"/>
|
||||||
<source>Help</source>
|
<source>Help</source>
|
||||||
<translation>Ayuda</translation>
|
<translation>Ayuda</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="196"/>
|
<location filename="main_window_viewer.cpp" line="211"/>
|
||||||
<source>Help, About YACReader</source>
|
<source>Help, About YACReader</source>
|
||||||
<translation>Ayuda, Sobre YACReader</translation>
|
<translation>Ayuda, Sobre YACReader</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="201"/>
|
<location filename="main_window_viewer.cpp" line="216"/>
|
||||||
<source>Magnifying glass</source>
|
<source>Magnifying glass</source>
|
||||||
<translation>Lupa</translation>
|
<translation>Lupa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="202"/>
|
<location filename="main_window_viewer.cpp" line="217"/>
|
||||||
<source>Switch Magnifying glass</source>
|
<source>Switch Magnifying glass</source>
|
||||||
<translation>Lupa On/Off</translation>
|
<translation>Lupa On/Off</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="203"/>
|
<location filename="main_window_viewer.cpp" line="218"/>
|
||||||
<source>Z</source>
|
<source>Z</source>
|
||||||
<translation>Z</translation>
|
<translation>Z</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="209"/>
|
<location filename="main_window_viewer.cpp" line="224"/>
|
||||||
<source>Set bookmark</source>
|
<source>Set bookmark</source>
|
||||||
<translation>Añadir marcador</translation>
|
<translation>Añadir marcador</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="210"/>
|
<location filename="main_window_viewer.cpp" line="225"/>
|
||||||
<source>Set a bookmark on the current page</source>
|
<source>Set a bookmark on the current page</source>
|
||||||
<translation>Añadir un marcador en la página actual</translation>
|
<translation>Añadir un marcador en la página actual</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="219"/>
|
<location filename="main_window_viewer.cpp" line="234"/>
|
||||||
<source>Show bookmarks</source>
|
<source>Show bookmarks</source>
|
||||||
<translation>Mostrar marcadores</translation>
|
<translation>Mostrar marcadores</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="220"/>
|
<location filename="main_window_viewer.cpp" line="235"/>
|
||||||
<source>Show the bookmarks of the current comic</source>
|
<source>Show the bookmarks of the current comic</source>
|
||||||
<translation>Mostrar los marcadores del cómic actual</translation>
|
<translation>Mostrar los marcadores del cómic actual</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="221"/>
|
<location filename="main_window_viewer.cpp" line="236"/>
|
||||||
<source>M</source>
|
<source>M</source>
|
||||||
<translation>M</translation>
|
<translation>M</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="226"/>
|
<location filename="main_window_viewer.cpp" line="241"/>
|
||||||
<source>Show keyboard shortcuts</source>
|
<source>Show keyboard shortcuts</source>
|
||||||
<translation>Mostrar atajos de teclado</translation>
|
<translation>Mostrar atajos de teclado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="230"/>
|
<location filename="main_window_viewer.cpp" line="245"/>
|
||||||
<source>Show Info</source>
|
<source>Show Info</source>
|
||||||
<translation>Mostrar información</translation>
|
<translation>Mostrar información</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="231"/>
|
<location filename="main_window_viewer.cpp" line="246"/>
|
||||||
<source>I</source>
|
<source>I</source>
|
||||||
<translation>I</translation>
|
<translation>I</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="236"/>
|
<location filename="main_window_viewer.cpp" line="251"/>
|
||||||
<source>Close</source>
|
<source>Close</source>
|
||||||
<translation>Cerrar</translation>
|
<translation>Cerrar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="241"/>
|
<location filename="main_window_viewer.cpp" line="256"/>
|
||||||
<source>Show Dictionary</source>
|
<source>Show Dictionary</source>
|
||||||
<translation>Mostrar diccionario</translation>
|
<translation>Mostrar diccionario</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="248"/>
|
<location filename="main_window_viewer.cpp" line="263"/>
|
||||||
<source>Always on top</source>
|
<source>Always on top</source>
|
||||||
<translation>Siempre visible</translation>
|
<translation>Siempre visible</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="256"/>
|
<location filename="main_window_viewer.cpp" line="271"/>
|
||||||
<source>Show full size</source>
|
<source>Show full size</source>
|
||||||
<translation>Mostrar a tamaño original</translation>
|
<translation>Mostrar a tamaño original</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="267"/>
|
<location filename="main_window_viewer.cpp" line="282"/>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
<translation>&Archivo</translation>
|
<translation>&Archivo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="362"/>
|
<location filename="main_window_viewer.cpp" line="398"/>
|
||||||
<source>Open Comic</source>
|
<source>Open Comic</source>
|
||||||
<translation>Abrir cómic</translation>
|
<translation>Abrir cómic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="362"/>
|
<location filename="main_window_viewer.cpp" line="398"/>
|
||||||
<source>Comic files (*.cbr *.cbz *.rar *.zip *.tar *.arj)</source>
|
<source>Comic files (*.cbr *.cbz *.rar *.zip *.pdf *.tar *.arj)</source>
|
||||||
<translation>Archivos de cómic (*.cbr *.cbz *.rar *.zip *.tar *.arj)</translation>
|
<translation>Archivos de cómic (*.cbr *.cbz *.rar *.zip *pdf *.tar *.arj)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="381"/>
|
<source>Comic files (*.cbr *.cbz *.rar *.zip *.tar *.arj)</source>
|
||||||
|
<translation type="obsolete">Archivos de cómic (*.cbr *.cbz *.rar *.zip *.tar *.arj)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="main_window_viewer.cpp" line="420"/>
|
||||||
<source>Open folder</source>
|
<source>Open folder</source>
|
||||||
<translation>Abrir carpeta</translation>
|
<translation>Abrir carpeta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="400"/>
|
<location filename="main_window_viewer.cpp" line="442"/>
|
||||||
<source>Image files (*.jpg)</source>
|
<source>Image files (*.jpg)</source>
|
||||||
<translation>Archivos de imagen (*.jpg)</translation>
|
<translation>Archivos de imagen (*.jpg)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="533"/>
|
<location filename="main_window_viewer.cpp" line="578"/>
|
||||||
<source>There is a new version avaliable</source>
|
<source>There is a new version avaliable</source>
|
||||||
<translation>Hay una nueva versión disponible</translation>
|
<translation>Hay una nueva versión disponible</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="534"/>
|
<location filename="main_window_viewer.cpp" line="579"/>
|
||||||
<source>Do you want to download the new version?</source>
|
<source>Do you want to download the new version?</source>
|
||||||
<translation>¿Desea descargar la nueva versión?</translation>
|
<translation>¿Desea descargar la nueva versión?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="593"/>
|
<location filename="main_window_viewer.cpp" line="642"/>
|
||||||
<source>Saving error log file....</source>
|
<source>Saving error log file....</source>
|
||||||
<translation>Guardando el archivo de log...</translation>
|
<translation>Guardando el archivo de log...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="593"/>
|
<location filename="main_window_viewer.cpp" line="642"/>
|
||||||
<source>There was a problem saving YACReader error log file. Please, check if you have enough permissions in the YACReader root folder.</source>
|
<source>There was a problem saving YACReader error log file. Please, check if you have enough permissions in the YACReader root folder.</source>
|
||||||
<translation>Hubo un problema al guardar el archivo de log de YACReader. Por favor, comprueba si tienes suficientes permisos en el directorio raíz de YACReader.</translation>
|
<translation>Hubo un problema al guardar el archivo de log de YACReader. Por favor, comprueba si tienes suficientes permisos en el directorio raíz de YACReader.</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -473,58 +538,44 @@
|
|||||||
<translation>Ruta a mis cómics</translation>
|
<translation>Ruta a mis cómics</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="35"/>
|
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation>Guardar</translation>
|
<translation type="obsolete">Guardar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="obsolete">Cancelar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>How to show pages in GoToFlow:</source>
|
||||||
|
<translation type="obsolete">¿Cómo deseas que se muestren las páginas en "Go To Flow":</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="36"/>
|
<location filename="options_dialog.cpp" line="36"/>
|
||||||
<source>Cancel</source>
|
|
||||||
<translation>Cancelar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="41"/>
|
|
||||||
<source>How to show pages in GoToFlow:</source>
|
|
||||||
<translation>¿Cómo deseas que se muestren las páginas en "Go To Flow":</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="43"/>
|
|
||||||
<source>CoverFlow look</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="44"/>
|
|
||||||
<source>Stripe look</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="45"/>
|
|
||||||
<source>Overlapped Stripe look</source>
|
|
||||||
<oldsource>Overlaped Stripe look</oldsource>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="78"/>
|
|
||||||
<source>Page width stretch</source>
|
<source>Page width stretch</source>
|
||||||
<translation>Ajuste en anchura de la página</translation>
|
<translation>Ajuste en anchura de la página</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="98"/>
|
<location filename="options_dialog.cpp" line="57"/>
|
||||||
<source>Background color</source>
|
<source>Background color</source>
|
||||||
<translation>Color de fondo</translation>
|
<translation>Color de fondo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="101"/>
|
<location filename="options_dialog.cpp" line="60"/>
|
||||||
<source>Choose</source>
|
<source>Choose</source>
|
||||||
<translation>Elegir</translation>
|
<translation>Elegir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="108"/>
|
<location filename="options_dialog.cpp" line="67"/>
|
||||||
<source>Restart is needed</source>
|
<source>Restart is needed</source>
|
||||||
<translation>Es necesario reiniciar</translation>
|
<translation>Es necesario reiniciar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="134"/>
|
<location filename="options_dialog.cpp" line="88"/>
|
||||||
|
<source>Options</source>
|
||||||
|
<translation>Opciones</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="options_dialog.cpp" line="93"/>
|
||||||
<source>Comics directory</source>
|
<source>Comics directory</source>
|
||||||
<translation>Directorio de cómics</translation>
|
<translation>Directorio de cómics</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -557,8 +608,8 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Viewer</name>
|
<name>Viewer</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="viewer.cpp" line="39"/>
|
<location filename="viewer.cpp" line="41"/>
|
||||||
<location filename="viewer.cpp" line="567"/>
|
<location filename="viewer.cpp" line="607"/>
|
||||||
<source>Press 'O' to open comic.</source>
|
<source>Press 'O' to open comic.</source>
|
||||||
<translation>Pulsa 'O' para abrir un fichero.</translation>
|
<translation>Pulsa 'O' para abrir un fichero.</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -571,7 +622,7 @@
|
|||||||
<translation type="obsolete">I</translation>
|
<translation type="obsolete">I</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="viewer.cpp" line="580"/>
|
<location filename="viewer.cpp" line="620"/>
|
||||||
<source>Loading...please wait!</source>
|
<source>Loading...please wait!</source>
|
||||||
<translation>Cargando...espere, por favor!</translation>
|
<translation>Cargando...espere, por favor!</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -579,13 +630,13 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>YACReaderFieldEdit</name>
|
<name>YACReaderFieldEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="383"/>
|
<location filename="../common/custom_widgets.cpp" line="424"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="403"/>
|
<location filename="../common/custom_widgets.cpp" line="444"/>
|
||||||
<source>Click to overwrite</source>
|
<source>Click to overwrite</source>
|
||||||
<translation>Click para sobreescribir</translation>
|
<translation>Click para sobreescribir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="385"/>
|
<location filename="../common/custom_widgets.cpp" line="426"/>
|
||||||
<source>Restore to default</source>
|
<source>Restore to default</source>
|
||||||
<translation>Restaurar valor por defecto</translation>
|
<translation>Restaurar valor por defecto</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -593,17 +644,171 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>YACReaderFieldPlainTextEdit</name>
|
<name>YACReaderFieldPlainTextEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="421"/>
|
<location filename="../common/custom_widgets.cpp" line="465"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="432"/>
|
<location filename="../common/custom_widgets.cpp" line="476"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="457"/>
|
<location filename="../common/custom_widgets.cpp" line="501"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="463"/>
|
<location filename="../common/custom_widgets.cpp" line="507"/>
|
||||||
<source>Click to overwrite</source>
|
<source>Click to overwrite</source>
|
||||||
<translation>Click para sobreescribir</translation>
|
<translation>Click para sobreescribir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="422"/>
|
<location filename="../common/custom_widgets.cpp" line="466"/>
|
||||||
<source>Restore to default</source>
|
<source>Restore to default</source>
|
||||||
<translation>Restaurar valor por defecto</translation>
|
<translation>Restaurar valor por defecto</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderFlowConfigWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1155"/>
|
||||||
|
<source>How to show covers:</source>
|
||||||
|
<translation>Cómo mostrar las portadas:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1157"/>
|
||||||
|
<source>CoverFlow look</source>
|
||||||
|
<translation>Tipo CoverFlow</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1158"/>
|
||||||
|
<source>Stripe look</source>
|
||||||
|
<translation>Tipo tira</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1159"/>
|
||||||
|
<source>Overlapped Stripe look</source>
|
||||||
|
<translation>Tipo tira solapada</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderGLFlowConfigWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="939"/>
|
||||||
|
<source>Presets:</source>
|
||||||
|
<translation>Predefinidos:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="941"/>
|
||||||
|
<source>Classic look</source>
|
||||||
|
<translation>Tipo clásico</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="944"/>
|
||||||
|
<source>Stripe look</source>
|
||||||
|
<translation>Tipo tira</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="947"/>
|
||||||
|
<source>Overlapped Stripe look</source>
|
||||||
|
<translation>Tipo tira solapada</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="950"/>
|
||||||
|
<source>Modern look</source>
|
||||||
|
<translation>Tipo moderno</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="953"/>
|
||||||
|
<source>Roulette look</source>
|
||||||
|
<translation>Tipo ruleta</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1000"/>
|
||||||
|
<source>Custom:</source>
|
||||||
|
<translation>Personalizado:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1003"/>
|
||||||
|
<source>View angle</source>
|
||||||
|
<translation>Ángulo de vista</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1009"/>
|
||||||
|
<source>Position</source>
|
||||||
|
<translation>Posición</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1015"/>
|
||||||
|
<source>Cover gap</source>
|
||||||
|
<translation>Hueco entre portadas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1021"/>
|
||||||
|
<source>Central gap</source>
|
||||||
|
<translation>Hueco central</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1027"/>
|
||||||
|
<source>Zoom</source>
|
||||||
|
<translation>Zoom</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1033"/>
|
||||||
|
<source>Y offset</source>
|
||||||
|
<translation>Desplazamiento en Y</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1039"/>
|
||||||
|
<source>Z offset</source>
|
||||||
|
<translation>Desplazamiento en Z </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1045"/>
|
||||||
|
<source>Cover Angle</source>
|
||||||
|
<translation>Ángulo de las portadas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1051"/>
|
||||||
|
<source>Visibility</source>
|
||||||
|
<translation>Visibilidad</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1057"/>
|
||||||
|
<source>Light</source>
|
||||||
|
<translation>Luz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1063"/>
|
||||||
|
<source>Max angle</source>
|
||||||
|
<translation>Ángulo máximo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1093"/>
|
||||||
|
<source>Low Performance</source>
|
||||||
|
<translation>Rendimiento bajo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1095"/>
|
||||||
|
<source>High Performance</source>
|
||||||
|
<translation>Alto rendimiento</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1106"/>
|
||||||
|
<source>Use VSync (improve the image quality in fullscreen mode, worse performance)</source>
|
||||||
|
<translation>Utilizar VSync (mejora la calidad de imagen en pantalla completa, peor rendimiento)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1114"/>
|
||||||
|
<source>Performance:</source>
|
||||||
|
<translation>Rendimiento:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderOptionsDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="575"/>
|
||||||
|
<source>Save</source>
|
||||||
|
<translation>Guardar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="576"/>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation>Cancelar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="584"/>
|
||||||
|
<source>Use hardware acceleration (restart needed)</source>
|
||||||
|
<translation>Utilizar aceleración por hardware (necesario reiniciar)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
@ -28,72 +28,125 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Comic</name>
|
<name>Comic</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="57"/>
|
<location filename="comic.cpp" line="72"/>
|
||||||
<source>Not found</source>
|
<source>Not found</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="57"/>
|
<location filename="comic.cpp" line="72"/>
|
||||||
<source>Comic not found</source>
|
<source>Comic not found</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="98"/>
|
<location filename="comic.cpp" line="111"/>
|
||||||
|
<source>Bad PDF File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="111"/>
|
||||||
|
<source>Invalid PDF file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="166"/>
|
||||||
<source>No images found</source>
|
<source>No images found</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="98"/>
|
<location filename="comic.cpp" line="166"/>
|
||||||
<source>There are not images on the selected folder</source>
|
<source>There are not images on the selected folder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="139"/>
|
<location filename="comic.cpp" line="208"/>
|
||||||
<source>File error</source>
|
<source>File error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="139"/>
|
<location filename="comic.cpp" line="208"/>
|
||||||
<source>File not found or not images in file</source>
|
<source>File not found or not images in file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="192"/>
|
<location filename="comic.cpp" line="262"/>
|
||||||
<source>7z not found</source>
|
<source>7z not found</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="192"/>
|
<location filename="comic.cpp" line="262"/>
|
||||||
<source>7z wasn't found in your PATH.</source>
|
<source>7z wasn't found in your PATH.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="195"/>
|
<location filename="comic.cpp" line="265"/>
|
||||||
<source>7z crashed</source>
|
<source>7z crashed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="195"/>
|
<location filename="comic.cpp" line="265"/>
|
||||||
<source>7z crashed.</source>
|
<source>7z crashed.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="198"/>
|
<location filename="comic.cpp" line="268"/>
|
||||||
<source>7z reading</source>
|
<source>7z reading</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="198"/>
|
<location filename="comic.cpp" line="268"/>
|
||||||
<source>problem reading from 7z</source>
|
<source>problem reading from 7z</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="201"/>
|
<location filename="comic.cpp" line="271"/>
|
||||||
<source>7z problem</source>
|
<source>7z problem</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="comic.cpp" line="201"/>
|
<location filename="comic.cpp" line="271"/>
|
||||||
|
<source>Unknown error 7z</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Comic2</name>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="544"/>
|
||||||
|
<source>7z not found</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="544"/>
|
||||||
|
<source>7z wasn't found in your PATH.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="547"/>
|
||||||
|
<source>7z crashed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="547"/>
|
||||||
|
<source>7z crashed.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="550"/>
|
||||||
|
<source>7z reading</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="550"/>
|
||||||
|
<source>problem reading from 7z</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="553"/>
|
||||||
|
<source>7z problem</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="comic.cpp" line="553"/>
|
||||||
<source>Unknown error 7z</source>
|
<source>Unknown error 7z</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -101,12 +154,12 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Configuration</name>
|
<name>Configuration</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="configuration.cpp" line="148"/>
|
<location filename="configuration.cpp" line="167"/>
|
||||||
<source>Saving config file....</source>
|
<source>Saving config file....</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="configuration.cpp" line="148"/>
|
<location filename="configuration.cpp" line="167"/>
|
||||||
<source>There was a problem saving YACReader configuration. Please, check if you have enough permissions in the YACReader root folder.</source>
|
<source>There was a problem saving YACReader configuration. Please, check if you have enough permissions in the YACReader root folder.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -148,15 +201,23 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>GoToFlowGL</name>
|
||||||
|
<message>
|
||||||
|
<location filename="goto_flow_gl.cpp" line="28"/>
|
||||||
|
<source>Page : </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>HelpAboutDialog</name>
|
<name>HelpAboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="32"/>
|
<location filename="../common/custom_widgets.cpp" line="37"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="35"/>
|
<location filename="../common/custom_widgets.cpp" line="40"/>
|
||||||
<source>Help</source>
|
<source>Help</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -164,293 +225,293 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindowViewer</name>
|
<name>MainWindowViewer</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="104"/>
|
<location filename="main_window_viewer.cpp" line="119"/>
|
||||||
<source>&Open</source>
|
<source>&Open</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="105"/>
|
<location filename="main_window_viewer.cpp" line="120"/>
|
||||||
<source>O</source>
|
<source>O</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="107"/>
|
<location filename="main_window_viewer.cpp" line="122"/>
|
||||||
<source>Open a comic</source>
|
<source>Open a comic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="110"/>
|
<location filename="main_window_viewer.cpp" line="125"/>
|
||||||
<source>Open Folder</source>
|
<source>Open Folder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="111"/>
|
<location filename="main_window_viewer.cpp" line="126"/>
|
||||||
<source>Ctrl+O</source>
|
<source>Ctrl+O</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="113"/>
|
<location filename="main_window_viewer.cpp" line="128"/>
|
||||||
<source>Open image folder</source>
|
<source>Open image folder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="116"/>
|
<location filename="main_window_viewer.cpp" line="131"/>
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="118"/>
|
<location filename="main_window_viewer.cpp" line="133"/>
|
||||||
<location filename="main_window_viewer.cpp" line="400"/>
|
<location filename="main_window_viewer.cpp" line="442"/>
|
||||||
<source>Save current page</source>
|
<source>Save current page</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="122"/>
|
<location filename="main_window_viewer.cpp" line="137"/>
|
||||||
<source>Previous Comic</source>
|
<source>Previous Comic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="125"/>
|
<location filename="main_window_viewer.cpp" line="140"/>
|
||||||
<source>Open previous comic</source>
|
<source>Open previous comic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="129"/>
|
<location filename="main_window_viewer.cpp" line="144"/>
|
||||||
<source>Next Comic</source>
|
<source>Next Comic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="132"/>
|
<location filename="main_window_viewer.cpp" line="147"/>
|
||||||
<source>Open next comic</source>
|
<source>Open next comic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="136"/>
|
<location filename="main_window_viewer.cpp" line="151"/>
|
||||||
<source>&Previous</source>
|
<source>&Previous</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="139"/>
|
<location filename="main_window_viewer.cpp" line="154"/>
|
||||||
<source>Go to previous page</source>
|
<source>Go to previous page</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="143"/>
|
<location filename="main_window_viewer.cpp" line="158"/>
|
||||||
<source>&Next</source>
|
<source>&Next</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="146"/>
|
<location filename="main_window_viewer.cpp" line="161"/>
|
||||||
<source>Go to next page</source>
|
<source>Go to next page</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="150"/>
|
<location filename="main_window_viewer.cpp" line="165"/>
|
||||||
<source>Fit Width</source>
|
<source>Fit Width</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="151"/>
|
<location filename="main_window_viewer.cpp" line="166"/>
|
||||||
<source>A</source>
|
<source>A</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="156"/>
|
<location filename="main_window_viewer.cpp" line="171"/>
|
||||||
<source>Fit image to ...</source>
|
<source>Fit image to ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="160"/>
|
<location filename="main_window_viewer.cpp" line="175"/>
|
||||||
<source>Rotate image to the left</source>
|
<source>Rotate image to the left</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="161"/>
|
<location filename="main_window_viewer.cpp" line="176"/>
|
||||||
<source>L</source>
|
<source>L</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="166"/>
|
<location filename="main_window_viewer.cpp" line="181"/>
|
||||||
<source>Rotate image to the right</source>
|
<source>Rotate image to the right</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="167"/>
|
<location filename="main_window_viewer.cpp" line="182"/>
|
||||||
<source>R</source>
|
<source>R</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="172"/>
|
<location filename="main_window_viewer.cpp" line="187"/>
|
||||||
<source>Double page mode</source>
|
<source>Double page mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="173"/>
|
<location filename="main_window_viewer.cpp" line="188"/>
|
||||||
<source>Switch to double page mode</source>
|
<source>Switch to double page mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="174"/>
|
<location filename="main_window_viewer.cpp" line="189"/>
|
||||||
<source>D</source>
|
<source>D</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="181"/>
|
<location filename="main_window_viewer.cpp" line="196"/>
|
||||||
<source>Go To</source>
|
<source>Go To</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="182"/>
|
<location filename="main_window_viewer.cpp" line="197"/>
|
||||||
<source>G</source>
|
<source>G</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="185"/>
|
<location filename="main_window_viewer.cpp" line="200"/>
|
||||||
<source>Go to page ...</source>
|
<source>Go to page ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="188"/>
|
<location filename="main_window_viewer.cpp" line="203"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="189"/>
|
<location filename="main_window_viewer.cpp" line="204"/>
|
||||||
<source>C</source>
|
<source>C</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="190"/>
|
<location filename="main_window_viewer.cpp" line="205"/>
|
||||||
<source>YACReader options</source>
|
<source>YACReader options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="195"/>
|
<location filename="main_window_viewer.cpp" line="210"/>
|
||||||
<source>Help</source>
|
<source>Help</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="196"/>
|
<location filename="main_window_viewer.cpp" line="211"/>
|
||||||
<source>Help, About YACReader</source>
|
<source>Help, About YACReader</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="201"/>
|
<location filename="main_window_viewer.cpp" line="216"/>
|
||||||
<source>Magnifying glass</source>
|
<source>Magnifying glass</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="202"/>
|
<location filename="main_window_viewer.cpp" line="217"/>
|
||||||
<source>Switch Magnifying glass</source>
|
<source>Switch Magnifying glass</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="203"/>
|
<location filename="main_window_viewer.cpp" line="218"/>
|
||||||
<source>Z</source>
|
<source>Z</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="209"/>
|
<location filename="main_window_viewer.cpp" line="224"/>
|
||||||
<source>Set bookmark</source>
|
<source>Set bookmark</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="210"/>
|
<location filename="main_window_viewer.cpp" line="225"/>
|
||||||
<source>Set a bookmark on the current page</source>
|
<source>Set a bookmark on the current page</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="219"/>
|
<location filename="main_window_viewer.cpp" line="234"/>
|
||||||
<source>Show bookmarks</source>
|
<source>Show bookmarks</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="220"/>
|
<location filename="main_window_viewer.cpp" line="235"/>
|
||||||
<source>Show the bookmarks of the current comic</source>
|
<source>Show the bookmarks of the current comic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="221"/>
|
<location filename="main_window_viewer.cpp" line="236"/>
|
||||||
<source>M</source>
|
<source>M</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="226"/>
|
<location filename="main_window_viewer.cpp" line="241"/>
|
||||||
<source>Show keyboard shortcuts</source>
|
<source>Show keyboard shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="230"/>
|
<location filename="main_window_viewer.cpp" line="245"/>
|
||||||
<source>Show Info</source>
|
<source>Show Info</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="231"/>
|
<location filename="main_window_viewer.cpp" line="246"/>
|
||||||
<source>I</source>
|
<source>I</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="236"/>
|
<location filename="main_window_viewer.cpp" line="251"/>
|
||||||
<source>Close</source>
|
<source>Close</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="241"/>
|
<location filename="main_window_viewer.cpp" line="256"/>
|
||||||
<source>Show Dictionary</source>
|
<source>Show Dictionary</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="248"/>
|
<location filename="main_window_viewer.cpp" line="263"/>
|
||||||
<source>Always on top</source>
|
<source>Always on top</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="256"/>
|
<location filename="main_window_viewer.cpp" line="271"/>
|
||||||
<source>Show full size</source>
|
<source>Show full size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="267"/>
|
<location filename="main_window_viewer.cpp" line="282"/>
|
||||||
<source>&File</source>
|
<source>&File</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="362"/>
|
<location filename="main_window_viewer.cpp" line="398"/>
|
||||||
<source>Open Comic</source>
|
<source>Open Comic</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="362"/>
|
<location filename="main_window_viewer.cpp" line="398"/>
|
||||||
<source>Comic files (*.cbr *.cbz *.rar *.zip *.tar *.arj)</source>
|
<source>Comic files (*.cbr *.cbz *.rar *.zip *.pdf *.tar *.arj)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="381"/>
|
<location filename="main_window_viewer.cpp" line="420"/>
|
||||||
<source>Open folder</source>
|
<source>Open folder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="400"/>
|
<location filename="main_window_viewer.cpp" line="442"/>
|
||||||
<source>Image files (*.jpg)</source>
|
<source>Image files (*.jpg)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="533"/>
|
<location filename="main_window_viewer.cpp" line="578"/>
|
||||||
<source>There is a new version avaliable</source>
|
<source>There is a new version avaliable</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="534"/>
|
<location filename="main_window_viewer.cpp" line="579"/>
|
||||||
<source>Do you want to download the new version?</source>
|
<source>Do you want to download the new version?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="593"/>
|
<location filename="main_window_viewer.cpp" line="642"/>
|
||||||
<source>Saving error log file....</source>
|
<source>Saving error log file....</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="main_window_viewer.cpp" line="593"/>
|
<location filename="main_window_viewer.cpp" line="642"/>
|
||||||
<source>There was a problem saving YACReader error log file. Please, check if you have enough permissions in the YACReader root folder.</source>
|
<source>There was a problem saving YACReader error log file. Please, check if you have enough permissions in the YACReader root folder.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -467,58 +528,33 @@
|
|||||||
<source>My comics path</source>
|
<source>My comics path</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="35"/>
|
|
||||||
<source>Save</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="36"/>
|
<location filename="options_dialog.cpp" line="36"/>
|
||||||
<source>Cancel</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="41"/>
|
|
||||||
<source>How to show pages in GoToFlow:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="43"/>
|
|
||||||
<source>CoverFlow look</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="44"/>
|
|
||||||
<source>Stripe look</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="45"/>
|
|
||||||
<source>Overlapped Stripe look</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="78"/>
|
|
||||||
<source>Page width stretch</source>
|
<source>Page width stretch</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="98"/>
|
<location filename="options_dialog.cpp" line="57"/>
|
||||||
<source>Background color</source>
|
<source>Background color</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="101"/>
|
<location filename="options_dialog.cpp" line="60"/>
|
||||||
<source>Choose</source>
|
<source>Choose</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="108"/>
|
<location filename="options_dialog.cpp" line="67"/>
|
||||||
<source>Restart is needed</source>
|
<source>Restart is needed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="134"/>
|
<location filename="options_dialog.cpp" line="88"/>
|
||||||
|
<source>Options</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="options_dialog.cpp" line="93"/>
|
||||||
<source>Comics directory</source>
|
<source>Comics directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -544,13 +580,13 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Viewer</name>
|
<name>Viewer</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="viewer.cpp" line="39"/>
|
<location filename="viewer.cpp" line="41"/>
|
||||||
<location filename="viewer.cpp" line="567"/>
|
<location filename="viewer.cpp" line="607"/>
|
||||||
<source>Press 'O' to open comic.</source>
|
<source>Press 'O' to open comic.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="viewer.cpp" line="580"/>
|
<location filename="viewer.cpp" line="620"/>
|
||||||
<source>Loading...please wait!</source>
|
<source>Loading...please wait!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -558,13 +594,13 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>YACReaderFieldEdit</name>
|
<name>YACReaderFieldEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="383"/>
|
<location filename="../common/custom_widgets.cpp" line="424"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="403"/>
|
<location filename="../common/custom_widgets.cpp" line="444"/>
|
||||||
<source>Click to overwrite</source>
|
<source>Click to overwrite</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="385"/>
|
<location filename="../common/custom_widgets.cpp" line="426"/>
|
||||||
<source>Restore to default</source>
|
<source>Restore to default</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -572,17 +608,171 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>YACReaderFieldPlainTextEdit</name>
|
<name>YACReaderFieldPlainTextEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="421"/>
|
<location filename="../common/custom_widgets.cpp" line="465"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="432"/>
|
<location filename="../common/custom_widgets.cpp" line="476"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="457"/>
|
<location filename="../common/custom_widgets.cpp" line="501"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="463"/>
|
<location filename="../common/custom_widgets.cpp" line="507"/>
|
||||||
<source>Click to overwrite</source>
|
<source>Click to overwrite</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="422"/>
|
<location filename="../common/custom_widgets.cpp" line="466"/>
|
||||||
<source>Restore to default</source>
|
<source>Restore to default</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderFlowConfigWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1155"/>
|
||||||
|
<source>How to show covers:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1157"/>
|
||||||
|
<source>CoverFlow look</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1158"/>
|
||||||
|
<source>Stripe look</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1159"/>
|
||||||
|
<source>Overlapped Stripe look</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderGLFlowConfigWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="939"/>
|
||||||
|
<source>Presets:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="941"/>
|
||||||
|
<source>Classic look</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="944"/>
|
||||||
|
<source>Stripe look</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="947"/>
|
||||||
|
<source>Overlapped Stripe look</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="950"/>
|
||||||
|
<source>Modern look</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="953"/>
|
||||||
|
<source>Roulette look</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1000"/>
|
||||||
|
<source>Custom:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1003"/>
|
||||||
|
<source>View angle</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1009"/>
|
||||||
|
<source>Position</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1015"/>
|
||||||
|
<source>Cover gap</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1021"/>
|
||||||
|
<source>Central gap</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1027"/>
|
||||||
|
<source>Zoom</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1033"/>
|
||||||
|
<source>Y offset</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1039"/>
|
||||||
|
<source>Z offset</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1045"/>
|
||||||
|
<source>Cover Angle</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1051"/>
|
||||||
|
<source>Visibility</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1057"/>
|
||||||
|
<source>Light</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1063"/>
|
||||||
|
<source>Max angle</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1093"/>
|
||||||
|
<source>Low Performance</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1095"/>
|
||||||
|
<source>High Performance</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1106"/>
|
||||||
|
<source>Use VSync (improve the image quality in fullscreen mode, worse performance)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1114"/>
|
||||||
|
<source>Performance:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderOptionsDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="575"/>
|
||||||
|
<source>Save</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="576"/>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="584"/>
|
||||||
|
<source>Use hardware acceleration (restart needed)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
@ -9,11 +9,31 @@ INCLUDEPATH += .
|
|||||||
INCLUDEPATH += ../common \
|
INCLUDEPATH += ../common \
|
||||||
./server \
|
./server \
|
||||||
./db \
|
./db \
|
||||||
../YACReader
|
../YACReader
|
||||||
|
|
||||||
|
win32 {
|
||||||
|
INCLUDEPATH += ../dependencies/poppler/include
|
||||||
|
LIBS += -L../dependencies/poppler/lib -lpoppler-qt4
|
||||||
|
}
|
||||||
|
|
||||||
|
unix:!macx{
|
||||||
|
INCLUDEPATH += /usr/include/poppler/qt4
|
||||||
|
LIBS += -L/usr/lib -lpoppler-qt4
|
||||||
|
LIBS += -lGLU
|
||||||
|
}
|
||||||
|
|
||||||
|
macx{
|
||||||
|
INCLUDEPATH += "/Volumes/Mac OS X Lion/usr/X11/include"
|
||||||
|
INCLUDEPATH += /usr/local/include/poppler/qt4
|
||||||
|
LIBS += -L/usr/local/lib -lpoppler-qt4
|
||||||
|
}
|
||||||
|
|
||||||
CONFIG += release
|
CONFIG += release
|
||||||
CONFIG -= flat
|
CONFIG -= flat
|
||||||
QT += sql network opengl
|
QT += sql network opengl
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Input
|
# Input
|
||||||
HEADERS += comic_flow.h \
|
HEADERS += comic_flow.h \
|
||||||
create_library_dialog.h \
|
create_library_dialog.h \
|
||||||
|
@ -218,7 +218,7 @@ void DataBaseManagement::exportComicsInfo(QString source, QString dest)
|
|||||||
queryComicsInfo.exec();*/
|
queryComicsInfo.exec();*/
|
||||||
|
|
||||||
QSqlQuery query("INSERT INTO dest.db_info (version) "
|
QSqlQuery query("INSERT INTO dest.db_info (version) "
|
||||||
"VALUES ('5.0.0')",destDB);
|
"VALUES ('"VERSION"')",destDB);
|
||||||
//query.finish();
|
//query.finish();
|
||||||
|
|
||||||
QSqlQuery exportData(destDB);
|
QSqlQuery exportData(destDB);
|
||||||
@ -536,6 +536,27 @@ int DataBaseManagement::compareVersions(const QString & v1, const QString v2)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DataBaseManagement::updateToCurrentVersion(const QString & fullPath)
|
||||||
|
{
|
||||||
|
QSqlDatabase db = loadDatabaseFromFile(fullPath);
|
||||||
|
bool returnValue = false;
|
||||||
|
if(db.isValid() && db.isOpen())
|
||||||
|
{
|
||||||
|
QSqlQuery updateVersion(db);
|
||||||
|
updateVersion.prepare("UPDATE db_info SET "
|
||||||
|
"version = :version");
|
||||||
|
updateVersion.bindValue(":version",VERSION);
|
||||||
|
updateVersion.exec();
|
||||||
|
|
||||||
|
if(updateVersion.numRowsAffected() > 0)
|
||||||
|
returnValue = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
db.close();
|
||||||
|
QSqlDatabase::removeDatabase(fullPath);
|
||||||
|
return returnValue;
|
||||||
|
}
|
||||||
|
|
||||||
//COMICS_INFO_EXPORTER
|
//COMICS_INFO_EXPORTER
|
||||||
ComicsInfoExporter::ComicsInfoExporter()
|
ComicsInfoExporter::ComicsInfoExporter()
|
||||||
:QThread()
|
:QThread()
|
||||||
|
@ -53,6 +53,7 @@ public:
|
|||||||
|
|
||||||
static QString checkValidDB(const QString & fullPath); //retorna "" si la DB es inv<6E>lida <20> la versi<73>n si es v<>lida.
|
static QString checkValidDB(const QString & fullPath); //retorna "" si la DB es inv<6E>lida <20> la versi<73>n si es v<>lida.
|
||||||
static int compareVersions(const QString & v1, const QString v2); //retorna <0 si v1 < v2, 0 si v1 = v2 y >0 si v1 > v2
|
static int compareVersions(const QString & v1, const QString v2); //retorna <0 si v1 < v2, 0 si v1 = v2 y >0 si v1 > v2
|
||||||
|
static bool updateToCurrentVersion(const QString & path);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -20,6 +20,8 @@
|
|||||||
<file>../images/flow1.png</file>
|
<file>../images/flow1.png</file>
|
||||||
<file>../images/flow2.png</file>
|
<file>../images/flow2.png</file>
|
||||||
<file>../images/flow3.png</file>
|
<file>../images/flow3.png</file>
|
||||||
|
<file>../images/flow4.png</file>
|
||||||
|
<file>../images/flow5.png</file>
|
||||||
<file>../images/importLibrary.png</file>
|
<file>../images/importLibrary.png</file>
|
||||||
<file>../images/exportLibrary.png</file>
|
<file>../images/exportLibrary.png</file>
|
||||||
<file>../images/open.png</file>
|
<file>../images/open.png</file>
|
||||||
@ -42,6 +44,7 @@
|
|||||||
<file>../images/iphoneConfig.png</file>
|
<file>../images/iphoneConfig.png</file>
|
||||||
<file>../images/qrMessage.png</file>
|
<file>../images/qrMessage.png</file>
|
||||||
<file>../images/onStartFlowSelection.png</file>
|
<file>../images/onStartFlowSelection.png</file>
|
||||||
|
<file>../images/onStartFlowSelection_es.png</file>
|
||||||
<file>../images/useNewFlowButton.png</file>
|
<file>../images/useNewFlowButton.png</file>
|
||||||
<file>../images/useOldFlowButton.png</file>
|
<file>../images/useOldFlowButton.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
//QMutex mutex;
|
//QMutex mutex;
|
||||||
|
#include "poppler-qt4.h"
|
||||||
|
|
||||||
|
|
||||||
/*int numThreads = 0;
|
/*int numThreads = 0;
|
||||||
@ -25,7 +25,7 @@ QMutex mutex;
|
|||||||
LibraryCreator::LibraryCreator()
|
LibraryCreator::LibraryCreator()
|
||||||
:creation(false)
|
:creation(false)
|
||||||
{
|
{
|
||||||
_nameFilter << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar";
|
_nameFilter << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar" << "*.pdf";
|
||||||
}
|
}
|
||||||
|
|
||||||
void LibraryCreator::createLibrary(const QString &source, const QString &target)
|
void LibraryCreator::createLibrary(const QString &source, const QString &target)
|
||||||
@ -393,74 +393,25 @@ ThumbnailCreator::ThumbnailCreator(QString fileSource, QString target="", int co
|
|||||||
|
|
||||||
void ThumbnailCreator::create()
|
void ThumbnailCreator::create()
|
||||||
{
|
{
|
||||||
_7z = new QProcess();
|
QFileInfo fi(_fileSource);
|
||||||
QStringList attributes;
|
if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0)
|
||||||
attributes << "l" << "-ssc-" << "-r" << _fileSource << "*.jpg" << "*.jpeg" << "*.png" << "*.gif" << "*.tiff" << "*.tif" << "*.bmp";
|
|
||||||
//connect(_7z,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(loadFirstImage(void)));
|
|
||||||
connect(_7z,SIGNAL(error(QProcess::ProcessError)),this,SIGNAL(openingError(QProcess::ProcessError)));
|
|
||||||
_7z->start(QCoreApplication::applicationDirPath()+"/utils/7z",attributes);
|
|
||||||
_7z->waitForFinished(60000);
|
|
||||||
|
|
||||||
QRegExp rx("[0-9]{4}-[0-9]{2}-[0-9]{2}[ ]+[0-9]{2}:[0-9]{2}:[0-9]{2}[ ]+.{5}[ ]+([0-9]+)[ ]+([0-9]+)[ ]+(.+)");
|
|
||||||
|
|
||||||
QString ba = QString::fromUtf8(_7z->readAllStandardOutput());
|
|
||||||
QList<QString> lines = ba.split('\n');
|
|
||||||
QString line;
|
|
||||||
_currentName = "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"; //TODO
|
|
||||||
QString name;
|
|
||||||
if(_coverPage == 1)
|
|
||||||
{
|
{
|
||||||
foreach(line,lines)
|
Poppler::Document * pdfComic = Poppler::Document::load(_fileSource);
|
||||||
|
if (!pdfComic)
|
||||||
{
|
{
|
||||||
if(rx.indexIn(line)!=-1)
|
delete pdfComic;
|
||||||
{
|
pdfComic = 0;
|
||||||
name = rx.cap(3).trimmed();
|
QImage p;
|
||||||
if(naturalSortLessThanCI(name,_currentName))
|
p.load(":/images/notCover.png");
|
||||||
_currentName = name;
|
p.save(_target);
|
||||||
_numPages++;
|
return;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
_numPages = pdfComic->numPages();
|
||||||
else
|
if(_numPages >= _coverPage)
|
||||||
{
|
|
||||||
QList<QString> names;
|
|
||||||
foreach(line,lines)
|
|
||||||
{
|
{
|
||||||
if(rx.indexIn(line)!=-1)
|
|
||||||
{
|
|
||||||
name = rx. cap(3).trimmed();
|
|
||||||
names.append(name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
std::sort(names.begin(),names.end(),naturalSortLessThanCI);
|
|
||||||
_currentName = names[_coverPage-1];
|
|
||||||
}
|
|
||||||
delete _7z;
|
|
||||||
attributes.clear();
|
|
||||||
_currentName = QDir::fromNativeSeparators(_currentName).split('/').last(); //separator fixed.
|
|
||||||
#ifdef Q_WS_WIN
|
|
||||||
attributes << "e" << "-so" << "-r" << _fileSource << QString(_currentName.toLocal8Bit().constData()); //TODO platform dependency?? OEM 437
|
|
||||||
#else
|
|
||||||
attributes << "e" << "-so" << "-r" << _fileSource << _currentName; //TODO platform dependency?? OEM 437
|
|
||||||
#endif
|
|
||||||
_7z = new QProcess();
|
|
||||||
connect(_7z,SIGNAL(error(QProcess::ProcessError)),this,SIGNAL(openingError(QProcess::ProcessError)));
|
|
||||||
//connect(_7z,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(writeThumbnail(void)));
|
|
||||||
_7z->start(QCoreApplication::applicationDirPath()+"/utils/7z",attributes);
|
|
||||||
_7z->waitForFinished(60000);
|
|
||||||
|
|
||||||
QByteArray image = _7z->readAllStandardOutput();
|
QImage p = pdfComic->page(_coverPage-1)->renderToImage(72,72); //TODO check if the the page is valid
|
||||||
QString error = _7z->readAllStandardError();
|
_cover = QPixmap::fromImage(p);
|
||||||
QImage p;
|
|
||||||
if(_target=="")
|
|
||||||
{
|
|
||||||
if(!_cover.loadFromData(image))
|
|
||||||
_cover.load(":/images/notCover.png");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(p.loadFromData(image))
|
|
||||||
{
|
|
||||||
QImage scaled;
|
QImage scaled;
|
||||||
if(p.width()>p.height()) //landscape??
|
if(p.width()>p.height()) //landscape??
|
||||||
scaled = p.scaledToWidth(640,Qt::SmoothTransformation);
|
scaled = p.scaledToWidth(640,Qt::SmoothTransformation);
|
||||||
@ -470,11 +421,97 @@ void ThumbnailCreator::create()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
QImage p;
|
||||||
p.load(":/images/notCover.png");
|
p.load(":/images/notCover.png");
|
||||||
p.save(_target);
|
p.save(_target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete _7z;
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
_7z = new QProcess();
|
||||||
|
QStringList attributes;
|
||||||
|
attributes << "l" << "-ssc-" << "-r" << _fileSource << "*.jpg" << "*.jpeg" << "*.png" << "*.gif" << "*.tiff" << "*.tif" << "*.bmp";
|
||||||
|
//connect(_7z,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(loadFirstImage(void)));
|
||||||
|
connect(_7z,SIGNAL(error(QProcess::ProcessError)),this,SIGNAL(openingError(QProcess::ProcessError)));
|
||||||
|
_7z->start(QCoreApplication::applicationDirPath()+"/utils/7z",attributes);
|
||||||
|
_7z->waitForFinished(60000);
|
||||||
|
|
||||||
|
QRegExp rx("[0-9]{4}-[0-9]{2}-[0-9]{2}[ ]+[0-9]{2}:[0-9]{2}:[0-9]{2}[ ]+.{5}[ ]+([0-9]+)[ ]+([0-9]+)[ ]+(.+)");
|
||||||
|
|
||||||
|
QString ba = QString::fromUtf8(_7z->readAllStandardOutput());
|
||||||
|
QList<QString> lines = ba.split('\n');
|
||||||
|
QString line;
|
||||||
|
_currentName = "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"; //TODO
|
||||||
|
QString name;
|
||||||
|
if(_coverPage == 1)
|
||||||
|
{
|
||||||
|
foreach(line,lines)
|
||||||
|
{
|
||||||
|
if(rx.indexIn(line)!=-1)
|
||||||
|
{
|
||||||
|
name = rx.cap(3).trimmed();
|
||||||
|
if(naturalSortLessThanCI(name,_currentName))
|
||||||
|
_currentName = name;
|
||||||
|
_numPages++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QList<QString> names;
|
||||||
|
foreach(line,lines)
|
||||||
|
{
|
||||||
|
if(rx.indexIn(line)!=-1)
|
||||||
|
{
|
||||||
|
name = rx. cap(3).trimmed();
|
||||||
|
names.append(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::sort(names.begin(),names.end(),naturalSortLessThanCI);
|
||||||
|
_currentName = names[_coverPage-1];
|
||||||
|
}
|
||||||
|
delete _7z;
|
||||||
|
attributes.clear();
|
||||||
|
_currentName = QDir::fromNativeSeparators(_currentName).split('/').last(); //separator fixed.
|
||||||
|
#ifdef Q_WS_WIN
|
||||||
|
attributes << "e" << "-so" << "-r" << _fileSource << QString(_currentName.toLocal8Bit().constData()); //TODO platform dependency?? OEM 437
|
||||||
|
#else
|
||||||
|
attributes << "e" << "-so" << "-r" << _fileSource << _currentName; //TODO platform dependency?? OEM 437
|
||||||
|
#endif
|
||||||
|
_7z = new QProcess();
|
||||||
|
connect(_7z,SIGNAL(error(QProcess::ProcessError)),this,SIGNAL(openingError(QProcess::ProcessError)));
|
||||||
|
//connect(_7z,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(writeThumbnail(void)));
|
||||||
|
_7z->start(QCoreApplication::applicationDirPath()+"/utils/7z",attributes);
|
||||||
|
_7z->waitForFinished(60000);
|
||||||
|
|
||||||
|
QByteArray image = _7z->readAllStandardOutput();
|
||||||
|
QString error = _7z->readAllStandardError();
|
||||||
|
QImage p;
|
||||||
|
if(_target=="")
|
||||||
|
{
|
||||||
|
if(!_cover.loadFromData(image))
|
||||||
|
_cover.load(":/images/notCover.png");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(p.loadFromData(image))
|
||||||
|
{
|
||||||
|
QImage scaled;
|
||||||
|
if(p.width()>p.height()) //landscape??
|
||||||
|
scaled = p.scaledToWidth(640,Qt::SmoothTransformation);
|
||||||
|
else
|
||||||
|
scaled = p.scaledToWidth(480,Qt::SmoothTransformation);
|
||||||
|
scaled.save(_target,0,75);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
p.load(":/images/notCover.png");
|
||||||
|
p.save(_target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete _7z;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*void ThumbnailCreator::openingError(QProcess::ProcessError error)
|
/*void ThumbnailCreator::openingError(QProcess::ProcessError error)
|
||||||
|
@ -81,7 +81,9 @@ void LibraryWindow::doLayout()
|
|||||||
QMatrix m;
|
QMatrix m;
|
||||||
m.rotate(-90);
|
m.rotate(-90);
|
||||||
m.scale(-1,1);
|
m.scale(-1,1);
|
||||||
comicFlow->setMarkImage(QImage(":/images/setRead.png").transformed(m,Qt::SmoothTransformation));
|
QImage image(":/images/setRead.png");
|
||||||
|
image.transformed(m,Qt::SmoothTransformation);
|
||||||
|
comicFlow->setMarkImage(image);
|
||||||
int heightDesktopResolution = QApplication::desktop()->screenGeometry().height();
|
int heightDesktopResolution = QApplication::desktop()->screenGeometry().height();
|
||||||
int height,width;
|
int height,width;
|
||||||
height = heightDesktopResolution*0.39;
|
height = heightDesktopResolution*0.39;
|
||||||
@ -210,7 +212,10 @@ void LibraryWindow::doDialogs()
|
|||||||
addLibraryDialog = new AddLibraryDialog(this);
|
addLibraryDialog = new AddLibraryDialog(this);
|
||||||
optionsDialog = new OptionsDialog(this);
|
optionsDialog = new OptionsDialog(this);
|
||||||
optionsDialog->restoreOptions(settings);
|
optionsDialog->restoreOptions(settings);
|
||||||
|
|
||||||
|
#ifdef SERVER_RELEASE
|
||||||
serverConfigDialog = new ServerConfigDialog(this);
|
serverConfigDialog = new ServerConfigDialog(this);
|
||||||
|
#endif
|
||||||
|
|
||||||
had = new HelpAboutDialog(this); //TODO load data.
|
had = new HelpAboutDialog(this); //TODO load data.
|
||||||
QString sufix = QLocale::system().name();
|
QString sufix = QLocale::system().name();
|
||||||
@ -511,7 +516,10 @@ void LibraryWindow::createToolBars()
|
|||||||
libraryToolBar->addAction(toggleFullScreenAction);
|
libraryToolBar->addAction(toggleFullScreenAction);
|
||||||
|
|
||||||
libraryToolBar->addWidget(new QToolBarStretch());
|
libraryToolBar->addWidget(new QToolBarStretch());
|
||||||
|
|
||||||
|
#ifdef SERVER_RELEASE
|
||||||
libraryToolBar->addAction(serverConfigAction);
|
libraryToolBar->addAction(serverConfigAction);
|
||||||
|
#endif
|
||||||
libraryToolBar->addAction(optionsAction);
|
libraryToolBar->addAction(optionsAction);
|
||||||
libraryToolBar->addAction(helpAboutAction);
|
libraryToolBar->addAction(helpAboutAction);
|
||||||
|
|
||||||
@ -614,7 +622,9 @@ void LibraryWindow::createConnections()
|
|||||||
connect(colapseAllNodesAction,SIGNAL(triggered()),foldersView,SLOT(collapseAll()));
|
connect(colapseAllNodesAction,SIGNAL(triggered()),foldersView,SLOT(collapseAll()));
|
||||||
connect(toggleFullScreenAction,SIGNAL(triggered()),this,SLOT(toggleFullScreen()));
|
connect(toggleFullScreenAction,SIGNAL(triggered()),this,SLOT(toggleFullScreen()));
|
||||||
connect(optionsAction, SIGNAL(triggered()),optionsDialog,SLOT(show()));
|
connect(optionsAction, SIGNAL(triggered()),optionsDialog,SLOT(show()));
|
||||||
|
#ifdef SERVER_RELEASE
|
||||||
connect(serverConfigAction, SIGNAL(triggered()), serverConfigDialog, SLOT(show()));
|
connect(serverConfigAction, SIGNAL(triggered()), serverConfigDialog, SLOT(show()));
|
||||||
|
#endif
|
||||||
connect(optionsDialog, SIGNAL(optionsChanged()),this,SLOT(reloadOptions()));
|
connect(optionsDialog, SIGNAL(optionsChanged()),this,SLOT(reloadOptions()));
|
||||||
//ComicFlow
|
//ComicFlow
|
||||||
connect(comicFlow,SIGNAL(selected(unsigned int)),this,SLOT(openComic()));
|
connect(comicFlow,SIGNAL(selected(unsigned int)),this,SLOT(openComic()));
|
||||||
@ -648,8 +658,28 @@ void LibraryWindow::loadLibrary(const QString & name)
|
|||||||
QString dbVersion;
|
QString dbVersion;
|
||||||
if(d.exists(path) && (dbVersion = DataBaseManagement::checkValidDB(path+"/library.ydb")) != "") //si existe en disco la biblioteca seleccionada, y es v<>lida..
|
if(d.exists(path) && (dbVersion = DataBaseManagement::checkValidDB(path+"/library.ydb")) != "") //si existe en disco la biblioteca seleccionada, y es v<>lida..
|
||||||
{
|
{
|
||||||
int comparation;
|
int comparation = DataBaseManagement::compareVersions(dbVersion,VERSION);
|
||||||
if((comparation = DataBaseManagement::compareVersions(dbVersion,VERSION)) == 0) //en caso de que la versi<73>n se igual que la actual
|
bool updated = false;
|
||||||
|
if(comparation < 0)
|
||||||
|
{
|
||||||
|
int ret = QMessageBox::question(this,tr("Update needed"),tr("This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now?"),QMessageBox::Yes,QMessageBox::No);
|
||||||
|
if(ret == QMessageBox::Yes)
|
||||||
|
{
|
||||||
|
//TODO update to new version
|
||||||
|
updated = DataBaseManagement::updateToCurrentVersion(path+"/library.ydb");
|
||||||
|
if(!updated)
|
||||||
|
QMessageBox::critical(this,tr("Update failed"), tr("The current library can't be udpated. Check for write write permissions on: ") + path+"/library.ydb");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
comicView->setModel(NULL);
|
||||||
|
foldersView->setModel(NULL);
|
||||||
|
comicFlow->clear();
|
||||||
|
disableAllActions();//TODO comprobar que se deben deshabilitar
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(comparation == 0 || updated) //en caso de que la versi<73>n se igual que la actual
|
||||||
{
|
{
|
||||||
index = 0;
|
index = 0;
|
||||||
sm->clear();
|
sm->clear();
|
||||||
@ -677,24 +707,8 @@ void LibraryWindow::loadLibrary(const QString & name)
|
|||||||
//includeComicsCheckBox->setCheckState(Qt::Unchecked);
|
//includeComicsCheckBox->setCheckState(Qt::Unchecked);
|
||||||
foldersFilter->clear();
|
foldersFilter->clear();
|
||||||
}
|
}
|
||||||
else
|
else if(comparation > 0)
|
||||||
{
|
{
|
||||||
if(comparation < 0)
|
|
||||||
{
|
|
||||||
int ret = QMessageBox::question(this,tr("Update needed"),tr("This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now?"));
|
|
||||||
if(ret == QMessageBox::Yes)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
comicView->setModel(NULL);
|
|
||||||
foldersView->setModel(NULL);
|
|
||||||
comicFlow->clear();
|
|
||||||
disableAllActions();//TODO comprobar que se deben deshabilitar
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int ret = QMessageBox::question(this,tr("Download new version"),tr("This library was created with a newer version of YACReaderLibrary. Download the new version now?"),QMessageBox::Yes,QMessageBox::No);
|
int ret = QMessageBox::question(this,tr("Download new version"),tr("This library was created with a newer version of YACReaderLibrary. Download the new version now?"),QMessageBox::Yes,QMessageBox::No);
|
||||||
if(ret == QMessageBox::Yes)
|
if(ret == QMessageBox::Yes)
|
||||||
QDesktopServices::openUrl(QUrl("http://www.yacreader.com"));
|
QDesktopServices::openUrl(QUrl("http://www.yacreader.com"));
|
||||||
@ -703,8 +717,6 @@ void LibraryWindow::loadLibrary(const QString & name)
|
|||||||
foldersView->setModel(NULL);
|
foldersView->setModel(NULL);
|
||||||
comicFlow->clear();
|
comicFlow->clear();
|
||||||
disableAllActions();//TODO comprobar que se deben deshabilitar
|
disableAllActions();//TODO comprobar que se deben deshabilitar
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -18,8 +18,10 @@ int main( int argc, char ** argv )
|
|||||||
app.installTranslator(&translator);
|
app.installTranslator(&translator);
|
||||||
app.setApplicationName("YACReaderLibrary");
|
app.setApplicationName("YACReaderLibrary");
|
||||||
|
|
||||||
|
#ifdef SERVER_RELEASE
|
||||||
s = new Startup();
|
s = new Startup();
|
||||||
s->start();
|
s->start();
|
||||||
|
#endif
|
||||||
|
|
||||||
mw = new LibraryWindow();
|
mw = new LibraryWindow();
|
||||||
mw->resize(800,480);
|
mw->resize(800,480);
|
||||||
|
@ -42,7 +42,7 @@ OptionsDialog::OptionsDialog(QWidget * parent)
|
|||||||
//restoreOptions(settings); //load options
|
//restoreOptions(settings); //load options
|
||||||
//resize(200,0);
|
//resize(200,0);
|
||||||
setModal (true);
|
setModal (true);
|
||||||
setWindowTitle("Options");
|
setWindowTitle(tr("Options"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ QString LogMessage::toString(const QString& msgFormat, const QString& timestampF
|
|||||||
}
|
}
|
||||||
|
|
||||||
QString threadId;
|
QString threadId;
|
||||||
threadId.setNum((unsigned int)QThread::currentThreadId());
|
threadId.setNum((quint64)QThread::currentThreadId()); //CAMBIADo unsigned int por quint64, evita error de compilaci<63>n en m<>quinas de 64bit
|
||||||
decorated.replace("{thread}",threadId);
|
decorated.replace("{thread}",threadId);
|
||||||
|
|
||||||
// Fill in variables
|
// Fill in variables
|
||||||
|
Binary file not shown.
@ -29,6 +29,132 @@
|
|||||||
<translation>Añadir una biblioteca existente</translation>
|
<translation>Añadir una biblioteca existente</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Comic</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="72"/>
|
||||||
|
<source>Not found</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="72"/>
|
||||||
|
<source>Comic not found</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="111"/>
|
||||||
|
<source>Bad PDF File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="111"/>
|
||||||
|
<source>Invalid PDF file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="166"/>
|
||||||
|
<source>No images found</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="166"/>
|
||||||
|
<source>There are not images on the selected folder</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="208"/>
|
||||||
|
<source>File error</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="208"/>
|
||||||
|
<source>File not found or not images in file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="262"/>
|
||||||
|
<source>7z not found</source>
|
||||||
|
<translation type="unfinished">7z no encontrado</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="262"/>
|
||||||
|
<source>7z wasn't found in your PATH.</source>
|
||||||
|
<translation type="unfinished">7z no ha sido encontrado en tu PATH.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="265"/>
|
||||||
|
<source>7z crashed</source>
|
||||||
|
<translation type="unfinished">fallo en 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="265"/>
|
||||||
|
<source>7z crashed.</source>
|
||||||
|
<translation type="unfinished">fallo en 7z.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="268"/>
|
||||||
|
<source>7z reading</source>
|
||||||
|
<translation type="unfinished">Leyendo de 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="268"/>
|
||||||
|
<source>problem reading from 7z</source>
|
||||||
|
<translation type="unfinished">Problema lenyendo de 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="271"/>
|
||||||
|
<source>7z problem</source>
|
||||||
|
<translation type="unfinished">Problema en 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="271"/>
|
||||||
|
<source>Unknown error 7z</source>
|
||||||
|
<translation type="unfinished">Error desconocido en 7z</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Comic2</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="544"/>
|
||||||
|
<source>7z not found</source>
|
||||||
|
<translation type="unfinished">7z no encontrado</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="544"/>
|
||||||
|
<source>7z wasn't found in your PATH.</source>
|
||||||
|
<translation type="unfinished">7z no ha sido encontrado en tu PATH.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="547"/>
|
||||||
|
<source>7z crashed</source>
|
||||||
|
<translation type="unfinished">fallo en 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="547"/>
|
||||||
|
<source>7z crashed.</source>
|
||||||
|
<translation type="unfinished">fallo en 7z.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="550"/>
|
||||||
|
<source>7z reading</source>
|
||||||
|
<translation type="unfinished">Leyendo de 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="550"/>
|
||||||
|
<source>problem reading from 7z</source>
|
||||||
|
<translation type="unfinished">Problema lenyendo de 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="553"/>
|
||||||
|
<source>7z problem</source>
|
||||||
|
<translation type="unfinished">Problema en 7z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../YACReader/comic.cpp" line="553"/>
|
||||||
|
<source>Unknown error 7z</source>
|
||||||
|
<translation type="unfinished">Error desconocido en 7z</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CreateLibraryDialog</name>
|
<name>CreateLibraryDialog</name>
|
||||||
<message>
|
<message>
|
||||||
@ -161,12 +287,12 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>HelpAboutDialog</name>
|
<name>HelpAboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="32"/>
|
<location filename="../common/custom_widgets.cpp" line="37"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Acerca de</translation>
|
<translation>Acerca de</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="35"/>
|
<location filename="../common/custom_widgets.cpp" line="40"/>
|
||||||
<source>Help</source>
|
<source>Help</source>
|
||||||
<translation>Ayuda</translation>
|
<translation>Ayuda</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -252,322 +378,347 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>LibraryWindow</name>
|
<name>LibraryWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="123"/>
|
<location filename="library_window.cpp" line="149"/>
|
||||||
<source>Select a library:</source>
|
<source>Select a library:</source>
|
||||||
<translation>Seleciona una biblioteca:</translation>
|
<translation>Seleciona una biblioteca:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="135"/>
|
<location filename="library_window.cpp" line="161"/>
|
||||||
<source>Clear</source>
|
<source>Clear</source>
|
||||||
<translation>Borrar</translation>
|
<translation>Borrar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="137"/>
|
<location filename="library_window.cpp" line="163"/>
|
||||||
<source>Search folders/comics</source>
|
<source>Search folders/comics</source>
|
||||||
<translation>Buscar directorios/cómics</translation>
|
<translation>Buscar directorios/cómics</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="140"/>
|
<location filename="library_window.cpp" line="166"/>
|
||||||
<source>Include files (slower)</source>
|
<source>Include files (slower)</source>
|
||||||
<translation>Incluir archivos (lento)</translation>
|
<translation>Incluir archivos (lento)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="166"/>
|
<location filename="library_window.cpp" line="192"/>
|
||||||
<source><font color='white'> press 'F' to close fullscreen mode </font></source>
|
<source><font color='white'> press 'F' to close fullscreen mode </font></source>
|
||||||
<translation><font color='white'> presiona 'F' para salir de pantalla completa </font></translation>
|
<translation><font color='white'> presiona 'F' para salir de pantalla completa </font></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="45"/>
|
<location filename="library_window.cpp" line="49"/>
|
||||||
<source>YACReader Library</source>
|
<source>YACReader Library</source>
|
||||||
<translation>YACReader Library</translation>
|
<translation>YACReader Library</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="223"/>
|
<location filename="library_window.cpp" line="256"/>
|
||||||
<source>Create a new library</source>
|
<source>Create a new library</source>
|
||||||
<translation>Crear una nueva biblioteca</translation>
|
<translation>Crear una nueva biblioteca</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="228"/>
|
<location filename="library_window.cpp" line="261"/>
|
||||||
<source>Open an existing library</source>
|
<source>Open an existing library</source>
|
||||||
<translation>Abrir una biblioteca existente</translation>
|
<translation>Abrir una biblioteca existente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="232"/>
|
<location filename="library_window.cpp" line="265"/>
|
||||||
<location filename="library_window.cpp" line="233"/>
|
<location filename="library_window.cpp" line="266"/>
|
||||||
<source>Export comics info</source>
|
<source>Export comics info</source>
|
||||||
<translation>Exportar información de los cómics</translation>
|
<translation>Exportar información de los cómics</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="236"/>
|
<location filename="library_window.cpp" line="269"/>
|
||||||
<location filename="library_window.cpp" line="237"/>
|
<location filename="library_window.cpp" line="270"/>
|
||||||
<source>Import comics info</source>
|
<source>Import comics info</source>
|
||||||
<translation>Importar información de cómics</translation>
|
<translation>Importar información de cómics</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="240"/>
|
<location filename="library_window.cpp" line="273"/>
|
||||||
<source>Pack covers</source>
|
<source>Pack covers</source>
|
||||||
<translation>Empaquetar portadas</translation>
|
<translation>Empaquetar portadas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="241"/>
|
<location filename="library_window.cpp" line="274"/>
|
||||||
<source>Pack the covers of the selected library</source>
|
<source>Pack the covers of the selected library</source>
|
||||||
<translation>Empaquetar las portadas de la biblioteca seleccionada</translation>
|
<translation>Empaquetar las portadas de la biblioteca seleccionada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="244"/>
|
<location filename="library_window.cpp" line="277"/>
|
||||||
<source>Unpack covers</source>
|
<source>Unpack covers</source>
|
||||||
<translation>Desempaquetar portadas</translation>
|
<translation>Desempaquetar portadas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="245"/>
|
<location filename="library_window.cpp" line="278"/>
|
||||||
<source>Unpack a catalog</source>
|
<source>Unpack a catalog</source>
|
||||||
<translation>Desempaquetar un catálogo</translation>
|
<translation>Desempaquetar un catálogo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="249"/>
|
<location filename="library_window.cpp" line="282"/>
|
||||||
<source>Update current library</source>
|
<source>Update current library</source>
|
||||||
<translation>Actualizar la biblioteca seleccionada</translation>
|
<translation>Actualizar la biblioteca seleccionada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="254"/>
|
<location filename="library_window.cpp" line="287"/>
|
||||||
<source>Rename current library</source>
|
<source>Rename current library</source>
|
||||||
<translation>Renombrar la biblioteca seleccionada</translation>
|
<translation>Renombrar la biblioteca seleccionada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="259"/>
|
<location filename="library_window.cpp" line="292"/>
|
||||||
<source>Delete current library from disk</source>
|
<source>Delete current library from disk</source>
|
||||||
<translation>Borrar la biblioteca seleccionada del disco</translation>
|
<translation>Borrar la biblioteca seleccionada del disco</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="263"/>
|
<location filename="library_window.cpp" line="296"/>
|
||||||
<source>Remove current library from your collection</source>
|
<source>Remove current library from your collection</source>
|
||||||
<translation>Eliminar biblioteca de la colección</translation>
|
<translation>Eliminar biblioteca de la colección</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="267"/>
|
<location filename="library_window.cpp" line="299"/>
|
||||||
|
<source>Open current comic</source>
|
||||||
|
<translation>Abrir cómic actual</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="library_window.cpp" line="300"/>
|
||||||
<source>Open current comic on YACReader</source>
|
<source>Open current comic on YACReader</source>
|
||||||
<translation>Abrir el cómic actual en YACReader</translation>
|
<translation>Abrir el cómic actual en YACReader</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="271"/>
|
<location filename="library_window.cpp" line="304"/>
|
||||||
<source>Set as read</source>
|
<source>Set as read</source>
|
||||||
<translation>Marcar como leído</translation>
|
<translation>Marcar como leído</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="272"/>
|
<location filename="library_window.cpp" line="305"/>
|
||||||
<source>Set comic as read</source>
|
<source>Set comic as read</source>
|
||||||
<translation>Marcar cómic como leído</translation>
|
<translation>Marcar cómic como leído</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="275"/>
|
<location filename="library_window.cpp" line="308"/>
|
||||||
<source>Set as unread</source>
|
<source>Set as unread</source>
|
||||||
<translation>Marcar como no leído</translation>
|
<translation>Marcar como no leído</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="276"/>
|
<location filename="library_window.cpp" line="309"/>
|
||||||
<source>Set comic as unread</source>
|
<source>Set comic as unread</source>
|
||||||
<translation>Marcar cómic como no leído</translation>
|
<translation>Marcar cómic como no leído</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="279"/>
|
<location filename="library_window.cpp" line="312"/>
|
||||||
<source>Set all as read</source>
|
<source>Set all as read</source>
|
||||||
<translation>Marcar todos como leídos</translation>
|
<translation>Marcar todos como leídos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="280"/>
|
<location filename="library_window.cpp" line="313"/>
|
||||||
<source>Set all comics as read</source>
|
<source>Set all comics as read</source>
|
||||||
<translation>Marcar todos los cómics como leídos</translation>
|
<translation>Marcar todos los cómics como leídos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="283"/>
|
<location filename="library_window.cpp" line="316"/>
|
||||||
<source>Set all as unread</source>
|
<source>Set all as unread</source>
|
||||||
<translation>Marcar todos como no leídos</translation>
|
<translation>Marcar todos como no leídos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="284"/>
|
<location filename="library_window.cpp" line="317"/>
|
||||||
<source>Set all comics as unread</source>
|
<source>Set all comics as unread</source>
|
||||||
<translation>Marcar todos los cómics como no leídos</translation>
|
<translation>Marcar todos los cómics como no leídos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="287"/>
|
<location filename="library_window.cpp" line="320"/>
|
||||||
<source>Show/Hide marks</source>
|
<source>Show/Hide marks</source>
|
||||||
<translation>Mostrar/Ocultar marcas</translation>
|
<translation>Mostrar/Ocultar marcas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="288"/>
|
<location filename="library_window.cpp" line="321"/>
|
||||||
<source>Show or hide readed marks</source>
|
<source>Show or hide readed marks</source>
|
||||||
<translation>Mostrar u ocultar marcas</translation>
|
<translation>Mostrar u ocultar marcas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="296"/>
|
<location filename="library_window.cpp" line="329"/>
|
||||||
<source>Show properties of current comic</source>
|
<source>Show properties of current comic</source>
|
||||||
<translation>Mostrar las propiedades del cómic actual</translation>
|
<translation>Mostrar las propiedades del cómic actual</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="301"/>
|
<location filename="library_window.cpp" line="333"/>
|
||||||
|
<source>Fullscreen mode on/off</source>
|
||||||
|
<translation>Modo a pantalla completa on/off</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="library_window.cpp" line="334"/>
|
||||||
<source>Fullscreen mode on/off (F)</source>
|
<source>Fullscreen mode on/off (F)</source>
|
||||||
<translation>Activar/desactivar modo a pantalla completa (F)</translation>
|
<translation>Activar/desactivar modo a pantalla completa (F)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="306"/>
|
<location filename="library_window.cpp" line="339"/>
|
||||||
<source>Help, About YACReader</source>
|
<source>Help, About YACReader</source>
|
||||||
<translation>Ayuda, A cerca de... YACReader</translation>
|
<translation>Ayuda, A cerca de... YACReader</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="311"/>
|
<location filename="library_window.cpp" line="344"/>
|
||||||
<source>Select root node</source>
|
<source>Select root node</source>
|
||||||
<translation>Seleccionar el nodo raíz</translation>
|
<translation>Seleccionar el nodo raíz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="315"/>
|
<location filename="library_window.cpp" line="348"/>
|
||||||
<source>Expand all nodes</source>
|
<source>Expand all nodes</source>
|
||||||
<translation>Expandir todos los nodos</translation>
|
<translation>Expandir todos los nodos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="319"/>
|
<location filename="library_window.cpp" line="352"/>
|
||||||
<source>Colapse all nodes</source>
|
<source>Colapse all nodes</source>
|
||||||
<translation>Contraer todos los nodos</translation>
|
<translation>Contraer todos los nodos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="323"/>
|
<location filename="library_window.cpp" line="356"/>
|
||||||
<source>Show options dialog</source>
|
<source>Show options dialog</source>
|
||||||
<translation>Mostrar opciones</translation>
|
<translation>Mostrar opciones</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="339"/>
|
<location filename="library_window.cpp" line="360"/>
|
||||||
|
<source>Show comics server options dialog</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="library_window.cpp" line="376"/>
|
||||||
<source>Open folder...</source>
|
<source>Open folder...</source>
|
||||||
<translation>Abrir carpeta...</translation>
|
<translation>Abrir carpeta...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="343"/>
|
<location filename="library_window.cpp" line="380"/>
|
||||||
<source>Open containing folder...</source>
|
<source>Open containing folder...</source>
|
||||||
<translation>Abrir carpeta contenedora...</translation>
|
<translation>Abrir carpeta contenedora...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="348"/>
|
<location filename="library_window.cpp" line="385"/>
|
||||||
<source>Select all comics</source>
|
<source>Select all comics</source>
|
||||||
<translation>Seleccionar todos los cómics</translation>
|
<translation>Seleccionar todos los cómics</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="352"/>
|
<location filename="library_window.cpp" line="389"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Editar</translation>
|
<translation>Editar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="356"/>
|
<location filename="library_window.cpp" line="393"/>
|
||||||
<source>Asign current order to comics</source>
|
<source>Asign current order to comics</source>
|
||||||
<translation>Asignar el orden actual a los cómics</translation>
|
<translation>Asignar el orden actual a los cómics</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="360"/>
|
<location filename="library_window.cpp" line="397"/>
|
||||||
<source>Update cover</source>
|
<source>Update cover</source>
|
||||||
<translation>Actualizar portada</translation>
|
<translation>Actualizar portada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="364"/>
|
<location filename="library_window.cpp" line="401"/>
|
||||||
<source>Hide comic flow</source>
|
<source>Hide comic flow</source>
|
||||||
<translation>Ocultar cómic flow</translation>
|
<translation>Ocultar cómic flow</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="429"/>
|
<location filename="library_window.cpp" line="472"/>
|
||||||
<source>Library</source>
|
<source>Library</source>
|
||||||
<translation>Librería</translation>
|
<translation>Librería</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="644"/>
|
<location filename="library_window.cpp" line="665"/>
|
||||||
<source>Update needed</source>
|
<source>Update needed</source>
|
||||||
<translation>Se necesita actualizar</translation>
|
<translation>Se necesita actualizar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="644"/>
|
<location filename="library_window.cpp" line="665"/>
|
||||||
<source>This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now?</source>
|
<source>This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now?</source>
|
||||||
<translation>Esta biblioteca fue creada con una versión anterior de YACReaderLibrary. Es necesario que se actualice. ¿Deseas hacerlo ahora?</translation>
|
<translation>Esta biblioteca fue creada con una versión anterior de YACReaderLibrary. Es necesario que se actualice. ¿Deseas hacerlo ahora?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="658"/>
|
<location filename="library_window.cpp" line="671"/>
|
||||||
|
<source>Update failed</source>
|
||||||
|
<translation>La actualización ha fallado</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="library_window.cpp" line="671"/>
|
||||||
|
<source>The current library can't be udpated. Check for write write permissions on: </source>
|
||||||
|
<translation>La librería actual no ha podido ser actualizada. Verifica que posees permisos de escritura en: </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="library_window.cpp" line="712"/>
|
||||||
<source>Download new version</source>
|
<source>Download new version</source>
|
||||||
<translation>Descargar la nueva versión</translation>
|
<translation>Descargar la nueva versión</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="658"/>
|
<location filename="library_window.cpp" line="712"/>
|
||||||
<source>This library was created with a newer version of YACReaderLibrary. Download the new version now?</source>
|
<source>This library was created with a newer version of YACReaderLibrary. Download the new version now?</source>
|
||||||
<translation>Esta biblioteca fue creada con una versión más nueva de YACReaderLibrary. ¿Deseas descargar la nueva versión ahora?</translation>
|
<translation>Esta biblioteca fue creada con una versión más nueva de YACReaderLibrary. ¿Deseas descargar la nueva versión ahora?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="681"/>
|
<location filename="library_window.cpp" line="733"/>
|
||||||
<source>Library not available</source>
|
<source>Library not available</source>
|
||||||
<translation>Biblioteca no disponible</translation>
|
<translation>Biblioteca no disponible</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="681"/>
|
<location filename="library_window.cpp" line="733"/>
|
||||||
<location filename="library_window.cpp" line="690"/>
|
<location filename="library_window.cpp" line="742"/>
|
||||||
<source>Library </source>
|
<source>Library </source>
|
||||||
<translation>La biblioteca </translation>
|
<translation>La biblioteca </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="681"/>
|
<location filename="library_window.cpp" line="733"/>
|
||||||
<source> is no longer available. Do you want to remove it?</source>
|
<source> is no longer available. Do you want to remove it?</source>
|
||||||
<translation> ya no esta disponible. ¿Deseas borrarla?</translation>
|
<translation> ya no esta disponible. ¿Deseas borrarla?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="690"/>
|
<location filename="library_window.cpp" line="742"/>
|
||||||
<source>Old library or corrupted</source>
|
<source>Old library or corrupted</source>
|
||||||
<translation>Biblioteca antigua o corrupta</translation>
|
<translation>Biblioteca antigua o corrupta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="690"/>
|
<location filename="library_window.cpp" line="742"/>
|
||||||
<source> is corrupted or has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now?</source>
|
<source> is corrupted or has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now?</source>
|
||||||
<translation> está corrupta o ha sido creada con una versión antigua de YACReaderLibrary, por lo que debe ser creada de nuevo. ¿Deseas volver a crearla ahora?</translation>
|
<translation> está corrupta o ha sido creada con una versión antigua de YACReaderLibrary, por lo que debe ser creada de nuevo. ¿Deseas volver a crearla ahora?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="931"/>
|
<location filename="library_window.cpp" line="983"/>
|
||||||
<source>Library not found</source>
|
<source>Library not found</source>
|
||||||
<translation>Biblioteca no encontrada</translation>
|
<translation>Biblioteca no encontrada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="931"/>
|
<location filename="library_window.cpp" line="983"/>
|
||||||
<source>The selected folder doesn't contain any library.</source>
|
<source>The selected folder doesn't contain any library.</source>
|
||||||
<translation>La carpeta seleccionada no contiene ninguna biblioteca.</translation>
|
<translation>La carpeta seleccionada no contiene ninguna biblioteca.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="970"/>
|
<location filename="library_window.cpp" line="1022"/>
|
||||||
<source>Saving libraries file....</source>
|
<source>Saving libraries file....</source>
|
||||||
<translation>Guardando bibliotecas...</translation>
|
<translation>Guardando bibliotecas...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="970"/>
|
<location filename="library_window.cpp" line="1022"/>
|
||||||
<source>There was a problem saving YACReaderLibrary libraries file. Please, check if you have enough permissions in the YACReader root folder.</source>
|
<source>There was a problem saving YACReaderLibrary libraries file. Please, check if you have enough permissions in the YACReader root folder.</source>
|
||||||
<translation>Hubo un problema al guardar las bibliotecas de YACReaderLibrary. Por favor, comprueba si tienes suficientes permisos en el directorio raíz de YACReader.</translation>
|
<translation>Hubo un problema al guardar las bibliotecas de YACReaderLibrary. Por favor, comprueba si tienes suficientes permisos en el directorio raíz de YACReader.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="996"/>
|
<location filename="library_window.cpp" line="1048"/>
|
||||||
<location filename="library_window.cpp" line="1032"/>
|
<location filename="library_window.cpp" line="1084"/>
|
||||||
<source>Are you sure?</source>
|
<source>Are you sure?</source>
|
||||||
<translation>¿Estás seguro?</translation>
|
<translation>¿Estás seguro?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="996"/>
|
<location filename="library_window.cpp" line="1048"/>
|
||||||
<source>Do you want delete </source>
|
<source>Do you want delete </source>
|
||||||
<translation>¿Deseas borrar </translation>
|
<translation>¿Deseas borrar </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="1032"/>
|
<location filename="library_window.cpp" line="1084"/>
|
||||||
<source>Do you want remove </source>
|
<source>Do you want remove </source>
|
||||||
<translation>¿Deseas eliminar </translation>
|
<translation>¿Deseas eliminar </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="1032"/>
|
<location filename="library_window.cpp" line="1084"/>
|
||||||
<source> library?
|
<source> library?
|
||||||
Files won't be erased from disk.</source>
|
Files won't be erased from disk.</source>
|
||||||
<translation>? Los archivos no serán borrados del disco.</translation>
|
<translation>? Los archivos no serán borrados del disco.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="1195"/>
|
<location filename="library_window.cpp" line="1249"/>
|
||||||
<source>Asign comics numbers</source>
|
<source>Asign comics numbers</source>
|
||||||
<translation>Asignar números de cómic</translation>
|
<translation>Asignar números de cómic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="library_window.cpp" line="1196"/>
|
<location filename="library_window.cpp" line="1250"/>
|
||||||
<source>Asign numbers starting in:</source>
|
<source>Asign numbers starting in:</source>
|
||||||
<translation>Asignar números empezando en:</translation>
|
<translation>Asignar números empezando en:</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -575,54 +726,37 @@ Files won't be erased from disk.</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>OptionsDialog</name>
|
<name>OptionsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="19"/>
|
|
||||||
<source>Save</source>
|
<source>Save</source>
|
||||||
<translation>Guardar</translation>
|
<translation type="obsolete">Guardar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="20"/>
|
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>Cancelar</translation>
|
<translation type="obsolete">Cancelar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="25"/>
|
|
||||||
<source>How to show covers:</source>
|
<source>How to show covers:</source>
|
||||||
<translation>Cómo mostrar las portadas:</translation>
|
<translation type="obsolete">Cómo mostrar las portadas:</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="27"/>
|
|
||||||
<source>CoverFlow look</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="28"/>
|
|
||||||
<source>Stripe look</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="options_dialog.cpp" line="29"/>
|
|
||||||
<source>Overlapped Stripe look</source>
|
|
||||||
<oldsource>Overlaped Stripe look</oldsource>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Restart is needed</source>
|
<source>Restart is needed</source>
|
||||||
<translation type="obsolete">Es necesario reiniciar</translation>
|
<translation type="obsolete">Es necesario reiniciar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="79"/>
|
|
||||||
<source>Comics directory</source>
|
<source>Comics directory</source>
|
||||||
<translation>Directorio de cómics</translation>
|
<translation type="obsolete">Directorio de cómics</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="91"/>
|
|
||||||
<source>Saving config file....</source>
|
<source>Saving config file....</source>
|
||||||
<translation>Guardando archivo de configuración...</translation>
|
<translation type="obsolete">Guardando archivo de configuración...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="options_dialog.cpp" line="91"/>
|
|
||||||
<source>There was a problem saving YACReaderLibrary configuration. Please, check if you have enough permissions in the YACReader root folder.</source>
|
<source>There was a problem saving YACReaderLibrary configuration. Please, check if you have enough permissions in the YACReader root folder.</source>
|
||||||
<translation>Hubo un problema al guardar la configuración de YACReaderLibrary. Por favor, comprueba si tienes suficientes permisos en el directorio raíz de YACReader.</translation>
|
<translation type="obsolete">Hubo un problema al guardar la configuración de YACReaderLibrary. Por favor, comprueba si tienes suficientes permisos en el directorio raíz de YACReader.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="options_dialog.cpp" line="45"/>
|
||||||
|
<source>Options</source>
|
||||||
|
<translation>Opciones</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -706,7 +840,7 @@ Files won't be erased from disk.</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="properties_dialog.cpp" line="159"/>
|
<location filename="properties_dialog.cpp" line="159"/>
|
||||||
<source>Writer(s):</source>
|
<source>Writer(s):</source>
|
||||||
<translation type="unfinished">Guionista(s):</translation>
|
<translation>Guionista(s):</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="properties_dialog.cpp" line="162"/>
|
<location filename="properties_dialog.cpp" line="162"/>
|
||||||
@ -716,7 +850,7 @@ Files won't be erased from disk.</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="properties_dialog.cpp" line="170"/>
|
<location filename="properties_dialog.cpp" line="170"/>
|
||||||
<source>Inker(s):</source>
|
<source>Inker(s):</source>
|
||||||
<translation type="unfinished">Entintador(es):</translation>
|
<translation>Entintador(es):</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="properties_dialog.cpp" line="173"/>
|
<location filename="properties_dialog.cpp" line="173"/>
|
||||||
@ -725,8 +859,9 @@ Files won't be erased from disk.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="properties_dialog.cpp" line="183"/>
|
<location filename="properties_dialog.cpp" line="183"/>
|
||||||
<source>Letterer(es):</source>
|
<source>Letterer(s):</source>
|
||||||
<translation type="unfinished"></translation>
|
<oldsource>Letterer(es):</oldsource>
|
||||||
|
<translation>Rotulista(s):</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="properties_dialog.cpp" line="186"/>
|
<location filename="properties_dialog.cpp" line="186"/>
|
||||||
@ -824,6 +959,29 @@ Files won't be erased from disk.</source>
|
|||||||
<translation>Renombrar la biblioteca seleccionada</translation>
|
<translation>Renombrar la biblioteca seleccionada</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ServerConfigDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="server_config_dialog.cpp" line="15"/>
|
||||||
|
<source>Generar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="server_config_dialog.cpp" line="25"/>
|
||||||
|
<source>IP</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="server_config_dialog.cpp" line="26"/>
|
||||||
|
<source>Port</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="server_config_dialog.cpp" line="131"/>
|
||||||
|
<source>QR generator error!</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>TableModel</name>
|
<name>TableModel</name>
|
||||||
<message>
|
<message>
|
||||||
@ -898,13 +1056,13 @@ Files won't be erased from disk.</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>YACReaderFieldEdit</name>
|
<name>YACReaderFieldEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="383"/>
|
<location filename="../common/custom_widgets.cpp" line="424"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="403"/>
|
<location filename="../common/custom_widgets.cpp" line="444"/>
|
||||||
<source>Click to overwrite</source>
|
<source>Click to overwrite</source>
|
||||||
<translation>Click para sobreescribir</translation>
|
<translation>Click para sobreescribir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="385"/>
|
<location filename="../common/custom_widgets.cpp" line="426"/>
|
||||||
<source>Restore to default</source>
|
<source>Restore to default</source>
|
||||||
<translation>Restaurar valor por defecto</translation>
|
<translation>Restaurar valor por defecto</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -912,17 +1070,171 @@ Files won't be erased from disk.</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>YACReaderFieldPlainTextEdit</name>
|
<name>YACReaderFieldPlainTextEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="421"/>
|
<location filename="../common/custom_widgets.cpp" line="465"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="432"/>
|
<location filename="../common/custom_widgets.cpp" line="476"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="457"/>
|
<location filename="../common/custom_widgets.cpp" line="501"/>
|
||||||
<location filename="../common/custom_widgets.cpp" line="463"/>
|
<location filename="../common/custom_widgets.cpp" line="507"/>
|
||||||
<source>Click to overwrite</source>
|
<source>Click to overwrite</source>
|
||||||
<translation>Click para sobreescribir</translation>
|
<translation>Click para sobreescribir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../common/custom_widgets.cpp" line="422"/>
|
<location filename="../common/custom_widgets.cpp" line="466"/>
|
||||||
<source>Restore to default</source>
|
<source>Restore to default</source>
|
||||||
<translation>Restaurar valor por defecto</translation>
|
<translation>Restaurar valor por defecto</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderFlowConfigWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1155"/>
|
||||||
|
<source>How to show covers:</source>
|
||||||
|
<translation>Cómo mostrar las portadas:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1157"/>
|
||||||
|
<source>CoverFlow look</source>
|
||||||
|
<translation>Tipo CoverFlow</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1158"/>
|
||||||
|
<source>Stripe look</source>
|
||||||
|
<translation>Tipo tira</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1159"/>
|
||||||
|
<source>Overlapped Stripe look</source>
|
||||||
|
<translation>Tipo tira solapada</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderGLFlowConfigWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="939"/>
|
||||||
|
<source>Presets:</source>
|
||||||
|
<translation>Predeterminados:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="941"/>
|
||||||
|
<source>Classic look</source>
|
||||||
|
<translation>Tipo clásico</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="944"/>
|
||||||
|
<source>Stripe look</source>
|
||||||
|
<translation>Tipo tira</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="947"/>
|
||||||
|
<source>Overlapped Stripe look</source>
|
||||||
|
<translation>Tipo tira solapada</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="950"/>
|
||||||
|
<source>Modern look</source>
|
||||||
|
<translation>Tipo moderno</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="953"/>
|
||||||
|
<source>Roulette look</source>
|
||||||
|
<translation>Tipo ruleta</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1000"/>
|
||||||
|
<source>Custom:</source>
|
||||||
|
<translation>Personalizado:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1003"/>
|
||||||
|
<source>View angle</source>
|
||||||
|
<translation>Ángulo de vista</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1009"/>
|
||||||
|
<source>Position</source>
|
||||||
|
<translation>Posición</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1015"/>
|
||||||
|
<source>Cover gap</source>
|
||||||
|
<translation>Hueco entre portadas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1021"/>
|
||||||
|
<source>Central gap</source>
|
||||||
|
<translation>Hueco central</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1027"/>
|
||||||
|
<source>Zoom</source>
|
||||||
|
<translation>Zoom</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1033"/>
|
||||||
|
<source>Y offset</source>
|
||||||
|
<translation>Desplazamiento en Y</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1039"/>
|
||||||
|
<source>Z offset</source>
|
||||||
|
<translation>Desplazamiento en Z</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1045"/>
|
||||||
|
<source>Cover Angle</source>
|
||||||
|
<translation>Ángulo de las portadas </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1051"/>
|
||||||
|
<source>Visibility</source>
|
||||||
|
<translation>Visibilidad</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1057"/>
|
||||||
|
<source>Light</source>
|
||||||
|
<translation>Luz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1063"/>
|
||||||
|
<source>Max angle</source>
|
||||||
|
<translation>Ángulo máximo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1093"/>
|
||||||
|
<source>Low Performance</source>
|
||||||
|
<translation>Rendimiento bajo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1095"/>
|
||||||
|
<source>High Performance</source>
|
||||||
|
<translation>Alto rendimiento</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1106"/>
|
||||||
|
<source>Use VSync (improve the image quality in fullscreen mode, worse performance)</source>
|
||||||
|
<translation>Usar VSync (mejora la calidad de imagen en pantalla completa, peor rendimiento) </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="1114"/>
|
||||||
|
<source>Performance:</source>
|
||||||
|
<translation>Rendimiento:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>YACReaderOptionsDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="575"/>
|
||||||
|
<source>Save</source>
|
||||||
|
<translation>Guardar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="576"/>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation>Cancelar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../common/custom_widgets.cpp" line="584"/>
|
||||||
|
<source>Use hardware acceleration (restart needed)</source>
|
||||||
|
<translation>Usar aceleración por hardware (necesario reiniciar)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
|
||||||
#define PREVIOUS_VERSION "0.4.5"
|
#define PREVIOUS_VERSION "5.0.0"
|
||||||
|
|
||||||
HttpVersionChecker::HttpVersionChecker()
|
HttpVersionChecker::HttpVersionChecker()
|
||||||
:QWidget()
|
:QWidget()
|
||||||
|
@ -516,7 +516,7 @@ YACReaderSpinSliderWidget::YACReaderSpinSliderWidget(QWidget * parent)
|
|||||||
:QWidget(parent)
|
:QWidget(parent)
|
||||||
{
|
{
|
||||||
QHBoxLayout * layout = new QHBoxLayout;
|
QHBoxLayout * layout = new QHBoxLayout;
|
||||||
layout->addWidget(label = new QLabel(this));
|
layout->addWidget(label = new QLabel(this),1);
|
||||||
layout->addStretch();
|
layout->addStretch();
|
||||||
spinBox = new QSpinBox(this);
|
spinBox = new QSpinBox(this);
|
||||||
layout->addWidget(spinBox);
|
layout->addWidget(spinBox);
|
||||||
@ -561,7 +561,7 @@ int YACReaderSpinSliderWidget::getValue()
|
|||||||
|
|
||||||
QSize YACReaderSpinSliderWidget::minimumSizeHint() const
|
QSize YACReaderSpinSliderWidget::minimumSizeHint() const
|
||||||
{
|
{
|
||||||
return QSize(220, 25);
|
return QSize(270, 25);
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
@ -602,39 +602,39 @@ YACReaderOptionsDialog::YACReaderOptionsDialog(QWidget * parent)
|
|||||||
connect(gl->radionModern,SIGNAL(toggled(bool)),this,SIGNAL(optionsChanged()));
|
connect(gl->radionModern,SIGNAL(toggled(bool)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->radioDown,SIGNAL(toggled(bool)),this,SIGNAL(optionsChanged()));
|
connect(gl->radioDown,SIGNAL(toggled(bool)),this,SIGNAL(optionsChanged()));
|
||||||
|
|
||||||
connect(gl->xRotation,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->xRotation,SIGNAL(valueChanged(int)),this,SLOT(saveXRotation(int)));
|
connect(gl->xRotation,SIGNAL(valueChanged(int)),this,SLOT(saveXRotation(int)));
|
||||||
|
connect(gl->xRotation,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->yPosition,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->yPosition,SIGNAL(valueChanged(int)),this,SLOT(saveYPosition(int)));
|
connect(gl->yPosition,SIGNAL(valueChanged(int)),this,SLOT(saveYPosition(int)));
|
||||||
|
connect(gl->yPosition,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->coverDistance,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->coverDistance,SIGNAL(valueChanged(int)),this,SLOT(saveCoverDistance(int)));
|
connect(gl->coverDistance,SIGNAL(valueChanged(int)),this,SLOT(saveCoverDistance(int)));
|
||||||
|
connect(gl->coverDistance,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->centralDistance,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->centralDistance,SIGNAL(valueChanged(int)),this,SLOT(saveCentralDistance(int)));
|
connect(gl->centralDistance,SIGNAL(valueChanged(int)),this,SLOT(saveCentralDistance(int)));
|
||||||
|
connect(gl->centralDistance,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->zoomLevel,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->zoomLevel,SIGNAL(valueChanged(int)),this,SLOT(saveZoomLevel(int)));
|
connect(gl->zoomLevel,SIGNAL(valueChanged(int)),this,SLOT(saveZoomLevel(int)));
|
||||||
|
connect(gl->zoomLevel,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->yCoverOffset,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->yCoverOffset,SIGNAL(valueChanged(int)),this,SLOT(saveYCoverOffset(int)));
|
connect(gl->yCoverOffset,SIGNAL(valueChanged(int)),this,SLOT(saveYCoverOffset(int)));
|
||||||
|
connect(gl->yCoverOffset,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->zCoverOffset,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->zCoverOffset,SIGNAL(valueChanged(int)),this,SLOT(saveZCoverOffset(int)));
|
connect(gl->zCoverOffset,SIGNAL(valueChanged(int)),this,SLOT(saveZCoverOffset(int)));
|
||||||
|
connect(gl->zCoverOffset,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->coverRotation,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->coverRotation,SIGNAL(valueChanged(int)),this,SLOT(saveCoverRotation(int)));
|
connect(gl->coverRotation,SIGNAL(valueChanged(int)),this,SLOT(saveCoverRotation(int)));
|
||||||
|
connect(gl->coverRotation,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->fadeOutDist,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->fadeOutDist,SIGNAL(valueChanged(int)),this,SLOT(saveFadeOutDist(int)));
|
connect(gl->fadeOutDist,SIGNAL(valueChanged(int)),this,SLOT(saveFadeOutDist(int)));
|
||||||
|
connect(gl->fadeOutDist,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->lightStrength,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->lightStrength,SIGNAL(valueChanged(int)),this,SLOT(saveLightStrength(int)));
|
connect(gl->lightStrength,SIGNAL(valueChanged(int)),this,SLOT(saveLightStrength(int)));
|
||||||
|
connect(gl->lightStrength,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
connect(gl->maxAngle,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
|
||||||
connect(gl->maxAngle,SIGNAL(valueChanged(int)),this,SLOT(saveMaxAngle(int)));
|
connect(gl->maxAngle,SIGNAL(valueChanged(int)),this,SLOT(saveMaxAngle(int)));
|
||||||
|
connect(gl->maxAngle,SIGNAL(valueChanged(int)),this,SIGNAL(optionsChanged()));
|
||||||
|
|
||||||
connect(gl->performanceSlider, SIGNAL(valueChanged(int)),this,SLOT(savePerformance(int)));
|
connect(gl->performanceSlider, SIGNAL(valueChanged(int)),this,SLOT(savePerformance(int)));
|
||||||
connect(gl->performanceSlider, SIGNAL(valueChanged(int)),this,SLOT(optionsChanged()));
|
connect(gl->performanceSlider, SIGNAL(valueChanged(int)),this,SLOT(optionsChanged()));
|
||||||
|
|
||||||
@ -981,7 +981,7 @@ YACReaderGLFlowConfigWidget::YACReaderGLFlowConfigWidget(QWidget * parent /* = 0
|
|||||||
QHBoxLayout * opt4 = new QHBoxLayout;
|
QHBoxLayout * opt4 = new QHBoxLayout;
|
||||||
opt4->addWidget(radionModern);
|
opt4->addWidget(radionModern);
|
||||||
QLabel * lOpt4 = new QLabel();
|
QLabel * lOpt4 = new QLabel();
|
||||||
lOpt4->setPixmap(QPixmap(":/images/flow3.png"));
|
lOpt4->setPixmap(QPixmap(":/images/flow4.png"));
|
||||||
opt4->addStretch();
|
opt4->addStretch();
|
||||||
opt4->addWidget(lOpt4);
|
opt4->addWidget(lOpt4);
|
||||||
vbox->addLayout(opt4);
|
vbox->addLayout(opt4);
|
||||||
@ -989,7 +989,7 @@ YACReaderGLFlowConfigWidget::YACReaderGLFlowConfigWidget(QWidget * parent /* = 0
|
|||||||
QHBoxLayout * opt5 = new QHBoxLayout;
|
QHBoxLayout * opt5 = new QHBoxLayout;
|
||||||
opt5->addWidget(radioDown);
|
opt5->addWidget(radioDown);
|
||||||
QLabel * lOpt5 = new QLabel();
|
QLabel * lOpt5 = new QLabel();
|
||||||
lOpt5->setPixmap(QPixmap(":/images/flow3.png"));
|
lOpt5->setPixmap(QPixmap(":/images/flow5.png"));
|
||||||
opt5->addStretch();
|
opt5->addStretch();
|
||||||
opt5->addWidget(lOpt5);
|
opt5->addWidget(lOpt5);
|
||||||
vbox->addLayout(opt5);
|
vbox->addLayout(opt5);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
|
#include <QLocale.h>
|
||||||
|
|
||||||
OnStartFlowSelectionDialog::OnStartFlowSelectionDialog(QWidget * parent)
|
OnStartFlowSelectionDialog::OnStartFlowSelectionDialog(QWidget * parent)
|
||||||
:QDialog(parent)
|
:QDialog(parent)
|
||||||
@ -20,17 +21,30 @@ OnStartFlowSelectionDialog::OnStartFlowSelectionDialog(QWidget * parent)
|
|||||||
rejectHW->setAutoFillBackground(true);
|
rejectHW->setAutoFillBackground(true);
|
||||||
|
|
||||||
QPalette paletteHW;
|
QPalette paletteHW;
|
||||||
paletteHW.setBrush(acceptHW->backgroundRole(), QBrush(QImage(":/images/useNewFlowButton.png")));
|
QLocale locale = this->locale();
|
||||||
|
QLocale::Language language = locale.language();
|
||||||
|
|
||||||
|
/*if(language == QLocale::Spanish)
|
||||||
|
paletteHW.setBrush(acceptHW->backgroundRole(), QBrush(QImage(":/images/useNewFlowButton_es.png")));
|
||||||
|
else
|
||||||
|
paletteHW.setBrush(acceptHW->backgroundRole(), QBrush(QImage(":/images/useNewFlowButton.png")));*/
|
||||||
|
|
||||||
|
|
||||||
|
paletteHW.setBrush(acceptHW->backgroundRole(), QBrush(QImage(":/images/nonexxx.png")));
|
||||||
acceptHW->setPalette(paletteHW);
|
acceptHW->setPalette(paletteHW);
|
||||||
QPalette paletteSW;
|
QPalette paletteSW;
|
||||||
paletteSW.setBrush(rejectHW->backgroundRole(), QBrush(QImage(":/images/useOldFlowButton.png")));
|
paletteSW.setBrush(rejectHW->backgroundRole(), QBrush(QImage(":/images/nonexxx.png")));
|
||||||
rejectHW->setPalette(paletteSW);
|
rejectHW->setPalette(paletteSW);
|
||||||
//QHBoxLayout * layout = new QHBoxLayout;
|
//QHBoxLayout * layout = new QHBoxLayout;
|
||||||
//layout->addWidget(acceptHW);
|
//layout->addWidget(acceptHW);
|
||||||
//layout->addWidget(rejectHW);
|
//layout->addWidget(rejectHW);
|
||||||
|
|
||||||
QPalette palette;
|
QPalette palette;
|
||||||
palette.setBrush(this->backgroundRole(), QBrush(QImage(":/images/onStartFlowSelection.png")));
|
if(language == QLocale::Spanish)
|
||||||
|
palette.setBrush(this->backgroundRole(), QBrush(QImage(":/images/onStartFlowSelection_es.png")));
|
||||||
|
else
|
||||||
|
palette.setBrush(this->backgroundRole(), QBrush(QImage(":/images/onStartFlowSelection.png")));
|
||||||
|
|
||||||
setPalette(palette);
|
setPalette(palette);
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include <QtGui>
|
#include <QtGui>
|
||||||
#include <QtOpenGL>
|
#include <QtOpenGL>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <gl/GLU.h>
|
#include <GL/glu.h>
|
||||||
#include <QGLContext>
|
#include <QGLContext>
|
||||||
#include <QGLPixelBuffer>
|
#include <QGLPixelBuffer>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef __YACREADER_GLOBAL_H
|
#ifndef __YACREADER_GLOBAL_H
|
||||||
#define __YACREADER_GLOBAL_H
|
#define __YACREADER_GLOBAL_H
|
||||||
|
|
||||||
#define VERSION "5.0.0"
|
#define VERSION "5.5.0"
|
||||||
|
|
||||||
#define PATH "PATH"
|
#define PATH "PATH"
|
||||||
#define MAG_GLASS_SIZE "MAG_GLASS_SIZE"
|
#define MAG_GLASS_SIZE "MAG_GLASS_SIZE"
|
||||||
|
BIN
dependencies/poppler/bin/poppler-qt4.dll
vendored
Normal file
BIN
dependencies/poppler/bin/poppler-qt4.dll
vendored
Normal file
Binary file not shown.
10
dependencies/poppler/bin/poppler-qt4.dll.manifest
vendored
Normal file
10
dependencies/poppler/bin/poppler-qt4.dll.manifest
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges>
|
||||||
|
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
BIN
dependencies/poppler/dependencies/bin/freetype6.dll
vendored
Normal file
BIN
dependencies/poppler/dependencies/bin/freetype6.dll
vendored
Normal file
Binary file not shown.
10
dependencies/poppler/dependencies/bin/freetype6.dll.manifest
vendored
Normal file
10
dependencies/poppler/dependencies/bin/freetype6.dll.manifest
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges>
|
||||||
|
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
BIN
dependencies/poppler/dependencies/bin/openjpeg.dll
vendored
Normal file
BIN
dependencies/poppler/dependencies/bin/openjpeg.dll
vendored
Normal file
Binary file not shown.
10
dependencies/poppler/dependencies/bin/openjpeg.dll.manifest
vendored
Normal file
10
dependencies/poppler/dependencies/bin/openjpeg.dll.manifest
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges>
|
||||||
|
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
0
dependencies/poppler/dependencies/lib/VAC�O.txt
vendored
Normal file
0
dependencies/poppler/dependencies/lib/VAC�O.txt
vendored
Normal file
198
dependencies/poppler/include/poppler-annotation-helper.h
vendored
Normal file
198
dependencies/poppler/include/poppler-annotation-helper.h
vendored
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
/* poppler-annotation-helper.h: qt interface to poppler
|
||||||
|
* Copyright (C) 2006, 2008, Albert Astals Cid <aacid@kde.org>
|
||||||
|
* Copyright (C) 2008, Pino Toscano <pino@kde.org>
|
||||||
|
* Copyright (C) 2012, Fabio D'Urso <fabiodurso@hotmail.it>
|
||||||
|
* Adapting code from
|
||||||
|
* Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <QtCore/QDebug>
|
||||||
|
|
||||||
|
#include <Object.h>
|
||||||
|
|
||||||
|
class QColor;
|
||||||
|
|
||||||
|
class AnnotColor;
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
class XPDFReader
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// find named symbol and parse it
|
||||||
|
static inline void lookupName( Dict *, char *, QString & dest );
|
||||||
|
static inline void lookupString( Dict *, char *, QString & dest );
|
||||||
|
static inline void lookupBool( Dict *, char *, bool & dest );
|
||||||
|
static inline void lookupInt( Dict *, char *, int & dest );
|
||||||
|
static inline void lookupNum( Dict *, char *, double & dest );
|
||||||
|
static inline int lookupNumArray( Dict *, char *, double * dest, int len );
|
||||||
|
static inline void lookupColor( Dict *, char *, QColor & color );
|
||||||
|
static inline void lookupIntRef( Dict *, char *, int & dest );
|
||||||
|
static inline void lookupDate( Dict *, char *, QDateTime & dest );
|
||||||
|
// transform from user coords to normalized ones using the matrix M
|
||||||
|
static inline void transform( double * M, double x, double y, QPointF &res );
|
||||||
|
static inline void invTransform( double * M, const QPointF &p, double &x, double &y );
|
||||||
|
};
|
||||||
|
|
||||||
|
void XPDFReader::lookupName( Dict * dict, char * type, QString & dest )
|
||||||
|
{
|
||||||
|
Object nameObj;
|
||||||
|
dict->lookup( type, &nameObj );
|
||||||
|
if ( nameObj.isNull() )
|
||||||
|
return;
|
||||||
|
if ( nameObj.isName() )
|
||||||
|
dest = nameObj.getName();
|
||||||
|
else
|
||||||
|
qDebug() << type << " is not Name." << endl;
|
||||||
|
nameObj.free();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::lookupString( Dict * dict, char * type, QString & dest )
|
||||||
|
{
|
||||||
|
Object stringObj;
|
||||||
|
dict->lookup( type, &stringObj );
|
||||||
|
if ( stringObj.isNull() )
|
||||||
|
return;
|
||||||
|
if ( stringObj.isString() )
|
||||||
|
dest = stringObj.getString()->getCString();
|
||||||
|
else
|
||||||
|
qDebug() << type << " is not String." << endl;
|
||||||
|
stringObj.free();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::lookupBool( Dict * dict, char * type, bool & dest )
|
||||||
|
{
|
||||||
|
Object boolObj;
|
||||||
|
dict->lookup( type, &boolObj );
|
||||||
|
if ( boolObj.isNull() )
|
||||||
|
return;
|
||||||
|
if ( boolObj.isBool() )
|
||||||
|
dest = boolObj.getBool() == gTrue;
|
||||||
|
else
|
||||||
|
qDebug() << type << " is not Bool." << endl;
|
||||||
|
boolObj.free();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::lookupInt( Dict * dict, char * type, int & dest )
|
||||||
|
{
|
||||||
|
Object intObj;
|
||||||
|
dict->lookup( type, &intObj );
|
||||||
|
if ( intObj.isNull() )
|
||||||
|
return;
|
||||||
|
if ( intObj.isInt() )
|
||||||
|
dest = intObj.getInt();
|
||||||
|
else
|
||||||
|
qDebug() << type << " is not Int." << endl;
|
||||||
|
intObj.free();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::lookupNum( Dict * dict, char * type, double & dest )
|
||||||
|
{
|
||||||
|
Object numObj;
|
||||||
|
dict->lookup( type, &numObj );
|
||||||
|
if ( numObj.isNull() )
|
||||||
|
return;
|
||||||
|
if ( numObj.isNum() )
|
||||||
|
dest = numObj.getNum();
|
||||||
|
else
|
||||||
|
qDebug() << type << " is not Num." << endl;
|
||||||
|
numObj.free();
|
||||||
|
}
|
||||||
|
|
||||||
|
int XPDFReader::lookupNumArray( Dict * dict, char * type, double * dest, int len )
|
||||||
|
{
|
||||||
|
Object arrObj;
|
||||||
|
dict->lookup( type, &arrObj );
|
||||||
|
if ( arrObj.isNull() )
|
||||||
|
return 0;
|
||||||
|
Object numObj;
|
||||||
|
if ( arrObj.isArray() )
|
||||||
|
{
|
||||||
|
len = qMin( len, arrObj.arrayGetLength() );
|
||||||
|
for ( int i = 0; i < len; i++ )
|
||||||
|
{
|
||||||
|
dest[i] = arrObj.arrayGet( i, &numObj )->getNum();
|
||||||
|
numObj.free();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
len = 0;
|
||||||
|
qDebug() << type << "is not Array." << endl;
|
||||||
|
}
|
||||||
|
arrObj.free();
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::lookupColor( Dict * dict, char * type, QColor & dest )
|
||||||
|
{
|
||||||
|
double c[3];
|
||||||
|
if ( XPDFReader::lookupNumArray( dict, type, c, 3 ) == 3 )
|
||||||
|
dest = QColor( (int)(c[0]*255.0), (int)(c[1]*255.0), (int)(c[2]*255.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::lookupIntRef( Dict * dict, char * type, int & dest )
|
||||||
|
{
|
||||||
|
Object refObj;
|
||||||
|
dict->lookupNF( type, &refObj );
|
||||||
|
if ( refObj.isNull() )
|
||||||
|
return;
|
||||||
|
if ( refObj.isRef() )
|
||||||
|
dest = refObj.getRefNum();
|
||||||
|
else
|
||||||
|
qDebug() << type << " is not Ref." << endl;
|
||||||
|
refObj.free();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::lookupDate( Dict * dict, char * type, QDateTime & dest )
|
||||||
|
{
|
||||||
|
Object dateObj;
|
||||||
|
dict->lookup( type, &dateObj );
|
||||||
|
if ( dateObj.isNull() )
|
||||||
|
return;
|
||||||
|
if ( dateObj.isString() )
|
||||||
|
{
|
||||||
|
dest = convertDate( dateObj.getString()->getCString() );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
qDebug() << type << " is not Date" << endl;
|
||||||
|
dateObj.free();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::transform( double * M, double x, double y, QPointF &res )
|
||||||
|
{
|
||||||
|
res.setX( M[0] * x + M[2] * y + M[4] );
|
||||||
|
res.setY( M[1] * x + M[3] * y + M[5] );
|
||||||
|
}
|
||||||
|
|
||||||
|
void XPDFReader::invTransform( double * M, const QPointF &p, double &x, double &y )
|
||||||
|
{
|
||||||
|
const double det = M[0]*M[3] - M[1]*M[2];
|
||||||
|
Q_ASSERT(det != 0);
|
||||||
|
|
||||||
|
const double invM[4] = { M[3]/det, -M[1]/det, -M[2]/det, M[0]/det };
|
||||||
|
const double xt = p.x() - M[4];
|
||||||
|
const double yt = p.y() - M[5];
|
||||||
|
|
||||||
|
x = invM[0] * xt + invM[2] * yt;
|
||||||
|
y = invM[1] * xt + invM[3] * yt;
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor convertAnnotColor( AnnotColor *color );
|
||||||
|
AnnotColor* convertQColor( const QColor &color );
|
||||||
|
|
||||||
|
}
|
111
dependencies/poppler/include/poppler-annotation-private.h
vendored
Normal file
111
dependencies/poppler/include/poppler-annotation-private.h
vendored
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
/* poppler-annotation-private.h: qt interface to poppler
|
||||||
|
* Copyright (C) 2007, Pino Toscano <pino@kde.org>
|
||||||
|
* Copyright (C) 2012, Tobias Koenig <tokoe@kdab.com>
|
||||||
|
* Copyright (C) 2012, Fabio D'Urso <fabiodurso@hotmail.it>
|
||||||
|
* Copyright (C) 2012, Albert Astals Cid <aacid@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _POPPLER_ANNOTATION_PRIVATE_H_
|
||||||
|
#define _POPPLER_ANNOTATION_PRIVATE_H_
|
||||||
|
|
||||||
|
#include <QtCore/QLinkedList>
|
||||||
|
#include <QtCore/QPointF>
|
||||||
|
#include <QtCore/QSharedDataPointer>
|
||||||
|
|
||||||
|
#include "poppler-annotation.h"
|
||||||
|
|
||||||
|
#include <Object.h>
|
||||||
|
|
||||||
|
class Annot;
|
||||||
|
class AnnotPath;
|
||||||
|
class Link;
|
||||||
|
class Page;
|
||||||
|
class PDFRectangle;
|
||||||
|
|
||||||
|
namespace Poppler
|
||||||
|
{
|
||||||
|
class DocumentData;
|
||||||
|
|
||||||
|
class AnnotationPrivate : public QSharedData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AnnotationPrivate();
|
||||||
|
virtual ~AnnotationPrivate();
|
||||||
|
|
||||||
|
void addRevision(Annotation *ann, Annotation::RevScope scope, Annotation::RevType type);
|
||||||
|
|
||||||
|
/* Returns an Annotation of the right subclass whose d_ptr points to
|
||||||
|
* this AnnotationPrivate */
|
||||||
|
virtual Annotation * makeAlias() = 0;
|
||||||
|
|
||||||
|
/* properties: contents related */
|
||||||
|
QString author;
|
||||||
|
QString contents;
|
||||||
|
QString uniqueName;
|
||||||
|
QDateTime modDate; // before or equal to currentDateTime()
|
||||||
|
QDateTime creationDate; // before or equal to modifyDate
|
||||||
|
|
||||||
|
/* properties: look/interaction related */
|
||||||
|
int flags;
|
||||||
|
QRectF boundary;
|
||||||
|
|
||||||
|
/* style and popup */
|
||||||
|
Annotation::Style style;
|
||||||
|
Annotation::Popup popup;
|
||||||
|
|
||||||
|
/* revisions */
|
||||||
|
Annotation::RevScope revisionScope;
|
||||||
|
Annotation::RevType revisionType;
|
||||||
|
QList<Annotation*> revisions;
|
||||||
|
|
||||||
|
/* After this call, the Annotation object will behave like a wrapper for
|
||||||
|
* the specified Annot object. All cached values are discarded */
|
||||||
|
void tieToNativeAnnot(Annot *ann, ::Page *page, DocumentData *doc);
|
||||||
|
|
||||||
|
/* Creates a new Annot object on the specified page, flushes current
|
||||||
|
* values to that object and ties this Annotation to that object */
|
||||||
|
virtual Annot* createNativeAnnot(::Page *destPage, DocumentData *doc) = 0;
|
||||||
|
|
||||||
|
/* Inited to 0 (i.e. untied annotation) */
|
||||||
|
Annot *pdfAnnot;
|
||||||
|
::Page *pdfPage;
|
||||||
|
DocumentData * parentDoc;
|
||||||
|
|
||||||
|
/* The following helpers only work if pdfPage is set */
|
||||||
|
void flushBaseAnnotationProperties();
|
||||||
|
void fillMTX(double MTX[6]) const;
|
||||||
|
QRectF fromPdfRectangle(const PDFRectangle &r) const;
|
||||||
|
PDFRectangle toPdfRectangle(const QRectF &r) const;
|
||||||
|
AnnotPath * toAnnotPath(const QLinkedList<QPointF> &l) const;
|
||||||
|
|
||||||
|
/* Scan page for annotations, parentId=0 searches for root annotations */
|
||||||
|
static QList<Annotation*> findAnnotations(::Page *pdfPage, DocumentData *doc, int parentId = 0);
|
||||||
|
|
||||||
|
/* Add given annotation to given page */
|
||||||
|
static void addAnnotationToPage(::Page *pdfPage, DocumentData *doc, const Annotation * ann);
|
||||||
|
|
||||||
|
/* Remove annotation from page and destroy ann */
|
||||||
|
static void removeAnnotationFromPage(::Page *pdfPage, const Annotation * ann);
|
||||||
|
|
||||||
|
Ref pdfObjectReference() const;
|
||||||
|
|
||||||
|
Link* additionalAction( Annotation::AdditionalActionType type ) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
920
dependencies/poppler/include/poppler-annotation.h
vendored
Normal file
920
dependencies/poppler/include/poppler-annotation.h
vendored
Normal file
@ -0,0 +1,920 @@
|
|||||||
|
/* poppler-annotation.h: qt interface to poppler
|
||||||
|
* Copyright (C) 2006-2008, 2012 Albert Astals Cid <aacid@kde.org>
|
||||||
|
* Copyright (C) 2006, 2008 Pino Toscano <pino@kde.org>
|
||||||
|
* Copyright (C) 2007, Brad Hards <bradh@frogmouth.net>
|
||||||
|
* Copyright (C) 2010, Philip Lorenz <lorenzph+freedesktop@gmail.com>
|
||||||
|
* Copyright (C) 2012, Tobias Koenig <tokoe@kdab.com>
|
||||||
|
* Copyright (C) 2012, Guillermo A. Amaral B. <gamaral@kde.org>
|
||||||
|
* Copyright (C) 2012, Fabio D'Urso <fabiodurso@hotmail.it>
|
||||||
|
* Adapting code from
|
||||||
|
* Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _POPPLER_ANNOTATION_H_
|
||||||
|
#define _POPPLER_ANNOTATION_H_
|
||||||
|
|
||||||
|
#include <QtCore/QDateTime>
|
||||||
|
#include <QtCore/QSharedDataPointer>
|
||||||
|
#include <QtCore/QLinkedList>
|
||||||
|
#include <QtCore/QList>
|
||||||
|
#include <QtCore/QPointF>
|
||||||
|
#include <QtCore/QRectF>
|
||||||
|
#include <QtCore/QVector>
|
||||||
|
#include <QtGui/QColor>
|
||||||
|
#include <QtGui/QFont>
|
||||||
|
#include <QtXml/QDomDocument>
|
||||||
|
#include "poppler-export.h"
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
class Annotation;
|
||||||
|
class AnnotationPrivate;
|
||||||
|
class TextAnnotationPrivate;
|
||||||
|
class LineAnnotationPrivate;
|
||||||
|
class GeomAnnotationPrivate;
|
||||||
|
class HighlightAnnotationPrivate;
|
||||||
|
class StampAnnotationPrivate;
|
||||||
|
class InkAnnotationPrivate;
|
||||||
|
class LinkAnnotationPrivate;
|
||||||
|
class CaretAnnotationPrivate;
|
||||||
|
class FileAttachmentAnnotationPrivate;
|
||||||
|
class SoundAnnotationPrivate;
|
||||||
|
class MovieAnnotationPrivate;
|
||||||
|
class ScreenAnnotationPrivate;
|
||||||
|
class WidgetAnnotationPrivate;
|
||||||
|
class EmbeddedFile;
|
||||||
|
class Link;
|
||||||
|
class SoundObject;
|
||||||
|
class MovieObject;
|
||||||
|
class LinkRendition;
|
||||||
|
class Page;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Helper class for (recursive) Annotation retrieval/storage.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT AnnotationUtils
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* Restore an Annotation (with revisions if needed) from the DOM
|
||||||
|
* element \p annElement.
|
||||||
|
* \returns a pointer to the complete Annotation or 0 if element is
|
||||||
|
* invalid.
|
||||||
|
*/
|
||||||
|
static Annotation * createAnnotation( const QDomElement & annElement );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save the Annotation \p ann as a child of \p annElement taking
|
||||||
|
* care of saving all revisions if \p ann has any.
|
||||||
|
*/
|
||||||
|
static void storeAnnotation( const Annotation * ann,
|
||||||
|
QDomElement & annElement, QDomDocument & document );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an element called \p name from the direct children of
|
||||||
|
* \p parentNode or a null element if not found.
|
||||||
|
*/
|
||||||
|
static QDomElement findChildElement( const QDomNode & parentNode,
|
||||||
|
const QString & name );
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Annotation class holding properties shared by all annotations.
|
||||||
|
*
|
||||||
|
* An Annotation is an object (text note, highlight, sound, popup window, ..)
|
||||||
|
* contained by a Page in the document.
|
||||||
|
*
|
||||||
|
* \warning Different Annotation objects might point to the same annotation.
|
||||||
|
* Use uniqueName to test for Annotation equality
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class LinkMovie;
|
||||||
|
friend class LinkRendition;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// enum definitions
|
||||||
|
// WARNING!!! oKular uses that very same values so if you change them notify the author!
|
||||||
|
enum SubType { AText = 1, ALine = 2, AGeom = 3, AHighlight = 4, AStamp = 5,
|
||||||
|
AInk = 6, ALink = 7, ACaret = 8, AFileAttachment = 9, ASound = 10,
|
||||||
|
AMovie = 11, AScreen = 12 /** \since 0.20 */, AWidget = 13 /** \since 0.22 */, A_BASE = 0 };
|
||||||
|
enum Flag { Hidden = 1, FixedSize = 2, FixedRotation = 4, DenyPrint = 8,
|
||||||
|
DenyWrite = 16, DenyDelete = 32, ToggleHidingOnMouse = 64, External = 128 };
|
||||||
|
enum LineStyle { Solid = 1, Dashed = 2, Beveled = 4, Inset = 8, Underline = 16 };
|
||||||
|
enum LineEffect { NoEffect = 1, Cloudy = 2};
|
||||||
|
enum RevScope { Root = 0 /** \since 0.20 */, Reply = 1, Group = 2, Delete = 4 };
|
||||||
|
enum RevType { None = 1, Marked = 2, Unmarked = 4, Accepted = 8, Rejected = 16, Cancelled = 32, Completed = 64 };
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the author of the annotation.
|
||||||
|
*/
|
||||||
|
QString author() const;
|
||||||
|
/**
|
||||||
|
* Sets a new author for the annotation.
|
||||||
|
*/
|
||||||
|
void setAuthor( const QString &author );
|
||||||
|
|
||||||
|
QString contents() const;
|
||||||
|
void setContents( const QString &contents );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the unique name (ID) of the annotation.
|
||||||
|
*/
|
||||||
|
QString uniqueName() const;
|
||||||
|
/**
|
||||||
|
* Sets a new unique name for the annotation.
|
||||||
|
*
|
||||||
|
* \note no check of the new uniqueName is done
|
||||||
|
*/
|
||||||
|
void setUniqueName( const QString &uniqueName );
|
||||||
|
|
||||||
|
QDateTime modificationDate() const;
|
||||||
|
void setModificationDate( const QDateTime &date );
|
||||||
|
|
||||||
|
QDateTime creationDate() const;
|
||||||
|
void setCreationDate( const QDateTime &date );
|
||||||
|
|
||||||
|
int flags() const;
|
||||||
|
void setFlags( int flags );
|
||||||
|
|
||||||
|
QRectF boundary() const;
|
||||||
|
void setBoundary( const QRectF &boundary );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Container class for Annotation style information
|
||||||
|
*
|
||||||
|
* \since 0.20
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT Style
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Style();
|
||||||
|
Style( const Style &other );
|
||||||
|
Style& operator=( const Style &other );
|
||||||
|
~Style();
|
||||||
|
|
||||||
|
// appearance properties
|
||||||
|
QColor color() const; // black
|
||||||
|
void setColor(const QColor &color);
|
||||||
|
double opacity() const; // 1.0
|
||||||
|
void setOpacity(double opacity);
|
||||||
|
|
||||||
|
// pen properties
|
||||||
|
double width() const; // 1.0
|
||||||
|
void setWidth(double width);
|
||||||
|
LineStyle lineStyle() const; // LineStyle::Solid
|
||||||
|
void setLineStyle(LineStyle style);
|
||||||
|
double xCorners() const; // 0.0
|
||||||
|
void setXCorners(double radius);
|
||||||
|
double yCorners() const; // 0.0
|
||||||
|
void setYCorners(double radius);
|
||||||
|
const QVector<double>& dashArray() const; // [ 3 ]
|
||||||
|
void setDashArray(const QVector<double> &array);
|
||||||
|
|
||||||
|
// pen effects
|
||||||
|
LineEffect lineEffect() const; // LineEffect::NoEffect
|
||||||
|
void setLineEffect(LineEffect effect);
|
||||||
|
double effectIntensity() const; // 1.0
|
||||||
|
void setEffectIntensity(double intens);
|
||||||
|
|
||||||
|
private:
|
||||||
|
class Private;
|
||||||
|
QSharedDataPointer<Private> d;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \since 0.20
|
||||||
|
Style style() const;
|
||||||
|
/// \since 0.20
|
||||||
|
void setStyle( const Style& style );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Container class for Annotation pop-up window information
|
||||||
|
*
|
||||||
|
* \since 0.20
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT Popup
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Popup();
|
||||||
|
Popup( const Popup &other );
|
||||||
|
Popup& operator=( const Popup &other );
|
||||||
|
~Popup();
|
||||||
|
|
||||||
|
// window state (Hidden, FixedRotation, Deny* flags allowed)
|
||||||
|
int flags() const; // -1 (never initialized) -> 0 (if inited and shown)
|
||||||
|
void setFlags( int flags );
|
||||||
|
|
||||||
|
// geometric properties
|
||||||
|
QRectF geometry() const; // no default
|
||||||
|
void setGeometry( const QRectF &geom );
|
||||||
|
|
||||||
|
// window contens/override properties
|
||||||
|
QString title() const; // '' text in the titlebar (overrides author)
|
||||||
|
void setTitle( const QString &title );
|
||||||
|
QString summary() const; // '' short description (displayed if not empty)
|
||||||
|
void setSummary( const QString &summary );
|
||||||
|
QString text() const; // '' text for the window (overrides annot->contents)
|
||||||
|
void setText( const QString &text );
|
||||||
|
|
||||||
|
private:
|
||||||
|
class Private;
|
||||||
|
QSharedDataPointer<Private> d;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \since 0.20
|
||||||
|
Popup popup() const;
|
||||||
|
/// \since 0.20
|
||||||
|
void setPopup( const Popup& popup );
|
||||||
|
|
||||||
|
/// \cond PRIVATE
|
||||||
|
// This field is deprecated and not used any more. Use popup
|
||||||
|
Q_DECL_DEPRECATED struct { int width, height; } window; // Always set to zero
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
|
/// \since 0.20
|
||||||
|
RevScope revisionScope() const; // Root
|
||||||
|
|
||||||
|
/// \since 0.20
|
||||||
|
RevType revisionType() const; // None
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the revisions of this annotation
|
||||||
|
*
|
||||||
|
* \note The caller owns the returned annotations and they should
|
||||||
|
* be deleted when no longer required.
|
||||||
|
*
|
||||||
|
* \since 0.20
|
||||||
|
*/
|
||||||
|
QList<Annotation*> revisions() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type of the annotation.
|
||||||
|
*/
|
||||||
|
virtual SubType subType() const = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
virtual ~Annotation();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the flags from an annotations 'AA' dictionary.
|
||||||
|
*
|
||||||
|
* This flag is used by the additionalAction() method for ScreenAnnotation
|
||||||
|
* and WidgetAnnotation.
|
||||||
|
*
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
enum AdditionalActionType
|
||||||
|
{
|
||||||
|
CursorEnteringAction, ///< Performed when the cursor enters the annotation's active area
|
||||||
|
CursorLeavingAction, ///< Performed when the cursor exists the annotation's active area
|
||||||
|
MousePressedAction, ///< Performed when the mouse button is pressed inside the annotation's active area
|
||||||
|
MouseReleasedAction, ///< Performed when the mouse button is released inside the annotation's active area
|
||||||
|
FocusInAction, ///< Performed when the annotation receives the input focus
|
||||||
|
FocusOutAction, ///< Performed when the annotation loses the input focus
|
||||||
|
PageOpeningAction, ///< Performed when the page containing the annotation is opened
|
||||||
|
PageClosingAction, ///< Performed when the page containing the annotation is closed
|
||||||
|
PageVisibleAction, ///< Performed when the page containing the annotation becomes visible
|
||||||
|
PageInvisibleAction ///< Performed when the page containing the annotation becomes invisible
|
||||||
|
};
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/// \cond PRIVATE
|
||||||
|
Annotation( AnnotationPrivate &dd );
|
||||||
|
Annotation( AnnotationPrivate &dd, const QDomNode &description );
|
||||||
|
void storeBaseAnnotationProperties( QDomNode & parentNode, QDomDocument & document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( Annotation )
|
||||||
|
QExplicitlySharedDataPointer<AnnotationPrivate> d_ptr;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
|
private:
|
||||||
|
virtual void store( QDomNode & parentNode, QDomDocument & document ) const = 0;
|
||||||
|
Q_DISABLE_COPY( Annotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Annotation containing text.
|
||||||
|
*
|
||||||
|
* A text annotation is an object showing some text directly on the page, or
|
||||||
|
* linked to the contents using an icon shown on a page.
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT TextAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// local enums
|
||||||
|
enum TextType { Linked, InPlace };
|
||||||
|
enum InplaceIntent { Unknown, Callout, TypeWriter };
|
||||||
|
|
||||||
|
TextAnnotation( TextType type );
|
||||||
|
virtual ~TextAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The type of text annotation represented by this object
|
||||||
|
*/
|
||||||
|
TextType textType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The name of the icon for this text annotation.
|
||||||
|
|
||||||
|
Standard names for text annotation icons are:
|
||||||
|
- Comment
|
||||||
|
- Help
|
||||||
|
- Insert
|
||||||
|
- Key
|
||||||
|
- NewParagraph
|
||||||
|
- Note (this is the default icon to use)
|
||||||
|
- Paragraph
|
||||||
|
*/
|
||||||
|
QString textIcon() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Set the name of the icon to use for this text annotation.
|
||||||
|
|
||||||
|
\sa textIcon for the list of standard names
|
||||||
|
*/
|
||||||
|
void setTextIcon( const QString &icon );
|
||||||
|
|
||||||
|
QFont textFont() const;
|
||||||
|
void setTextFont( const QFont &font );
|
||||||
|
|
||||||
|
int inplaceAlign() const;
|
||||||
|
void setInplaceAlign( int align );
|
||||||
|
|
||||||
|
/**
|
||||||
|
Synonym for contents()
|
||||||
|
|
||||||
|
\deprecated Use contents() instead
|
||||||
|
*/
|
||||||
|
QString inplaceText() const;
|
||||||
|
/**
|
||||||
|
Synonym for setContents()
|
||||||
|
|
||||||
|
\deprecated Use setContents() instead
|
||||||
|
*/
|
||||||
|
void setInplaceText( const QString &text );
|
||||||
|
|
||||||
|
QPointF calloutPoint( int id ) const;
|
||||||
|
/// \since 0.20
|
||||||
|
QVector<QPointF> calloutPoints() const;
|
||||||
|
/// \since 0.20
|
||||||
|
void setCalloutPoints( const QVector<QPointF> &points );
|
||||||
|
|
||||||
|
InplaceIntent inplaceIntent() const;
|
||||||
|
void setInplaceIntent( InplaceIntent intent );
|
||||||
|
|
||||||
|
private:
|
||||||
|
TextAnnotation( const QDomNode &node );
|
||||||
|
TextAnnotation( TextAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
void setTextType( TextType type );
|
||||||
|
Q_DECLARE_PRIVATE( TextAnnotation )
|
||||||
|
Q_DISABLE_COPY( TextAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Polygon/polyline annotation.
|
||||||
|
*
|
||||||
|
* This annotation represents a polygon (or polyline) to be drawn on a page.
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LineAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// local enums
|
||||||
|
/// \since 0.20
|
||||||
|
enum LineType { StraightLine, Polyline };
|
||||||
|
enum TermStyle { Square, Circle, Diamond, OpenArrow, ClosedArrow, None,
|
||||||
|
Butt, ROpenArrow, RClosedArrow, Slash };
|
||||||
|
enum LineIntent { Unknown, Arrow, Dimension, PolygonCloud };
|
||||||
|
|
||||||
|
/// \since 0.20
|
||||||
|
LineAnnotation( LineType type );
|
||||||
|
virtual ~LineAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/// \since 0.20
|
||||||
|
LineType lineType() const;
|
||||||
|
|
||||||
|
QLinkedList<QPointF> linePoints() const;
|
||||||
|
void setLinePoints( const QLinkedList<QPointF> &points );
|
||||||
|
|
||||||
|
TermStyle lineStartStyle() const;
|
||||||
|
void setLineStartStyle( TermStyle style );
|
||||||
|
|
||||||
|
TermStyle lineEndStyle() const;
|
||||||
|
void setLineEndStyle( TermStyle style );
|
||||||
|
|
||||||
|
bool isLineClosed() const;
|
||||||
|
void setLineClosed( bool closed );
|
||||||
|
|
||||||
|
QColor lineInnerColor() const;
|
||||||
|
void setLineInnerColor( const QColor &color );
|
||||||
|
|
||||||
|
double lineLeadingForwardPoint() const;
|
||||||
|
void setLineLeadingForwardPoint( double point );
|
||||||
|
|
||||||
|
double lineLeadingBackPoint() const;
|
||||||
|
void setLineLeadingBackPoint( double point );
|
||||||
|
|
||||||
|
bool lineShowCaption() const;
|
||||||
|
void setLineShowCaption( bool show );
|
||||||
|
|
||||||
|
LineIntent lineIntent() const;
|
||||||
|
void setLineIntent( LineIntent intent );
|
||||||
|
|
||||||
|
private:
|
||||||
|
LineAnnotation( const QDomNode &node );
|
||||||
|
LineAnnotation( LineAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
void setLineType( LineType type );
|
||||||
|
Q_DECLARE_PRIVATE( LineAnnotation )
|
||||||
|
Q_DISABLE_COPY( LineAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Geometric annotation.
|
||||||
|
*
|
||||||
|
* The geometric annotation represents a geometric figure, like a rectangle or
|
||||||
|
* an ellipse.
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT GeomAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
GeomAnnotation();
|
||||||
|
virtual ~GeomAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
// common enums
|
||||||
|
enum GeomType { InscribedSquare, InscribedCircle };
|
||||||
|
|
||||||
|
GeomType geomType() const;
|
||||||
|
void setGeomType( GeomType style );
|
||||||
|
|
||||||
|
QColor geomInnerColor() const;
|
||||||
|
void setGeomInnerColor( const QColor &color );
|
||||||
|
|
||||||
|
private:
|
||||||
|
GeomAnnotation( const QDomNode &node );
|
||||||
|
GeomAnnotation( GeomAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( GeomAnnotation )
|
||||||
|
Q_DISABLE_COPY( GeomAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Text highlight annotation.
|
||||||
|
*
|
||||||
|
* The higlight annotation represents some areas of text being "highlighted".
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT HighlightAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
HighlightAnnotation();
|
||||||
|
virtual ~HighlightAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The type of highlight
|
||||||
|
*/
|
||||||
|
enum HighlightType { Highlight, ///< highlighter pen style annotation
|
||||||
|
Squiggly, ///< jagged or squiggly underline
|
||||||
|
Underline, ///< straight line underline
|
||||||
|
StrikeOut ///< straight line through-line
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
Structure corresponding to a QuadPoints array. This matches a
|
||||||
|
quadrilateral that describes the area around a word (or set of
|
||||||
|
words) that are to be highlighted.
|
||||||
|
*/
|
||||||
|
struct Quad
|
||||||
|
{
|
||||||
|
QPointF points[4]; // 8 valid coords
|
||||||
|
bool capStart; // false (vtx 1-4) [K]
|
||||||
|
bool capEnd; // false (vtx 2-3) [K]
|
||||||
|
double feather; // 0.1 (in range 0..1) [K]
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
The type (style) of highlighting to use for this area
|
||||||
|
or these areas.
|
||||||
|
*/
|
||||||
|
HighlightType highlightType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Set the type of highlighting to use for the given area
|
||||||
|
or areas.
|
||||||
|
*/
|
||||||
|
void setHighlightType( HighlightType type );
|
||||||
|
|
||||||
|
/**
|
||||||
|
The list of areas to highlight.
|
||||||
|
*/
|
||||||
|
QList< Quad > highlightQuads() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Set the areas to highlight.
|
||||||
|
*/
|
||||||
|
void setHighlightQuads( const QList< Quad > &quads );
|
||||||
|
|
||||||
|
private:
|
||||||
|
HighlightAnnotation( const QDomNode &node );
|
||||||
|
HighlightAnnotation( HighlightAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( HighlightAnnotation )
|
||||||
|
Q_DISABLE_COPY( HighlightAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Stamp annotation.
|
||||||
|
*
|
||||||
|
* A simple annotation drawing a stamp on a page.
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT StampAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
StampAnnotation();
|
||||||
|
virtual ~StampAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The name of the icon for this stamp annotation.
|
||||||
|
|
||||||
|
Standard names for stamp annotation icons are:
|
||||||
|
- Approved
|
||||||
|
- AsIs
|
||||||
|
- Confidential
|
||||||
|
- Departmental
|
||||||
|
- Draft (this is the default icon type)
|
||||||
|
- Experimental
|
||||||
|
- Expired
|
||||||
|
- Final
|
||||||
|
- ForComment
|
||||||
|
- ForPublicRelease
|
||||||
|
- NotApproved
|
||||||
|
- NotForPublicRelease
|
||||||
|
- Sold
|
||||||
|
- TopSecret
|
||||||
|
*/
|
||||||
|
QString stampIconName() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Set the icon type for this stamp annotation.
|
||||||
|
|
||||||
|
\sa stampIconName for the list of standard icon names
|
||||||
|
*/
|
||||||
|
void setStampIconName( const QString &name );
|
||||||
|
|
||||||
|
private:
|
||||||
|
StampAnnotation( const QDomNode &node );
|
||||||
|
StampAnnotation( StampAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( StampAnnotation )
|
||||||
|
Q_DISABLE_COPY( StampAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Ink Annotation.
|
||||||
|
*
|
||||||
|
* Annotation representing an ink path on a page.
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT InkAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
InkAnnotation();
|
||||||
|
virtual ~InkAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
QList< QLinkedList<QPointF> > inkPaths() const;
|
||||||
|
void setInkPaths( const QList< QLinkedList<QPointF> > &paths );
|
||||||
|
|
||||||
|
private:
|
||||||
|
InkAnnotation( const QDomNode &node );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
InkAnnotation(InkAnnotationPrivate &dd);
|
||||||
|
Q_DECLARE_PRIVATE( InkAnnotation )
|
||||||
|
Q_DISABLE_COPY( InkAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
class POPPLER_QT4_EXPORT LinkAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~LinkAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
// local enums
|
||||||
|
enum HighlightMode { None, Invert, Outline, Push };
|
||||||
|
|
||||||
|
/** \since 0.20 */
|
||||||
|
Link* linkDestination() const;
|
||||||
|
void setLinkDestination( Link *link );
|
||||||
|
|
||||||
|
HighlightMode linkHighlightMode() const;
|
||||||
|
void setLinkHighlightMode( HighlightMode mode );
|
||||||
|
|
||||||
|
QPointF linkRegionPoint( int id ) const;
|
||||||
|
void setLinkRegionPoint( int id, const QPointF &point );
|
||||||
|
|
||||||
|
private:
|
||||||
|
LinkAnnotation();
|
||||||
|
LinkAnnotation( const QDomNode &node );
|
||||||
|
LinkAnnotation( LinkAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( LinkAnnotation )
|
||||||
|
Q_DISABLE_COPY( LinkAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Caret annotation.
|
||||||
|
*
|
||||||
|
* The caret annotation represents a symbol to indicate the presence of text.
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT CaretAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationUtils;
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
CaretAnnotation();
|
||||||
|
virtual ~CaretAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The symbols for the caret annotation.
|
||||||
|
*/
|
||||||
|
enum CaretSymbol { None, P };
|
||||||
|
|
||||||
|
CaretSymbol caretSymbol() const;
|
||||||
|
void setCaretSymbol( CaretSymbol symbol );
|
||||||
|
|
||||||
|
private:
|
||||||
|
CaretAnnotation( const QDomNode &node );
|
||||||
|
CaretAnnotation( CaretAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( CaretAnnotation )
|
||||||
|
Q_DISABLE_COPY( CaretAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short File attachment annotation.
|
||||||
|
*
|
||||||
|
* The file attachment annotation represents a file embedded in the document.
|
||||||
|
*
|
||||||
|
* \since 0.10
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT FileAttachmentAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~FileAttachmentAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the name of the icon of this annotation.
|
||||||
|
*/
|
||||||
|
QString fileIconName() const;
|
||||||
|
/**
|
||||||
|
* Sets a new name for the icon of this annotation.
|
||||||
|
*/
|
||||||
|
void setFileIconName( const QString &icon );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the EmbeddedFile of this annotation.
|
||||||
|
*/
|
||||||
|
EmbeddedFile* embeddedFile() const;
|
||||||
|
/**
|
||||||
|
* Sets a new EmbeddedFile for this annotation.
|
||||||
|
*
|
||||||
|
* \note FileAttachmentAnnotation takes ownership of the object
|
||||||
|
*/
|
||||||
|
void setEmbeddedFile( EmbeddedFile *ef );
|
||||||
|
|
||||||
|
private:
|
||||||
|
FileAttachmentAnnotation();
|
||||||
|
FileAttachmentAnnotation( const QDomNode &node );
|
||||||
|
FileAttachmentAnnotation( FileAttachmentAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( FileAttachmentAnnotation )
|
||||||
|
Q_DISABLE_COPY( FileAttachmentAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Sound annotation.
|
||||||
|
*
|
||||||
|
* The sound annotation represents a sound to be played when activated.
|
||||||
|
*
|
||||||
|
* \since 0.10
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT SoundAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~SoundAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the name of the icon of this annotation.
|
||||||
|
*/
|
||||||
|
QString soundIconName() const;
|
||||||
|
/**
|
||||||
|
* Sets a new name for the icon of this annotation.
|
||||||
|
*/
|
||||||
|
void setSoundIconName( const QString &icon );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the SoundObject of this annotation.
|
||||||
|
*/
|
||||||
|
SoundObject* sound() const;
|
||||||
|
/**
|
||||||
|
* Sets a new SoundObject for this annotation.
|
||||||
|
*
|
||||||
|
* \note SoundAnnotation takes ownership of the object
|
||||||
|
*/
|
||||||
|
void setSound( SoundObject *ef );
|
||||||
|
|
||||||
|
private:
|
||||||
|
SoundAnnotation();
|
||||||
|
SoundAnnotation( const QDomNode &node );
|
||||||
|
SoundAnnotation( SoundAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( SoundAnnotation )
|
||||||
|
Q_DISABLE_COPY( SoundAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Movie annotation.
|
||||||
|
*
|
||||||
|
* The movie annotation represents a movie to be played when activated.
|
||||||
|
*
|
||||||
|
* \since 0.10
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT MovieAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~MovieAnnotation();
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the MovieObject of this annotation.
|
||||||
|
*/
|
||||||
|
MovieObject* movie() const;
|
||||||
|
/**
|
||||||
|
* Sets a new MovieObject for this annotation.
|
||||||
|
*
|
||||||
|
* \note MovieAnnotation takes ownership of the object
|
||||||
|
*/
|
||||||
|
void setMovie( MovieObject *movie );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the title of the movie of this annotation.
|
||||||
|
*/
|
||||||
|
QString movieTitle() const;
|
||||||
|
/**
|
||||||
|
* Sets a new title for the movie of this annotation.
|
||||||
|
*/
|
||||||
|
void setMovieTitle( const QString &title );
|
||||||
|
|
||||||
|
private:
|
||||||
|
MovieAnnotation();
|
||||||
|
MovieAnnotation( const QDomNode &node );
|
||||||
|
MovieAnnotation( MovieAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||||
|
Q_DECLARE_PRIVATE( MovieAnnotation )
|
||||||
|
Q_DISABLE_COPY( MovieAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Screen annotation.
|
||||||
|
*
|
||||||
|
* The screen annotation represents a screen to be played when activated.
|
||||||
|
*
|
||||||
|
* \since 0.20
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT ScreenAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~ScreenAnnotation();
|
||||||
|
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the LinkRendition of this annotation.
|
||||||
|
*/
|
||||||
|
LinkRendition* action() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets a new LinkRendition for this annotation.
|
||||||
|
*
|
||||||
|
* \note ScreenAnnotation takes ownership of the object
|
||||||
|
*/
|
||||||
|
void setAction( LinkRendition *action );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the title of the screen of this annotation.
|
||||||
|
*/
|
||||||
|
QString screenTitle() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets a new title for the screen of this annotation.
|
||||||
|
*/
|
||||||
|
void setScreenTitle( const QString &title );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the additional action of the given @p type fo the annotation or
|
||||||
|
* @c 0 if no action has been defined.
|
||||||
|
*
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
Link* additionalAction( AdditionalActionType type ) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
ScreenAnnotation();
|
||||||
|
ScreenAnnotation( ScreenAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const; // stub
|
||||||
|
Q_DECLARE_PRIVATE( ScreenAnnotation )
|
||||||
|
Q_DISABLE_COPY( ScreenAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Widget annotation.
|
||||||
|
*
|
||||||
|
* The widget annotation represents a widget (form field) on a page.
|
||||||
|
*
|
||||||
|
* \note This class is just provided for consistency of the annotation API,
|
||||||
|
* use the FormField classes to get all the form-related information.
|
||||||
|
*
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT WidgetAnnotation : public Annotation
|
||||||
|
{
|
||||||
|
friend class AnnotationPrivate;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~WidgetAnnotation();
|
||||||
|
|
||||||
|
virtual SubType subType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the additional action of the given @p type fo the annotation or
|
||||||
|
* @c 0 if no action has been defined.
|
||||||
|
*
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
Link* additionalAction( AdditionalActionType type ) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
WidgetAnnotation();
|
||||||
|
WidgetAnnotation( WidgetAnnotationPrivate &dd );
|
||||||
|
virtual void store( QDomNode &parentNode, QDomDocument &document ) const; // stub
|
||||||
|
Q_DECLARE_PRIVATE( WidgetAnnotation )
|
||||||
|
Q_DISABLE_COPY( WidgetAnnotation )
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
49
dependencies/poppler/include/poppler-converter-private.h
vendored
Normal file
49
dependencies/poppler/include/poppler-converter-private.h
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/* poppler-converter-private.h: Qt4 interface to poppler
|
||||||
|
* Copyright (C) 2007, 2009, Albert Astals Cid <aacid@kde.org>
|
||||||
|
* Copyright (C) 2008, Pino Toscano <pino@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef POPPLER_QT4_CONVERTER_PRIVATE_H
|
||||||
|
#define POPPLER_QT4_CONVERTER_PRIVATE_H
|
||||||
|
|
||||||
|
#include <QtCore/QString>
|
||||||
|
|
||||||
|
class QIODevice;
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
class DocumentData;
|
||||||
|
|
||||||
|
class BaseConverterPrivate
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BaseConverterPrivate();
|
||||||
|
virtual ~BaseConverterPrivate();
|
||||||
|
|
||||||
|
QIODevice* openDevice();
|
||||||
|
void closeDevice();
|
||||||
|
|
||||||
|
DocumentData *document;
|
||||||
|
QString outputFileName;
|
||||||
|
QIODevice *iodev;
|
||||||
|
bool ownIodev : 1;
|
||||||
|
BaseConverter::Error lastError;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
42
dependencies/poppler/include/poppler-embeddedfile-private.h
vendored
Normal file
42
dependencies/poppler/include/poppler-embeddedfile-private.h
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/* poppler-embeddedfile-private.h: Qt4 interface to poppler
|
||||||
|
* Copyright (C) 2005, 2008, 2009, 2012, Albert Astals Cid <aacid@kde.org>
|
||||||
|
* Copyright (C) 2005, Brad Hards <bradh@frogmouth.net>
|
||||||
|
* Copyright (C) 2008, 2011, Pino Toscano <pino@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef POPPLER_EMBEDDEDFILE_PRIVATE_H
|
||||||
|
#define POPPLER_EMBEDDEDFILE_PRIVATE_H
|
||||||
|
|
||||||
|
class FileSpec;
|
||||||
|
|
||||||
|
namespace Poppler
|
||||||
|
{
|
||||||
|
|
||||||
|
class EmbeddedFileData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
EmbeddedFileData(FileSpec *fs);
|
||||||
|
~EmbeddedFileData();
|
||||||
|
|
||||||
|
EmbFile *embFile() const;
|
||||||
|
|
||||||
|
FileSpec *filespec;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
17
dependencies/poppler/include/poppler-export.h
vendored
Normal file
17
dependencies/poppler/include/poppler-export.h
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/*
|
||||||
|
* This file is used to set the poppler_qt4_EXPORT macros right.
|
||||||
|
* This is needed for setting the visibility on windows, it will have no effect on other platforms.
|
||||||
|
*/
|
||||||
|
#if defined(_WIN32)
|
||||||
|
# define LIB_EXPORT __declspec(dllexport)
|
||||||
|
# define LIB_IMPORT __declspec(dllimport)
|
||||||
|
#else
|
||||||
|
# define LIB_EXPORT
|
||||||
|
# define LIB_IMPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef poppler_qt4_EXPORTS
|
||||||
|
# define POPPLER_QT4_EXPORT LIB_EXPORT
|
||||||
|
#else
|
||||||
|
# define POPPLER_QT4_EXPORT LIB_IMPORT
|
||||||
|
#endif
|
343
dependencies/poppler/include/poppler-form.h
vendored
Normal file
343
dependencies/poppler/include/poppler-form.h
vendored
Normal file
@ -0,0 +1,343 @@
|
|||||||
|
/* poppler-form.h: qt4 interface to poppler
|
||||||
|
* Copyright (C) 2007-2008, Pino Toscano <pino@kde.org>
|
||||||
|
* Copyright (C) 2008, 2011, Albert Astals Cid <aacid@kde.org>
|
||||||
|
* Copyright (C) 2012, Adam Reichold <adamreichold@myopera.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _POPPLER_QT4_FORM_H_
|
||||||
|
#define _POPPLER_QT4_FORM_H_
|
||||||
|
|
||||||
|
#include <QtCore/QRectF>
|
||||||
|
#include <QtCore/QStringList>
|
||||||
|
#include "poppler-export.h"
|
||||||
|
|
||||||
|
class Page;
|
||||||
|
class FormWidget;
|
||||||
|
class FormWidgetButton;
|
||||||
|
class FormWidgetText;
|
||||||
|
class FormWidgetChoice;
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
class DocumentData;
|
||||||
|
class Link;
|
||||||
|
|
||||||
|
class FormFieldData;
|
||||||
|
/**
|
||||||
|
The base class representing a form field.
|
||||||
|
|
||||||
|
\since 0.6
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT FormField {
|
||||||
|
public:
|
||||||
|
|
||||||
|
/**
|
||||||
|
The different types of form field.
|
||||||
|
*/
|
||||||
|
enum FormType {
|
||||||
|
FormButton, ///< A button field. See \ref Poppler::FormFieldButton::ButtonType "ButtonType"
|
||||||
|
FormText, ///< A text field. See \ref Poppler::FormFieldText::TextType "TextType"
|
||||||
|
FormChoice, ///< A single choice field. See \ref Poppler::FormFieldChoice::ChoiceType "ChoiceType"
|
||||||
|
FormSignature ///< A signature field.
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual ~FormField();
|
||||||
|
|
||||||
|
/**
|
||||||
|
The type of the field.
|
||||||
|
*/
|
||||||
|
virtual FormType type() const = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
\return The size of the field, in normalized coordinates, i.e.
|
||||||
|
[0..1] with regard to the dimensions (cropbox) of the page
|
||||||
|
*/
|
||||||
|
QRectF rect() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The ID of the field.
|
||||||
|
*/
|
||||||
|
int id() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The internal name of the field.
|
||||||
|
*/
|
||||||
|
QString name() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The internal fully qualified name of the field.
|
||||||
|
\since 0.18
|
||||||
|
*/
|
||||||
|
QString fullyQualifiedName() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The name of the field to be used in user interface (eg messages to
|
||||||
|
the user).
|
||||||
|
*/
|
||||||
|
QString uiName() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Whether this form field is read-only.
|
||||||
|
*/
|
||||||
|
bool isReadOnly() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Whether this form field is visible.
|
||||||
|
*/
|
||||||
|
bool isVisible() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The activation action of this form field.
|
||||||
|
|
||||||
|
\note It may be null.
|
||||||
|
*/
|
||||||
|
Link* activationAction() const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/// \cond PRIVATE
|
||||||
|
FormField(FormFieldData &dd);
|
||||||
|
|
||||||
|
FormFieldData *m_formData;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DISABLE_COPY(FormField)
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
A form field that represents a "button".
|
||||||
|
|
||||||
|
\since 0.8
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT FormFieldButton : public FormField {
|
||||||
|
public:
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The types of button field.
|
||||||
|
*/
|
||||||
|
enum ButtonType
|
||||||
|
{
|
||||||
|
Push, ///< A simple push button.
|
||||||
|
CheckBox, ///< A check box.
|
||||||
|
Radio ///< A radio button.
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \cond PRIVATE
|
||||||
|
FormFieldButton(DocumentData *doc, ::Page *p, ::FormWidgetButton *w);
|
||||||
|
/// \endcond
|
||||||
|
virtual ~FormFieldButton();
|
||||||
|
|
||||||
|
virtual FormType type() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The particular type of the button field.
|
||||||
|
*/
|
||||||
|
ButtonType buttonType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The caption to be used for the button.
|
||||||
|
*/
|
||||||
|
QString caption() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The state of the button.
|
||||||
|
*/
|
||||||
|
bool state() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the state of the button to the new \p state .
|
||||||
|
*/
|
||||||
|
void setState( bool state );
|
||||||
|
|
||||||
|
/**
|
||||||
|
The list with the IDs of siblings (ie, buttons belonging to the same
|
||||||
|
group as the current one.
|
||||||
|
|
||||||
|
Valid only for \ref Radio buttons, an empty list otherwise.
|
||||||
|
*/
|
||||||
|
QList<int> siblings() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DISABLE_COPY(FormFieldButton)
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
A form field that represents a text input.
|
||||||
|
|
||||||
|
\since 0.6
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT FormFieldText : public FormField {
|
||||||
|
public:
|
||||||
|
|
||||||
|
/**
|
||||||
|
The particular type of this text field.
|
||||||
|
*/
|
||||||
|
enum TextType {
|
||||||
|
Normal, ///< A simple singleline text field.
|
||||||
|
Multiline, ///< A multiline text field.
|
||||||
|
FileSelect ///< An input field to select the path of a file on disk.
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \cond PRIVATE
|
||||||
|
FormFieldText(DocumentData *doc, ::Page *p, ::FormWidgetText *w);
|
||||||
|
/// \endcond
|
||||||
|
virtual ~FormFieldText();
|
||||||
|
|
||||||
|
virtual FormType type() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The text type of the text field.
|
||||||
|
*/
|
||||||
|
TextType textType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The text associated with the text field.
|
||||||
|
*/
|
||||||
|
QString text() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the text associated with the text field to the specified
|
||||||
|
\p text.
|
||||||
|
*/
|
||||||
|
void setText( const QString& text );
|
||||||
|
|
||||||
|
/**
|
||||||
|
Whether this text field is a password input, eg its text \b must be
|
||||||
|
replaced with asterisks.
|
||||||
|
|
||||||
|
Always false for \ref FileSelect text fields.
|
||||||
|
*/
|
||||||
|
bool isPassword() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Whether this text field should allow rich text.
|
||||||
|
*/
|
||||||
|
bool isRichText() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The maximum length for the text of this field, or -1 if not set.
|
||||||
|
*/
|
||||||
|
int maximumLength() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The horizontal alignment for the text of this text field.
|
||||||
|
*/
|
||||||
|
Qt::Alignment textAlignment() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Whether the text inserted manually in the field (where possible)
|
||||||
|
can be spell-checked.
|
||||||
|
*/
|
||||||
|
bool canBeSpellChecked() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DISABLE_COPY(FormFieldText)
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
A form field that represents a choice field.
|
||||||
|
|
||||||
|
\since 0.6
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT FormFieldChoice : public FormField {
|
||||||
|
public:
|
||||||
|
|
||||||
|
/**
|
||||||
|
The particular type of this choice field.
|
||||||
|
*/
|
||||||
|
enum ChoiceType {
|
||||||
|
ComboBox, ///< A simple singleline text field.
|
||||||
|
ListBox ///< A multiline text field.
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \cond PRIVATE
|
||||||
|
FormFieldChoice(DocumentData *doc, ::Page *p, ::FormWidgetChoice *w);
|
||||||
|
/// \endcond
|
||||||
|
virtual ~FormFieldChoice();
|
||||||
|
|
||||||
|
virtual FormType type() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The choice type of the choice field.
|
||||||
|
*/
|
||||||
|
ChoiceType choiceType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The possible choices of the choice field.
|
||||||
|
*/
|
||||||
|
QStringList choices() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Whether this FormFieldChoice::ComboBox is editable, i.e. the user
|
||||||
|
can type in a custom value.
|
||||||
|
|
||||||
|
Always false for the other types of choices.
|
||||||
|
*/
|
||||||
|
bool isEditable() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Whether more than one choice of this FormFieldChoice::ListBox
|
||||||
|
can be selected at the same time.
|
||||||
|
|
||||||
|
Always false for the other types of choices.
|
||||||
|
*/
|
||||||
|
bool multiSelect() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
The currently selected choices.
|
||||||
|
*/
|
||||||
|
QList<int> currentChoices() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the selected choices to \p choice.
|
||||||
|
*/
|
||||||
|
void setCurrentChoices( const QList<int> &choice );
|
||||||
|
|
||||||
|
/**
|
||||||
|
The text entered into an editable combo box choice field. Otherwise a null string.
|
||||||
|
|
||||||
|
\since 0.22
|
||||||
|
*/
|
||||||
|
QString editChoice() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the text entered into an editable combo box choice field. Otherwise does nothing.
|
||||||
|
|
||||||
|
\since 0.22
|
||||||
|
*/
|
||||||
|
void setEditChoice(const QString& text);
|
||||||
|
|
||||||
|
/**
|
||||||
|
The horizontal alignment for the text of this text field.
|
||||||
|
*/
|
||||||
|
Qt::Alignment textAlignment() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Whether the text inserted manually in the field (where possible)
|
||||||
|
can be spell-checked.
|
||||||
|
|
||||||
|
Returns false if the field is not an editable text field.
|
||||||
|
*/
|
||||||
|
bool canBeSpellChecked() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DISABLE_COPY(FormFieldChoice)
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
57
dependencies/poppler/include/poppler-link-extractor-private.h
vendored
Normal file
57
dependencies/poppler/include/poppler-link-extractor-private.h
vendored
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
/* poppler-link-extractor_p.h: qt interface to poppler
|
||||||
|
* Copyright (C) 2007, 2008, 2011, Pino Toscano <pino@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _POPPLER_LINK_EXTRACTOR_H_
|
||||||
|
#define _POPPLER_LINK_EXTRACTOR_H_
|
||||||
|
|
||||||
|
#include <Object.h>
|
||||||
|
#include <OutputDev.h>
|
||||||
|
|
||||||
|
#include <QtCore/QList>
|
||||||
|
|
||||||
|
namespace Poppler
|
||||||
|
{
|
||||||
|
|
||||||
|
class Link;
|
||||||
|
class PageData;
|
||||||
|
|
||||||
|
class LinkExtractorOutputDev : public OutputDev
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LinkExtractorOutputDev(PageData *data);
|
||||||
|
virtual ~LinkExtractorOutputDev();
|
||||||
|
|
||||||
|
// inherited from OutputDev
|
||||||
|
virtual GBool upsideDown() { return gFalse; }
|
||||||
|
virtual GBool useDrawChar() { return gFalse; }
|
||||||
|
virtual GBool interpretType3Chars() { return gFalse; }
|
||||||
|
virtual void processLink(::AnnotLink *link);
|
||||||
|
|
||||||
|
// our stuff
|
||||||
|
QList< Link* > links();
|
||||||
|
|
||||||
|
private:
|
||||||
|
PageData *m_data;
|
||||||
|
double m_pageCropWidth;
|
||||||
|
double m_pageCropHeight;
|
||||||
|
QList< Link* > m_links;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
611
dependencies/poppler/include/poppler-link.h
vendored
Normal file
611
dependencies/poppler/include/poppler-link.h
vendored
Normal file
@ -0,0 +1,611 @@
|
|||||||
|
/* poppler-link.h: qt interface to poppler
|
||||||
|
* Copyright (C) 2006, Albert Astals Cid <aacid@kde.org>
|
||||||
|
* Copyright (C) 2007-2008, 2010, Pino Toscano <pino@kde.org>
|
||||||
|
* Copyright (C) 2010, 2012, Guillermo Amaral <gamaral@kdab.com>
|
||||||
|
* Copyright (C) 2012, Tobias Koenig <tokoe@kdab.com>
|
||||||
|
* Adapting code from
|
||||||
|
* Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _POPPLER_LINK_H_
|
||||||
|
#define _POPPLER_LINK_H_
|
||||||
|
|
||||||
|
#include <QtCore/QString>
|
||||||
|
#include <QtCore/QRectF>
|
||||||
|
#include <QtCore/QSharedDataPointer>
|
||||||
|
#include "poppler-export.h"
|
||||||
|
|
||||||
|
struct Ref;
|
||||||
|
class MediaRendition;
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
class LinkPrivate;
|
||||||
|
class LinkGotoPrivate;
|
||||||
|
class LinkExecutePrivate;
|
||||||
|
class LinkBrowsePrivate;
|
||||||
|
class LinkActionPrivate;
|
||||||
|
class LinkSoundPrivate;
|
||||||
|
class LinkJavaScriptPrivate;
|
||||||
|
class LinkMoviePrivate;
|
||||||
|
class LinkDestinationData;
|
||||||
|
class LinkDestinationPrivate;
|
||||||
|
class LinkRenditionPrivate;
|
||||||
|
class MediaRendition;
|
||||||
|
class SoundObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short A destination.
|
||||||
|
*
|
||||||
|
* The LinkDestination class represent a "destination" (in terms of visual
|
||||||
|
* viewport to be displayed) for \link Poppler::LinkGoto GoTo\endlink links,
|
||||||
|
* and items in the table of contents (TOC) of a document.
|
||||||
|
*
|
||||||
|
* Coordinates are in 0..1 range
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkDestination
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* The possible kind of "viewport destination".
|
||||||
|
*/
|
||||||
|
enum Kind
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The new viewport is specified in terms of:
|
||||||
|
* - possibile new left coordinate (see isChangeLeft() )
|
||||||
|
* - possibile new top coordinate (see isChangeTop() )
|
||||||
|
* - possibile new zoom level (see isChangeZoom() )
|
||||||
|
*/
|
||||||
|
destXYZ = 1,
|
||||||
|
destFit = 2,
|
||||||
|
destFitH = 3,
|
||||||
|
destFitV = 4,
|
||||||
|
destFitR = 5,
|
||||||
|
destFitB = 6,
|
||||||
|
destFitBH = 7,
|
||||||
|
destFitBV = 8
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \cond PRIVATE
|
||||||
|
LinkDestination(const LinkDestinationData &data);
|
||||||
|
LinkDestination(const QString &description);
|
||||||
|
/// \endcond
|
||||||
|
/**
|
||||||
|
* Copy constructor.
|
||||||
|
*/
|
||||||
|
LinkDestination(const LinkDestination &other);
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
~LinkDestination();
|
||||||
|
|
||||||
|
// Accessors.
|
||||||
|
/**
|
||||||
|
* The kind of destination.
|
||||||
|
*/
|
||||||
|
Kind kind() const;
|
||||||
|
/**
|
||||||
|
* Which page is the target of this destination.
|
||||||
|
*
|
||||||
|
* \note this number is 1-based, so for a 5 pages document the
|
||||||
|
* valid page numbers go from 1 to 5 (both included).
|
||||||
|
*/
|
||||||
|
int pageNumber() const;
|
||||||
|
/**
|
||||||
|
* The new left for the viewport of the target page, in case
|
||||||
|
* it is specified to be changed (see isChangeLeft() )
|
||||||
|
*/
|
||||||
|
double left() const;
|
||||||
|
double bottom() const;
|
||||||
|
double right() const;
|
||||||
|
/**
|
||||||
|
* The new top for the viewport of the target page, in case
|
||||||
|
* it is specified to be changed (see isChangeTop() )
|
||||||
|
*/
|
||||||
|
double top() const;
|
||||||
|
double zoom() const;
|
||||||
|
/**
|
||||||
|
* Whether the left of the viewport on the target page should
|
||||||
|
* be changed.
|
||||||
|
*
|
||||||
|
* \see left()
|
||||||
|
*/
|
||||||
|
bool isChangeLeft() const;
|
||||||
|
/**
|
||||||
|
* Whether the top of the viewport on the target page should
|
||||||
|
* be changed.
|
||||||
|
*
|
||||||
|
* \see top()
|
||||||
|
*/
|
||||||
|
bool isChangeTop() const;
|
||||||
|
/**
|
||||||
|
* Whether the zoom level should be changed.
|
||||||
|
*
|
||||||
|
* \see zoom()
|
||||||
|
*/
|
||||||
|
bool isChangeZoom() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a string repesentation of this destination.
|
||||||
|
*/
|
||||||
|
QString toString() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the name of this destination.
|
||||||
|
*
|
||||||
|
* \since 0.12
|
||||||
|
*/
|
||||||
|
QString destinationName() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assignment operator.
|
||||||
|
*/
|
||||||
|
LinkDestination& operator=(const LinkDestination &other);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QSharedDataPointer< LinkDestinationPrivate > d;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \short Encapsulates data that describes a link.
|
||||||
|
*
|
||||||
|
* This is the base class for links. It makes mandatory for inherited
|
||||||
|
* kind of links to reimplement the linkType() method and return the type of
|
||||||
|
* the link described by the reimplemented class.
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/// \cond PRIVATE
|
||||||
|
Link( const QRectF &linkArea );
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The possible kinds of link.
|
||||||
|
*
|
||||||
|
* Inherited classes must return an unique identifier
|
||||||
|
*/
|
||||||
|
enum LinkType
|
||||||
|
{
|
||||||
|
None, ///< Unknown link
|
||||||
|
Goto, ///< A "Go To" link
|
||||||
|
Execute, ///< A command to be executed
|
||||||
|
Browse, ///< An URL to be browsed (eg "http://poppler.freedesktop.org")
|
||||||
|
Action, ///< A "standard" action to be executed in the viewer
|
||||||
|
Sound, ///< A link representing a sound to be played
|
||||||
|
Movie, ///< An action to be executed on a movie
|
||||||
|
Rendition, ///< A rendition link \since 0.20
|
||||||
|
JavaScript ///< A JavaScript code to be interpreted \since 0.10
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The type of this link.
|
||||||
|
*/
|
||||||
|
virtual LinkType linkType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
virtual ~Link();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The area of a Page where the link should be active.
|
||||||
|
*
|
||||||
|
* \note this can be a null rect, in this case the link represents
|
||||||
|
* a general action. The area is given in 0..1 range
|
||||||
|
*/
|
||||||
|
QRectF linkArea() const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/// \cond PRIVATE
|
||||||
|
Link( LinkPrivate &dd );
|
||||||
|
Q_DECLARE_PRIVATE( Link )
|
||||||
|
LinkPrivate *d_ptr;
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DISABLE_COPY( Link )
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Viewport reaching request.
|
||||||
|
*
|
||||||
|
* With a LinkGoto link, the document requests the specified viewport to be
|
||||||
|
* reached (aka, displayed in a viewer). Furthermore, if a file name is specified,
|
||||||
|
* then the destination refers to that document (and not to the document the
|
||||||
|
* current LinkGoto belongs to).
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkGoto : public Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* Create a new Goto link.
|
||||||
|
*
|
||||||
|
* \param linkArea the active area of the link
|
||||||
|
* \param extFileName if not empty, the file name to be open
|
||||||
|
* \param destination the destination to be reached
|
||||||
|
*/
|
||||||
|
LinkGoto( const QRectF &linkArea, QString extFileName, const LinkDestination & destination );
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
~LinkGoto();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether the destination is in an external document
|
||||||
|
* (i.e. not the current document)
|
||||||
|
*/
|
||||||
|
bool isExternal() const;
|
||||||
|
// query for goto parameters
|
||||||
|
/**
|
||||||
|
* The file name of the document the destination() refers to,
|
||||||
|
* or an empty string in case it refers to the current document.
|
||||||
|
*/
|
||||||
|
QString fileName() const;
|
||||||
|
/**
|
||||||
|
* The destination to reach.
|
||||||
|
*/
|
||||||
|
LinkDestination destination() const;
|
||||||
|
LinkType linkType() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( LinkGoto )
|
||||||
|
Q_DISABLE_COPY( LinkGoto )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Generic execution request.
|
||||||
|
*
|
||||||
|
* The LinkExecute link represent a "file name" execution request. The result
|
||||||
|
* depends on the \link fileName() file name\endlink:
|
||||||
|
* - if it is a document, then it is requested to be open
|
||||||
|
* - otherwise, it represents an executable to be run with the specified parameters
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkExecute : public Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* The file name to be executed
|
||||||
|
*/
|
||||||
|
QString fileName() const;
|
||||||
|
/**
|
||||||
|
* The parameters for the command.
|
||||||
|
*/
|
||||||
|
QString parameters() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Execute link.
|
||||||
|
*
|
||||||
|
* \param linkArea the active area of the link
|
||||||
|
* \param file the file name to be open, or the program to be execute
|
||||||
|
* \param params the parameters for the program to execute
|
||||||
|
*/
|
||||||
|
LinkExecute( const QRectF &linkArea, const QString & file, const QString & params );
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
~LinkExecute();
|
||||||
|
LinkType linkType() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( LinkExecute )
|
||||||
|
Q_DISABLE_COPY( LinkExecute )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief An URL to browse.
|
||||||
|
*
|
||||||
|
* The LinkBrowse link holds a URL (eg 'http://poppler.freedesktop.org',
|
||||||
|
* 'mailto:john@some.org', etc) to be open.
|
||||||
|
*
|
||||||
|
* The format of the URL is specified by RFC 2396 (http://www.ietf.org/rfc/rfc2396.txt)
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkBrowse : public Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* The URL to open
|
||||||
|
*/
|
||||||
|
QString url() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new browse link.
|
||||||
|
*
|
||||||
|
* \param linkArea the active area of the link
|
||||||
|
* \param url the URL to be open
|
||||||
|
*/
|
||||||
|
LinkBrowse( const QRectF &linkArea, const QString &url );
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
~LinkBrowse();
|
||||||
|
LinkType linkType() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( LinkBrowse )
|
||||||
|
Q_DISABLE_COPY( LinkBrowse )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief "Standard" action request.
|
||||||
|
*
|
||||||
|
* The LinkAction class represents a link that request a "standard" action
|
||||||
|
* to be performed by the viewer on the displayed document.
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkAction : public Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* The possible types of actions
|
||||||
|
*/
|
||||||
|
enum ActionType { PageFirst = 1,
|
||||||
|
PagePrev = 2,
|
||||||
|
PageNext = 3,
|
||||||
|
PageLast = 4,
|
||||||
|
HistoryBack = 5,
|
||||||
|
HistoryForward = 6,
|
||||||
|
Quit = 7,
|
||||||
|
Presentation = 8,
|
||||||
|
EndPresentation = 9,
|
||||||
|
Find = 10,
|
||||||
|
GoToPage = 11,
|
||||||
|
Close = 12,
|
||||||
|
Print = 13 ///< \since 0.16
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The action of the current LinkAction
|
||||||
|
*/
|
||||||
|
ActionType actionType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Action link, that executes a specified action
|
||||||
|
* on the document.
|
||||||
|
*
|
||||||
|
* \param linkArea the active area of the link
|
||||||
|
* \param actionType which action should be executed
|
||||||
|
*/
|
||||||
|
LinkAction( const QRectF &linkArea, ActionType actionType );
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
~LinkAction();
|
||||||
|
LinkType linkType() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( LinkAction )
|
||||||
|
Q_DISABLE_COPY( LinkAction )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sound: a sound to be played.
|
||||||
|
*
|
||||||
|
* \since 0.6
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkSound : public Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// create a Link_Sound
|
||||||
|
LinkSound( const QRectF &linkArea, double volume, bool sync, bool repeat, bool mix, SoundObject *sound );
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
virtual ~LinkSound();
|
||||||
|
|
||||||
|
LinkType linkType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The volume to be used when playing the sound.
|
||||||
|
*
|
||||||
|
* The volume is in the range [ -1, 1 ], where:
|
||||||
|
* - a negative number: no volume (mute)
|
||||||
|
* - 1: full volume
|
||||||
|
*/
|
||||||
|
double volume() const;
|
||||||
|
/**
|
||||||
|
* Whether the playback of the sound should be synchronous
|
||||||
|
* (thus blocking, waiting for the end of the sound playback).
|
||||||
|
*/
|
||||||
|
bool synchronous() const;
|
||||||
|
/**
|
||||||
|
* Whether the sound should be played continuously (that is,
|
||||||
|
* started again when it ends)
|
||||||
|
*/
|
||||||
|
bool repeat() const;
|
||||||
|
/**
|
||||||
|
* Whether the playback of this sound can be mixed with
|
||||||
|
* playbacks with other sounds of the same document.
|
||||||
|
*
|
||||||
|
* \note When false, any other playback must be stopped before
|
||||||
|
* playing the sound.
|
||||||
|
*/
|
||||||
|
bool mix() const;
|
||||||
|
/**
|
||||||
|
* The sound object to be played
|
||||||
|
*/
|
||||||
|
SoundObject *sound() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( LinkSound )
|
||||||
|
Q_DISABLE_COPY( LinkSound )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rendition: Rendition link.
|
||||||
|
*
|
||||||
|
* \since 0.20
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkRendition : public Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* Describes the possible rendition actions.
|
||||||
|
*
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
enum RenditionAction {
|
||||||
|
NoRendition,
|
||||||
|
PlayRendition,
|
||||||
|
StopRendition,
|
||||||
|
PauseRendition,
|
||||||
|
ResumeRendition
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new rendition link.
|
||||||
|
*
|
||||||
|
* \param linkArea the active area of the link
|
||||||
|
* \param rendition the media rendition object
|
||||||
|
*
|
||||||
|
* \deprecated Use the constructor that takes all parameter instead
|
||||||
|
*/
|
||||||
|
Q_DECL_DEPRECATED LinkRendition( const QRectF &linkArea, ::MediaRendition *rendition );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new rendition link.
|
||||||
|
*
|
||||||
|
* \param linkArea the active area of the link
|
||||||
|
* \param rendition the media rendition object
|
||||||
|
* \param operation the numeric operation (action) (@see ::LinkRendition::RenditionOperation)
|
||||||
|
* \param script the java script code
|
||||||
|
* \param annotationReference the object reference of the screen annotation associated with this rendition action
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
LinkRendition( const QRectF &linkArea, ::MediaRendition *rendition, int operation, const QString &script, const Ref &annotationReference );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
virtual ~LinkRendition();
|
||||||
|
|
||||||
|
LinkType linkType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the media rendition object if the redition provides one, @c 0 otherwise
|
||||||
|
*/
|
||||||
|
MediaRendition *rendition() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the action that should be executed if a rendition object is provided.
|
||||||
|
*
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
RenditionAction action() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The JS code that shall be executed or an empty string.
|
||||||
|
*
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
QString script() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether the given @p annotation is the referenced screen annotation for this rendition @p link.
|
||||||
|
*
|
||||||
|
* \since 0.22
|
||||||
|
*/
|
||||||
|
bool isReferencedAnnotation( const ScreenAnnotation *annotation ) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( LinkRendition )
|
||||||
|
Q_DISABLE_COPY( LinkRendition )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JavaScript: a JavaScript code to be interpreted.
|
||||||
|
*
|
||||||
|
* \since 0.10
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkJavaScript : public Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* Create a new JavaScript link.
|
||||||
|
*
|
||||||
|
* \param linkArea the active area of the link
|
||||||
|
* \param js the JS code to be interpreted
|
||||||
|
*/
|
||||||
|
LinkJavaScript( const QRectF &linkArea, const QString &js );
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
virtual ~LinkJavaScript();
|
||||||
|
|
||||||
|
LinkType linkType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The JS code
|
||||||
|
*/
|
||||||
|
QString script() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( LinkJavaScript )
|
||||||
|
Q_DISABLE_COPY( LinkJavaScript )
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Movie: a movie to be played.
|
||||||
|
*
|
||||||
|
* \since 0.20
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT LinkMovie : public Link
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* Describes the operation to be performed on the movie.
|
||||||
|
*/
|
||||||
|
enum Operation { Play,
|
||||||
|
Stop,
|
||||||
|
Pause,
|
||||||
|
Resume
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Movie link.
|
||||||
|
*
|
||||||
|
* \param linkArea the active area of the link
|
||||||
|
* \param operation the operation to be performed on the movie
|
||||||
|
* \param annotationTitle the title of the movie annotation identifying the movie to be played
|
||||||
|
* \param annotationReference the object reference of the movie annotation identifying the movie to be played
|
||||||
|
*
|
||||||
|
* Note: This constructor is supposed to be used by Poppler::Page only.
|
||||||
|
*/
|
||||||
|
LinkMovie( const QRectF &linkArea, Operation operation, const QString &annotationTitle, const Ref &annotationReference );
|
||||||
|
/**
|
||||||
|
* Destructor.
|
||||||
|
*/
|
||||||
|
~LinkMovie();
|
||||||
|
LinkType linkType() const;
|
||||||
|
/**
|
||||||
|
* Returns the operation to be performed on the movie.
|
||||||
|
*/
|
||||||
|
Operation operation() const;
|
||||||
|
/**
|
||||||
|
* Returns whether the given @p annotation is the referenced movie annotation for this movie @p link.
|
||||||
|
*/
|
||||||
|
bool isReferencedAnnotation( const MovieAnnotation *annotation ) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( LinkMovie )
|
||||||
|
Q_DISABLE_COPY( LinkMovie )
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
97
dependencies/poppler/include/poppler-media.h
vendored
Normal file
97
dependencies/poppler/include/poppler-media.h
vendored
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
/* poppler-media.h: qt interface to poppler
|
||||||
|
* Copyright (C) 2012 Guillermo A. Amaral B. <gamaral@kde.org>
|
||||||
|
* Copyright (C) 2012 Albert Astals Cid <aacid@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __POPPLER_MEDIARENDITION_H__
|
||||||
|
#define __POPPLER_MEDIARENDITION_H__
|
||||||
|
|
||||||
|
#include "poppler-export.h"
|
||||||
|
|
||||||
|
#include <QtCore/QSize>
|
||||||
|
#include <QtCore/QString>
|
||||||
|
|
||||||
|
class MediaRendition;
|
||||||
|
class QIODevice;
|
||||||
|
|
||||||
|
namespace Poppler
|
||||||
|
{
|
||||||
|
class MediaRenditionPrivate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Qt wrapper for MediaRendition.
|
||||||
|
|
||||||
|
\since 0.20
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT MediaRendition {
|
||||||
|
public:
|
||||||
|
MediaRendition(::MediaRendition *rendition);
|
||||||
|
~MediaRendition();
|
||||||
|
|
||||||
|
/**
|
||||||
|
Check if wrapper is holding a valid rendition object.
|
||||||
|
*/
|
||||||
|
bool isValid() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns content type.
|
||||||
|
*/
|
||||||
|
QString contentType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns file name.
|
||||||
|
*/
|
||||||
|
QString fileName() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns true if media is embedded.
|
||||||
|
*/
|
||||||
|
bool isEmbedded() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns data buffer.
|
||||||
|
*/
|
||||||
|
QByteArray data() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience accessor for auto-play parameter.
|
||||||
|
*/
|
||||||
|
bool autoPlay() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience accessor for show controls parameter.
|
||||||
|
*/
|
||||||
|
bool showControls() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience accessor for repeat count parameter.
|
||||||
|
*/
|
||||||
|
float repeatCount() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience accessor for size parameter.
|
||||||
|
*/
|
||||||
|
QSize size() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Q_DECLARE_PRIVATE( MediaRendition )
|
||||||
|
MediaRenditionPrivate *d_ptr;
|
||||||
|
Q_DISABLE_COPY( MediaRendition )
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __POPPLER_MEDIARENDITION_H__ */
|
121
dependencies/poppler/include/poppler-optcontent-private.h
vendored
Normal file
121
dependencies/poppler/include/poppler-optcontent-private.h
vendored
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
/* poppler-optcontent-private.h: qt interface to poppler
|
||||||
|
*
|
||||||
|
* Copyright (C) 2007, Brad Hards <bradh@kde.org>
|
||||||
|
* Copyright (C) 2008, Pino Toscano <pino@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef POPPLER_OPTCONTENT_PRIVATE_H
|
||||||
|
#define POPPLER_OPTCONTENT_PRIVATE_H
|
||||||
|
|
||||||
|
#include <QtCore/QMap>
|
||||||
|
#include <QtCore/QSet>
|
||||||
|
#include <QtCore/QString>
|
||||||
|
|
||||||
|
class Array;
|
||||||
|
class OCGs;
|
||||||
|
class OptionalContentGroup;
|
||||||
|
|
||||||
|
class QModelIndex;
|
||||||
|
|
||||||
|
namespace Poppler
|
||||||
|
{
|
||||||
|
class OptContentItem;
|
||||||
|
class OptContentModel;
|
||||||
|
class OptContentModelPrivate;
|
||||||
|
|
||||||
|
class RadioButtonGroup
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
RadioButtonGroup( OptContentModelPrivate *ocModel, Array *rbarray);
|
||||||
|
~RadioButtonGroup();
|
||||||
|
QSet<OptContentItem *> setItemOn( OptContentItem *itemToSetOn );
|
||||||
|
|
||||||
|
private:
|
||||||
|
QList<OptContentItem*> itemsInGroup;
|
||||||
|
};
|
||||||
|
|
||||||
|
class OptContentItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum ItemState { On, Off, HeadingOnly };
|
||||||
|
|
||||||
|
OptContentItem( OptionalContentGroup *group );
|
||||||
|
OptContentItem( const QString &label );
|
||||||
|
OptContentItem();
|
||||||
|
~OptContentItem();
|
||||||
|
|
||||||
|
QString name() const { return m_name; }
|
||||||
|
ItemState state() const { return m_stateBackup; }
|
||||||
|
bool setState(ItemState state, QSet<OptContentItem *> &changedItems);
|
||||||
|
|
||||||
|
QList<OptContentItem*> childList() { return m_children; }
|
||||||
|
|
||||||
|
void setParent( OptContentItem* parent) { m_parent = parent; }
|
||||||
|
OptContentItem* parent() { return m_parent; }
|
||||||
|
|
||||||
|
void addChild( OptContentItem *child );
|
||||||
|
|
||||||
|
void appendRBGroup( RadioButtonGroup *rbgroup );
|
||||||
|
|
||||||
|
bool isEnabled() const { return m_enabled; }
|
||||||
|
|
||||||
|
QSet<OptContentItem*> recurseListChildren(bool includeMe = false) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
OptionalContentGroup *m_group;
|
||||||
|
QString m_name;
|
||||||
|
ItemState m_state; // true for ON, false for OFF
|
||||||
|
ItemState m_stateBackup;
|
||||||
|
QList<OptContentItem*> m_children;
|
||||||
|
OptContentItem *m_parent;
|
||||||
|
QList<RadioButtonGroup*> m_rbGroups;
|
||||||
|
bool m_enabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
class OptContentModelPrivate
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
OptContentModelPrivate( OptContentModel *qq, OCGs *optContent );
|
||||||
|
~OptContentModelPrivate();
|
||||||
|
|
||||||
|
void parseRBGroupsArray( Array *rBGroupArray );
|
||||||
|
OptContentItem *nodeFromIndex(const QModelIndex &index, bool canBeNull = false) const;
|
||||||
|
QModelIndex indexFromItem(OptContentItem *node, int column) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Get the OptContentItem corresponding to a given reference value.
|
||||||
|
|
||||||
|
\param ref the reference number (e.g. from Object.getRefNum()) to look up
|
||||||
|
|
||||||
|
\return the matching optional content item, or null if the reference wasn't found
|
||||||
|
*/
|
||||||
|
OptContentItem *itemFromRef( const QString &ref ) const;
|
||||||
|
void setRootNode(OptContentItem *node);
|
||||||
|
|
||||||
|
OptContentModel *q;
|
||||||
|
|
||||||
|
QMap<QString, OptContentItem*> m_optContentItems;
|
||||||
|
QList<RadioButtonGroup*> m_rbgroups;
|
||||||
|
OptContentItem *m_rootNode;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void addChild( OptContentItem *parent, OptContentItem *child);
|
||||||
|
void parseOrderArray( OptContentItem *parentNode, Array *orderArray );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
76
dependencies/poppler/include/poppler-optcontent.h
vendored
Normal file
76
dependencies/poppler/include/poppler-optcontent.h
vendored
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
/* poppler-optcontent.h: qt interface to poppler
|
||||||
|
*
|
||||||
|
* Copyright (C) 2007, Brad Hards <bradh@kde.org>
|
||||||
|
* Copyright (C) 2008, Pino Toscano <pino@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef POPPLER_OPTCONTENT_H
|
||||||
|
#define POPPLER_OPTCONTENT_H
|
||||||
|
|
||||||
|
#include <QtCore/QAbstractListModel>
|
||||||
|
|
||||||
|
#include "poppler-export.h"
|
||||||
|
|
||||||
|
class OCGs;
|
||||||
|
|
||||||
|
namespace Poppler
|
||||||
|
{
|
||||||
|
class Document;
|
||||||
|
class OptContentModelPrivate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Model for optional content
|
||||||
|
*
|
||||||
|
* OptContentModel is an item model representing the optional content items
|
||||||
|
* that can be found in PDF documents.
|
||||||
|
*
|
||||||
|
* The model offers a mostly read-only display of the data, allowing to
|
||||||
|
* enable/disable some contents setting the Qt::CheckStateRole data role.
|
||||||
|
*
|
||||||
|
* \since 0.8
|
||||||
|
*/
|
||||||
|
class POPPLER_QT4_EXPORT OptContentModel : public QAbstractItemModel
|
||||||
|
{
|
||||||
|
friend class Document;
|
||||||
|
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~OptContentModel();
|
||||||
|
|
||||||
|
QModelIndex index(int row, int column, const QModelIndex &parent) const;
|
||||||
|
QModelIndex parent(const QModelIndex &child) const;
|
||||||
|
|
||||||
|
int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
||||||
|
int columnCount(const QModelIndex &parent) const;
|
||||||
|
|
||||||
|
QVariant data(const QModelIndex &index, int role) const;
|
||||||
|
virtual bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole );
|
||||||
|
|
||||||
|
Qt::ItemFlags flags ( const QModelIndex & index ) const;
|
||||||
|
|
||||||
|
virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
OptContentModel( OCGs *optContent, QObject *parent = 0);
|
||||||
|
|
||||||
|
friend class OptContentModelPrivate;
|
||||||
|
OptContentModelPrivate *d;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
54
dependencies/poppler/include/poppler-page-private.h
vendored
Normal file
54
dependencies/poppler/include/poppler-page-private.h
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
/* poppler-page.cc: qt interface to poppler
|
||||||
|
* Copyright (C) 2005, Net Integration Technologies, Inc.
|
||||||
|
* Copyright (C) 2007, 2012, Albert Astals Cid <aacid@kde.org>
|
||||||
|
* Copyright (C) 2008, Pino Toscano <pino@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _POPPLER_PAGE_PRIVATE_H_
|
||||||
|
#define _POPPLER_PAGE_PRIVATE_H_
|
||||||
|
|
||||||
|
#include "CharTypes.h"
|
||||||
|
|
||||||
|
class QRectF;
|
||||||
|
|
||||||
|
class LinkAction;
|
||||||
|
class Page;
|
||||||
|
class TextPage;
|
||||||
|
|
||||||
|
namespace Poppler
|
||||||
|
{
|
||||||
|
|
||||||
|
class DocumentData;
|
||||||
|
class PageTransition;
|
||||||
|
|
||||||
|
class PageData {
|
||||||
|
public:
|
||||||
|
Link* convertLinkActionToLink(::LinkAction * a, const QRectF &linkArea);
|
||||||
|
|
||||||
|
DocumentData *parentDoc;
|
||||||
|
::Page *page;
|
||||||
|
int index;
|
||||||
|
PageTransition *transition;
|
||||||
|
|
||||||
|
static Link* convertLinkActionToLink(::LinkAction * a, DocumentData *parentDoc, const QRectF &linkArea);
|
||||||
|
|
||||||
|
TextPage *prepareTextSearch(const QString &text, Page::SearchMode caseSensitive, Page::Rotation rotate, GBool *sCase, QVector<Unicode> *u);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
28
dependencies/poppler/include/poppler-page-transition-private.h
vendored
Normal file
28
dependencies/poppler/include/poppler-page-transition-private.h
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2005, Albert Astals Cid
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class Object;
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
class PageTransitionParams {
|
||||||
|
public:
|
||||||
|
Object *dictObj;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
148
dependencies/poppler/include/poppler-page-transition.h
vendored
Normal file
148
dependencies/poppler/include/poppler-page-transition.h
vendored
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
/* PageTransition.h
|
||||||
|
* Copyright (C) 2005, Net Integration Technologies, Inc.
|
||||||
|
* Copyright (C) 2005, Brad Hards <bradh@frogmouth.net>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __PAGETRANSITION_X_H__
|
||||||
|
#define __PAGETRANSITION_X_H__
|
||||||
|
|
||||||
|
#include "poppler-export.h"
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
class PageTransitionParams;
|
||||||
|
class PageTransitionData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Describes how a PDF file viewer shall perform the transition
|
||||||
|
from one page to another
|
||||||
|
|
||||||
|
In PDF files there is a way to specify if the viewer shall use
|
||||||
|
certain effects to perform the transition from one page to
|
||||||
|
another. This feature can be used, e.g., in a PDF-based beamer
|
||||||
|
presentation.
|
||||||
|
|
||||||
|
This utility class represents the transition effect, and can be
|
||||||
|
used to extract the information from a PDF object.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
class POPPLER_QT4_EXPORT PageTransition {
|
||||||
|
public:
|
||||||
|
|
||||||
|
/** \brief transition effect that shall be used
|
||||||
|
*/
|
||||||
|
// if changed remember to keep in sync with PageTransition.h enum
|
||||||
|
enum Type {
|
||||||
|
Replace = 0,
|
||||||
|
Split,
|
||||||
|
Blinds,
|
||||||
|
Box,
|
||||||
|
Wipe,
|
||||||
|
Dissolve,
|
||||||
|
Glitter,
|
||||||
|
Fly,
|
||||||
|
Push,
|
||||||
|
Cover,
|
||||||
|
Uncover,
|
||||||
|
Fade
|
||||||
|
};
|
||||||
|
|
||||||
|
/** \brief alignment of the transition effect that shall be used
|
||||||
|
*/
|
||||||
|
// if changed remember to keep in sync with PageTransition.h enum
|
||||||
|
enum Alignment {
|
||||||
|
Horizontal = 0,
|
||||||
|
Vertical
|
||||||
|
};
|
||||||
|
|
||||||
|
/** \brief direction of the transition effect that shall be used
|
||||||
|
*/
|
||||||
|
// if changed remember to keep in sync with PageTransition.h enum
|
||||||
|
enum Direction {
|
||||||
|
Inward = 0,
|
||||||
|
Outward
|
||||||
|
};
|
||||||
|
|
||||||
|
/** \brief Construct a new PageTransition object from a page dictionary.
|
||||||
|
|
||||||
|
Users of the library will rarely need to construct a
|
||||||
|
PageTransition object themselves. Instead, the method
|
||||||
|
Poppler::Page::transition() can be used to find out if a certain
|
||||||
|
transition effect is specified.
|
||||||
|
|
||||||
|
@warning In case or error, this method will print an error message to stderr,
|
||||||
|
and construct a default object.
|
||||||
|
|
||||||
|
@param params an object whose dictionary will be read and
|
||||||
|
parsed. This must be a valid object, whose dictionaries are
|
||||||
|
accessed by the constructor. The object is only accessed by this
|
||||||
|
constructor, and may be deleted after the constructor returns.
|
||||||
|
*/
|
||||||
|
PageTransition(const PageTransitionParams ¶ms);
|
||||||
|
|
||||||
|
/** \brief copy constructor */
|
||||||
|
PageTransition(const PageTransition &pt);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Destructor
|
||||||
|
*/
|
||||||
|
~PageTransition();
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Get type of the transition.
|
||||||
|
*/
|
||||||
|
Type type() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Get duration of the transition in seconds.
|
||||||
|
*/
|
||||||
|
int duration() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Get dimension in which the transition effect occurs.
|
||||||
|
*/
|
||||||
|
Alignment alignment() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Get direction of motion of the transition effect.
|
||||||
|
*/
|
||||||
|
Direction direction() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Get direction in which the transition effect moves.
|
||||||
|
*/
|
||||||
|
int angle() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Get starting or ending scale.
|
||||||
|
*/
|
||||||
|
double scale() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Returns true if the area to be flown is rectangular and
|
||||||
|
opaque.
|
||||||
|
*/
|
||||||
|
bool isRectangular() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
PageTransitionData *data;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
311
dependencies/poppler/include/poppler-private.h
vendored
Normal file
311
dependencies/poppler/include/poppler-private.h
vendored
Normal file
@ -0,0 +1,311 @@
|
|||||||
|
/* poppler-private.h: qt interface to poppler
|
||||||
|
* Copyright (C) 2005, Net Integration Technologies, Inc.
|
||||||
|
* Copyright (C) 2005, 2008, Brad Hards <bradh@frogmouth.net>
|
||||||
|
* Copyright (C) 2006-2009, 2011, 2012 by Albert Astals Cid <aacid@kde.org>
|
||||||
|
* Copyright (C) 2007-2009, 2011 by Pino Toscano <pino@kde.org>
|
||||||
|
* Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
|
||||||
|
* Copyright (C) 2011 Hib Eris <hib@hiberis.nl>
|
||||||
|
* Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
|
||||||
|
* Inspired on code by
|
||||||
|
* Copyright (C) 2004 by Albert Astals Cid <tsdgeos@terra.es>
|
||||||
|
* Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _POPPLER_PRIVATE_H_
|
||||||
|
#define _POPPLER_PRIVATE_H_
|
||||||
|
|
||||||
|
#include <QtCore/QFile>
|
||||||
|
#include <QtCore/QPointer>
|
||||||
|
#include <QtCore/QVector>
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <GfxState.h>
|
||||||
|
#include <GlobalParams.h>
|
||||||
|
#include <PDFDoc.h>
|
||||||
|
#include <FontInfo.h>
|
||||||
|
#include <OutputDev.h>
|
||||||
|
#include <Error.h>
|
||||||
|
#if defined(HAVE_SPLASH)
|
||||||
|
#include <SplashOutputDev.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "poppler-qt4.h"
|
||||||
|
#include "poppler-embeddedfile-private.h"
|
||||||
|
|
||||||
|
class LinkDest;
|
||||||
|
class FormWidget;
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
/* borrowed from kpdf */
|
||||||
|
QString unicodeToQString(Unicode* u, int len);
|
||||||
|
|
||||||
|
QString UnicodeParsedString(GooString *s1);
|
||||||
|
|
||||||
|
GooString *QStringToUnicodeGooString(const QString &s);
|
||||||
|
|
||||||
|
GooString *QStringToGooString(const QString &s);
|
||||||
|
|
||||||
|
void qt4ErrorFunction(int pos, char *msg, va_list args);
|
||||||
|
|
||||||
|
class LinkDestinationData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LinkDestinationData( LinkDest *l, GooString *nd, Poppler::DocumentData *pdfdoc, bool external )
|
||||||
|
: ld(l), namedDest(nd), doc(pdfdoc), externalDest(external)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
LinkDest *ld;
|
||||||
|
GooString *namedDest;
|
||||||
|
Poppler::DocumentData *doc;
|
||||||
|
bool externalDest;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DocumentData {
|
||||||
|
public:
|
||||||
|
DocumentData(const QString &filePath, GooString *ownerPassword, GooString *userPassword)
|
||||||
|
{
|
||||||
|
init();
|
||||||
|
m_filePath = filePath;
|
||||||
|
|
||||||
|
#if defined(_WIN32)
|
||||||
|
wchar_t *fileName = new WCHAR[filePath.length()];
|
||||||
|
int length = filePath.toWCharArray(fileName);
|
||||||
|
doc = new PDFDoc(fileName, length, ownerPassword, userPassword);
|
||||||
|
delete fileName;
|
||||||
|
#else
|
||||||
|
GooString *fileName = new GooString(QFile::encodeName(filePath));
|
||||||
|
doc = new PDFDoc(fileName, ownerPassword, userPassword);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
delete ownerPassword;
|
||||||
|
delete userPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
DocumentData(const QByteArray &data, GooString *ownerPassword, GooString *userPassword)
|
||||||
|
{
|
||||||
|
Object obj;
|
||||||
|
fileContents = data;
|
||||||
|
obj.initNull();
|
||||||
|
MemStream *str = new MemStream((char*)fileContents.data(), 0, fileContents.length(), &obj);
|
||||||
|
init();
|
||||||
|
doc = new PDFDoc(str, ownerPassword, userPassword);
|
||||||
|
delete ownerPassword;
|
||||||
|
delete userPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
void init();
|
||||||
|
|
||||||
|
~DocumentData();
|
||||||
|
|
||||||
|
OutputDev *getOutputDev()
|
||||||
|
{
|
||||||
|
if (!m_outputDev)
|
||||||
|
{
|
||||||
|
switch (m_backend)
|
||||||
|
{
|
||||||
|
case Document::ArthurBackend:
|
||||||
|
// create a splash backend even in case of the Arthur Backend
|
||||||
|
case Document::SplashBackend:
|
||||||
|
{
|
||||||
|
#if defined(HAVE_SPLASH)
|
||||||
|
SplashColor bgColor;
|
||||||
|
GBool overprint = m_hints & Document::OverprintPreview ? gTrue : gFalse;
|
||||||
|
globalParams->setOverprintPreview(overprint);
|
||||||
|
#if defined(SPLASH_CMYK)
|
||||||
|
if (overprint)
|
||||||
|
{
|
||||||
|
Guchar c, m, y, k;
|
||||||
|
|
||||||
|
c = 255 - paperColor.blue();
|
||||||
|
m = 255 - paperColor.red();
|
||||||
|
y = 255 - paperColor.green();
|
||||||
|
k = c;
|
||||||
|
if (m < k) {
|
||||||
|
k = m;
|
||||||
|
}
|
||||||
|
if (y < k) {
|
||||||
|
k = y;
|
||||||
|
}
|
||||||
|
bgColor[0] = c - k;
|
||||||
|
bgColor[1] = m - k;
|
||||||
|
bgColor[2] = y - k;
|
||||||
|
bgColor[3] = k;
|
||||||
|
for (int i = 4; i < SPOT_NCOMPS + 4; i++) {
|
||||||
|
bgColor[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
bgColor[0] = paperColor.blue();
|
||||||
|
bgColor[1] = paperColor.green();
|
||||||
|
bgColor[2] = paperColor.red();
|
||||||
|
}
|
||||||
|
GBool AA = m_hints & Document::TextAntialiasing ? gTrue : gFalse;
|
||||||
|
SplashOutputDev * splashOutputDev = new SplashOutputDev(
|
||||||
|
#if defined(SPLASH_CMYK)
|
||||||
|
(overprint) ? splashModeDeviceN8 : splashModeXBGR8,
|
||||||
|
#else
|
||||||
|
splashModeXBGR8,
|
||||||
|
#endif
|
||||||
|
4, gFalse, bgColor, gTrue, AA);
|
||||||
|
splashOutputDev->setVectorAntialias(m_hints & Document::Antialiasing ? gTrue : gFalse);
|
||||||
|
splashOutputDev->setFreeTypeHinting(m_hints & Document::TextHinting ? gTrue : gFalse, m_hints & Document::TextSlightHinting ? gTrue : gFalse);
|
||||||
|
splashOutputDev->startDoc(doc);
|
||||||
|
m_outputDev = splashOutputDev;
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return m_outputDev;
|
||||||
|
}
|
||||||
|
|
||||||
|
void addTocChildren( QDomDocument * docSyn, QDomNode * parent, GooList * items );
|
||||||
|
|
||||||
|
void setPaperColor(const QColor &color)
|
||||||
|
{
|
||||||
|
if (color == paperColor)
|
||||||
|
return;
|
||||||
|
|
||||||
|
paperColor = color;
|
||||||
|
|
||||||
|
// Make sure the new paper color will be picked up for the next rendering
|
||||||
|
delete m_outputDev;
|
||||||
|
m_outputDev = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fillMembers()
|
||||||
|
{
|
||||||
|
m_fontInfoIterator = new FontIterator(0, this);
|
||||||
|
int numEmb = doc->getCatalog()->numEmbeddedFiles();
|
||||||
|
if (!(0 == numEmb)) {
|
||||||
|
// we have some embedded documents, build the list
|
||||||
|
for (int yalv = 0; yalv < numEmb; ++yalv) {
|
||||||
|
FileSpec *fs = doc->getCatalog()->embeddedFile(yalv);
|
||||||
|
m_embeddedFiles.append(new EmbeddedFile(*new EmbeddedFileData(fs)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static Document *checkDocument(DocumentData *doc);
|
||||||
|
|
||||||
|
PDFDoc *doc;
|
||||||
|
QString m_filePath;
|
||||||
|
QByteArray fileContents;
|
||||||
|
bool locked;
|
||||||
|
FontIterator *m_fontInfoIterator;
|
||||||
|
Document::RenderBackend m_backend;
|
||||||
|
OutputDev *m_outputDev;
|
||||||
|
QList<EmbeddedFile*> m_embeddedFiles;
|
||||||
|
QPointer<OptContentModel> m_optContentModel;
|
||||||
|
QColor paperColor;
|
||||||
|
int m_hints;
|
||||||
|
static int count;
|
||||||
|
};
|
||||||
|
|
||||||
|
class FontInfoData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FontInfoData()
|
||||||
|
{
|
||||||
|
isEmbedded = false;
|
||||||
|
isSubset = false;
|
||||||
|
type = FontInfo::unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
FontInfoData( const FontInfoData &fid )
|
||||||
|
{
|
||||||
|
fontName = fid.fontName;
|
||||||
|
fontFile = fid.fontFile;
|
||||||
|
isEmbedded = fid.isEmbedded;
|
||||||
|
isSubset = fid.isSubset;
|
||||||
|
type = fid.type;
|
||||||
|
embRef = fid.embRef;
|
||||||
|
}
|
||||||
|
|
||||||
|
FontInfoData( ::FontInfo* fi )
|
||||||
|
{
|
||||||
|
if (fi->getName()) fontName = fi->getName()->getCString();
|
||||||
|
if (fi->getFile()) fontFile = fi->getFile()->getCString();
|
||||||
|
isEmbedded = fi->getEmbedded();
|
||||||
|
isSubset = fi->getSubset();
|
||||||
|
type = (Poppler::FontInfo::Type)fi->getType();
|
||||||
|
embRef = fi->getEmbRef();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString fontName;
|
||||||
|
QString fontFile;
|
||||||
|
bool isEmbedded : 1;
|
||||||
|
bool isSubset : 1;
|
||||||
|
FontInfo::Type type;
|
||||||
|
Ref embRef;
|
||||||
|
};
|
||||||
|
|
||||||
|
class FontIteratorData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FontIteratorData( int startPage, DocumentData *dd )
|
||||||
|
: fontInfoScanner( dd->doc, startPage )
|
||||||
|
, totalPages( dd->doc->getNumPages() )
|
||||||
|
, currentPage( qMax( startPage, 0 ) - 1 )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
~FontIteratorData()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
FontInfoScanner fontInfoScanner;
|
||||||
|
int totalPages;
|
||||||
|
int currentPage;
|
||||||
|
};
|
||||||
|
|
||||||
|
class TextBoxData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TextBoxData()
|
||||||
|
: nextWord(0), hasSpaceAfter(false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
QString text;
|
||||||
|
QRectF bBox;
|
||||||
|
TextBox *nextWord;
|
||||||
|
QVector<QRectF> charBBoxes; // the boundingRect of each character
|
||||||
|
bool hasSpaceAfter;
|
||||||
|
};
|
||||||
|
|
||||||
|
class FormFieldData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FormFieldData(DocumentData *_doc, ::Page *p, ::FormWidget *w) :
|
||||||
|
doc(_doc), page(p), fm(w)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
DocumentData *doc;
|
||||||
|
::Page *page;
|
||||||
|
::FormWidget *fm;
|
||||||
|
QRectF box;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
46
dependencies/poppler/include/poppler-qiodeviceoutstream-private.h
vendored
Normal file
46
dependencies/poppler/include/poppler-qiodeviceoutstream-private.h
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/* poppler-qiodevicestream-private.h: Qt4 interface to poppler
|
||||||
|
* Copyright (C) 2008, Pino Toscano <pino@kde.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef POPPLER_QIODEVICESTREAM_PRIVATE_H
|
||||||
|
#define POPPLER_QIODEVICESTREAM_PRIVATE_H
|
||||||
|
|
||||||
|
#include "Object.h"
|
||||||
|
#include "Stream.h"
|
||||||
|
|
||||||
|
class QIODevice;
|
||||||
|
|
||||||
|
namespace Poppler {
|
||||||
|
|
||||||
|
class QIODeviceOutStream : public OutStream
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QIODeviceOutStream(QIODevice* device);
|
||||||
|
virtual ~QIODeviceOutStream();
|
||||||
|
|
||||||
|
virtual void close();
|
||||||
|
virtual int getPos();
|
||||||
|
virtual void put(char c);
|
||||||
|
virtual void printf(const char *format, ...);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QIODevice *m_device;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
1809
dependencies/poppler/include/poppler-qt4.h
vendored
Normal file
1809
dependencies/poppler/include/poppler-qt4.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
dependencies/poppler/lib/poppler-qt4.lib
vendored
Normal file
BIN
dependencies/poppler/lib/poppler-qt4.lib
vendored
Normal file
Binary file not shown.
@ -3,7 +3,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p>
|
<p>
|
||||||
YACReader - Yet Another Comic Reader - version 5.0 <br/>
|
YACReader - Yet Another Comic Reader - version 5.5 <br/>
|
||||||
by Luis Ángel San Martín Rodríguez <br/>
|
by Luis Ángel San Martín Rodríguez <br/>
|
||||||
e-mail: luisangelsm@gmail.com <br/>
|
e-mail: luisangelsm@gmail.com <br/>
|
||||||
web site: <a href="http://www.yacreader.com">http://www.yacreader.com</a> <br/>
|
web site: <a href="http://www.yacreader.com">http://www.yacreader.com</a> <br/>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<p>
|
<p>
|
||||||
<img src=":/images/icon.png" /> <br/>
|
<img src=":/images/icon.png" /> <br/>
|
||||||
YACReader - Yet Another Comic Reader - versión 5.0 <br/>
|
YACReader - Yet Another Comic Reader - versión 5.5 <br/>
|
||||||
por Luis Ángel San Martín Rodríguez <br/>
|
por Luis Ángel San Martín Rodríguez <br/>
|
||||||
e-mail: luisangelsm@gmail.com <br/>
|
e-mail: luisangelsm@gmail.com <br/>
|
||||||
Página web: <a href="http://www.yacreader.com">http://www.yacreader.com</a> <br/>
|
Página web: <a href="http://www.yacreader.com">http://www.yacreader.com</a> <br/>
|
||||||
|
BIN
images/flow4.png
Normal file
BIN
images/flow4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
BIN
images/flow5.png
Normal file
BIN
images/flow5.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 22 KiB |
BIN
images/onStartFlowSelection_es.png
Normal file
BIN
images/onStartFlowSelection_es.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
Reference in New Issue
Block a user