diff -r 84d9eb65b26f -r 518b245aa84c messagingapp/msgui/unifiedviewer/inc/univiewerpixmapwidget.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgui/unifiedviewer/inc/univiewerpixmapwidget.h Fri Jun 25 15:47:40 2010 +0530 @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2009 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: This widget displays the pixmap content in viewer. + * + */ + +#ifndef UNI_VIEWER_PIXMAP_WIDGET_H +#define UNI_VIEWER_PIXMAP_WIDGET_H + +#include + +// FORWARD DECLARATIONS +class UniViewerUtils; +class UniMessageInfo; +class ThumbnailManager; + + +/** + * This widget displays the pixmap content in viewer. + */ +class UniViewerPixmapWidget: public HbIconItem +{ +Q_OBJECT + +public: + + /** + * Constructor + */ + UniViewerPixmapWidget(QGraphicsItem *parent = 0); + + /** + * Destructor + */ + ~UniViewerPixmapWidget(); + + /** + * Sets the pixmap content to be displayed. + * @param info Object information. + */ + void populate(UniMessageInfo *info); + +signals: + + /** + * Signal emitted when widget is clicked. + * @param mediaPath File path of the media. + */ + void shortTap(const QString &mediaPath); + + /** + * Signal emitted when widget is long tapped. + * @param position Scene coordinates of tap. + */ + void longTap(const QPointF &position); + +protected: + + /** + * Event handler for gesture events. + * Reimplemented from HbWidgetBase. + * @see HbWidgetBase + */ + virtual void gestureEvent(QGestureEvent *event); + +private slots: + + /** + * + */ + void handleOpen(); + + /** + * + */ + void handleSave(); + + /** + * Slot to regrab gesture after some delay (300 ms) to avoid multiple gesture + * events back to back. + */ + void regrabGesture(); + + /** + * Slot hit when the thumbnail is ready. + */ + void thumbnailReady(const QPixmap& pixmap, void *data, int id, int error); + +private: + + /** + * Initialization function. + */ + void init(); + + /** + * Handles short tap event. + */ + void handleShortTap(); + + /** + * Handles long tap event. + * @param position Scene coordinates of tap. + */ + void handleLongTap(const QPointF &position); + +private: + + /** + * UniViewerUtils object. + * Own + */ + UniViewerUtils *mViewerUtils; + + /** + * ThumbnailManager + * Own. + */ + ThumbnailManager *mThumbnailManager; + + /** + * Mime Type of pixmap. + */ + QString mMimeType; + + /** + * Pixmap file path being set. + */ + QString mPixmapPath; +}; + +#endif /* UNI_VIEWER_PIXMAP_WIDGET_H */ + +// EOF