[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/kviewshell-0.7/kviewshell
From: Wilfried Huss <Wilfried.Huss () gmx ! at>
Date: 2006-05-07 17:38:41
Message-ID: 1147023521.588945.3743.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 538376 by whuss:
Reenable inverse search for the dvi-plugin, without the need to subclass the PageCache.
Inverse search for the pdf-plugin is still disabled.
M +7 -0 plugins/dvi/kdvi_multipage.cpp
M +3 -0 plugins/dvi/kdvi_multipage.h
M +17 -0 plugins/pdf/pdfMultipage.cpp
M +3 -0 plugins/pdf/pdfMultipage.h
M +7 -10 shell/documentPageCache.cpp
M +4 -6 shell/documentPageCache.h
M +7 -8 shell/kmultipage.cpp
M +5 -6 shell/kmultipage.h
M +3 -3 shell/kviewpart.cpp
--- branches/work/kviewshell-0.7/kviewshell/plugins/dvi/kdvi_multipage.cpp #538375:538376
@@ -10,6 +10,7 @@
#include "optionDialogSpecialWidget.h"
#include "performanceMeasurement.h"
#include "prefs.h"
+#include "renderedDviPagePixmap.h"
#include <kaboutdata.h>
#include <kaction.h>
@@ -406,6 +407,12 @@
}
+RenderedDocumentPagePixmap* KDVIMultiPage::createDocumentPagePixmap(JobId id) const
+{
+ return new RenderedDviPagePixmap(id);
+}
+
+
void KDVIMultiPage::showFindTextDialog()
{
#warning FIXME
--- branches/work/kviewshell-0.7/kviewshell/plugins/dvi/kdvi_multipage.h #538375:538376
@@ -4,6 +4,7 @@
#include "dviRenderer.h"
#include "kmultipage.h"
+#include "renderedDocumentPagePixmap.h"
#include <qstringlist.h>
@@ -39,6 +40,8 @@
virtual DocumentWidget* createDocumentWidget(PageView *parent, DocumentPageCache *cache);
+ virtual RenderedDocumentPagePixmap* createDocumentPagePixmap(JobId) const;
+
private:
/** Used to enable the export menu when a file is successfully
loaded. */
--- branches/work/kviewshell-0.7/kviewshell/plugins/pdf/pdfMultipage.cpp #538375:538376
@@ -126,4 +126,21 @@
//configDialog->setHelp("preferences", "pdf");
}
+
+void PdfMultiPage::inverseSearch(const PageNumber& pageNumber, QPoint point, bool call)
+{
+// FIXME
+/*
+ Length x;
+ Length y;
+
+ x.setLength_in_inch((double)(point.x()) / getResolution());
+ y.setLength_in_inch((double)(point.y()) / getResolution());
+
+ PdfRenderer* pdfRenderer = static_cast<PdfRenderer*>((DocumentRenderer*)(renderer));
+ pdfRenderer->inverseSearch(pageNumber, x, y, call);
+*/
+}
+
+
#include "pdfMultipage.moc"
--- branches/work/kviewshell-0.7/kviewshell/plugins/pdf/pdfMultipage.h #538375:538376
@@ -128,6 +128,9 @@
virtual void setFile(bool success);
virtual void enableActions(bool);
+private slots:
+ void inverseSearch(const PageNumber& pageNumber, QPoint point, bool call);
+
private:
/** This member holds the renderer which is used by the demo implementation */
PdfRenderer pdfRenderer;
--- branches/work/kviewshell-0.7/kviewshell/shell/documentPageCache.cpp #538375:538376
@@ -14,6 +14,7 @@
#include "documentPageCache.h"
#include "documentRenderer.h"
+#include "kmultipage.h"
#include "kvs_debug.h"
#include "kvsprefs.h"
#include "renderedDocumentPagePixmap.h"
@@ -58,13 +59,15 @@
}
-void DocumentPageCache::setRenderer(DocumentRenderer *_renderer)
+void DocumentPageCache::setMultiPage(KMultiPage* _multiPage)
{
// When we set a new renderer the old cache contents
// will definitly not be needed anymore.
clear();
renderQueue->clear();
- renderer = _renderer;
+
+ multiPage = _multiPage;
+ renderer = multiPage->getRenderer();
renderThread->setRenderer(renderer);
}
@@ -171,7 +174,7 @@
QString key = id.key();
if (LRUCache.find(key, false) == false)
{
- RenderedDocumentPagePixmap* previousPage = createDocumentPagePixmap(id);
+ RenderedDocumentPagePixmap* previousPage = multiPage->createDocumentPagePixmap(id);
if (previousPage)
{
previousPage->resize(sizeOfPageInPixel(pageNumber));
@@ -296,7 +299,7 @@
// The page was not found in the cache, so we have to make a new
// page and add this to the cache.
- page = createDocumentPagePixmap(id);
+ page = multiPage->createDocumentPagePixmap(id);
// If that failed, issue an error message and quit.
if (page == 0) {
@@ -336,12 +339,6 @@
}
-RenderedDocumentPagePixmap* DocumentPageCache::createDocumentPagePixmap(JobId id) const
-{
- return new RenderedDocumentPagePixmap(id);
-}
-
-
void DocumentPageCache::clear()
{
LRUCache.clear();
--- branches/work/kviewshell-0.7/kviewshell/shell/documentPageCache.h #538375:538376
@@ -24,6 +24,7 @@
#include <qobject.h>
class DocumentRenderer;
+class KMultiPage;
class QPixmap;
class RenderedDocumentPage;
class RenderQueue;
@@ -51,7 +52,7 @@
used any time (e.g., triggered by an internal timer event), and
must not be deleted before either the DocumentRenderer is
deleted, or another renderer has been set. */
- void setRenderer(DocumentRenderer *_renderer);
+ void setMultiPage(KMultiPage*);
void setResolution(double res);
double getResolution() const {return resolutionInDPI;}
@@ -115,12 +116,9 @@
void setUseDocumentSpecifiedSize(bool);
protected:
- /** This function creates new RenderedDocumentPagePixmap objects.
- If a multipage implementation needs additional functionality overwrite
- this function to create objects of a suitable subclass of RenderedDocumentPagePixmap.
- */
- virtual RenderedDocumentPagePixmap* createDocumentPagePixmap(JobId) const;
+
+ QGuardedPtr<KMultiPage> multiPage;
QGuardedPtr<DocumentRenderer> renderer;
void customEvent(QCustomEvent*);
--- branches/work/kviewshell-0.7/kviewshell/shell/kmultipage.cpp #538375:538376
@@ -2,7 +2,6 @@
#include <config.h>
#include "dataModel.h"
-#include "documentPageCache.h"
#include "documentWidget.h"
#include "kmultipage.h"
#include "kprintDialogPage_pageoptions.h"
@@ -152,6 +151,13 @@
return documentWidget;
}
+
+RenderedDocumentPagePixmap* KMultiPage::createDocumentPagePixmap(JobId id) const
+{
+ return new RenderedDocumentPagePixmap(id);
+}
+
+
void KMultiPage::print()
{
// Paranoid safety checks
@@ -260,13 +266,6 @@
}
-DocumentPageCache* KMultiPage::initializePageCache()
-{
- DocumentPageCache* pageCache = new DocumentPageCache();
- return pageCache;
-}
-
-
bool KMultiPage::openFile()
{
if (renderer.isNull()) {
--- branches/work/kviewshell-0.7/kviewshell/shell/kmultipage.h #538375:538376
@@ -231,6 +231,11 @@
place to connect to signals emitted by DocumentWidget. */
virtual DocumentWidget* createDocumentWidget(PageView *parent, DocumentPageCache *cache);
+ /** This function creates new RenderedDocumentPagePixmap objects.
+ If a multipage implementation needs additional functionality overwrite
+ this function to create objects of a suitable subclass of RenderedDocumentPagePixmap.
+ */
+ virtual RenderedDocumentPagePixmap* createDocumentPagePixmap(JobId) const;
/** Update GUI after loading or closing of a file
@@ -252,12 +257,6 @@
disable menu items, etc. */
virtual void setFile(bool success);
- /** This function creates the page cache. If a multipage implementation needs
- additional functionaly from the cache overwrite this function to create a
- subclass of DocumentPageCache.
- @warning This function is called by the constructor, never call it explicitly.
- */
- virtual DocumentPageCache* initializePageCache();
protected:
/* Used to enable/disable Actions of multiPage implementations.
--- branches/work/kviewshell-0.7/kviewshell/shell/kviewpart.cpp #538375:538376
@@ -432,6 +432,9 @@
pageView()->setMultiPage(multiPage);
+ // Initialize documentPageCache.
+ pageCache.setMultiPage(multiPage);
+
// allow parts to have a GUI, too :-)
// (will be merged automatically)
insertChildClient( multiPage );
@@ -851,9 +854,6 @@
// Setup shared data
multiPage->setupObservers(dataModel);
- // Initialize documentPageCache.
- pageCache.setRenderer(multiPage->getRenderer());
-
// Clear the page view.
pageView()->clear();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic