diff -r 000000000000 -r 1450b09d0cfd ginebra2/mostvisitedsnippet.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ginebra2/mostvisitedsnippet.cpp Tue May 04 12:39:35 2010 +0300 @@ -0,0 +1,109 @@ +/* +* 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 "mostvisitedsnippet.h" +#include "mostvisitedpageview.h" + +namespace GVA { + +MostVisitedSnippet::MostVisitedSnippet(const QString & elementId, ChromeWidget * chrome, QGraphicsWidget * widget, const QWebElement & element) : + ChromeSnippet(elementId, chrome, widget, element) +{ + m_chrome = chrome; +} + +void MostVisitedSnippet::toggleVisibility(bool animate) +{ + MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast(widget()); + if (!mostVisitedPagesWidget) + return; + + if (!isVisible()) { + mostVisitedPagesWidget->open(); + updateMVGeometry(); + mostVisitedPagesWidget->show(); + ChromeSnippet::toggleVisibility(animate); + + } else { + mostVisitedPagesWidget->close(); + } +} + + +void MostVisitedSnippet::setWidget(QGraphicsWidget * widget) +{ + connect(m_chrome , SIGNAL(aspectChanged(int)), this, SLOT(displayModeChanged(int))); + ChromeSnippet::setWidget(widget); + MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast(widget); + connect(mostVisitedPagesWidget, SIGNAL(closeComplete()), this, SIGNAL(mostVisitedSnippetCloseComplete())); +} + +void MostVisitedSnippet::updateMVGeometry() +{ + MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast(widget()); + qreal toolBarHeight; + + ChromeSnippet* visibleSnippet= m_chrome->getSnippet("WebViewToolbarId"); + if (visibleSnippet) + toolBarHeight = visibleSnippet->widget()->rect().height(); + + mostVisitedPagesWidget->resize(m_chrome->size().toSize()); + mostVisitedPagesWidget->updatePos(QPointF(0, 0), toolBarHeight); +} + +void MostVisitedSnippet::displayModeChanged(int newMode) +{ + if (isVisible()) { + MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast(widget()); + + if (!mostVisitedPagesWidget) + return; + + updateMVGeometry(); + + QString displayMode = (newMode == landscape) ? "Landscape" : "Portrait"; + mostVisitedPagesWidget->displayModeChanged(displayMode); + } +} + +void MostVisitedSnippet::hide(bool animate) + { + MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast(widget()); + + if(!mostVisitedPagesWidget) + return; + + ChromeSnippet::hide(animate); + mostVisitedPagesWidget->closeAnimationCompleted(); + } + +void MostVisitedSnippet::close() +{ + MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast(widget()); + + if(mostVisitedPagesWidget) { + mostVisitedPagesWidget->close(); + } +} + +MostVisitedSnippet::~MostVisitedSnippet() +{ + disconnect(m_chrome , SIGNAL(aspectChanged(int)), this, SLOT(displayModeChanged(int))); +} + + +}