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() |