[okular] import

Rex Dieter rdieter at fedoraproject.org
Fri Jul 15 14:36:01 UTC 2011


commit 247341b05a3526138341f6a2bb0fe9ac981f6ecd
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Fri Jul 15 09:33:54 2011 -0500

    import

 .gitignore                                         |    1 +
 kdegraphics-4.5.1-okular_dt.patch                  |   10 +
 ...s-4.5.80-OkularConfig-dont-hardcode-paths.patch |   30 ++
 kdegraphics-4.6.90-okular-landscape.patch          |  427 ++++++++++++++++++++
 okular.spec                                        |  150 +++++++
 sources                                            |    1 +
 6 files changed, 619 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..e799c34 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/okular-4.6.95.tar.bz2
diff --git a/kdegraphics-4.5.1-okular_dt.patch b/kdegraphics-4.5.1-okular_dt.patch
new file mode 100644
index 0000000..89985e5
--- /dev/null
+++ b/kdegraphics-4.5.1-okular_dt.patch
@@ -0,0 +1,10 @@
+diff -up kdegraphics-4.5.1/okular/shell/okular.desktop.dt kdegraphics-4.5.1/okular/shell/okular.desktop
+--- kdegraphics-4.5.1/okular/shell/okular.desktop.dt	2010-07-23 16:14:57.000000000 -0500
++++ kdegraphics-4.5.1/okular/shell/okular.desktop	2010-09-07 12:31:01.260797812 -0500
+@@ -117,5 +117,5 @@ Icon=okular
+ Type=Application
+ X-DocPath=okular/index.html
+ InitialPreference=7
+-Categories=Qt;KDE;Graphics;Office;Viewer;
++Categories=Qt;KDE;Graphics;VectorGraphics;Viewer;
+ MimeType=application/vnd.kde.okular-archive;
diff --git a/kdegraphics-4.5.80-OkularConfig-dont-hardcode-paths.patch b/kdegraphics-4.5.80-OkularConfig-dont-hardcode-paths.patch
new file mode 100644
index 0000000..9b8b18b
--- /dev/null
+++ b/kdegraphics-4.5.80-OkularConfig-dont-hardcode-paths.patch
@@ -0,0 +1,30 @@
+diff -ur kdegraphics-4.5.80/okular/OkularConfig.cmake kdegraphics-4.5.80-OkularConfig-dont-hardcode-paths/okular/OkularConfig.cmake
+--- kdegraphics-4.5.80/okular/OkularConfig.cmake	2010-10-05 13:38:39.000000000 +0200
++++ kdegraphics-4.5.80-OkularConfig-dont-hardcode-paths/okular/OkularConfig.cmake	2010-11-22 22:12:53.000000000 +0100
+@@ -1,18 +1,13 @@
+-# get from the full path to OkularConfig.cmake up to the base dir dir:
+-get_filename_component( _okularBaseDir  ${CMAKE_CURRENT_LIST_FILE} PATH)
+-get_filename_component( _okularBaseDir  ${_okularBaseDir} PATH)
+-get_filename_component( _okularBaseDir  ${_okularBaseDir} PATH)
+-get_filename_component( _okularBaseDir  ${_okularBaseDir} PATH)
+-
+-
+ # find the full paths to the library and the includes:
+ find_path(OKULAR_INCLUDE_DIR okular/core/document.h
+-          HINTS ${_okularBaseDir}/include
+-          NO_DEFAULT_PATH)
+-
+-find_library(OKULAR_CORE_LIBRARY okularcore 
+-             HINTS ${_okularBaseDir}/lib
+-             NO_DEFAULT_PATH)
++          PATHS
++          ${INCLUDE_INSTALL_DIR}
++          ${KDE4_INCLUDE_DIR})
++
++find_library(OKULAR_CORE_LIBRARY okularcore
++             PATHS
++             ${LIB_INSTALL_DIR}
++             ${KDE4_LIB_DIR})
+ 
+ set(OKULAR_LIBRARIES ${OKULAR_CORE_LIBRARY})
+ 
diff --git a/kdegraphics-4.6.90-okular-landscape.patch b/kdegraphics-4.6.90-okular-landscape.patch
new file mode 100644
index 0000000..8ab5177
--- /dev/null
+++ b/kdegraphics-4.6.90-okular-landscape.patch
@@ -0,0 +1,427 @@
+diff -up kdegraphics-4.6.90/okular/core/document.cpp.okular-landscape kdegraphics-4.6.90/okular/core/document.cpp
+--- kdegraphics-4.6.90/okular/core/document.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/core/document.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -3459,6 +3459,28 @@ bool Document::saveDocumentArchive( cons
+     return true;
+ }
+ 
++QPrinter::Orientation Document::orientation() const
++{
++    double width, height;
++    int landscape, portrait;
++    const Okular::Page *currentPage;
++
++    // if some pages are landscape and others are not, the most common wins, as
++    // QPrinter does not accept a per-page setting
++    landscape = 0;
++    portrait = 0;
++    for (uint i = 0; i < pages(); i++)
++    {
++        currentPage = page(i);
++        width = currentPage->width();
++        height = currentPage->height();
++        if (currentPage->orientation() == Okular::Rotation90 || currentPage->orientation() == Okular::Rotation270) qSwap(width, height);
++        if (width > height) landscape++;
++        else portrait++;
++    }
++    return (landscape > portrait) ? QPrinter::Landscape : QPrinter::Portrait;
++}
++
+ void DocumentPrivate::requestDone( PixmapRequest * req )
+ {
+     if ( !req )
+diff -up kdegraphics-4.6.90/okular/core/document.h.okular-landscape kdegraphics-4.6.90/okular/core/document.h
+--- kdegraphics-4.6.90/okular/core/document.h.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/core/document.h	2011-06-29 19:13:09.000000000 +0200
+@@ -19,11 +19,11 @@
+ #include <QtCore/QObject>
+ #include <QtCore/QStringList>
+ #include <QtCore/QVector>
++#include <QtGui/QPrinter>
+ #include <QtXml/QDomDocument>
+ 
+ #include <kmimetype.h>
+ 
+-class QPrinter;
+ class QPrintDialog;
+ class KComponentData;
+ class KBookmark;
+@@ -604,6 +604,15 @@ class OKULAR_EXPORT Document : public QO
+         */
+         const SourceReference * dynamicSourceReference( int pageNr, double absX, double absY );
+ 
++        /**
++         * Returns the orientation of the document (for printing purposes). This
++         * is used in the KPart to initialize the print dialog and in the
++         * generators to check whether the document needs to be rotated or not.
++         *
++         * @since 0.13 (KDE 4.7)
++        */
++        QPrinter::Orientation orientation() const;
++
+ 
+     public Q_SLOTS:
+         /**
+diff -up kdegraphics-4.6.90/okular/core/fileprinter.cpp.okular-landscape kdegraphics-4.6.90/okular/core/fileprinter.cpp
+--- kdegraphics-4.6.90/okular/core/fileprinter.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/core/fileprinter.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -34,20 +34,26 @@
+ using namespace Okular;
+ 
+ int FilePrinter::printFile( QPrinter &printer, const QString file, FileDeletePolicy fileDeletePolicy,
+-                            PageSelectPolicy pageSelectPolicy, const QString &pageRange )
++                            PageSelectPolicy pageSelectPolicy, const QString &pageRange,  
++                            QPrinter::Orientation documentOrientation )
+ {
+     FilePrinter fp;
+-    return fp.doPrintFiles( printer, QStringList( file ), fileDeletePolicy, pageSelectPolicy, pageRange );
++    return fp.doPrintFiles( printer, QStringList( file ), fileDeletePolicy, pageSelectPolicy, pageRange, 
++                            documentOrientation );
+ }
+ 
+ int FilePrinter::printFiles( QPrinter &printer, const QStringList &fileList, FileDeletePolicy fileDeletePolicy )
+ {
+     FilePrinter fp;
+-    return fp.doPrintFiles( printer, fileList, fileDeletePolicy, FilePrinter::ApplicationSelectsPages, QString() );
++    // FIXME: Does anything actually use this function? If so, we need to fix it
++    //        to support a list of orientations for each document.
++    return fp.doPrintFiles( printer, fileList, fileDeletePolicy, FilePrinter::ApplicationSelectsPages, QString(),
++                            QPrinter::Portrait );
+ }
+ 
+ int FilePrinter::doPrintFiles( QPrinter &printer, QStringList fileList, FileDeletePolicy fileDeletePolicy,
+-                               PageSelectPolicy pageSelectPolicy, const QString &pageRange )
++                               PageSelectPolicy pageSelectPolicy, const QString &pageRange,
++                               QPrinter::Orientation documentOrientation )
+ {
+ 
+     if ( fileList.size() < 1 ) {
+@@ -135,7 +141,7 @@ int FilePrinter::doPrintFiles( QPrinter 
+ 
+         bool useCupsOptions = cupsAvailable();
+         argList = printArguments( printer, fileDeletePolicy, pageSelectPolicy, 
+-                                  useCupsOptions, pageRange, exe ) << fileList;
++                                  useCupsOptions, pageRange, exe, documentOrientation ) << fileList;
+         kDebug(OkularDebug) << "Executing" << exe << "with arguments" << argList;
+ 
+         ret = KProcess::execute( exe, argList );
+@@ -360,7 +366,8 @@ Generator::PrintError FilePrinter::print
+ 
+ QStringList FilePrinter::printArguments( QPrinter &printer, FileDeletePolicy fileDeletePolicy,
+                                          PageSelectPolicy pageSelectPolicy, bool useCupsOptions,
+-                                         const QString &pageRange, const QString &version )
++                                         const QString &pageRange, const QString &version, 
++                                         QPrinter::Orientation documentOrientation )
+ {
+     QStringList argList;
+ 
+@@ -380,8 +387,8 @@ QStringList FilePrinter::printArguments(
+         argList << pages( printer, pageSelectPolicy, pageRange, useCupsOptions, version );
+     }
+ 
+-    if ( useCupsOptions && ! cupsOptions( printer ).isEmpty() ) {
+-        argList << cupsOptions( printer );
++    if ( useCupsOptions && ! cupsOptions( printer, documentOrientation ).isEmpty() ) {
++        argList << cupsOptions( printer, documentOrientation);
+     }
+ 
+     if ( ! deleteFile( printer, fileDeletePolicy, version ).isEmpty() ) {
+@@ -484,7 +491,7 @@ QStringList FilePrinter::pages( QPrinter
+     return QStringList(); // AllPages
+ }
+ 
+-QStringList FilePrinter::cupsOptions( QPrinter &printer )
++QStringList FilePrinter::cupsOptions( QPrinter &printer, QPrinter::Orientation documentOrientation )
+ {
+     QStringList optionList;
+ 
+@@ -492,8 +499,8 @@ QStringList FilePrinter::cupsOptions( QP
+         optionList << optionMedia( printer );
+     }
+ 
+-    if ( ! optionOrientation( printer ).isEmpty() ) {
+-        optionList << optionOrientation( printer );
++    if ( ! optionOrientation( printer, documentOrientation ).isEmpty() ) {
++        optionList << optionOrientation( printer, documentOrientation );
+     }
+ 
+     if ( ! optionDoubleSidedPrinting( printer ).isEmpty() ) {
+@@ -597,12 +604,17 @@ QString FilePrinter::mediaPaperSource( Q
+     }
+ }
+ 
+-QStringList FilePrinter::optionOrientation( QPrinter &printer )
++QStringList FilePrinter::optionOrientation( QPrinter &printer, QPrinter::Orientation documentOrientation )
+ {
+-    switch ( printer.orientation() ) {
+-    case QPrinter::Portrait:   return QStringList("-o") << "portrait";
+-    case QPrinter::Landscape:  return QStringList("-o") << "landscape";
+-    default:                   return QStringList();
++    // portrait and landscape options rotate the document according to the document orientation
++    // If we want to print a landscape document as one would expect it, we have to pass the
++    // portrait option so that the document is not rotated additionaly
++    if ( printer.orientation() == documentOrientation ) {
++        // the user wants the document printed as is
++        return QStringList("-o") << "portrait";
++    } else {
++        // the user expects the document being rotated by 90 degrees
++        return QStringList("-o") << "landscape";
+     }
+ }
+ 
+diff -up kdegraphics-4.6.90/okular/core/fileprinter.h.okular-landscape kdegraphics-4.6.90/okular/core/fileprinter.h
+--- kdegraphics-4.6.90/okular/core/fileprinter.h.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/core/fileprinter.h	2011-06-29 19:16:49.000000000 +0200
+@@ -16,11 +16,11 @@
+ 
+ #include <QtCore/QList>
+ #include <QtCore/QString>
++#include <QtGui/QPrinter>
+ 
+ #include "okular_export.h"
+ #include "generator.h"
+ 
+-class QPrinter;
+ class QSize;
+ 
+ namespace Okular {
+@@ -58,6 +58,7 @@ public:
+      * @param fileDeletePolicy if the application or system deletes the file
+      * @param pageSelectPolicy if the application or system selects the pages to print
+      * @param pageRange page range to print if SystemSlectsPages and user chooses Selection in Print Dialog
++     * @param documentOrientation the orientation stored in the document itself (Default is Portrait)
+      *
+      * @returns Returns exit code:
+      *          -9 if lpr not found
+@@ -73,7 +74,9 @@ public:
+     static int printFile( QPrinter &printer, const QString file,
+                           FileDeletePolicy fileDeletePolicy = FilePrinter::ApplicationDeletesFiles,
+                           PageSelectPolicy pageSelectPolicy = FilePrinter::ApplicationSelectsPages,
+-                          const QString &pageRange = QString() );
++                          const QString &pageRange = QString(),
++                          QPrinter::Orientation documentOrientation = QPrinter::Portrait
++                        );
+ 
+     /** Print a list of files using the settings in QPrinter
+      *
+@@ -171,11 +174,13 @@ protected:
+ 
+     int doPrintFiles( QPrinter &printer, const QStringList fileList,
+                              FileDeletePolicy fileDeletePolicy, PageSelectPolicy pageSelectPolicy,
+-                             const QString &pageRange );
++                             const QString &pageRange,
++                             QPrinter::Orientation documentOrientation);
+ 
+     QStringList printArguments( QPrinter &printer,
+                                        FileDeletePolicy fileDeletePolicy, PageSelectPolicy pageSelectPolicy,
+-                                       bool useCupsOptions, const QString &pageRange, const QString &version );
++                                       bool useCupsOptions, const QString &pageRange, const QString &version,
++                                       QPrinter::Orientation documentOrientation);
+ 
+     QStringList destination( QPrinter &printer, const QString &version );
+     QStringList copies( QPrinter &printer, const QString &version );
+@@ -185,11 +190,11 @@ protected:
+     QStringList pages( QPrinter &printer, PageSelectPolicy pageSelectPolicy,
+                               const QString &pageRange, bool useCupsOptions, const QString &version );
+ 
+-    QStringList cupsOptions( QPrinter &printer );
++    QStringList cupsOptions( QPrinter &printer, QPrinter::Orientation documentOrientation );
+     QStringList optionMedia( QPrinter &printer );
+     QString mediaPageSize( QPrinter &printer );
+     QString mediaPaperSource( QPrinter &printer );
+-    QStringList optionOrientation( QPrinter &printer );
++    QStringList optionOrientation( QPrinter &printer, QPrinter::Orientation documentOrientation );
+     QStringList optionDoubleSidedPrinting( QPrinter &printer );
+     QStringList optionPageOrder( QPrinter &printer );
+     QStringList optionCollateCopies( QPrinter &printer );
+diff -up kdegraphics-4.6.90/okular/generators/djvu/generator_djvu.cpp.okular-landscape kdegraphics-4.6.90/okular/generators/djvu/generator_djvu.cpp
+--- kdegraphics-4.6.90/okular/generators/djvu/generator_djvu.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/generators/djvu/generator_djvu.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -220,7 +220,8 @@ bool DjVuGenerator::print( QPrinter& pri
+         int ret = Okular::FilePrinter::printFile( printer, fileName,
+                                                   Okular::FilePrinter::SystemDeletesFiles,
+                                                   Okular::FilePrinter::ApplicationSelectsPages,
+-                                                  document()->bookmarkedPageRange() );
++                                                  document()->bookmarkedPageRange(),
++                                                  document()->orientation() );
+         result = ( ret >=0 );
+     }
+ 
+diff -up kdegraphics-4.6.90/okular/generators/dvi/dviexport.cpp.okular-landscape kdegraphics-4.6.90/okular/generators/dvi/dviexport.cpp
+--- kdegraphics-4.6.90/okular/generators/dvi/dviexport.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/generators/dvi/dviexport.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -288,9 +288,11 @@ DVIExportToPS::DVIExportToPS(dviRenderer
+                              const QString& output_name,
+                              const QStringList& options,
+                              QPrinter* printer,
+-                             bool useFontHinting)
++                             bool useFontHinting,
++                             QPrinter::Orientation orientation)
+   : DVIExport(parent, parent_widget),
+-    printer_(printer)
++    printer_(printer),
++    orientation_(orientation)
+ {
+   // None of these should happen. Paranoia checks.
+   if (!parent.dviFile)
+@@ -460,7 +462,8 @@ void DVIExportToPS::finished_impl(int ex
+         Okular::FilePrinter::printFile( (*printer_), output_name_,
+                                 Okular::FilePrinter::ApplicationDeletesFiles,
+                                 Okular::FilePrinter::ApplicationSelectsPages,
+-                                QString() );
++                                QString(),
++                                orientation_ );
+     }
+   }
+ 
+diff -up kdegraphics-4.6.90/okular/generators/dvi/dviexport.h.okular-landscape kdegraphics-4.6.90/okular/generators/dvi/dviexport.h
+--- kdegraphics-4.6.90/okular/generators/dvi/dviexport.h.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/generators/dvi/dviexport.h	2011-06-29 19:13:09.000000000 +0200
+@@ -22,11 +22,11 @@
+ #include <ksharedptr.h>
+ 
+ #include <QObject>
++#include <QtGui/QPrinter>
+ 
+ 
+ class dviRenderer;
+ class fontProgressDialog;
+-class QPrinter;
+ class KProcess;
+ class QStringList;
+ 
+@@ -124,13 +124,15 @@ public:
+    *  passed to the external process's argv command line.
+    *  @param printer having generated the PostScript file, it is passed
+    *  to @c printer (if not null).
++   *  @param orientation the original orientation of the document
+    */
+   DVIExportToPS(dviRenderer& parent,
+                 QWidget* parent_widget,
+                 const QString& output_name,
+                 const QStringList& options,
+                 QPrinter* printer,
+-                bool useFontHinting);
++                bool useFontHinting,
++                QPrinter::Orientation orientation = QPrinter::Portrait);
+ 
+ private:
+   virtual void abort_process_impl();
+@@ -139,6 +141,7 @@ private:
+   QPrinter* printer_;
+   QString output_name_;
+   QString tmpfile_name_;
++  QPrinter::Orientation orientation_;
+ };
+ 
+ #endif
+diff -up kdegraphics-4.6.90/okular/generators/dvi/dviRenderer.cpp.okular-landscape kdegraphics-4.6.90/okular/generators/dvi/dviRenderer.cpp
+--- kdegraphics-4.6.90/okular/generators/dvi/dviRenderer.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/generators/dvi/dviRenderer.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -767,9 +767,9 @@ void dviRenderer::exportPDF()
+ }
+ 
+ 
+-void dviRenderer::exportPS(const QString& fname, const QStringList& options, QPrinter* printer)
++void dviRenderer::exportPS(const QString& fname, const QStringList& options, QPrinter* printer, QPrinter::Orientation orientation)
+ {
+-  KSharedPtr<DVIExport> exporter(new DVIExportToPS(*this, parentWidget, fname, options, printer, font_pool.getUseFontHints()));
++  KSharedPtr<DVIExport> exporter(new DVIExportToPS(*this, parentWidget, fname, options, printer, font_pool.getUseFontHints(), orientation));
+   if (exporter->started())
+     all_exports_[exporter.data()] = exporter;
+ }
+diff -up kdegraphics-4.6.90/okular/generators/dvi/dviRenderer.h.okular-landscape kdegraphics-4.6.90/okular/generators/dvi/dviRenderer.h
+--- kdegraphics-4.6.90/okular/generators/dvi/dviRenderer.h.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/generators/dvi/dviRenderer.h	2011-06-29 19:13:09.000000000 +0200
+@@ -29,6 +29,7 @@
+ #include <QVector>
+ #include <QTimer>
+ #include <QMutex>
++#include <QtGui/QPrinter>
+ 
+ class Anchor;
+ class DocumentWidget;
+@@ -37,7 +38,6 @@ class dviRenderer;
+ class ghostscript_interface;
+ //class infoDialog;
+ class QEventLoop;
+-class QPrinter;
+ class KProgressDialog;
+ class PreBookmark;
+ class TeXFontDefinition;
+@@ -154,7 +154,7 @@ public:
+ //void          editor_finished(const DVISourceEditor*);
+ 
+ public slots:
+-  void          exportPS(const QString& fname = QString(), const QStringList& options = QStringList(), QPrinter* printer = 0);
++  void          exportPS(const QString& fname = QString(), const QStringList& options = QStringList(), QPrinter* printer = 0, QPrinter::Orientation orientation = QPrinter::Portrait);
+   void          exportPDF();
+ 
+ //void          showInfo();
+diff -up kdegraphics-4.6.90/okular/generators/dvi/generator_dvi.cpp.okular-landscape kdegraphics-4.6.90/okular/generators/dvi/generator_dvi.cpp
+--- kdegraphics-4.6.90/okular/generators/dvi/generator_dvi.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/generators/dvi/generator_dvi.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -567,7 +567,7 @@ bool DviGenerator::print( QPrinter& prin
+ 
+     QEventLoop el;
+     m_dviRenderer->setEventLoop( &el );
+-    m_dviRenderer->exportPS( tf.fileName(), printOptions, &printer );
++    m_dviRenderer->exportPS( tf.fileName(), printOptions, &printer, document()->orientation() );
+ 
+     tf.close();
+ 
+diff -up kdegraphics-4.6.90/okular/generators/poppler/generator_pdf.cpp.okular-landscape kdegraphics-4.6.90/okular/generators/poppler/generator_pdf.cpp
+--- kdegraphics-4.6.90/okular/generators/poppler/generator_pdf.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/generators/poppler/generator_pdf.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -978,7 +978,8 @@ bool PDFGenerator::print( QPrinter& prin
+         int ret = Okular::FilePrinter::printFile( printer, tempfilename,
+                                                   Okular::FilePrinter::SystemDeletesFiles,
+                                                   Okular::FilePrinter::ApplicationSelectsPages,
+-                                                  document()->bookmarkedPageRange() );
++                                                  document()->bookmarkedPageRange(),
++                                                  document()->orientation() );
+ 
+         lastPrintError = Okular::FilePrinter::printError( ret );
+ 
+diff -up kdegraphics-4.6.90/okular/generators/spectre/generator_ghostview.cpp.okular-landscape kdegraphics-4.6.90/okular/generators/spectre/generator_ghostview.cpp
+--- kdegraphics-4.6.90/okular/generators/spectre/generator_ghostview.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/generators/spectre/generator_ghostview.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -148,7 +148,8 @@ bool GSGenerator::print( QPrinter& print
+         int ret = Okular::FilePrinter::printFile( printer, fileName,
+                                                   Okular::FilePrinter::SystemDeletesFiles,
+                                                   Okular::FilePrinter::ApplicationSelectsPages,
+-                                                  document()->bookmarkedPageRange() );
++                                                  document()->bookmarkedPageRange(),
++                                                  document()->orientation() );
+         if ( ret >= 0 ) result = true;
+     }
+ 
+diff -up kdegraphics-4.6.90/okular/part.cpp.okular-landscape kdegraphics-4.6.90/okular/part.cpp
+--- kdegraphics-4.6.90/okular/part.cpp.okular-landscape	2011-06-22 16:15:08.000000000 +0200
++++ kdegraphics-4.6.90/okular/part.cpp	2011-06-29 19:13:09.000000000 +0200
+@@ -2060,24 +2060,7 @@ void Part::slotPrint()
+ 
+ void Part::setupPrint( QPrinter &printer )
+ {
+-    double width, height;
+-    int landscape, portrait;
+-    const Okular::Page *page;
+-
+-    // if some pages are landscape and others are not the most common win as QPrinter does
+-    // not accept a per page setting
+-    landscape = 0;
+-    portrait = 0;
+-    for (uint i = 0; i < m_document->pages(); i++)
+-    {
+-        page = m_document->page(i);
+-        width = page->width();
+-        height = page->height();
+-        if (page->orientation() == Okular::Rotation90 || page->orientation() == Okular::Rotation270) qSwap(width, height);
+-        if (width > height) landscape++;
+-        else portrait++;
+-    }
+-    if (landscape > portrait) printer.setOrientation(QPrinter::Landscape);
++    printer.setOrientation(m_document->orientation());
+ 
+     // title
+     QString title = m_document->metaData( "DocumentTitle" ).toString();
diff --git a/okular.spec b/okular.spec
new file mode 100644
index 0000000..7bb567b
--- /dev/null
+++ b/okular.spec
@@ -0,0 +1,150 @@
+
+Name:    okular 
+Summary: A document viewer
+Version: 4.6.95
+Release: 1%{?dist}
+
+License: GPLv2
+URL:     https://projects.kde.org/projects/kde/kdegraphics/okular
+Source0: ftp://ftp.kde.org/pub/kde/unstable/%{version}/src/%{name}-%{version}.tar.bz2
+
+## upstreamable patches
+# okular.desktop : Categories=-Office,+VectorGraphics (http://bugzilla.redhat.com/591089)
+Patch50: kdegraphics-4.5.1-okular_dt.patch
+# don't hardcode paths in OkularConfig.cmake
+Patch51: kdegraphics-4.5.80-OkularConfig-dont-hardcode-paths.patch
+# fix printing of landscape documents in Okular (#509645, kde#181290)
+# https://git.reviewboard.kde.org/r/101513/
+Patch54: kdegraphics-4.6.90-okular-landscape.patch
+
+BuildRequires: chmlib-devel
+BuildRequires: desktop-file-utils
+BuildRequires: djvulibre-devel
+BuildRequires: ebook-tools-devel
+BuildRequires: kdelibs4-devel >= %{version}
+BuildRequires: libkipi-devel >= %{version} 
+BuildRequires: libspectre-devel
+BuildRequires: libtiff-devel
+BuildRequires: pkgconfig(poppler-qt4)
+BuildRequires: qimageblitz-devel
+
+# kio_msits migrates from kdegraphics, which had Epoch: 7
+%define kio_msits_epoch 7
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Requires: kio_msits = %{kio_msits_epoch}:%{version}-%{release}
+Requires: kdebase-runtime%{?_kde4_version: >= %{_kde4_version}}
+# when split occurred
+Conflicts: kdegraphics < 7:4.6.95-10
+
+%description
+%{summary}.
+
+%package devel
+Summary:  Development files for %{name}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Requires: kdelibs4-devel
+%description devel
+%{summary}.
+
+%package  libs 
+Summary:  Runtime files for %{name} 
+Requires: %{name} = %{version}-%{release}
+%description libs 
+%{summary}.
+
+%package -n kio_msits
+Epoch: %{kio_msits_epoch} 
+Summary: A kioslave for displaying WinHelp files
+%description -n kio_msits
+%{summary}.
+
+
+
+%prep
+%setup -q
+
+%patch50 -p2 -b .okular_dt
+%patch51 -p2 -b .OkularConfig
+%patch54 -p2 -b .okular-landscape
+
+
+%build
+mkdir -p %{_target_platform}
+pushd %{_target_platform}
+%{cmake_kde4} ..
+popd
+
+make %{?_smp_mflags} -C %{_target_platform}
+
+
+%install
+rm -rf %{buildroot}
+
+make install/fast DESTDIR=%{buildroot} -C %{_target_platform}
+
+# unpackaged files
+#rm -fv %{buildroot}%{_kde4_libdir}/libgwenviewlib.so
+
+
+%check
+desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/%{name}.desktop
+
+
+%post
+touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || :
+
+%posttrans
+gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
+update-desktop-database -q &> /dev/null ||:
+
+%postun
+if [ $1 -eq 0 ] ; then
+touch --no-create %{_kde4_iconsdir}/hicolor &> /dev/null || :
+gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
+fi
+
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
+
+%files
+%doc COPYING 
+%{_kde4_bindir}/%{name}*
+%{_kde4_appsdir}/%{name}/
+%{_kde4_datadir}/applications/kde4/%{name}.desktop
+%{_kde4_datadir}/applications/kde4//%{name}Application_*.desktop
+%{_kde4_datadir}/config.kcfg/*.kcfg
+%{_kde4_datadir}/kde4/services/lib%{name}Generator*.desktop
+%{_kde4_datadir}/kde4/services/%{name}[A-Z]*.desktop
+%{_kde4_iconsdir}/hicolor/*/*/*
+%{_kde4_docdir}/HTML/en/%{name}/
+%{_kde4_libdir}/kde4/%{name}Generator*.so
+%{_kde4_datadir}/kde4/services/%{name}_part.desktop
+%{_kde4_datadir}/kde4/servicetypes/%{name}Generator.desktop
+%{_kde4_libdir}/kde4/%{name}part.so
+
+%files devel
+%{_kde4_includedir}/okular/
+%{_kde4_libdir}/libokularcore.so
+%{_kde4_libdir}/cmake/Okular/
+
+%files libs
+%{_kde4_libdir}/libokularcore.so.1*
+
+%files -n kio_msits
+%{_kde4_libdir}/kde4/kio_msits.so
+%{_kde4_datadir}/kde4/services/msits.protocol
+
+
+%changelog
+* Mon Jul 11 2011 Rex Dieter <rdieter at fedoraproject.org> 4.6.95-1
+- 4.6.95
+- fix URL
+
+* Wed Jul 06 2011 Rex Dieter <rdieter at fedoraproject.org> 4.6.90-3
+- fix Source URL
+- Conflicts: kdegraphics < 7:4.6.90-10
+
+* Tue Jul 05 2011 Rex Dieter <rdieter at fedoraproject.org>  4.6.90-2
+- first try
+
diff --git a/sources b/sources
index e69de29..c2128a5 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+bde02f3faccc7688fd172b0b7ed05dff  okular-4.6.95.tar.bz2


More information about the scm-commits mailing list