65
|
1 |
/*
|
|
2 |
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
|
|
3 |
* All rights reserved.
|
|
4 |
* This component and the accompanying materials are made available
|
|
5 |
* under the terms of the License "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 |
*
|
|
9 |
* Initial Contributors:
|
|
10 |
* Nokia Corporation - initial contribution.
|
|
11 |
*
|
|
12 |
* Contributors:
|
|
13 |
*
|
|
14 |
* Description:
|
|
15 |
* Browser content view
|
|
16 |
*
|
|
17 |
*
|
|
18 |
*/
|
|
19 |
|
|
20 |
|
|
21 |
#ifndef __BROWSERCONTENTVIEW_H
|
|
22 |
#define __BROWSERCONTENTVIEW_H
|
|
23 |
|
|
24 |
// INCLUDES
|
|
25 |
#include <apparc.h>
|
|
26 |
#include <sendui.h>
|
|
27 |
#include <FindItemDialog.h>
|
|
28 |
#include <brctlinterface.h>
|
|
29 |
|
|
30 |
#include "BrowserAppViewBase.h"
|
|
31 |
#include "BrowserGotoPane.h"
|
|
32 |
#include <AknToolbar.h>
|
|
33 |
#include <AknToolbarObserver.h>
|
|
34 |
#include <aknappui.h>
|
|
35 |
#include "WindowObserver.h"
|
|
36 |
|
|
37 |
// FORWARD DECLARATIONS
|
|
38 |
|
|
39 |
class TVwsViewId;
|
|
40 |
class CBrowserContentViewContainer;
|
|
41 |
class CBrowserContentViewZoomModeTimer;
|
|
42 |
class CBrowserBookmarksModel;
|
|
43 |
class CAknNavigationControlContainer;
|
|
44 |
class CFindItemMenu;
|
|
45 |
class CAknInfoPopupNoteController;
|
|
46 |
class CAknStylusPopUpMenu;
|
|
47 |
class CBrowserContentViewToolbar;
|
|
48 |
class CBrowserShortcutKeyMap;
|
|
49 |
|
|
50 |
// CONSTANTS
|
|
51 |
|
|
52 |
const TInt KStatusMessageMaxLength=40;
|
|
53 |
|
|
54 |
//The Zoom tooltip won't disappear
|
|
55 |
const TInt KZoomModeShowDisableTime( 5* 1000 * 1000 ); // 5000 seconds - disable the timer
|
|
56 |
|
|
57 |
|
|
58 |
// STRUCTS
|
|
59 |
|
|
60 |
struct TWindowsMenuItemsDimCheck
|
|
61 |
{
|
|
62 |
TBool dimOpenInNewWin;
|
|
63 |
TBool dimSwitchWin ;
|
|
64 |
TBool dimCloseWin ;
|
|
65 |
TBool dimAllowPopups ;
|
|
66 |
TBool dimBlockPopups ;
|
|
67 |
};
|
|
68 |
|
|
69 |
/**
|
|
70 |
* Declaration for Browser's content view.
|
|
71 |
*
|
|
72 |
* @lib Browser.app
|
|
73 |
* @since Series 60 1.2
|
|
74 |
*/
|
|
75 |
class CBrowserContentView : public CBrowserViewBase,
|
|
76 |
public MGotoPaneObserver,
|
|
77 |
public MBrCtlStateChangeObserver,
|
|
78 |
public MBrCtlCommandObserver,
|
|
79 |
public MAknToolbarObserver,
|
|
80 |
public MWindowObserver
|
|
81 |
{
|
|
82 |
public:
|
|
83 |
|
|
84 |
/**
|
|
85 |
* Two-phased constructor.
|
|
86 |
* @param aApiProvider Reference to the API provider.
|
|
87 |
* @param aRect
|
|
88 |
*/
|
|
89 |
static CBrowserContentView* NewLC( MApiProvider& aApiProvider, TRect& aRect );
|
|
90 |
|
|
91 |
/**
|
|
92 |
* Destructor.
|
|
93 |
*/
|
|
94 |
~CBrowserContentView();
|
|
95 |
|
|
96 |
/**
|
|
97 |
* Callback - we should initialize the list of DO elements.
|
|
98 |
* @since 1.2
|
|
99 |
*/
|
|
100 |
void OptionListInitL();
|
|
101 |
|
|
102 |
/**
|
|
103 |
* Callback - we should add an element to the list of DO elements.
|
|
104 |
* @since 1.2
|
|
105 |
*/
|
|
106 |
void OptionListAddItemL(
|
|
107 |
const TDesC& aText,
|
|
108 |
TUint32 aElemID,
|
|
109 |
TBool aIsPrevType );
|
|
110 |
|
|
111 |
/**
|
|
112 |
* Update the title.
|
|
113 |
* @since 1.2
|
|
114 |
*/
|
|
115 |
void UpdateTitleL( MApiProvider& aApiProvider );
|
|
116 |
|
|
117 |
CBrowserContentViewContainer* Container() const{ return iContainer; };
|
|
118 |
|
|
119 |
void ResetPreviousViewFlag() { iWasInFeedsView = EFalse; }
|
|
120 |
/**
|
|
121 |
* Get the top left position of the application window.
|
|
122 |
* This is used to place the toolbar.
|
|
123 |
* @return The top left point of the application rect on the screen
|
|
124 |
*/
|
|
125 |
TPoint OnScreenPosition();
|
|
126 |
|
|
127 |
/**
|
|
128 |
* Get a pointer to the instance of the class handling the toolbar state.
|
|
129 |
* This is used when the Browser is shut down, to save the user settings
|
|
130 |
* @return A pointer to the class handling the toolbar
|
|
131 |
*/
|
|
132 |
CBrowserContentViewToolbar* BrowserContentViewToolbar() { return iBrowserContentViewToolbar; }
|
|
133 |
|
|
134 |
/**
|
|
135 |
* Find if the platform spports touch
|
|
136 |
* @return ETrue if the platform supports touch, EFalse otherwise
|
|
137 |
*/
|
|
138 |
TBool PenEnabled() { return iPenEnabled; }
|
|
139 |
|
|
140 |
/**
|
|
141 |
* Find if the Full Screen mode is on
|
|
142 |
* @return ETrue if the Full Screen mode is on, EFalse otherwise
|
|
143 |
*/
|
|
144 |
TBool FullScreenMode() { return iContentFullScreenMode; }
|
|
145 |
public: // from MEikStatusPaneObserver
|
|
146 |
|
|
147 |
/**
|
|
148 |
* Handles status pane size change.
|
|
149 |
*/
|
|
150 |
void HandleStatusPaneSizeChange();
|
|
151 |
|
|
152 |
public: // from MBrCtlStateChangeObserver
|
|
153 |
|
|
154 |
/**
|
|
155 |
* State change event handling for ImageMapView changes.
|
|
156 |
* @param aState which state we are in
|
|
157 |
* @param aValue state specific value
|
|
158 |
* @return void
|
|
159 |
*/
|
|
160 |
void StateChanged( TBrCtlDefs::TBrCtlState aState, TInt aValue );
|
|
161 |
|
|
162 |
public: // from MBrCtlCommandObserver
|
|
163 |
|
|
164 |
/**
|
|
165 |
* Executes commands requested by the webengine
|
|
166 |
* @param aCommand which state we are in
|
|
167 |
* @param aAttributesNames name list
|
|
168 |
* @param aAttributeValues value list
|
|
169 |
* @return void
|
|
170 |
*/
|
|
171 |
void HandleCommandL(TBrCtlDefs::TBrCtlClientCommands aCommand, const CArrayFix<TPtrC>& aAttributesNames,
|
|
172 |
const CArrayFix<TPtrC>& aAttributeValues) ;
|
|
173 |
/* Handle Goto Pane event.
|
|
174 |
* @since 1.2
|
|
175 |
* @param aGotoPane The Goto Pane in which the event occurred.
|
|
176 |
* @param aEvent Goto Pane event
|
|
177 |
*/
|
|
178 |
void HandleGotoPaneEventL(
|
|
179 |
CBrowserGotoPane* aGotoPane,
|
|
180 |
MGotoPaneObserver::TEvent aEvent );
|
|
181 |
|
|
182 |
/**
|
|
183 |
* Set Last visited bookmark.
|
|
184 |
* @since 1.2
|
|
185 |
*/
|
|
186 |
void SetLastVisitedBookmarkL();
|
|
187 |
|
|
188 |
/**
|
|
189 |
* Update navi pane.
|
|
190 |
* @since 1.2
|
|
191 |
* @param aStatusMsg Status message
|
|
192 |
*/
|
|
193 |
void UpdateNaviPaneL( TDesC& aStatusMsg );
|
|
194 |
|
|
195 |
/**
|
|
196 |
* Update navi pane.
|
|
197 |
* @since 1.2
|
|
198 |
* @param aLeftScrollBar Will the left scrollbar be updated
|
|
199 |
* @param aRightScrollBar Will the right scrollbar be updated
|
|
200 |
*/
|
|
201 |
void UpdateNaviPaneL( TBool aLeftScrollBar, TBool aRightScrollBar );
|
|
202 |
|
|
203 |
/**
|
|
204 |
* Get the id.
|
|
205 |
* @since 1.2
|
|
206 |
* @return UID
|
|
207 |
*/
|
|
208 |
TUid Id() const;
|
|
209 |
|
|
210 |
/**
|
|
211 |
* Is find item in progress.
|
|
212 |
* @since 1.2
|
|
213 |
* @return ETrue if the find item is in progress, otherwise EFalse
|
|
214 |
*/
|
|
215 |
TBool FindItemIsInProgress();
|
|
216 |
|
|
217 |
/**
|
|
218 |
* Handles client rect changes
|
|
219 |
*/
|
|
220 |
void HandleClientRectChange();
|
|
221 |
|
|
222 |
/**
|
|
223 |
* Zoom page in zoom mode
|
|
224 |
* @since 3.2.3
|
|
225 |
*/
|
|
226 |
void ZoomModeImagesL();
|
|
227 |
|
|
228 |
/**
|
|
229 |
* Zoom page in
|
|
230 |
* @since 3.0
|
|
231 |
*/
|
|
232 |
void ZoomImagesInL( TInt aDuration = KZoomModeShowDisableTime );
|
|
233 |
|
|
234 |
/**
|
|
235 |
* Zoom page out
|
|
236 |
* @since 3.0
|
|
237 |
*/
|
|
238 |
void ZoomImagesOutL( TInt aDuration = KZoomModeShowDisableTime );
|
|
239 |
|
|
240 |
/**
|
|
241 |
* Zoom slider is to be visible or not in Content View.
|
|
242 |
* @param aVisible. ETrue if the slider is to visible, EFalse if not.
|
|
243 |
* @since 5.0
|
|
244 |
*/
|
|
245 |
void MakeZoomSliderVisibleL( TBool aVisible );
|
|
246 |
|
|
247 |
/**
|
|
248 |
* Is ZoomSlider is up?
|
|
249 |
* @since 5.0
|
|
250 |
* @return ETrue if the ZoomSlider is up, otherwise EFalse
|
|
251 |
*/
|
|
252 |
TBool ZoomSliderVisible() { return iZoomSliderVisible; }
|
|
253 |
|
|
254 |
/**
|
|
255 |
* Is History view is up?
|
|
256 |
* @since 3.0
|
|
257 |
* @return ETrue if the History View is up, otherwise EFalse
|
|
258 |
*/
|
|
259 |
TBool IsHistoryViewUp();
|
|
260 |
|
|
261 |
/**
|
|
262 |
* Is History view at the beginning i.e. first page in history
|
|
263 |
* @since 5.0
|
|
264 |
* @return ETrue if the History is at the beginning, otherwise EFalse
|
|
265 |
*/
|
|
266 |
TBool IsHistoryAtBeginning();
|
|
267 |
|
|
268 |
/**
|
|
269 |
* Is History view at the end i.e. last page in history
|
|
270 |
* @since 5.0
|
|
271 |
* @return ETrue if the History is at the end, otherwise EFalse
|
|
272 |
*/
|
|
273 |
TBool IsHistoryAtEnd();
|
|
274 |
|
|
275 |
/**
|
|
276 |
* Is Shortcut Keymap view is up?
|
|
277 |
* @since 5.0
|
|
278 |
* @return ETrue if the Shortcut Keymap is up, otherwise EFalse
|
|
279 |
*/
|
|
280 |
TBool KeymapIsUp();
|
|
281 |
|
|
282 |
/**
|
|
283 |
* Return true if we're in zoom mode
|
|
284 |
*/
|
|
285 |
TBool isZoomMode();
|
|
286 |
|
|
287 |
/**
|
|
288 |
* Gets Miniature view ( old name: Thumbnail view ) status.
|
|
289 |
* @since 3.0
|
|
290 |
* @return True if Miniature view is active, othervise False.
|
|
291 |
*/
|
|
292 |
inline TBool IsMiniatureViewUp() { return iThumbnailViewIsUp; }
|
|
293 |
|
|
294 |
/**
|
|
295 |
* check if the plugin player is up
|
|
296 |
* @since 3.2
|
|
297 |
* @return True if Miniature view is active, othervise False.
|
|
298 |
*/
|
|
299 |
inline TBool IsPluginPlayerUp() const { return iPluginPlayerIsUp; }
|
|
300 |
|
|
301 |
|
|
302 |
/**
|
|
303 |
* Find specifies keyword on page. Set aFindString to NULL if
|
|
304 |
* searching in directions.
|
|
305 |
* @since 3.0
|
|
306 |
* @param aFindString The string to find on page. If seaching for direction
|
|
307 |
* this must be NULL.
|
|
308 |
* @param aFindDirection Search direction. True: next, otherwise: previous.
|
|
309 |
*/
|
|
310 |
void FindKeywordL( HBufC* aFindString, TBool aFindDirection = EFalse );
|
|
311 |
|
|
312 |
/**
|
|
313 |
* Handles opening a feed with the url
|
|
314 |
* @since 3.1
|
|
315 |
* @param aUrl - the url of the feed
|
|
316 |
* @return void
|
|
317 |
*/
|
|
318 |
void HandleSubscribeToWithUrlL(TPtrC aUrl);
|
|
319 |
|
|
320 |
/**
|
|
321 |
* Check status of contentview fullscreen mode
|
|
322 |
* @since 7.x
|
|
323 |
* @return True if currently in fullscreen mode, othervise False.
|
|
324 |
*/
|
|
325 |
inline TBool FullScreenMode() const { return iContentFullScreenMode; }
|
|
326 |
|
|
327 |
public: // from MAknToolbarObserver
|
|
328 |
/**
|
|
329 |
* Should be used to set the properties of some toolbar components
|
|
330 |
* before it is drawn.
|
|
331 |
* @param aResourceId The resource ID for particular toolbar
|
|
332 |
* @param aToolbar The toolbar object pointer
|
|
333 |
*/
|
|
334 |
void DynInitToolbarL( TInt /*aResourceId*/, CAknToolbar* /*aToolbar*/ );
|
|
335 |
|
|
336 |
/**
|
|
337 |
* Handles toolbar events for a certain toolbar item.
|
|
338 |
* @param aCommand The command ID of some toolbar item.
|
|
339 |
*/
|
|
340 |
void OfferToolbarEventL( TInt aCommand ) { HandleCommandL(aCommand);}
|
|
341 |
|
|
342 |
public: // from MWindowObserver
|
|
343 |
void WindowEventHandlerL( TWindowEvent aEvent, TInt aWindowId );
|
|
344 |
|
|
345 |
// from CAknView
|
|
346 |
|
|
347 |
/**
|
|
348 |
* Handles commands.
|
|
349 |
* @param aCommand Command to be handled
|
|
350 |
*/
|
|
351 |
void HandleCommandL( TInt aCommand );
|
|
352 |
|
|
353 |
// from CAknView
|
|
354 |
|
|
355 |
/**
|
|
356 |
* From @c MEikMenuObserver. Menu emphasising or de-emphasising function.
|
|
357 |
* @c CEikMenuBar objects call this on their observer. Updates the value of
|
|
358 |
* the flags for the (@c aMenuControl) on the control stack.
|
|
359 |
* @param aMenuControl The control to be emphasised or de-emphasisied.
|
|
360 |
* @param aEmphasis @c ETrue to emphasize the menu, @c EFalse to refuse the
|
|
361 |
* focus.
|
|
362 |
*/
|
|
363 |
void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
|
|
364 |
|
|
365 |
TRect ResizeClientRect();
|
|
366 |
void SetContentContainerRect();
|
|
367 |
|
|
368 |
private:
|
|
369 |
|
|
370 |
/**
|
|
371 |
* Generic Zoom function
|
|
372 |
* @since 3.0
|
|
373 |
* @param aDirection 1 for In, -1 for Out
|
|
374 |
* @param aLow low boundary for zoom level checking
|
|
375 |
* @param aHigh high boundary for zoom level checking
|
|
376 |
* @param aDuration the time to display zoom indicator
|
|
377 |
*/
|
|
378 |
void ZoomImagesL( TInt aDirection, TUint aLow, TUint aHigh, TInt aDuration );
|
|
379 |
|
|
380 |
TInt FindCurrentZoomIndex(TInt aCurrentZoomLevel);
|
|
381 |
|
|
382 |
void SaveCurrentZoomLevel(TBool saveZoom);
|
|
383 |
|
|
384 |
protected: // from CAknView
|
|
385 |
|
|
386 |
/**
|
|
387 |
* @since 1.2
|
|
388 |
* @param aPrevViewId Previous view id
|
|
389 |
* @param aCustomMessageId
|
|
390 |
* @param aCustomMessage
|
|
391 |
*/
|
|
392 |
void DoActivateL(
|
|
393 |
const TVwsViewId& aPrevViewId,
|
|
394 |
TUid aCustomMessageId,
|
|
395 |
const TDesC8& aCustomMessage );
|
|
396 |
|
|
397 |
/**
|
|
398 |
* @since 1.2
|
|
399 |
*/
|
|
400 |
void DoDeactivate();
|
|
401 |
|
|
402 |
protected: // from CBrowserViewBase
|
|
403 |
|
|
404 |
/**
|
|
405 |
* @since 1.2
|
|
406 |
*/
|
|
407 |
TInt CommandSetResourceIdL();
|
|
408 |
|
|
409 |
/**
|
|
410 |
* Set command set lsk,rsk,msk dynamically via pointers.
|
|
411 |
* Derived classes should implement, though it can be empty.
|
|
412 |
* If it does nothing, empty softkeys will be assigned
|
|
413 |
* @since 5.0
|
|
414 |
*/
|
|
415 |
void CommandSetResourceDynL(TSKPair& /*lsk*/, TSKPair& /*rsk*/, TSKPair& /*msk*/) {};
|
|
416 |
|
|
417 |
|
|
418 |
private:
|
|
419 |
|
|
420 |
/**
|
|
421 |
* @param aApiProvider Reference to API provider
|
|
422 |
*/
|
|
423 |
CBrowserContentView( MApiProvider& aApiProvider );
|
|
424 |
|
|
425 |
/**
|
|
426 |
* Symbian OS contructor.
|
|
427 |
* @param aRect
|
|
428 |
*/
|
|
429 |
void ConstructL( TRect& aRect );
|
|
430 |
|
|
431 |
/**
|
|
432 |
* Send address.
|
|
433 |
*/
|
|
434 |
void SendAddressL( );
|
|
435 |
|
|
436 |
/**
|
|
437 |
* This method is used to update the Option menu label text
|
|
438 |
* @param aMenuPane Menu pane to be configured.
|
|
439 |
* @param aCommandId Identifies the menu item (as defined in .hrh file) to be updated.
|
|
440 |
* @param aResourceId New label resource ID
|
|
441 |
*/
|
|
442 |
void UpdateOptionMenuItemLabelL(
|
|
443 |
CEikMenuPane* aMenuPane,
|
|
444 |
const TInt aCommandId,
|
|
445 |
const TInt aResourceId );
|
|
446 |
|
|
447 |
/**
|
|
448 |
* Do search for specified items in current page.
|
|
449 |
* @param aSearchCase items to be searched for
|
|
450 |
*/
|
|
451 |
void DoSearchL( CFindItemEngine::TFindItemSearchCase aSearchCase );
|
|
452 |
|
|
453 |
/**
|
|
454 |
*
|
|
455 |
*/
|
|
456 |
void SetNavipaneViewL();
|
|
457 |
|
|
458 |
/**
|
|
459 |
* Force updating the Goto Pane. Does nothing if Goto Pane is not
|
|
460 |
* visible.
|
|
461 |
*/
|
|
462 |
void UpdateGotoPaneL();
|
|
463 |
|
|
464 |
/**
|
|
465 |
* View history pane
|
|
466 |
*/
|
|
467 |
void ViewHistoryL();
|
|
468 |
|
|
469 |
/**
|
|
470 |
* Dynamically initialize menu panes.
|
|
471 |
* @param aResourceId ID for the resource to be loaded
|
|
472 |
* @param aMenuPane Menu pane
|
|
473 |
*/
|
|
474 |
void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
|
|
475 |
|
|
476 |
/**
|
|
477 |
* Handles a selection from the subscribe to sub-menu.
|
|
478 |
* @since 3.0
|
|
479 |
* @param aCommand - A menu command
|
|
480 |
* @return void
|
|
481 |
*/
|
|
482 |
void HandleSubscribeToL(TInt aCommand);
|
|
483 |
|
|
484 |
/**
|
|
485 |
* Deals with menu items for Multiple Windows Support
|
|
486 |
* @since 3.1
|
|
487 |
* @param aWindowMenuItems - bool for each window submenu item that is set to true if it should be dimmed ; false if not
|
|
488 |
* @return true is all items were true otherwise false is returned.
|
|
489 |
*/
|
|
490 |
TBool CheckForEmptyWindowsMenuL(TWindowsMenuItemsDimCheck* aWindowMenuItems);
|
|
491 |
|
|
492 |
/**
|
|
493 |
* Deals with dimming menu items for Multiple Windows Support
|
|
494 |
* @since 3.1
|
|
495 |
* @param aMenuPane - A menu pane
|
|
496 |
* @param aWindowMenuItems - lists each window submenu item and whether it should be dimmed
|
|
497 |
* @return void
|
|
498 |
*/
|
|
499 |
void DimMultipleWindowsMenuItems( CEikMenuPane& aMenuPane, TWindowsMenuItemsDimCheck aWindowMenuItems);
|
|
500 |
|
|
501 |
/**
|
|
502 |
* Check if the input is activate
|
|
503 |
* @param none
|
|
504 |
* @return ETrue if input is
|
|
505 |
*/
|
|
506 |
TBool IsEditMode();
|
|
507 |
private:
|
|
508 |
|
|
509 |
void ProcessCommandL( TInt aCommand );
|
|
510 |
|
|
511 |
void GotoUrlInGotoPaneL();
|
|
512 |
|
|
513 |
/**
|
|
514 |
* Adds the saved bookmark's id to the bottom of the list.
|
|
515 |
* @param aUid Uid of the bookmark
|
|
516 |
*/
|
|
517 |
void AddBMUidToLastPlaceToCurrentListL( const TInt aUid );
|
|
518 |
|
|
519 |
/**
|
|
520 |
* callback handler for fullscreen status pane timer
|
|
521 |
*/
|
|
522 |
static TInt CallHideFsStatusPane(TAny* aCBrowserContentView );
|
|
523 |
|
|
524 |
/**
|
|
525 |
* Hides the status pane for fullscreen mode and cancels timer
|
|
526 |
*/
|
|
527 |
void HideFsStatusPane();
|
|
528 |
|
|
529 |
/**
|
|
530 |
* Callback handler for auto fullscreen mode timer
|
|
531 |
*/
|
|
532 |
static TInt CallActivateAutoFullScreen(TAny* aCBrowserContentView);
|
|
533 |
|
|
534 |
/**
|
|
535 |
* Activate Automatic Full screen mode
|
|
536 |
*/
|
|
537 |
void ActivateAutoFullScreenMode();
|
|
538 |
|
|
539 |
/**
|
|
540 |
* Start auto fullscreen timer
|
|
541 |
*/
|
|
542 |
void StartAutoFullScreenTimer();
|
|
543 |
|
|
544 |
/**
|
|
545 |
* Suspend auto fullscreen timer
|
|
546 |
*/
|
|
547 |
void SuspendAutoFullScreenTimer();
|
|
548 |
|
|
549 |
/**
|
|
550 |
* Start auto fullscreen Idle timer
|
|
551 |
*/
|
|
552 |
void StartAutoFullScreenIdleTimer();
|
|
553 |
|
|
554 |
/**
|
|
555 |
* Suspend auto fullscreen Idle timer
|
|
556 |
*/
|
|
557 |
void SuspendAutoFullScreenIdleTimer();
|
|
558 |
public:
|
|
559 |
|
|
560 |
// BrowserContentViewContainer can use this method to pop up 'Go to' pane.
|
|
561 |
void LaunchGotoAddressEditorL();
|
|
562 |
|
|
563 |
void UpdateFullScreenL();
|
|
564 |
|
|
565 |
void SetFullScreenOffL();
|
|
566 |
|
|
567 |
/**
|
|
568 |
* Launches the Find keyword pane.
|
|
569 |
* @since 3.0
|
|
570 |
*/
|
|
571 |
void LaunchFindKeywordEditorL();
|
|
572 |
|
|
573 |
/**
|
|
574 |
* Initializes iZoomLevelArray, iCurrentZoomLevelIndex, iCurrentZoomLevel,
|
|
575 |
* iZoomInVisible, iZoomOutVisible members.
|
|
576 |
*
|
|
577 |
* Note: these members must be initialized later, after the BrowserContentView was constructed
|
|
578 |
* in BrowserAppUi, because initializing zooming, requires iBrowserControl, which is created in
|
|
579 |
* BrowserAppUi::ConstructL(), and creating iBrowserControl requires a created BrowserContentView
|
|
580 |
* object. So zoom levels must be initialized after BrowserAppUi created the iBrowserControl member.
|
|
581 |
* @since 3.0
|
|
582 |
*/
|
|
583 |
void SetZoomLevelL();
|
|
584 |
|
|
585 |
/**
|
|
586 |
* Shows zoom level text in title pane for aDuration seconds.
|
|
587 |
* @since 3.0
|
|
588 |
* @param aResourceId Resource of the zoom level string
|
|
589 |
* @param aLevel The zoom level which will be shown formatting
|
|
590 |
* with the resource string.
|
|
591 |
*/
|
|
592 |
void SetZoomLevelTitleTextL( TInt aResourceId , TInt aDuration = KZoomModeShowDisableTime );
|
|
593 |
|
|
594 |
|
|
595 |
/**
|
|
596 |
* Gets the text zoom levels.
|
|
597 |
*/
|
|
598 |
void GetTextZoomLevelsL();
|
|
599 |
|
|
600 |
/**
|
|
601 |
* Handle zoom mode command
|
|
602 |
*/
|
|
603 |
void SetZoomModeL( TBool aZoomMode );
|
|
604 |
|
|
605 |
/**
|
|
606 |
* Handle pointer events when Goto pane is visible
|
|
607 |
*/
|
|
608 |
void HandlePointerCommand(TInt aCommand) { TRAP_IGNORE(HandleCommandL(aCommand)); }
|
|
609 |
|
|
610 |
/**
|
|
611 |
* Add new bookmark to the database.
|
|
612 |
* @param aAsLastVisited ETrue if the meaning is to update "Last visited" bookmark
|
|
613 |
* @param aUrl The URL that should be bookmarked
|
|
614 |
*/
|
|
615 |
void AddNewBookmarkL( TBool aAsLastVisited, HBufC* aUrl = NULL );
|
|
616 |
|
|
617 |
void ShowKeymap();
|
|
618 |
|
|
619 |
void HideKeymap();
|
|
620 |
|
|
621 |
void RedrawKeymap();
|
|
622 |
|
|
623 |
/**
|
|
624 |
* Set whether in content view full screen mode or not.
|
|
625 |
* @since 5.0
|
|
626 |
* @param aEnableFullScreen boolean. True: Enter fullscreen, False: Exit
|
|
627 |
* @return void
|
|
628 |
*/
|
|
629 |
void EnableFullScreenModeL( TBool aEnableFullScreen );
|
|
630 |
|
|
631 |
void HandlePluginFullScreen(TBool aFullScreen);
|
|
632 |
|
|
633 |
/**
|
|
634 |
* Show or hide status pane for fullscreen mode
|
|
635 |
* @since 7.x
|
|
636 |
* @param aShow boolean. True: show status pane, False: start timer that hides status pane on timeout
|
|
637 |
* @return void
|
|
638 |
*/
|
|
639 |
void ShowFsStatusPane(TBool aShow);
|
|
640 |
|
|
641 |
void setFullScreenFlag(){ iWasContentFullScreenMode = iContentFullScreenMode; }
|
|
642 |
|
|
643 |
void CBrowserContentView::HandleStatusPaneCallBack();
|
|
644 |
|
|
645 |
private:
|
|
646 |
|
|
647 |
CAknNavigationControlContainer* iNaviPane;
|
|
648 |
CAknNavigationDecorator* iNaviDecorator;
|
|
649 |
TBufC<KStatusMessageMaxLength> iStatusMsg;
|
|
650 |
CBrowserBookmarksModel* iBookmarksModel;
|
|
651 |
CBrowserContentViewContainer* iContainer;
|
|
652 |
|
|
653 |
|
|
654 |
// Find keyword pane's keyword
|
|
655 |
HBufC* iEnteredKeyword;
|
|
656 |
|
|
657 |
// Zoom images...
|
|
658 |
// Array contains the zoom levels. ( 30%, 40%, ... defined in webengine)
|
|
659 |
RArray<TUint>* iZoomLevelArray;
|
|
660 |
|
|
661 |
// The index of the zoom level in iZoomLevelArray.
|
|
662 |
TUint iCurrentZoomLevelIndex;
|
|
663 |
// Zoom text...
|
|
664 |
// Array contains the text zoom levels. ( All small,Small,Normal )
|
|
665 |
CArrayFixFlat<TInt>* iTextZoomLevelArray;
|
|
666 |
// The index of the zoom level in iTextZoomLevelArray.
|
|
667 |
// This index equals to text sizes in EAllSmall...
|
|
668 |
TUint iCurrentTextZoomLevelIndex;
|
|
669 |
CArrayFixFlat<TInt>* iFontSizeArray;
|
|
670 |
|
|
671 |
TBool iHistoryViewIsUp;
|
|
672 |
TBool iThumbnailViewIsUp;
|
|
673 |
TBool iSynchRequestViewIsUp;
|
|
674 |
TBool iImageMapActive;
|
|
675 |
CAknInfoPopupNoteController* iToolBarInfoNote;
|
|
676 |
|
|
677 |
TBool iPluginPlayerIsUp;
|
|
678 |
TBool iSmartTextViewIsUp;
|
|
679 |
|
|
680 |
TBool iFindItemIsInProgress;
|
|
681 |
//Flag to check if the last view was Feeds engine
|
|
682 |
TBool iWasInFeedsView;
|
|
683 |
CAknStylusPopUpMenu* iStylusPopupMenu; // owned
|
|
684 |
CBrowserContentViewToolbar* iBrowserContentViewToolbar; // owned
|
|
685 |
TBool iPenEnabled;
|
|
686 |
CBrowserShortcutKeyMap* iShortcutKeyMap; // owned
|
|
687 |
|
|
688 |
// True if the ZoomSlider is currently visible
|
|
689 |
TBool iZoomSliderVisible;
|
|
690 |
// True if in zoom mode, zoom indicator (tooltip or slider) displayed
|
|
691 |
TBool iZoomMode;
|
|
692 |
CBrowserContentViewZoomModeTimer *iZoomModeTimer;
|
|
693 |
|
|
694 |
// True if the browser is in Full Screen Mode in ContentView
|
|
695 |
TBool iContentFullScreenMode;
|
|
696 |
TBool iHistoryAtBeginning;
|
|
697 |
TBool iHistoryAtEnd;
|
|
698 |
TBool iIsPluginFullScreenMode;
|
|
699 |
|
|
700 |
CAknAppUiBase::TAppUiOrientation iOrientation;
|
|
701 |
TBool iWasContentFullScreenMode;
|
|
702 |
CPeriodic *iPeriodic;
|
|
703 |
TUint iCurrentZoomLevel;
|
|
704 |
TUint iSavedZoomLevel;
|
|
705 |
TBool iOptionsMenuActive;
|
|
706 |
CPeriodic *iAutoFSPeriodic;
|
|
707 |
CPeriodic *iIdlePeriodic;
|
|
708 |
TBool iFullScreenBeforeEditModeEntry;
|
|
709 |
HBufC* iTitle;
|
|
710 |
};
|
|
711 |
|
|
712 |
#endif
|
|
713 |
|
|
714 |
// End of File
|