/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 2.1 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not,
* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
*
* Description:
*
*/
#include <QtGui>
#include "ChromeItem.h"
#include "ChromeSnippet.h"
#include "ChromeWidget.h"
//space left between MVP and toolbar
const int KSpaceToolbarMVP = 5;
namespace WRT {
class WrtBrowserContainer;
}
namespace GVA {
const QSize KSize(0,0);
class ExternalEventCharm;
class LinearFlowSnippet;
class MostVisitedPagesWidget : public ChromeItem
{
Q_OBJECT
public :
//construction and destruction
MostVisitedPagesWidget(ChromeSnippet* snippet, ChromeWidget* chrome);
~MostVisitedPagesWidget();
void open();
void updatePos(QPointF pos, qreal &toolBarHeight);
void resize(const QSize &size);
void displayModeChanged(QString& newMode, QSize sz=KSize);
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
void setCenterIndex(QString displayMode);
void updateMVGeometry();
void updateMVStore(WRT::WrtBrowserContainer *page);
Q_SIGNALS:
void closeComplete();
protected:
void mousePressEvent(QGraphicsSceneMouseEvent* event);
public slots:
void close(bool hide=true);
void okTriggered(int index);
void closeAnimationCompleted();
void onLoadFinished(const bool ok);
void onLoadFinishedForBackgroundWindow(const bool ok, WRT::WrtBrowserContainer *page);
void clearMVStore();
private :
MostVisitedPageStore* m_mostVisitedPageStore;
QGraphicsWidget* m_parent;
ChromeWidget * m_chrome;
GVA::LinearFlowSnippet *m_flowInterface;
int m_selectIndex;
bool m_hideOnClose;
ExternalEventCharm *m_externalEventCharm;
};
}