2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
17 //!Internet MainForm class
19 *@brief: The %MainForm provides the common functionalities for the Main View of the Browser including the addressbar,
20 * loading,handling events etc.
24 #include <FGraphics.h>
29 //#include <FShellNotificationManager.h>
31 #include "IntBookmarkData.h"
32 #include "IntBookmarkPresentationModel.h"
33 #include "IntCommonLib.h"
34 #include "IntFaviconManager.h"
35 #include "IntInternetApp.h"
36 #include "IntMainForm.h"
37 #include "IntSceneRegister.h"
38 #include "IntSettingPresentationModel.h"
40 using namespace Tizen::App;
41 using namespace Tizen::Base;
42 using namespace Tizen::Base::Collection;
43 using namespace Tizen::Base::Runtime;
44 using namespace Tizen::Base::Utility;
45 using namespace Tizen::Graphics;
46 using namespace Tizen::Io;
47 using namespace Tizen::Locales;
48 using namespace Tizen::Media;
49 using namespace Tizen::Shell;
50 using namespace Tizen::Ui;
51 using namespace Tizen::Ui::Controls;
52 using namespace Tizen::Content;
53 using namespace Tizen::Ui::Scenes;
54 using namespace Tizen::System;
55 using namespace Tizen::Web;
56 using namespace Tizen::Web::Controls;
58 static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.9.png";
59 static const wchar_t* IDB_FINDWORD_INPUT_FIELD_BG = L"I01_toolbar_input_field_findword.9.png";
60 static const wchar_t* IDB_BTN_BACK = L"I01_icon_Back.png";
61 static const wchar_t* IDB_BTN_BACK_PRESS = L"I01_icon_Back_press.png";
62 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK = L"I01_search_list_icon_favorite.png";
63 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK_PRESS = L"I01_search_list_icon_favorite_press.png";
64 static const wchar_t* IDB_CONTRLBAR_ICON_MORE = L"I01_icon_more.png";
65 static const wchar_t* IDB_CONTRLBAR_ICON_MORE_PRESS = L"I01_icon_more_press.png";
66 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW = L"I01_icon_plus.png";
67 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW_PRESS = L"I01_icon_plus_press.png";
68 static const wchar_t* IDB_CONTROLBAR_ICON_CREATE_DISABLE = L"I01_controlbar_icon_create_disable.png";
69 static const wchar_t* IDB_BUTTON_ON = L"00_button_on.png";
70 static const wchar_t* IDB_BUTTON_OFF = L"00_button_off.png";
71 static const wchar_t* IDB_ICON_BOOKMARK_OFF_TEMP = L"I01_icon_bookmark_off_temp.png";
72 static const wchar_t* IDB_ICON_BOOKMARK_ON_TEMP = L"I01_icon_bookmark_on_temp.png";
73 static const wchar_t* IDS_TIZEN_SERVICE = L"tizen-service";
74 static const wchar_t* IDS_APPID = L"AppID";
75 static const wchar_t* IDS_KEY = L"key";
76 static const wchar_t* IDS_VALUE = L"value";
77 static const wchar_t* IDB_TITLE_PROGRESS_BAR_BG = L"I01_title_progress_bar_bg.png";
78 static const wchar_t* IDB_TITLE_PROGRESS_BAR = L"I01_title_progress_bar.png";
79 //static const wchar_t* IDB_ADDRESS_BAR_BACKGROUND = L"I01_toolbar_bg_02.9.png";
81 const int IDA_BACKBTN_CLICKED = 101;
82 const int IDA_BOOKMARKBTN_CLICKED = 102;
83 const int IDA_MOREBTN_CLICKED = 103;
84 const int IDA_MULTIWINDOWBTN_CLICKED = 104;
85 const int IDA_NEWWINDOWBTN_CLICKED = 105;
86 const int IDA_FORWARD_CLICKED = 106;
87 const int IDA_ADDTOBOOKMARK_CLICKED = 107;
88 const int IDA_SHARE_CLICKED = 108;
89 const int IDA_FINDONPAGE_CLICKED = 109;
90 const int IDA_PRIVATEON_CLICKED = 110;
91 const int IDA_SETTINGS_CLICKED = 111;
92 const int IDA_READER_CLOSE_CLICKED = 112;
93 const int IDA_SMALLFONT_BTN_CLICKED = 113;
94 const int IDA_LARGEFONT_BTN_CLICKED = 114;
95 const int IDA_BRIGHTNESS_BTN_CLICKED = 115;
96 const int IDA_HISTORY_CLICKED = 116;
97 const int IDA_ADD_TO_BOOKMARKBTN_CLICKED = 117;
98 const int IDA_ADD_TO_HOME_CLICKED = 118;
99 const int IDA_SAVED_PAGES_CLICKED = 119;
100 const int IDA_DESKTOP_VIEW_CLICKED = 120;
101 const int IDA_SAVE_CLICKED = 121;
102 const int IDA_PRINT_CLICKED = 122;
104 const int IDA_FINDWORD_SEARCH_CLICKED = 201;
105 const int IDA_FINDWORD_NEXT_CLICKED = 202;
106 const int IDA_FINDWORD_PREV_CLICKED = 203;
107 const int IDA_FINDWORD_CLEAR_CLICKED = 204;
108 const int IDA_FINDWORD_CANCEL_CLICKED = 205;
110 const int IDA_COPY_IMAGE_CLICKED = 206;
111 const int IDA_VIEW_IMAGE_CLICKED = 207;
112 const int IDA_SAVE_IMAGE_CLICKED = 208;
113 const int IDA_SHARE_IMAGE_CLICKED = 209;
115 const int IDA_COPY_TEXT_CLICKED = 210;
116 const int IDA_PASTE_TEXT_CLICKED = 211;
117 const int IDA_FIND_TEXT__CLICKED = 212;
118 const int IDA_SHARE_TEXT_CLICKED = 213;
120 const int IDA_GO_BACK = 214;
121 const int IDA_GO_FORWARD = 215;
122 const int IDA_REFRESH_BTN_CLICKED = 216;
123 const int IDA_STOP_BTN_CLICKED = 217;
124 const int IDA_CLEAR_URL = 218;
125 const int IDA_READER_BTN_CLICKED = 219;
128 const int IDA_HYPERLINK_OPEN_CLICKED = 220;
129 const int IDA_HYPERLINK_COPY_LINK_CLICKED = 221;
130 const int IDA_HYPERLINK_SAVE_IMAGE_CLICKED = 222;
131 const int IDA_HYPERLINK_SHARE_IMAGE_CLICKED = 223;
133 const int IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED = 224;
135 const int DEFAULT_PROGRESS_PERCENTAGE = 10;
137 const int MainForm::IDA_FORMAT_BITMAP = 500;
138 const int MainForm::IDA_FORMAT_DELETE_BITMAP = 501;
139 const int MainForm::IDA_FORMAT_TITLE_STRING = 502;
140 const int MainForm::IDA_FORMAT_URL_STRING = 503;
141 const int MainForm::IDA_CONTEXT_ITEM_DELETE = 504;
143 static const int WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT = 336;
144 static const int WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE = 800;
145 static const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
147 static const wchar_t* APPCONTROL_OPERATION_ID_IMAGE_VIEWER = L"http://tizen.org/appcontrol/operation/view";
148 MainForm::MainForm(void)
150 __isLongPressedDone = false;
152 __pAddressbar = null;
153 // __pMostVisitedSitesPanel = null;
154 __pMostVisitedListView = null;
155 __pFooterPanel = null;
156 __pHitElementResult = null;
157 __pWindowInfo = null;
160 __pOptionMenu = null;
161 __pFindWordControl = null;
162 __pFindWordPanelLeftToRight = null;
163 __pFindWordPanelRightToLeft = null;
164 __pFindWordBgLabel = null;
165 __pFindWordBgLabelRightToLeft = null;
166 __pFindWordEditField = null;
167 __pFindWordEditFieldRightToLeft = null;
168 __pFindWordClear = null;
169 __pFindWordClearRightToLeft = null;
170 __pFindWordCountLabel = null;
171 __pFindWordClearRightToLeft = null;
172 __pFindWordNext = null;
173 __pFindWordPrev = null;
174 __previousZoomLevel = 1.0;
176 __currentAddMode = ADDRESSBAR_MODE_LOADING_COMPLETE;
179 __currentSearchStr = L"";
180 __currentSelectedStr = L"";
181 __maxOccurrances = 0;
182 __currentWordIndex = 0;
185 //__inputEventToBeSupressed = false;
186 __isLoadingData = false;
187 __isLoadingCompleted = false;
188 __progressPercentage = 0;
189 __touchPoint1 = Point(-1,-1);
190 __touchPoint2 = Point(-1,-1);
191 __longPressPoint = Point(-1,-1);
193 // __pReaderPopup = null;
194 __pReaderData = null;
196 __pReaderCloseBtn = null;
197 //__pNewWindowButton = null;
198 __pMoreButton = null;
199 __pMultiWindowButton = null;
200 __pArticleReaderPanel = null;
201 __pBlankPanel = null;
202 __pArticleReaderLabel = null;
203 __webControlHeight = 0;
204 __prevAddressBarMode = ADDRESSBAR_MODE_INVALID;
205 __curAddressBarMode = ADDRESSBAR_MODE_INVALID;
206 __pMostVisitedSites = null;
207 __pFooterUrlField = null;
209 __pGoForwardBtn = null;
210 __pRefreshBtn = null;
211 __pProgressbarLabel = null;
212 __pFooterLabel = null;
216 __isKeypadOpened = false;
218 __pNotification = null;
221 MainForm::~MainForm(void)
223 SettingPresentationModel::GetInstance()->RemoveSettingsEventListener(*this);
227 __pAddressbar->SetAddressbarEventListener(null);
230 if(__pHistory != null)
236 if (__pReaderData != null)
238 delete __pReaderData;
239 __pReaderData = null;
242 if (__pPopUp != null)
248 if (__pHitElementResult != null)
250 delete __pHitElementResult;
251 __pHitElementResult = null;
255 delete __pOptionMenu;
256 __pOptionMenu = null;
259 String* pSelectedScene = NULL;
260 Object* pValue = NULL;
261 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
262 pSelectedScene = (String*) pValue;
264 /*if (pSelectedScene != null)
266 delete pSelectedScene;
268 MultiWindowPresentationModel::SetValue(SELECTED_SCENE_ID, null);*/
272 MainForm::Initialize(void)
274 Construct(L"IDL_FORM");
276 // SetFormStyle(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR | FORM_STYLE_FOOTER);
281 MainForm::OnInitializing(void)
283 AppLog("get client area width = %d",GetClientAreaBounds().width);
284 AppLog("get client area height = %d",GetClientAreaBounds().height);
285 const int WIDTH_CONTEXT_MENU_BUTTON = 336;
286 const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
288 __fontSize = CommonUtil::GetFontSize();
289 Panel* pFooterPanel = null;
291 __pSaveImage = new Image();
292 __pSaveImage->Construct();
294 // Setup back event listener
295 SettingPresentationModel::GetInstance()->AddSettingsEventListener(*this);
296 SceneManager::GetInstance()->AddSceneEventListener(IDSCN_MAIN_VIEW, *this);
297 AddOrientationEventListener(*this);
299 AppLogDebug(" MainForm::OnInitializing ended");
300 if (__pMostVisitedSites == null)
302 __pMostVisitedSites = new(std::nothrow) ArrayList();
303 __pMostVisitedSites->Construct();
305 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
307 __pItemContext= new(std::nothrow) ListContextItem();
308 __pItemContext->Construct();
310 __pItemContext->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"),true);
313 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR);
314 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR);
315 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR);
317 __pItemContextLandscape= new(std::nothrow) ListContextItem();
318 __pItemContextLandscape->Construct();
320 __pItemContextLandscape->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), true);
321 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR);
322 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR);
323 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR);
324 SetFormMenuEventListener(this);
325 AppLog("SetFormMenuEventListener result %s",GetErrorMessage(GetLastResult()));
330 MainForm::InitAddressbar(void)
332 AppLogDebug("MainForm::InitAddressbar entered");
334 result r = E_SUCCESS;
336 if (__pAddressbar != null)
340 __pAddressbar = new(std::nothrow) Addressbar();
341 AppLog("MainForm::InitAddressbar GetClientAreaBounds().width %d",GetClientAreaBounds().width);
342 r = __pAddressbar->Initialize(Tizen::Graphics::Rectangle(0, 0, GetClientAreaBounds().width, 82));
345 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
348 __pAddressbar->SetAddressbarEventListener(this);
349 AddControl(__pAddressbar);
350 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
351 SetControlAlwaysOnTop(*__pAddressbar, true);
352 __adressPanelPosition = __pAddressbar->GetPosition();
354 AppLogDebug("MainForm::InitAddressbar exit");
360 MainForm::CreateReaderPanel(void)
362 AppLogDebug("CreateReaderPanel() width %d",GetClientAreaBounds().width);
363 result r = E_FAILURE;
365 Button *pSmallFontBtn = null;
366 Button *pLargeFontBtn = null;
368 __pBlankPanel = new (std::nothrow) Panel();
369 __pBlankPanel->Construct(L"IDL_BLANK_PANEL");
371 __pArticleReaderPanel = new (std::nothrow) Panel();
372 __pArticleReaderPanel->Construct(L"IDL_ARTICLE_READER");
374 __pReaderCloseBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_CLOSE_READER",true));
375 if (__pReaderCloseBtn)
377 AppLogDebug("CreateReaderPanel() 6");
378 __pReaderCloseBtn->AddActionEventListener(*this);
379 __pReaderCloseBtn->SetActionId(IDA_READER_CLOSE_CLICKED);
382 __pWebReader = new (std::nothrow) Web();
383 __pWebReader->Construct(Rectangle(2,2, __pArticleReaderPanel->GetWidth()-2,__pArticleReaderPanel->GetHeight() - 96 -2));
385 settings.SetInputStyle(INPUT_STYLE_OVERLAY);
386 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
388 r = __pWebReader->SetSetting(settings);
390 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
393 __pArticleReaderLabel = new Label();
394 __pArticleReaderLabel->Construct(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()),L"");
396 __pBlankPanel->AddControl(__pArticleReaderLabel);
397 __pBlankPanel->AddControl(__pArticleReaderPanel);
398 AddControl(__pBlankPanel);
400 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
401 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
402 __pArticleReaderLabel->SetBounds(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
404 __pArticleReaderPanel->AddControl(__pWebReader);
405 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth()-2,__pArticleReaderPanel->GetHeight() - 96 -2));
406 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
407 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
409 if (pBitmap != null && pSrcBitmap != null)
411 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
413 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
415 pSmallFontBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_SMALL_FONT",true));
418 pSmallFontBtn->AddActionEventListener(*this);
419 pSmallFontBtn->SetActionId(IDA_SMALLFONT_BTN_CLICKED);
422 pLargeFontBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_LARGE_FONT",true));
425 pLargeFontBtn->AddActionEventListener(*this);
426 pLargeFontBtn->SetActionId(IDA_LARGEFONT_BTN_CLICKED);
435 if (pSrcBitmap != null)
441 SetControlAlwaysOnTop(*__pBlankPanel, true);
442 //__pBlankPanel->SetControlAlwaysAtBottom(*__pArticleReaderPanel, true);
449 MainForm::InitWebControl()
451 AppLogDebug("MainForm::InitWebControl enter");
452 result r = E_SUCCESS;
453 AppLogDebug("InitWebControl");
455 if (__pAddressbar == null || __pFooterPanel == null)
458 const int Y_WEBCONTROL_POSITION = 0;
460 __webControlHeight = GetHeight() - __pFooterPanel->GetHeight();
462 if (__pMostVisitedListView)
464 __pMostVisitedListView->SetShowState(false);
466 if (__pWebViewer != null)
468 AppLogDebug("Already initialized");
471 __pWebViewer = new(std::nothrow) Web();
472 if(__pWebViewer == NULL)
474 AppLogDebug("Initialization failed");
477 r = __pWebViewer->Construct(Rectangle(0, Y_WEBCONTROL_POSITION, GetClientAreaBounds().width,__webControlHeight + 12));
481 AppLogDebug("Web construct failed with %s", GetErrorMessage(r));
488 r = AddControl(__pWebViewer);
494 AppLogDebug("Web addcontrol failed with %s", GetErrorMessage(r));
497 __webControlPosition = __pWebViewer->GetPosition();
498 r = __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
501 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
505 __pWebViewer->SetLoadingListener(this);
506 __pWebViewer->SetWebUiEventListenerF(this);
507 __pWebViewer->SetWebKeypadEventListener(this);
508 __pWebViewer->SetFocus();
509 __pWebViewer->AddTouchEventListener(*this);
511 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
512 __pWebViewer->SetTextSearchListener(this);
515 AppLogDebug("MainForm :before return");
517 AppLogDebug("MainForm::InitWebControl Exit");
523 MainForm::SetJavascriptEnabled()
525 WebSetting settings = __pWebViewer->GetSetting();
526 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
527 __pWebViewer->SetSetting(settings);
531 MainForm::SetImageLoadEnabled()
533 WebSetting settings = __pWebViewer->GetSetting();
534 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
535 __pWebViewer->SetSetting(settings);
539 MainForm::InitFooter(void)
541 AppLogDebug("MainForm::InitFooter entered");
542 Button* pBackButton = null;
543 Button* pBookmarkButton = null;
544 Button* pMultiWindowButton = null;
545 Bitmap *pIconBitmap = null;
546 Bitmap *pBGBitmap = null;
547 Label *pBGLabel = null;
549 if (__pFooterPanel == null)
551 __pFooterPanel = static_cast< Panel* >(GetControl(L"IDC_FOOTER_PANEL", true));
554 if (__pFooterPanel == null)
559 SetControlAlwaysOnTop(*__pFooterPanel, true);
561 __pFooterLabel = static_cast< Label* >(GetControl(L"IDC_FOOTER_LABEL", true));
562 if ( __pFooterLabel == NULL )
566 //__pFooterPanel->SetBackgroundColor(CUSTOM_COLOR_TRANSPARENT);
567 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
570 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
574 __pMultiWindowButton = static_cast< Button* >(GetControl(L"IDC_MULTIWINDOW_BUTTON", true));
576 if ( __pMultiWindowButton == NULL )
582 SetFormBackEventListener(this);
583 AppLog("SetFormBackEventListener result %s",GetErrorMessage(GetLastResult()));
584 if (__pMultiWindowButton != null)
586 Bitmap* pBitmap = null;
587 Bitmap* pPressedBitmap = null;
588 String imagePath = "I01_toolbar_icon_windows_manager_0";
589 String pressedImagePath = "I01_toolbar_icon_windows_manager_0";
590 int totalCount = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount();
591 imagePath.Append(totalCount);
592 imagePath.Append(".png");
594 pressedImagePath.Append(totalCount);
595 pressedImagePath.Append("_press.png");
597 pBitmap = AppResource::GetInstance()->GetBitmapN(imagePath);
598 pPressedBitmap = AppResource::GetInstance()->GetBitmapN(pressedImagePath);
599 if ( pBitmap == null )
604 Point startPoint = Point((__pMultiWindowButton->GetWidth() - pBitmap->GetWidth())/2,(__pMultiWindowButton->GetHeight() - pBitmap->GetHeight())/2);
607 __pMultiWindowButton->SetNormalBitmap(startPoint, *pBitmap);
608 __pMultiWindowButton->SetPressedBitmap(startPoint, *pPressedBitmap);
613 __pMultiWindowButton->AddActionEventListener(*this);
614 __pMultiWindowButton->SetActionId(IDA_MULTIWINDOWBTN_CLICKED);
617 delete pPressedBitmap;
618 pPressedBitmap = null;
624 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE);
625 Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE_PRESS);
628 Point startPoint((__pMoreButton->GetWidth() - pBitmap->GetWidth())/2,(__pMoreButton->GetHeight() - pBitmap->GetHeight())/2 );
629 __pMoreButton->SetNormalBitmap(startPoint, *pBitmap);
630 __pMoreButton->SetPressedBitmap(startPoint, *pPressedBitmap);
634 __pMoreButton->AddActionEventListener(*this);
635 __pMoreButton->SetActionId(IDA_MOREBTN_CLICKED);
638 //Add the editfield for url
639 __pFooterUrlField = static_cast<EditField*> (GetControl(L"IDC_URL_EDIT_FIELD",true));
640 if (__pFooterUrlField == NULL)
642 return E_INVALID_KEY;
645 __pFooterUrlField->SetOverlayKeypadCommandButtonVisible(false);
646 __pFooterUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
647 __pFooterUrlField->AddKeypadEventListener(*this);
648 __pFooterUrlField->SetPropagatedTouchEventListener(this);
649 __pFooterUrlField->AddFocusEventListener(*this);
651 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
653 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
655 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
657 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_BLANK_PAGE"));
661 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
662 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
666 //Add the go Back Button
667 __pGoBackBtn = static_cast<Button*> (GetControl(L"IDC_PAGEBACK_BUTTON",true));
668 if (__pGoBackBtn == NULL)
670 AppLogDebug("__pGoBackBtn Control not found returning E_INVALID_KEY");
671 return E_INVALID_KEY;
673 __pGoBackBtn->SetActionId(IDA_GO_BACK);
674 __pGoBackBtn->AddActionEventListener(*this);
676 //Add the go forward Button
677 __pGoForwardBtn = static_cast<Button*> (GetControl(L"IDC_PAGEFORWARD_BUTTON",true));
678 if (__pGoForwardBtn == NULL)
680 AppLogDebug("Control not found returning E_INVALID_KEY");
681 return E_INVALID_KEY;
683 __pGoForwardBtn->SetActionId(IDA_GO_FORWARD);
684 __pGoForwardBtn->AddActionEventListener(*this);
685 if (__pWebViewer && __pWebViewer->CanGoForward())
687 SetForwardButtonEnabled(true);
691 SetForwardButtonEnabled(false);
694 __pRefreshBtn = static_cast<Button*> (GetControl(L"IDC_REFRESH_BUTTON",true));
695 if (__pRefreshBtn == NULL)
697 AppLogDebug("Control not found returning E_INVALID_KEY");
698 return E_INVALID_KEY;
701 __pRefreshBtn->SetActionId(IDA_REFRESH_BTN_CLICKED);
702 __pRefreshBtn->AddActionEventListener(*this);
703 __pRefreshBtn->SetShowState(true);
705 //Add the backround label for displaying progressbar
706 __pProgressbarLabel = static_cast<Label*> (GetControl(L"IDC_PROGRESS_BAR_LABEL",true));
707 if (__pProgressbarLabel == NULL)
709 AppLogDebug("__pProgressbarLabel Control not found returning E_INVALID_KEY");
710 return E_INVALID_KEY;
712 __pProgressbarLabel->SetShowState(false);
714 __pStopBtn = static_cast<Button*> (GetControl(L"IDC_STOP_BUTTON",true));
715 if (__pStopBtn == NULL)
717 AppLogDebug("Control not found returning E_INVALID_KEY");
718 return E_INVALID_KEY;
720 __pStopBtn->SetActionId(IDA_STOP_BTN_CLICKED);
721 __pStopBtn->AddActionEventListener(*this);
722 __pStopBtn->SetShowState(false);
724 __pClearBtn = static_cast<Button*> (GetControl(L"IDC_CLEAR_BUTTON",true));
725 if (__pClearBtn == NULL)
727 AppLogDebug("Control not found returning E_INVALID_KEY");
728 return E_INVALID_KEY;
730 __pClearBtn->SetActionId(IDA_CLEAR_URL);
731 __pClearBtn->AddActionEventListener(*this);
732 __pClearBtn->SetShowState(false);
734 __pReaderBtn = static_cast<Button*> (GetControl(L"IDC_READER_BUTTON",true));
735 if (__pReaderBtn == NULL)
737 AppLogDebug("Control not found returning E_INVALID_KEY");
738 return E_INVALID_KEY;
740 __pReaderBtn->SetActionId(IDA_READER_BTN_CLICKED);
741 __pReaderBtn->AddActionEventListener(*this);
742 __pReaderBtn->SetShowState(false);
744 // __pFooterPanel->Invalidate(true);
745 if(__isKeypadOpened == false && __pAddressbar && __pAddressbar->GetShowState() == false)
747 // AppLog("asdasdasdasda");
748 __pFooterPanel->SetShowState(true);
750 else if(__pAddressbar == null)
752 __pFooterPanel->SetShowState(true);
755 __pFooterPanel->SetShowState(false);
756 AppLogDebug("MainForm::InitFooter exit");
761 MainForm::InitOptionMenu()
763 result r = E_SUCCESS;
764 bool isPrivateBrowsing = false;
765 Bitmap* pBitmap = null;
767 if (__pOptionMenu != null)
769 __pOptionMenu->SetFocusable(true);
770 __pOptionMenu->Invalidate(true);
774 __pOptionMenu = new(std::nothrow) OptionMenu();
775 r = __pOptionMenu->Construct();
776 TryCatch(!IsFailed(r),,"Contextmenu creation failed with%s",GetErrorMessage(r));
778 __pOptionMenu->SetFocusable(true);
779 isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
782 if (isPrivateBrowsing == true)
784 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
788 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
791 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_BOOKMARK"), IDA_BOOKMARKBTN_CLICKED);
793 if ( pBitmap != NULL)
795 __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"), IDA_PRIVATEON_CLICKED,*pBitmap);
798 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_TAB_HISTORY"), IDA_HISTORY_CLICKED);
799 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_BRIGHTNESS"), IDA_BRIGHTNESS_BTN_CLICKED);
800 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_SETTINGS"), IDA_SETTINGS_CLICKED);
803 __pOptionMenu->SetMaxVisibleItemsCount(6);
804 __pOptionMenu->SetShowState(false);
805 __pOptionMenu->AddActionEventListener(*this);
806 SetControlAlwaysOnTop(*__pOptionMenu, true);
812 result MainForm::InitImageContextMenu(Tizen::Graphics::Point p)
814 result r = E_SUCCESS;
815 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
817 AppLog("MainForm::InitImageContextMenu clicked on image");
818 if (__pImageMenu != null)
823 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
828 __pImageMenu = new (std::nothrow) ContextMenu();
829 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
830 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
832 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_IMAGE"),IDA_COPY_IMAGE_CLICKED);
833 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_VIEW_IMAGE"),IDA_VIEW_IMAGE_CLICKED);
834 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_SAVE_IMAGE_CLICKED);
835 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_IMAGE_CLICKED);
836 __pImageMenu->SetMaxVisibleItemsCount(4);
837 __pImageMenu->AddActionEventListener(*this);
838 SetControlAlwaysOnTop(*__pImageMenu, true);
839 __pImageMenu->SetFocusable(true);
845 MainForm::InitImageLinkContextMenu(Tizen::Graphics::Point p)
847 result r = E_SUCCESS;
848 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
850 AppLog("MainForm::InitImageContextMenu clicked on image");
851 if (__pImageMenu != null)
857 // if(__pAddressbar->GetShowState() == true)
858 // p.y = p.y + __pAddressbar->GetHeight();
859 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
864 __pImageMenu = new (std::nothrow) ContextMenu();
865 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
866 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
868 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_OPEN_IN_NEW_WINDOW"),IDA_HYPERLINK_OPEN_CLICKED);
869 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_LINK_URL"),IDA_HYPERLINK_COPY_LINK_CLICKED);
870 //r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_HYPERLINK_SAVE_IMAGE_CLICKED);
871 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_HYPERLINK_SHARE_IMAGE_CLICKED);
873 __pImageMenu->SetMaxVisibleItemsCount(3);
874 __pImageMenu->AddActionEventListener(*this);
875 SetControlAlwaysOnTop(*__pImageMenu, true);
876 __pImageMenu->SetFocusable(true);
883 MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOption = false)
885 result r = E_SUCCESS;
886 bool clipboardAvailable = true;
887 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
889 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
890 if (__pImageMenu != null)
899 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
903 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
907 Clipboard* pClipboard = Clipboard::GetInstance();
909 if(pClipboard == null)
911 clipboardAvailable = false;
915 // Retrieves a latest item
916 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
920 clipboardAvailable = false;
924 //Gets data from the clipboard item
925 String* pString = dynamic_cast<String*>(pItem->GetData());
929 clipboardAvailable = false;
933 if(clipboardAvailable == false && onlyPasteOption == true)
938 __pImageMenu = new (std::nothrow) ContextMenu();
939 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
940 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
942 if(onlyPasteOption == false)
944 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
946 if ((pasteOption || onlyPasteOption) && clipboardAvailable == true)
948 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
950 if(onlyPasteOption == false)
952 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
953 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
956 __pImageMenu->SetMaxVisibleItemsCount(3);
957 __pImageMenu->AddActionEventListener(*this);
958 SetControlAlwaysOnTop(*__pImageMenu, true);
959 __pImageMenu->SetFocusable(true);
966 MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPasteOption = false)
968 result r = E_SUCCESS;
969 bool clipboardAvailable = true;
970 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
972 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
973 if (__pImageMenu != null)
982 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
986 if(GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE )
988 AppLog("asdasdafdsfdgfd");
991 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
995 Clipboard* pClipboard = Clipboard::GetInstance();
997 if(pClipboard == null)
999 clipboardAvailable = false;
1003 // Retrieves a latest item
1004 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
1008 clipboardAvailable = false;
1012 //Gets data from the clipboard item
1013 String* pString = dynamic_cast<String*>(pItem->GetData());
1017 clipboardAvailable = false;
1021 if(clipboardAvailable == false && onlyPasteOption == true)
1025 __pImageMenu = new (std::nothrow) ContextMenu();
1026 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
1027 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
1033 if(onlyPasteOption == false)
1035 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
1037 if ((pasteOption || onlyPasteOption) && clipboardAvailable == true)
1039 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
1041 if(onlyPasteOption == false)
1043 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
1044 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
1047 __pImageMenu->SetMaxVisibleItemsCount(3);
1048 __pImageMenu->AddActionEventListener(*this);
1049 SetControlAlwaysOnTop(*__pImageMenu, true);
1050 __pImageMenu->SetFocusable(true);
1057 MainForm::InitFindWordPanel(void)
1059 result r = E_SUCCESS;
1060 Bitmap *pIconBitmap = null;
1062 if (__pFindWordControl != null)
1064 AppLogDebug("Findword panel already initialized");
1065 if (__pFindWordBgLabel != null)
1067 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1068 if (pBitmap != null)
1070 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
1074 if (__pFindWordBgLabelRightToLeft != null)
1076 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
1077 if (pBitmap != null)
1079 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
1084 __pAddressbar->SetShowState(false);
1086 if(__isKeypadOpened == false)
1087 __pFooterPanel->SetShowState(true);
1091 __pFindWordControl = new (std::nothrow) Panel();
1092 r = __pFindWordControl->Construct(L"IDL_FIND_ON_PAGE");
1095 AppLogException("There is some problem in the xml file. Please check.");
1098 AddControl(__pFindWordControl);
1099 __pFindWordControl->SetBounds(0,0, __pFindWordControl->GetWidth(), __pFindWordControl->GetHeight());
1100 SetControlAlwaysOnTop(*__pFindWordControl,true);
1101 __pFindWordControl->SetShowState(false);
1102 __pFindWordControl->Invalidate(false);
1104 __pFindWordPanelLeftToRight = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1105 __pFindWordPanelLeftToRight->SetShowState(true);
1107 __pFindWordPanelRightToLeft = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL2", true));
1108 __pFindWordPanelRightToLeft->SetShowState(false);
1110 __pFindWordBgLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL1", true));
1111 if (__pFindWordBgLabel != null)
1113 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1114 Rectangle pRect = pPanel1->GetBounds();
1115 pRect.x = pRect.y = 0;
1116 __pFindWordBgLabel->SetBounds(pRect);
1117 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1118 if (pBitmap != null)
1120 AppLogDebug("InitFindWordPanel: Coming here");
1121 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
1126 AppLogDebug("InitFindWordPanel: shouldn't Come here");
1130 __pFindWordBgLabelRightToLeft = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL2", true));
1131 if (__pFindWordBgLabelRightToLeft != null)
1133 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1134 Rectangle pRect = pPanel1->GetBounds();
1135 pRect.x = pRect.y = 0;
1136 __pFindWordBgLabelRightToLeft->SetBounds(pRect);
1137 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1138 if (pBitmap != null)
1140 AppLogDebug("InitFindWordPanel: Coming here");
1141 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
1146 AppLogDebug("InitFindWordPanel: shouldn't Come here");
1150 Button* pfindWordCancel = null;
1151 pfindWordCancel = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CANCEL", true));
1152 if (pfindWordCancel == null)
1154 AppLogException("There is some problem in the xml file. Please check.");
1157 pfindWordCancel->SetActionId(IDA_FINDWORD_CANCEL_CLICKED);
1158 pfindWordCancel->AddActionEventListener(*this);
1160 __pFindWordClear = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR", true));
1161 if (__pFindWordClear == null)
1163 AppLogException("There is some problem in the xml file. Please check.");
1167 __pFindWordClearRightToLeft = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR2", true));
1168 if (__pFindWordClearRightToLeft == null)
1170 AppLogException("There is some problem in the xml file. Please check.");
1174 __pFindWordClear->SetActionId(IDA_FINDWORD_CLEAR_CLICKED);
1175 __pFindWordClear->AddActionEventListener(*this);
1177 __pFindWordClearRightToLeft->SetActionId(IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED);
1178 __pFindWordClearRightToLeft->AddActionEventListener(*this);
1180 __pFindWordNext = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_NEXT", true));
1181 if (__pFindWordNext == null)
1183 AppLogException("There is some problem in the xml file. Please check.");
1187 __pFindWordNext->SetActionId(IDA_FINDWORD_NEXT_CLICKED);
1188 __pFindWordNext->AddActionEventListener(*this);
1190 __pFindWordPrev = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_PREV", true));
1191 if (__pFindWordPrev == null)
1193 AppLogException("There is some problem in the xml file. Please check.");
1197 __pFindWordPrev->SetActionId(IDA_FINDWORD_PREV_CLICKED);
1198 __pFindWordPrev->AddActionEventListener(*this);
1200 __pFindWordNext->SetEnabled(false);
1201 __pFindWordPrev->SetEnabled(false);
1203 __pFindWordCountLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL", true));
1204 if (__pFindWordCountLabel == null)
1206 AppLogException("There is some problem in the xml file. Please check.");
1210 __pFindWordCountLabelRightToLeft = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL2", true));
1211 if (__pFindWordCountLabelRightToLeft == null)
1213 AppLogException("There is some problem in the xml file. Please check.");
1217 __pFindWordEditField = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD", true));
1218 if (__pFindWordEditField == null)
1220 AppLogException("There is some problem in the xml file. Please check.");
1223 __pFindWordEditField->AddTextEventListener(*this);
1224 __pFindWordEditField->AddKeypadEventListener(*this);
1225 __pFindWordEditField->SetOverlayKeypadCommandButtonVisible(false);
1226 __pFindWordEditField->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
1228 __pFindWordEditFieldRightToLeft = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD2", true));
1229 if (__pFindWordEditFieldRightToLeft == null)
1231 AppLogException("There is some problem in the xml file. Please check.");
1234 __pFindWordEditFieldRightToLeft->AddTextEventListener(*this);
1235 __pFindWordEditFieldRightToLeft->AddKeypadEventListener(*this);
1236 __pFindWordEditFieldRightToLeft->SetOverlayKeypadCommandButtonVisible(false);
1237 __pFindWordEditFieldRightToLeft->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
1240 __pAddressbar->SetShowState(false);
1242 if(__isKeypadOpened == false)
1243 __pFooterPanel->SetShowState(true);
1248 MainForm::CreateItem (int index, int itemWidth)
1250 Rectangle listImageRect;
1251 Rectangle pagetTitleRect;
1252 Rectangle pageURLRect;
1253 Rectangle deleteImageRect;
1254 String pageTitle(L"");
1255 String pageURL(L"");
1256 result r = E_SUCCESS;
1257 Bitmap* pListIconImage = null;
1260 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1261 if(pHistory == null)
1265 AppResource* pAppResource = Application::GetInstance()->GetAppResource();
1266 if ( pAppResource == NULL )
1270 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
1272 CustomItem* pItem = new(std::nothrow) CustomItem();
1273 pageTitle = pHistory->GetHistoryTitle();
1274 pageURL = pHistory->GetHistoryUrl();
1276 if (pageURL.GetLength() == 0)
1279 pAppResource->GetString(L"IDS_BR_BODY_BLANK_PAGE", nourl);
1280 pageURL = L"<"+ nourl +">";
1284 Rectangle screenBounds = GetBounds();
1287 r = pItem->Construct(Dimension(itemWidth, 128 + (__fontSize - 44)), style);
1296 Bitmap* pBitmap = pHistory->GetFavIconBitmap();
1298 if ( pBitmap != NULL)
1300 pListIconImage = new Bitmap();
1301 pListIconImage->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
1305 if(pListIconImage == null)
1307 pListIconImage = pAppResource->GetBitmapN(L"I01_icon_default_favicon.png");
1310 if ( pListIconImage != NULL)
1312 listImageRect.SetBounds(screenBounds.x + 16, screenBounds.y + 28 + (__fontSize - 44)/2 , 72, 72);
1313 pagetTitleRect.SetBounds(listImageRect.x + 72 + 16,10, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 72 + (__fontSize - 44));
1314 pageURLRect.SetBounds(pagetTitleRect.x, pagetTitleRect.y + pagetTitleRect.height, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 48);
1317 if (pItem != null && pListIconImage != NULL)
1319 pItem->AddElement(listImageRect, IDA_FORMAT_BITMAP, *pListIconImage, null, null);
1323 if (pageTitle.CompareTo(L"") != 0)
1327 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, pageTitle, __fontSize, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, true);
1331 if (pageURL.CompareTo(L"") != 0)
1335 pItem->AddElement(pageURLRect, IDA_FORMAT_URL_STRING, pageURL, 32, CUSTOM_COLOR_GREY, CUSTOM_COLOR_GREY, CUSTOM_COLOR_GREY, true);
1340 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
1342 if ( __pItemContext!= NULL)
1346 pItem->SetContextItem(__pItemContext);
1352 if ( __pItemContextLandscape!= NULL)
1356 pItem->SetContextItem(__pItemContextLandscape);
1360 if( pListIconImage != NULL)
1362 delete pListIconImage;
1363 pListIconImage = null;
1370 MainForm::DeleteItem (int index, Tizen::Ui::Controls::ListItemBase *pItem, int itemWidth)
1377 MainForm::GetItemCount (void)
1379 if(__pMostVisitedSites != null)
1381 __pMostVisitedSites->RemoveAll(true);
1383 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
1384 if(__pMostVisitedSites != null)
1386 return __pMostVisitedSites->GetCount();
1393 MainForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
1395 AppLog("MainForm::OnListViewContextItemStateChanged called");
1396 if(__pMostVisitedSites != null)
1398 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1399 if (pHistory != null)
1401 String url = pHistory->GetHistoryUrl();
1403 HistoryPresentationModel::GetInstance()->DeleteHistory(url);
1404 __pMostVisitedListView->UpdateList();
1410 MainForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
1412 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1413 String url = pHistory->GetHistoryUrl();
1421 MainForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
1427 MainForm::OnTerminating(void)
1429 result r = E_SUCCESS;
1431 RemoveOrientationEventListener(*this);
1435 __pAddressbar->SetAddressbarEventListener(null);
1440 __pWebViewer->RemoveTouchEventListener(*this);
1441 __pWebViewer->SetWebUiEventListenerF(null);
1442 __pWebViewer->SetWebKeypadEventListener(null);
1443 __pWebViewer->SetTextSearchListener(null);
1449 delete __pItemContext;
1451 if (__pItemContextLandscape)
1453 delete __pItemContextLandscape;
1457 delete __pSaveImage;
1459 if (__pMostVisitedSites)
1461 __pMostVisitedSites->RemoveAll(true);
1462 delete __pMostVisitedSites;
1468 MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
1470 result r = E_SUCCESS;
1472 AppLogDebug("Clicked : %d", actionId);
1475 case IDA_BACKBTN_CLICKED:
1477 if(__pImageMenu && __pImageMenu->GetShowState() == true)
1479 AppLog("Hiding the menu");
1480 __pImageMenu->SetShowState(false);
1482 if (__pWebViewer && __pWebViewer->CanGoBack())
1484 __pWebViewer->GoBack();
1486 else if(__pWindowInfo->isJavascriptInitiated == false)
1489 pApp = UiApp::GetInstance();
1492 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1495 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1503 WindowInfo* pWindowInfo = null;
1505 SceneManager* pSceneManager = SceneManager::GetInstance();
1506 if (pSceneManager == null)
1510 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
1511 if (pAllWindowList == NULL)
1513 pApp = UiApp::GetInstance();
1516 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1519 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1524 if (pAllWindowList != null)
1526 totalCount = pAllWindowList->GetCount();
1528 for (int count = 0; count < totalCount; count++)
1530 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
1531 if (pWindowInfo == null)
1533 pApp = UiApp::GetInstance();
1536 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1539 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1546 if (pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
1548 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
1551 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1554 r = pAllWindowList->RemoveAt(count, true);
1555 __pWindowInfo = null;
1558 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1563 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
1567 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
1569 if (pWindowInfo == null)
1571 pApp = UiApp::GetInstance();
1574 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1580 r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1583 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1595 case IDA_FORWARD_CLICKED:
1596 if (__pWebViewer == null)
1599 if (__pWebViewer->CanGoForward())
1601 __pWebViewer->GoForward();
1603 __pOptionMenu->SetShowState(false);
1604 __pOptionMenu->Invalidate(false);
1607 case IDA_FINDONPAGE_CLICKED:
1609 AppLogDebug("MainForm::OnActionPerformed findword clicked");
1610 __currentSearchStr.Clear();
1612 InitFindWordPanel();
1613 __pOptionMenu->SetShowState(false);
1614 __pOptionMenu->Invalidate(false);
1616 ShowFindWordPanel(true);
1618 if(__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
1620 __pFindWordEditField->SetFocus();
1621 // __pFindWordCountLabel->SetShowState(false);
1625 __pFindWordEditFieldRightToLeft->SetFocus();
1626 __pFindWordCountLabelRightToLeft->SetShowState(false);
1630 case IDA_PRIVATEON_CLICKED:
1632 result r = E_SUCCESS;
1634 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
1635 Bitmap* pBitmap = null;
1636 if (isPrivateBrowsing == true)
1638 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
1641 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
1645 if (__pWebViewer != NULL)
1647 __pWebViewer->SetPrivateBrowsingEnabled(false);
1650 SettingPresentationModel::GetInstance()->SetPrivateOn(false);
1652 if (__pAddressbar != null)
1654 __pAddressbar->UpdateFaviconBitmap(false);
1660 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
1663 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
1667 if (__pWebViewer != NULL)
1669 __pWebViewer->SetPrivateBrowsingEnabled(true);
1672 SettingPresentationModel::GetInstance()->SetPrivateOn(true);
1674 if (__pAddressbar != null)
1676 __pAddressbar->UpdateFaviconBitmap(true);
1680 itemIndex = __pOptionMenu->GetItemIndexFromActionId(IDA_PRIVATEON_CLICKED);
1681 r = __pOptionMenu->SetItemAt(itemIndex,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
1682 AppLog("Result:: %s for index = %d", GetErrorMessage(r),itemIndex);
1683 __pOptionMenu->Invalidate(true);
1684 if ( pBitmap != NULL )
1691 case IDA_SETTINGS_CLICKED:
1694 ArrayList* pArgList = new(std::nothrow) ArrayList();
1697 pArgList->Construct();
1698 pArgList->Add(*__pWindowInfo);
1699 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_SETTINGS), pArgList);
1701 __pOptionMenu->SetShowState(false);
1702 __pOptionMenu->Invalidate(false);
1704 if (pArgList != null)
1713 case IDA_ADDTOBOOKMARK_CLICKED:
1716 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL)
1718 int bookmarkCount=0;
1721 url=__pWindowInfo->pageUrl;
1722 result r = E_SUCCESS;
1723 Bitmap* pBitmap = null;
1724 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
1732 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_REMOVED");
1733 BookmarkPresentationModel::GetInstance()->DeleteBookmark(url);
1734 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
1736 if(__pNotification != null)
1738 RemoveControl(__pNotification);
1739 __pNotification = null;
1741 __pNotification = new (std::nothrow) NotificationPanel(*this);
1742 if (__pNotification != null)
1744 __pNotification->SetText(message);
1745 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
1746 __pNotification->ShowNotification();
1751 String title=__pWindowInfo->pageTitle;
1752 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_ADDED");
1753 BookmarkData* pBookmark=new (std::nothrow) BookmarkData();
1755 pBookmark->SetBookmarkTitle(title);
1756 pBookmark->SetUrl(url);
1757 if (__pWebViewer != null && __pWebViewer->GetFaviconN() != null)
1759 pBookmark->SetFavIconBitmap(*(__pWebViewer->GetFaviconN()));
1761 String id = FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
1762 pBookmark->SetFaviconId(id);
1763 //r = BookmarkPresentationModel::GetInstance()->SaveBookmark(*pBookmark);
1764 r = BookmarkPresentationModel::GetInstance()->SaveTempBookmark(*pBookmark);
1766 if(__pNotification != null)
1768 RemoveControl(__pNotification);
1769 __pNotification = null;
1771 __pNotification = new (std::nothrow) NotificationPanel(*this);
1772 if (__pNotification != null)
1774 __pNotification->SetText(message);
1775 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
1776 __pNotification->ShowNotification();
1777 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
1780 if (pBitmap != null)
1782 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1787 __pOptionMenu->Invalidate(true);
1792 case IDA_PRINT_CLICKED:
1794 r = __pWebViewer->SavePageAsPdf(UiApp::GetInstance()->GetAppRootPath()+"//shared//data//test.pdf");
1795 AppLog("SavePageAsPdf result %s",GetErrorMessage(r));
1797 AppLog("RequestPrint called!");
1798 AppControl* pAc = Tizen::App::AppManager::FindAppControlN(L"org.tizen.mobileprint", L"http://tizen.org/appcontrol/operation/print");
1799 result nResult = E_FAILURE;
1802 AppLog("TestPrint if (pAc) == true");
1807 String fileType = L"service_print_files_type";
1808 String typeVal = L"DOC";
1810 String fileCount = L"service_print_files_count";
1811 String countVal = L"1";
1812 String fileFolder= L"service_print_files_folder_name";
1813 String folderVal = UiApp::GetInstance()->GetAppRootPath()+"//shared//data";
1815 map.Add(&fileCount, &countVal);
1816 map.Add(&fileFolder, &folderVal);
1817 map.Add(&fileType, &typeVal);
1819 String fileName = L"service_print_files_files_name";
1821 ArrayList fileNameList;
1822 fileNameList.Construct();
1823 String file1 = L"test.pdf";
1825 fileNameList.Add(&file1);
1826 map.Add(&fileName, &fileNameList);
1828 nResult = pAc->Start(NULL, NULL, &map, NULL);
1830 if (nResult == E_SUCCESS) AppLog("TestPrint ret == E_SUCCESS");
1831 else if (nResult == E_MAX_EXCEEDED)
1832 AppLog("TestPrint ret == E_MAX_EXCEEDED");
1833 else if (nResult == E_OBJ_NOT_FOUND)
1834 AppLog("TestPrint ret == E_OBJ_NOT_FOUND");
1835 else if (nResult == E_IN_PROGRESS)
1836 AppLog("TestPrint ret == E_IN_PROGRESS");
1837 else if (nResult == E_PRIVILEGE_DENIED)
1838 AppLog("TestPrint ret == E_PRIVILEGE_DENIED");
1839 else if(nResult == E_SYSTEM)
1840 AppLog("TestPrint ret == E_SYSTEM");
1846 int __modalMsgBoxResult;
1847 MessageBox* pMsgBox = new MessageBox();
1848 pMsgBox->Construct("Not Supported","Not Supported",MSGBOX_STYLE_OK,3000);
1849 pMsgBox->ShowAndWait(__modalMsgBoxResult);
1852 __modalMsgBoxResult = 0;
1856 case IDA_SHARE_CLICKED:
1858 if(__pPopUp != null)
1865 __pAddressbar->HideKeypad();
1867 __pPopUp = new(std::nothrow) SharePopup();
1868 __pPopUp->Initialize();
1869 if (__pWindowInfo != null)
1871 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
1872 pShareInfo->SetPageTitle(__pWindowInfo->pageTitle);
1873 pShareInfo->SetPageUrl(__pWindowInfo->pageUrl);
1874 pShareInfo->SetImageAttached(false);
1875 __pPopUp->RemoveAllShareInfo();
1876 __pPopUp->AddShareInfo(pShareInfo);
1878 __pPopUp->SetShowState(true);
1882 case IDA_BOOKMARKBTN_CLICKED:
1884 AppLogDebug("ONACTION_PERFORMED:IDA_BOOKMARKBTN_CLICKED");
1885 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BOOKMARK_VIEW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1888 case IDA_ADD_TO_BOOKMARKBTN_CLICKED:
1893 case IDA_MOREBTN_CLICKED:
1895 AppLog("IDA_MOREBTN_CLICKED");
1897 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer->GetShowState() == true)
1899 int bookmarkCount=0;
1902 url=__pWindowInfo->pageUrl;
1903 result r = E_SUCCESS;
1904 Bitmap* pBitmap = null;
1906 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
1909 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
1914 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
1918 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
1920 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
1922 if (__pOptionMenu->GetItemCount() == 9)
1924 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1928 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1933 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
1937 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
1938 if (__pOptionMenu->GetItemCount() != 9)
1940 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
1941 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
1942 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
1943 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
1944 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
1945 __pOptionMenu->SetMaxVisibleItemsCount(6);
1947 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
1949 AppLog(" Orientation landscape");
1950 __pOptionMenu->SetMaxVisibleItemsCount(5);
1954 AppLog(" Orientation potrait");
1955 __pOptionMenu->SetMaxVisibleItemsCount(6);
1958 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
1961 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
1962 __pOptionMenu->SetShowState(true);
1963 __pOptionMenu->Invalidate(true);
1964 __pOptionMenu->Show();
1968 case IDA_HISTORY_CLICKED:
1970 AppLogDebug("ONACTION_PERFORMED:IDA_HISTORYBTN_CLICKED");
1971 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_HISTORY_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1974 case IDA_SAVED_PAGES_CLICKED:
1979 case IDA_DESKTOP_VIEW_CLICKED:
1984 case IDA_SAVE_CLICKED:
1989 case IDA_MULTIWINDOWBTN_CLICKED:
1991 result r = SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_MULTIPLE_WINDOW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1992 AppLog("IDA_MULTIWINDOWBTN_CLICKED result %s",GetErrorMessage(r));
1996 case IDA_NEWWINDOWBTN_CLICKED:
1998 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
2000 if (pNewWindowInfo == null)
2004 result r = E_SUCCESS;
2005 SceneManager* pSceneManager = SceneManager::GetInstance();
2007 if (pSceneManager == NULL)
2011 ArrayList* pArgList = new(std::nothrow) ArrayList();
2012 if (pArgList == NULL)
2016 r = pArgList->Construct();
2019 pArgList->Add(*pNewWindowInfo);
2020 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
2026 AppLogDebug("MainForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));
2031 case IDA_SMALLFONT_BTN_CLICKED:
2033 WebSetting setting = __pWebReader->GetSetting();
2034 setting.SetFontSize(15);
2035 __pWebReader->SetSetting(setting);
2038 case IDA_LARGEFONT_BTN_CLICKED:
2040 WebSetting setting = __pWebReader->GetSetting();
2041 setting.SetFontSize(25);
2042 __pWebReader->SetSetting(setting);
2045 case IDA_READER_CLOSE_CLICKED:
2047 if (__pArticleReaderPanel != null && __pBlankPanel != null)
2049 RemoveControl(__pBlankPanel);
2050 __pArticleReaderPanel = null;
2051 __pBlankPanel = null;
2052 __pArticleReaderLabel = null;
2054 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2057 case IDA_FINDWORD_CANCEL_CLICKED:
2059 __currentSearchStr = L"";
2060 __currentWordIndex = 0;
2061 __maxOccurrances = 0;
2063 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2065 __pFindWordEditField->SetText(L"");
2066 __pFindWordCountLabel->SetText(L"0/0");
2068 else if (__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2070 __pFindWordEditFieldRightToLeft->SetText(L"");
2071 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
2074 __pFindWordNext->SetEnabled(false);
2075 __pFindWordPrev->SetEnabled(false);
2076 __pFindWordCountLabel->SetText(L"0/0");
2077 __pWebViewer->SearchTextAllAsync(L"",true);
2078 AppLog("akjshdasd 1");
2079 if(__isKeypadOpened == false)
2080 __pFooterPanel->SetShowState(true);
2081 ShowFindWordPanel(false);
2084 case IDA_FINDWORD_SEARCH_CLICKED:
2086 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2088 __currentSearchStr = __pFindWordEditField->GetText();
2090 else if (__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2092 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
2095 if (__currentSearchStr.GetLength() > 0)
2101 AppLogDebug("Enter something");
2105 case IDA_FINDWORD_CLEAR_CLICKED:
2107 __pFindWordCountLabel->SetText(L"0/0");
2108 __pFindWordEditField->SetText(L"");
2109 __currentSearchStr = L"aaaaaabbbbbbccccccc";
2111 __currentSearchStr = L"";
2112 __pFindWordNext->SetEnabled(false);
2113 __pFindWordPrev->SetEnabled(false);
2114 // __pFindWordCountLabel->SetShowState(false);
2115 __pFindWordControl->Invalidate(true);
2118 case IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED:
2120 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
2121 __pFindWordEditFieldRightToLeft->SetText(L"");
2122 __currentSearchStr = L"aaaaaabbbbbbccccccc";
2124 __currentSearchStr = L"";
2125 __pFindWordNext->SetEnabled(false);
2126 __pFindWordPrev->SetEnabled(false);
2127 // __pFindWordCountLabelRightToLeft->SetShowState(false);
2128 __pFindWordControl->Invalidate(true);
2131 case IDA_FINDWORD_NEXT_CLICKED:
2136 case IDA_FINDWORD_PREV_CLICKED:
2138 FindNextWord(false);
2141 case IDA_BRIGHTNESS_BTN_CLICKED:
2143 AppLogDebug("IDA_BRIGHTNESS_BTN_CLICKED");
2144 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BRIGHTNESS, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
2147 case IDA_COPY_IMAGE_CLICKED:
2149 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
2150 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
2152 const Bitmap* pBitmap = null;
2153 if (__pHitElementResult != null && __pHitElementResult->HasImage())
2155 pBitmap = __pHitElementResult->GetImage();
2158 String resourcePath = App::GetInstance()->GetAppResourcePath();
2159 r = item.Construct(CLIPBOARD_DATA_TYPE_IMAGE , *pBitmap);
2160 AppLog("Platofrm construct failed result %s",GetErrorMessage(r));
2161 // copying the item to clipboard
2162 Clipboard* pClipboard = Clipboard::GetInstance();
2163 if (pClipboard != null)
2165 r = pClipboard->CopyItem(item);
2166 AppLog("Platofrm copy failed result %s",GetErrorMessage(r));
2170 case IDA_VIEW_IMAGE_CLICKED:
2172 AppLogDebug("IDA_VIEW_IMAGE_CLICKED");
2173 WindowInfo* pNewWindowInfo = null;
2174 if (__pHitElementResult != null)
2176 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
2177 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
2183 case IDA_SAVE_IMAGE_CLICKED:
2185 AppLogDebug("IDA_SAVE_IMAGE_CLICKED");
2186 const Bitmap* pSaveBitmap = null;
2187 String imageName = GetImagePath();
2188 AppLog("Content manager image name %ls",imageName.GetPointer());
2191 imagePath.Append(imageName);
2192 imagePath.Format(100, L"%ls/Downloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
2193 AppLog("Content manager image path %ls",imagePath.GetPointer());
2194 if (__pHitElementResult != null)
2196 pSaveBitmap = __pHitElementResult->GetImage();
2198 ByteBuffer* pBuffer = __pSaveImage->EncodeToBufferN(*pSaveBitmap, IMG_FORMAT_JPG);
2202 UpdateImageContent(pBuffer, imageName);
2204 if(__pNotification != null)
2206 RemoveControl(__pNotification);
2207 __pNotification = null;
2209 __pNotification = new NotificationPanel(*this);
2211 AppResource::GetInstance()->GetString("IDS_COM_SK_SAVE", msg);
2212 msg.Append(imagePath);
2213 if (__pNotification != null)
2215 __pNotification->SetText(msg);
2216 if (__pFooterPanel->GetShowState() == true)
2218 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
2222 __pNotification->SetPositionDiff(0);
2224 __pNotification->ShowNotification();
2229 int __modalMsgBoxResult;
2230 MessageBox* pMsgBox = new MessageBox();
2231 pMsgBox->Construct(CommonUtil::GetString(L"IDS_IMGE_POP_UNABLE_TO_SAVE_IMAGE"),CommonUtil::GetString(L"IDS_IMGE_POP_UNABLE_TO_SAVE_IMAGE"),MSGBOX_STYLE_OK,3000);
2232 pMsgBox->ShowAndWait(__modalMsgBoxResult);
2235 __modalMsgBoxResult = 0;
2239 case IDA_SHARE_IMAGE_CLICKED:
2241 AppLogDebug("IDA_SHARE_IMAGE_CLICKED");
2242 if (__pPopUp != null)
2249 __pAddressbar->HideKeypad();
2251 __pPopUp = new(std::nothrow) SharePopup();
2252 __pPopUp->Initialize();
2253 if (__pHitElementResult != null)
2255 const Bitmap* pSaveBitmap = null;
2256 String imageName = GetImagePath();
2257 AppLog("Content manager image name %ls",imageName.GetPointer());
2260 imagePath.Append(imageName);
2261 imagePath.Format(100, L"%lsDownloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
2262 AppLog("Content manager image path %ls",imagePath.GetPointer());
2263 if (__pHitElementResult != null)
2265 pSaveBitmap = __pHitElementResult->GetImage();
2267 __pSaveImage->EncodeToFile(*pSaveBitmap, IMG_FORMAT_JPG, imagePath, true);
2269 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
2270 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
2272 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2273 pShareInfo->SetPageTitle(L"");
2274 pShareInfo->SetPageUrl(srcUrl);
2275 pShareInfo->SetImageAttached(true);
2276 pShareInfo->SetImagePath(imagePath);
2277 __pPopUp->RemoveAllShareInfo();
2278 __pPopUp->AddShareInfo(pShareInfo);
2279 __pPopUp->SetShowState(true);
2284 case IDA_HYPERLINK_OPEN_CLICKED:
2286 if (__pHitElementResult != null)
2288 String srcUrl = __pHitElementResult->GetUrl();
2290 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN(srcUrl);
2292 if (pNewWindowInfo == null)
2296 pNewWindowInfo->isJavascriptInitiated = true;
2297 result r = E_SUCCESS;
2298 SceneManager* pSceneManager = SceneManager::GetInstance();
2299 if (pSceneManager == NULL)
2303 ArrayList* pArgList = new(std::nothrow) ArrayList();
2304 if (pArgList == NULL)
2308 pArgList->Construct();
2310 pArgList->Add(*pNewWindowInfo);
2311 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
2312 if (pArgList != null)
2319 AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r));
2325 case IDA_HYPERLINK_SHARE_IMAGE_CLICKED:
2327 if (__pHitElementResult == null)
2332 if(__pPopUp != null)
2339 __pAddressbar->HideKeypad();
2341 __pPopUp = new(std::nothrow) SharePopup();
2342 __pPopUp->Initialize();
2344 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2345 pShareInfo->SetPageUrl(__pHitElementResult->GetUrl());
2346 pShareInfo->SetImageAttached(false);
2347 __pPopUp->RemoveAllShareInfo();
2348 __pPopUp->AddShareInfo(pShareInfo);
2350 __pPopUp->SetShowState(true);
2354 case IDA_HYPERLINK_COPY_LINK_CLICKED:
2358 if (__pHitElementResult != null)
2360 url = __pHitElementResult->GetUrl();
2363 String resourcePath = App::GetInstance()->GetAppResourcePath();
2364 item.Construct(CLIPBOARD_DATA_TYPE_TEXT , url);
2366 // copying the item to clipboard
2367 Clipboard* pClipboard = Clipboard::GetInstance();
2368 if (pClipboard != null)
2370 pClipboard->CopyItem(item);
2374 case IDA_FIND_TEXT__CLICKED:
2376 // AddressBarCancelledClicked(*__pAddressbar);
2377 RelayoutControls(false);
2378 // __pFooterPanel->SetShowState(false);
2379 AppLogDebug("MainForm::OnActionPerformed find word clicked");
2380 __currentSearchStr.Clear();
2381 __currentSearchStr.Append(__currentSelectedStr);
2382 InitFindWordPanel();
2383 __pFindWordEditField->SetText(__currentSearchStr);
2385 if(__pOptionMenu != null)
2387 __pOptionMenu->SetShowState(false);
2388 __pOptionMenu->Invalidate(false);
2390 __adressPanelPosition.y = 0;
2392 if (__pAddressbar != null && __pWebViewer != NULL)
2394 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
2395 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight() - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12);
2397 if (__pFooterPanel->GetShowState() == false)
2398 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12)));
2400 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
2401 __pWebViewer->Invalidate(true);
2404 ShowFindWordPanel(true);
2405 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2407 __pFindWordEditField->SetText(__currentSearchStr);
2408 __pFindWordEditField->SetFocus();
2410 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2412 __pFindWordEditFieldRightToLeft->SetText(__currentSearchStr);
2413 __pFindWordEditFieldRightToLeft->SetFocus();
2416 if (__currentSearchStr.GetLength() > 0)
2422 AppLogDebug("Enter something");
2425 if (__pWebViewer != null)
2427 // releasing the set block
2428 __pWebViewer->ReleaseBlock();
2433 case IDA_SHARE_TEXT_CLICKED:
2435 __pWebViewer->ReleaseBlock();
2436 AppLogDebug("IDA_SHARE_TEXT_CLICKED");
2437 if(__pPopUp != null)
2444 __pAddressbar->HideKeypad();
2446 __pPopUp = new(std::nothrow) SharePopup();
2447 __pPopUp->Initialize();
2448 if (__pHitElementResult != null)
2450 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2451 pShareInfo->SetPageTitle(L"");
2452 pShareInfo->SetPageUrl(__currentSelectedStr);
2453 pShareInfo->SetImageAttached(false);
2454 __pPopUp->RemoveAllShareInfo();
2455 __pPopUp->AddShareInfo(pShareInfo);
2456 __pPopUp->SetShowState(true);
2461 case IDA_COPY_TEXT_CLICKED:
2463 __pWebViewer->ReleaseBlock();
2464 // need to implement
2465 //__currentSelectedStr
2466 // Sets data to a clip board item
2468 String resourcePath = App::GetInstance()->GetAppResourcePath();
2469 item.Construct(CLIPBOARD_DATA_TYPE_TEXT, __currentSelectedStr);
2471 // copying the item to clipboard
2472 Clipboard* pClipboard = Clipboard::GetInstance();
2473 if (pClipboard != null)
2475 pClipboard->CopyItem(item);
2479 case IDA_PASTE_TEXT_CLICKED:
2481 Clipboard* pClipboard = Clipboard::GetInstance();
2483 if(pClipboard == null)
2487 // Retrieves a latest item
2488 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
2494 //Gets data from the clipboard item
2495 String* pString = dynamic_cast<String*>(pItem->GetData());
2497 if (pString != null)
2499 String idElement = __pHitElementResult->GetAttributeValue(L"id");
2500 String nameElement = __pHitElementResult->GetAttributeValue(L"name");
2501 String tagElement = __pHitElementResult->GetTagName();
2502 AppLog("MainForm::IDA_PASTE_TEXT_CLICKED id is %ls",idElement.GetPointer());
2505 if(idElement.GetLength() != 0)
2507 script = L"function insertAtCursor(myField, myValue) { if (document.selection) { document.getElementById(myField).focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (document.getElementById(myField).selectionStart || document.getElementById(myField).selectionStart == '0'){ var startPos = document.getElementById(myField).selectionStart; var endPos = document.getElementById(myField).selectionEnd; document.getElementById(myField).value = document.getElementById(myField).value.substring(0, startPos)+ myValue + document.getElementById(myField).value.substring(endPos, document.getElementById(myField).value.length); } else { document.getElementById(myField).value += myValue; } } ";
2508 script.Append("insertAtCursor('");
2509 script.Append(idElement);
2510 script.Append("',");
2511 script.Append("\"");
2512 script.Append(*pString);
2513 script.Append("\");");
2515 else if (nameElement.GetLength() != 0)
2517 script = L"function insertAtCursor(myField, myValue) { if (document.selection) { document.getElementByName(myField)[0].focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (myField.selectionStart || myField.selectionStart == '0'){ var startPos = myField.selectionStart; var endPos = myField.selectionEnd; myField.value = myField.value.substring(0, startPos)+ myValue + myField.value.substring(endPos, myField.value.length); } else { document.getElementByName(myField)[0].value += myValue; } } ";
2518 script.Append("insertAtCursor(document.getElementsByName('");
2519 script.Append(nameElement);
2520 script.Append("')[0],");
2521 script.Append("\"");
2522 script.Append(*pString);
2523 script.Append("\");");
2525 else//adding for twitter post page
2527 script = L"function insertAtCursor(myField, myValue) { if (document.selection) { document.getElementsByTagName(myField)[0].focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (myField.selectionStart || myField.selectionStart == '0'){ var startPos = myField.selectionStart; var endPos = myField.selectionEnd; myField.value = myField.value.substring(0, startPos)+ myValue + myField.value.substring(endPos, myField.value.length); } else { document.getElementsByTagName(myField)[0].value += myValue; } } ";
2528 script.Append("insertAtCursor(document.getElementsByTagName('");
2529 script.Append(tagElement);
2530 script.Append("')[0],");
2531 script.Append("\"");
2532 script.Append(*pString);
2533 script.Append("\");");
2535 AppLog("MainForm::OnTouchLongPressed script is %ls",script.GetPointer());
2536 String* pStr = __pWebViewer->EvaluateJavascriptN(script);
2547 case IDA_GO_FORWARD:
2552 case IDA_REFRESH_BTN_CLICKED:
2554 __isLoadingCompleted = false;
2555 __isLoadingData = true;
2556 __progressPercentage = 0;
2557 __displayUrl = __pFooterUrlField->GetText();
2559 String url = __pFooterUrlField->GetText();
2560 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
2562 if (__pWebViewer != null && __pAddressbar != null)
2564 __pWebViewer->Reload();
2565 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
2569 UpdateProgressBitmap();
2572 case IDA_STOP_BTN_CLICKED:
2574 __isLoadingCompleted = false;
2575 __isLoadingData = false;
2576 __progressPercentage = 0;
2577 __pFooterUrlField->HideKeypad();
2578 __displayUrl = __pFooterUrlField->GetText();
2582 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2583 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2584 __pWebViewer->StopLoading();
2585 RequestRedraw(true);
2588 UpdateProgressBitmap();
2593 if (__pFooterUrlField->GetText().IsEmpty() == false)
2595 //__displayUrl = __pUrlField->GetText();
2596 __pFooterUrlField->Clear();
2601 case IDA_READER_BTN_CLICKED:
2612 MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
2614 AppLog("MainForm::OnFormBackRequested entered");
2615 result r = E_FAILURE;
2616 if(__pImageMenu && __pImageMenu->GetShowState() == true)
2618 AppLog("Hiding the menu");
2619 __pImageMenu->SetShowState(false);
2621 if (__pWebViewer && __pWebViewer->CanGoBack())
2623 __pWebViewer->GoBack();
2625 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
2628 pApp = UiApp::GetInstance();
2631 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2634 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2642 WindowInfo* pWindowInfo = null;
2644 SceneManager* pSceneManager = SceneManager::GetInstance();
2645 if (pSceneManager == null)
2649 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
2650 if (pAllWindowList == NULL)
2652 pApp = UiApp::GetInstance();
2655 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2658 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2663 if (pAllWindowList != null)
2665 totalCount = pAllWindowList->GetCount();
2667 for (int count = 0; count < totalCount; count++)
2669 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
2670 if (pWindowInfo == null)
2672 pApp = UiApp::GetInstance();
2675 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2678 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2685 if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
2687 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
2690 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2693 r = pAllWindowList->RemoveAt(count, true);
2694 // __pWindowInfo = null;
2697 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2702 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
2706 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
2708 if (pWindowInfo == null)
2710 pApp = UiApp::GetInstance();
2713 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2719 if(pWindowInfo != null)
2720 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
2723 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2729 // else if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == false)
2731 // UiApp* pApp = null;
2732 // pApp = UiApp::GetInstance();
2733 // if (pApp != null)
2735 // r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2738 // AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2746 AppLog("MainForm::OnFormBackRequested exit");
2750 MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
2751 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
2754 AppLog("MainForm::OnSceneActivatedN called");
2755 String* pSelectedScene = NULL;
2756 Object* pValue = NULL;
2757 String* pUrl = null;
2758 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
2759 pSelectedScene = (String*) pValue;
2761 if (pSelectedScene != null)
2763 delete pSelectedScene;
2765 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, null);
2766 String* selectedSceneID = new(std::nothrow) String(currentSceneId);
2767 AppLogDebug("current scene id is %ls", currentSceneId.GetPointer());
2768 AppLogDebug("selected scene id is %ls", currentSceneId.GetPointer());
2770 // setting the current scene ID
2771 MultipleWindowPresentationModel::GetInstance()->SetCurrentSceneID(currentSceneId);
2773 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, (Object*) selectedSceneID);
2775 if(pArgs != null && pArgs->GetCount() > 0 && pArgs->GetCount() == 2)
2777 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2778 if(__pWindowInfo == null)
2780 // if(__pWindowInfo == null)
2782 pUrl = dynamic_cast< String* >(pArgs->GetAt(1));
2785 else if ( pArgs != null && pArgs->GetCount() == 1)
2787 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2793 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), GetClientAreaBounds().width, __pFooterPanel->GetHeight());
2795 // hiding the address bar
2796 // __pAddressbar->SetBounds(__pAddressbar->GetX(), __pAddressbar->GetY() - __pAddressbar->GetHeight(), __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
2797 __pAddressbar->SetShowState(false);
2798 // if(__pWebViewer != null)
2800 // __pWebViewer->Resume();
2803 if(pUrl != null && pUrl->GetLength() > 0)
2807 else if(__pWindowInfo != null)
2809 if(__pWindowInfo->pageUrl.GetLength() > 0 &&previousSceneId != IDSCN_BRIGHTNESS && previousSceneId != IDSCN_HISTORY_LIST && previousSceneId != IDSCN_MULTIPLE_WINDOW && previousSceneId != IDSCN_MULTIPLE_WINDOW_GRID && previousSceneId != IDSCN_BOOKMARK_VIEW && previousSceneId != IDSCN_SETTINGS && previousSceneId.Contains(IDSCN_MAIN_VIEW) == false)
2811 LoadUrl(__pWindowInfo->pageUrl);
2813 else if(__pWindowInfo->pageUrl.GetLength() > 0 && __pWindowInfo->isAppcontrolTriggered == true)
2815 LoadUrl(__pWindowInfo->pageUrl);
2816 __pWindowInfo->isAppcontrolTriggered = false;
2818 else if (__pWindowInfo->isJavascriptInitiated == true && __pWindowInfo->isFirstLaunch == true)
2820 __pWindowInfo->isFirstLaunch = false;
2823 __pWindowInfo->pCurrentWeb = __pWebViewer;
2824 if(__pWindowInfo->pageUrl.GetLength() > 0)
2825 LoadUrl(__pWindowInfo->pageUrl);
2829 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
2830 AppLog("Homepage Value in Onsceneactivated is %ls",homePage.GetPointer());
2831 if(homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
2833 InitMostVisitedSitesView(GetOrientationStatus());
2835 else if (homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
2837 if(__pMostVisitedListView != null)
2839 __pMostVisitedListView->SetShowState(false);
2843 if (__pAddressbar != null && pArgs != null && (previousSceneId == IDSCN_BOOKMARK_VIEW || previousSceneId == IDSCN_HISTORY_LIST))
2845 String* pBookmarkUrl = dynamic_cast< String* >(pArgs->GetAt(0));
2847 if (pBookmarkUrl == null)
2849 AppLogDebug("bookmarkUrl = %ls",pBookmarkUrl->GetPointer());
2850 //__pAddressbar->SetUrl(*pBookmarkUrl);
2851 SetUrl(*pBookmarkUrl);
2853 if (__pWebViewer != null && homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) != 0)
2854 __pWebViewer->LoadUrl(*pBookmarkUrl);
2855 delete pBookmarkUrl;
2858 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
2859 Bitmap* pBitmap = null;
2860 if (isPrivateBrowsing == true)
2862 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
2864 if (__pWebViewer != null)
2866 __pWebViewer->SetPrivateBrowsingEnabled(true);
2869 if (__pAddressbar != null)
2871 // __pAddressbar->UpdateFaviconBitmap(true);
2877 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
2879 if (__pWebViewer != null)
2881 __pWebViewer->SetPrivateBrowsingEnabled(false);
2884 if (__pAddressbar != null)
2886 // __pAddressbar->UpdateFaviconBitmap(false);
2890 if (__pOptionMenu != null && __pOptionMenu->GetItemCount() != 9)
2892 __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2894 else if (__pOptionMenu != null )
2896 __pOptionMenu->SetItemAt(5,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2899 if (pBitmap != null)
2904 RelayoutControls(false);
2905 AppLog("ABC: OnSceneActivatedN started exit");
2910 MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
2911 const Tizen::Ui::Scenes::SceneId& nextSceneId)
2913 Canvas* pWebCanvas = null;
2914 if (__pWebViewer != null)
2916 pWebCanvas = __pWebViewer->GetCanvasN();
2919 if (pWebCanvas == null)
2923 if (__pWindowInfo != null)
2925 if (__pWindowInfo->pWebCanvasBitmap != null)
2927 delete __pWindowInfo->pWebCanvasBitmap;
2929 __pWindowInfo->pWebCanvasBitmap = new(std::nothrow) Bitmap();
2930 result r = __pWindowInfo->pWebCanvasBitmap->Construct(*pWebCanvas,Rectangle(0,0,pWebCanvas->GetBounds().width,pWebCanvas->GetBounds().height));
2931 AppLog("Bitmap Construction result %s",GetErrorMessage(r));
2933 Bitmap* pBitmap = GetCapturedBitmapN();
2934 AppLog("Coming here");
2935 Canvas* pCanvas = new(std::nothrow) Canvas();
2936 pCanvas->Construct(GetClientAreaBounds());
2939 pCanvas->DrawBitmap(Point(0,0),*pBitmap);
2942 if(__pWebViewer != null && __pWindowInfo != null)
2943 pCanvas->DrawBitmap(__pWebViewer->GetPosition(),*__pWindowInfo->pWebCanvasBitmap);
2945 WindowInfo::pFormCanvasBitmap = new(std::nothrow) Bitmap();
2946 WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight()));
2950 __pAddressbar->SetShowState(false);
2951 AppLog("Coming here");
2955 MainForm::OnHttpAuthenticationRequestedN(const Tizen::Base::String& host,
2956 const Tizen::Base::String& realm,
2957 const Tizen::Web::Controls::AuthenticationChallenge& authentication)
2963 MainForm::OnHttpAuthenticationCanceled(void)
2968 MainForm::OnLoadingStarted(void)
2970 AppLogDebug("MainForm::OnLoadingStarted entered");
2972 if(__pAddressbar == NULL || __pWebViewer == null)
2977 // this is added in case if menu is opened and user load the page
2978 if(__pOptionMenu != null && __pOptionMenu->GetShowState() == true)
2980 __pOptionMenu->SetShowState(false);
2981 __pOptionMenu->Invalidate(true);
2986 if(__pImageMenu != null && __pImageMenu->GetShowState() == true)
2988 __pImageMenu->SetShowState(false);
2989 __pImageMenu->Invalidate(true);
2991 String url = __pWebViewer->GetUrl();
2992 if(url.Contains(IDS_TIZEN_SERVICE))
2995 String delim(L":;,");
2997 // Creates a StringTokenizer instance
2998 StringTokenizer strTok(url, delim);
3000 int count = strTok.GetTokenCount(); // count == 4
3002 HashMap *pMap = new HashMap();
3007 while (strTok.HasMoreTokens())
3009 AppLog("Token: %ls", token.GetPointer());
3010 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3011 if(token.Contains(IDS_APPID))
3013 token.SubString(6, appId);
3014 AppLog("AppID:%ls", appId.GetPointer());
3016 else if(token.Contains(IDS_KEY))
3018 token.SubString(4, key);
3019 AppLog("key:%ls", key.GetPointer());
3021 else if(token.Contains(IDS_VALUE))
3023 token.SubString(6, value);
3024 AppLog("value:%ls", value.GetPointer());
3027 pMap->Add(key, value);
3031 AppControl *pAppControl = null;
3032 String operationId = L"http://tizen.org/appcontrol/operation/main";
3033 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
3036 AppLog("Starting AppControl");
3037 result r = pAppControl->Start(null, null, pMap, null);
3038 AppLog("Result of Start %s", GetErrorMessage(r));
3042 AppLogException("AppControl not found");
3047 if ( __pAddressbar != null && __pAddressbar->GetShowState() == true)
3049 __pAddressbar->SetShowState(false);
3050 AddressBarCancelledClicked(*__pAddressbar);
3051 __pAddressbar->Invalidate(true);
3053 Bitmap* pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
3056 __pAddressbar->SetFaviconBitmap(*pBitmap);
3059 if (__adressPanelPosition.y < (0 - __pAddressbar->GetHeight() + 12))
3061 // updating the address bar position with respect to web control
3062 __adressPanelPosition.y = 0 - __pAddressbar->GetHeight() + 12; //-12 is for the progress label
3063 __distanceMoved = 0;
3067 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3068 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3069 if (__pWebViewer != null)
3071 AppLog("MainForm::OnLoadingStarted __pWebViewer->GetUrl() %ls",__pWebViewer->GetUrl().GetPointer());
3072 //__pAddressbar->SetUrl(__pWebViewer->GetUrl());
3073 SetUrl(__pWebViewer->GetUrl());
3074 if (__pWindowInfo != NULL)
3076 // resetting the page title to blank, it will be received in OnPageTitleReceived()
3077 __pWindowInfo->pageTitle = L"";
3078 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3080 __pAddressbar->Invalidate(true);
3086 MainForm::OnLoadingCanceled(void)
3093 MainForm::OnKeypadWillOpen(Tizen::Ui::Control& source)
3095 AppLog("XYZ::MainForm::OnKeypadWillOpen");
3100 MainForm::OnKeypadOpened(Tizen::Ui::Control& source)
3102 AppLog("XYZ::MainForm::OnKeypadOpened");
3103 __isKeypadOpened = true;
3104 __pFooterPanel->SetShowState(false);
3109 MainForm::OnKeypadClosed(Tizen::Ui::Control& source)
3111 AppLog("XYZ::MainForm::OnKeypadClosed");
3112 __isKeypadOpened = false;
3113 __pFooterPanel->SetShowState(true);
3114 RelayoutControls(true);
3118 MainForm::OnKeypadBoundsChanged(Tizen::Ui::Control &source)
3120 AppLog("XYZ::KeypadBoundsChanged");
3121 RelayoutControls(false);
3125 MainForm::OnLoadingErrorOccurred(LoadingErrorType error,
3126 const Tizen::Base::String& reason)
3128 AppLogDebug("Error: %d, %ls", error, reason.GetPointer());
3132 MainForm::OnLoadingCompleted(void)
3134 AppLog("MainForm::OnLoadingCompleted start");
3136 result r = E_SUCCESS;
3138 if (__pWebViewer == null)
3143 if (__pAddressbar == null)
3148 if(__pImageMenu && __pImageMenu->GetShowState())
3150 __pImageMenu->SetShowState(false);
3151 __pImageMenu->Invalidate(true);
3154 if (__pWebViewer->CanGoForward())
3156 //__pAddressbar->SetForwardButtonEnabled(true);
3157 SetForwardButtonEnabled(true);
3161 //__pAddressbar->SetForwardButtonEnabled(false);
3162 SetForwardButtonEnabled(false);
3165 /*if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3167 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3169 //__pAddressbar->UpdateProgress(0);
3173 if(GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3175 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3179 AppLog("PrivateBrowsing %d",__pWebViewer->IsPrivateBrowsingEnabled());
3180 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
3181 if (isPrivateBrowsing == false)
3183 if(__pHistory != null)
3189 __pHistory = new(std::nothrow) History;
3190 HistoryPresentationModel::GetCurrentDateTime(date);
3193 __pHistory->SetHistoryTitle(__pWindowInfo->pageTitle);
3194 AppLogDebug("MainForm::OnLoadingCompleted pagetitle = %ls", __pWindowInfo->pageTitle.GetPointer());
3196 __pHistory->SetHistoryUrl(__pWindowInfo->pageUrl);
3197 AppLogDebug("MainForm::OnLoadingCompleted pageUrl = %ls", __pWindowInfo->pageUrl.GetPointer());
3199 __pHistory->SetVisitedTime(date);
3201 if (__pWebViewer != null)
3203 AppLog("MainForm::OnLoadingCompleted setting the fav icon 0");
3205 Bitmap* pTempBitmap = __pWebViewer->GetFaviconN();
3206 if (pTempBitmap != null)
3208 AppLog("MainForm::OnLoadingCompleted setting the fav icon 1");
3209 __pHistory->SetFavIconBitmap(*pTempBitmap);
3212 AppLog("MainForm::OnLoadingCompleted setting the fav icon 2");
3215 Canvas* pCanvas = __pWebViewer->GetCanvasN();
3216 Bitmap* pBitmap = new(std::nothrow) Bitmap();
3217 if ( pCanvas != null && pCanvas != null && pBitmap != null)
3219 pBitmap->Construct(*pCanvas, pCanvas->GetBounds());
3220 pBitmap->Scale(Dimension(pBitmap->GetWidth()/4, pBitmap->GetHeight()/4));
3221 __pHistory->SetThumbnail(pBitmap);
3223 Bitmap *pFavIcon = __pWebViewer->GetFaviconN();
3226 __pHistory->SetFavIconBitmap(*pFavIcon);
3230 HistoryPresentationModel::GetInstance()->SaveTempHistory(*__pHistory);
3237 // if (__pWindowInfo && __pWindowInfo->faviconUrl == "")
3239 // temperary fixed (webpage can be not loaded)
3243 bool isReaderEnabled = SettingPresentationModel::GetInstance()->IsRunReaderEnabled();
3244 if (isReaderEnabled == true)
3248 delete __pReaderData;
3249 __pReaderData = null;
3251 String filePath = Tizen::App::UiApp::GetInstance()->GetAppRootPath();
3252 filePath.Append(L"data/reader.js");
3258 result r = E_SUCCESS;
3259 FileAttributes attr;
3261 File::GetAttributes(filePath,attr);
3263 r = file.Construct(filePath, L"r+");
3266 AppLogDebug("File construct failed with %s", GetErrorMessage(r));
3269 char* pScript = new(std::nothrow) char[attr.GetFileSize()+1];
3272 AppLogDebug("Memory allocation for file failed %s", GetErrorMessage(r));
3275 // file.Read(pScript,attr.GetFileSize());
3277 // AppLogDebug("scipt length %d",strlen(pScript));
3278 String strScript = L"";
3279 // strScript.Append(pScript);
3280 // for(int i=0; i<25; i++)
3282 file.Read(pScript,attr.GetFileSize());
3283 // AppLog("xyzz tell %d",file.Tell());
3284 // r = strScript.Append(pScript);
3285 // AppLog("xyzz append result %s",GetErrorMessage(r));
3286 // AppLog("xyzz strScript length %d",strScript.GetLength());
3288 // AppLog("xyzz final strScript length %d",strScript.GetLength());
3290 __pReaderData = __pWebViewer->EvaluateJavascriptN(pScript);
3291 if (__pReaderData == null)
3293 AppLog("MainScene::data is null Error :%s",GetErrorMessage(GetLastResult()));
3294 __pReaderData = new String(L"<meta name=\"viewport\" content=\"width=0, initial-scale=1.0, maximum-scale=2.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=medium-dpi\"> <h1>Chinese PM Li Keqiang vows to open up markets to India</h1><div><span class=\"arttle\"><h1>Chinese PM Li Keqiang vows to open up markets to India</h1></span></div>");
3297 AppLogDebug("evaluateJavascript result %s , __pReaderData %ls",GetErrorMessage(GetLastResult()),__pReaderData->GetPointer());
3298 if (__pReaderData->CompareTo(L"undefined") != 0 && __pReaderData->CompareTo(L"") != 0)
3300 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3301 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3307 AppLog("MainForm::OnLoadingCompleted done");
3311 MainForm::OnEstimatedProgress(int progress)
3313 AppLogDebug("MainForm::OnEstimatedProgress entered %d",progress);
3315 if (progress < DEFAULT_PROGRESS_PERCENTAGE)
3316 progress = DEFAULT_PROGRESS_PERCENTAGE;
3318 // __pAddressbar->UpdateProgress(progress);
3319 UpdateProgress(progress);
3322 void MainForm::OnFaviconReceived(const Tizen::Graphics::Bitmap& favicon)
3324 AppLog("MainForm::OnFaviconReceived");
3325 if (__pWebViewer != null && __pHistory != null && __pWindowInfo != null && (__pWindowInfo->pageUrl.CompareTo(__pHistory->GetHistoryUrl()) == 0))
3327 Bitmap* favIcon = __pWebViewer->GetFaviconN();
3330 HistoryPresentationModel::GetInstance()->UpdateHistoryFavIcon(*__pHistory, *favIcon);
3337 MainForm::OnUrlValueChanged(Addressbar&)
3343 MainForm::OnUrlSubmitted(Addressbar& addBar)
3345 AppLog("MainForm::OnUrlSubmitted");
3346 String url = addBar.GetUrl();
3347 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
3349 if(__pFooterUrlField)
3350 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
3351 AddressBarCancelledClicked(*__pAddressbar);
3356 MainForm::LoadUrl(String& url)
3360 // UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3361 AppLogDebug("MainForm::LoadUrl enter");
3363 if (__pWebViewer != null)
3365 __pWebViewer->SetShowState(true);
3366 __pWebViewer->Invalidate(true);
3369 if (url.CompareTo(L"") == 0)
3373 if(__pFooterPanel != null)
3375 __pFooterPanel->SetShowState(true);
3376 __pFooterPanel->Invalidate(true);
3383 String firstPattern(L"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)");
3384 String secondPattern(L"^[A-Za-z0-9\.\+-:#@%/;$~?]+\\.[A-Za-z0-9!\+-=:#@%/;$~()_?\\\.&]{2,}$"); // URL of type abc.com (i.e without protocol in front of it)
3386 RegularExpression firstRegex;
3387 RegularExpression secondRegex;
3389 firstRegex.Construct(firstPattern, REGEX_CASELESS);
3390 secondRegex.Construct(secondPattern, REGEX_CASELESS);
3393 ret = firstRegex.Match(url, false); // This returns true value
3394 flag = secondRegex.Match(url, false); // Checks whether URL typed is of type abc.com (i.e without protocol in front of it)
3396 if (ret == true && __pWebViewer != null)
3399 __pWebViewer->LoadUrl(url);
3401 else if(__pWebViewer != null)
3403 String tempUrl = L"http://";
3404 tempUrl.Append(url);
3408 __pWebViewer->LoadUrl(tempUrl);
3412 UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3413 __pWebViewer->LoadUrl(SettingPresentationModel::GetInstance()->GetSearchUrl(encodedUrl));
3416 if (__pAddressbar != null)
3418 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3419 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3422 AppLogDebug("MainForm::LoadUrl exit");
3429 MainForm::OnFocusGained(const Tizen::Ui::Control& source)
3431 AppLog("MainForm::OnFocusGained");
3434 __pFooterPanel->SetShowState(false);
3439 __pAddressbar->SetShowState(true);
3440 __pAddressbar->SetAddressbarURLFocus();
3442 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3444 __currentSearchStr = L"";
3445 __currentWordIndex = 0;
3446 __maxOccurrances = 0;
3448 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
3450 __pFindWordEditField->SetText(L"");
3451 __pFindWordEditField->HideKeypad();
3452 __pFindWordControl->SetShowState(false);
3453 __pFindWordCountLabel->SetText(L"0/0");
3455 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
3457 __pFindWordEditFieldRightToLeft->SetText(L"");
3458 __pFindWordEditFieldRightToLeft->HideKeypad();
3459 __pFindWordControl->SetShowState(false);
3460 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
3463 __pFindWordNext->SetEnabled(false);
3464 __pFindWordPrev->SetEnabled(false);
3466 __pWebViewer->SearchTextAllAsync(L"",true);
3467 __pFindWordControl->SetShowState(false);
3469 RelayoutControls(false);
3473 MainForm::OnFocusLost(const Tizen::Ui::Control& source)
3475 AppLog("MainForm::OnFocusLost called");
3479 MainForm::OnStopClicked(Addressbar& addBar)
3481 AppLogDebug("MainForm::OnStopClicked called");
3484 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3485 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3486 __pWebViewer->StopLoading();
3487 RequestRedraw(true);
3492 MainForm::OnBackClicked(/*const Addressbar& addBar*/)
3494 // AppLog("MainForm::OnBackClicked");
3495 result r = E_FAILURE;
3496 if(__pImageMenu && __pImageMenu->GetShowState() == true)
3498 AppLog("Hiding the menu");
3499 __pImageMenu->SetShowState(false);
3502 if (__pWebViewer && __pWebViewer->CanGoBack())
3504 __pWebViewer->GoBack();
3506 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
3509 pApp = UiApp::GetInstance();
3512 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3515 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3523 WindowInfo* pWindowInfo = null;
3525 SceneManager* pSceneManager = SceneManager::GetInstance();
3526 if (pSceneManager == null)
3530 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
3531 if (pAllWindowList == NULL)
3533 pApp = UiApp::GetInstance();
3536 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3539 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3544 if (pAllWindowList != null)
3546 totalCount = pAllWindowList->GetCount();
3548 for (int count = 0; count < totalCount; count++)
3550 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
3551 if (pWindowInfo == null)
3553 pApp = UiApp::GetInstance();
3556 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3559 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3564 if (pSceneManager != null && pWindowInfo != null && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
3566 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
3569 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3572 r = pAllWindowList->RemoveAt(count, true);
3573 __pWindowInfo = null;
3576 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3581 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
3583 else if(pAllWindowList->GetCount() > 0)
3585 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
3589 pApp = UiApp::GetInstance();
3592 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3597 if (pWindowInfo == null)
3599 pApp = UiApp::GetInstance();
3602 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3608 r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
3611 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3625 MainForm::OnForwardClicked(/*const Addressbar& addBar*/)
3627 AppLog("MainForm::OnForwardClicked");
3628 if (__pWebViewer == null)
3631 if (__pWebViewer->CanGoForward())
3633 __pWebViewer->GoForward();
3638 MainForm::OnAddressBarFocusGained(const Addressbar& addBar)
3640 AppLog("XYZ::MainForm::OnAddressBarFocusGained");
3641 if(__pFooterPanel != null)
3643 __pFooterPanel->SetShowState(false);
3646 if (__pAddressbar != null && __pAddressbar->GetShowState() == false)
3648 __pAddressbar->SetShowState(true);
3649 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3652 RelayoutControls(false);
3656 MainForm::OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadState)
3658 AppLog("XYZ::MainForm::OnAddressBarFocusLost");
3660 int Height = GetClientAreaBounds().height;
3661 AppLog("MainForm::OnAddressBarFocusLost height is %d",Height);
3663 RelayoutControls(false);
3667 MainForm::OnAddressCancelledClicked(const Addressbar& addBar)
3669 AddressBarCancelledClicked(addBar);
3673 MainForm::OnAddressBarModeChanged(/*const Addressbar& addBar*/)
3675 __prevAddressBarMode = __curAddressBarMode;
3677 if (__pAddressbar != null)
3679 __curAddressBarMode = GetAddressbarMode();
3682 if (__curAddressBarMode == ADDRESSBAR_MODE_EDIT)
3684 __adressPanelPosition.y = 0;
3685 if (__pAddressbar != null)
3687 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
3688 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3689 __pAddressbar->Invalidate(true);
3691 if (__pWebViewer != null)
3693 __pWebViewer->StopLoading();
3696 else if(__curAddressBarMode == ADDRESSBAR_MODE_LOADING)
3698 __adressPanelPosition.y = 0;
3699 if (__pAddressbar != null)
3701 __webControlPosition.y = 0;
3702 __pAddressbar->SetBounds(Rectangle(0, __pAddressbar->GetY() - __pAddressbar->GetHeight(), GetClientAreaBounds().width, __pAddressbar->GetHeight()));
3703 __pAddressbar->Invalidate(true);
3709 MainForm::OnClipboardClosed(const Addressbar& addBar)
3711 AppLog("XYZ::MainForm::OnClipboardClosed");
3712 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3714 AppLog("akjshdasd 3");
3715 __pFooterPanel->SetShowState(true);
3717 __isKeypadOpened = false;
3718 RelayoutControls(false);
3722 MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar, bool footerState)
3724 AppLog("XYZ::MainForm::OnAddressBarKeypadClosed");
3725 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3727 AppLog("akjshdasd 3");
3728 __pFooterPanel->SetShowState(true);
3730 __isKeypadOpened = false;
3732 RelayoutControls(false,footerState);
3736 MainForm::OnAddressBarKeypadOpened(const Addressbar& addBar)
3738 AppLog("XYZ::MainForm::OnAddressBarKeypadOpened");
3739 __isKeypadOpened = true;
3740 RelayoutControls(false);
3744 MainForm::OnAddressBarKeypadWillOpen(const Addressbar& addBar)
3746 __isKeypadOpened = true;
3747 __pFooterPanel->SetShowState(false);
3751 MainForm::OnAddressBarKeypadBoundsChanged(const Addressbar& addBar)
3753 AppLog("XYZ::MainForm::OnAddressBarKeypadBoundsChanged");
3754 RelayoutControls(false);
3758 MainForm::OnPageTitleReceived(const Tizen::Base::String& title)
3760 AppLog("MainForm::OnPageTitleReceived %ls",title.GetPointer());
3763 __pWindowInfo->pageTitle = title;
3764 if (__pWebViewer != null)
3766 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3767 AppLog("MainForm::OnPageTitleReceived url %ls",__pWindowInfo->pageUrl.GetPointer());
3770 if (__pAddressbar != null && __pWebViewer != null)
3772 SetUrl(__pWebViewer->GetUrl());
3773 __pAddressbar->Invalidate(true);
3778 MainForm::UpdateFavicon(void)
3780 bool urlImageType = false;
3781 String *tempPath = null;
3783 tempPath = __pWebViewer->EvaluateJavascriptN(L"var getFavicon = function() { var favicon = '/favicon.ico'; var nodeList = document.getElementsByTagName('link'); if(nodeList) { for (var i = 0; i < nodeList.length; i++) { if ((nodeList[i].getAttribute('rel') == 'icon')||(nodeList[i].getAttribute('rel') == 'shortcut icon')) { favicon = nodeList[i].getAttribute('href'); } } } return favicon; }; getFavicon();");
3784 Bitmap* pBitmap = null;
3786 if (tempPath && tempPath->GetLength() > 0 && tempPath->CompareTo(L"undefined") != 0)
3788 if (__pWindowInfo != null)
3791 url.SetUri(*tempPath);
3792 if (url.GetHost().GetLength() == 0)
3795 webUrl.SetUri(__pWebViewer->GetUrl());
3796 result r = url.SetHost(webUrl.GetHost());
3803 if (url.GetScheme().GetLength() == 0)
3806 webUrl.SetUri(__pWebViewer->GetUrl());
3807 url.SetScheme(webUrl.GetScheme());
3809 __pWindowInfo->faviconUrl = url.ToString();
3811 pBitmap = __pWebViewer->GetFaviconN();
3813 if (pBitmap != null)
3815 if (__pWindowInfo->pFavicon != NULL)
3817 __pWindowInfo->pFavicon = null;
3819 __pWindowInfo->pFavicon = new(std::nothrow) Bitmap();
3820 __pWindowInfo->pFavicon->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
3822 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3824 FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
3826 else if(__pWindowInfo->pFavicon != null)
3828 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3832 Bitmap *pDefaultBmp = FaviconManager::GetInstance()->GetDefaultFaviconN();
3833 if(pDefaultBmp != null)
3835 __pAddressbar->SetFaviconBitmap(*pDefaultBmp);
3849 if(tempPath != null)
3853 AppLogDebug("Error occured: %s", GetErrorMessage(GetLastResult()));
3859 MainForm::OnLoadingRequested(const Tizen::Base::String& url,
3860 Tizen::Web::Controls::WebNavigationType type)
3862 AppLog("urlk %ls",url.GetPointer());
3863 // when load new page if find word panel is open its show state is false
3864 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3866 __currentSearchStr = L"";
3867 __currentWordIndex = 0;
3868 __maxOccurrances = 0;
3869 __pFindWordEditField->SetText(L"");
3870 __pFindWordNext->SetEnabled(false);
3871 __pFindWordPrev->SetEnabled(false);
3872 __pFindWordCountLabel->SetText(L"0/0");
3873 __pFindWordControl->SetShowState(false);
3874 __pFindWordEditField->HideKeypad();
3875 RelayoutControls(false);
3878 __pFooterPanel->Invalidate(true);
3881 uriInfo.SetUri(url);
3883 if(url.Contains(IDS_TIZEN_SERVICE))
3886 String delim(L":;,");
3888 // Creates a StringTokenizer instance
3889 StringTokenizer strTok(url, delim);
3891 int count = strTok.GetTokenCount(); // count == 4
3893 HashMap *pMap = new HashMap();
3899 while (strTok.HasMoreTokens())
3901 AppLog("Token: %ls", token.GetPointer());
3902 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3903 if(token.Contains(IDS_APPID))
3905 token.SubString(6, appId);
3906 AppLog("AppID:%ls", appId.GetPointer());
3908 else if(token.Contains(IDS_KEY))
3910 token.SubString(4, key);
3911 AppLog("key:%ls", key.GetPointer());
3913 else if(token.Contains(IDS_VALUE))
3915 token.SubString(6, value);
3916 AppLog("value:%ls", value.GetPointer());
3919 pMap->Add(key, value);
3923 AppControl *pAppControl = null;
3924 String operationId = L"http://tizen.org/appcontrol/operation/main";
3925 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
3928 result r = pAppControl->Start(null, null, pMap, null);
3932 AppLogException("AppControl not found");
3942 MainForm::OnWebDataReceived(const Tizen::Base::String& mime,
3943 const Tizen::Net::Http::HttpHeader& httpHeader)
3945 return Tizen::Web::Controls::WEB_DECISION_CONTINUE;
3949 MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint& endPoint)
3951 AppLog("MainForm::OnWebPageBlockSelected");
3952 // if(__isLongPressedDone == false)
3955 if (__pHitElementResult != null)
3957 delete __pHitElementResult;
3958 __pHitElementResult = null;
3961 if (__pWebViewer != null)
3963 AppLog("MainForm::OnWebPageBlockSelected web not null");
3964 __pHitElementResult = __pWebViewer->GetElementByPointN(startPoint);
3966 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
3968 AppLog("datafirst startpoint error %s",GetErrorMessage(GetLastResult()));
3969 __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint);
3970 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
3972 __pHitElementResult = __pWebViewer->GetElementByPointN(__longPressPoint);
3974 AppLog("datafirst endpoint error %s",GetErrorMessage(GetLastResult()));
3978 if (__pHitElementResult == null)
3983 if (__pHitElementResult->HasImage() != true)
3985 String tagName = __pHitElementResult->GetTagName();
3986 String type = __pHitElementResult->GetAttributeValue("type");
3989 AppLog("TagName %ls",tagName.GetPointer());
3990 __currentSelectedStr.Clear();
3991 AppLog("__currentSelectedStr after clear %ls",__currentSelectedStr.GetPointer());
3992 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
3993 AppLog("__currentSelectedStr after GetTextFromBlock %ls",__currentSelectedStr.GetPointer());
3994 if(tagName.Equals(L"TEXTAREA",false) == true)
3996 AppLog("Tagnameseemstobe TEXTAREA");
3998 else if(tagName.Equals(L"INPUT",false) == true)
4000 AppLog("Tagnameseemstobe INPUT");
4003 if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) /*&& __isLongPressedDone == true*/ && __currentSelectedStr.CompareTo(L"") !=0)
4005 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4007 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),true);
4010 __pImageMenu->SetShowState(true);
4011 __pImageMenu->Show();
4012 __pImageMenu->Invalidate(true);
4015 else /*if(__isLongPressedDone == true)*/
4017 AppLog("MainForm::OnWebPageBlockSelected no paste option");
4019 if(__pHitElementResult->GetUrl().GetLength() > 0)
4021 __currentSelectedStr.Clear();
4022 __currentSelectedStr = __pHitElementResult->GetUrl();
4024 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),false);
4027 __pImageMenu->SetShowState(true);
4028 __pImageMenu->Show();
4029 __pImageMenu->Invalidate(true);
4033 AppLog("MainForm::OnWebPageBlockSelected block text is %ls",__currentSelectedStr.GetPointer());
4034 AppLog("MainForm::OnWebPageBlockSelected tag name is %ls",tagName.GetPointer());
4035 AppLog("MainForm::OnWebPageBlockSelected type name is %ls",type.GetPointer());
4041 MainForm::OnWebPageShowRequested(Tizen::Web::Controls::Web& source)
4047 MainForm::OnWebWindowCreateRequested(void)
4049 AppLog("MainForm::OnWebWindowCreateRequested entered");
4050 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4052 if (pNewWindowInfo == null)
4056 result r = E_SUCCESS;
4057 SceneManager* pSceneManager = SceneManager::GetInstance();
4058 if (pSceneManager == NULL)
4062 ArrayList* pArgList = new(std::nothrow) ArrayList();
4063 if (pArgList == NULL)
4067 r = pArgList->Construct();
4070 pNewWindowInfo->isJavascriptInitiated = true;
4071 pArgList->Add(*pNewWindowInfo);
4072 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4076 AppLogDebug("EditHistoryListForm::OnFormBackRequested Failed to GoBackward %s",GetErrorMessage(r));
4083 return pNewWindowInfo->pCurrentWeb;
4087 MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter)
4089 AppLog("xyz:: MainForm::RelayoutControls called");
4090 __webControlPosition.y = 0;
4091 __webControlHeight = GetClientAreaBounds().height;
4092 AppLog("Client area height: %d", __webControlHeight);
4094 AppLog("Client area height: %d", __webControlHeight);
4095 if(__pAddressbar != null && __pAddressbar->GetShowState() == true)
4097 __webControlPosition.y += __pAddressbar->GetHeight();
4098 __webControlHeight -= __pAddressbar->GetHeight();
4099 __pAddressbar->SetBounds(0, 0, __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
4101 else if(__pFindWordControl != null && __pFindWordControl->GetShowState() == true)
4103 __webControlPosition.y += __pFindWordControl->GetHeight();
4104 __webControlHeight -= __pFindWordControl->GetHeight();
4105 __pFindWordControl->SetBounds(0, 0, GetClientAreaBounds().width, __pFindWordControl->GetHeight());
4108 if(__pFooterPanel != null && __pFooterPanel->GetShowState() == true && relayoutFooter == true)
4110 __webControlHeight -= __pFooterPanel->GetHeight();
4112 __pFooterPanel->SetBounds(0, __webControlPosition.y + __webControlHeight, GetClientAreaBounds().width, __pFooterPanel->GetHeight());
4113 __webControlHeight = __webControlHeight + 12;
4115 if (__pWebViewer != null && __pWebViewer->GetShowState() == true)
4117 if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight )
4122 __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight );
4123 AppLog("xyz:: MainForm::RelayoutControls called __webControlHeight %d",__webControlHeight);
4124 __pWebViewer->Invalidate(false);
4127 if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null)
4129 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__webControlPosition.y , GetClientAreaBounds().width, __webControlHeight));
4136 MainForm::ShowFindWordPanel(bool show , bool isTouchPressed)
4138 if (__pFindWordControl == null)
4143 Tizen::Locales::LocaleManager localeManager;
4144 Tizen::Locales::Locale local = localeManager.GetSystemLocale();
4146 String languageCode;
4147 result r = SettingInfo::GetValue(L"Language", languageCode);
4148 // int languagecode = local.GetLanguageCode();
4149 AppLog("rahul language is %S", languageCode.GetPointer());
4153 InitFindWordPanel();
4155 if (languageCode.CompareTo("ara") == 0)
4157 AppLog("rahul language is arabic");
4159 __pFindWordPanelLeftToRight->SetShowState(false);
4160 __pFindWordPanelRightToLeft->SetShowState(true);
4162 __pFindWordClear->SetShowState(false);
4163 __pFindWordCountLabel->SetShowState(false);
4164 __pFindWordEditField->SetShowState(false);
4166 __pFindWordClearRightToLeft->SetShowState(true);
4167 __pFindWordCountLabelRightToLeft->SetShowState(true);
4168 __pFindWordEditFieldRightToLeft->SetShowState(true);
4172 AppLog("rahul language is not arabic");
4175 __pFindWordPanelLeftToRight->SetShowState(true);
4176 __pFindWordPanelRightToLeft->SetShowState(false);
4178 __pFindWordClear->SetShowState(true);
4179 __pFindWordCountLabel->SetShowState(true);
4180 __pFindWordEditField->SetShowState(true);
4182 __pFindWordClearRightToLeft->SetShowState(false);
4183 __pFindWordCountLabelRightToLeft->SetShowState(false);
4184 __pFindWordEditFieldRightToLeft->SetShowState(false);
4186 __pFindWordControl->SetShowState(true);
4190 if(__pFindWordControl != null)
4192 __pFindWordControl->SetShowState(false);
4196 AppLog("MainForm::ShowFindWordPanel %d",show);
4197 if (show && !isTouchPressed)
4199 if (languageCode.CompareTo("ara") == 0)
4201 if (__pFindWordEditFieldRightToLeft)
4203 __pFindWordEditFieldRightToLeft->SetFocus();
4204 __pFindWordEditFieldRightToLeft->ShowKeypad();
4209 if (__pFindWordEditField)
4211 __pFindWordEditField->SetFocus();
4212 __pFindWordEditField->ShowKeypad();
4218 if (languageCode.CompareTo("ara") == 0)
4220 if (__pFindWordEditFieldRightToLeft)
4221 __pFindWordEditFieldRightToLeft->HideKeypad();
4225 if (__pFindWordEditField)
4226 __pFindWordEditField->HideKeypad();
4230 RelayoutControls(false);
4234 MainForm::StartWordSearch()
4236 //Get the count of occurances of the word in the current page
4237 __maxOccurrances = 0;
4238 __currentWordIndex = 0;
4240 __pFindWordPrev->SetEnabled(false);
4241 String *pCountStr = null;
4242 result r = __pWebViewer->SearchTextAllAsync(__currentSearchStr, false);
4243 AppLog("Search Result %s",GetErrorMessage(r));
4244 /*__pWebViewer->EvaluateJavascriptN(L"document.body.textContent.match(/" + __currentSearchStr + "/gi).length;");
4245 if (pCountStr != null)
4247 Integer::Parse(*pCountStr, 10, __maxOccurrances);
4251 AppLogDebug("'%ls' is found %d times", __currentSearchStr.GetPointer(), __maxOccurrances);
4256 void MainForm::OnTextFound(int totalCount, int currentOrdinal)
4258 AppLog("MainForm::OnTextFound totalCount %d",totalCount);
4259 AppLog("MainForm::OnTextFound currentOrdinal %d",currentOrdinal);
4261 if(totalCount == -1 || totalCount == 0)
4263 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
4264 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
4267 else if(totalCount > 100)
4269 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4270 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4274 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4275 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4278 __maxOccurrances = totalCount;
4279 __currentWordIndex = currentOrdinal;
4281 //Reset the UI controls as per the maxOccurrance value
4282 if (totalCount <= 0)
4284 AppLog("Word not found");
4285 //Show error notification to user
4286 __pFindWordNext->SetEnabled(false);
4287 if(__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4289 __pFindWordCountLabel->SetText(L"0/0");
4290 __pFindWordCountLabel->Invalidate(false);
4292 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4294 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4295 __pFindWordCountLabelRightToLeft->Invalidate(false);
4297 __pFindWordNext->Invalidate(false);
4298 __pFindWordPrev->Invalidate(false);
4303 if (totalCount == 1 || totalCount == currentOrdinal)
4305 __pFindWordNext->SetEnabled(false);
4309 __pFindWordNext->SetEnabled(true);
4312 String countStr = L"";
4313 countStr.Append(__currentWordIndex);
4314 countStr.Append(L"/");
4315 countStr.Append(__maxOccurrances);
4316 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4318 __pFindWordCountLabel->SetText(countStr);
4319 __pFindWordCountLabel->Invalidate(false);
4320 __pFindWordCountLabel->Invalidate(false);
4322 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4324 __pFindWordCountLabelRightToLeft->SetText(countStr);
4325 __pFindWordCountLabelRightToLeft->Invalidate(false);
4326 __pFindWordCountLabelRightToLeft->Invalidate(false);
4328 //FindNextWord(true);
4329 //Update the controls
4330 __pFindWordNext->Invalidate(false);
4331 __pFindWordPrev->Invalidate(false);
4336 MainForm::FindNextWord(bool next)
4340 //if (__pWebViewer->SearchText(__currentSearchStr, true) == true)
4341 if (__pWebViewer->SearchNextAsync(true) == E_SUCCESS)
4343 if (__currentWordIndex < __maxOccurrances)
4345 __currentWordIndex++;
4351 //if (__pWebViewer->SearchText(__currentSearchStr, false) == true)
4352 if (__pWebViewer->SearchNextAsync(false) == E_SUCCESS)
4354 if(__currentWordIndex > 1)
4356 __currentWordIndex--;
4361 String countStr = L"";
4362 countStr.Append(__currentWordIndex);
4363 countStr.Append(L"/");
4364 countStr.Append(__maxOccurrances);
4366 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4368 __pFindWordCountLabel->SetText(countStr);
4369 __pFindWordCountLabel->Invalidate(false);
4371 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4373 __pFindWordCountLabelRightToLeft->SetText(countStr);
4374 __pFindWordCountLabelRightToLeft->Invalidate(false);
4377 if (__currentWordIndex >= __maxOccurrances)
4379 __pFindWordNext->SetEnabled(false);
4383 __pFindWordNext->SetEnabled(true);
4385 if (__currentWordIndex <= 1)
4387 __pFindWordPrev->SetEnabled(false);
4391 __pFindWordPrev->SetEnabled(true);
4393 __pFindWordPrev->Invalidate(false);
4394 __pFindWordNext->Invalidate(false);
4396 __pFindWordControl->Invalidate(true);
4400 MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
4402 AppLog("xyz::MainForm::OnWebKeypadWillOpen");
4403 __isKeypadOpened = true;
4404 __pFooterPanel->SetShowState(false);
4405 // OnAddressBarKeypadOpened(*__pAddressbar);
4409 MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source)
4411 __isKeypadOpened = true;
4412 AppLog("xyz::MainForm::OnWebKeypadOpened");
4414 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4416 __currentSearchStr = L"";
4417 __currentWordIndex = 0;
4418 __maxOccurrances = 0;
4419 __pFindWordEditField->SetText(L"");
4420 __pFindWordNext->SetEnabled(false);
4421 __pFindWordPrev->SetEnabled(false);
4422 __pFindWordCountLabel->SetText(L"0/0");
4423 __pWebViewer->SearchTextAllAsync(L"",false);
4424 __pFindWordControl->SetShowState(false);
4425 __pFindWordEditField->HideKeypad();
4429 if (__pWebViewer != null && __pFooterPanel != null)
4431 AppLog("MainForm::OnWebKeypadOpened GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
4432 if(__pAddressbar != null)
4434 __pAddressbar->SetShowState(false);
4436 if(__pFindWordControl != null)
4438 __pFindWordControl->SetShowState(false);
4440 __pFooterPanel->SetShowState(false);
4441 __pWebViewer->SetBounds(Rectangle(0, 0,GetClientAreaBounds().width, GetClientAreaBounds().height));
4443 // if(__pImageMenu && __pImageMenu->GetShowState() == true)
4445 // __pImageMenu->SetAnchorPosition(Point(__pImageMenu->GetAnchorPosition().x/2,__pImageMenu->GetAnchorPosition().y/2));
4446 // AppLog("omgomgomg");
4452 MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source)
4454 AppLog("xyz::MainForm::OnWebKeypadClosed");
4455 AppLog("akjshdasd 4");
4456 __pFooterPanel->SetShowState(true);
4457 // OnAddressBarKeypadClosed(*__pAddressbar);
4458 RelayoutControls(false);
4459 __isKeypadOpened = false;
4463 MainForm::OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source)
4465 // RelativeLayout(false);
4466 if(__pWebViewer != null)
4468 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,GetClientAreaBounds().height));
4473 MainForm::OnTouchDoublePressed(const Control& source, const Point& currentPosition, const TouchEventInfo& touchInfo)
4475 Control* temp = const_cast< Control* >(&source);
4476 Header* pHeader = dynamic_cast< Header* >(temp);
4477 if (pHeader != null)
4479 //Header double - clicked
4480 AppLog("Header double clicked");
4482 if(__pFindWordControl)
4484 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
4485 ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
4489 AppLog("MainScene::OnTouchDoublePressed");
4493 void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4495 AppLog("abcde::MainForm::OnTouchLongPressed %d, %d" ,currentPosition.x,currentPosition.y);
4496 if(TouchEventManager::GetInstance()->GetTouchInfoListN()->GetCount() >1)
4498 AppLog("Returning because of more than one touch point.");
4501 __longPressPoint = currentPosition;
4503 if (__pHitElementResult != null)
4505 delete __pHitElementResult;
4506 __pHitElementResult = null;
4509 if (__pWebViewer != null)
4511 AppLog("MainForm::OnTouchLongPressed web not null");
4512 __pHitElementResult = __pWebViewer->GetElementByPointN(currentPosition);
4515 if (__pHitElementResult == null)
4520 if (__pHitElementResult->HasImage() == true)
4522 if(__pWebViewer != null)
4523 InitImageContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4524 __pImageMenu->SetShowState(true);
4525 __pImageMenu->Show();
4526 __pImageMenu->Invalidate(true);
4528 else if(__pHitElementResult->HasUrl() == true)
4530 String tempURl = __pHitElementResult->GetUrl();
4531 AppLog("tempURl is %ls", tempURl.GetPointer());
4532 const Bitmap* pBitmap = __pHitElementResult->GetImage();
4533 if (pBitmap != null)
4541 InitImageLinkContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4542 __pImageMenu->SetShowState(true);
4543 __pImageMenu->Show();
4544 __pImageMenu->Invalidate(true);
4548 String tagName = __pHitElementResult->GetTagName();
4549 String type = __pHitElementResult->GetAttributeValue("type");
4550 String value = __pHitElementResult->GetAttributeValue(L"value");
4551 String innerHtml = __pHitElementResult->GetAttributeValue(L"innerHTML");
4553 __currentSelectedStr.Clear();
4554 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4556 AppLog("tag name is %ls", tagName.GetPointer());
4557 AppLog("type is %ls", type.GetPointer());
4561 __isLongPressedDone = true;
4562 result r =__pWebViewer->SetBlockSelectionPosition(currentPosition);
4563 if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) && innerHtml.GetLength() == 0 && type.Equals(L"submit",false) !=true && type.Equals(L"range",false) !=true/*&& __isWebKeypadOpened == true*/ && __currentSelectedStr.Equals(L"",false) == true && r == E_INVALID_ARG)
4565 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4567 InitSelectTextContextMenu(Point(currentPosition.x , currentPosition.y + __pWebViewer->GetY()),true, true);
4570 __pImageMenu->SetShowState(true);
4571 __pImageMenu->Show();
4572 __pImageMenu->Invalidate(true);
4575 AppLog("setselectionselectedornot %s",GetErrorMessage(r));
4578 // __inputEventToBeSupressed = true;
4582 MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4584 AppLog("xyz:: MainForm::OnTouchReleased called");
4586 if (__pAddressbar && __pAddressbar->GetShowState() == true)
4588 __pAddressbar->SetShowState(false);
4590 if(__pFooterPanel && __isKeypadOpened == false)
4592 __pFooterPanel->SetShowState(true);
4596 /*HitElementResult* pHitElement = __pWebViewer->GetElementByPointN(currentPosition);
4597 if(pHitElement != null && pHitElement->HasUrl() == true && __inputEventToBeSupressed == true)
4599 __pWebViewer->ConsumeInputEvent();
4601 if(pHitElement != null)
4605 __inputEventToBeSupressed = false;*/
4609 MainForm::OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4616 MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4618 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4620 __currentSearchStr = L"";
4621 __currentWordIndex = 0;
4622 __maxOccurrances = 0;
4624 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
4626 __pFindWordEditField->SetText(L"");
4627 __pFindWordEditField->HideKeypad();
4628 __pFindWordControl->SetShowState(false);
4629 __pFindWordCountLabel->SetText(L"0/0");
4631 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
4633 __pFindWordEditFieldRightToLeft->SetText(L"");
4634 __pFindWordEditFieldRightToLeft->HideKeypad();
4635 __pFindWordControl->SetShowState(false);
4636 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4639 __pFindWordNext->SetEnabled(false);
4640 __pFindWordPrev->SetEnabled(false);
4642 __pWebViewer->SearchTextAllAsync(L"",true);
4643 __pFindWordControl->SetShowState(false);
4645 AppLog("__pAddressbar->GetShowState() %d",__pAddressbar->GetShowState());
4646 if(__pAddressbar->GetShowState() == false)
4648 __pAddressbar->SetAddressbarURLFocus();
4649 __pFooterPanel->SetShowState(false);
4656 MainForm::OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4662 MainForm::OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4668 MainForm::OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4674 MainForm::OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4680 MainForm::OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4686 MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
4688 AppLog("MainForm::OnOrientationChanged GetClientAreaBounds %d, %d",GetClientAreaBounds().width,GetClientAreaBounds().height);
4689 int widthContextItem = 0;
4690 if(__pFindWordCountLabel)
4691 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4692 // As per the platform engineer comment removed this line
4693 /*if(__pWebViewer != null)
4695 // this is added because if any text is selected on long press followed by on rotation we are hiding the context menu therefore we should release the text block also
4696 __pWebViewer->ReleaseBlock();
4699 // if(__pFindWordControl != null)
4700 // ShowFindWordPanel(__pFindWordControl->GetShowState(), false);
4702 if(__pOptionMenu && __pOptionMenu->GetShowState() == true)
4704 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4706 AppLog(" Orientation landscape");
4707 __pOptionMenu->SetMaxVisibleItemsCount(5);
4711 AppLog(" Orientation potrait");
4712 __pOptionMenu->SetMaxVisibleItemsCount(6);
4715 if(__pNotification && __pNotification->GetShowState() == true)
4717 __pNotification->SetShowState(false);
4718 __pNotification->Invalidate(false);
4720 if ( __pFooterLabel != null)
4722 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
4725 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
4731 if (__pFindWordBgLabel != null)
4733 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
4734 if (pBitmap != null)
4736 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
4741 if (__pFindWordBgLabelRightToLeft != null)
4743 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
4744 if (pBitmap != null)
4746 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
4752 // if(__pOptionMenu != null)
4753 // __pOptionMenu->SetShowState(false);
4755 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4757 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE;
4761 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT;
4766 AppLog("__pFooterPanel->GetShowState() is true");
4768 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), __pFooterPanel->GetWidth(), __pFooterPanel->GetHeight());
4769 __pFooterPanel->Invalidate(true);
4773 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
4774 if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
4776 InitMostVisitedSitesView(orientationStatus);
4779 RelayoutControls(false);
4780 if (__pArticleReaderPanel != null)
4782 if (__pArticleReaderPanel->GetShowState() == true)
4784 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
4786 if (__pBlankPanel != null)
4787 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
4789 if (__pWebReader != null)
4791 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight() - 96));
4793 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
4794 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
4796 if ( pBitmap != null && pSrcBitmap != null)
4798 AppLog("CreateReaderPanel ninepatchbitmap found");
4799 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
4802 __pArticleReaderLabel->SetBounds(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()));
4803 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
4804 if (pBitmap != null)
4809 if (pSrcBitmap != null)
4818 if (__pAddressbar != null)
4820 int width = GetClientAreaBounds().width;
4821 __pAddressbar->OrientationChanged(width);
4826 MainForm::OnSettingsChange(int settingvalue)
4828 AppLogDebug("MainForm::OnSettingsChange entered");
4830 if(settingvalue == (int)REGISTRY_SETTING_HOMEPAGE)
4832 __pAddressbar->ResetGuideText();
4834 if (__pWebViewer == null)
4836 AppLogDebug("Webviewer is not initialized yet.");
4840 if (settingvalue == (int) REGISTRY_SETTING_DEFAULT_VIEW)
4842 WebSetting settings = __pWebViewer->GetSetting();
4843 if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_FIT_TO_WIDTH")) == 0)
4845 settings.SetAutoFittingEnabled(true);
4847 else if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_READABLE")) == 0)
4849 settings.SetAutoFittingEnabled(false);
4851 __pWebViewer->SetSetting(settings);
4853 else if (settingvalue == (int) REGISTRY_SETTING_RUN_JAVASCRIPT)
4855 WebSetting settings = __pWebViewer->GetSetting();
4856 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
4857 __pWebViewer->SetSetting(settings);
4859 else if (settingvalue == (int) REGISTRY_SETTING_DISPLAY_IMAGES)
4861 WebSetting settings = __pWebViewer->GetSetting();
4862 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
4863 __pWebViewer->SetSetting(settings);
4864 __pWebViewer->Reload();
4866 else if (settingvalue == (int) REGISTRY_SETTING_BLOCK_POPUP)
4868 WebSetting settings = __pWebViewer->GetSetting();
4869 settings.SetJavaScriptPopupEnabled(SettingPresentationModel::GetInstance()->IsBlockPopUp());
4870 __pWebViewer->SetSetting(settings);
4872 else if (settingvalue == (int) REGISTRY_SETTING_ACCEPT_COOKIES)
4876 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
4879 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_FORM_DATA)
4883 WebSetting settings = __pWebViewer->GetSetting();
4884 settings.SetAutoFormDataShowEnabled(SettingPresentationModel::GetInstance()->IsRememberFormData());
4885 __pWebViewer->SetSetting(settings);
4888 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_PASSWORD)
4892 WebSetting settings = __pWebViewer->GetSetting();
4893 settings.SetAutoLoginFormFillEnabled(SettingPresentationModel::GetInstance()->IsRememberPassword());
4894 __pWebViewer->SetSetting(settings);
4897 else if (settingvalue == (int) REGISTRY_SETTING_SHOW_SECURITY_WARNINGS)
4899 WebSetting settings = __pWebViewer->GetSetting();
4900 if (SettingPresentationModel::GetInstance()->IsSecurityWarningsEnabled() == true)
4902 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_USER_CONFIRM);
4906 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_CONTINUE);
4908 __pWebViewer->SetSetting(settings);
4910 else if (settingvalue == (int) REGISTRY_SETTING_READER_FONT_SIZE)
4914 AppLogDebug("IntMainForm fontsize Changed to %d",SettingPresentationModel::GetInstance()->GetReaderFontSize());
4915 WebSetting settings = __pWebReader->GetSetting();
4916 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
4917 __pWebReader->SetSetting(settings);
4923 MainForm::OnSettingsReset()
4927 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
4928 __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
4933 MainForm::OnClearCache()
4935 result r = E_SUCCESS;
4937 if (__pWebViewer != NULL)
4939 r = __pWebViewer->ClearCache();
4942 AppLogDebug("Cache cleared success");
4946 AppLogDebug("Cache cleared fail");
4952 MainForm::OnClearCookie()
4954 result r = E_SUCCESS;
4956 if (__pWebViewer != NULL)
4958 __pWebViewer->ClearCookie();
4962 AppLogDebug("Cookie cleared success");
4966 AppLogDebug("Cache cleared fail");
4971 MainForm::OnClearFormData()
4973 result r = E_SUCCESS;
4975 if (__pWebViewer != NULL)
4977 __pWebViewer->ClearFormData();
4981 AppLogDebug("Cookie cleared success");
4985 AppLogDebug("Cache cleared fail");
4990 MainForm::OnClearPasswords()
4992 result r = E_SUCCESS;
4994 if (__pWebViewer != NULL)
4996 __pWebViewer->ClearLoginFormData();
5000 AppLogDebug("Cookie cleared success");
5004 AppLogDebug("Cache cleared fail");
5010 MainForm::findDistance(int x1,int y1,int x2, int y2)
5012 int deltaX = Math::Abs(x2 - x1);
5013 int deltaY = Math::Abs(y2 - y1);
5014 double num = deltaX*deltaX + deltaY*deltaY;
5020 for (i = 0; i < 20; i++)
5022 x = (((x*x)+ num)/(2*x));
5033 MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5035 AppLog("xyz:: MainForm::OnTouchPressed called");
5036 if(__pFindWordControl)
5038 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
5039 // ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
5041 __isLongPressedDone = false;
5046 IList* pList = null;
5047 pList = touch.GetTouchInfoListN(source);
5051 int count = pList->GetCount();
5054 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5055 __touchPoint1 = pTouchInfo->position;
5057 /*if (__pAddressbar != null)
5059 if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && __pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5061 if (__pAddressbar->GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5063 __pAddressbar->SaveAddressbarEditText();
5065 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5068 __pAddressbar->Invalidate(true);
5070 if (GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5072 if (GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5074 //__pAddressbar->SaveAddressbarEditText();
5076 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5079 else if (count == 2)
5081 AppLogDebug("MainForm::OnTouchPressed count is two");
5082 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5083 __touchPoint1 = pTouchInfo->position;
5085 pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(1));
5086 __touchPoint2 = pTouchInfo->position;
5091 pList->RemoveAll(true);
5096 __pAddressbar->SetShowState(false);
5098 if(__pFooterPanel && __isKeypadOpened == false)
5100 __pFooterPanel->SetShowState(true);
5102 RelayoutControls(false);
5107 MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5109 // __currentWordIndex = 0;
5110 __isLongPressedDone = false;
5115 MainForm::MoveUiControls()
5120 MainForm::OnTextValueChanged (const Tizen::Ui::Control &source)
5122 if(&source == dynamic_cast<Control*>(__pFooterUrlField) && __pFooterUrlField != null)
5124 if(__pFooterUrlField->GetTextLength() == 0)
5126 __pFooterUrlField->SetKeypadActionEnabled(false);
5130 __pFooterUrlField->SetKeypadActionEnabled(true);
5133 if (__pFindWordEditField != null && __pFindWordEditField->GetShowState() == true)
5135 __currentSearchStr = __pFindWordEditField->GetText();
5136 if (__currentSearchStr.GetLength() > 0)
5138 __pFindWordCountLabel->SetShowState(true);
5142 // __pFindWordCountLabel->SetShowState(false);
5143 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
5144 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
5147 __pFindWordNext->SetEnabled(false);
5148 __pFindWordPrev->SetEnabled(false);
5149 __pFindWordNext->Invalidate(true);
5150 __pFindWordPrev->Invalidate(true);
5151 __pFindWordCountLabel->SetText(L"0/0");
5152 __pFindWordCountLabel->Invalidate(true);
5154 else if (__pFindWordEditFieldRightToLeft != null && __pFindWordEditFieldRightToLeft->GetShowState() == true)
5156 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
5157 if (__currentSearchStr.GetLength() > 0)
5159 __pFindWordCountLabelRightToLeft->SetShowState(true);
5163 __pFindWordCountLabelRightToLeft->SetShowState(false);
5166 __pFindWordNext->SetEnabled(false);
5167 __pFindWordPrev->SetEnabled(false);
5168 __pFindWordNext->Invalidate(true);
5169 __pFindWordPrev->Invalidate(true);
5170 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
5171 __pFindWordCountLabelRightToLeft->Invalidate(true);
5173 AppLog("__currentSearchStr %ls",__currentSearchStr.GetPointer());
5174 if (__currentSearchStr.GetLength() > 0)
5180 __currentSearchStr = L"aaaaaaaabbbbbbbccccccc";
5182 __currentSearchStr = L"";
5183 AppLogDebug("Enter something");
5188 MainForm::InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus)
5195 MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus)
5197 if(__pWebViewer != null)
5200 AppLog("MainForm::InitMostVisitedSitesView");
5201 result r = E_SUCCESS;
5204 if (__pWebViewer != null && __pMostVisitedListView != null)
5209 if (__pMostVisitedListView != null)
5211 RemoveControl(__pMostVisitedListView);
5213 if(__pMostVisitedSites != null)
5215 __pMostVisitedSites->RemoveAll(true);
5218 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
5220 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
5221 __pMostVisitedListView = new(std::nothrow) ListView();
5223 int height = GetClientAreaBounds().height;
5225 if(__pFooterPanel->GetShowState() == true)
5227 height = height - __pFooterPanel->GetHeight();
5229 if(__pAddressbar->GetShowState() == true)
5231 height -= __pAddressbar->GetHeight();
5234 r = __pMostVisitedListView->Construct(Tizen::Graphics::Rectangle(0,0 , GetClientAreaBounds().width, height),true,false);
5238 delete __pMostVisitedListView;
5239 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
5242 __pMostVisitedListView->SetItemProvider(*this);
5243 __pMostVisitedListView->AddListViewItemEventListener(*this);
5244 __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_VISITED_SITES"));
5245 AddControl(__pMostVisitedListView);
5246 __pMostVisitedListView->UpdateList();
5253 MainForm::GetImagePath(void)
5257 String formattedTime;
5258 DateTime currentTime;
5259 LocaleManager localManager;
5260 SystemTime::GetCurrentTime(TIME_MODE_WALL, currentTime);
5262 localManager.Construct();
5263 Locale locale = localManager.GetSystemLocale();
5264 //Locale locale(LANGUAGE_ENG, COUNTRY_US);
5266 // Get date formatter
5267 DateTimeFormatter* pTimeFormatter = DateTimeFormatter::CreateDateTimeFormatterN(locale, DATE_TIME_STYLE_DEFAULT);
5271 pTimeFormatter->Format(currentTime, formattedTime);
5274 AppLog("current time stamp is %ls", formattedTime.GetPointer());
5275 String delim(L" :");
5276 StringTokenizer strTok(formattedTime, delim);
5279 String str1("GMT+00");
5280 while (strTok.HasMoreTokens())
5282 strTok.GetNextToken(token); // Osp, StringTokenizer, Sample, code
5283 if(token.Equals(str1))
5285 AppLog("token is %ls", token.GetPointer());
5286 imageName.Append(token);
5292 void MainForm::UpdateImageContent(ByteBuffer* aBuffer, String imageName)
5294 result r = E_FAILURE;
5295 AppLog("Content manager 1");
5296 ContentId contentId;
5297 ContentManager contentManager;
5298 r = contentManager.Construct();
5301 AppLog("Content manager update content result %s" ,GetErrorMessage(r));
5304 Tizen::Base::String contentPath = Tizen::System::Environment::GetMediaPath() + L"Downloads/";
5305 Tizen::Io::Directory::Create(contentPath,true);
5306 if(GetLastResult() == E_FILE_ALREADY_EXIST)
5308 AppLog("Already exists");
5310 else if(GetLastResult() == E_SUCCESS)
5312 AppLog("created success");
5314 contentPath.Append(imageName);
5315 contentPath.Append(".jpg");
5316 contentId = contentManager.CreateContent(*aBuffer, contentPath);
5317 ShowIndicatorNotification(L"Download Complete",contentPath);
5318 AppLog("Content manager update content result %s" ,GetErrorMessage(GetLastResult()));
5322 MainForm::ShowIndicatorNotification(const String& messageText, const String& contentPath)
5324 AppLogDebug("ENTER");
5326 NotificationRequest request;
5327 request.SetAlertText(messageText);
5328 request.SetTitleText(L"");
5329 request.SetAppMessage(contentPath);
5330 request.SetOngoingActivityType(ONGOING_ACTIVITY_TYPE_TEXT);
5331 request.SetNotificationStyle(NOTIFICATION_STYLE_THUMBNAIL);
5332 Tizen::App::App* pApp = Tizen::App::App::GetInstance();
5333 String homePath = pApp->GetAppRootPath();
5334 String iconPath = homePath + L"res/screen-density-xhigh/Notification_download_complete.png";
5335 AppLog("The iconPath is : %ls", homePath.GetPointer());
5336 request.SetIconFilePath(iconPath);
5338 Tizen::Shell::NotificationManager notiMgr;
5339 notiMgr.Construct();
5340 notiMgr.NotifyOngoingActivity(request);
5341 AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult()));
5346 MainForm::SetForwardButtonEnabled(bool isEnabled)
5348 __pGoForwardBtn->SetEnabled(isEnabled);
5349 __pGoForwardBtn->Invalidate(true);
5353 MainForm::SetBackButtonEnabled(bool isEnabled)
5355 __pGoBackBtn->SetEnabled(isEnabled);
5356 __pGoBackBtn->Invalidate(true);
5360 MainForm::UpdateProgress(int percentage)
5362 __progressPercentage = percentage;
5363 if (percentage == 0 || percentage == 100)
5365 __isLoadingData = false;
5366 if (percentage == 100)
5368 __isLoadingCompleted = true;
5369 __progressPercentage = 0;
5373 __isLoadingCompleted = false;
5378 __isLoadingData = true;
5380 UpdateProgressBitmap();
5384 MainForm::GetProgress(void)
5386 return __progressPercentage;
5390 MainForm::UpdateProgressBitmap(void)
5392 result r = E_SUCCESS;
5393 if (__pProgressbarLabel == null)
5395 int w = __pProgressbarLabel->GetWidth();
5396 int h = __pProgressbarLabel->GetHeight();
5398 int progressWidth = 0;
5399 Bitmap* pRetBitmap = null;
5401 if (__progressPercentage == 0 || __progressPercentage == 100)
5403 __pProgressbarLabel->SetShowState(false);
5404 __pProgressbarLabel->Invalidate(false);
5409 __pProgressbarLabel->SetShowState(true);
5410 __pProgressbarLabel->Invalidate(false);
5413 r = canvas.Construct(Rectangle(0, 0, w, h));
5417 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
5422 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
5426 pBgBmp->Scale(Dimension(w, h));
5427 canvas.DrawBitmap(Point(0,0), *pBgBmp);
5431 progressWidth = (double) (w) * __progressPercentage / 100;
5432 AppLogDebug("progressWidth: %d", progressWidth);
5433 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
5435 if (pProgressBmp != null)
5437 pProgressBmp->Scale(Dimension(progressWidth, h));
5438 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
5439 delete pProgressBmp;
5442 pRetBitmap = new (std::nothrow) Bitmap();
5444 if (pRetBitmap == null)
5446 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
5450 pRetBitmap->Construct(canvas, canvas.GetBounds());
5452 if (__pProgressbarLabel != null && pRetBitmap != null)
5454 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
5455 __pProgressbarLabel->Invalidate(false);
5458 if (pRetBitmap != null)
5467 MainForm::ReaderClicked()
5469 result r = E_SUCCESS;
5470 ArrayList* pArgList = new(std::nothrow) ArrayList();
5471 if (pArgList != null)
5473 r = pArgList->Construct();
5480 r = pArgList->Add(*new(std::nothrow) String(*__pReaderData));
5487 r = pArgList->Add(*new(std::nothrow) String(__pWebViewer->GetUrl()));
5494 r = pArgList->Add(*new(std::nothrow) String(__pWindowInfo->pageTitle));
5502 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ARTICLE_READER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
5508 void MainForm::SetAddressbarMode(AddressBarMode addMode)
5510 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
5512 __currentAddMode = addMode;
5516 case ADDRESSBAR_MODE_INVALID:
5521 case ADDRESSBAR_MODE_READER:
5523 __pStopBtn->SetShowState(false);
5524 __pRefreshBtn->SetShowState(false);
5525 __pClearBtn->SetShowState(false);
5526 __pReaderBtn->SetShowState(false);
5529 case ADDRESSBAR_MODE_LOADING:
5531 __pRefreshBtn->SetShowState(false);
5532 __pStopBtn->SetShowState(true);
5533 __pClearBtn->SetShowState(false);
5534 __pReaderBtn->SetShowState(false);
5537 case ADDRESSBAR_MODE_LOADING_COMPLETE:
5539 // SetUrl(__pAddressbar->GetUrl());
5541 __pRefreshBtn->SetShowState(true);
5542 __pStopBtn->SetShowState(false);
5543 __pClearBtn->SetShowState(false);
5544 __pReaderBtn->SetShowState(false);
5547 case ADDRESSBAR_MODE_EDIT:
5549 __pRefreshBtn->SetShowState(false);
5550 __pStopBtn->SetShowState(false);
5551 __pReaderBtn->SetShowState(false);
5552 __pClearBtn->SetShowState(true);
5559 OnAddressBarModeChanged();
5562 AddressBarMode MainForm::GetAddressbarMode(void)
5564 return __currentAddMode;
5567 void MainForm::SetUrl(const String& url)
5570 if(__displayUrl.GetLength() > 2048)
5571 __displayUrl.SubString(0,2048,__displayUrl);
5573 if (__pFooterUrlField != NULL)
5575 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
5576 if (removedHttpUrl.IsEmpty() == false)
5578 __pFooterUrlField->SetText(removedHttpUrl);
5579 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5580 __pAddressbar->SetUrl(__displayUrl);
5584 __pFooterUrlField->SetText(__displayUrl);
5585 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5586 __pAddressbar->SetUrl(__displayUrl);
5588 if(__pFooterUrlField)
5589 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
5590 __pFooterUrlField->Invalidate(false);
5591 if(__pAddressbar != NULL && __pAddressbar->HasFocus())
5592 __pAddressbar->Invalidate(true);
5593 // __pFooterUrlField->SetCursorPosition(0);
5598 MainForm::RemoveHttpTextFromDisplayURL(void)
5600 AppLog("MainForm::RemoveHttpTextFromDisplayURL __displayUrl %ls",__displayUrl.GetPointer());
5602 // bool isHttpText = __displayUrl.Contains(L"http://");
5603 String updatedDisplayUrl;
5604 updatedDisplayUrl.Clear();
5605 if(__displayUrl.IndexOf(L"http://",0,index) == E_SUCCESS && index == 0)
5607 __displayUrl.SubString(7,updatedDisplayUrl);
5609 else if(__displayUrl.IndexOf(L"https://",0,index) == E_SUCCESS && index == 0)
5611 __displayUrl.SubString(8,updatedDisplayUrl);
5613 return updatedDisplayUrl;
5616 void MainForm::OnSharePopupControlStarted(void)
5618 __pWebViewer->AddTouchEventListener(*this);
5622 MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
5624 if (requestId == BACK_GROUND_APP_EVENT)
5626 if(__pWebViewer != null)
5628 __pWebViewer->Pause();
5632 __pImageMenu->SetShowState(false);
5634 if(__pAddressbar != null)
5636 __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL);
5639 else if(requestId == FORE_GROUND_APP_EVENT)
5641 if(__pWebViewer != null)
5643 __pWebViewer->Resume();
5645 if(__pAddressbar != null)
5647 __pAddressbar->SendUserEvent(FORE_GROUND_APP_EVENT,NULL);
5653 MainForm::AddressBarCancelledClicked(const Addressbar& addBar)
5655 AppLog("XYZ::MainForm::AddressBarCancelledClicked");
5656 result r = E_SUCCESS;
5659 __pAddressbar->SetShowState(false);
5661 AppLog("akjshdasd 5");
5662 __pFooterPanel->SetShowState(true);
5665 __pWebViewer->SetFocus();
5666 else if(__pMostVisitedListView)
5667 __pMostVisitedListView->SetFocus();
5668 else if(__pMultiWindowButton)
5669 __pMultiWindowButton->SetFocus();
5670 else if(__pMoreButton)
5671 __pMoreButton->SetFocus();
5673 __pAddressbar->SetShowState(false);
5675 RelayoutControls(false);
5679 MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
5681 AppLog("MainForm::OnFormMenuRequested called");
5683 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer && __pWebViewer->GetShowState() == true)
5685 int bookmarkCount=0;
5688 url=__pWindowInfo->pageUrl;
5689 AppLog("MainForm::OnFormMenuRequested url %ls",url.GetPointer());
5690 result r = E_SUCCESS;
5691 Bitmap* pBitmap = null;
5692 String lastChar = L"";
5693 // if(url.SubString(url.GetLength()-1,lastChar));
5694 // if(lastChar == L"/")
5696 // bool exist1 = false;
5697 // bool exist2 = false;
5698 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist1);
5699 // url.SubString(0,url.GetLength() - 1,url);
5700 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist2);
5701 // exist = exist1 | exist2;
5705 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
5708 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
5714 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
5718 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
5720 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
5722 if (__pOptionMenu->GetItemCount() == 9)
5724 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5728 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5733 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
5737 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
5738 if (__pOptionMenu->GetItemCount() != 9)
5740 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
5741 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
5742 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
5743 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
5744 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
5745 __pOptionMenu->SetMaxVisibleItemsCount(6);
5747 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
5749 AppLog(" Orientation landscape");
5750 __pOptionMenu->SetMaxVisibleItemsCount(5);
5754 AppLog(" Orientation potrait");
5755 __pOptionMenu->SetMaxVisibleItemsCount(6);
5758 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
5761 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
5763 __pAddressbar->SetShowState(false);
5765 __pFooterPanel->SetShowState(true);
5766 result r = __pOptionMenu->SetShowState(true);
5767 AppLog("ajsghd %s",GetErrorMessage(r));
5768 RelayoutControls(false);
5769 __pOptionMenu->Invalidate(true);
5770 __pOptionMenu->Show();