diff -r 000000000000 -r 1450b09d0cfd ginebra2/UrlSearchSnippet.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ginebra2/UrlSearchSnippet.h 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: +* +*/ + + +#ifndef __URLSEARCH_SNIPPET_H +#define __URLSEARCH_SNIPPET_H + +#include "NativeChromeItem.h" + +namespace GVA { + +class ChromeWidget; + +class UrlEditorWidget : public QGraphicsTextItem +{ + Q_OBJECT + +public: + UrlEditorWidget(QGraphicsItem * parent); + virtual ~UrlEditorWidget(); + + void setText(const QString & text); + + qreal cursorX(); + +protected: + virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget); + virtual void keyPressEvent(QKeyEvent * event); + +signals: + void cursorXChanged(qreal newx); + +private: + QTextLine m_textLine; +}; + +class UrlSearchSnippet : public NativeChromeItem +{ + Q_OBJECT + +public: + UrlSearchSnippet(ChromeSnippet * snippet, ChromeWidget * chrome, QGraphicsItem * parent = 0); + virtual ~UrlSearchSnippet(); + +protected: + virtual bool eventFilter(QObject * object, QEvent * event); + virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget); + virtual void resizeEvent(QGraphicsSceneResizeEvent * event); + +signals: + void activated(); + +private slots: + void resize(); + void setUrlText(const QString & text); + void setStarted(); + void setProgress(int percent); + void setFinished(bool ok); + void clearProgress(); + void viewChanged(); + void makeVisible(qreal cursorX); + +private: + void internalScroll(qreal deltaX); + +private: + ChromeWidget * m_chrome; + QString m_text; + int m_percent; + int m_pendingClearCalls; + + // Style parameters. + + QColor m_textColor; + QColor m_backgroundColor; + QColor m_borderColor; + + int m_border; + int m_padding; + + // Cached values used for painting and scrolling. + + qreal m_viewPortWidth; + qreal m_viewPortHeight; + + // At runtime, UrlSearchSnippet is parent to a QGraphicsWidget + // (m_viewPort) that is parent to a UrlEditorWidget (m_editor). + + QGraphicsWidget * m_viewPort; + UrlEditorWidget * m_editor; +}; + +} // namespace GVA + +#endif // __URLSEARCH_SNIPPET_H