diff options
Diffstat (limited to 'kpdf')
-rw-r--r-- | kpdf/Makefile.am | 2 | ||||
-rw-r--r-- | kpdf/TODO | 2 | ||||
-rw-r--r-- | kpdf/conf/dlggeneral.ui | 16 | ||||
-rw-r--r-- | kpdf/conf/dlggeneral.ui.h | 2 | ||||
-rw-r--r-- | kpdf/conf/dlgperformance.ui | 4 | ||||
-rw-r--r-- | kpdf/conf/kpdf.kcfg | 13 | ||||
-rw-r--r-- | kpdf/conf/preferencesdialog.cpp | 31 | ||||
-rw-r--r-- | kpdf/conf/preferencesdialog.h | 4 | ||||
-rw-r--r-- | kpdf/core/document.cpp | 10 | ||||
-rw-r--r-- | kpdf/core/document.h | 2 | ||||
-rw-r--r-- | kpdf/core/generator_pdf/generator_pdf.cpp | 8 | ||||
-rw-r--r-- | kpdf/part.cpp | 158 | ||||
-rw-r--r-- | kpdf/part.h | 25 | ||||
-rw-r--r-- | kpdf/part.rc | 1 | ||||
-rw-r--r-- | kpdf/shell/CMakeLists.txt | 2 | ||||
-rw-r--r-- | kpdf/shell/dcop.h | 27 | ||||
-rw-r--r-- | kpdf/shell/main.cpp | 61 | ||||
-rw-r--r-- | kpdf/shell/shell.cpp | 613 | ||||
-rw-r--r-- | kpdf/shell/shell.h | 84 | ||||
-rw-r--r-- | kpdf/shell/shell.rc | 14 | ||||
-rw-r--r-- | kpdf/ui/minibar.cpp | 18 | ||||
-rw-r--r-- | kpdf/ui/minibar.h | 2 | ||||
-rw-r--r-- | kpdf/ui/pageview.cpp | 126 | ||||
-rw-r--r-- | kpdf/ui/pageview.h | 3 | ||||
-rw-r--r-- | kpdf/ui/pageviewutils.cpp | 6 | ||||
-rw-r--r-- | kpdf/ui/presentationwidget.cpp | 32 | ||||
-rw-r--r-- | kpdf/ui/presentationwidget.h | 2 | ||||
-rw-r--r-- | kpdf/ui/searchwidget.cpp | 14 | ||||
-rw-r--r-- | kpdf/ui/searchwidget.h | 2 | ||||
-rw-r--r-- | kpdf/ui/thumbnaillist.cpp | 14 | ||||
-rw-r--r-- | kpdf/ui/thumbnaillist.h | 2 | ||||
-rw-r--r-- | kpdf/ui/toc.cpp | 4 | ||||
-rw-r--r-- | kpdf/ui/toc.h | 2 | ||||
-rw-r--r-- | kpdf/xpdf/ConfigureChecks.cmake | 14 | ||||
-rw-r--r-- | kpdf/xpdf/fofi/CMakeLists.txt | 4 | ||||
-rw-r--r-- | kpdf/xpdf/fofi/FoFiBase.cpp (renamed from kpdf/xpdf/fofi/FoFiBase.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/fofi/FoFiEncodings.cpp (renamed from kpdf/xpdf/fofi/FoFiEncodings.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/fofi/FoFiTrueType.cpp (renamed from kpdf/xpdf/fofi/FoFiTrueType.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/fofi/FoFiType1.cpp (renamed from kpdf/xpdf/fofi/FoFiType1.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/fofi/FoFiType1C.cpp (renamed from kpdf/xpdf/fofi/FoFiType1C.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/fofi/Makefile.am | 4 | ||||
-rw-r--r-- | kpdf/xpdf/goo/CMakeLists.txt | 2 | ||||
-rw-r--r-- | kpdf/xpdf/goo/GHash.cpp (renamed from kpdf/xpdf/goo/GHash.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/goo/GList.cpp (renamed from kpdf/xpdf/goo/GList.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/goo/GString.cpp (renamed from kpdf/xpdf/goo/GString.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/goo/Makefile.am | 2 | ||||
-rw-r--r-- | kpdf/xpdf/goo/gfile.cpp (renamed from kpdf/xpdf/goo/gfile.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/goo/gmem.cpp (renamed from kpdf/xpdf/goo/gmem.cc) | 0 | ||||
-rw-r--r-- | kpdf/xpdf/goo/gmempp.cpp (renamed from kpdf/xpdf/goo/gmempp.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/CMakeLists.txt | 11 | ||||
-rw-r--r-- | kpdf/xpdf/splash/Makefile.am | 8 | ||||
-rw-r--r-- | kpdf/xpdf/splash/Splash.cpp (renamed from kpdf/xpdf/splash/Splash.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashBitmap.cpp (renamed from kpdf/xpdf/splash/SplashBitmap.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashClip.cpp (renamed from kpdf/xpdf/splash/SplashClip.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashFTFont.cpp (renamed from kpdf/xpdf/splash/SplashFTFont.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashFTFontEngine.cpp (renamed from kpdf/xpdf/splash/SplashFTFontEngine.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashFTFontFile.cpp (renamed from kpdf/xpdf/splash/SplashFTFontFile.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashFont.cpp (renamed from kpdf/xpdf/splash/SplashFont.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashFontEngine.cpp (renamed from kpdf/xpdf/splash/SplashFontEngine.cc) | 32 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashFontEngine.h | 7 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashFontFile.cpp (renamed from kpdf/xpdf/splash/SplashFontFile.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashFontFileID.cpp (renamed from kpdf/xpdf/splash/SplashFontFileID.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashPath.cpp (renamed from kpdf/xpdf/splash/SplashPath.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashPattern.cpp (renamed from kpdf/xpdf/splash/SplashPattern.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashScreen.cpp (renamed from kpdf/xpdf/splash/SplashScreen.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashState.cpp (renamed from kpdf/xpdf/splash/SplashState.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashT1Font.cc | 292 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashT1Font.h | 57 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashT1FontEngine.cc | 122 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashT1FontEngine.h | 53 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashT1FontFile.cc | 117 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashT1FontFile.h | 58 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashTypes.h | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashXPath.cpp (renamed from kpdf/xpdf/splash/SplashXPath.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/splash/SplashXPathScanner.cpp (renamed from kpdf/xpdf/splash/SplashXPathScanner.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Annot.cpp (renamed from kpdf/xpdf/xpdf/Annot.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Array.cpp (renamed from kpdf/xpdf/xpdf/Array.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/BuiltinFont.cpp (renamed from kpdf/xpdf/xpdf/BuiltinFont.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/BuiltinFontTables.cpp (renamed from kpdf/xpdf/xpdf/BuiltinFontTables.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/CMakeLists.txt | 18 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/CMap.cpp (renamed from kpdf/xpdf/xpdf/CMap.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Catalog.cpp (renamed from kpdf/xpdf/xpdf/Catalog.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/CharCodeToUnicode.cpp (renamed from kpdf/xpdf/xpdf/CharCodeToUnicode.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Decrypt.cpp (renamed from kpdf/xpdf/xpdf/Decrypt.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Dict.cpp (renamed from kpdf/xpdf/xpdf/Dict.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/FontEncodingTables.cpp (renamed from kpdf/xpdf/xpdf/FontEncodingTables.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Function.cpp (renamed from kpdf/xpdf/xpdf/Function.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Gfx.cpp (renamed from kpdf/xpdf/xpdf/Gfx.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/GfxFont.cpp (renamed from kpdf/xpdf/xpdf/GfxFont.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/GfxState.cpp (renamed from kpdf/xpdf/xpdf/GfxState.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/GfxState.h | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/GlobalParams.cpp (renamed from kpdf/xpdf/xpdf/GlobalParams.cc) | 31 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/GlobalParams.h | 3 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/JArithmeticDecoder.cpp (renamed from kpdf/xpdf/xpdf/JArithmeticDecoder.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/JBIG2Stream.cpp (renamed from kpdf/xpdf/xpdf/JBIG2Stream.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/JPXStream.cpp (renamed from kpdf/xpdf/xpdf/JPXStream.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Lexer.cpp (renamed from kpdf/xpdf/xpdf/Lexer.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Link.cpp (renamed from kpdf/xpdf/xpdf/Link.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Makefile.am | 16 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/NameToCharCode.cpp (renamed from kpdf/xpdf/xpdf/NameToCharCode.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Object.cpp (renamed from kpdf/xpdf/xpdf/Object.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Outline.cpp (renamed from kpdf/xpdf/xpdf/Outline.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/OutputDev.cpp (renamed from kpdf/xpdf/xpdf/OutputDev.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/PDFDoc.cpp (renamed from kpdf/xpdf/xpdf/PDFDoc.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/PDFDocEncoding.cpp (renamed from kpdf/xpdf/xpdf/PDFDocEncoding.cc) | 0 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/PSOutputDev.cpp (renamed from kpdf/xpdf/xpdf/PSOutputDev.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/PSTokenizer.cpp (renamed from kpdf/xpdf/xpdf/PSTokenizer.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Page.cpp (renamed from kpdf/xpdf/xpdf/Page.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Parser.cpp (renamed from kpdf/xpdf/xpdf/Parser.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/PreScanOutputDev.cpp (renamed from kpdf/xpdf/xpdf/PreScanOutputDev.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/SecurityHandler.cpp (renamed from kpdf/xpdf/xpdf/SecurityHandler.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/SplashOutputDev.cpp (renamed from kpdf/xpdf/xpdf/SplashOutputDev.cc) | 5 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/Stream.cpp (renamed from kpdf/xpdf/xpdf/Stream.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/TextOutputDev.cpp (renamed from kpdf/xpdf/xpdf/TextOutputDev.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/UnicodeMap.cpp (renamed from kpdf/xpdf/xpdf/UnicodeMap.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/UnicodeTypeTable.cpp (renamed from kpdf/xpdf/xpdf/UnicodeTypeTable.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/XRef.cpp (renamed from kpdf/xpdf/xpdf/XRef.cc) | 2 | ||||
-rw-r--r-- | kpdf/xpdf/xpdf/xpdf_config.h | 6 |
118 files changed, 1088 insertions, 1204 deletions
diff --git a/kpdf/Makefile.am b/kpdf/Makefile.am index 187989f7..270bc883 100644 --- a/kpdf/Makefile.am +++ b/kpdf/Makefile.am @@ -6,7 +6,7 @@ METASOURCES = AUTO messages: rc.cpp $(EXTRACTRC) `find . -name "*.rc" -o -name "*.ui"` >> rc.cpp - $(XGETTEXT) `find . -name "*.cpp" -o -name "*.cc" -o -name "*.h"` -o $(podir)/kpdf.pot + $(XGETTEXT) `find . -name "*.cpp" -o -name "*.h"` -o $(podir)/kpdf.pot KDE_ICON = kpdf @@ -46,7 +46,7 @@ More items (first items will enter 'In progress list' first): -> take care of TODOs in code -> ADD: click over image allows "save image" [60% done (activerect of type image)] -> export all text in plain_text/html --> extract(export?) images (have a look at ImageOutputDev.cc and pdfimages.cc from xpdf (not in our xpdf sources)) +-> extract(export?) images (have a look at ImageOutputDev.cpp and pdfimages.cpp from xpdf (not in our xpdf sources)) -> text selection in wordprocessor style (very hard) -> zoom: fit text (with configurable margin) -> bookview: 3d opengl widget for viewing the document as a real book (turning pages, etc..) diff --git a/kpdf/conf/dlggeneral.ui b/kpdf/conf/dlggeneral.ui index 5348111d..dd8c2bd5 100644 --- a/kpdf/conf/dlggeneral.ui +++ b/kpdf/conf/dlggeneral.ui @@ -78,6 +78,22 @@ </widget> <widget class="TQCheckBox"> <property name="name"> + <cstring>kcfg_OpenInExistingKPDF</cstring> + </property> + <property name="text"> + <string>Open documents in &new tab instead of new window</string> + </property> + </widget> + <widget class="TQCheckBox"> + <property name="name"> + <cstring>kcfg_TabsHoverCloseButton</cstring> + </property> + <property name="text"> + <string>Show &close button on tabs when mouse is hovering over them</string> + </property> + </widget> + <widget class="TQCheckBox"> + <property name="name"> <cstring>kcfg_ObeyDRM</cstring> </property> <property name="text"> diff --git a/kpdf/conf/dlggeneral.ui.h b/kpdf/conf/dlggeneral.ui.h index 3a12c7c9..262d3c71 100644 --- a/kpdf/conf/dlggeneral.ui.h +++ b/kpdf/conf/dlggeneral.ui.h @@ -19,7 +19,7 @@ void DlgGeneral::showEvent( TQShowEvent * ) #if KPDF_FORCE_DRM kcfg_ObeyDRM->hide(); #else - if (kapp->authorize("skip_drm")) kcfg_ObeyDRM->show(); + if (tdeApp->authorize("skip_drm")) kcfg_ObeyDRM->show(); else kcfg_ObeyDRM->hide(); #endif } diff --git a/kpdf/conf/dlgperformance.ui b/kpdf/conf/dlgperformance.ui index 3676c3ba..d0730717 100644 --- a/kpdf/conf/dlgperformance.ui +++ b/kpdf/conf/dlgperformance.ui @@ -265,11 +265,11 @@ <include location="global" impldecl="in implementation">kiconloader.h</include> <include location="local" impldecl="in implementation">dlgperformance.ui.h</include> </includes> -<Q_SLOTS> +<slots> <slot>lowRadio_toggled( bool on )</slot> <slot>normalRadio_toggled( bool on )</slot> <slot>aggressiveRadio_toggled( bool on )</slot> -</Q_SLOTS> +</slots> <functions> <function access="private">init()</function> </functions> diff --git a/kpdf/conf/kpdf.kcfg b/kpdf/conf/kpdf.kcfg index 9f54b412..5c331ec4 100644 --- a/kpdf/conf/kpdf.kcfg +++ b/kpdf/conf/kpdf.kcfg @@ -6,7 +6,7 @@ <kcfgfile name="kpdfpartrc" /> <group name="Accessibility" > <entry key="PaperColor" type="Color" > - <default code="true" >Qt::white</default> + <default code="true" >TQt::white</default> </entry> <entry key="HighlightImages" type="Bool" > <default>false</default> @@ -53,6 +53,12 @@ <entry key="WatchFile" type="Bool" > <default>true</default> </entry> + <entry key="OpenInExistingKPDF" type="Bool" > + <default>false</default> + </entry> + <entry key="TabsHoverCloseButton" type="Bool" > + <default>false</default> + </entry> <entry key="ObeyDRM" type="Bool" > <default>true</default> </entry> @@ -76,6 +82,9 @@ <entry key="ViewContinuous" type="Bool" > <default>true</default> </entry> + <entry key="ViewCoverPage" type="Bool" > + <default>false</default> + </entry> <entry key="ViewColumns" type="UInt" > <default>1</default> <min>1</min> @@ -126,7 +135,7 @@ <default>false</default> </entry> <entry key="SlidesBackgroundColor" type="Color" > - <default code="true" >Qt::black</default> + <default code="true" >TQt::black</default> </entry> <entry key="SlidesTransition" type="Enum" > <default>Replace</default> diff --git a/kpdf/conf/preferencesdialog.cpp b/kpdf/conf/preferencesdialog.cpp index 3b8de428..dbcf56bd 100644 --- a/kpdf/conf/preferencesdialog.cpp +++ b/kpdf/conf/preferencesdialog.cpp @@ -8,6 +8,7 @@ ***************************************************************************/ #include <tdelocale.h> +#include <tqcheckbox.h> // single config pages #include "dlggeneral.h" @@ -19,16 +20,26 @@ #include "preferencesdialog.h" PreferencesDialog::PreferencesDialog( TQWidget * parent, TDEConfigSkeleton * skeleton ) - : TDEConfigDialog( parent, "preferences", skeleton ) + : TDEConfigDialog( parent, "preferences", skeleton ), + m_shellMode(false) { - m_general = new DlgGeneral(0); - m_performance = new DlgPerformance(0); - m_accessibility = new DlgAccessibility(0); - m_presentation = new DlgPresentation(0); + m_general = new DlgGeneral(nullptr); + m_performance = new DlgPerformance(nullptr); + m_accessibility = new DlgAccessibility(nullptr); + m_presentation = new DlgPresentation(nullptr); - addPage( m_general, i18n("General"), "kpdf", i18n("General Options") ); - addPage( m_accessibility, i18n("Accessibility"), "access", i18n("Reading Aids") ); - addPage( m_performance, i18n("Performance"), "launch", i18n("Performance Tuning") ); - addPage( m_presentation, i18n("Presentation"), "application-x-kpresenter", - i18n("Options for Presentation Mode") ); + addPage(m_general, i18n("General"), "kpdf", i18n("General Options")); + addPage(m_accessibility, i18n("Accessibility"), "access", i18n("Reading Aids")); + addPage(m_performance, i18n("Performance"), "launch", i18n("Performance Tuning")); + addPage(m_presentation, i18n("Presentation"), "application-x-kpresenter", + i18n("Options for Presentation Mode")); + + setShellMode(m_shellMode); +} + +void PreferencesDialog::setShellMode(bool on) +{ + m_shellMode = on; + m_general->kcfg_TabsHoverCloseButton->setHidden(!m_shellMode); + m_general->kcfg_OpenInExistingKPDF->setHidden(!m_shellMode); } diff --git a/kpdf/conf/preferencesdialog.h b/kpdf/conf/preferencesdialog.h index bc7b0cbf..c0b2fc53 100644 --- a/kpdf/conf/preferencesdialog.h +++ b/kpdf/conf/preferencesdialog.h @@ -27,6 +27,9 @@ class PreferencesDialog : public TDEConfigDialog public: PreferencesDialog( TQWidget * parent, TDEConfigSkeleton * config ); + bool shellMode() { return m_shellMode; } + void setShellMode(bool on); + protected: // void updateSettings(); // Called when OK/Apply is pressed. // void updateWidgets(); // Called upon construction or when Reset is pressed @@ -39,6 +42,7 @@ class PreferencesDialog : public TDEConfigDialog DlgPerformance * m_performance; DlgAccessibility * m_accessibility; DlgPresentation * m_presentation; + bool m_shellMode; }; #endif diff --git a/kpdf/core/document.cpp b/kpdf/core/document.cpp index f97be985..0a81af68 100644 --- a/kpdf/core/document.cpp +++ b/kpdf/core/document.cpp @@ -25,7 +25,7 @@ #include <tdeapplication.h> #include <kuserprofile.h> #include <krun.h> -#include <kstandarddirs.h> +#include <tdestandarddirs.h> // local includes #include "document.h" @@ -204,7 +204,7 @@ bool KPDFDocument::openDocument( const TQString & docFile, const KURL & url, con if ( !d->saveBookmarksTimer ) { d->saveBookmarksTimer = new TQTimer( this ); - connect( d->saveBookmarksTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( saveDocumentInfo() ) ); + connect( d->saveBookmarksTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( saveDocumentInfo() ) ); } d->saveBookmarksTimer->start( 5 * 60 * 1000 ); @@ -212,7 +212,7 @@ bool KPDFDocument::openDocument( const TQString & docFile, const KURL & url, con if ( !d->memCheckTimer ) { d->memCheckTimer = new TQTimer( this ); - connect( d->memCheckTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( slotTimedMemoryCheck() ) ); + connect( d->memCheckTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( slotTimedMemoryCheck() ) ); } d->memCheckTimer->start( 2000 ); @@ -357,7 +357,7 @@ void KPDFDocument::reparseConfig() TQWidget *KPDFDocument::widget() const { - return TQT_TQWIDGET(parent()); + return static_cast<TQWidget*>(parent()); } bool KPDFDocument::isOpened() const @@ -1068,7 +1068,7 @@ void KPDFDocument::processLink( const KPDFLink * link ) const KPDFLinkBrowse * browse = static_cast< const KPDFLinkBrowse * >( link ); // if the url is a mailto one, invoke mailer if ( browse->url().startsWith( "mailto:", false ) ) - kapp->invokeMailer( browse->url() ); + tdeApp->invokeMailer( browse->url() ); else { TQString url = browse->url(); diff --git a/kpdf/core/document.h b/kpdf/core/document.h index a0529261..247a8dfd 100644 --- a/kpdf/core/document.h +++ b/kpdf/core/document.h @@ -49,7 +49,7 @@ class KURL; */ class KPDFDocument : public TQObject { - Q_OBJECT + TQ_OBJECT public: KPDFDocument( TQWidget *widget ); diff --git a/kpdf/core/generator_pdf/generator_pdf.cpp b/kpdf/core/generator_pdf/generator_pdf.cpp index 5c0046d3..c5ec1b97 100644 --- a/kpdf/core/generator_pdf/generator_pdf.cpp +++ b/kpdf/core/generator_pdf/generator_pdf.cpp @@ -260,7 +260,7 @@ const DocumentSynopsis * PDFGenerator::generateDocumentSynopsis() bool PDFGenerator::isAllowed( int permissions ) { #if !KPDF_FORCE_DRM - if (kapp->authorize("skip_drm") && !KpdfSettings::obeyDRM()) return true; + if (tdeApp->authorize("skip_drm") && !KpdfSettings::obeyDRM()) return true; #endif bool b = true; @@ -778,7 +778,7 @@ void PDFGenerator::scanFont(GfxFont *font, TDEListView *list, Ref **fonts, int & TQString PDFGenerator::getDocumentInfo( const TQString & data, bool canReturnNull ) const // note: MUTEX is LOCKED while calling this { - // [Albert] Code adapted from pdfinfo.cc on xpdf + // [Albert] Code adapted from pdfinfo.cpp on xpdf Object info; if ( !pdfdoc ) return canReturnNull ? TQString() : i18n( "Unknown" ); @@ -805,7 +805,7 @@ TQString PDFGenerator::getDocumentInfo( const TQString & data, bool canReturnNul TQString PDFGenerator::getDocumentDate( const TQString & data ) const // note: MUTEX is LOCKED while calling this { - // [Albert] Code adapted from pdfinfo.cc on xpdf + // [Albert] Code adapted from pdfinfo.cpp on xpdf if ( !pdfdoc ) return i18n( "Unknown Date" ); @@ -1216,7 +1216,7 @@ void PDFPixmapGeneratorThread::run() // 1. set OutputDev parameters and Generate contents d->generator->kpdfOutputDev->setParams( width, height, - genObjectRects, genObjectRects, TRUE /*thread safety*/ ); + genObjectRects, genObjectRects, true /*thread safety*/ ); d->generator->pdfdoc->displayPage( d->generator->kpdfOutputDev, page->number() + 1, fakeDpiX, fakeDpiY, d->currentRequest->rotation, false, true, false ); if ( genObjectRects ) diff --git a/kpdf/part.cpp b/kpdf/part.cpp index 65714b05..a82707f7 100644 --- a/kpdf/part.cpp +++ b/kpdf/part.cpp @@ -52,8 +52,8 @@ #include <tdeio/netaccess.h> #include <tdeio/job.h> #include <tdepopupmenu.h> -#include <kprocess.h> -#include <kstandarddirs.h> +#include <tdeprocess.h> +#include <tdestandarddirs.h> #include <tdetempfile.h> #include <ktrader.h> #include <kxmlguiclient.h> @@ -117,15 +117,15 @@ Part::Part(TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name, const TQStringList & /*args*/ ) : DCOPObject("kpdf"), KParts::ReadOnlyPart(parent, name), m_showMenuBarAction(0), m_showFullScreenAction(0), - m_actionsSearched(false), m_searchStarted(false) + m_actionsSearched(false), m_searchStarted(false), m_printable(false) { // connect the started signal to tell the job the mimetypes we like - connect(this, TQT_SIGNAL(started(TDEIO::Job *)), this, TQT_SLOT(setMimeTypes(TDEIO::Job *))); - + connect(this, TQ_SIGNAL(started(TDEIO::Job *)), this, TQ_SLOT(setMimeTypes(TDEIO::Job *))); + // connect the completed signal so we can put the window caption when loading remote files - connect(this, TQT_SIGNAL(completed()), this, TQT_SLOT(emitWindowCaption())); - connect(this, TQT_SIGNAL(canceled(const TQString &)), this, TQT_SLOT(emitWindowCaption())); - + connect(this, TQ_SIGNAL(completed()), this, TQ_SLOT(emitWindowCaption())); + connect(this, TQ_SIGNAL(canceled(const TQString &)), this, TQ_SLOT(emitWindowCaption())); + // load catalog for translation TDEGlobal::locale()->insertCatalogue("kpdf"); @@ -144,17 +144,17 @@ Part::Part(TQWidget *parentWidget, const char *widgetName, // build the document m_document = new KPDFDocument(widget()); - connect( m_document, TQT_SIGNAL( linkFind() ), this, TQT_SLOT( slotFind() ) ); - connect( m_document, TQT_SIGNAL( linkGoToPage() ), this, TQT_SLOT( slotGoToPage() ) ); - connect( m_document, TQT_SIGNAL( linkPresentation() ), this, TQT_SLOT( slotShowPresentation() ) ); - connect( m_document, TQT_SIGNAL( linkEndPresentation() ), this, TQT_SLOT( slotHidePresentation() ) ); - connect( m_document, TQT_SIGNAL( openURL(const KURL &) ), this, TQT_SLOT( openURLFromDocument(const KURL &) ) ); - connect( m_document, TQT_SIGNAL( close() ), this, TQT_SLOT( close() ) ); - + connect( m_document, TQ_SIGNAL( linkFind() ), this, TQ_SLOT( slotFind() ) ); + connect( m_document, TQ_SIGNAL( linkGoToPage() ), this, TQ_SLOT( slotGoToPage() ) ); + connect( m_document, TQ_SIGNAL( linkPresentation() ), this, TQ_SLOT( slotShowPresentation() ) ); + connect( m_document, TQ_SIGNAL( linkEndPresentation() ), this, TQ_SLOT( slotHidePresentation() ) ); + connect( m_document, TQ_SIGNAL( openURL(const KURL &) ), this, TQ_SLOT( openURLFromDocument(const KURL &) ) ); + connect( m_document, TQ_SIGNAL( close() ), this, TQ_SLOT( close() ) ); + if (parent && parent->metaObject()->slotNames(true).contains("slotQuit()")) - connect( m_document, TQT_SIGNAL( quit() ), parent, TQT_SLOT( slotQuit() ) ); + connect( m_document, TQ_SIGNAL( quit() ), parent, TQ_SLOT( slotQuit() ) ); else - connect( m_document, TQT_SIGNAL( quit() ), this, TQT_SLOT( cannotQuit() ) ); + connect( m_document, TQ_SIGNAL( quit() ), this, TQ_SLOT( cannotQuit() ) ); // widgets: ^searchbar (toolbar containing label and SearchWidget) // m_searchToolBar = new TDEToolBar( parentWidget, "searchBar" ); @@ -168,8 +168,8 @@ Part::Part(TQWidget *parentWidget, const char *widgetName, m_splitter = new TQSplitter( parentWidget, widgetName ); m_splitter->setOpaqueResize( true ); setWidget( m_splitter ); - - m_showLeftPanel = new TDEToggleAction( i18n( "Show &Navigation Panel"), "show_side_panel", 0, this, TQT_SLOT( slotShowLeftPanel() ), actionCollection(), "show_leftpanel" ); + + m_showLeftPanel = new TDEToggleAction( i18n( "Show &Navigation Panel"), "show_side_panel", 0, this, TQ_SLOT( slotShowLeftPanel() ), actionCollection(), "show_leftpanel" ); m_showLeftPanel->setCheckedState( i18n( "Hide &Navigation Panel") ); m_showLeftPanel->setShortcut( "CTRL+L" ); m_showLeftPanel->setChecked( KpdfSettings::showLeftPanel() ); @@ -191,7 +191,7 @@ Part::Part(TQWidget *parentWidget, const char *widgetName, TQVBoxLayout *tocWrapperLayout = new TQVBoxLayout(tocWrapper); m_tocFrame = new TOC( tocWrapper, m_document ); tocWrapperLayout->add(m_tocFrame); - connect(m_tocFrame, TQT_SIGNAL(hasTOC(bool)), this, TQT_SLOT(enableTOC(bool))); + connect(m_tocFrame, TQ_SIGNAL(hasTOC(bool)), this, TQ_SLOT(enableTOC(bool))); index = m_toolBox->addItem( tocWrapper, TQIconSet(SmallIcon("format-text-direction-ltr")), i18n("Contents") ); m_toolBox->setItemToolTip(index, i18n("Contents")); enableTOC( false ); @@ -201,8 +201,8 @@ Part::Part(TQWidget *parentWidget, const char *widgetName, m_searchWidget = new SearchWidget( thumbsBox, m_document ); m_thumbnailList = new ThumbnailList( thumbsBox, m_document ); // ThumbnailController * m_tc = new ThumbnailController( thumbsBox, m_thumbnailList ); - connect( m_thumbnailList, TQT_SIGNAL( urlDropped( const KURL& ) ), TQT_SLOT( openURLFromDocument( const KURL & )) ); - connect( m_thumbnailList, TQT_SIGNAL( rightClick(const KPDFPage *, const TQPoint &) ), this, TQT_SLOT( slotShowMenu(const KPDFPage *, const TQPoint &) ) ); + connect( m_thumbnailList, TQ_SIGNAL( urlDropped( const KURL& ) ), TQ_SLOT( openURLFromDocument( const KURL & )) ); + connect( m_thumbnailList, TQ_SIGNAL( rightClick(const KPDFPage *, const TQPoint &) ), this, TQ_SLOT( slotShowMenu(const KPDFPage *, const TQPoint &) ) ); // shrink the bottom controller toolbar (too hackish..) thumbsBox->setStretchFactor( m_searchWidget, 100 ); thumbsBox->setStretchFactor( m_thumbnailList, 100 ); @@ -234,8 +234,8 @@ Part::Part(TQWidget *parentWidget, const char *widgetName, m_pageView = new PageView( m_splitter, m_document ); m_pageView->setFocus(); //usability setting m_splitter->setFocusProxy(m_pageView); - connect( m_pageView, TQT_SIGNAL( urlDropped( const KURL& ) ), TQT_SLOT( openURLFromDocument( const KURL & ))); - connect( m_pageView, TQT_SIGNAL( rightClick(const KPDFPage *, const TQPoint &) ), this, TQT_SLOT( slotShowMenu(const KPDFPage *, const TQPoint &) ) ); + connect( m_pageView, TQ_SIGNAL( urlDropped( const KURL& ) ), TQ_SLOT( openURLFromDocument( const KURL & ))); + connect( m_pageView, TQ_SIGNAL( rightClick(const KPDFPage *, const TQPoint &) ), this, TQ_SLOT( slotShowMenu(const KPDFPage *, const TQPoint &) ) ); // add document observers m_document->addObserver( this ); @@ -248,53 +248,53 @@ Part::Part(TQWidget *parentWidget, const char *widgetName, TDEActionCollection * ac = actionCollection(); // Page Traversal actions - m_gotoPage = KStdAction::gotoPage( this, TQT_SLOT( slotGoToPage() ), ac, "goto_page" ); + m_gotoPage = KStdAction::gotoPage( this, TQ_SLOT( slotGoToPage() ), ac, "goto_page" ); m_gotoPage->setShortcut( "CTRL+G" ); // dirty way to activate gotopage when pressing miniBar's button - connect( m_miniBar, TQT_SIGNAL( gotoPage() ), m_gotoPage, TQT_SLOT( activate() ) ); + connect( m_miniBar, TQ_SIGNAL( gotoPage() ), m_gotoPage, TQ_SLOT( activate() ) ); - m_prevPage = KStdAction::prior(this, TQT_SLOT(slotPreviousPage()), ac, "previous_page"); + m_prevPage = KStdAction::prior(this, TQ_SLOT(slotPreviousPage()), ac, "previous_page"); m_prevPage->setWhatsThis( i18n( "Moves to the previous page of the document" ) ); m_prevPage->setShortcut( 0 ); // dirty way to activate prev page when pressing miniBar's button - connect( m_miniBar, TQT_SIGNAL( prevPage() ), m_prevPage, TQT_SLOT( activate() ) ); + connect( m_miniBar, TQ_SIGNAL( prevPage() ), m_prevPage, TQ_SLOT( activate() ) ); - m_nextPage = KStdAction::next(this, TQT_SLOT(slotNextPage()), ac, "next_page" ); + m_nextPage = KStdAction::next(this, TQ_SLOT(slotNextPage()), ac, "next_page" ); m_nextPage->setWhatsThis( i18n( "Moves to the next page of the document" ) ); m_nextPage->setShortcut( 0 ); // dirty way to activate next page when pressing miniBar's button - connect( m_miniBar, TQT_SIGNAL( nextPage() ), m_nextPage, TQT_SLOT( activate() ) ); + connect( m_miniBar, TQ_SIGNAL( nextPage() ), m_nextPage, TQ_SLOT( activate() ) ); - m_firstPage = KStdAction::firstPage( this, TQT_SLOT( slotGotoFirst() ), ac, "first_page" ); + m_firstPage = KStdAction::firstPage( this, TQ_SLOT( slotGotoFirst() ), ac, "first_page" ); m_firstPage->setWhatsThis( i18n( "Moves to the first page of the document" ) ); - m_lastPage = KStdAction::lastPage( this, TQT_SLOT( slotGotoLast() ), ac, "last_page" ); + m_lastPage = KStdAction::lastPage( this, TQ_SLOT( slotGotoLast() ), ac, "last_page" ); m_lastPage->setWhatsThis( i18n( "Moves to the last page of the document" ) ); - m_historyBack = KStdAction::back( this, TQT_SLOT( slotHistoryBack() ), ac, "history_back" ); + m_historyBack = KStdAction::back( this, TQ_SLOT( slotHistoryBack() ), ac, "history_back" ); m_historyBack->setWhatsThis( i18n( "Go to the place you were before" ) ); - m_historyNext = KStdAction::forward( this, TQT_SLOT( slotHistoryNext() ), ac, "history_forward" ); + m_historyNext = KStdAction::forward( this, TQ_SLOT( slotHistoryNext() ), ac, "history_forward" ); m_historyNext->setWhatsThis( i18n( "Go to the place you were after" ) ); // Find and other actions - m_find = KStdAction::find( this, TQT_SLOT( slotFind() ), ac, "find" ); + m_find = KStdAction::find( this, TQ_SLOT( slotFind() ), ac, "find" ); m_find->setEnabled( false ); - m_findNext = KStdAction::findNext( this, TQT_SLOT( slotFindNext() ), ac, "find_next" ); + m_findNext = KStdAction::findNext( this, TQ_SLOT( slotFindNext() ), ac, "find_next" ); m_findNext->setEnabled( false ); - m_saveAs = KStdAction::saveAs( this, TQT_SLOT( slotSaveFileAs() ), ac, "save" ); + m_saveAs = KStdAction::saveAs( this, TQ_SLOT( slotSaveFileAs() ), ac, "save" ); m_saveAs->setEnabled( false ); - TDEAction * prefs = KStdAction::preferences( this, TQT_SLOT( slotPreferences() ), ac, "preferences" ); + TDEAction * prefs = KStdAction::preferences( this, TQ_SLOT( slotPreferences() ), ac, "preferences" ); prefs->setText( i18n( "Configure KPDF..." ) ); - m_printPreview = KStdAction::printPreview( this, TQT_SLOT( slotPrintPreview() ), ac ); + m_printPreview = KStdAction::printPreview( this, TQ_SLOT( slotPrintPreview() ), ac ); m_printPreview->setEnabled( false ); - m_showProperties = new TDEAction(i18n("&Properties"), "application-vnd.tde.info", 0, this, TQT_SLOT(slotShowProperties()), ac, "properties"); + m_showProperties = new TDEAction(i18n("&Properties"), "application-vnd.tde.info", 0, this, TQ_SLOT(slotShowProperties()), ac, "properties"); m_showProperties->setEnabled( false ); - m_showPresentation = new TDEAction( i18n("P&resentation"), "application-x-kpresenter", "Ctrl+Shift+P", this, TQT_SLOT(slotShowPresentation()), ac, "presentation"); + m_showPresentation = new TDEAction( i18n("P&resentation"), "application-x-kpresenter", "Ctrl+Shift+P", this, TQ_SLOT(slotShowPresentation()), ac, "presentation"); m_showPresentation->setEnabled( false ); // attach the actions of the children widgets too @@ -313,11 +313,11 @@ Part::Part(TQWidget *parentWidget, const char *widgetName, // by connecting to TQt4::TQSplitter's sliderMoved()) m_pageView->installEventFilter( this ); m_watcher = new KDirWatch( this ); - connect( m_watcher, TQT_SIGNAL( dirty( const TQString& ) ), this, TQT_SLOT( slotFileDirty( const TQString& ) ) ); + connect( m_watcher, TQ_SIGNAL( dirty( const TQString& ) ), this, TQ_SLOT( slotFileDirty( const TQString& ) ) ); m_dirtyHandler = new TQTimer( this ); - connect( m_dirtyHandler, TQT_SIGNAL( timeout() ),this, TQT_SLOT( slotDoFileDirty() ) ); + connect( m_dirtyHandler, TQ_SIGNAL( timeout() ),this, TQ_SLOT( slotDoFileDirty() ) ); m_saveSplitterSizeTimer = new TQTimer( this ); - connect( m_saveSplitterSizeTimer, TQT_SIGNAL( timeout() ),this, TQT_SLOT( saveSplitterSize() ) ); + connect( m_saveSplitterSizeTimer, TQ_SIGNAL( timeout() ),this, TQ_SLOT( saveSplitterSize() ) ); slotNewConfig(); @@ -343,6 +343,12 @@ Part::~Part() delete globalParams; } +bool Part::isKPDFShell() +{ + return parent() && parent()->parent() && + strcmp(parent()->parent()->name(), "KPDF::Shell") == 0; +} + void Part::notifyViewportChanged( bool /*smoothMove*/ ) { // update actions if the page is changed @@ -379,7 +385,7 @@ uint Part::currentPage() KURL Part::currentDocument() { - return m_document->currentDocument(); + return m_document->currentDocument(); } //this don't go anywhere but is required by genericfactory.h @@ -432,7 +438,7 @@ bool Part::openFile() *p << app; *p << m_file << m_temporaryLocalFile; m_pageView->showText(i18n("Converting from ps to pdf..."), 0); - connect(p, TQT_SIGNAL(processExited(TDEProcess *)), this, TQT_SLOT(psTransformEnded())); + connect(p, TQ_SIGNAL(processExited(TDEProcess *)), this, TQ_SLOT(psTransformEnded())); p -> start(); return true; } @@ -518,7 +524,7 @@ bool Part::openURL(const KURL &url) m_viewportDirty.pageNumber = -1; emit setWindowCaption(url.filename()); } - emit enablePrintAction(b); + setPrintable(b); return b; } @@ -527,13 +533,22 @@ void Part::setMimeTypes(TDEIO::Job *job) if (job) { job->addMetaData("accept", "application/pdf, */*;q=0.5"); - connect(job, TQT_SIGNAL(mimetype(TDEIO::Job*,const TQString&)), this, TQT_SLOT(readMimeType(TDEIO::Job*,const TQString&))); + connect(job, TQ_SIGNAL(mimetype(TDEIO::Job*,const TQString&)), this, TQ_SLOT(readMimeType(TDEIO::Job*,const TQString&))); } } void Part::readMimeType(TDEIO::Job *, const TQString &mime) { - m_jobMime = mime; + m_jobMime = mime; +} + +void Part::guiActivateEvent(KParts::GUIActivateEvent *e) +{ + if (e->activated()) + { + emitWindowCaption(); + emit enablePrintAction(m_printable); + } } void Part::emitWindowCaption() @@ -559,7 +574,7 @@ bool Part::closeURL() m_showProperties->setEnabled( false ); m_showPresentation->setEnabled( false ); emit setWindowCaption(""); - emit enablePrintAction(false); + setPrintable(false); m_searchStarted = false; if (!m_file.isEmpty()) m_watcher->removeFile(m_file); m_document->closeDocument(); @@ -571,7 +586,7 @@ bool Part::closeURL() bool Part::eventFilter( TQObject * watched, TQEvent * e ) { // if pageView has been resized, save splitter sizes - if ( TQT_BASE_OBJECT(watched) == TQT_BASE_OBJECT(m_pageView) && e->type() == TQEvent::Resize ) + if ( watched == m_pageView && e->type() == TQEvent::Resize ) m_saveSplitterSizeTimer->start(500, true); // only intercept events, don't block them @@ -622,7 +637,7 @@ void Part::slotDoFileDirty() m_toolBox->setCurrentIndex( m_dirtyToolboxIndex ); } if (m_wasPresentationOpen) slotShowPresentation(); - emit enablePrintAction(true); + setPrintable(true); emit setWindowCaption(url().filename()); } else @@ -634,13 +649,24 @@ void Part::slotDoFileDirty() void Part::close() { - if (parent() && strcmp(parent()->name(), "KPDF::Shell") == 0) + if (isKPDFShell()) { closeURL(); } else KMessageBox::information(widget(), i18n("This link points to a close document action that does not work when using the embedded viewer."), TQString(), "warnNoCloseIfNotInKPDF"); } +void Part::setPrintable(bool printable) +{ + m_printable = printable; + emit enablePrintAction(printable); +} + +bool Part::printable() +{ + return m_printable; +} + void Part::updateViewActions() { bool opened = m_document->pages() > 0; @@ -693,7 +719,7 @@ void Part::saveSplitterSize() { KpdfSettings::setSplitterSizes( m_splitter->sizes() ); KpdfSettings::writeConfig(); -} +} //BEGIN go to page dialog class KPDFGotoPageDialog : public KDialogBase @@ -830,8 +856,14 @@ void Part::slotPreferences() // we didn't find an instance of this dialog, so lets create it PreferencesDialog * dialog = new PreferencesDialog( m_pageView, KpdfSettings::self() ); // keep us informed when the user changes settings - connect( dialog, TQT_SIGNAL( settingsChanged() ), this, TQT_SLOT( slotNewConfig() ) ); + connect( dialog, TQ_SIGNAL( settingsChanged() ), this, TQ_SLOT( slotNewConfig() ) ); + if (isKPDFShell()) + { + connect(dialog, TQ_SIGNAL( settingsChanged() ), + parent()->parent(), TQ_SLOT( reconfigure() ) ); + } + dialog->setShellMode(isKPDFShell()); dialog->show(); } @@ -841,7 +873,7 @@ void Part::slotNewConfig() // changed before applying changes. // Watch File - bool watchFile = KpdfSettings::watchFile(); + bool watchFile = KpdfSettings::watchFile(); if ( watchFile && m_watcher->isStopped() ) m_watcher->startScan(); if ( !watchFile && !m_watcher->isStopped() ) @@ -913,7 +945,7 @@ void Part::slotShowMenu(const KPDFPage *page, const TQPoint &point) TDEActionCollection *ac; TDEActionPtrList::const_iterator it, end, begin; TDEActionPtrList actions; - + if (factory()) { TQPtrList<KXMLGUIClient> clients(factory()->clients()); @@ -934,8 +966,8 @@ void Part::slotShowMenu(const KPDFPage *page, const TQPoint &point) } m_actionsSearched = true; } - - + + TDEPopupMenu *popup = new TDEPopupMenu( widget(), "rmb popup" ); if (page) { @@ -957,16 +989,16 @@ void Part::slotShowMenu(const KPDFPage *page, const TQPoint &point) m_popup->insertItem( SmallIcon("document-save"), i18n("Save Image..."), 4 ); m_popup->setItemEnabled( 4, false ); }*/ - + if ((m_showMenuBarAction && !m_showMenuBarAction->isChecked()) || (m_showFullScreenAction && m_showFullScreenAction->isChecked())) { popup->insertTitle( i18n( "Tools" ) ); if (m_showMenuBarAction && !m_showMenuBarAction->isChecked()) m_showMenuBarAction->plug(popup); if (m_showFullScreenAction && m_showFullScreenAction->isChecked()) m_showFullScreenAction->plug(popup); reallyShow = true; - + } - + if (reallyShow) { switch ( popup->exec(point) ) @@ -1061,7 +1093,7 @@ void Part::doPrint(KPrinter &printer) if (!m_document->print(printer)) { - KMessageBox::error(widget(), i18n("Could not print the document. Please report to bugs.trinitydesktop.org")); + KMessageBox::error(widget(), i18n("Could not print the document. Please report to bugs.trinitydesktop.org")); } } diff --git a/kpdf/part.h b/kpdf/part.h index 50be072f..067f9316 100644 --- a/kpdf/part.h +++ b/kpdf/part.h @@ -17,6 +17,7 @@ #define _KPDF_PART_H_ #include <tdeparts/browserextension.h> +#include <tdeparts/event.h> #include <tdeparts/part.h> #include <tqguardedptr.h> #include "core/document.h" @@ -58,8 +59,8 @@ class BrowserExtension; */ class Part : public KParts::ReadOnlyPart, public DocumentObserver, virtual public kpdf_dcop { -Q_OBJECT - +TQ_OBJECT + public: // Default constructor @@ -81,6 +82,9 @@ public: uint currentPage(); KURL currentDocument(); + bool isKPDFShell(); + bool printable(); + signals: void enablePrintAction(bool enable); @@ -89,8 +93,9 @@ protected: bool openFile(); bool openURL(const KURL &url); bool closeURL(); - // filter that watches for splitter size changes - bool eventFilter( TQObject * watched, TQEvent * e ); + void guiActivateEvent(KParts::GUIActivateEvent *e); + // filter that watches for splitter size changes + bool eventFilter( TQObject * watched, TQEvent * e ); protected slots: void openURLFromDocument(const KURL &url); @@ -123,6 +128,7 @@ protected slots: void saveSplitterSize(); void setMimeTypes(TDEIO::Job *job); void readMimeType(TDEIO::Job *job, const TQString &mime); + void setPrintable(bool printable); void emitWindowCaption(); public slots: @@ -164,10 +170,10 @@ private: DocumentViewport m_viewportDirty; bool m_wasPresentationOpen; int m_dirtyToolboxIndex; - + // Remember the search history TQStringList m_searchHistory; - + // mimetype got from the job TQString m_jobMime; @@ -190,14 +196,15 @@ private: TDEToggleAction* m_showFullScreenAction; bool m_actionsSearched; bool m_searchStarted; + bool m_printable; BrowserExtension *m_bExtension; }; class BrowserExtension : public KParts::BrowserExtension { -Q_OBJECT - +TQ_OBJECT + public: BrowserExtension(Part*); @@ -210,5 +217,3 @@ public slots: } #endif - -// vim:ts=2:sw=2:tw=78:et diff --git a/kpdf/part.rc b/kpdf/part.rc index 194e94ac..d69959d4 100644 --- a/kpdf/part.rc +++ b/kpdf/part.rc @@ -24,6 +24,7 @@ <Separator/> <Action name="view_continuous"/> <Action name="view_twopages"/> + <Action name="view_coverpage"/> </Menu> <Menu name="go"><text>&Go</text> <Action name="previous_page"/> diff --git a/kpdf/shell/CMakeLists.txt b/kpdf/shell/CMakeLists.txt index 30691f02..99ab138c 100644 --- a/kpdf/shell/CMakeLists.txt +++ b/kpdf/shell/CMakeLists.txt @@ -34,7 +34,7 @@ install( FILES shell.rc DESTINATION ${DATA_INSTALL_DIR}/kpdf ) ##### kpdf (executable) ######################### tde_add_executable( kpdf AUTOMOC - SOURCES main.cpp shell.cpp + SOURCES main.cpp shell.cpp dcop.skel LINK tdeparts-shared DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/kpdf/shell/dcop.h b/kpdf/shell/dcop.h new file mode 100644 index 00000000..8b352c97 --- /dev/null +++ b/kpdf/shell/dcop.h @@ -0,0 +1,27 @@ +/*************************************************************************** + * Copyright (C) 2025 by Philippe Mavridis <mavridisf@gmail.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 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#ifndef KPDF_SHELL_IFACE_H +#define KPDF_SHELL_IFACE_H + +#include <dcopobject.h> +#include <kurl.h> + +class KPDFShellDCOPIface : virtual public DCOPObject +{ + K_DCOP + + k_dcop: + virtual void openURL(const KURL & url) = 0; + virtual void addTab() = 0; + virtual void removeTab() = 0; + virtual const KURL currentTabURL() = 0; +}; + +#endif // KPDF_SHELL_IFACE_H
\ No newline at end of file diff --git a/kpdf/shell/main.cpp b/kpdf/shell/main.cpp index 1ed61999..aa44bca6 100644 --- a/kpdf/shell/main.cpp +++ b/kpdf/shell/main.cpp @@ -16,7 +16,11 @@ #include <tdeapplication.h> #include <tdeaboutdata.h> #include <tdecmdlineargs.h> +#include <tdeconfig.h> #include <tdelocale.h> +#include <dcopclient.h> +#include <dcopref.h> +#include <kdebug.h> static const char description[] = I18N_NOOP("KPDF, a TDE PDF viewer based on XPDF"); @@ -25,6 +29,7 @@ static const char version[] = "0.5.10"; static TDECmdLineOptions options[] = { + { "new-instance", I18N_NOOP("Don't reuse existing instance"), 0 }, { "+[URL]", I18N_NOOP("Document to open"), 0 }, TDECmdLineLastOption }; @@ -60,23 +65,63 @@ int main(int argc, char** argv) // no session.. just start up normally TDECmdLineArgs* args = TDECmdLineArgs::parsedArgs(); - if (args->count() == 0) + DCOPClient *client = tdeApp->dcopClient(); + if (!client->attach()) { - KPDF::Shell* widget = new KPDF::Shell; - widget->show(); + kdError() << "KPDF::Shell cannot attach DCOP client" << endl; + return 2; + } + + bool reuseKPDF; + + if (args->isSet("new-instance")) + { + reuseKPDF = false; } else { - for (int i = 0; i < args->count(); ++i) + TDEConfig cfg("kpdfpartrc"); + cfg.setGroup("General"); + reuseKPDF = cfg.readBoolEntry("OpenInExistingKPDF", false); + } + + TQCString kpdfInstance = ""; + TQCString regName = client->registerAs(tdeApp->name(), true); + + if (reuseKPDF && args->count()) + { + QCStringList allClients = client->registeredApplications(); + for (int c = 0; c < allClients.count(); ++c) + { + if (allClients[c].left(5) == "kpdf-" && allClients[c] != regName) { - KPDF::Shell* widget = new KPDF::Shell(args->url(i)); - widget->show(); + kpdfInstance = allClients[c]; } + } + } + + if (kpdfInstance.isEmpty()) + { + KPDF::Shell* widget = new KPDF::Shell; + for (int i = 0; i < args->count(); ++i) + { + widget->openURL(args->url(i)); + } + widget->show(); + } + else + { + for (int i = 0; i < args->count(); ++i) + { + DCOPRef ref(kpdfInstance, "KPDFShellDCOPIface"); + ref.call("openURL", args->url(i)); + } + DCOPRef ref(kpdfInstance, "KPDF::Shell"); + ref.call("raise"); + return 1; } args->clear(); } return app.exec(); } - -// vim:ts=2:sw=2:tw=78:et diff --git a/kpdf/shell/shell.cpp b/kpdf/shell/shell.cpp index 209f8760..79d1d83d 100644 --- a/kpdf/shell/shell.cpp +++ b/kpdf/shell/shell.cpp @@ -20,18 +20,24 @@ // qt/kde includes #include <tqcursor.h> #include <tqtimer.h> +#include <tqtoolbutton.h> +#include <ktabwidget.h> +#include <tqptrlist.h> #include <tdeaction.h> +#include <tdeconfig.h> #include <tdeapplication.h> #include <kedittoolbar.h> #include <tdefiledialog.h> #include <klibloader.h> #include <tdemessagebox.h> +#include <kiconloader.h> #include <kstdaction.h> #include <kurl.h> #include <kdebug.h> #include <tdelocale.h> #include <tdemenubar.h> #include <tdeparts/componentfactory.h> +#include <tdeparts/partmanager.h> #include <tdeio/netaccess.h> #include <tdemainwindowiface.h> @@ -41,13 +47,27 @@ using namespace KPDF; Shell::Shell() - : KParts::MainWindow(0, "KPDF::Shell"), m_menuBarWasShown(true), m_toolBarWasShown(true) + : DCOPObject("KPDFShellDCOPIface"), KParts::MainWindow(0, "KPDF::Shell"), + m_menuBarWasShown(true), + m_toolBarWasShown(true), + m_showToolBarAction(nullptr), + m_tabs(nullptr), + m_tabsContextMenu(nullptr), + m_manager(nullptr), + m_workingTab(-1) { init(); } Shell::Shell(const KURL &url) - : KParts::MainWindow(0, "KPDF::Shell"), m_menuBarWasShown(true), m_toolBarWasShown(true) + : DCOPObject("KPDFShellDCOPIface"), KParts::MainWindow(0, "KPDF::Shell"), + m_menuBarWasShown(true), + m_toolBarWasShown(true), + m_showToolBarAction(nullptr), + m_tabs(nullptr), + m_tabsContextMenu(nullptr), + m_manager(nullptr), + m_workingTab(-1) { m_openUrl = url; init(); @@ -55,42 +75,39 @@ Shell::Shell(const KURL &url) void Shell::init() { - // set the shell's ui resource file - setXMLFile("shell.rc"); - // this routine will find and load our Part. it finds the Part by // name which is a bad idea usually.. but it's alright in this // case since our Part is made for this Shell - KParts::Factory *factory = (KParts::Factory *) KLibLoader::self()->factory("libkpdfpart"); - if (factory) - { - // now that the Part is loaded, we cast it to a Part to get - // our hands on it - m_part = (KParts::ReadOnlyPart*) factory->createPart(this, "kpdf_part", TQT_TQOBJECT(this), 0, "KParts::ReadOnlyPart"); - if (m_part) - { - // then, setup our actions - setupActions(); - // tell the KParts::MainWindow that this is indeed the main widget - setCentralWidget(m_part->widget()); - // and integrate the part's GUI with the shell's - setupGUI(Keys | Save); - createGUI(m_part); - m_showToolBarAction = static_cast<TDEToggleAction*>(toolBarMenuAction()); - } - } - else + m_factory = (KParts::Factory *) KLibLoader::self()->factory("libkpdfpart"); + if (!m_factory) { // if we couldn't find our Part, we exit since the Shell by // itself can't do anything useful KMessageBox::error(this, i18n("Unable to find kpdf part.")); - m_part = 0; + TQTimer::singleShot(0, tdeApp, TQ_SLOT(quit())); return; } - connect( this, TQT_SIGNAL( restoreDocument(TDEConfig*) ),m_part, TQT_SLOT( restoreDocument(TDEConfig*))); - connect( this, TQT_SIGNAL( saveDocumentRestoreInfo(TDEConfig*) ), m_part, TQT_SLOT( saveDocumentRestoreInfo(TDEConfig*))); - connect( m_part, TQT_SIGNAL( enablePrintAction(bool) ), m_printAction, TQT_SLOT( setEnabled(bool))); - + + m_tabs = new KTabWidget(this); + connect(m_tabs, TQ_SIGNAL(contextMenu(const TQPoint &)), + TQ_SLOT(slotTabContextMenu(const TQPoint &))); + connect(m_tabs, TQ_SIGNAL(contextMenu(TQWidget*, const TQPoint &)), + TQ_SLOT(slotTabContextMenu(TQWidget*, const TQPoint &))); + connect(m_tabs, TQ_SIGNAL(closeRequest(TQWidget*)), + TQ_SLOT(slotCloseTabRequest(TQWidget*))); + + m_manager = new KParts::PartManager(this, "kpdf part manager"); + connect(m_manager, TQ_SIGNAL(activePartChanged(KParts::Part*)), + this, TQ_SLOT(createGUI(KParts::Part*))); + connect(m_manager, TQ_SIGNAL(activePartChanged(KParts::Part*)), + this, TQ_SLOT(slotChangeTab(KParts::Part*))); + + setCentralWidget(m_tabs); + setXMLFile("shell.rc"); + + setupActions(); + setupGUI(Keys | Save); + readSettings(); if (!TDEGlobal::config()->hasGroup("MainWindow")) { @@ -98,67 +115,144 @@ void Shell::init() kmwi.maximize(); } setAutoSaveSettings(); - - if (m_openUrl.isValid()) TQTimer::singleShot(0, this, TQT_SLOT(delayedOpen())); + + addTab(); + if (m_openUrl.isValid()) + { + TQTimer::singleShot(0, this, TQ_SLOT(delayedOpen())); + } + + reconfigure(); } void Shell::delayedOpen() { - openURL(m_openUrl); + openURL(m_openUrl); } Shell::~Shell() { - if(m_part) writeSettings(); + if (m_tabs) + { + writeSettings(); + } +} + +void Shell::reconfigure() +{ + TDEConfig cfg("kpdfpartrc"); + cfg.setGroup("General"); + m_tabs->setHoverCloseButton(cfg.readBoolEntry("TabsHoverCloseButton", false)); } void Shell::openURL( const KURL & url ) { - if ( m_part ) + // if the current part has no url, reuse part + KParts::ReadOnlyPart *part = static_cast<KParts::ReadOnlyPart*>(m_manager->activePart()); + if (!part || !part->url().isEmpty()) + { + part = createTab(); + } + + if (part) + { + if (url.isValid()) { - bool openOk = m_part->openURL( url ); - if ( openOk ) - m_recent->addURL( url ); - else - m_recent->removeURL( url ); + m_tabs->changeTab(part->widget(), url.filename()); + m_tabs->setTabToolTip(part->widget(), url.prettyURL()); + bool openOk = part->openURL(url); + if (openOk) + { + m_recent->addURL(url); + } + else + { + m_recent->removeURL(url); + } } + } } +const KURL Shell::currentTabURL() +{ + KParts::ReadOnlyPart *part = static_cast<KParts::ReadOnlyPart*>(m_manager->activePart()); + return part->url(); +} void Shell::readSettings() { - m_recent->loadEntries( TDEGlobal::config() ); - m_recent->setEnabled( true ); // force enabling - m_recent->setToolTip( i18n("Click to open a file\nClick and hold to open a recent file") ); + m_recent->loadEntries( TDEGlobal::config() ); + m_recent->setEnabled( true ); // force enabling + m_recent->setToolTip( i18n("Click to open a file\nClick and hold to open a recent file") ); - TDEGlobal::config()->setDesktopGroup(); - bool fullScreen = TDEGlobal::config()->readBoolEntry( "FullScreen", false ); - setFullScreen( fullScreen ); + TDEGlobal::config()->setDesktopGroup(); + bool fullScreen = TDEGlobal::config()->readBoolEntry( "FullScreen", false ); + setFullScreen( fullScreen ); } void Shell::writeSettings() { - m_recent->saveEntries( TDEGlobal::config() ); - TDEGlobal::config()->setDesktopGroup(); - TDEGlobal::config()->writeEntry( "FullScreen", m_fullScreenAction->isChecked()); - TDEGlobal::config()->sync(); + m_recent->saveEntries( TDEGlobal::config() ); + TDEGlobal::config()->setDesktopGroup(); + TDEGlobal::config()->writeEntry( "FullScreen", m_fullScreenAction->isChecked()); + TDEGlobal::config()->sync(); } void Shell::setupActions() { - TDEAction * openAction = KStdAction::open(TQT_TQOBJECT(this), TQT_SLOT(fileOpen()), actionCollection()); - m_recent = KStdAction::openRecent( TQT_TQOBJECT(this), TQT_SLOT( openURL( const KURL& ) ), actionCollection() ); - connect( m_recent, TQT_SIGNAL( activated() ), openAction, TQT_SLOT( activate() ) ); - m_recent->setWhatsThis( i18n( "<b>Click</b> to open a file or <b>Click and hold</b> to select a recent file" ) ); - m_printAction = KStdAction::print( m_part, TQT_SLOT( slotPrint() ), actionCollection() ); - m_printAction->setEnabled( false ); - KStdAction::quit(TQT_TQOBJECT(this), TQT_SLOT(slotQuit()), actionCollection()); + TDEAction *openAction = KStdAction::open(this, TQ_SLOT(fileOpen()), actionCollection()); + m_recent = KStdAction::openRecent( this, TQ_SLOT(openURL(const KURL&)), actionCollection()); + connect(m_recent, TQ_SIGNAL(activated()), openAction, TQ_SLOT( activate())); + m_recent->setWhatsThis(i18n("<b>Click</b> to open a file or <b>Click and hold</b> to select a recent file")); + m_printAction = KStdAction::print(this, TQ_SLOT(slotPrint()), actionCollection()); + m_printAction->setEnabled(false); + KStdAction::quit(this, TQ_SLOT(slotQuit()), actionCollection()); setStandardToolBarMenuEnabled(true); - m_showMenuBarAction = KStdAction::showMenubar( TQT_TQOBJECT(this), TQT_SLOT( slotShowMenubar() ), actionCollection()); - KStdAction::configureToolbars(TQT_TQOBJECT(this), TQT_SLOT(optionsConfigureToolbars()), actionCollection()); - m_fullScreenAction = KStdAction::fullScreen( TQT_TQOBJECT(this), TQT_SLOT( slotUpdateFullScreen() ), actionCollection(), this ); + m_showMenuBarAction = KStdAction::showMenubar(this, TQ_SLOT(slotShowMenubar()), actionCollection()); + KStdAction::configureToolbars(this, TQ_SLOT(optionsConfigureToolbars()), actionCollection()); + m_fullScreenAction = KStdAction::fullScreen(this, TQ_SLOT(slotUpdateFullScreen()), actionCollection(), this); + + TDEAction *addTab = new TDEAction(i18n("&New Tab"), SmallIcon("tab_new"), "Ctrl+Shift+N;Ctrl+T", + this, TQ_SLOT(addTab()), actionCollection(), + "newtab"); + + m_addTabButton = new TQToolButton(m_tabs); + m_addTabButton->setIconSet(SmallIconSet("tab_new")); + m_tabs->setCornerWidget(m_addTabButton, TQt::TopLeft); + connect(m_addTabButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(addTab())); + m_addTabButton->show(); + + TDEAction *removeTab = new TDEAction(i18n("&Close Tab"), SmallIcon("tab_remove"), "Ctrl+W", + this, TQ_SLOT(removeTab()), actionCollection(), + "removecurrenttab"); + + m_removeTabButton = new TQToolButton(m_tabs); + m_removeTabButton->setIconSet(SmallIconSet("tab_remove")); + m_tabs->setCornerWidget(m_removeTabButton, TQt::TopRight); + connect(m_removeTabButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(removeTab())); + m_removeTabButton->show(); + + TDEAction *duplicateTab = new TDEAction(i18n("&Duplicate Tab"), SmallIcon("tab_duplicate"), "Ctrl+Shift+D", + this, TQ_SLOT(slotDuplicateTab()), actionCollection(), + "duplicatecurrenttab"); + + TDEAction *breakOffTab = new TDEAction(i18n("D&etach Tab"), SmallIcon("tab_breakoff"), TQString::null, + this, TQ_SLOT(slotBreakOffTab()), actionCollection(), + "breakoffcurrenttab"); + + TDEAction *moveTabLeft = new TDEAction(i18n("Move Tab &Left"), SmallIcon("tab_move_left"), "Ctrl+Shift+Left", + this, TQ_SLOT(slotMoveTabLeft()), actionCollection(), + "tab_move_left"); + + TDEAction *moveTabRight = new TDEAction(i18n("Move Tab &Right"), SmallIcon("tab_move_right"), "Ctrl+Shift+Right", + this, TQ_SLOT(slotMoveTabRight()), actionCollection(), + "tab_move_right"); + + TDEAction *removeOtherTabs = new TDEAction(i18n("Close &Other Tabs"), SmallIcon("tab_remove_other"), "Ctrl+Alt+W", + this, TQ_SLOT(slotRemoveOtherTabs()), actionCollection(), + "removeothertabs"); } void Shell::saveProperties(TDEConfig* config) @@ -166,7 +260,7 @@ void Shell::saveProperties(TDEConfig* config) // the 'config' object points to the session managed // config file. anything you write here will be available // later when this app is restored - emit saveDocumentRestoreInfo(config); + emit saveDocumentRestoreInfo(config); } void Shell::readProperties(TDEConfig* config) @@ -175,14 +269,13 @@ void Shell::readProperties(TDEConfig* config) // config file. this function is automatically called whenever // the app is being restored. read in here whatever you wrote // in 'saveProperties' - if(m_part) + if (m_manager->parts()->count() > 0) { emit restoreDocument(config); } } - void -Shell::fileOpen() +void Shell::fileOpen() { // this slot is called whenever the File->Open menu is selected, // the Open shortcut is pressed (usually CTRL+O) or the Open toolbar @@ -190,26 +283,40 @@ Shell::fileOpen() KURL url = KFileDialog::getOpenURL( TQString(), "application/pdf application/postscript" );//getOpenFileName(); if (!url.isEmpty()) + { openURL(url); + } } - void -Shell::optionsConfigureToolbars() +void Shell::optionsConfigureToolbars() { KEditToolbar dlg(factory()); - connect(&dlg, TQT_SIGNAL(newToolbarConfig()), this, TQT_SLOT(applyNewToolbarConfig())); + connect(&dlg, TQ_SIGNAL(newToolbarConfig()), this, TQ_SLOT(applyNewToolbarConfig())); dlg.exec(); } - void -Shell::applyNewToolbarConfig() +void Shell::applyNewToolbarConfig() { applyMainWindowSettings(TDEGlobal::config(), "MainWindow"); } +void Shell::slotSetPrintActionEnabled(bool enabled) +{ + const KParts::Part *part = static_cast<const KParts::Part*>(TQObject::sender()); + if (part == m_manager->activePart()) + { + m_printAction->setEnabled(enabled); + } +} + +void Shell::slotPrint() +{ + TQTimer::singleShot(0, m_manager->activePart(), TQ_SLOT(slotPrint())); +} + void Shell::slotQuit() { - kapp->closeAllWindows(); + tdeApp->closeAllWindows(); } // only called when starting the program @@ -223,40 +330,356 @@ void Shell::setFullScreen( bool useFullScreen ) void Shell::slotUpdateFullScreen() { - if(m_fullScreenAction->isChecked()) + if(m_fullScreenAction->isChecked()) + { + m_menuBarWasShown = m_showMenuBarAction->isChecked(); + m_showMenuBarAction->setChecked(false); + menuBar()->hide(); + + m_toolBarWasShown = m_showToolBarAction->isChecked(); + m_showToolBarAction->setChecked(false); + toolBar()->hide(); + + showFullScreen(); + } + else + { + if (m_menuBarWasShown) { - m_menuBarWasShown = m_showMenuBarAction->isChecked(); - m_showMenuBarAction->setChecked(false); - menuBar()->hide(); - - m_toolBarWasShown = m_showToolBarAction->isChecked(); - m_showToolBarAction->setChecked(false); - toolBar()->hide(); - - showFullScreen(); + m_showMenuBarAction->setChecked(true); + menuBar()->show(); } - else + if (m_toolBarWasShown) { - if (m_menuBarWasShown) - { - m_showMenuBarAction->setChecked(true); - menuBar()->show(); - } - if (m_toolBarWasShown) - { - m_showToolBarAction->setChecked(true); - toolBar()->show(); - } - showNormal(); + m_showToolBarAction->setChecked(true); + toolBar()->show(); } + showNormal(); + } } void Shell::slotShowMenubar() { - if ( m_showMenuBarAction->isChecked() ) - menuBar()->show(); - else - menuBar()->hide(); + if ( m_showMenuBarAction->isChecked() ) + menuBar()->show(); + else + menuBar()->hide(); +} + +KParts::ReadOnlyPart* Shell::createTab() +{ + KParts::ReadOnlyPart *part = + (KParts::ReadOnlyPart*)m_factory->createPart(m_tabs, "kpdf_part", + m_tabs, nullptr, + "KParts::ReadOnlyPart"); + m_tabs->addTab(part->widget(), SmallIcon("application-pdf"), i18n("No file")); + + connect(this, TQ_SIGNAL(restoreDocument(TDEConfig*)), + part, TQ_SLOT(restoreDocument(TDEConfig*))); + connect(this, TQ_SIGNAL(saveDocumentRestoreInfo(TDEConfig*)), + part, TQ_SLOT(saveDocumentRestoreInfo(TDEConfig*))); + connect(part, TQ_SIGNAL(enablePrintAction(bool)), + this, TQ_SLOT(slotSetPrintActionEnabled(bool))); + connect(part, TQ_SIGNAL(setWindowCaption(const TQString&)), + this, TQ_SLOT(slotSetTabCaption(const TQString&))); + + part->widget()->show(); + m_manager->addPart(part, true); + if (!m_showToolBarAction) + { + m_showToolBarAction = static_cast<TDEToggleAction*>(toolBarMenuAction()); + } + return part; +} + +void Shell::addTab() +{ + createTab(); +} + +void Shell::removeTab() +{ + if (m_workingTab == -1) + { + m_workingTab = m_tabs->currentPageIndex(); + } + + KParts::ReadOnlyPart *part = findPartForTab(m_workingTab); + if (part) + { + m_tabs->removePage(part->widget()); + part->deleteLater(); + } + + m_workingTab = -1; +} + +void Shell::slotChangeTab(KParts::Part *part) +{ + if (!part) + { + part = createTab(); + } + + m_tabs->showPage(part->widget()); +} + +void Shell::initTabContextMenu() +{ + if (m_tabsContextMenu) return; + + m_tabsContextMenu = new TQPopupMenu(this); + m_tabsContextMenu->insertItem(SmallIcon("tab_new"), + i18n("&New Tab"), + this, TQ_SLOT(addTab()), + action("newtab")->shortcut()); + m_tabsContextMenu->insertItem(SmallIconSet("tab_duplicate"), + i18n("&Duplicate Tab"), + this, TQ_SLOT(slotDuplicateTab()), + action("duplicatecurrenttab")->shortcut(), + TabContextMenuItem::TabDuplicate); + m_tabsContextMenu->insertItem(SmallIconSet("tab_breakoff"), + i18n("D&etach Tab"), + this, TQ_SLOT(slotBreakOffTab()), + action("breakoffcurrenttab")->shortcut(), + TabContextMenuItem::TabBreakOff); + m_tabsContextMenu->insertSeparator(); + m_tabsContextMenu->insertItem(SmallIconSet("1leftarrow"), + i18n("Move Tab &Left"), + this, TQ_SLOT(slotMoveTabLeft()), + action("tab_move_left")->shortcut(), + TabContextMenuItem::TabMoveLeft); + m_tabsContextMenu->insertItem(SmallIconSet("1rightarrow"), + i18n("Move Tab &Right"), + this, TQ_SLOT(slotMoveTabRight()), + action("tab_move_right")->shortcut(), + TabContextMenuItem::TabMoveRight); + m_tabsContextMenu->insertSeparator(); + m_tabsContextMenu->insertItem(SmallIconSet("tab_remove"), + i18n("&Close Tab"), + this, TQ_SLOT(removeTab()), + action("removecurrenttab")->shortcut(), + TabContextMenuItem::TabRemove); + m_tabsContextMenu->insertItem(SmallIconSet("tab_remove_other"), + i18n("Close &Other Tabs"), + this, TQ_SLOT(slotRemoveOtherTabs()), + action("removeothertabs")->shortcut(), + TabContextMenuItem::TabRemoveOther); +} + +void Shell::slotTabContextMenu(const TQPoint &pos) +{ + if (!m_tabsContextMenu) + { + initTabContextMenu(); + } + + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabDuplicate, false); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabBreakOff, false); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabMoveLeft, false); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabMoveRight, false); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabRemove, false); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabRemoveOther, false); + + + m_tabsContextMenu->popup(pos); +} +void Shell::slotTabContextMenu(TQWidget *w, const TQPoint &pos) +{ + if (!m_tabsContextMenu) + { + initTabContextMenu(); + } + + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabDuplicate, true); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabBreakOff, m_tabs->count() > 1); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabRemove, true); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabRemoveOther, true); + + int idx = m_tabs->indexOf(w); + if (idx > -1) + { + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabMoveLeft, idx > 0); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabMoveRight, idx + 1 < m_tabs->count()); + } + else + { + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabMoveLeft, false); + m_tabsContextMenu->setItemEnabled(TabContextMenuItem::TabMoveRight, false); + } + + m_workingTab = m_tabs->indexOf(w); + m_tabsContextMenu->popup(pos); +} + +KParts::ReadOnlyPart* Shell::findPartForTab(int tabIndex) +{ + if (tabIndex == -1) return nullptr; + + TQWidget *page = m_tabs->page(tabIndex); + if (!page) return nullptr; + + TQPtrList<KParts::Part> *parts = const_cast<TQPtrList<KParts::Part>*>(m_manager->parts()); + KParts::Part *part; + for (part = parts->first(); part; part = parts->next()) + { + if (part->widget() == page) + { + return static_cast<KParts::ReadOnlyPart*>(part); + } + } + return nullptr; +} + +void Shell::moveTabForward(int tabIndex) +{ + if (tabIndex < m_tabs->count() - 1) + { + m_tabs->moveTab(tabIndex, tabIndex + 1); + } +} + +void Shell::moveTabBackward(int tabIndex) +{ + if (tabIndex > 0) + { + m_tabs->moveTab(tabIndex, tabIndex - 1); + } +} + +void Shell::slotDuplicateTab() +{ + if (m_workingTab == -1) + { + m_workingTab = m_tabs->currentPageIndex(); + } + + KParts::ReadOnlyPart *currentTab = findPartForTab(m_workingTab); + if (currentTab) + { + openURL(currentTab->url()); + } + + m_workingTab = -1; +} + +void Shell::slotBreakOffTab() +{ + if (m_workingTab == -1) + { + m_workingTab = m_tabs->currentPageIndex(); + } + + KParts::ReadOnlyPart *currentTab = findPartForTab(m_workingTab); + if (currentTab) + { + TQString e; + TQStringList args; + args << "--new-instance"; + if (currentTab->url().isValid()) + { + args << currentTab->url().url(); + } + int s = tdeApp->tdeinitExec("kpdf", args, &e, nullptr, "0"); + if (s != 0) + { + kdWarning() << "Unable to start new KPDF instance: " << e << endl; + } + } + removeTab(); + m_workingTab = -1; +} + +void Shell::slotMoveTabLeft() +{ + if (m_workingTab == -1) + { + m_workingTab = m_tabs->currentPageIndex(); + } + + if (TQApplication::reverseLayout()) + { + moveTabForward(m_workingTab); + } + else + { + moveTabBackward(m_workingTab); + } + + m_workingTab = -1; +} + +void Shell::slotMoveTabRight() +{ + if (m_workingTab == -1) + { + m_workingTab = m_tabs->currentPageIndex(); + } + + if (TQApplication::reverseLayout()) + { + moveTabBackward(m_workingTab); + } + else + { + moveTabForward(m_workingTab); + } + + m_workingTab = -1; +} + +void Shell::slotRemoveOtherTabs() +{ + if (m_workingTab == -1) + { + m_workingTab = m_tabs->currentPageIndex(); + } + + if (KMessageBox::warningContinueCancel(this, + i18n("Do you really want to close all other tabs?"), + i18n("Close Other Tabs Confirmation"), + KGuiItem(i18n("Close &Other Tabs"), "tab_remove_other"), + "CloseOtherTabConfirm") != KMessageBox::Continue) + { + m_workingTab = -1; + return; + } + + KParts::ReadOnlyPart *currentPart = findPartForTab(m_workingTab); + if (!currentPart) return; + + TQPtrList<KParts::Part> *parts = const_cast<TQPtrList<KParts::Part>*>(m_manager->parts()); + KParts::Part *part; + for (part = parts->first(); part; part = parts->next()) + { + if (part == currentPart) continue; + m_tabs->removePage(part->widget()); + part->deleteLater(); + } +} + +void Shell::slotSetTabCaption(const TQString &caption) +{ + KParts::ReadOnlyPart *part = const_cast<KParts::ReadOnlyPart*> + (static_cast<const KParts::ReadOnlyPart*>(TQObject::sender())); + if (!part) return; + + m_tabs->changeTab(part->widget(), caption.isEmpty() ? i18n("No file") : caption); + if (caption.isEmpty()) + { + m_tabs->removeTabToolTip(part->widget()); + } + else + { + m_tabs->setTabToolTip(part->widget(), part->url().pathOrURL()); + } +} + +void Shell::slotCloseTabRequest(TQWidget *w) +{ + m_workingTab = m_tabs->indexOf(w); + if (m_workingTab == -1) return; + removeTab(); } #include "shell.moc" diff --git a/kpdf/shell/shell.h b/kpdf/shell/shell.h index 560be8fd..d1ace108 100644 --- a/kpdf/shell/shell.h +++ b/kpdf/shell/shell.h @@ -21,6 +21,17 @@ #endif #include <tdeparts/mainwindow.h> +#include "dcop.h" + +class TQToolButton; +class TQPopupMenu; +class KTabWidget; + +namespace KParts +{ + class Factory; + class PartManager; +} namespace KPDF { @@ -33,10 +44,9 @@ namespace KPDF * @author Wilco Greven <greven@kde.org> * @version 0.1 */ - class Shell : public KParts::MainWindow + class Shell : public KParts::MainWindow, virtual public KPDFShellDCOPIface { - Q_OBJECT - + TQ_OBJECT public: /** @@ -54,6 +64,18 @@ namespace KPDF */ virtual ~Shell(); + enum TabContextMenuItem + { + TabDuplicate = 100, + TabBreakOff, + TabMoveLeft, + TabMoveRight, + TabRemove, + TabRemoveOther + }; + + const KURL currentTabURL(); + protected: /** * This method is called when it is time for the app to save its @@ -72,6 +94,13 @@ namespace KPDF void setFullScreen( bool ); public slots: + void reconfigure(); + + void openURL(const KURL & url); + void addTab(); + void removeTab(); + + void slotPrint(); void slotQuit(); private slots: @@ -81,33 +110,50 @@ namespace KPDF void applyNewToolbarConfig(); void slotUpdateFullScreen(); void slotShowMenubar(); - - void openURL( const KURL & url ); void delayedOpen(); + void slotCloseTabRequest(TQWidget *w); + void slotChangeTab(KParts::Part *part); + void slotTabContextMenu(const TQPoint &pos); + void slotTabContextMenu(TQWidget *w, const TQPoint &pos); + + void slotDuplicateTab(); + void slotBreakOffTab(); + void slotMoveTabLeft(); + void slotMoveTabRight(); + void slotRemoveOtherTabs(); + void slotSetTabCaption(const TQString &caption); + void slotSetPrintActionEnabled(bool enabled); + signals: - void restoreDocument(TDEConfig* config); - void saveDocumentRestoreInfo(TDEConfig* config); - - + void restoreDocument(TDEConfig* config); + void saveDocumentRestoreInfo(TDEConfig* config); + + private: void setupAccel(); void setupActions(); void init(); + void initTabContextMenu(); + KParts::ReadOnlyPart *createTab(); + KParts::ReadOnlyPart *findPartForTab(int tabIndex); + void moveTabForward(int tabIndex); + void moveTabBackward(int tabIndex); private: - KParts::ReadOnlyPart* m_part; - TDERecentFilesAction* m_recent; - TDEAction* m_printAction; - TDEToggleAction* m_fullScreenAction; - TDEToggleAction* m_showMenuBarAction; - TDEToggleAction* m_showToolBarAction; - bool m_menuBarWasShown, m_toolBarWasShown; - KURL m_openUrl; + KTabWidget *m_tabs; + KParts::Factory *m_factory; + KParts::PartManager *m_manager; + TDERecentFilesAction* m_recent; + TDEAction *m_printAction, *m_addTabAction, *m_closeTabAction; + TDEToggleAction *m_fullScreenAction, *m_showMenuBarAction, *m_showToolBarAction; + TQToolButton *m_addTabButton, *m_removeTabButton; + TQPopupMenu *m_tabsContextMenu; + bool m_menuBarWasShown, m_toolBarWasShown; + KURL m_openUrl; // delayed open + int m_workingTab; }; } #endif - -// vim:ts=2:sw=2:tw=78:et diff --git a/kpdf/shell/shell.rc b/kpdf/shell/shell.rc index 134d34c7..f97cbe0c 100644 --- a/kpdf/shell/shell.rc +++ b/kpdf/shell/shell.rc @@ -1,13 +1,19 @@ <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> -<kpartgui version="7" name="kpdf_shell" > +<kpartgui version="8" name="kpdf_shell" > <MenuBar> <Menu name="file" > <DefineGroup append="save_merge" name="file_save" /> <DefineGroup append="print_merge" name="file_print" /> </Menu> - <!--Menu name="view" > - <Action name="fullscreen" /> - </Menu--> + <Menu name="view" > + <Action name="newtab" /> + <Action name="duplicatecurrenttab" /> + <Action name="breakoffcurrenttab" /> + <Separator /> + <Action name="removecurrenttab" /> + <Action name="removeothertabs" /> + <Separator /> + </Menu> <Menu name="settings" > <DefineGroup append="show_merge" name="show_merge" /> </Menu> diff --git a/kpdf/ui/minibar.cpp b/kpdf/ui/minibar.cpp index eaceeed2..f05b8931 100644 --- a/kpdf/ui/minibar.cpp +++ b/kpdf/ui/minibar.cpp @@ -121,10 +121,10 @@ MiniBar::MiniBar( TQWidget * parent, KPDFDocument * document ) setFrameStyle( TQFrame::StyledPanel | TQFrame::Sunken ); // connect signals from child widgets to internal handlers / signals bouncers - connect( m_pagesEdit, TQT_SIGNAL( returnPressed() ), this, TQT_SLOT( slotChangePage() ) ); - connect( m_pagesButton, TQT_SIGNAL( clicked() ), this, TQT_SIGNAL( gotoPage() ) ); - connect( m_prevButton, TQT_SIGNAL( clicked() ), this, TQT_SIGNAL( prevPage() ) ); - connect( m_nextButton, TQT_SIGNAL( clicked() ), this, TQT_SIGNAL( nextPage() ) ); + connect( m_pagesEdit, TQ_SIGNAL( returnPressed() ), this, TQ_SLOT( slotChangePage() ) ); + connect( m_pagesButton, TQ_SIGNAL( clicked() ), this, TQ_SIGNAL( gotoPage() ) ); + connect( m_prevButton, TQ_SIGNAL( clicked() ), this, TQ_SIGNAL( prevPage() ) ); + connect( m_nextButton, TQ_SIGNAL( clicked() ), this, TQ_SIGNAL( nextPage() ) ); // widget starts hidden (will be shown after opening a document) parent->hide(); @@ -146,7 +146,7 @@ void MiniBar::notifySetup( const TQValueVector< KPDFPage * > & pageVector, bool if ( pages < 1 ) { m_currentPage = -1; - TQT_TQWIDGET( parent() )->hide(); + static_cast<TQWidget*>( parent() )->hide(); return; } @@ -171,7 +171,7 @@ void MiniBar::notifySetup( const TQValueVector< KPDFPage * > & pageVector, bool m_pagesButton->setText( TQString::number( pages ) ); m_prevButton->setEnabled( false ); m_nextButton->setEnabled( false ); - TQT_TQWIDGET( parent() )->show(); + static_cast<TQWidget*>( parent() )->show(); } void MiniBar::notifyViewportChanged( bool /*smoothMove*/ ) @@ -275,13 +275,13 @@ void ProgressWidget::setProgress( float percentage ) void ProgressWidget::mouseMoveEvent( TQMouseEvent * e ) { - if ( e->state() == Qt::LeftButton && width() > 0 ) + if ( e->state() == TQt::LeftButton && width() > 0 ) m_miniBar->slotGotoNormalizedPage( (float)( TQApplication::reverseLayout() ? width() - e->x() : e->x() ) / (float)width() ); } void ProgressWidget::mousePressEvent( TQMouseEvent * e ) { - if ( e->button() == Qt::LeftButton && width() > 0 ) + if ( e->button() == TQt::LeftButton && width() > 0 ) m_miniBar->slotGotoNormalizedPage( (float)( TQApplication::reverseLayout() ? width() - e->x() : e->x() ) / (float)width() ); } @@ -333,7 +333,7 @@ PagesEdit::PagesEdit( MiniBar * parent ) focusOutEvent( 0 ); // use an integer validator - m_validator = new TQIntValidator( 1, 1, TQT_TQOBJECT(this) ); + m_validator = new TQIntValidator( 1, 1, this ); setValidator( m_validator ); // customize text properties diff --git a/kpdf/ui/minibar.h b/kpdf/ui/minibar.h index 2d4ee4bb..29c117d5 100644 --- a/kpdf/ui/minibar.h +++ b/kpdf/ui/minibar.h @@ -24,7 +24,7 @@ class ProgressWidget; */ class MiniBar : public TQFrame, public DocumentObserver { - Q_OBJECT + TQ_OBJECT public: MiniBar( TQWidget *parent, KPDFDocument * document ); diff --git a/kpdf/ui/pageview.cpp b/kpdf/ui/pageview.cpp index 556512de..db3bcbf8 100644 --- a/kpdf/ui/pageview.cpp +++ b/kpdf/ui/pageview.cpp @@ -2,7 +2,7 @@ * Copyright (C) 2004 by Enrico Ros <eros.kde@email.it> * * Copyright (C) 2004-2006 by Albert Astals Cid <tsdgeos@terra.es> * * * - * With portions of code from kpdf/kpdf_pagewidget.cc by: * + * With portions of code from kpdf/kpdf_pagewidget.cpp by: * * Copyright (C) 2002 by Wilco Greven <greven@kde.org> * * Copyright (C) 2003 by Christophe Devriese * * <Christophe.Devriese@student.kuleuven.ac.be> * @@ -114,6 +114,7 @@ public: TDEToggleAction * aZoomFitText; TDEToggleAction * aViewTwoPages; TDEToggleAction * aViewContinuous; + TDEToggleAction * aViewCoverPage; TDEAction * aPrevAction; }; @@ -206,7 +207,7 @@ PageView::PageView( TQWidget *parent, KPDFDocument *document ) // widget setup: setup focus, accept drops and track mouse viewport()->setFocusProxy( this ); - viewport()->setFocusPolicy( TQ_StrongFocus ); + viewport()->setFocusPolicy( TQWidget::StrongFocus ); //viewport()->setPaletteBackgroundColor( TQt::white ); viewport()->setBackgroundMode( TQt::NoBackground ); setResizePolicy( Manual ); @@ -215,8 +216,8 @@ PageView::PageView( TQWidget *parent, KPDFDocument *document ) viewport()->setMouseTracking( true ); // conntect the padding of the viewport to pixmaps requests - connect( this, TQT_SIGNAL(contentsMoving(int, int)), this, TQT_SLOT(slotRequestVisiblePixmaps(int, int)) ); - connect( &d->dragScrollTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotDragScroll()) ); + connect( this, TQ_SIGNAL(contentsMoving(int, int)), this, TQ_SLOT(slotRequestVisiblePixmaps(int, int)) ); + connect( &d->dragScrollTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(slotDragScroll()) ); // set a corner button to resize the view to the page size // TQPushButton * resizeButton = new TQPushButton( viewport() ); @@ -227,7 +228,7 @@ PageView::PageView( TQWidget *parent, KPDFDocument *document ) setInputMethodEnabled( true ); // schedule the welcome message - TQTimer::singleShot( 0, this, TQT_SLOT( slotShowWelcome() ) ); + TQTimer::singleShot( 0, this, TQ_SLOT( slotShowWelcome() ) ); } PageView::~PageView() @@ -245,63 +246,68 @@ PageView::~PageView() void PageView::setupActions( TDEActionCollection * ac ) { // Zoom actions ( higher scales takes lots of memory! ) - d->aZoom = new TDESelectAction( i18n( "Zoom" ), "viewmag", 0, TQT_TQOBJECT(this), TQT_SLOT( slotZoom() ), ac, "zoom_to" ); + d->aZoom = new TDESelectAction( i18n( "Zoom" ), "viewmag", 0, this, TQ_SLOT( slotZoom() ), ac, "zoom_to" ); d->aZoom->setEditable( true ); #if KDE_IS_VERSION(3,4,89) d->aZoom->setMaxComboViewCount( 13 ); #endif updateZoomText(); - KStdAction::zoomIn( TQT_TQOBJECT(this), TQT_SLOT( slotZoomIn() ), ac, "zoom_in" ); + KStdAction::zoomIn( this, TQ_SLOT( slotZoomIn() ), ac, "zoom_in" ); - KStdAction::zoomOut( TQT_TQOBJECT(this), TQT_SLOT( slotZoomOut() ), ac, "zoom_out" ); + KStdAction::zoomOut( this, TQ_SLOT( slotZoomOut() ), ac, "zoom_out" ); d->aZoomFitWidth = new TDEToggleAction( i18n("Fit to Page &Width"), "view_fit_width", 0, ac, "zoom_fit_width" ); - connect( d->aZoomFitWidth, TQT_SIGNAL( toggled( bool ) ), TQT_SLOT( slotFitToWidthToggled( bool ) ) ); + connect( d->aZoomFitWidth, TQ_SIGNAL( toggled( bool ) ), TQ_SLOT( slotFitToWidthToggled( bool ) ) ); d->aZoomFitPage = new TDEToggleAction( i18n("Fit to &Page"), "view_fit_window", 0, ac, "zoom_fit_page" ); - connect( d->aZoomFitPage, TQT_SIGNAL( toggled( bool ) ), TQT_SLOT( slotFitToPageToggled( bool ) ) ); + connect( d->aZoomFitPage, TQ_SIGNAL( toggled( bool ) ), TQ_SLOT( slotFitToPageToggled( bool ) ) ); d->aZoomFitText = new TDEToggleAction( i18n("Fit to &Text"), "zoom-fit-best", 0, ac, "zoom_fit_text" ); - connect( d->aZoomFitText, TQT_SIGNAL( toggled( bool ) ), TQT_SLOT( slotFitToTextToggled( bool ) ) ); + connect( d->aZoomFitText, TQ_SIGNAL( toggled( bool ) ), TQ_SLOT( slotFitToTextToggled( bool ) ) ); // rotate actions TDEAction *action; action = new TDEAction( i18n("Rotate Right"), "object-rotate-right", TDEShortcut( "Ctrl+Shift++" ), - TQT_TQOBJECT(this), TQT_SLOT( slotRotateRight() ), ac, "rotate_right" ); + this, TQ_SLOT( slotRotateRight() ), ac, "rotate_right" ); action = new TDEAction( i18n("Rotate Left"), "object-rotate-left", TDEShortcut( "Ctrl+Shift+-" ), - TQT_TQOBJECT(this), TQT_SLOT( slotRotateLeft() ), ac, "rotate_left" ); + this, TQ_SLOT( slotRotateLeft() ), ac, "rotate_left" ); // View-Layout actions d->aViewTwoPages = new TDEToggleAction( i18n("&Two Pages"), "view_left_right", 0, ac, "view_twopages" ); - connect( d->aViewTwoPages, TQT_SIGNAL( toggled( bool ) ), TQT_SLOT( slotTwoPagesToggled( bool ) ) ); + connect( d->aViewTwoPages, TQ_SIGNAL( toggled( bool ) ), TQ_SLOT( slotTwoPagesToggled( bool ) ) ); d->aViewTwoPages->setChecked( KpdfSettings::viewColumns() > 1 ); d->aViewContinuous = new TDEToggleAction( i18n("&Continuous"), "view_text", 0, ac, "view_continuous" ); - connect( d->aViewContinuous, TQT_SIGNAL( toggled( bool ) ), TQT_SLOT( slotContinuousToggled( bool ) ) ); + connect( d->aViewContinuous, TQ_SIGNAL( toggled( bool ) ), TQ_SLOT( slotContinuousToggled( bool ) ) ); d->aViewContinuous->setChecked( KpdfSettings::viewContinuous() ); + d->aViewCoverPage = new TDEToggleAction( i18n("Co&ver Page"), "contents2", 0, ac, "view_coverpage" ); + connect( d->aViewCoverPage, TQ_SIGNAL( toggled( bool ) ), TQ_SLOT( slotCoverPageToggled( bool ) ) ); + d->aViewCoverPage->setChecked( KpdfSettings::viewCoverPage() ); + d->aViewCoverPage->setEnabled( KpdfSettings::viewColumns() > 1 ); + // Mouse-Mode actions - d->aMouseNormal = new TDERadioAction( i18n("&Browse Tool"), "input-mouse", 0, TQT_TQOBJECT(this), TQT_SLOT( slotSetMouseNormal() ), ac, "mouse_drag" ); + d->aMouseNormal = new TDERadioAction( i18n("&Browse Tool"), "input-mouse", 0, this, TQ_SLOT( slotSetMouseNormal() ), ac, "mouse_drag" ); d->aMouseNormal->setExclusiveGroup( "MouseType" ); d->aMouseNormal->setChecked( true ); - TDEToggleAction * mz = new TDERadioAction( i18n("&Zoom Tool"), "viewmag", 0, TQT_TQOBJECT(this), TQT_SLOT( slotSetMouseZoom() ), ac, "mouse_zoom" ); + TDEToggleAction * mz = new TDERadioAction( i18n("&Zoom Tool"), "viewmag", 0, this, TQ_SLOT( slotSetMouseZoom() ), ac, "mouse_zoom" ); mz->setExclusiveGroup( "MouseType" ); - d->aMouseSelect = new TDERadioAction( i18n("&Select Tool"), "frame_edit", 0, TQT_TQOBJECT(this), TQT_SLOT( slotSetMouseSelect() ), ac, "mouse_select" ); + d->aMouseSelect = new TDERadioAction( i18n("&Select Tool"), "frame_edit", 0, this, TQ_SLOT( slotSetMouseSelect() ), ac, "mouse_select" ); d->aMouseSelect->setExclusiveGroup( "MouseType" ); -/* d->aMouseEdit = new TDERadioAction( i18n("Draw"), "edit", 0, TQT_TQOBJECT(this), TQT_SLOT( slotSetMouseDraw() ), ac, "mouse_draw" ); +/* d->aMouseEdit = new TDERadioAction( i18n("Draw"), "edit", 0, this, TQ_SLOT( slotSetMouseDraw() ), ac, "mouse_draw" ); d->aMouseEdit->setExclusiveGroup("MouseType"); d->aMouseEdit->setEnabled( false ); // implement feature before removing this line*/ // Other actions - TDEAction * su = new TDEAction( i18n("Scroll Up"), 0, TQT_TQOBJECT(this), TQT_SLOT( slotScrollUp() ), ac, "view_scroll_up" ); + TDEAction * su = new TDEAction( i18n("Scroll Up"), 0, this, TQ_SLOT( slotScrollUp() ), ac, "view_scroll_up" ); su->setShortcut( "Shift+Up" ); - TDEAction * sd = new TDEAction( i18n("Scroll Down"), 0, TQT_TQOBJECT(this), TQT_SLOT( slotScrollDown() ), ac, "view_scroll_down" ); + TDEAction * sd = new TDEAction( i18n("Scroll Down"), 0, this, TQ_SLOT( slotScrollDown() ), ac, "view_scroll_down" ); sd->setShortcut( "Shift+Down" ); } @@ -348,7 +354,7 @@ void PageView::notifySetup( const TQValueVector< KPDFPage * > & pageSet, bool do // Need slotRelayoutPages() here instead of d->dirtyLayout = true // because opening a pdf from another pdf will not trigger a viewportchange // so pages are never relayouted - TQTimer::singleShot(0, this, TQT_SLOT(slotRelayoutPages())); + TQTimer::singleShot(0, this, TQ_SLOT(slotRelayoutPages())); else { // update the mouse cursor when closing because we may have close through a link and @@ -431,8 +437,8 @@ void PageView::notifyViewportChanged( bool smoothMove ) if ( !d->viewportMoveTimer ) { d->viewportMoveTimer = new TQTimer( this ); - connect( d->viewportMoveTimer, TQT_SIGNAL( timeout() ), - this, TQT_SLOT( slotMoveViewport() ) ); + connect( d->viewportMoveTimer, TQ_SIGNAL( timeout() ), + this, TQ_SLOT( slotMoveViewport() ) ); } d->viewportMoveTimer->start( 25 ); verticalScrollBar()->setEnabled( false ); @@ -637,7 +643,7 @@ void PageView::viewportResizeEvent( TQResizeEvent * ) if ( !d->delayResizeTimer ) { d->delayResizeTimer = new TQTimer( this ); - connect( d->delayResizeTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( slotRelayoutPages() ) ); + connect( d->delayResizeTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( slotRelayoutPages() ) ); } d->delayResizeTimer->start( 333, true ); } @@ -719,7 +725,7 @@ void PageView::keyPressEvent( TQKeyEvent * e ) { // create the timer on demand d->findTimeoutTimer = new TQTimer( this ); - connect( d->findTimeoutTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( findAheadStop() ) ); + connect( d->findTimeoutTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( findAheadStop() ) ); } d->findTimeoutTimer->start( 3000, true ); // it is needed to grab the keyboard becase people may have Space assigned to a @@ -840,7 +846,7 @@ void PageView::contentsMouseMoveEvent( TQMouseEvent * e ) return; // if holding mouse mid button, perform zoom - if ( (e->state() & Qt::MidButton) && d->mouseMidStartY >= 0 ) + if ( (e->state() & TQt::MidButton) && d->mouseMidStartY >= 0 ) { int deltaY = d->mouseMidStartY - e->globalPos().y(); d->mouseMidStartY = e->globalPos().y(); @@ -851,8 +857,8 @@ void PageView::contentsMouseMoveEvent( TQMouseEvent * e ) return; } - bool leftButton = e->state() & Qt::LeftButton, - rightButton = e->state() & Qt::RightButton; + bool leftButton = e->state() & TQt::LeftButton, + rightButton = e->state() & TQt::RightButton; switch ( d->mouseMode ) { case MouseNormal: @@ -920,7 +926,7 @@ void PageView::contentsMousePressEvent( TQMouseEvent * e ) } // if pressing mid mouse button while not doing other things, begin 'comtinous zoom' mode - if ( e->button() & Qt::MidButton ) + if ( e->button() & TQt::MidButton ) { d->mouseMidStartY = e->globalPos().y(); setCursor( KCursor::sizeVerCursor() ); @@ -931,8 +937,8 @@ void PageView::contentsMousePressEvent( TQMouseEvent * e ) d->mousePressPos = e->globalPos(); // handle mode dependant mouse press actions - bool leftButton = e->button() & Qt::LeftButton, - rightButton = e->button() & Qt::RightButton; + bool leftButton = e->button() & TQt::LeftButton, + rightButton = e->button() & TQt::RightButton; switch ( d->mouseMode ) { case MouseNormal: // drag start / click / link following @@ -973,7 +979,7 @@ void PageView::contentsMouseReleaseEvent( TQMouseEvent * e ) if ( d->items.isEmpty() ) { // ..except for right Clicks (emitted even it viewport is empty) - if ( e->button() == Qt::RightButton ) + if ( e->button() == TQt::RightButton ) emit rightClick( 0, e->globalPos() ); return; } @@ -983,7 +989,7 @@ void PageView::contentsMouseReleaseEvent( TQMouseEvent * e ) return; // handle mode indepent mid buttom zoom - bool midButton = e->button() & Qt::MidButton; + bool midButton = e->button() & TQt::MidButton; if ( midButton && d->mouseMidStartY > 0 ) { d->mouseMidStartY = -1; @@ -992,8 +998,8 @@ void PageView::contentsMouseReleaseEvent( TQMouseEvent * e ) return; } - bool leftButton = e->button() & Qt::LeftButton, - rightButton = e->button() & Qt::RightButton; + bool leftButton = e->button() & TQt::LeftButton, + rightButton = e->button() & TQt::RightButton; switch ( d->mouseMode ) { case MouseNormal:{ @@ -1652,6 +1658,7 @@ void PageView::doTypeAheadSearch() void PageView::slotRelayoutPages() // called by: notifySetup, viewportResizeEvent, slotTwoPagesToggled, slotContinuousToggled, updateZoom { + bool coverPageMode = ( KpdfSettings::viewColumns() == 2 && KpdfSettings::viewCoverPage() ); // set an empty container if we have no pages int pageCount = d->items.count(); if ( pageCount < 1 ) @@ -1682,11 +1689,12 @@ void PageView::slotRelayoutPages() { // Here we find out column's width and row's height to compute a table // so we can place widgets 'centered in virtual cells'. - int nCols = KpdfSettings::viewColumns(), - nRows = (int)ceil( (float)pageCount / (float)nCols ), + int pageShift = coverPageMode ? 1 : 0, + nCols = KpdfSettings::viewColumns(), + nRows = (int)ceil( (float)(pageCount + pageShift) / (float)nCols ), * colWidth = new int[ nCols ], * rowHeight = new int[ nRows ], - cIdx = 0, + cIdx = pageShift, rIdx = 0; for ( int i = 0; i < nCols; i++ ) colWidth[ i ] = viewportWidth / nCols; @@ -1716,13 +1724,18 @@ void PageView::slotRelayoutPages() // 2) arrange widgets inside cells int insertX = 0, insertY = 4; // 2 + 4*d->zoomFactor ? - cIdx = 0; + cIdx = pageShift; rIdx = 0; + for ( iIt = d->items.begin(); iIt != iEnd; ++iIt ) { PageViewItem * item = *iIt; int cWidth = colWidth[ cIdx ], rHeight = rowHeight[ rIdx ]; + + if( coverPageMode && item->pageNumber() == 0 ) // align widget right inside viewport + insertX+=cWidth; + // center widget inside 'cells' item->moveTo( insertX + (cWidth - item->width()) / 2, insertY + (rHeight - item->height()) / 2 ); @@ -1744,7 +1757,7 @@ void PageView::slotRelayoutPages() delete [] colWidth; delete [] rowHeight; } - else // viewContinuous is FALSE + else // viewContinuous is false { PageViewItem * currentItem = d->items[ TQMAX( 0, (int)d->document->currentPage() ) ]; @@ -1776,14 +1789,24 @@ void PageView::slotRelayoutPages() // 2) hide all widgets except the displayable ones and dispose those int insertX = 0; cIdx = 0; + + if( coverPageMode && (int)d->document->currentPage() == 0 ) + ++cIdx; + for ( iIt = d->items.begin(); iIt != iEnd; ++iIt ) { PageViewItem * item = *iIt; if ( item == currentItem || (cIdx > 0 && cIdx < nCols) ) { - // center widget inside 'cells' - item->moveTo( insertX + (colWidth[ cIdx ] - item->width()) / 2, - (fullHeight - item->height()) / 2 ); + if( KpdfSettings::viewCoverPage() && (int)d->document->currentPage() == 0 ) { + // center widget inside viewport + item->moveTo( insertX + (viewportWidth - item->width()) / 2, + (viewportHeight - item->height()) / 2 ); + } else { + // center widget inside 'cells' + item->moveTo( insertX + (colWidth[ cIdx ] - item->width()) / 2, + (fullHeight - item->height()) / 2 ); + } // advance col index insertX += colWidth[ cIdx ]; cIdx++; @@ -1981,7 +2004,7 @@ void PageView::slotAutoScoll() if ( !d->autoScrollTimer ) { d->autoScrollTimer = new TQTimer( this ); - connect( d->autoScrollTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( slotAutoScoll() ) ); + connect( d->autoScrollTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( slotAutoScoll() ) ); } // if scrollIncrement is zero, stop the timer @@ -2110,6 +2133,8 @@ void PageView::slotTwoPagesToggled( bool on ) if ( d->document->pages() > 0 ) slotRelayoutPages(); } + + d->aViewCoverPage->setEnabled( on ); } void PageView::slotContinuousToggled( bool on ) @@ -2123,6 +2148,17 @@ void PageView::slotContinuousToggled( bool on ) } } +void PageView::slotCoverPageToggled( bool on ) +{ + if ( KpdfSettings::viewCoverPage() != on ) + { + KpdfSettings::setViewCoverPage( on ); + KpdfSettings::writeConfig(); + if ( d->document->pages() > 0 ) + slotRelayoutPages(); + } +} + void PageView::slotSetMouseNormal() { d->mouseMode = MouseNormal; diff --git a/kpdf/ui/pageview.h b/kpdf/ui/pageview.h index 901ec9e6..4072713d 100644 --- a/kpdf/ui/pageview.h +++ b/kpdf/ui/pageview.h @@ -38,7 +38,7 @@ class PageViewTip; */ class PageView : public TQScrollView, public DocumentObserver { - Q_OBJECT + TQ_OBJECT friend class PageViewTip; @@ -140,6 +140,7 @@ class PageView : public TQScrollView, public DocumentObserver void slotRotateLeft(); void slotTwoPagesToggled( bool ); void slotContinuousToggled( bool ); + void slotCoverPageToggled( bool ); void slotSetMouseNormal(); void slotSetMouseZoom(); void slotSetMouseSelect(); diff --git a/kpdf/ui/pageviewutils.cpp b/kpdf/ui/pageviewutils.cpp index 91a9de8d..9f09ca09 100644 --- a/kpdf/ui/pageviewutils.cpp +++ b/kpdf/ui/pageviewutils.cpp @@ -24,9 +24,9 @@ PageViewMessage::PageViewMessage( TQWidget * parent ) : TQWidget( parent, "pageViewMessage" ), m_timer( 0 ) { - setFocusPolicy( TQ_NoFocus ); + setFocusPolicy( TQWidget::NoFocus ); setBackgroundMode( NoBackground ); - setPaletteBackgroundColor(kapp->palette().color(TQPalette::Active, TQColorGroup::Background)); + setPaletteBackgroundColor(tdeApp->palette().color(TQPalette::Active, TQColorGroup::Background)); // if the layout is LtR, we can safely place it in the right position if ( !TQApplication::reverseLayout() ) move( 10, 10 ); @@ -131,7 +131,7 @@ void PageViewMessage::display( const TQString & message, Icon icon, int duration if ( !m_timer ) { m_timer = new TQTimer( this ); - connect( m_timer, TQT_SIGNAL( timeout() ), TQT_SLOT( hide() ) ); + connect( m_timer, TQ_SIGNAL( timeout() ), TQ_SLOT( hide() ) ); } m_timer->start( durationMs, true ); } else if ( m_timer ) diff --git a/kpdf/ui/presentationwidget.cpp b/kpdf/ui/presentationwidget.cpp index 6dfd2a9d..65645400 100644 --- a/kpdf/ui/presentationwidget.cpp +++ b/kpdf/ui/presentationwidget.cpp @@ -61,7 +61,7 @@ PresentationWidget::PresentationWidget( TQWidget * parent, KPDFDocument * doc ) m_width = -1; - m_accel = new TDEAccel( this, TQT_TQOBJECT(this), "presentationmode-accel" ); + m_accel = new TDEAccel( this, this, "presentationmode-accel" ); // show widget and take control showFullScreen(); @@ -69,11 +69,11 @@ PresentationWidget::PresentationWidget( TQWidget * parent, KPDFDocument * doc ) // misc stuff setMouseTracking( true ); m_transitionTimer = new TQTimer( this ); - connect( m_transitionTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( slotTransitionStep() ) ); + connect( m_transitionTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( slotTransitionStep() ) ); m_overlayHideTimer = new TQTimer( this ); - connect( m_overlayHideTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( slotHideOverlay() ) ); + connect( m_overlayHideTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( slotHideOverlay() ) ); m_nextPageTimer = new TQTimer( this ); - connect( m_nextPageTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( slotNextPage() ) ); + connect( m_nextPageTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( slotNextPage() ) ); // handle cursor appearance as specified in configuration if ( KpdfSettings::slidesCursor() == KpdfSettings::EnumSlidesCursor::HiddenDelay ) @@ -100,11 +100,11 @@ PresentationWidget::~PresentationWidget() void PresentationWidget::setupActions( TDEActionCollection * ac ) { - m_accel->insert( "previous_page", ac->action( "previous_page" )->shortcut(), TQT_TQOBJECT(this), TQT_SLOT( slotPrevPage() ), false, true ); - m_accel->insert( "next_page", ac->action( "next_page" )->shortcut(), TQT_TQOBJECT(this), TQT_SLOT( slotNextPage() ), false, true ); - m_accel->insert( "first_page", ac->action( "first_page" )->shortcut(), TQT_TQOBJECT(this), TQT_SLOT( slotFirstPage() ), false, true ); - m_accel->insert( "last_page", ac->action( "last_page" )->shortcut(), TQT_TQOBJECT(this), TQT_SLOT( slotLastPage() ), false, true ); - m_accel->insert( "presentation", ac->action( "presentation" )->shortcut(), TQT_TQOBJECT(this), TQT_SLOT( close() ), false, true ); + m_accel->insert( "previous_page", ac->action( "previous_page" )->shortcut(), this, TQ_SLOT( slotPrevPage() ), false, true ); + m_accel->insert( "next_page", ac->action( "next_page" )->shortcut(), this, TQ_SLOT( slotNextPage() ), false, true ); + m_accel->insert( "first_page", ac->action( "first_page" )->shortcut(), this, TQ_SLOT( slotFirstPage() ), false, true ); + m_accel->insert( "last_page", ac->action( "last_page" )->shortcut(), this, TQ_SLOT( slotLastPage() ), false, true ); + m_accel->insert( "presentation", ac->action( "presentation" )->shortcut(), this, TQ_SLOT( close() ), false, true ); } void PresentationWidget::notifySetup( const TQValueVector< KPDFPage * > & pageSet, bool /*documentChanged*/ ) @@ -235,7 +235,7 @@ void PresentationWidget::wheelEvent( TQWheelEvent * e ) void PresentationWidget::mousePressEvent( TQMouseEvent * e ) { // pressing left button - if ( e->button() == Qt::LeftButton ) + if ( e->button() == TQt::LeftButton ) { // if pressing on a link, skip other checks if ( ( m_pressedLink = getLink( e->x(), e->y() ) ) ) @@ -252,14 +252,14 @@ void PresentationWidget::mousePressEvent( TQMouseEvent * e ) slotNextPage(); } // pressing right button - else if ( e->button() == Qt::RightButton ) + else if ( e->button() == TQt::RightButton ) slotPrevPage(); } void PresentationWidget::mouseReleaseEvent( TQMouseEvent * e ) { // if releasing on the same link we pressed over, execute it - if ( m_pressedLink && e->button() == Qt::LeftButton ) + if ( m_pressedLink && e->button() == TQt::LeftButton ) { const KPDFLink * link = getLink( e->x(), e->y() ); if ( link == m_pressedLink ) @@ -290,7 +290,7 @@ void PresentationWidget::mouseMoveEvent( TQMouseEvent * e ) if ( e->y() <= (geometry().top() + 1) ) m_topBar->show(); // handle "dragging the wheel" if clicking on its geometry - else if ( e->state() == Qt::LeftButton && m_overlayGeometry.contains( e->pos() ) ) + else if ( e->state() == TQt::LeftButton && m_overlayGeometry.contains( e->pos() ) ) overlayClick( e->pos() ); } } @@ -307,9 +307,9 @@ void PresentationWidget::paintEvent( TQPaintEvent * pe ) m_topBar = new TDEToolBar( this, "presentationBar" ); m_topBar->setIconSize( 32 ); m_topBar->setMovingEnabled( false ); - m_topBar->insertButton( TQApplication::reverseLayout() ? "1rightarrow" : "1leftarrow", 2, TQT_SIGNAL( clicked() ), TQT_TQOBJECT(this), TQT_SLOT( slotPrevPage() ) ); - m_topBar->insertButton( TQApplication::reverseLayout() ? "1leftarrow" : "1rightarrow", 3, TQT_SIGNAL( clicked() ), TQT_TQOBJECT(this), TQT_SLOT( slotNextPage() ) ); - m_topBar->insertButton( "system-log-out", 1, TQT_SIGNAL( clicked() ), TQT_TQOBJECT(this), TQT_SLOT( close() ) ); + m_topBar->insertButton( TQApplication::reverseLayout() ? "1rightarrow" : "1leftarrow", 2, TQ_SIGNAL( clicked() ), this, TQ_SLOT( slotPrevPage() ) ); + m_topBar->insertButton( TQApplication::reverseLayout() ? "1leftarrow" : "1rightarrow", 3, TQ_SIGNAL( clicked() ), this, TQ_SLOT( slotNextPage() ) ); + m_topBar->insertButton( "system-log-out", 1, TQ_SIGNAL( clicked() ), this, TQ_SLOT( close() ) ); m_topBar->setGeometry( 0, 0, m_width, 32 + 10 ); m_topBar->alignItemRight( 1 ); m_topBar->hide(); diff --git a/kpdf/ui/presentationwidget.h b/kpdf/ui/presentationwidget.h index 177b3da0..e38332d7 100644 --- a/kpdf/ui/presentationwidget.h +++ b/kpdf/ui/presentationwidget.h @@ -34,7 +34,7 @@ class PresentationFrame; */ class PresentationWidget : public TQDialog, public DocumentObserver { - Q_OBJECT + TQ_OBJECT public: PresentationWidget( TQWidget * parent, KPDFDocument * doc ); diff --git a/kpdf/ui/searchwidget.cpp b/kpdf/ui/searchwidget.cpp index 8fcbfe22..f7c5b719 100644 --- a/kpdf/ui/searchwidget.cpp +++ b/kpdf/ui/searchwidget.cpp @@ -40,18 +40,18 @@ SearchWidget::SearchWidget( TQWidget * parent, KPDFDocument * document ) // a timer to ensure that we don't flood the document with requests to search m_inputDelayTimer = new TQTimer(this); - connect( m_inputDelayTimer, TQT_SIGNAL( timeout() ), - this, TQT_SLOT( startSearch() ) ); + connect( m_inputDelayTimer, TQ_SIGNAL( timeout() ), + this, TQ_SLOT( startSearch() ) ); // 1. text line - insertLined( TQString(), LEDIT_ID, TQT_SIGNAL( textChanged(const TQString &) ), - TQT_TQOBJECT(this), TQT_SLOT( slotTextChanged(const TQString &) ), true, + insertLined( TQString(), LEDIT_ID, TQ_SIGNAL( textChanged(const TQString &) ), + this, TQ_SLOT( slotTextChanged(const TQString &) ), true, i18n( "Enter at least 3 letters to filter pages" ), 0/*size*/, 1 ); // 2. clear button (uses a lineEdit slot, so it must be created after) insertButton( TQApplication::reverseLayout() ? "clear_left" : "locationbar_erase", - CLEAR_ID, TQT_SIGNAL( clicked() ), - TQT_TQOBJECT(getLined( LEDIT_ID )), TQT_SLOT( clear() ), true, + CLEAR_ID, TQ_SIGNAL( clicked() ), + getLined( LEDIT_ID ), TQ_SLOT( clear() ), true, i18n( "Clear filter" ), 0/*index*/ ); // 3.1. create the popup menu for changing filtering features @@ -62,7 +62,7 @@ SearchWidget::SearchWidget( TQWidget * parent, KPDFDocument * document ) m_menu->insertItem( i18n("Match All Words"), 4 ); m_menu->insertItem( i18n("Match Any Word"), 5 ); m_menu->setItemChecked( 3, true ); - connect( m_menu, TQT_SIGNAL( activated(int) ), TQT_SLOT( slotMenuChaged(int) ) ); + connect( m_menu, TQ_SIGNAL( activated(int) ), TQ_SLOT( slotMenuChaged(int) ) ); // 3.2. create the toolbar button that spawns the popup menu insertButton( "kpdf", FIND_ID, m_menu, true, i18n( "Filter Options" ), 2/*index*/ ); diff --git a/kpdf/ui/searchwidget.h b/kpdf/ui/searchwidget.h index c84db96f..16a492de 100644 --- a/kpdf/ui/searchwidget.h +++ b/kpdf/ui/searchwidget.h @@ -29,7 +29,7 @@ class m_inputDelayTimer; */ class SearchWidget : public TDEToolBar { - Q_OBJECT + TQ_OBJECT public: SearchWidget( TQWidget *parent, KPDFDocument *document ); diff --git a/kpdf/ui/thumbnaillist.cpp b/kpdf/ui/thumbnaillist.cpp index b443daa5..7d66cfb2 100644 --- a/kpdf/ui/thumbnaillist.cpp +++ b/kpdf/ui/thumbnaillist.cpp @@ -76,7 +76,7 @@ ThumbnailList::ThumbnailList( TQWidget *parent, KPDFDocument *document ) // widget setup: can be focused by tab and mouse click (not wheel) viewport()->setFocusProxy( this ); - viewport()->setFocusPolicy( TQ_StrongFocus ); + viewport()->setFocusPolicy( TQWidget::StrongFocus ); setResizePolicy( Manual ); setAcceptDrops( true ); setDragAutoScroll( false ); @@ -85,7 +85,7 @@ ThumbnailList::ThumbnailList( TQWidget *parent, KPDFDocument *document ) viewport()->setPaletteBackgroundColor( palette().active().base() ); setFrameStyle( StyledPanel | Raised ); - connect( this, TQT_SIGNAL(contentsMoving(int, int)), this, TQT_SLOT(slotRequestVisiblePixmaps(int, int)) ); + connect( this, TQ_SIGNAL(contentsMoving(int, int)), this, TQ_SLOT(slotRequestVisiblePixmaps(int, int)) ); } ThumbnailList::~ThumbnailList() @@ -311,7 +311,7 @@ void ThumbnailList::keyPressEvent( TQKeyEvent * keyEvent ) void ThumbnailList::contentsMousePressEvent( TQMouseEvent * e ) { - if ( e->button() != Qt::LeftButton ) + if ( e->button() != TQt::LeftButton ) return; int clickY = e->y(); TQValueList<ThumbnailWidget *>::iterator vIt = m_visibleThumbnails.begin(), vEnd = m_visibleThumbnails.end(); @@ -444,7 +444,7 @@ void ThumbnailList::delayedRequestVisiblePixmaps( int delayMs ) if ( !m_delayTimer ) { m_delayTimer = new TQTimer( this ); - connect( m_delayTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( slotDelayTimeout() ) ); + connect( m_delayTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( slotDelayTimeout() ) ); } m_delayTimer->start( delayMs, true ); } @@ -479,7 +479,7 @@ void ThumbnailWidget::setSelected( bool selected ) void ThumbnailWidget::mouseReleaseEvent( TQMouseEvent * e ) { - if ( e->button() != Qt::RightButton ) + if ( e->button() != TQt::RightButton ) return; m_tl->forwardRightClick( m_page, e->globalPos() ); @@ -563,8 +563,8 @@ ThumbnailController::ThumbnailController( TQWidget * parent, ThumbnailList * lis // insert a togglebutton [show only bookmarked pages] //insertSeparator(); - insertButton( "bookmark", FILTERB_ID, TQT_SIGNAL( toggled( bool ) ), - TQT_TQOBJECT(list), TQT_SLOT( slotFilterBookmarks( bool ) ), + insertButton( "bookmark", FILTERB_ID, TQ_SIGNAL( toggled( bool ) ), + list, TQ_SLOT( slotFilterBookmarks( bool ) ), true, i18n( "Show bookmarked pages only" ) ); setToggle( FILTERB_ID ); setButton( FILTERB_ID, KpdfSettings::filterBookmarks() ); diff --git a/kpdf/ui/thumbnaillist.h b/kpdf/ui/thumbnaillist.h index b9fc06ae..b08a98f8 100644 --- a/kpdf/ui/thumbnaillist.h +++ b/kpdf/ui/thumbnaillist.h @@ -29,7 +29,7 @@ class ThumbnailWidget; */ class ThumbnailList : public TQScrollView, public DocumentObserver { -Q_OBJECT +TQ_OBJECT public: ThumbnailList(TQWidget *parent, KPDFDocument *document); diff --git a/kpdf/ui/toc.cpp b/kpdf/ui/toc.cpp index 00ac8eaf..e71f8746 100644 --- a/kpdf/ui/toc.cpp +++ b/kpdf/ui/toc.cpp @@ -67,8 +67,8 @@ TOC::TOC(TQWidget *parent, KPDFDocument *document) : TDEListView(parent), m_docu // the next line causes bug:147233 // setResizeMode(AllColumns); setAllColumnsShowFocus(true); - connect(this, TQT_SIGNAL(clicked(TQListViewItem *)), this, TQT_SLOT(slotExecuted(TQListViewItem *))); - connect(this, TQT_SIGNAL(returnPressed(TQListViewItem *)), this, TQT_SLOT(slotExecuted(TQListViewItem *))); + connect(this, TQ_SIGNAL(clicked(TQListViewItem *)), this, TQ_SLOT(slotExecuted(TQListViewItem *))); + connect(this, TQ_SIGNAL(returnPressed(TQListViewItem *)), this, TQ_SLOT(slotExecuted(TQListViewItem *))); } TOC::~TOC() diff --git a/kpdf/ui/toc.h b/kpdf/ui/toc.h index 3de43502..9ed1d55c 100644 --- a/kpdf/ui/toc.h +++ b/kpdf/ui/toc.h @@ -19,7 +19,7 @@ class KPDFDocument; class TOC : public TDEListView, public DocumentObserver { -Q_OBJECT +TQ_OBJECT public: TOC(TQWidget *parent, KPDFDocument *document); diff --git a/kpdf/xpdf/ConfigureChecks.cmake b/kpdf/xpdf/ConfigureChecks.cmake index 6c4b5614..b15a82ef 100644 --- a/kpdf/xpdf/ConfigureChecks.cmake +++ b/kpdf/xpdf/ConfigureChecks.cmake @@ -21,20 +21,6 @@ if( NOT JPEG_FOUND ) endif( ) -# check for t1lib -if( WITH_T1LIB ) - check_include_file( t1lib.h HAVE_T1LIB_H ) - if( HAVE_T1LIB_H ) - check_library_exists( t1 T1_InitLib "" HAVE_T1LIB ) - endif( ) - if( HAVE_T1LIB_H AND HAVE_T1LIB ) - set( T1_LIBRARY t1 CACHE INTERNAL "" FORCE ) - else( ) - tde_message_fatal( "t1lib is required, but was not found on your system" ) - endif( ) -endif( ) - - # check for libpaper if( WITH_PAPER ) check_include_file( paper.h HAVE_PAPER_H ) diff --git a/kpdf/xpdf/fofi/CMakeLists.txt b/kpdf/xpdf/fofi/CMakeLists.txt index e98957f3..2f983315 100644 --- a/kpdf/xpdf/fofi/CMakeLists.txt +++ b/kpdf/xpdf/fofi/CMakeLists.txt @@ -21,6 +21,6 @@ include_directories( tde_add_library( fofi STATIC_PIC SOURCES - FoFiBase.cc FoFiEncodings.cc FoFiTrueType.cc FoFiType1.cc - FoFiType1C.cc + FoFiBase.cpp FoFiEncodings.cpp FoFiTrueType.cpp FoFiType1.cpp + FoFiType1C.cpp ) diff --git a/kpdf/xpdf/fofi/FoFiBase.cc b/kpdf/xpdf/fofi/FoFiBase.cpp index 28d0b8ca..af6fe112 100644 --- a/kpdf/xpdf/fofi/FoFiBase.cc +++ b/kpdf/xpdf/fofi/FoFiBase.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// FoFiBase.cc +// FoFiBase.cpp // // Copyright 1999-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/fofi/FoFiEncodings.cc b/kpdf/xpdf/fofi/FoFiEncodings.cpp index 37a17f5d..3c0d39a3 100644 --- a/kpdf/xpdf/fofi/FoFiEncodings.cc +++ b/kpdf/xpdf/fofi/FoFiEncodings.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// FoFiEncodings.cc +// FoFiEncodings.cpp // // Copyright 1999-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/fofi/FoFiTrueType.cc b/kpdf/xpdf/fofi/FoFiTrueType.cpp index a205a068..18253335 100644 --- a/kpdf/xpdf/fofi/FoFiTrueType.cc +++ b/kpdf/xpdf/fofi/FoFiTrueType.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// FoFiTrueType.cc +// FoFiTrueType.cpp // // Copyright 1999-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/fofi/FoFiType1.cc b/kpdf/xpdf/fofi/FoFiType1.cpp index 88b35ecc..f6e676a2 100644 --- a/kpdf/xpdf/fofi/FoFiType1.cc +++ b/kpdf/xpdf/fofi/FoFiType1.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// FoFiType1.cc +// FoFiType1.cpp // // Copyright 1999-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/fofi/FoFiType1C.cc b/kpdf/xpdf/fofi/FoFiType1C.cpp index 3b28f321..f2ca88dc 100644 --- a/kpdf/xpdf/fofi/FoFiType1C.cc +++ b/kpdf/xpdf/fofi/FoFiType1C.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// FoFiType1C.cc +// FoFiType1C.cpp // // Copyright 1999-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/fofi/Makefile.am b/kpdf/xpdf/fofi/Makefile.am index 7ca93922..9a1ec4aa 100644 --- a/kpdf/xpdf/fofi/Makefile.am +++ b/kpdf/xpdf/fofi/Makefile.am @@ -1,8 +1,8 @@ INCLUDES = -I$(srcdir)/.. -I$(srcdir)/../goo $(all_includes) libfofi_la_LDFLAGS = $(all_libraries) -libfofi_la_SOURCES = FoFiBase.cc FoFiEncodings.cc FoFiTrueType.cc \ - FoFiType1.cc FoFiType1C.cc +libfofi_la_SOURCES = FoFiBase.cpp FoFiEncodings.cpp FoFiTrueType.cpp \ + FoFiType1.cpp FoFiType1C.cpp METASOURCES = AUTO diff --git a/kpdf/xpdf/goo/CMakeLists.txt b/kpdf/xpdf/goo/CMakeLists.txt index 5a5a0ac8..dd6dc2d1 100644 --- a/kpdf/xpdf/goo/CMakeLists.txt +++ b/kpdf/xpdf/goo/CMakeLists.txt @@ -22,5 +22,5 @@ include_directories( tde_add_library( goo STATIC_PIC SOURCES - GHash.cc GList.cc GString.cc gfile.cc gmem.cc gmempp.cc + GHash.cpp GList.cpp GString.cpp gfile.cpp gmem.cpp gmempp.cpp ) diff --git a/kpdf/xpdf/goo/GHash.cc b/kpdf/xpdf/goo/GHash.cpp index b51a7643..f642a261 100644 --- a/kpdf/xpdf/goo/GHash.cc +++ b/kpdf/xpdf/goo/GHash.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// GHash.cc +// GHash.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/goo/GList.cc b/kpdf/xpdf/goo/GList.cpp index fb5fd628..2a4e4695 100644 --- a/kpdf/xpdf/goo/GList.cc +++ b/kpdf/xpdf/goo/GList.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// GList.cc +// GList.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/goo/GString.cc b/kpdf/xpdf/goo/GString.cpp index e21fd3ea..89f122e1 100644 --- a/kpdf/xpdf/goo/GString.cc +++ b/kpdf/xpdf/goo/GString.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// GString.cc +// GString.cpp // // Simple variable-length string type. // diff --git a/kpdf/xpdf/goo/Makefile.am b/kpdf/xpdf/goo/Makefile.am index 04933cee..00ffad0d 100644 --- a/kpdf/xpdf/goo/Makefile.am +++ b/kpdf/xpdf/goo/Makefile.am @@ -1,5 +1,5 @@ INCLUDES = -I$(srcdir)/.. -libgoo_la_SOURCES = GHash.cc GList.cc GString.cc gfile.cc gmem.cc gmempp.cc +libgoo_la_SOURCES = GHash.cpp GList.cpp GString.cpp gfile.cpp gmem.cpp gmempp.cpp noinst_LTLIBRARIES = libgoo.la diff --git a/kpdf/xpdf/goo/gfile.cc b/kpdf/xpdf/goo/gfile.cpp index 54a7be3d..bb75b855 100644 --- a/kpdf/xpdf/goo/gfile.cc +++ b/kpdf/xpdf/goo/gfile.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// gfile.cc +// gfile.cpp // // Miscellaneous file and directory name manipulation. // diff --git a/kpdf/xpdf/goo/gmem.cc b/kpdf/xpdf/goo/gmem.cpp index d8962aba..d8962aba 100644 --- a/kpdf/xpdf/goo/gmem.cc +++ b/kpdf/xpdf/goo/gmem.cpp diff --git a/kpdf/xpdf/goo/gmempp.cc b/kpdf/xpdf/goo/gmempp.cpp index b1ee970d..4804889b 100644 --- a/kpdf/xpdf/goo/gmempp.cc +++ b/kpdf/xpdf/goo/gmempp.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// gmempp.cc +// gmempp.cpp // // Use gmalloc/gfree for C++ new/delete operators. // diff --git a/kpdf/xpdf/splash/CMakeLists.txt b/kpdf/xpdf/splash/CMakeLists.txt index 650debba..a99ceeb2 100644 --- a/kpdf/xpdf/splash/CMakeLists.txt +++ b/kpdf/xpdf/splash/CMakeLists.txt @@ -23,11 +23,10 @@ include_directories( tde_add_library( splash STATIC_PIC SOURCES - Splash.cc SplashBitmap.cc SplashClip.cc SplashFTFont.cc - SplashFTFontEngine.cc SplashFTFontFile.cc SplashFont.cc - SplashFontEngine.cc SplashFontFile.cc SplashFontFileID.cc - SplashPath.cc SplashPattern.cc SplashScreen.cc SplashState.cc - SplashT1Font.cc SplashT1FontEngine.cc SplashT1FontFile.cc - SplashXPath.cc SplashXPathScanner.cc + Splash.cpp SplashBitmap.cpp SplashClip.cpp SplashFTFont.cpp + SplashFTFontEngine.cpp SplashFTFontFile.cpp SplashFont.cpp + SplashFontEngine.cpp SplashFontFile.cpp SplashFontFileID.cpp + SplashPath.cpp SplashPattern.cpp SplashScreen.cpp SplashState.cpp + SplashXPath.cpp SplashXPathScanner.cpp LINK ${FREETYPE_LIBRARIES} ${FONTCONFIG_LIBRARIES} ) diff --git a/kpdf/xpdf/splash/Makefile.am b/kpdf/xpdf/splash/Makefile.am index 34d41419..5bf50df6 100644 --- a/kpdf/xpdf/splash/Makefile.am +++ b/kpdf/xpdf/splash/Makefile.am @@ -1,8 +1,8 @@ INCLUDES = -I$(srcdir)/.. -I$(srcdir)/../fofi -I$(srcdir)/../goo $(LIBFREETYPE_CFLAGS) $(USER_INCLUDES) -libsplash_la_SOURCES = Splash.cc SplashBitmap.cc SplashClip.cc SplashFTFont.cc SplashFTFontEngine.cc \ - SplashFTFontFile.cc SplashFont.cc SplashFontEngine.cc SplashFontFile.cc SplashFontFileID.cc \ - SplashPath.cc SplashPattern.cc SplashScreen.cc SplashState.cc SplashT1Font.cc \ - SplashT1FontEngine.cc SplashT1FontFile.cc SplashXPath.cc SplashXPathScanner.cc +libsplash_la_SOURCES = Splash.cpp SplashBitmap.cpp SplashClip.cpp SplashFTFont.cpp SplashFTFontEngine.cpp \ + SplashFTFontFile.cpp SplashFont.cpp SplashFontEngine.cpp SplashFontFile.cpp SplashFontFileID.cpp \ + SplashPath.cpp SplashPattern.cpp SplashScreen.cpp SplashState.cpp \ + SplashXPath.cpp SplashXPathScanner.cpp noinst_LTLIBRARIES = libsplash.la diff --git a/kpdf/xpdf/splash/Splash.cc b/kpdf/xpdf/splash/Splash.cpp index 2b91e4e7..2cfc1ee2 100644 --- a/kpdf/xpdf/splash/Splash.cc +++ b/kpdf/xpdf/splash/Splash.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Splash.cc +// Splash.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashBitmap.cc b/kpdf/xpdf/splash/SplashBitmap.cpp index 62bbd8e8..5b5d28d1 100644 --- a/kpdf/xpdf/splash/SplashBitmap.cc +++ b/kpdf/xpdf/splash/SplashBitmap.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashBitmap.cc +// SplashBitmap.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashClip.cc b/kpdf/xpdf/splash/SplashClip.cpp index ef8acbab..ba03b7a4 100644 --- a/kpdf/xpdf/splash/SplashClip.cc +++ b/kpdf/xpdf/splash/SplashClip.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashClip.cc +// SplashClip.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashFTFont.cc b/kpdf/xpdf/splash/SplashFTFont.cpp index 42d92af4..4bc31210 100644 --- a/kpdf/xpdf/splash/SplashFTFont.cc +++ b/kpdf/xpdf/splash/SplashFTFont.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashFTFont.cc +// SplashFTFont.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashFTFontEngine.cc b/kpdf/xpdf/splash/SplashFTFontEngine.cpp index 02996de7..36cf32e6 100644 --- a/kpdf/xpdf/splash/SplashFTFontEngine.cc +++ b/kpdf/xpdf/splash/SplashFTFontEngine.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashFTFontEngine.cc +// SplashFTFontEngine.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashFTFontFile.cc b/kpdf/xpdf/splash/SplashFTFontFile.cpp index 12725497..697c3ed8 100644 --- a/kpdf/xpdf/splash/SplashFTFontFile.cc +++ b/kpdf/xpdf/splash/SplashFTFontFile.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashFTFontFile.cc +// SplashFTFontFile.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashFont.cc b/kpdf/xpdf/splash/SplashFont.cpp index 4a91d5e8..42c9e999 100644 --- a/kpdf/xpdf/splash/SplashFont.cc +++ b/kpdf/xpdf/splash/SplashFont.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashFont.cc +// SplashFont.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashFontEngine.cc b/kpdf/xpdf/splash/SplashFontEngine.cpp index 4dc1b35b..c3eb33a7 100644 --- a/kpdf/xpdf/splash/SplashFontEngine.cc +++ b/kpdf/xpdf/splash/SplashFontEngine.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashFontEngine.cc +// SplashFontEngine.cpp // //======================================================================== @@ -10,10 +10,6 @@ #pragma implementation #endif -#if HAVE_T1LIB_H -#include <t1lib.h> -#endif - #include <stdlib.h> #include <stdio.h> #ifndef WIN32 @@ -22,7 +18,6 @@ #include "gmem.h" #include "GString.h" #include "SplashMath.h" -#include "SplashT1FontEngine.h" #include "SplashFTFontEngine.h" #include "SplashFontFile.h" #include "SplashFontFileID.h" @@ -40,9 +35,6 @@ extern "C" int unlink(char *filename); //------------------------------------------------------------------------ SplashFontEngine::SplashFontEngine( -#if HAVE_T1LIB_H - GBool enableT1lib, -#endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H GBool enableFreeType, #endif @@ -53,13 +45,6 @@ SplashFontEngine::SplashFontEngine( fontCache[i] = NULL; } -#if HAVE_T1LIB_H - if (enableT1lib) { - t1Engine = SplashT1FontEngine::init(aa); - } else { - t1Engine = NULL; - } -#endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H if (enableFreeType) { ftEngine = SplashFTFontEngine::init(aa); @@ -78,11 +63,6 @@ SplashFontEngine::~SplashFontEngine() { } } -#if HAVE_T1LIB_H - if (t1Engine) { - delete t1Engine; - } -#endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H if (ftEngine) { delete ftEngine; @@ -111,11 +91,6 @@ SplashFontFile *SplashFontEngine::loadType1Font(SplashFontFileID *idA, SplashFontFile *fontFile; fontFile = NULL; -#if HAVE_T1LIB_H - if (!fontFile && t1Engine) { - fontFile = t1Engine->loadType1Font(idA, src, enc); - } -#endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H if (!fontFile && ftEngine) { fontFile = ftEngine->loadType1Font(idA, src, enc); @@ -138,11 +113,6 @@ SplashFontFile *SplashFontEngine::loadType1CFont(SplashFontFileID *idA, SplashFontFile *fontFile; fontFile = NULL; -#if HAVE_T1LIB_H - if (!fontFile && t1Engine) { - fontFile = t1Engine->loadType1CFont(idA, sec, enc); - } -#endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H if (!fontFile && ftEngine) { fontFile = ftEngine->loadType1CFont(idA, src, enc); diff --git a/kpdf/xpdf/splash/SplashFontEngine.h b/kpdf/xpdf/splash/SplashFontEngine.h index ace5e9ae..4718a208 100644 --- a/kpdf/xpdf/splash/SplashFontEngine.h +++ b/kpdf/xpdf/splash/SplashFontEngine.h @@ -15,7 +15,6 @@ #include "gtypes.h" -class SplashT1FontEngine; class SplashFTFontEngine; class SplashDTFontEngine; class SplashDT4FontEngine; @@ -37,9 +36,6 @@ public: // Create a font engine. SplashFontEngine( -#if HAVE_T1LIB_H - GBool enableT1lib, -#endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H GBool enableFreeType, #endif @@ -75,9 +71,6 @@ private: SplashFont *fontCache[splashFontCacheSize]; -#if HAVE_T1LIB_H - SplashT1FontEngine *t1Engine; -#endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H SplashFTFontEngine *ftEngine; #endif diff --git a/kpdf/xpdf/splash/SplashFontFile.cc b/kpdf/xpdf/splash/SplashFontFile.cpp index ad58c22d..c66447bb 100644 --- a/kpdf/xpdf/splash/SplashFontFile.cc +++ b/kpdf/xpdf/splash/SplashFontFile.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashFontFile.cc +// SplashFontFile.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashFontFileID.cc b/kpdf/xpdf/splash/SplashFontFileID.cpp index af37cb2f..9182d4d8 100644 --- a/kpdf/xpdf/splash/SplashFontFileID.cc +++ b/kpdf/xpdf/splash/SplashFontFileID.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashFontFileID.cc +// SplashFontFileID.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashPath.cc b/kpdf/xpdf/splash/SplashPath.cpp index e3a89271..4a3c334c 100644 --- a/kpdf/xpdf/splash/SplashPath.cc +++ b/kpdf/xpdf/splash/SplashPath.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashPath.cc +// SplashPath.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashPattern.cc b/kpdf/xpdf/splash/SplashPattern.cpp index e6a37852..2aa4f70f 100644 --- a/kpdf/xpdf/splash/SplashPattern.cc +++ b/kpdf/xpdf/splash/SplashPattern.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashPattern.cc +// SplashPattern.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashScreen.cc b/kpdf/xpdf/splash/SplashScreen.cpp index 3e8d36ca..a1f50c0a 100644 --- a/kpdf/xpdf/splash/SplashScreen.cc +++ b/kpdf/xpdf/splash/SplashScreen.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashScreen.cc +// SplashScreen.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashState.cc b/kpdf/xpdf/splash/SplashState.cpp index e2c34c44..17445ad7 100644 --- a/kpdf/xpdf/splash/SplashState.cc +++ b/kpdf/xpdf/splash/SplashState.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashState.cc +// SplashState.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashT1Font.cc b/kpdf/xpdf/splash/SplashT1Font.cc deleted file mode 100644 index 19237e1d..00000000 --- a/kpdf/xpdf/splash/SplashT1Font.cc +++ /dev/null @@ -1,292 +0,0 @@ -//======================================================================== -// -// SplashT1Font.cc -// -//======================================================================== - -#include <aconf.h> - -#if HAVE_T1LIB_H - -#ifdef USE_GCC_PRAGMAS -#pragma implementation -#endif - -#include <stdlib.h> -#include <t1lib.h> -#include "gmem.h" -#include "SplashMath.h" -#include "SplashGlyphBitmap.h" -#include "SplashPath.h" -#include "SplashT1FontEngine.h" -#include "SplashT1FontFile.h" -#include "SplashT1Font.h" - -//------------------------------------------------------------------------ - -static Guchar bitReverse[256] = { - 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, - 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, - 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, - 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, - 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, - 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, - 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, - 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, - 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, - 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, - 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, - 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, - 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, - 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, - 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, - 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, - 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, - 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, - 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, - 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, - 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, - 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, - 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, - 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, - 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, - 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, - 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, - 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, - 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, - 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, - 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, - 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff -}; - -//------------------------------------------------------------------------ -// SplashT1Font -//------------------------------------------------------------------------ - -SplashT1Font::SplashT1Font(SplashT1FontFile *fontFileA, SplashCoord *matA, - SplashCoord *textMatA): - SplashFont(fontFileA, matA, textMatA, fontFileA->engine->aa) -{ - T1_TMATRIX matrix; - BBox bbox; - SplashCoord bbx0, bby0, bbx1, bby1; - int x, y; - - t1libID = T1_CopyFont(fontFileA->t1libID); - outlineID = -1; - - // compute font size - size = (float)splashSqrt(mat[2]*mat[2] + mat[3]*mat[3]); - - // transform the four corners of the font bounding box -- the min - // and max values form the bounding box of the transformed font - bbox = T1_GetFontBBox(t1libID); - bbx0 = 0.001 * bbox.llx; - bby0 = 0.001 * bbox.lly; - bbx1 = 0.001 * bbox.urx; - bby1 = 0.001 * bbox.ury; - // some fonts are completely broken, so we fake it (with values - // large enough that most glyphs should fit) - if (bbx0 == 0 && bby0 == 0 && bbx1 == 0 && bby1 == 0) { - bbx0 = bby0 = -0.5; - bbx1 = bby1 = 1.5; - } - x = (int)(mat[0] * bbx0 + mat[2] * bby0); - xMin = xMax = x; - y = (int)(mat[1] * bbx0 + mat[3] * bby0); - yMin = yMax = y; - x = (int)(mat[0] * bbx0 + mat[2] * bby1); - if (x < xMin) { - xMin = x; - } else if (x > xMax) { - xMax = x; - } - y = (int)(mat[1] * bbx0 + mat[3] * bby1); - if (y < yMin) { - yMin = y; - } else if (y > yMax) { - yMax = y; - } - x = (int)(mat[0] * bbx1 + mat[2] * bby0); - if (x < xMin) { - xMin = x; - } else if (x > xMax) { - xMax = x; - } - y = (int)(mat[1] * bbx1 + mat[3] * bby0); - if (y < yMin) { - yMin = y; - } else if (y > yMax) { - yMax = y; - } - x = (int)(mat[0] * bbx1 + mat[2] * bby1); - if (x < xMin) { - xMin = x; - } else if (x > xMax) { - xMax = x; - } - y = (int)(mat[1] * bbx1 + mat[3] * bby1); - if (y < yMin) { - yMin = y; - } else if (y > yMax) { - yMax = y; - } - // This is a kludge: some buggy PDF generators embed fonts with - // zero bounding boxes. - if (xMax == xMin) { - xMin = 0; - xMax = (int)size; - } - if (yMax == yMin) { - yMin = 0; - yMax = (int)(1.2 * size); - } - // Another kludge: an unusually large xMin or yMin coordinate is - // probably wrong. - if (xMin > 0) { - xMin = 0; - } - if (yMin > 0) { - yMin = 0; - } - // Another kludge: t1lib doesn't correctly handle fonts with - // real (non-integer) bounding box coordinates. - if (xMax - xMin > 5000) { - xMin = 0; - xMax = (int)size; - } - if (yMax - yMin > 5000) { - yMin = 0; - yMax = (int)(1.2 * size); - } - - // transform the font - matrix.cxx = (double)mat[0] / size; - matrix.cxy = (double)mat[1] / size; - matrix.cyx = (double)mat[2] / size; - matrix.cyy = (double)mat[3] / size; - T1_TransformFont(t1libID, &matrix); -} - -SplashT1Font::~SplashT1Font() { - T1_DeleteFont(t1libID); - if (outlineID >= 0) { - T1_DeleteFont(outlineID); - } -} - -GBool SplashT1Font::getGlyph(int c, int xFrac, int yFrac, - SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) { - return SplashFont::getGlyph(c, 0, 0, bitmap, x0, y0, clip, clipRes); -} - -GBool SplashT1Font::makeGlyph(int c, int xFrac, int yFrac, - SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) { - GLYPH *glyph; - int n, i; - - if (aa) { - glyph = T1_AASetChar(t1libID, c, size, NULL); - } else { - glyph = T1_SetChar(t1libID, c, size, NULL); - } - if (!glyph) { - return gFalse; - } - - bitmap->x = -glyph->metrics.leftSideBearing; - bitmap->y = glyph->metrics.ascent; - bitmap->w = glyph->metrics.rightSideBearing - glyph->metrics.leftSideBearing; - bitmap->h = glyph->metrics.ascent - glyph->metrics.descent; - bitmap->aa = aa; - if (aa) { - bitmap->data = (Guchar *)glyph->bits; - bitmap->freeData = gFalse; - } else { - n = bitmap->h * ((bitmap->w + 7) >> 3); - bitmap->data = (Guchar *)gmalloc(n); - for (i = 0; i < n; ++i) { - bitmap->data[i] = bitReverse[glyph->bits[i] & 0xff]; - } - bitmap->freeData = gTrue; - } - - *clipRes = clip->testRect(x0 - bitmap->x, - y0 - bitmap->y, - x0 - bitmap->x + bitmap->w - 1, - y0 - bitmap->y + bitmap->h - 1); - - return gTrue; -} - -SplashPath *SplashT1Font::getGlyphPath(int c) { - T1_TMATRIX matrix; - SplashPath *path; - T1_OUTLINE *outline; - T1_PATHSEGMENT *seg; - T1_BEZIERSEGMENT *bez; - SplashCoord x, y, x1, y1; - GBool needClose; - - if (outlineID < 0) { - outlineID = T1_CopyFont(((SplashT1FontFile *)fontFile)->t1libID); - outlineSize = (float)splashSqrt(textMat[2]*textMat[2] + - textMat[3]*textMat[3]); - matrix.cxx = (double)textMat[0] / outlineSize; - matrix.cxy = (double)textMat[1] / outlineSize; - matrix.cyx = (double)textMat[2] / outlineSize; - matrix.cyy = (double)textMat[3] / outlineSize; - // t1lib doesn't seem to handle small sizes correctly here, so set - // the size to 1000, and scale the resulting coordinates later - outlineMul = (float)(outlineSize / 65536000.0); - outlineSize = 1000; - T1_TransformFont(outlineID, &matrix); - } - - path = new SplashPath(); - if ((outline = T1_GetCharOutline(outlineID, c, outlineSize, NULL))) { - x = 0; - y = 0; - needClose = gFalse; - for (seg = outline; seg; seg = seg->link) { - switch (seg->type) { - case T1_PATHTYPE_MOVE: - if (needClose) { - path->close(); - needClose = gFalse; - } - x += seg->dest.x * outlineMul; - y += seg->dest.y * outlineMul; - path->moveTo(x, -y); - break; - case T1_PATHTYPE_LINE: - x += seg->dest.x * outlineMul; - y += seg->dest.y * outlineMul; - path->lineTo(x, -y); - needClose = gTrue; - break; - case T1_PATHTYPE_BEZIER: - bez = (T1_BEZIERSEGMENT *)seg; - x1 = x + (SplashCoord)(bez->dest.x * outlineMul); - y1 = y + (SplashCoord)(bez->dest.y * outlineMul); - path->curveTo(x + (SplashCoord)(bez->B.x * outlineMul), - -(y + (SplashCoord)(bez->B.y * outlineMul)), - x + (SplashCoord)(bez->C.x * outlineMul), - -(y + (SplashCoord)(bez->C.y * outlineMul)), - x1, -y1); - x = x1; - y = y1; - needClose = gTrue; - break; - } - } - if (needClose) { - path->close(); - } - T1_FreeOutline(outline); - } - - return path; -} - -#endif // HAVE_T1LIB_H diff --git a/kpdf/xpdf/splash/SplashT1Font.h b/kpdf/xpdf/splash/SplashT1Font.h deleted file mode 100644 index 129c6ad5..00000000 --- a/kpdf/xpdf/splash/SplashT1Font.h +++ /dev/null @@ -1,57 +0,0 @@ -//======================================================================== -// -// SplashT1Font.h -// -//======================================================================== - -#ifndef SPLASHT1FONT_H -#define SPLASHT1FONT_H - -#include <aconf.h> - -#if HAVE_T1LIB_H - -#ifdef USE_GCC_PRAGMAS -#pragma interface -#endif - -#include "SplashFont.h" - -class SplashT1FontFile; - -//------------------------------------------------------------------------ -// SplashT1Font -//------------------------------------------------------------------------ - -class SplashT1Font: public SplashFont { -public: - - SplashT1Font(SplashT1FontFile *fontFileA, SplashCoord *matA, - SplashCoord *textMatA); - - virtual ~SplashT1Font(); - - // Munge xFrac and yFrac before calling SplashFont::getGlyph. - virtual GBool getGlyph(int c, int xFrac, int yFrac, - SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes); - - // Rasterize a glyph. The <xFrac> and <yFrac> values are the same - // as described for getGlyph. - virtual GBool makeGlyph(int c, int xFrac, int yFrac, - SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes); - - // Return the path for a glyph. - virtual SplashPath *getGlyphPath(int c); - -private: - - int t1libID; // t1lib font ID - int outlineID; // t1lib font ID for glyph outlines - float size; - float outlineSize; // size for glyph outlines - float outlineMul; -}; - -#endif // HAVE_T1LIB_H - -#endif diff --git a/kpdf/xpdf/splash/SplashT1FontEngine.cc b/kpdf/xpdf/splash/SplashT1FontEngine.cc deleted file mode 100644 index 68530e88..00000000 --- a/kpdf/xpdf/splash/SplashT1FontEngine.cc +++ /dev/null @@ -1,122 +0,0 @@ -//======================================================================== -// -// SplashT1FontEngine.cc -// -//======================================================================== - -#include <aconf.h> - -#if HAVE_T1LIB_H - -#ifdef USE_GCC_PRAGMAS -#pragma implementation -#endif - -#include <stdlib.h> -#include <stdio.h> -#ifndef WIN32 -# include <unistd.h> -#endif -#include <t1lib.h> -#include "GString.h" -#include "gfile.h" -#include "FoFiType1C.h" -#include "SplashT1FontFile.h" -#include "SplashT1FontEngine.h" - -#ifdef VMS -#if (__VMS_VER < 70000000) -extern "C" int unlink(char *filename); -#endif -#endif - -//------------------------------------------------------------------------ - -int SplashT1FontEngine::t1libInitCount = 0; - -//------------------------------------------------------------------------ - -static void fileWrite(void *stream, char *data, int len) { - fwrite(data, 1, len, (FILE *)stream); -} - -//------------------------------------------------------------------------ -// SplashT1FontEngine -//------------------------------------------------------------------------ - -SplashT1FontEngine::SplashT1FontEngine(GBool aaA) { - aa = aaA; -} - -SplashT1FontEngine *SplashT1FontEngine::init(GBool aaA) { - // grayVals[i] = round(i * 255 / 16) - static unsigned long grayVals[17] = { - 0, 16, 32, 48, 64, 80, 96, 112, 128, 143, 159, 175, 191, 207, 223, 239, 255 - }; - - //~ for multithreading: need a mutex here - if (t1libInitCount == 0) { - T1_SetBitmapPad(8); - if (!T1_InitLib(NO_LOGFILE | IGNORE_CONFIGFILE | IGNORE_FONTDATABASE | - T1_NO_AFM)) { - return NULL; - } - if (aaA) { - T1_AASetBitsPerPixel(8); - T1_AASetLevel(T1_AA_HIGH); - T1_AAHSetGrayValues(grayVals); - } else { - T1_AANSetGrayValues(0, 1); - } - } - ++t1libInitCount; - - return new SplashT1FontEngine(aaA); -} - -SplashT1FontEngine::~SplashT1FontEngine() { - //~ for multithreading: need a mutex here - if (--t1libInitCount == 0) { - T1_CloseLib(); - } -} - -SplashFontFile *SplashT1FontEngine::loadType1Font(SplashFontFileID *idA, - SplashFontSrc *src, - char **enc) { - return SplashT1FontFile::loadType1Font(this, idA, fileName, deleteFile, enc); -} - -SplashFontFile *SplashT1FontEngine::loadType1CFont(SplashFontFileID *idA, - SplashFontSrc *src, - char **enc) { - FoFiType1C *ff; - GString *tmpFileName; - FILE *tmpFile; - SplashFontFile *ret; - SplashFontSrc *newsrc; - - if (src->isFile) - ff = FoFiType1C::load(src->fileName); - else - ff = new FoFiType1C(src->buf, src->bufLen, gFalse); - if (! ff) - return NULL; - } - tmpFileName = NULL; - if (!openTempFile(&tmpFileName, &tmpFile, "wb", NULL)) { - delete ff; - return NULL; - } - ff->convertToType1(NULL, NULL, gTrue, &fileWrite, tmpFile); - delete ff; - fclose(tmpFile); - newsrc = new SplashFontSrc; - newsrc->setFile(tmpFileName, gTrue); - delete tmpFileName; - ret = SplashT1FontFile::loadType1Font(this, idA, newsrc, enc); - newsrc->unref(); - return ret; -} - -#endif // HAVE_T1LIB_H diff --git a/kpdf/xpdf/splash/SplashT1FontEngine.h b/kpdf/xpdf/splash/SplashT1FontEngine.h deleted file mode 100644 index 57a04487..00000000 --- a/kpdf/xpdf/splash/SplashT1FontEngine.h +++ /dev/null @@ -1,53 +0,0 @@ -//======================================================================== -// -// SplashT1FontEngine.h -// -//======================================================================== - -#ifndef SPLASHT1FONTENGINE_H -#define SPLASHT1FONTENGINE_H - -#include <aconf.h> - -#if HAVE_T1LIB_H - -#ifdef USE_GCC_PRAGMAS -#pragma interface -#endif - -#include "gtypes.h" - -class SplashFontFile; -class SplashFontFileID; - -//------------------------------------------------------------------------ -// SplashT1FontEngine -//------------------------------------------------------------------------ - -class SplashT1FontEngine { -public: - - static SplashT1FontEngine *init(GBool aaA); - - ~SplashT1FontEngine(); - - // Load fonts. - SplashFontFile *loadType1Font(SplashFontFileID *idA, char *fileName, - GBool deleteFile, char **enc); - SplashFontFile *loadType1CFont(SplashFontFileID *idA, char *fileName, - GBool deleteFile, char **enc); - -private: - - SplashT1FontEngine(GBool aaA); - - static int t1libInitCount; - GBool aa; - - friend class SplashT1FontFile; - friend class SplashT1Font; -}; - -#endif // HAVE_T1LIB_H - -#endif diff --git a/kpdf/xpdf/splash/SplashT1FontFile.cc b/kpdf/xpdf/splash/SplashT1FontFile.cc deleted file mode 100644 index 54312055..00000000 --- a/kpdf/xpdf/splash/SplashT1FontFile.cc +++ /dev/null @@ -1,117 +0,0 @@ -//======================================================================== -// -// SplashT1FontFile.cc -// -//======================================================================== - -#include <aconf.h> - -#if HAVE_T1LIB_H - -#ifdef USE_GCC_PRAGMAS -#pragma implementation -#endif - -#include <string.h> -#include <t1lib.h> -#include "gmem.h" -#include "SplashT1FontEngine.h" -#include "SplashT1Font.h" -#include "SplashT1FontFile.h" - -//------------------------------------------------------------------------ -// SplashT1FontFile -//------------------------------------------------------------------------ - -SplashFontFile *SplashT1FontFile::loadType1Font(SplashT1FontEngine *engineA, - SplashFontFileID *idA, - SplashFontSrc *src, - char **encA) { - int t1libIDA; - char **encTmp; - char *encStrTmp; - int encStrSize; - char *encPtr; - int i; - - GString *fileNameA; - SplashFontSrc *newsrc = NULL; - SplashFontFile *ff; - - if (! src->isFile) { - GString *tmpFileName; - FILE *tmpFile; - if (!openTempFile(&tmpFileName, &tmpFile, "wb", NULL)) - return NULL; - fwrite(src->buf, 1, src->bufLen, tmpFile); - fclose(tmpFile); - newsrc = new SplashFontSrc; - newsrc->setFile(tmpFileName, gTrue); - src = newsrc; - delete tmpFileName; - } - fileNameA = src->fileName; - // load the font file - if ((t1libIDA = T1_AddFont(fileNameA)) < 0) { - delete newsrc; - return NULL; - } - T1_LoadFont(t1libIDA); - - // reencode it - encStrSize = 0; - for (i = 0; i < 256; ++i) { - if (encA[i]) { - encStrSize += strlen(encA[i]) + 1; - } - } - encTmp = (char **)gmallocn(257, sizeof(char *)); - encStrTmp = (char *)gmallocn(encStrSize, sizeof(char)); - encPtr = encStrTmp; - for (i = 0; i < 256; ++i) { - if (encA[i]) { - strcpy(encPtr, encA[i]); - encTmp[i] = encPtr; - encPtr += strlen(encPtr) + 1; - } else { - encTmp[i] = ".notdef"; - } - } - encTmp[256] = "custom"; - T1_ReencodeFont(t1libIDA, encTmp); - - ff = new SplashT1FontFile(engineA, idA, src, - t1libIDA, encTmp, encStrTmp); - if (newsrc) - newsrc->unref(); - return ff; -} - -SplashT1FontFile::SplashT1FontFile(SplashT1FontEngine *engineA, - SplashFontFileID *idA, - SplashFontSrc *srcA, - int t1libIDA, char **encA, char *encStrA): - SplashFontFile(idA, srcA) -{ - engine = engineA; - t1libID = t1libIDA; - enc = encA; - encStr = encStrA; -} - -SplashT1FontFile::~SplashT1FontFile() { - gfree(encStr); - gfree(enc); - T1_DeleteFont(t1libID); -} - -SplashFont *SplashT1FontFile::makeFont(SplashCoord *mat, - SplashCoord *textMat) { - SplashFont *font; - - font = new SplashT1Font(this, mat, textMat); - font->initCache(); - return font; -} - -#endif // HAVE_T1LIB_H diff --git a/kpdf/xpdf/splash/SplashT1FontFile.h b/kpdf/xpdf/splash/SplashT1FontFile.h deleted file mode 100644 index 4dc93cbf..00000000 --- a/kpdf/xpdf/splash/SplashT1FontFile.h +++ /dev/null @@ -1,58 +0,0 @@ -//======================================================================== -// -// SplashT1FontFile.h -// -//======================================================================== - -#ifndef SPLASHT1FONTFILE_H -#define SPLASHT1FONTFILE_H - -#include <aconf.h> - -#if HAVE_T1LIB_H - -#ifdef USE_GCC_PRAGMAS -#pragma interface -#endif - -#include "SplashFontFile.h" - -class SplashT1FontEngine; - -//------------------------------------------------------------------------ -// SplashT1FontFile -//------------------------------------------------------------------------ - -class SplashT1FontFile: public SplashFontFile { -public: - - static SplashFontFile *loadType1Font(SplashT1FontEngine *engineA, - SplashFontFileID *idA, - char *fileNameA, - char **encA); - - virtual ~SplashT1FontFile(); - - // Create a new SplashT1Font, i.e., a scaled instance of this font - // file. - virtual SplashFont *makeFont(SplashCoord *mat, - SplashCoord *textMat); - -private: - - SplashT1FontFile(SplashT1FontEngine *engineA, - SplashFontFileID *idA, - char *fileNameA, - int t1libIDA, char **encA, char *encStrA); - - SplashT1FontEngine *engine; - int t1libID; // t1lib font ID - char **enc; - char *encStr; - - friend class SplashT1Font; -}; - -#endif // HAVE_T1LIB_H - -#endif diff --git a/kpdf/xpdf/splash/SplashTypes.h b/kpdf/xpdf/splash/SplashTypes.h index 35551b90..aa431b78 100644 --- a/kpdf/xpdf/splash/SplashTypes.h +++ b/kpdf/xpdf/splash/SplashTypes.h @@ -48,7 +48,7 @@ enum SplashColorMode { }; // number of components in each color mode -// (defined in SplashState.cc) +// (defined in SplashState.cpp) extern int splashColorModeNComps[]; // max number of components in any SplashColor diff --git a/kpdf/xpdf/splash/SplashXPath.cc b/kpdf/xpdf/splash/SplashXPath.cpp index 71481eff..267643bb 100644 --- a/kpdf/xpdf/splash/SplashXPath.cc +++ b/kpdf/xpdf/splash/SplashXPath.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashXPath.cc +// SplashXPath.cpp // //======================================================================== diff --git a/kpdf/xpdf/splash/SplashXPathScanner.cc b/kpdf/xpdf/splash/SplashXPathScanner.cpp index 97e5a9bc..8c7d505a 100644 --- a/kpdf/xpdf/splash/SplashXPathScanner.cc +++ b/kpdf/xpdf/splash/SplashXPathScanner.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashXPathScanner.cc +// SplashXPathScanner.cpp // //======================================================================== diff --git a/kpdf/xpdf/xpdf/Annot.cc b/kpdf/xpdf/xpdf/Annot.cpp index 23df25df..10d3ce73 100644 --- a/kpdf/xpdf/xpdf/Annot.cc +++ b/kpdf/xpdf/xpdf/Annot.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Annot.cc +// Annot.cpp // // Copyright 2000-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Array.cc b/kpdf/xpdf/xpdf/Array.cpp index 8232037b..7c54605a 100644 --- a/kpdf/xpdf/xpdf/Array.cc +++ b/kpdf/xpdf/xpdf/Array.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Array.cc +// Array.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/BuiltinFont.cc b/kpdf/xpdf/xpdf/BuiltinFont.cpp index ce989571..6e9d2375 100644 --- a/kpdf/xpdf/xpdf/BuiltinFont.cc +++ b/kpdf/xpdf/xpdf/BuiltinFont.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// BuiltinFont.cc +// BuiltinFont.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/BuiltinFontTables.cc b/kpdf/xpdf/xpdf/BuiltinFontTables.cpp index 9c362389..9779946f 100644 --- a/kpdf/xpdf/xpdf/BuiltinFontTables.cc +++ b/kpdf/xpdf/xpdf/BuiltinFontTables.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// BuiltinFontTables.cc +// BuiltinFontTables.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/CMakeLists.txt b/kpdf/xpdf/xpdf/CMakeLists.txt index db01bb97..bf9f329c 100644 --- a/kpdf/xpdf/xpdf/CMakeLists.txt +++ b/kpdf/xpdf/xpdf/CMakeLists.txt @@ -24,14 +24,14 @@ include_directories( tde_add_library( xpdf STATIC_PIC SOURCES - Annot.cc Array.cc BuiltinFont.cc BuiltinFontTables.cc - Catalog.cc CharCodeToUnicode.cc CMap.cc Decrypt.cc Dict.cc - FontEncodingTables.cc Function.cc Gfx.cc GfxFont.cc GfxState.cc - GlobalParams.cc JArithmeticDecoder.cc JBIG2Stream.cc Lexer.cc Link.cc - NameToCharCode.cc Object.cc Outline.cc OutputDev.cc PDFDoc.cc - PDFDocEncoding.cc PreScanOutputDev.cc PSTokenizer.cc Page.cc - Parser.cc PSOutputDev.cc SecurityHandler.cc SplashOutputDev.cc - Stream.cc JPXStream.cc TextOutputDev.cc UnicodeMap.cc - UnicodeTypeTable.cc XRef.cc + Annot.cpp Array.cpp BuiltinFont.cpp BuiltinFontTables.cpp + Catalog.cpp CharCodeToUnicode.cpp CMap.cpp Decrypt.cpp Dict.cpp + FontEncodingTables.cpp Function.cpp Gfx.cpp GfxFont.cpp GfxState.cpp + GlobalParams.cpp JArithmeticDecoder.cpp JBIG2Stream.cpp Lexer.cpp Link.cpp + NameToCharCode.cpp Object.cpp Outline.cpp OutputDev.cpp PDFDoc.cpp + PDFDocEncoding.cpp PreScanOutputDev.cpp PSTokenizer.cpp Page.cpp + Parser.cpp PSOutputDev.cpp SecurityHandler.cpp SplashOutputDev.cpp + Stream.cpp JPXStream.cpp TextOutputDev.cpp UnicodeMap.cpp + UnicodeTypeTable.cpp XRef.cpp LINK ${FONTCONFIG_LIBRARIES} ) diff --git a/kpdf/xpdf/xpdf/CMap.cc b/kpdf/xpdf/xpdf/CMap.cpp index 89905a8c..dfad915f 100644 --- a/kpdf/xpdf/xpdf/CMap.cc +++ b/kpdf/xpdf/xpdf/CMap.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// CMap.cc +// CMap.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Catalog.cc b/kpdf/xpdf/xpdf/Catalog.cpp index 198703a4..ce64af09 100644 --- a/kpdf/xpdf/xpdf/Catalog.cc +++ b/kpdf/xpdf/xpdf/Catalog.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Catalog.cc +// Catalog.cpp // // Copyright 1996-2007 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/CharCodeToUnicode.cc b/kpdf/xpdf/xpdf/CharCodeToUnicode.cpp index 3702a16d..1144caec 100644 --- a/kpdf/xpdf/xpdf/CharCodeToUnicode.cc +++ b/kpdf/xpdf/xpdf/CharCodeToUnicode.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// CharCodeToUnicode.cc +// CharCodeToUnicode.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Decrypt.cc b/kpdf/xpdf/xpdf/Decrypt.cpp index 51e56fb1..97fa0bd6 100644 --- a/kpdf/xpdf/xpdf/Decrypt.cc +++ b/kpdf/xpdf/xpdf/Decrypt.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Decrypt.cc +// Decrypt.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Dict.cc b/kpdf/xpdf/xpdf/Dict.cpp index dd1517f0..593e9a11 100644 --- a/kpdf/xpdf/xpdf/Dict.cc +++ b/kpdf/xpdf/xpdf/Dict.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Dict.cc +// Dict.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/FontEncodingTables.cc b/kpdf/xpdf/xpdf/FontEncodingTables.cpp index f3b9280a..4cd1affe 100644 --- a/kpdf/xpdf/xpdf/FontEncodingTables.cc +++ b/kpdf/xpdf/xpdf/FontEncodingTables.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// FontEncodingTables.cc +// FontEncodingTables.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Function.cc b/kpdf/xpdf/xpdf/Function.cpp index eaf8e974..f36c8f6c 100644 --- a/kpdf/xpdf/xpdf/Function.cc +++ b/kpdf/xpdf/xpdf/Function.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Function.cc +// Function.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Gfx.cc b/kpdf/xpdf/xpdf/Gfx.cpp index e3df8384..2a4fdb6e 100644 --- a/kpdf/xpdf/xpdf/Gfx.cc +++ b/kpdf/xpdf/xpdf/Gfx.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Gfx.cc +// Gfx.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/GfxFont.cc b/kpdf/xpdf/xpdf/GfxFont.cpp index 8694be47..4298b41c 100644 --- a/kpdf/xpdf/xpdf/GfxFont.cc +++ b/kpdf/xpdf/xpdf/GfxFont.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// GfxFont.cc +// GfxFont.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/GfxState.cc b/kpdf/xpdf/xpdf/GfxState.cpp index a00dabe1..f7cb1ce9 100644 --- a/kpdf/xpdf/xpdf/GfxState.cc +++ b/kpdf/xpdf/xpdf/GfxState.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// GfxState.cc +// GfxState.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/GfxState.h b/kpdf/xpdf/xpdf/GfxState.h index f85643dc..52c5c93c 100644 --- a/kpdf/xpdf/xpdf/GfxState.h +++ b/kpdf/xpdf/xpdf/GfxState.h @@ -114,7 +114,7 @@ struct GfxCMYK { //------------------------------------------------------------------------ // NB: The nGfxColorSpaceModes constant and the gfxColorSpaceModeNames -// array defined in GfxState.cc must match this enum. +// array defined in GfxState.cpp must match this enum. enum GfxColorSpaceMode { csDeviceGray, csCalGray, diff --git a/kpdf/xpdf/xpdf/GlobalParams.cc b/kpdf/xpdf/xpdf/GlobalParams.cpp index 6212f42e..d98a0ce5 100644 --- a/kpdf/xpdf/xpdf/GlobalParams.cc +++ b/kpdf/xpdf/xpdf/GlobalParams.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// GlobalParams.cc +// GlobalParams.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // @@ -713,7 +713,6 @@ GlobalParams::GlobalParams(char *cfgFileName) { fontDirs = new GList(); initialZoom = new GString("125"); continuousView = gFalse; - enableT1lib = gTrue; enableFreeType = gTrue; antialias = gTrue; vectorAntialias = gTrue; @@ -1073,8 +1072,6 @@ void GlobalParams::parseLine(char *buf, GString *fileName, int line) { parseInitialZoom(tokens, fileName, line); } else if (!cmd->cmp("continuousView")) { parseYesNo("continuousView", &continuousView, tokens, fileName, line); - } else if (!cmd->cmp("enableT1lib")) { - parseYesNo("enableT1lib", &enableT1lib, tokens, fileName, line); } else if (!cmd->cmp("enableFreeType")) { parseYesNo("enableFreeType", &enableFreeType, tokens, fileName, line); } else if (!cmd->cmp("antialias")) { @@ -1125,9 +1122,9 @@ void GlobalParams::parseLine(char *buf, GString *fileName, int line) { !cmd->cmp("displayNamedCIDFontX") || !cmd->cmp("displayCIDFontX")) { error(-1, "-- Xpdf no longer supports X fonts"); - } else if (!cmd->cmp("t1libControl") || !cmd->cmp("freetypeControl")) { - error(-1, "-- The t1libControl and freetypeControl options have been replaced"); - error(-1, " by the enableT1lib, enableFreeType, and antialias options"); + } else if (!cmd->cmp("freetypeControl")) { + error(-1, "-- The freetypeControl option has been replaced"); + error(-1, " by the enableFreeType, and antialias options"); } else if (!cmd->cmp("fontpath") || !cmd->cmp("fontmap")) { error(-1, "-- the config file format has changed since Xpdf 0.9x"); } @@ -2094,7 +2091,7 @@ DisplayFontParam *GlobalParams::getDisplayFont(GString *fontName) { if (res != FcResultMatch || !s) goto fin; ext = rindex((char*)s,'.'); if (!ext) goto fin; - if (!strncasecmp(ext,".ttf",4) || !strncasecmp(ext,".ttc",4)) { + if (!strncasecmp(ext,".ttf",4) || !strncasecmp(ext,".ttc",4) || !strncasecmp(ext,".otf",4)) { dfp = new DisplayFontParam(fontName->copy(), displayFontTT); dfp->tt.fileName = new GString((char*)s); FcPatternGetInteger(m, FC_INDEX, 0, &(dfp->tt.faceIndex)); @@ -2395,15 +2392,6 @@ GBool GlobalParams::getContinuousView() { return f; } -GBool GlobalParams::getEnableT1lib() { - GBool f; - - lockGlobalParams; - f = enableT1lib; - unlockGlobalParams; - return f; -} - GBool GlobalParams::getEnableFreeType() { GBool f; @@ -2827,15 +2815,6 @@ void GlobalParams::setContinuousView(GBool cont) { unlockGlobalParams; } -GBool GlobalParams::setEnableT1lib(char *s) { - GBool ok; - - lockGlobalParams; - ok = parseYesNo2(s, &enableT1lib); - unlockGlobalParams; - return ok; -} - GBool GlobalParams::setEnableFreeType(char *s) { GBool ok; diff --git a/kpdf/xpdf/xpdf/GlobalParams.h b/kpdf/xpdf/xpdf/GlobalParams.h index c0543eda..85b3c27d 100644 --- a/kpdf/xpdf/xpdf/GlobalParams.h +++ b/kpdf/xpdf/xpdf/GlobalParams.h @@ -242,7 +242,6 @@ public: GString *findFontFile(GString *fontName, char **exts); GString *getInitialZoom(); GBool getContinuousView(); - GBool getEnableT1lib(); GBool getEnableFreeType(); GBool getAntialias(); GBool getVectorAntialias(); @@ -294,7 +293,6 @@ public: void setTextKeepTinyChars(GBool keep); void setInitialZoom(char *s); void setContinuousView(GBool cont); - GBool setEnableT1lib(char *s); GBool setEnableFreeType(char *s); GBool setAntialias(char *s); GBool setVectorAntialias(char *s); @@ -424,7 +422,6 @@ private: GList *fontDirs; // list of font dirs [GString] GString *initialZoom; // initial zoom level GBool continuousView; // continuous view mode - GBool enableT1lib; // t1lib enable flag GBool enableFreeType; // FreeType enable flag GBool antialias; // font anti-aliasing enable flag GBool vectorAntialias; // vector anti-aliasing enable flag diff --git a/kpdf/xpdf/xpdf/JArithmeticDecoder.cc b/kpdf/xpdf/xpdf/JArithmeticDecoder.cpp index 195b73e1..7f7c7685 100644 --- a/kpdf/xpdf/xpdf/JArithmeticDecoder.cc +++ b/kpdf/xpdf/xpdf/JArithmeticDecoder.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// JArithmeticDecoder.cc +// JArithmeticDecoder.cpp // // Copyright 2002-2004 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/JBIG2Stream.cc b/kpdf/xpdf/xpdf/JBIG2Stream.cpp index 43f17712..1a4058f8 100644 --- a/kpdf/xpdf/xpdf/JBIG2Stream.cc +++ b/kpdf/xpdf/xpdf/JBIG2Stream.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// JBIG2Stream.cc +// JBIG2Stream.cpp // // Copyright 2002-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/JPXStream.cc b/kpdf/xpdf/xpdf/JPXStream.cpp index 54a9e103..93b46471 100644 --- a/kpdf/xpdf/xpdf/JPXStream.cc +++ b/kpdf/xpdf/xpdf/JPXStream.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// JPXStream.cc +// JPXStream.cpp // // Copyright 2002-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Lexer.cc b/kpdf/xpdf/xpdf/Lexer.cpp index 1ef37175..04eadef2 100644 --- a/kpdf/xpdf/xpdf/Lexer.cc +++ b/kpdf/xpdf/xpdf/Lexer.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Lexer.cc +// Lexer.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Link.cc b/kpdf/xpdf/xpdf/Link.cpp index ae2de537..69106e13 100644 --- a/kpdf/xpdf/xpdf/Link.cc +++ b/kpdf/xpdf/xpdf/Link.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Link.cc +// Link.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Makefile.am b/kpdf/xpdf/xpdf/Makefile.am index 4c0593ad..b86e26b8 100644 --- a/kpdf/xpdf/xpdf/Makefile.am +++ b/kpdf/xpdf/xpdf/Makefile.am @@ -2,14 +2,14 @@ INCLUDES = -I$(srcdir)/.. -I$(srcdir)/../fofi -I$(srcdir)/../splash -I$(srcdir)/ libxpdf_la_LDFLAGS = $(all_libraries) libxpdf_la_LIBADD = $(LIB_X11) $(LIBFREETYPE_LIBS) $(LIBPAPER_LIBS) $(XFT_LIBS) $(LIBJPEG) ../goo/libgoo.la ../fofi/libfofi.la ../splash/libsplash.la -libxpdf_la_SOURCES = Annot.cc Array.cc BuiltinFont.cc BuiltinFontTables.cc \ - Catalog.cc CharCodeToUnicode.cc CMap.cc Decrypt.cc Dict.cc \ - FontEncodingTables.cc Function.cc Gfx.cc \ - GfxFont.cc GfxState.cc GlobalParams.cc JArithmeticDecoder.cc \ - JBIG2Stream.cc Lexer.cc Link.cc NameToCharCode.cc Object.cc Outline.cc \ - OutputDev.cc PDFDoc.cc PDFDocEncoding.cc PreScanOutputDev.cc PSTokenizer.cc \ - Page.cc Parser.cc PSOutputDev.cc SecurityHandler.cc SplashOutputDev.cc Stream.cc JPXStream.cc \ - TextOutputDev.cc UnicodeMap.cc UnicodeTypeTable.cc XRef.cc +libxpdf_la_SOURCES = Annot.cpp Array.cpp BuiltinFont.cpp BuiltinFontTables.cpp \ + Catalog.cpp CharCodeToUnicode.cpp CMap.cpp Decrypt.cpp Dict.cpp \ + FontEncodingTables.cpp Function.cpp Gfx.cpp \ + GfxFont.cpp GfxState.cpp GlobalParams.cpp JArithmeticDecoder.cpp \ + JBIG2Stream.cpp Lexer.cpp Link.cpp NameToCharCode.cpp Object.cpp Outline.cpp \ + OutputDev.cpp PDFDoc.cpp PDFDocEncoding.cpp PreScanOutputDev.cpp PSTokenizer.cpp \ + Page.cpp Parser.cpp PSOutputDev.cpp SecurityHandler.cpp SplashOutputDev.cpp Stream.cpp JPXStream.cpp \ + TextOutputDev.cpp UnicodeMap.cpp UnicodeTypeTable.cpp XRef.cpp noinst_LTLIBRARIES = libxpdf.la diff --git a/kpdf/xpdf/xpdf/NameToCharCode.cc b/kpdf/xpdf/xpdf/NameToCharCode.cpp index 7ebf4e16..23779f05 100644 --- a/kpdf/xpdf/xpdf/NameToCharCode.cc +++ b/kpdf/xpdf/xpdf/NameToCharCode.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// NameToCharCode.cc +// NameToCharCode.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Object.cc b/kpdf/xpdf/xpdf/Object.cpp index f0a3a092..81760b44 100644 --- a/kpdf/xpdf/xpdf/Object.cc +++ b/kpdf/xpdf/xpdf/Object.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Object.cc +// Object.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Outline.cc b/kpdf/xpdf/xpdf/Outline.cpp index 39e89a3c..f5aba636 100644 --- a/kpdf/xpdf/xpdf/Outline.cc +++ b/kpdf/xpdf/xpdf/Outline.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Outline.cc +// Outline.cpp // // Copyright 2002-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/OutputDev.cc b/kpdf/xpdf/xpdf/OutputDev.cpp index 3ba19973..1b394ad4 100644 --- a/kpdf/xpdf/xpdf/OutputDev.cc +++ b/kpdf/xpdf/xpdf/OutputDev.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// OutputDev.cc +// OutputDev.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/PDFDoc.cc b/kpdf/xpdf/xpdf/PDFDoc.cpp index dc24d97e..ee2bc4df 100644 --- a/kpdf/xpdf/xpdf/PDFDoc.cc +++ b/kpdf/xpdf/xpdf/PDFDoc.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// PDFDoc.cc +// PDFDoc.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/PDFDocEncoding.cc b/kpdf/xpdf/xpdf/PDFDocEncoding.cpp index 89dc3828..89dc3828 100644 --- a/kpdf/xpdf/xpdf/PDFDocEncoding.cc +++ b/kpdf/xpdf/xpdf/PDFDocEncoding.cpp diff --git a/kpdf/xpdf/xpdf/PSOutputDev.cc b/kpdf/xpdf/xpdf/PSOutputDev.cpp index 4fb2cbfd..9d1d7648 100644 --- a/kpdf/xpdf/xpdf/PSOutputDev.cc +++ b/kpdf/xpdf/xpdf/PSOutputDev.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// PSOutputDev.cc +// PSOutputDev.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/PSTokenizer.cc b/kpdf/xpdf/xpdf/PSTokenizer.cpp index a959cc73..4898fe42 100644 --- a/kpdf/xpdf/xpdf/PSTokenizer.cc +++ b/kpdf/xpdf/xpdf/PSTokenizer.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// PSTokenizer.cc +// PSTokenizer.cpp // // Copyright 2002-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Page.cc b/kpdf/xpdf/xpdf/Page.cpp index cfeab88b..de2fe6c0 100644 --- a/kpdf/xpdf/xpdf/Page.cc +++ b/kpdf/xpdf/xpdf/Page.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Page.cc +// Page.cpp // // Copyright 1996-2007 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/Parser.cc b/kpdf/xpdf/xpdf/Parser.cpp index 65a43d94..95475b85 100644 --- a/kpdf/xpdf/xpdf/Parser.cc +++ b/kpdf/xpdf/xpdf/Parser.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Parser.cc +// Parser.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/PreScanOutputDev.cc b/kpdf/xpdf/xpdf/PreScanOutputDev.cpp index 52ffeb7f..e05cdc34 100644 --- a/kpdf/xpdf/xpdf/PreScanOutputDev.cc +++ b/kpdf/xpdf/xpdf/PreScanOutputDev.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// PreScanOutputDev.cc +// PreScanOutputDev.cpp // // Copyright 2005 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/SecurityHandler.cc b/kpdf/xpdf/xpdf/SecurityHandler.cpp index ea0f9341..6c2abba0 100644 --- a/kpdf/xpdf/xpdf/SecurityHandler.cc +++ b/kpdf/xpdf/xpdf/SecurityHandler.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SecurityHandler.cc +// SecurityHandler.cpp // // Copyright 2004 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/SplashOutputDev.cc b/kpdf/xpdf/xpdf/SplashOutputDev.cpp index fe235fb8..20898701 100644 --- a/kpdf/xpdf/xpdf/SplashOutputDev.cc +++ b/kpdf/xpdf/xpdf/SplashOutputDev.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// SplashOutputDev.cc +// SplashOutputDev.cpp // // Copyright 2003 Glyph & Cog, LLC // @@ -694,9 +694,6 @@ void SplashOutputDev::startDoc(XRef *xrefA) { delete fontEngine; } fontEngine = new SplashFontEngine( -#if HAVE_T1LIB_H - globalParams->getEnableT1lib(), -#endif #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H globalParams->getEnableFreeType(), #endif diff --git a/kpdf/xpdf/xpdf/Stream.cc b/kpdf/xpdf/xpdf/Stream.cpp index 2c1db5b4..0d85a766 100644 --- a/kpdf/xpdf/xpdf/Stream.cc +++ b/kpdf/xpdf/xpdf/Stream.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// Stream.cc +// Stream.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/TextOutputDev.cc b/kpdf/xpdf/xpdf/TextOutputDev.cpp index d2bfaf63..3387a31a 100644 --- a/kpdf/xpdf/xpdf/TextOutputDev.cc +++ b/kpdf/xpdf/xpdf/TextOutputDev.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// TextOutputDev.cc +// TextOutputDev.cpp // // Copyright 1997-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/UnicodeMap.cc b/kpdf/xpdf/xpdf/UnicodeMap.cpp index 2b8cb1f7..f3d18715 100644 --- a/kpdf/xpdf/xpdf/UnicodeMap.cc +++ b/kpdf/xpdf/xpdf/UnicodeMap.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// UnicodeMap.cc +// UnicodeMap.cpp // // Copyright 2001-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/UnicodeTypeTable.cc b/kpdf/xpdf/xpdf/UnicodeTypeTable.cpp index b8960403..39b9d842 100644 --- a/kpdf/xpdf/xpdf/UnicodeTypeTable.cc +++ b/kpdf/xpdf/xpdf/UnicodeTypeTable.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// UnicodeTypeTable.cc +// UnicodeTypeTable.cpp // // Copyright 2004 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/XRef.cc b/kpdf/xpdf/xpdf/XRef.cpp index 2e0d1cef..06a1c4e1 100644 --- a/kpdf/xpdf/xpdf/XRef.cc +++ b/kpdf/xpdf/xpdf/XRef.cpp @@ -1,6 +1,6 @@ //======================================================================== // -// XRef.cc +// XRef.cpp // // Copyright 1996-2003 Glyph & Cog, LLC // diff --git a/kpdf/xpdf/xpdf/xpdf_config.h b/kpdf/xpdf/xpdf/xpdf_config.h index 81d4dd07..fdd7bc38 100644 --- a/kpdf/xpdf/xpdf/xpdf_config.h +++ b/kpdf/xpdf/xpdf/xpdf_config.h @@ -74,7 +74,7 @@ // default maximum size of color cube to allocate #define defaultRGBCube 5 -// number of fonts (combined t1lib, FreeType, X server) to cache +// number of fonts (combined FreeType, X server) to cache #define xOutFontCacheSize 64 // number of Type 3 fonts to cache @@ -84,7 +84,7 @@ // popen //------------------------------------------------------------------------ -#if defined(_MSC_VER) || defined(__BORLANDC__) +#if defined(_MSC_VER) #define popen _popen #define pclose _pclose #endif @@ -103,7 +103,7 @@ #undef CDECL #endif -#if defined(_MSC_VER) || defined(__BORLANDC__) +#if defined(_MSC_VER) #define CDECL __cdecl #else #define CDECL |