author | hgs |
Fri, 15 Oct 2010 17:30:59 -0400 | |
changeset 16 | 3c88a81ff781 |
parent 12 | afcd8e6d025b |
permissions | -rw-r--r-- |
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1 |
/* |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
3 | 4 |
* |
5 |
* This program is free software: you can redistribute it and/or modify |
|
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. |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
8 |
* |
3 | 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. |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
13 |
* |
3 | 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/". |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
17 |
* |
3 | 18 |
* Description: |
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
19 |
* |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
20 |
*/ |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
21 |
|
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
22 |
#ifndef __URLSEARCH_SNIPPET_H |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
23 |
#define __URLSEARCH_SNIPPET_H |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
24 |
|
3 | 25 |
#include "EditorWidget.h" |
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
26 |
#include "NativeChromeItem.h" |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
27 |
|
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
28 |
namespace GVA { |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
29 |
|
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
30 |
class ChromeWidget; |
12 | 31 |
|
3 | 32 |
class GUrlSearchItem : public NativeChromeItem |
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
33 |
{ |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
34 |
Q_OBJECT |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
35 |
|
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
36 |
public: |
3 | 37 |
GUrlSearchItem(ChromeSnippet * snippet, ChromeWidget * chrome, QGraphicsItem * parent = 0); |
38 |
virtual ~GUrlSearchItem(); |
|
39 |
QString url() const { return m_urlSearchEditor->text();} |
|
40 |
void setUrl(const QString &url) {m_urlSearchEditor->setText(url);} |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
41 |
|
16 | 42 |
void cut() { m_urlSearchEditor->cut(); } |
43 |
void copy() { m_urlSearchEditor->copy(); } |
|
44 |
void paste() { m_urlSearchEditor->paste(); } |
|
45 |
void setContextMenuStatus(bool on) { m_urlSearchEditor->setContextMenuStatus(on); } |
|
46 |
void setFocusForEditor() { m_urlSearchEditor->setFocusForEditor(); } |
|
47 |
||
12 | 48 |
Q_SIGNALS: |
49 |
void changeEditMode(bool); |
|
16 | 50 |
void contextEvent(bool); |
51 |
||
52 |
private slots: |
|
53 |
void onContextEvent(bool isContentSelected); |
|
12 | 54 |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
55 |
protected: |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
56 |
virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget); |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
57 |
virtual void resizeEvent(QGraphicsSceneResizeEvent * event); |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
58 |
|
3 | 59 |
private: |
16 | 60 |
void createEditor(); |
61 |
void createIcons(); |
|
3 | 62 |
void loadToMainWindow(); |
63 |
void updateUrlSearchBtn(); |
|
64 |
QString formattedUrl() const; |
|
16 | 65 |
void changeLoadState(bool editing=true); |
66 |
QString urlToBeDisplayed(); |
|
67 |
QString currentTitle(); |
|
68 |
void changeLayout(const bool isSearch); |
|
12 | 69 |
#ifdef BROWSER_LAYOUT_TENONE |
70 |
void changeToTitle(); |
|
71 |
QString getWindowsViewTitle(); |
|
16 | 72 |
void layoutToEditMode(const bool editMode); |
73 |
void hideIndicatorButton(); |
|
12 | 74 |
#endif |
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
75 |
|
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
76 |
private slots: |
12 | 77 |
|
78 |
void onContentMouseEvent(QEvent::Type type); |
|
79 |
void setUrlText(const QString &); |
|
3 | 80 |
void onChromeComplete(); |
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
81 |
void setStarted(); |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
82 |
void setProgress(int percent); |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
83 |
void setFinished(bool ok); |
3 | 84 |
void setPageCreated(); |
85 |
void setPageChanged(); |
|
12 | 86 |
void setPageFailed(); |
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
87 |
void clearProgress(); |
16 | 88 |
void viewChanged(ControllableViewBase *newView); |
3 | 89 |
void urlSearchActivatedByEnterKey(); |
90 |
void urlSearchActivated(); |
|
91 |
void focusChanged(bool focusIn); |
|
92 |
void resize(); |
|
12 | 93 |
void updateLoadStateAndSuggest(int /*position*/, int charsRemoved, int charsAdded); |
3 | 94 |
void onNewWindowTransitionComplete(); |
95 |
void tapped(QPointF&); |
|
16 | 96 |
|
97 |
#ifdef BROWSER_LAYOUT_TENONE |
|
98 |
void changeToUrl(QPointF&); |
|
99 |
void onTitleChange(const QString&); |
|
100 |
void showSecureIcon(bool show); |
|
101 |
void urlTitleIndBtnActivated(); |
|
102 |
#endif |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
103 |
|
12 | 104 |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
105 |
private: |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
106 |
ChromeWidget * m_chrome; |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
107 |
|
3 | 108 |
// configurable attributes |
109 |
qreal m_border; |
|
110 |
qreal m_padding; |
|
111 |
qreal m_viewPortWidth; |
|
112 |
qreal m_viewPortHeight; |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
113 |
QColor m_borderColor; |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
114 |
|
3 | 115 |
// ui components |
116 |
QGraphicsWidget * m_viewPort; |
|
117 |
ActionButton * m_urlSearchBtn; |
|
16 | 118 |
#ifdef BROWSER_LAYOUT_TENONE |
119 |
ActionButton * m_urlTitleIndBtn; |
|
120 |
ActionButton * m_urlTitleIndSecureBtn; |
|
121 |
#endif |
|
3 | 122 |
GProgressEditor * m_urlSearchEditor; |
12 | 123 |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
124 |
|
3 | 125 |
// variables |
126 |
int m_pendingClearCalls; |
|
16 | 127 |
qreal m_buttonIconWidth; |
128 |
qreal m_buttonIconHeight; |
|
3 | 129 |
bool m_backFromNewWinTrans; |
130 |
bool m_justFocusIn; |
|
131 |
}; |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
132 |
|
3 | 133 |
class GUrlSearchSnippet : public ChromeSnippet { |
134 |
Q_OBJECT |
|
135 |
public: |
|
136 |
GUrlSearchSnippet(const QString & elementId, ChromeWidget * chrome, |
|
137 |
QGraphicsWidget * widget, const QWebElement & element); |
|
138 |
||
139 |
static GUrlSearchSnippet * instance(const QString& elementId, ChromeWidget * chrome, const QWebElement & element); |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
140 |
|
3 | 141 |
/// The URL of the web page. |
142 |
QString url() const; |
|
143 |
void setUrl(const QString &url); |
|
144 |
Q_PROPERTY(QString url READ url WRITE setUrl) |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
145 |
|
16 | 146 |
Q_SIGNALS: |
147 |
void contextEvent(bool isContentSelected, QString snippetId); |
|
148 |
||
149 |
public slots: |
|
150 |
void cut(); |
|
151 |
void copy(); |
|
152 |
void paste(); |
|
153 |
bool editable() { return true; } |
|
154 |
bool useNativeCopyPasteMenu() { return true; } |
|
155 |
void sendContextMenuEvent(bool isContentSelected); |
|
156 |
void setContextMenuStatus(bool on) { urlSearchItem()->setContextMenuStatus(on); } |
|
157 |
void grabFocus() { urlSearchItem()->setFocusForEditor(); } |
|
3 | 158 |
|
159 |
private: |
|
160 |
GUrlSearchItem *urlSearchItem(); |
|
161 |
GUrlSearchItem const *constUrlSearchItem() const; |
|
0
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
162 |
}; |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
163 |
|
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
164 |
} // namespace GVA |
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
165 |
|
1450b09d0cfd
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
166 |
#endif // __URLSEARCH_SNIPPET_H |