Commit 84456605 authored by Albert Astals Cid's avatar Albert Astals Cid

Merge remote-tracking branch 'origin/master' into frameworks

parents b8d22401 98ac9413
...@@ -293,6 +293,7 @@ set(okularpart_SRCS ...@@ -293,6 +293,7 @@ set(okularpart_SRCS
ui/tocmodel.cpp ui/tocmodel.cpp
ui/toolaction.cpp ui/toolaction.cpp
ui/videowidget.cpp ui/videowidget.cpp
ui/layers.cpp
) )
if (Qt5TextToSpeech_FOUND) if (Qt5TextToSpeech_FOUND)
......
okular v0.23.60
...@@ -9,14 +9,17 @@ ...@@ -9,14 +9,17 @@
#include <QtTest> #include <QtTest>
#include "../core/page.h"
#include "../part.h" #include "../part.h"
#include "../ui/toc.h" #include "../ui/toc.h"
#include "../ui/pageview.h"
#include <KConfigDialog> #include <KConfigDialog>
#include <KGlobal> #include <KGlobal>
#include <KStandardDirs> #include <KStandardDirs>
#include <KAboutData> #include <KAboutData>
#include <QClipboard>
#include <QTreeView> #include <QTreeView>
namespace Okular namespace Okular
...@@ -35,6 +38,7 @@ class PartTest ...@@ -35,6 +38,7 @@ class PartTest
void testFowardPDF(); void testFowardPDF();
void testFowardPDF_data(); void testFowardPDF_data();
void testGeneratorPreferences(); void testGeneratorPreferences();
void testSelectText();
}; };
class PartThatHijacksQueryClose : public Okular::Part class PartThatHijacksQueryClose : public Okular::Part
...@@ -170,6 +174,34 @@ void PartTest::testGeneratorPreferences() ...@@ -170,6 +174,34 @@ void PartTest::testGeneratorPreferences()
delete dialog; delete dialog;
} }
void PartTest::testSelectText()
{
QVariantList dummyArgs;
Okular::Part part(NULL, NULL, dummyArgs);
part.openDocument(KDESRCDIR "data/file2.pdf");
part.widget()->show();
QTest::qWaitForWindowShown(part.widget());
const int width = part.m_pageView->width();
const int height = part.m_pageView->height();
// wait for pixmap
while (!part.m_document->page(0)->hasPixmap(part.m_pageView))
QTest::qWait(100);
QMetaObject::invokeMethod(part.m_pageView, "slotSetMouseTextSelect");
QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.12, height * 0.16));
QTest::mousePress(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * 0.12, height * 0.16));
QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.8, height * 0.16));
QTest::mouseRelease(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * 0.8, height * 0.16));
QApplication::clipboard()->clear();
QMetaObject::invokeMethod(part.m_pageView, "copyTextSelection");
QCOMPARE(QApplication::clipboard()->text(), QString("Hola que tal\n"));
}
} }
int main(int argc, char *argv[]) int main(int argc, char *argv[])
......
...@@ -89,9 +89,20 @@ int main() ...@@ -89,9 +89,20 @@ int main()
} }
" HAVE_POPPLER_0_36) " HAVE_POPPLER_0_36)
check_cxx_source_compiles("
#include <poppler-qt4.h>
int main()
{
Poppler::PageTransition *p = 0;
return p->durationReal();
}
" HAVE_POPPLER_0_37)
set(CMAKE_REQUIRED_INCLUDES) set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES) set(CMAKE_REQUIRED_LIBRARIES)
if (HAVE_POPPLER_0_28) if (HAVE_POPPLER_0_37)
set(popplerVersionMessage "0.37")
elseif (HAVE_POPPLER_0_28)
set(popplerVersionMessage "0.28") set(popplerVersionMessage "0.28")
elseif (HAVE_POPPLER_0_24) elseif (HAVE_POPPLER_0_24)
set(popplerVersionMessage "0.24") set(popplerVersionMessage "0.24")
......
...@@ -26,6 +26,14 @@ ...@@ -26,6 +26,14 @@
<default>false</default> <default>false</default>
</entry> </entry>
</group> </group>
<group name="Layers" >
<entry key="LayersSearchCaseSensitive" type="Bool">
<default>false</default>
</entry>
<entry key="LayersSearchRegularExpression" type="Bool">
<default>false</default>
</entry>
</group>
<group name="Reviews" > <group name="Reviews" >
<entry key="ReviewsSearchCaseSensitive" type="Bool"> <entry key="ReviewsSearchCaseSensitive" type="Bool">
<default>false</default> <default>false</default>
......
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
</choices> </choices>
</entry> </entry>
<entry key="ExternalEditorCommand" type="String"> <entry key="ExternalEditorCommand" type="String">
<default>kate --use --line %l --column %c</default> <default>kate --line %l --column %c</default>
</entry> </entry>
</group> </group>
<group name="Core Presentation" > <group name="Core Presentation" >
......
...@@ -3738,6 +3738,15 @@ void Document::editFormButtons( int pageNumber, const QList< FormFieldButton* >& ...@@ -3738,6 +3738,15 @@ void Document::editFormButtons( int pageNumber, const QList< FormFieldButton* >&
d->m_undoStack->push( uc ); d->m_undoStack->push( uc );
} }
void Document::reloadDocument() const
{
const int numOfPages = pages();
for( int i = currentPage(); i >= 0; i -- )
d->refreshPixmaps( i );
for( int i = currentPage() + 1; i < numOfPages; i ++ )
d->refreshPixmaps( i );
}
BookmarkManager * Document::bookmarkManager() const BookmarkManager * Document::bookmarkManager() const
{ {
return d->m_bookmarkManager; return d->m_bookmarkManager;
...@@ -4564,6 +4573,11 @@ void Document::walletDataForFile( const QString &fileName, QString *walletName, ...@@ -4564,6 +4573,11 @@ void Document::walletDataForFile( const QString &fileName, QString *walletName,
} }
} }
QAbstractItemModel * Document::layersModel() const
{
return d->m_generator ? d->m_generator->layersModel() : NULL;
}
void DocumentPrivate::requestDone( PixmapRequest * req ) void DocumentPrivate::requestDone( PixmapRequest * req )
{ {
if ( !req ) if ( !req )
......
...@@ -31,6 +31,7 @@ class KConfigDialog; ...@@ -31,6 +31,7 @@ class KConfigDialog;
class KComponentData; class KComponentData;
class KXMLGUIClient; class KXMLGUIClient;
class DocumentItem; class DocumentItem;
class QAbstractItemModel;
namespace Okular { namespace Okular {
...@@ -842,6 +843,13 @@ class OKULARCORE_EXPORT Document : public QObject ...@@ -842,6 +843,13 @@ class OKULARCORE_EXPORT Document : public QObject
*/ */
void walletDataForFile( const QString &fileName, QString *walletName, QString *walletFolder, QString *walletKey ) const; void walletDataForFile( const QString &fileName, QString *walletName, QString *walletFolder, QString *walletKey ) const;
/**
* Returns the model for rendering layers (NULL if the document has no layers)
*
* @since 0.24
*/
QAbstractItemModel * layersModel() const;
public Q_SLOTS: public Q_SLOTS:
/** /**
* This slot is called whenever the user changes the @p rotation of * This slot is called whenever the user changes the @p rotation of
...@@ -918,6 +926,13 @@ class OKULARCORE_EXPORT Document : public QObject ...@@ -918,6 +926,13 @@ class OKULARCORE_EXPORT Document : public QObject
const QList< Okular::FormFieldButton* > & formButtons, const QList< Okular::FormFieldButton* > & formButtons,
const QList< bool > & newButtonStates ); const QList< bool > & newButtonStates );
/**
* Reloads the pixmaps for whole document
*
* @since 0.24
*/
void reloadDocument() const;
Q_SIGNALS: Q_SIGNALS:
/** /**
* This signal is emitted whenever an action requests a * This signal is emitted whenever an action requests a
......
...@@ -453,6 +453,11 @@ QSizeF Generator::dpi() const ...@@ -453,6 +453,11 @@ QSizeF Generator::dpi() const
return d->m_dpi; return d->m_dpi;
} }
QAbstractItemModel * Generator::layersModel() const
{
return 0;
}
PixmapRequest::PixmapRequest( DocumentObserver *observer, int pageNumber, int width, int height, int priority, PixmapRequestFeatures features ) PixmapRequest::PixmapRequest( DocumentObserver *observer, int pageNumber, int width, int height, int priority, PixmapRequestFeatures features )
: d( new PixmapRequestPrivate ) : d( new PixmapRequestPrivate )
{ {
......
...@@ -432,6 +432,14 @@ class OKULARCORE_EXPORT Generator : public QObject ...@@ -432,6 +432,14 @@ class OKULARCORE_EXPORT Generator : public QObject
*/ */
void setDPI(const QSizeF &dpi); void setDPI(const QSizeF &dpi);
/**
* Returns the 'layers model' object of the document or NULL if
* layers model is not available.
*
* @since 0.24
*/
virtual QAbstractItemModel * layersModel() const;
Q_SIGNALS: Q_SIGNALS:
/** /**
* This signal should be emitted whenever an error occurred in the generator. * This signal should be emitted whenever an error occurred in the generator.
......
...@@ -28,7 +28,8 @@ class Movie::Private ...@@ -28,7 +28,8 @@ class Movie::Private
Private( const QString &url ) Private( const QString &url )
: m_url( url ), : m_url( url ),
m_rotation( Rotation0 ), m_rotation( Rotation0 ),
m_playMode( PlayOnce ), m_playMode( PlayLimited ),
m_playRepetitions( 1.0 ),
m_tmp( 0 ), m_tmp( 0 ),
m_showControls( false ), m_showControls( false ),
m_autoPlay( false ), m_autoPlay( false ),
...@@ -40,6 +41,7 @@ class Movie::Private ...@@ -40,6 +41,7 @@ class Movie::Private
QSize m_aspect; QSize m_aspect;
Rotation m_rotation; Rotation m_rotation;
PlayMode m_playMode; PlayMode m_playMode;
double m_playRepetitions;
QTemporaryFile *m_tmp; QTemporaryFile *m_tmp;
QImage m_posterImage; QImage m_posterImage;
bool m_showControls : 1; bool m_showControls : 1;
...@@ -124,6 +126,16 @@ Movie::PlayMode Movie::playMode() const ...@@ -124,6 +126,16 @@ Movie::PlayMode Movie::playMode() const
return d->m_playMode; return d->m_playMode;
} }
void Movie::setPlayRepetitions( double repetitions )
{
d->m_playRepetitions = repetitions;
}
double Movie::playRepetitions() const
{
return d->m_playRepetitions;
}
void Movie::setAutoPlay( bool autoPlay ) void Movie::setAutoPlay( bool autoPlay )
{ {
d->m_autoPlay = autoPlay; d->m_autoPlay = autoPlay;
......
...@@ -33,8 +33,8 @@ class OKULARCORE_EXPORT Movie ...@@ -33,8 +33,8 @@ class OKULARCORE_EXPORT Movie
*/ */
enum PlayMode enum PlayMode
{ {
PlayOnce, ///< Play the movie once, closing the movie controls at the end PlayLimited, ///< Play a fixed amount of times, closing the movie controls at the end @since 0.24
PlayOpen, ///< Like PlayOnce, but leaving the controls open PlayOpen, ///< Like PlayLimited, but leaving the controls open
PlayRepeat, ///< Play continuously until stopped PlayRepeat, ///< Play continuously until stopped
PlayPalindrome ///< Play forward, then backward, then again forward and so on until stopped PlayPalindrome ///< Play forward, then backward, then again forward and so on until stopped
}; };
...@@ -99,6 +99,18 @@ class OKULARCORE_EXPORT Movie ...@@ -99,6 +99,18 @@ class OKULARCORE_EXPORT Movie
*/ */
PlayMode playMode() const; PlayMode playMode() const;
/**
* Sets how many times the movie should be played
* @since 0.24
*/
void setPlayRepetitions( double repetitions );
/**
* How many times to play the movie
* @since 0.24
*/
double playRepetitions() const;
/** /**
* Sets whether to play the movie automatically * Sets whether to play the movie automatically
*/ */
......
...@@ -29,7 +29,7 @@ class PageTransition::Private ...@@ -29,7 +29,7 @@ class PageTransition::Private
} }
Type m_type; Type m_type;
int m_duration; double m_duration;
Alignment m_alignment; Alignment m_alignment;
Direction m_direction; Direction m_direction;
int m_angle; int m_angle;
...@@ -67,7 +67,7 @@ PageTransition::Type PageTransition::type() const ...@@ -67,7 +67,7 @@ PageTransition::Type PageTransition::type() const
return d->m_type; return d->m_type;
} }
int PageTransition::duration() const double PageTransition::duration() const
{ {
return d->m_duration; return d->m_duration;
} }
...@@ -102,7 +102,7 @@ void PageTransition::setType( Type type ) ...@@ -102,7 +102,7 @@ void PageTransition::setType( Type type )
d->m_type = type; d->m_type = type;
} }
void PageTransition::setDuration( int duration ) void PageTransition::setDuration( double duration )
{ {
d->m_duration = duration; d->m_duration = duration;
} }
......
...@@ -86,7 +86,7 @@ class OKULARCORE_EXPORT PageTransition ...@@ -86,7 +86,7 @@ class OKULARCORE_EXPORT PageTransition
/** /**
* Returns the duration of the transition in seconds. * Returns the duration of the transition in seconds.
*/ */
int duration() const; double duration() const;
/** /**
* Returns the alignment of the transition. * Returns the alignment of the transition.
...@@ -121,7 +121,7 @@ class OKULARCORE_EXPORT PageTransition ...@@ -121,7 +121,7 @@ class OKULARCORE_EXPORT PageTransition
/** /**
* Sets the @p duration in seconds for the transition. * Sets the @p duration in seconds for the transition.
*/ */
void setDuration( int duration ); void setDuration( double duration );
/** /**
* Sets the @p alignment of the transition (@ref Alignment). * Sets the @p alignment of the transition (@ref Alignment).
......
...@@ -22,7 +22,7 @@ static inline QHash< int, QString > buildEditorsMap() ...@@ -22,7 +22,7 @@ static inline QHash< int, QString > buildEditorsMap()
{ {
QHash< int, QString > editors; QHash< int, QString > editors;
editors.insert( SettingsCore::EnumExternalEditor::Kate, editors.insert( SettingsCore::EnumExternalEditor::Kate,
QString::fromLatin1( "kate --use --line %l --column %c" ) ); QString::fromLatin1( "kate --line %l --column %c" ) );
editors.insert( SettingsCore::EnumExternalEditor::Kile, editors.insert( SettingsCore::EnumExternalEditor::Kile,
QString::fromLatin1( "kile --line %l" ) ); QString::fromLatin1( "kile --line %l" ) );
editors.insert( SettingsCore::EnumExternalEditor::Scite, editors.insert( SettingsCore::EnumExternalEditor::Scite,
......
...@@ -37,8 +37,8 @@ Context menu actions like Rename Bookmarks etc.) ...@@ -37,8 +37,8 @@ Context menu actions like Rename Bookmarks etc.)
<!-- TRANS:ROLES_OF_TRANSLATORS --> <!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup> </authorgroup>
<legalnotice>&FDLNotice;</legalnotice> <legalnotice>&FDLNotice;</legalnotice>
<date>2014-02-25</date> <date>2015-09-17</date>
<releaseinfo>0.19 (&kde; 4.13)</releaseinfo> <releaseinfo>0.24 (Applications 15.12)</releaseinfo>
<!-- Abstract about this handbook --> <!-- Abstract about this handbook -->
<abstract> <abstract>
<para>&okular; is a &kde; universal document viewer based on &kpdf; code.</para> <para>&okular; is a &kde; universal document viewer based on &kpdf; code.</para>
...@@ -163,6 +163,12 @@ Context menu actions like Rename Bookmarks etc.) ...@@ -163,6 +163,12 @@ Context menu actions like Rename Bookmarks etc.)
item. item.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
If the document has layers, you can control the layers shown by checking or unchecking
the items in the <guilabel>Layers</guilabel> list.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
If the document has bookmarks, enable the <guilabel>Bookmarks</guilabel> view If the document has bookmarks, enable the <guilabel>Bookmarks</guilabel> view
...@@ -1421,12 +1427,24 @@ Context menu actions like Rename Bookmarks etc.) ...@@ -1421,12 +1427,24 @@ Context menu actions like Rename Bookmarks etc.)
<term> <term>
<menuchoice> <menuchoice>
<guimenu>View</guimenu> <guimenu>View</guimenu>
<guimenuitem>Trim Margins</guimenuitem> <guisubmenu>Trim View</guisubmenu>
</menuchoice> </menuchoice>
</term> </term>
<listitem> <listitem>
<para> <para>
Remove the white border of pages when viewing pages. This submenu allows you to remove the white border of pages when viewing pages (<guimenuitem>Trim Margins</guimenuitem> item) or trim viewport to selection (<guimenuitem>Trim To Selection</guimenuitem> item).
</para>
<para>
The <quote>trim to selection</quote> mode allows you to draw a selection over the rendered page in order to define a visible bounding box to be applied to <emphasis>all pages</emphasis> in the document. Selecting a small trim bounding box enforces minimum dimensions size (20% as a percentage of total page size).
</para>
<para>
The <quote>trim margins</quote> mode is persistent across &okular; restarts. The <quote>trim to selection</quote> mode is forgotten across &okular; restarts.
</para>
<para>
When you switch &okular; from <quote>trim margins</quote> mode to <quote>trim to selection</quote> mode, the view jumps out of <quote>trim margins</quote> mode for the bounding box selection interaction.
</para>
<para>
The trim mode can be deactivated by selecting the same menu item that activates it once again.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
...@@ -124,6 +124,30 @@ GenericName[uk]=Переглядач документів ...@@ -124,6 +124,30 @@ GenericName[uk]=Переглядач документів
GenericName[x-test]=xxDocument Viewerxx GenericName[x-test]=xxDocument Viewerxx
GenericName[zh_CN]=文档查看器 GenericName[zh_CN]=文档查看器
GenericName[zh_TW]=文件檢視器 GenericName[zh_TW]=文件檢視器
Comment=Universal document viewer
Comment[ca]=Visualitzador universal de documents
Comment[cs]=Uneverzální prohlížeč dokumentů
Comment[de]=Universeller Dokumentenbetrachter
Comment[el]=Καθολικός προβολέας εγγράφων
Comment[en_GB]=Universal document viewer
Comment[es]=Visor de documentos universal
Comment[fi]=Yleinen asiakirjakatselin
Comment[is]=Fjölhæfur skjalaskoðari
Comment[it]=Visore di documenti universale
Comment[ko]=만능 문서 뷰어
Comment[nl]=Universele documentviewer
Comment[pl]=Wszechstronna przeglądarka dokumentów
Comment[pt]=Visualizador de documentos universal
Comment[pt_BR]=Visualizador de documentos universal
Comment[sk]=Univerzálny prehliadač dokumentov
Comment[sl]=Vsestranski pregledovalnik dokumentov
Comment[sr]=Универзални приказивач докумената
Comment[sr@ijekavian]=Универзални приказивач докумената
Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata
Comment[sr@latin]=Univerzalni prikazivač dokumenata
Comment[sv]=Generell dokumentvisare
Comment[uk]=Універсальний переглядач документів
Comment[x-test]=xxUniversal document viewerxx
Exec=okular %U Exec=okular %U
Icon=okular Icon=okular
Type=Application Type=Application
......
...@@ -124,6 +124,30 @@ GenericName[uk]=Переглядач документів ...@@ -124,6 +124,30 @@ GenericName[uk]=Переглядач документів
GenericName[x-test]=xxDocument Viewerxx GenericName[x-test]=xxDocument Viewerxx
GenericName[zh_CN]=文档查看器 GenericName[zh_CN]=文档查看器
GenericName[zh_TW]=文件檢視器 GenericName[zh_TW]=文件檢視器
Comment=Universal document viewer
Comment[ca]=Visualitzador universal de documents
Comment[cs]=Uneverzální prohlížeč dokumentů
Comment[de]=Universeller Dokumentenbetrachter
Comment[el]=Καθολικός προβολέας εγγράφων
Comment[en_GB]=Universal document viewer
Comment[es]=Visor de documentos universal
Comment[fi]=Yleinen asiakirjakatselin
Comment[is]=Fjölhæfur skjalaskoðari
Comment[it]=Visore di documenti universale
Comment[ko]=만능 문서 뷰어
Comment[nl]=Universele documentviewer
Comment[pl]=Wszechstronna przeglądarka dokumentów
Comment[pt]=Visualizador de documentos universal
Comment[pt_BR]=Visualizador de documentos universal
Comment[sk]=Univerzálny prehliadač dokumentov
Comment[sl]=Vsestranski pregledovalnik dokumentov
Comment[sr]=Универзални приказивач докумената
Comment[sr@ijekavian]=Универзални приказивач докумената
Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata
Comment[sr@latin]=Univerzalni prikazivač dokumenata
Comment[sv]=Generell dokumentvisare
Comment[uk]=Універсальний переглядач документів
Comment[x-test]=xxUniversal document viewerxx
Exec=okular %U Exec=okular %U
Icon=okular Icon=okular
Type=Application Type=Application
......
...@@ -124,6 +124,30 @@ GenericName[uk]=Переглядач документів ...@@ -124,6 +124,30 @@ GenericName[uk]=Переглядач документів
GenericName[x-test]=xxDocument Viewerxx GenericName[x-test]=xxDocument Viewerxx
GenericName[zh_CN]=文档查看器 GenericName[zh_CN]=文档查看器
GenericName[zh_TW]=文件檢視器 GenericName[zh_TW]=文件檢視器
Comment=Universal document viewer
Comment[ca]=Visualitzador universal de documents
Comment[cs]=Uneverzální prohlížeč dokumentů
Comment[de]=Universeller Dokumentenbetrachter
Comment[el]=Καθολικός προβολέας εγγράφων
Comment[en_GB]=Universal document viewer
Comment[es]=Visor de documentos universal
Comment[fi]=Yleinen asiakirjakatselin
Comment[is]=Fjölhæfur skjalaskoðari
Comment[it]=Visore di documenti universale
Comment[ko]=만능 문서 뷰어
Comment[nl]=Universele documentviewer
Comment[pl]=Wszechstronna przeglądarka dokumentów
Comment[pt]=Visualizador de documentos universal
Comment[pt_BR]=Visualizador de documentos universal
Comment[sk]=Univerzálny prehliadač dokumentov
Comment[sl]=Vsestranski pregledovalnik dokumentov
Comment[sr]=Универзални приказивач докумената
Comment[sr@ijekavian]=Универзални приказивач докумената
Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata
Comment[sr@latin]=Univerzalni prikazivač dokumenata
Comment[sv]=Generell dokumentvisare
Comment[uk]=Універсальний переглядач документів
Comment[x-test]=xxUniversal document viewerxx
Exec=okular %U Exec=okular %U
Icon=okular Icon=okular
Type=Application Type=Application
......
...@@ -124,6 +124,30 @@ GenericName[uk]=Переглядач документів ...@@ -124,6 +124,30 @@ GenericName[uk]=Переглядач документів
GenericName[x-test]=xxDocument Viewerxx GenericName[x-test]=xxDocument Viewerxx
GenericName[zh_CN]=文档查看器 GenericName[zh_CN]=文档查看器
GenericName[zh_TW]=文件檢視器 GenericName[zh_TW]=文件檢視器
Comment=Universal document viewer
Comment[ca]=Visualitzador universal de documents
Comment[cs]=Uneverzální prohlížeč dokumentů
Comment[de]=Universeller Dokumentenbetrachter
Comment[el]=Καθολικός προβολέας εγγράφων
Comment[en_GB]=Universal document viewer
Comment[es]=Visor de documentos universal
Comment[fi]=Yleinen asiakirjakatselin
Comment[is]=Fjölhæfur skjalaskoðari
Comment[it]=Visore di documenti universale
Comment[ko]=만능 문서 뷰어
Comment[nl]=Universele documentviewer
Comment[pl]=Wszechstronna przeglądarka dokumentów
Comment[pt]=Visualizador de documentos universal
Comment[pt_BR]=Visualizador de documentos universal
Comment[sk]=Univerzálny prehliadač dokumentov
Comment[sl]=Vsestranski pregledovalnik dokumentov
Comment[sr]=Универзални приказивач докумената
Comment[sr@ijekavian]=Универзални приказивач докумената
Comment[sr@ijekavianlatin]=Univerzalni prikazivač dokumenata
Comment[sr@latin]=Univerzalni prikazivač dokumenata
Comment[sv]=Generell dokumentvisare
Comment[uk]=Універсальний переглядач документів
Comment[x-test]=xxUniversal document viewerxx
Exec=okular %U Exec=okular %U
Icon=okular Icon=okular
Type=Application Type=Application
......
...@@ -124,7 +124,31 @@ GenericName[uk]=Переглядач документів ...@@ -124,7 +124,31 @@ GenericName[uk]=Переглядач документів
GenericName[x-test]=xxDocument Viewerxx GenericName[x-test]=xxDocument Viewerxx
GenericName[zh_CN]=文档查看器 GenericName[zh_CN]=文档查看器
GenericName[zh_TW]=文件檢視器 GenericName[zh_TW]=文件檢視器
Exec=okular %U Comment=Universal document viewer
Comment[ca]=Visualitzador universal de documents
Comment[cs]=Uneverzální prohlížeč dokumentů
Comment[de]=Universeller Dokumentenbetrachter
Comment[el]=Καθολικός προβολέας εγγράφων
Comment[en_GB]=Universal document viewer
Comment[es]=Visor de documentos universal