ginebra2/ScrollZoomWidget.cpp
branchGCC_SURGE
changeset 8 2e16851ffecd
parent 2 bf4420e9fa4d
parent 6 1c3b8676e58c
--- a/ginebra2/ScrollZoomWidget.cpp	Fri Jun 11 16:23:26 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-#include <QtGui>
-#include <QTimeLine>
-
-#include "ScrollZoomWidget.h"
-#include "GWebContentView.h"
-#include "ChromeSnippet.h"
-
-#include <QDebug>
-
-namespace GVA {
-
-  ScrollZoomWidget::ScrollZoomWidget(ChromeSnippet* snippet, QGraphicsItem* parent)
-    : NativeChromeItem(snippet, parent),
-      m_zoomIn(true),
-      m_scrolling(false),
-      m_xScale(1),
-      m_yScale(1),
-      m_deltaX(0),
-      m_deltaY(0),
-      m_timeLine(0),
-      m_webView(0),
-      m_effect(0)
-  {
-    setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemSendsGeometryChanges);
-    setOpacity(0.50);
-    // m_effect = new QGraphicsDropShadowEffect();
-    //static_cast<QGraphicsDropShadowEffect*>(m_effect)->setOffset(4.0,4.0);
-    //static_cast<QGraphicsDropShadowEffect*>(m_effect)->setBlurRadius(2.0);
-    //setGraphicsEffect(m_effect);
-    m_buttonImage = QImage(":/chrome/demochrome/Scroll.png");
-  }
-
-  ScrollZoomWidget:: ~ScrollZoomWidget()
-  {
-    delete m_timeLine;
-  }
-
- 
-  QVariant ScrollZoomWidget::itemChange(GraphicsItemChange change, const QVariant & value)
-  {
-    qreal deltaX = 0;
-    qreal deltaY = 0;
-    qreal scrollY = 0;
-
-    if(m_webView && (change == ItemPositionChange)) {
-      QPointF newPos = value.toPointF();
-      if((m_centerX != 0) && (m_centerY != 0)){
-	deltaX = newPos.x() - m_centerX;
-	deltaY = newPos.y() - m_centerY;
-      }
-      if(m_scrolling)
-	scrollY = deltaY*m_yScale/2;
-      if(m_webView->scrollY() == 0){
-	qreal slide = m_snippet->chrome()->slideView(scrollY);	  
-        scrollY-=slide;
-      }
-      m_webView->scrollBy(-deltaX*m_yScale/2, -scrollY);
-    }
-    return QGraphicsItem::itemChange(change, value);
-  }
- 
-  void ScrollZoomWidget::onLoadFinished(bool ok)
-  {
-    if(m_webView->contentWidth() > parentWidget()->size().width())
-      m_xScale = m_webView->contentWidth()/parentWidget()->size().width();
-    if(m_webView->contentHeight() > parentWidget()->size().height())
-      m_yScale = m_webView->contentHeight()/parentWidget()->size().height();
-  }
-
-   void ScrollZoomWidget::paint(QPainter* painter, const QStyleOptionGraphicsItem* opt, QWidget* widget)
-  {
-    painter->save();
-    if(m_scrolling) {
-      setOpacity(0.0);
-      //painter->setBrush(Qt::transparent);
-      //painter->scale(2.0, 2.0);
-      //painter->setPen(QPen(Qt::transparent, 4.0));
-      //painter->drawEllipse(QRectF(0,0, geometry().width(), geometry().height()));
-    }
-    else {
-      setOpacity(0.60);
-      //painter->setBrush(Qt::blue);
-      //painter->setPen(QPen(Qt::blue, 4.0));     
-      //painter->drawEllipse(QRectF(0,0, geometry().width(), geometry().height()));
-    }
-    painter->drawImage(QPointF(0,0),m_buttonImage);
-    painter->restore();
-  }
-
-  void ScrollZoomWidget::mousePressEvent(QGraphicsSceneMouseEvent * ev)
-  {
-
-    if(!m_webView){
-      m_webView  = static_cast<GWebContentView*> (m_snippet->chrome()->getView("WebView"));
-      if(m_webView) 
-	connect(m_webView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool)));
-      else
-	return;
-    }
-    m_centerX = pos().x();
-    m_centerY = pos().y();
-    onLoadFinished(true);
-    m_scrolling = true;
-    //zoom();
-    //scroll();
-    QGraphicsWidget::mouseReleaseEvent(ev);
-  }
-
-  void ScrollZoomWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent * ev)
-  {
-    m_scrolling = false;
-    setPos(m_centerX, m_centerY);
-    setOpacity(0.6);
-    update();
-    //m_timeLine->stop();
-    QGraphicsWidget::mouseReleaseEvent(ev);
-  }
-
-  void ScrollZoomWidget::updateZoom(qreal delta){
-    if(!m_webView) {
-      m_webView  = static_cast<GWebContentView*> (m_snippet->chrome()->getView("WebView"));
-      if(m_webView) 
-	connect(m_webView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool)));
-    }
-    if(!m_webView)
-      return;
-    if(m_zoomIn)
-      m_webView->zoomBy(0.1);
-    else
-      m_webView->zoomBy(-0.1);
-  }
-
-
-  void ScrollZoomWidget::updateScroll(qreal delta){
-    if(!m_webView) {
-      m_webView  = static_cast<GWebContentView*> (m_snippet->chrome()->getView("WebView"));
-      if(m_webView) 
-	connect(m_webView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool)));
-    }
-    if(!m_webView)
-      return;
-    m_webView->scrollBy(m_deltaX*2,m_deltaY*2);
-  }
-
- 
-  void ScrollZoomWidget::zoom()
-  {
-    m_zoomIn = !m_zoomIn;
-    if(!m_timeLine) {
-      m_timeLine = new QTimeLine();
-      connect(m_timeLine, SIGNAL(valueChanged(qreal)),
-	      this, SLOT(updateZoom(qreal)));
-    }
-    else {
-      m_timeLine->stop();
-    }
-    m_timeLine->start();
-  }
- 
-
-  void ScrollZoomWidget::scroll()
-  { 
-    m_zoomIn = !m_zoomIn;
-    if(!m_timeLine) {
-      m_timeLine = new QTimeLine();
-      m_timeLine->setLoopCount(0);
-      connect(m_timeLine, SIGNAL(valueChanged(qreal)),
-	      this, SLOT(updateScroll(qreal)));
-    }
-    else {
-      m_timeLine->stop();
-    }
-    m_timeLine->start();
-  }
-
-} // end of namespace GVA
-
-