emailuis/nmailui/src/nmviewerview.cpp
changeset 59 16ed8d08d0b1
parent 54 997a02608b3a
child 65 478bc57ad291
equal deleted inserted replaced
54:997a02608b3a 59:16ed8d08d0b1
    31 static const int NmProgressValueComplete = 100;
    31 static const int NmProgressValueComplete = 100;
    32 static const QString NmParamTextHeightSecondary = "hb-param-text-height-secondary";
    32 static const QString NmParamTextHeightSecondary = "hb-param-text-height-secondary";
    33 static const QString NmHttpLinkScheme = "http";
    33 static const QString NmHttpLinkScheme = "http";
    34 static const QString NmHttpsLinkScheme = "https";
    34 static const QString NmHttpsLinkScheme = "https";
    35 static const QString NmMailtoLinkScheme = "mailto";
    35 static const QString NmMailtoLinkScheme = "mailto";
       
    36 
       
    37 // Local constants
       
    38 const qreal NmZoomFactor = 1.5;
    36 
    39 
    37 /*!
    40 /*!
    38 	\class NmViewerView
    41 	\class NmViewerView
    39 	\brief Mail viewer class
    42 	\brief Mail viewer class
    40 */
    43 */
   180                     mDocumentLoader->findObject(NMUI_MESSAGE_VIEWER_HEADER));
   183                     mDocumentLoader->findObject(NMUI_MESSAGE_VIEWER_HEADER));
   181             if (mHeaderWidget) {
   184             if (mHeaderWidget) {
   182                 mHeaderWidget->setView(this);
   185                 mHeaderWidget->setView(this);
   183                 mHeaderWidget->rescaleHeader(mScreenSize);
   186                 mHeaderWidget->rescaleHeader(mScreenSize);
   184                 mHeaderWidget->setMessage(mMessage);
   187                 mHeaderWidget->setMessage(mMessage);
   185                 mHeaderStartScenePos = mHeaderWidget->scenePos();
   188                 QPointF headerStartPos = mHeaderWidget->scenePos();
       
   189                 mHeaderStartScenePos = QPointF(0,headerStartPos.y());
   186             }
   190             }
   187 
   191 
   188             // Load webview
   192             // Load webview
   189             mWebView = reinterpret_cast<NmMailViewerWK *>(
   193             mWebView = reinterpret_cast<NmMailViewerWK *>(
   190                     mDocumentLoader->findObject(QString(NMUI_MESSAGE_VIEWER_SCROLL_WEB_VIEW)));
   194                     mDocumentLoader->findObject(QString(NMUI_MESSAGE_VIEWER_SCROLL_WEB_VIEW)));
   191             if (mWebView) {
   195             if (mWebView) {
   192                 // Set auto load images and private browsing(no history) attributes
   196                 // Set auto load images and private browsing(no history) attributes
   193                 QWebSettings *settings = mWebView->settings();
   197                 QWebSettings *settings = mWebView->settings();
   194                 if (settings) {
   198                 if (settings) {
   195                     settings->setAttribute(QWebSettings::AutoLoadImages, true);
   199                     settings->setAttribute(QWebSettings::AutoLoadImages, true);
   196                     settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);   
   200                     settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
   197                 }
   201                 }
   198                 QWebPage *page = mWebView->page();
   202                 QWebPage *page = mWebView->page();
   199                 if (page) {
   203                 if (page) {
   200                     QWebFrame *frame = page->mainFrame();
   204                     QWebFrame *frame = page->mainFrame();
   201                     if (frame) {
   205                     if (frame) {
   202                         frame->setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff);
   206                         frame->setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff);
   203                         frame->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
   207                         frame->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
       
   208                         frame->setTextSizeMultiplier(NmZoomFactor);
   204                         connect(mWebView->page()->mainFrame(),
   209                         connect(mWebView->page()->mainFrame(),
   205                                 SIGNAL(contentsSizeChanged(const QSize&)),
   210                                 SIGNAL(contentsSizeChanged(const QSize&)),
   206                             this, SLOT(scaleWebViewWhenLoading(const QSize&)));  
   211                             this, SLOT(scaleWebViewWhenLoading(const QSize&)));  
   207                     }
   212                     }
   208                 }
   213                 }
   685                 mWebView->setPreferredWidth(geometry().width());           
   690                 mWebView->setPreferredWidth(geometry().width());           
   686             }
   691             }
   687             else {
   692             else {
   688                 mWebView->setPreferredWidth(width);
   693                 mWebView->setPreferredWidth(width);
   689             }
   694             }
   690             mWebView->setPreferredHeight(height);        
   695             mWebView->setMinimumHeight(height);
   691         }
   696         }
   692     }
   697     }
   693     mLatestLoadingSize = size;
   698     mLatestLoadingSize = size;
   694 }
   699 }
   695 
   700 
   699 void NmViewerView::scaleWebViewWhenLoaded()
   704 void NmViewerView::scaleWebViewWhenLoaded()
   700 {
   705 {
   701     QRectF myGeometry = geometry();
   706     QRectF myGeometry = geometry();
   702     QWebPage *page = mWebView->page();
   707     QWebPage *page = mWebView->page();
   703     if (mWebView && page) {
   708     if (mWebView && page) {
   704         page->setViewportSize(myGeometry.size().toSize());
   709         page->setPreferredContentsSize(myGeometry.size().toSize());
   705         QSizeF contentSize = page->mainFrame()->contentsSize();
   710         QSizeF contentSize = page->mainFrame()->contentsSize();
   706         int width = (int)contentSize.width();
   711         mWebView->setPreferredSize(contentSize);
   707         int height = (int)contentSize.height();  
       
   708         mWebView->setPreferredWidth(width);
       
   709         mWebView->setPreferredHeight(height);
       
   710     }
   712     }
   711 }
   713 }
   712 
   714 
   713 /*!
   715 /*!
   714     Set new dimensions after orientation change.
   716     Set new dimensions after orientation change.