ginebra2/mostvisitedsnippet.cpp
branchGCC_SURGE
changeset 8 2e16851ffecd
parent 6 1c3b8676e58c
child 15 73c48011b8c7
equal deleted inserted replaced
2:bf4420e9fa4d 8:2e16851ffecd
     1 /*
     1 /*
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     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 *
     4 *
     9 * Initial Contributors:
     5 * This program is free software: you can redistribute it and/or modify
    10 * Nokia Corporation - initial contribution.
     6 * it under the terms of the GNU Lesser General Public License as published by
       
     7 * the Free Software Foundation, version 2.1 of the License.
    11 *
     8 *
    12 * Contributors:
     9 * This program is distributed in the hope that it will be useful,
       
    10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12 * GNU Lesser General Public License for more details.
    13 *
    13 *
    14 * Description: 
    14 * You should have received a copy of the GNU Lesser General Public License
       
    15 * along with this program.  If not,
       
    16 * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
       
    17 *
       
    18 * Description:
    15 *
    19 *
    16 */
    20 */
    17 
       
    18 #include "mostvisitedsnippet.h"
    21 #include "mostvisitedsnippet.h"
    19 #include "mostvisitedpageview.h"
    22 #include "mostvisitedpageview.h"
    20 
    23 
    21 namespace GVA {
    24 namespace GVA {
    22 
    25 
    24         ChromeSnippet(elementId, chrome, widget, element)
    27         ChromeSnippet(elementId, chrome, widget, element)
    25 {
    28 {
    26     m_chrome = chrome;
    29     m_chrome = chrome;
    27 }
    30 }
    28 
    31 
    29 void MostVisitedSnippet::toggleVisibility(bool animate) 
    32 MostVisitedSnippet * MostVisitedSnippet::instance(const QString& elementId, ChromeWidget * chrome, const QWebElement & element)
       
    33 {
       
    34     MostVisitedSnippet* that = new MostVisitedSnippet(elementId, chrome, 0, element);
       
    35     that->setChromeWidget( new MostVisitedPagesWidget(that, chrome) );
       
    36     that->widget()->hide(); //TODO: Shouldn't be needed?
       
    37     return that;
       
    38 }
       
    39 
       
    40 void MostVisitedSnippet::toggleVisibility(bool animate)
    30 {
    41 {
    31     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    42     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    32     if (!mostVisitedPagesWidget) 
    43     if (!mostVisitedPagesWidget)
    33         return;
    44         return;
    34 
    45 
    35     if (!isVisible()) {
    46     if (!isVisible()) {
    36          mostVisitedPagesWidget->open();
    47          mostVisitedPagesWidget->open();
    37          updateMVGeometry();
    48          updateMVGeometry();
    42         mostVisitedPagesWidget->close();
    53         mostVisitedPagesWidget->close();
    43     }
    54     }
    44 }
    55 }
    45 
    56 
    46 
    57 
    47 void MostVisitedSnippet::setWidget(QGraphicsWidget * widget)
    58 void MostVisitedSnippet::setChromeWidget(QGraphicsWidget * widget)
    48 {
    59 {
    49     connect(m_chrome , SIGNAL(aspectChanged(int)), this, SLOT(displayModeChanged(int)));
    60     connect(m_chrome , SIGNAL(aspectChanged(int)), this, SLOT(displayModeChanged(int)));
    50     ChromeSnippet::setWidget(widget);   
    61     ChromeSnippet::setChromeWidget(widget);
    51     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget);
    62     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget);
    52     connect(mostVisitedPagesWidget, SIGNAL(closeComplete()), this, SIGNAL(mostVisitedSnippetCloseComplete()));
    63     connect(mostVisitedPagesWidget, SIGNAL(closeComplete()), this, SIGNAL(mostVisitedSnippetCloseComplete()));
    53 }
    64 }
    54 
    65 
    55 void MostVisitedSnippet::updateMVGeometry()
    66 void MostVisitedSnippet::updateMVGeometry()
    57     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    68     MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    58     qreal toolBarHeight;
    69     qreal toolBarHeight;
    59 
    70 
    60     ChromeSnippet* visibleSnippet= m_chrome->getSnippet("WebViewToolbarId");
    71     ChromeSnippet* visibleSnippet= m_chrome->getSnippet("WebViewToolbarId");
    61     if (visibleSnippet)
    72     if (visibleSnippet)
    62         toolBarHeight = visibleSnippet->widget()->rect().height(); 
    73         toolBarHeight = visibleSnippet->widget()->rect().height();
    63 
    74 
    64     mostVisitedPagesWidget->resize(m_chrome->size().toSize());
    75     mostVisitedPagesWidget->resize(m_chrome->layout()->size().toSize());
    65     mostVisitedPagesWidget->updatePos(QPointF(0, 0), toolBarHeight);
    76     mostVisitedPagesWidget->updatePos(QPointF(0, 0), toolBarHeight);
    66 }
    77 }
    67 
    78 
    68 void MostVisitedSnippet::displayModeChanged(int newMode)
    79 void MostVisitedSnippet::displayModeChanged(int newMode)
    69 {
    80 {
    70     if (isVisible()) {     
    81     if (isVisible()) {
    71         MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    82         MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    72         
    83 
    73         if (!mostVisitedPagesWidget) 
    84         if (!mostVisitedPagesWidget)
    74             return;
    85             return;
    75 
    86 
    76         updateMVGeometry();
    87         updateMVGeometry();
    77         
    88 
    78         QString  displayMode = (newMode == landscape) ? "Landscape" : "Portrait";
    89         QString  displayMode = (newMode == landscape) ? "Landscape" : "Portrait";
    79         mostVisitedPagesWidget->displayModeChanged(displayMode);
    90         mostVisitedPagesWidget->displayModeChanged(displayMode);
    80     }
    91     }
    81 }
    92 }
    82 
    93 
    83 void MostVisitedSnippet::hide(bool animate)
    94 void MostVisitedSnippet::hide(bool animate)
    84  {
    95  {
    85      MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    96      MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    86    
    97 
    87      if(!mostVisitedPagesWidget) 
    98      if (!mostVisitedPagesWidget)
    88        return;
    99        return;
    89 
   100 
    90      ChromeSnippet::hide(animate);
   101      ChromeSnippet::hide(animate);
    91      mostVisitedPagesWidget->closeAnimationCompleted();
   102      mostVisitedPagesWidget->closeAnimationCompleted();
    92  }
   103  }
    93 
   104 
    94 void MostVisitedSnippet::close() 
   105 void MostVisitedSnippet::close()
    95 {
   106 {
    96      MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
   107      MostVisitedPagesWidget *mostVisitedPagesWidget = dynamic_cast<MostVisitedPagesWidget*>(widget());
    97    
   108 
    98      if(mostVisitedPagesWidget) {
   109      if (mostVisitedPagesWidget) {
    99        mostVisitedPagesWidget->close();
   110        mostVisitedPagesWidget->close();
   100      }
   111      }
   101 }
   112 }
   102 
   113 
   103 MostVisitedSnippet::~MostVisitedSnippet()
   114 MostVisitedSnippet::~MostVisitedSnippet()