[elvystrac] r1759 - scroll area for zoomed area scales too now

  • From: elvys@xxxxxxxxxxxxxxxxxxxxxx
  • To: elvystrac@xxxxxxxxxxxxx
  • Date: Wed, 17 Feb 2010 13:34:01 +0100

Author: JirkaH
Date: 2010-02-17 13:34:01 +0100 (Wed, 17 Feb 2010)
New Revision: 1759

Modified:
   branches/client/pdf-presentation-branch/elvys-client/src/pdfviewer.cpp
   branches/client/pdf-presentation-branch/elvys-client/src/pdfviewer.h
Log:
scroll area for zoomed area scales too now


Modified: branches/client/pdf-presentation-branch/elvys-client/src/pdfviewer.cpp
===================================================================
--- branches/client/pdf-presentation-branch/elvys-client/src/pdfviewer.cpp      
2010-02-17 11:42:26 UTC (rev 1758)
+++ branches/client/pdf-presentation-branch/elvys-client/src/pdfviewer.cpp      
2010-02-17 12:34:01 UTC (rev 1759)
@@ -74,6 +74,11 @@
 }
 
 
+/** Returns geometry for scroll area, when in zoomed mode and scale == 1. It 
makes sure that whole first page is visible, if it is possible.
+
+  @return geometry for scroll area
+  */
+
 QRect PDFViewer::getScrollGeometry() {
        int newX;
        int newY;
@@ -314,12 +319,8 @@
   */
 
 int PDFViewer::adjustScrollBar(QScrollBar * scrollBar, double factor) {
-       qDebug() << "-------------------";
-       qDebug() << "factor" << factor << "val" << scrollBar->value() << 
"pageStep" << scrollBar->pageStep();
-       qDebug() << "maximum" << scrollBar->maximum();
+       int value = int(factor * scrollBar->value() + ((factor - 1) * 
scrollBar->pageStep()/2));
 
-       int value = int(factor * scrollBar->value() + ((factor - 1) * 
scrollBar->pageStep()/2));
-       qDebug() << "final val" << value;
        scrollBar->setValue(value);
        return value;
 }
@@ -336,6 +337,8 @@
                        scroll->verticalScrollBar()->setValue(val1);
                        scroll->horizontalScrollBar()->setValue(val2);
                        scaled--;
+                       QRect rect = getScrollGeometry();
+                       scroll->setGeometry(rect);
                } else {
                        if (fadeEffect.isActive()) {
                                stopFadeEffect();
@@ -356,6 +359,7 @@
 
 void PDFViewer::zoom() {
        int val1, val2;
+       double factor;
 
        if (pdfZoomed == NULL ) {
                //qDebug() << "Nemuzu zvetsovat, neni nastaveny widget 
PDFZoomed" ;
@@ -372,12 +376,12 @@
                toBeZoomed = true;
                getFirstPageBig();
        } else {                
-               if ( scaled >= SCALE_MAX ) { // do not allow to zoom too much 
(SCALE_FACTOR^5)
+               if ( scaled >= SCALE_MAX ) { // do not allow to zoom too much
                        return;
                }
 
                scaled++;
-               qDebug() << scroll->verticalScrollBar()->value();
+
                //let's take care of image position - we will try to keep focus 
on the middle of an image
                val1 = adjustScrollBar(scroll->verticalScrollBar(), 
SCALE_FACTOR);
                val2 = adjustScrollBar(scroll->horizontalScrollBar(), 
SCALE_FACTOR);
@@ -386,6 +390,9 @@
                //scaling could move the bars out, so make sure they are in 
correct position.
                scroll->verticalScrollBar()->setValue(val1);
                scroll->horizontalScrollBar()->setValue(val2);
+
+               QRect rect = getScrollGeometry();
+               scroll->setGeometry(rect);
        }
 }
 

Modified: branches/client/pdf-presentation-branch/elvys-client/src/pdfviewer.h
===================================================================
--- branches/client/pdf-presentation-branch/elvys-client/src/pdfviewer.h        
2010-02-17 11:42:26 UTC (rev 1758)
+++ branches/client/pdf-presentation-branch/elvys-client/src/pdfviewer.h        
2010-02-17 12:34:01 UTC (rev 1759)
@@ -34,7 +34,7 @@
 
        public:
                PDFViewer(QWidget * parent, const QRect & rect); //inicializuju 
dedene promene
-               void setPDFZoomed(PDFZoomed * _pdfZoomed);
+               void setPDFZoomed(PDFZoomed * _pdfZoomed);              
                void setPages(QList <int> & _pageNumbers);
                virtual ~PDFViewer();
 
@@ -51,7 +51,7 @@
                virtual void stopFadeEffect();
                void getFirstPageBig();
                void getFirstPageSmall();
-               QRect getScrollGeometry();              
+               QRect getScrollGeometry();                              
                virtual void zoom();
                virtual void unzoom();
                virtual void showPDF();


Other related posts:

  • » [elvystrac] r1759 - scroll area for zoomed area scales too now - elvys