diff --git a/TODO b/TODO index e70d112c9..c60c00631 100644 --- a/TODO +++ b/TODO @@ -122,6 +122,7 @@ Done (newest features come first): -> ADD: annotations: PDF1.6 reader (PDF's annotations -> our data structures) -> ADD: Internal data structures for annotations handling. -> FIX: rmb when no doc displayed to restore menu +-> ADD: Save zoom setting on exit -> ADD: Put fonts used by the document on the properties dialog -> ADD: partial implementation of XYZ links -> ADD: google-like search on thumbnails diff --git a/conf/kpdf.kcfg b/conf/kpdf.kcfg index 36edb3671..d4776f3f9 100644 --- a/conf/kpdf.kcfg +++ b/conf/kpdf.kcfg @@ -143,6 +143,26 @@ + + + false + + + true + + + true + + + false + + + true + + + true + + false @@ -161,25 +181,14 @@ true - - - - false - - - true - - - true - - - false + + 2 + 2 - - true - - - true + + 1.0 + 0.1 + 4.0 diff --git a/ui/pageview.cpp b/ui/pageview.cpp index 8f0f80699..1826311a4 100644 --- a/ui/pageview.cpp +++ b/ui/pageview.cpp @@ -132,8 +132,8 @@ PageView::PageView( QWidget *parent, KPDFDocument *document ) // create and initialize private storage structure d = new PageViewPrivate(); d->document = document; - d->zoomMode = ZoomFitPage; - d->zoomFactor = 1.0; + d->zoomMode = (PageView::ZoomMode) Settings::zoomMode(); + d->zoomFactor = Settings::zoomFactor(); d->mouseMode = MouseNormal; d->mouseMidZooming = false; d->mouseSelecting = false; @@ -1528,6 +1528,9 @@ void PageView::updateZoom( ZoomMode newZoomMode ) d->aZoomFitWidth->setChecked( checkedZoomAction == d->aZoomFitWidth ); d->aZoomFitPage->setChecked( checkedZoomAction == d->aZoomFitPage ); d->aZoomFitText->setChecked( checkedZoomAction == d->aZoomFitText ); + // store zoom settings + Settings::setZoomMode( newZoomMode ); + Settings::setZoomFactor( newFactor ); } } diff --git a/ui/pageview.h b/ui/pageview.h index 0f5ed6c65..3ffbb8444 100644 --- a/ui/pageview.h +++ b/ui/pageview.h @@ -44,7 +44,7 @@ class PageView : public QScrollView, public DocumentObserver ~PageView(); // Zoom mode ( last 4 are internally used only! ) - enum ZoomMode { ZoomFixed, ZoomFitWidth, ZoomFitPage, ZoomFitText, + enum ZoomMode { ZoomFixed = 0, ZoomFitWidth = 1, ZoomFitPage = 2, ZoomFitText, ZoomIn, ZoomOut, ZoomRefreshCurrent }; enum MouseMode { MouseNormal, MouseZoom, MouseSelect };