ginebra2/mostvisitedsnippet.cpp
changeset 0 1450b09d0cfd
child 3 0954f5dd2cd0
child 5 0f2326c2a325
equal deleted inserted replaced
-1:000000000000 0:1450b09d0cfd
       
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 #include "mostvisitedsnippet.h"
       
    19 #include "mostvisitedpageview.h"
       
    20 
       
    21 namespace GVA {
       
    22 
       
    23 MostVisitedSnippet::MostVisitedSnippet(const QString & elementId, ChromeWidget * chrome, QGraphicsWidget * widget, const QWebElement & element) :
       
    24         ChromeSnippet(elementId, chrome, widget, element)
       
    25 {
       
    26     m_chrome = chrome;
       
    27 }
       
    28 
       
    29 void MostVisitedSnippet::toggleVisibility(bool animate) 
       
    30 {
       
    31     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
       
    32     if (!mostVisitedPagesWidget) 
       
    33         return;
       
    34 
       
    35     if (!isVisible()) {
       
    36          mostVisitedPagesWidget->open();
       
    37          updateMVGeometry();
       
    38          mostVisitedPagesWidget->show();
       
    39          ChromeSnippet::toggleVisibility(animate);
       
    40 
       
    41     } else {
       
    42         mostVisitedPagesWidget->close();
       
    43     }
       
    44 }
       
    45 
       
    46 
       
    47 void MostVisitedSnippet::setWidget(QGraphicsWidget * widget)
       
    48 {
       
    49     connect(m_chrome , SIGNAL(aspectChanged(int)), this, SLOT(displayModeChanged(int)));
       
    50     ChromeSnippet::setWidget(widget);   
       
    51     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget);
       
    52     connect(mostVisitedPagesWidget, SIGNAL(closeComplete()), this, SIGNAL(mostVisitedSnippetCloseComplete()));
       
    53 }
       
    54 
       
    55 void MostVisitedSnippet::updateMVGeometry()
       
    56 {
       
    57     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
       
    58     qreal toolBarHeight;
       
    59 
       
    60     ChromeSnippet* visibleSnippet= m_chrome->getSnippet("WebViewToolbarId");
       
    61     if (visibleSnippet)
       
    62         toolBarHeight = visibleSnippet->widget()->rect().height(); 
       
    63 
       
    64     mostVisitedPagesWidget->resize(m_chrome->size().toSize());
       
    65     mostVisitedPagesWidget->updatePos(QPointF(0, 0), toolBarHeight);
       
    66 }
       
    67 
       
    68 void MostVisitedSnippet::displayModeChanged(int newMode)
       
    69 {
       
    70     if (isVisible()) {     
       
    71         MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
       
    72         
       
    73         if (!mostVisitedPagesWidget) 
       
    74             return;
       
    75 
       
    76         updateMVGeometry();
       
    77         
       
    78         QString  displayMode = (newMode == landscape) ? "Landscape" : "Portrait";
       
    79         mostVisitedPagesWidget->displayModeChanged(displayMode);
       
    80     }
       
    81 }
       
    82 
       
    83 void MostVisitedSnippet::hide(bool animate)
       
    84  {
       
    85      MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
       
    86    
       
    87      if(!mostVisitedPagesWidget) 
       
    88        return;
       
    89 
       
    90      ChromeSnippet::hide(animate);
       
    91      mostVisitedPagesWidget->closeAnimationCompleted();
       
    92  }
       
    93 
       
    94 void MostVisitedSnippet::close() 
       
    95 {
       
    96      MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
       
    97    
       
    98      if(mostVisitedPagesWidget) {
       
    99        mostVisitedPagesWidget->close();
       
   100      }
       
   101 }
       
   102 
       
   103 MostVisitedSnippet::~MostVisitedSnippet()
       
   104 {
       
   105     disconnect(m_chrome , SIGNAL(aspectChanged(int)), this, SLOT(displayModeChanged(int)));
       
   106 }
       
   107 
       
   108 
       
   109 }