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 if(__isLongPressedDone == false)
3953 AppLog("MainForm::OnWebPageBlockSelected");
3954 if (__pHitElementResult != null)
3956 delete __pHitElementResult;
3957 __pHitElementResult = null;
3960 if (__pWebViewer != null)
3962 AppLog("MainForm::OnWebPageBlockSelected web not null");
3963 __pHitElementResult = __pWebViewer->GetElementByPointN(startPoint);
3965 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
3967 AppLog("datafirst startpoint error %s",GetErrorMessage(GetLastResult()));
3968 __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint);
3969 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
3971 __pHitElementResult = __pWebViewer->GetElementByPointN(__longPressPoint);
3973 AppLog("datafirst endpoint error %s",GetErrorMessage(GetLastResult()));
3977 if (__pHitElementResult == null)
3982 if (__pHitElementResult->HasImage() != true)
3984 String tagName = __pHitElementResult->GetTagName();
3985 String type = __pHitElementResult->GetAttributeValue("type");
3988 AppLog("TagName %ls",tagName.GetPointer());
3989 __currentSelectedStr.Clear();
3990 AppLog("__currentSelectedStr after clear %ls",__currentSelectedStr.GetPointer());
3991 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
3992 AppLog("__currentSelectedStr after GetTextFromBlock %ls",__currentSelectedStr.GetPointer());
3993 if(tagName.Equals(L"TEXTAREA",false) == true)
3995 AppLog("Tagnameseemstobe TEXTAREA");
3997 else if(tagName.Equals(L"INPUT",false) == true)
3999 AppLog("Tagnameseemstobe INPUT");
4002 if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) /*&& __isLongPressedDone == true*/ && __currentSelectedStr.CompareTo(L"") !=0)
4004 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4006 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),true);
4009 __pImageMenu->SetShowState(true);
4010 __pImageMenu->Show();
4011 __pImageMenu->Invalidate(true);
4014 else /*if(__isLongPressedDone == true)*/
4016 AppLog("MainForm::OnWebPageBlockSelected no paste option");
4018 if(__pHitElementResult->GetUrl().GetLength() > 0)
4020 __currentSelectedStr.Clear();
4021 __currentSelectedStr = __pHitElementResult->GetUrl();
4023 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),false);
4026 __pImageMenu->SetShowState(true);
4027 __pImageMenu->Show();
4028 __pImageMenu->Invalidate(true);
4032 AppLog("MainForm::OnWebPageBlockSelected block text is %ls",__currentSelectedStr.GetPointer());
4033 AppLog("MainForm::OnWebPageBlockSelected tag name is %ls",tagName.GetPointer());
4034 AppLog("MainForm::OnWebPageBlockSelected type name is %ls",type.GetPointer());
4040 MainForm::OnWebPageShowRequested(Tizen::Web::Controls::Web& source)
4046 MainForm::OnWebWindowCreateRequested(void)
4048 AppLog("MainForm::OnWebWindowCreateRequested entered");
4049 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4051 if (pNewWindowInfo == null)
4055 result r = E_SUCCESS;
4056 SceneManager* pSceneManager = SceneManager::GetInstance();
4057 if (pSceneManager == NULL)
4061 ArrayList* pArgList = new(std::nothrow) ArrayList();
4062 if (pArgList == NULL)
4066 r = pArgList->Construct();
4069 pNewWindowInfo->isJavascriptInitiated = true;
4070 pArgList->Add(*pNewWindowInfo);
4071 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4075 AppLogDebug("EditHistoryListForm::OnFormBackRequested Failed to GoBackward %s",GetErrorMessage(r));
4082 return pNewWindowInfo->pCurrentWeb;
4086 MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter)
4088 AppLog("xyz:: MainForm::RelayoutControls called");
4089 __webControlPosition.y = 0;
4090 __webControlHeight = GetClientAreaBounds().height;
4091 AppLog("Client area height: %d", __webControlHeight);
4093 AppLog("Client area height: %d", __webControlHeight);
4094 if(__pAddressbar != null && __pAddressbar->GetShowState() == true)
4096 __webControlPosition.y += __pAddressbar->GetHeight();
4097 __webControlHeight -= __pAddressbar->GetHeight();
4098 __pAddressbar->SetBounds(0, 0, __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
4100 else if(__pFindWordControl != null && __pFindWordControl->GetShowState() == true)
4102 __webControlPosition.y += __pFindWordControl->GetHeight();
4103 __webControlHeight -= __pFindWordControl->GetHeight();
4104 __pFindWordControl->SetBounds(0, 0, GetClientAreaBounds().width, __pFindWordControl->GetHeight());
4107 if(__pFooterPanel != null && __pFooterPanel->GetShowState() == true && relayoutFooter == true)
4109 __webControlHeight -= __pFooterPanel->GetHeight();
4111 __pFooterPanel->SetBounds(0, __webControlPosition.y + __webControlHeight, GetClientAreaBounds().width, __pFooterPanel->GetHeight());
4113 if (__pWebViewer != null && __pWebViewer->GetShowState() == true)
4115 if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight + 12 )
4120 __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight + 12);
4121 AppLog("xyz:: MainForm::RelayoutControls called __webControlHeight %d",__webControlHeight);
4122 __pWebViewer->Invalidate(false);
4125 if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null)
4127 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__webControlPosition.y , GetClientAreaBounds().width, __webControlHeight));
4134 MainForm::ShowFindWordPanel(bool show , bool isTouchPressed)
4136 if (__pFindWordControl == null)
4141 Tizen::Locales::LocaleManager localeManager;
4142 Tizen::Locales::Locale local = localeManager.GetSystemLocale();
4144 String languageCode;
4145 result r = SettingInfo::GetValue(L"Language", languageCode);
4146 // int languagecode = local.GetLanguageCode();
4147 AppLog("rahul language is %S", languageCode.GetPointer());
4151 InitFindWordPanel();
4153 if (languageCode.CompareTo("ara") == 0)
4155 AppLog("rahul language is arabic");
4157 __pFindWordPanelLeftToRight->SetShowState(false);
4158 __pFindWordPanelRightToLeft->SetShowState(true);
4160 __pFindWordClear->SetShowState(false);
4161 __pFindWordCountLabel->SetShowState(false);
4162 __pFindWordEditField->SetShowState(false);
4164 __pFindWordClearRightToLeft->SetShowState(true);
4165 __pFindWordCountLabelRightToLeft->SetShowState(true);
4166 __pFindWordEditFieldRightToLeft->SetShowState(true);
4170 AppLog("rahul language is not arabic");
4173 __pFindWordPanelLeftToRight->SetShowState(true);
4174 __pFindWordPanelRightToLeft->SetShowState(false);
4176 __pFindWordClear->SetShowState(true);
4177 __pFindWordCountLabel->SetShowState(true);
4178 __pFindWordEditField->SetShowState(true);
4180 __pFindWordClearRightToLeft->SetShowState(false);
4181 __pFindWordCountLabelRightToLeft->SetShowState(false);
4182 __pFindWordEditFieldRightToLeft->SetShowState(false);
4184 __pFindWordControl->SetShowState(true);
4188 if(__pFindWordControl != null)
4190 __pFindWordControl->SetShowState(false);
4194 AppLog("MainForm::ShowFindWordPanel %d",show);
4195 if (show && !isTouchPressed)
4197 if (languageCode.CompareTo("ara") == 0)
4199 if (__pFindWordEditFieldRightToLeft)
4201 __pFindWordEditFieldRightToLeft->SetFocus();
4202 __pFindWordEditFieldRightToLeft->ShowKeypad();
4207 if (__pFindWordEditField)
4209 __pFindWordEditField->SetFocus();
4210 __pFindWordEditField->ShowKeypad();
4216 if (languageCode.CompareTo("ara") == 0)
4218 if (__pFindWordEditFieldRightToLeft)
4219 __pFindWordEditFieldRightToLeft->HideKeypad();
4223 if (__pFindWordEditField)
4224 __pFindWordEditField->HideKeypad();
4228 RelayoutControls(false);
4232 MainForm::StartWordSearch()
4234 //Get the count of occurances of the word in the current page
4235 __maxOccurrances = 0;
4236 __currentWordIndex = 0;
4238 __pFindWordPrev->SetEnabled(false);
4239 String *pCountStr = null;
4240 result r = __pWebViewer->SearchTextAllAsync(__currentSearchStr, false);
4241 AppLog("Search Result %s",GetErrorMessage(r));
4242 /*__pWebViewer->EvaluateJavascriptN(L"document.body.textContent.match(/" + __currentSearchStr + "/gi).length;");
4243 if (pCountStr != null)
4245 Integer::Parse(*pCountStr, 10, __maxOccurrances);
4249 AppLogDebug("'%ls' is found %d times", __currentSearchStr.GetPointer(), __maxOccurrances);
4254 void MainForm::OnTextFound(int totalCount, int currentOrdinal)
4256 AppLog("MainForm::OnTextFound totalCount %d",totalCount);
4257 AppLog("MainForm::OnTextFound currentOrdinal %d",currentOrdinal);
4259 if(totalCount == -1 || totalCount == 0)
4261 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
4262 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
4265 else if(totalCount > 100)
4267 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4268 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4272 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4273 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4276 __maxOccurrances = totalCount;
4277 __currentWordIndex = currentOrdinal;
4279 //Reset the UI controls as per the maxOccurrance value
4280 if (totalCount <= 0)
4282 AppLog("Word not found");
4283 //Show error notification to user
4284 __pFindWordNext->SetEnabled(false);
4285 if(__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4287 __pFindWordCountLabel->SetText(L"0/0");
4288 __pFindWordCountLabel->Invalidate(false);
4290 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4292 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4293 __pFindWordCountLabelRightToLeft->Invalidate(false);
4295 __pFindWordNext->Invalidate(false);
4296 __pFindWordPrev->Invalidate(false);
4301 if (totalCount == 1)
4303 __pFindWordNext->SetEnabled(false);
4307 __pFindWordNext->SetEnabled(true);
4310 String countStr = L"";
4311 countStr.Append(__currentWordIndex);
4312 countStr.Append(L"/");
4313 countStr.Append(__maxOccurrances);
4314 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4316 __pFindWordCountLabel->SetText(countStr);
4317 __pFindWordCountLabel->Invalidate(false);
4318 __pFindWordCountLabel->Invalidate(false);
4320 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4322 __pFindWordCountLabelRightToLeft->SetText(countStr);
4323 __pFindWordCountLabelRightToLeft->Invalidate(false);
4324 __pFindWordCountLabelRightToLeft->Invalidate(false);
4326 //FindNextWord(true);
4327 //Update the controls
4328 __pFindWordNext->Invalidate(false);
4329 __pFindWordPrev->Invalidate(false);
4334 MainForm::FindNextWord(bool next)
4338 //if (__pWebViewer->SearchText(__currentSearchStr, true) == true)
4339 if (__pWebViewer->SearchNextAsync(true) == E_SUCCESS)
4341 if (__currentWordIndex < __maxOccurrances)
4343 __currentWordIndex++;
4349 //if (__pWebViewer->SearchText(__currentSearchStr, false) == true)
4350 if (__pWebViewer->SearchNextAsync(false) == E_SUCCESS)
4352 if(__currentWordIndex > 1)
4354 __currentWordIndex--;
4359 String countStr = L"";
4360 countStr.Append(__currentWordIndex);
4361 countStr.Append(L"/");
4362 countStr.Append(__maxOccurrances);
4364 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4366 __pFindWordCountLabel->SetText(countStr);
4367 __pFindWordCountLabel->Invalidate(false);
4369 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4371 __pFindWordCountLabelRightToLeft->SetText(countStr);
4372 __pFindWordCountLabelRightToLeft->Invalidate(false);
4375 if (__currentWordIndex >= __maxOccurrances)
4377 __pFindWordNext->SetEnabled(false);
4381 __pFindWordNext->SetEnabled(true);
4383 if (__currentWordIndex <= 1)
4385 __pFindWordPrev->SetEnabled(false);
4389 __pFindWordPrev->SetEnabled(true);
4391 __pFindWordPrev->Invalidate(false);
4392 __pFindWordNext->Invalidate(false);
4394 __pFindWordControl->Invalidate(true);
4398 MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
4400 AppLog("xyz::MainForm::OnWebKeypadWillOpen");
4401 __isKeypadOpened = true;
4402 __pFooterPanel->SetShowState(false);
4403 // OnAddressBarKeypadOpened(*__pAddressbar);
4407 MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source)
4409 __isKeypadOpened = true;
4410 AppLog("xyz::MainForm::OnWebKeypadOpened");
4412 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4414 __currentSearchStr = L"";
4415 __currentWordIndex = 0;
4416 __maxOccurrances = 0;
4417 __pFindWordEditField->SetText(L"");
4418 __pFindWordNext->SetEnabled(false);
4419 __pFindWordPrev->SetEnabled(false);
4420 __pFindWordCountLabel->SetText(L"0/0");
4421 __pWebViewer->SearchTextAllAsync(L"",false);
4422 __pFindWordControl->SetShowState(false);
4423 __pFindWordEditField->HideKeypad();
4427 if (__pWebViewer != null && __pFooterPanel != null)
4429 AppLog("MainForm::OnWebKeypadOpened GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
4430 if(__pAddressbar != null)
4432 __pAddressbar->SetShowState(false);
4434 if(__pFindWordControl != null)
4436 __pFindWordControl->SetShowState(false);
4438 __pFooterPanel->SetShowState(false);
4439 __pWebViewer->SetBounds(Rectangle(0, 0,GetClientAreaBounds().width, GetClientAreaBounds().height));
4441 // if(__pImageMenu && __pImageMenu->GetShowState() == true)
4443 // __pImageMenu->SetAnchorPosition(Point(__pImageMenu->GetAnchorPosition().x/2,__pImageMenu->GetAnchorPosition().y/2));
4444 // AppLog("omgomgomg");
4450 MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source)
4452 AppLog("xyz::MainForm::OnWebKeypadClosed");
4453 AppLog("akjshdasd 4");
4454 __pFooterPanel->SetShowState(true);
4455 // OnAddressBarKeypadClosed(*__pAddressbar);
4456 RelayoutControls(false);
4457 __isKeypadOpened = false;
4461 MainForm::OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source)
4463 // RelativeLayout(false);
4464 if(__pWebViewer != null)
4466 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,GetClientAreaBounds().height));
4471 MainForm::OnTouchDoublePressed(const Control& source, const Point& currentPosition, const TouchEventInfo& touchInfo)
4473 Control* temp = const_cast< Control* >(&source);
4474 Header* pHeader = dynamic_cast< Header* >(temp);
4475 if (pHeader != null)
4477 //Header double - clicked
4478 AppLog("Header double clicked");
4480 if(__pFindWordControl)
4482 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
4483 ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
4487 AppLog("MainScene::OnTouchDoublePressed");
4491 void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4493 AppLog("abcde::MainForm::OnTouchLongPressed %d, %d" ,currentPosition.x,currentPosition.y);
4494 if(TouchEventManager::GetInstance()->GetTouchInfoListN()->GetCount() >1)
4496 AppLog("Returning because of more than one touch point.");
4499 __longPressPoint = currentPosition;
4501 if (__pHitElementResult != null)
4503 delete __pHitElementResult;
4504 __pHitElementResult = null;
4507 if (__pWebViewer != null)
4509 AppLog("MainForm::OnTouchLongPressed web not null");
4510 __pHitElementResult = __pWebViewer->GetElementByPointN(currentPosition);
4513 if (__pHitElementResult == null)
4518 if (__pHitElementResult->HasImage() == true)
4520 if(__pWebViewer != null)
4521 InitImageContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4522 __pImageMenu->SetShowState(true);
4523 __pImageMenu->Show();
4524 __pImageMenu->Invalidate(true);
4526 else if(__pHitElementResult->HasUrl() == true)
4528 String tempURl = __pHitElementResult->GetUrl();
4529 AppLog("tempURl is %ls", tempURl.GetPointer());
4530 const Bitmap* pBitmap = __pHitElementResult->GetImage();
4531 if (pBitmap != null)
4539 InitImageLinkContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4540 __pImageMenu->SetShowState(true);
4541 __pImageMenu->Show();
4542 __pImageMenu->Invalidate(true);
4546 String tagName = __pHitElementResult->GetTagName();
4547 String type = __pHitElementResult->GetAttributeValue("type");
4548 String value = __pHitElementResult->GetAttributeValue(L"value");
4549 String innerHtml = __pHitElementResult->GetAttributeValue(L"innerHTML");
4551 __currentSelectedStr.Clear();
4552 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4554 AppLog("tag name is %ls", tagName.GetPointer());
4555 AppLog("type is %ls", type.GetPointer());
4559 __isLongPressedDone = true;
4560 result r =__pWebViewer->SetBlockSelectionPosition(currentPosition);
4561 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)
4563 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4565 InitSelectTextContextMenu(Point(currentPosition.x , currentPosition.y + __pWebViewer->GetY()),true, true);
4568 __pImageMenu->SetShowState(true);
4569 __pImageMenu->Show();
4570 __pImageMenu->Invalidate(true);
4573 AppLog("setselectionselectedornot %s",GetErrorMessage(r));
4576 // __inputEventToBeSupressed = true;
4580 MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4582 AppLog("xyz:: MainForm::OnTouchReleased called");
4584 if (__pAddressbar && __pAddressbar->GetShowState() == true)
4586 __pAddressbar->SetShowState(false);
4588 if(__pFooterPanel && __isKeypadOpened == false)
4590 __pFooterPanel->SetShowState(true);
4594 /*HitElementResult* pHitElement = __pWebViewer->GetElementByPointN(currentPosition);
4595 if(pHitElement != null && pHitElement->HasUrl() == true && __inputEventToBeSupressed == true)
4597 __pWebViewer->ConsumeInputEvent();
4599 if(pHitElement != null)
4603 __inputEventToBeSupressed = false;*/
4607 MainForm::OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4614 MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4616 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4618 __currentSearchStr = L"";
4619 __currentWordIndex = 0;
4620 __maxOccurrances = 0;
4622 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
4624 __pFindWordEditField->SetText(L"");
4625 __pFindWordEditField->HideKeypad();
4626 __pFindWordControl->SetShowState(false);
4627 __pFindWordCountLabel->SetText(L"0/0");
4629 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
4631 __pFindWordEditFieldRightToLeft->SetText(L"");
4632 __pFindWordEditFieldRightToLeft->HideKeypad();
4633 __pFindWordControl->SetShowState(false);
4634 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4637 __pFindWordNext->SetEnabled(false);
4638 __pFindWordPrev->SetEnabled(false);
4640 __pWebViewer->SearchTextAllAsync(L"",true);
4641 __pFindWordControl->SetShowState(false);
4643 AppLog("__pAddressbar->GetShowState() %d",__pAddressbar->GetShowState());
4644 if(__pAddressbar->GetShowState() == false)
4646 __pAddressbar->SetAddressbarURLFocus();
4647 __pFooterPanel->SetShowState(false);
4654 MainForm::OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4660 MainForm::OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4666 MainForm::OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4672 MainForm::OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4678 MainForm::OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4684 MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
4686 AppLog("MainForm::OnOrientationChanged GetClientAreaBounds %d, %d",GetClientAreaBounds().width,GetClientAreaBounds().height);
4687 int widthContextItem = 0;
4688 if(__pFindWordCountLabel)
4689 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4690 // As per the platform engineer comment removed this line
4691 /*if(__pWebViewer != null)
4693 // 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
4694 __pWebViewer->ReleaseBlock();
4697 // if(__pFindWordControl != null)
4698 // ShowFindWordPanel(__pFindWordControl->GetShowState(), false);
4700 if(__pOptionMenu && __pOptionMenu->GetShowState() == true)
4702 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4704 AppLog(" Orientation landscape");
4705 __pOptionMenu->SetMaxVisibleItemsCount(5);
4709 AppLog(" Orientation potrait");
4710 __pOptionMenu->SetMaxVisibleItemsCount(6);
4713 if(__pNotification && __pNotification->GetShowState() == true)
4715 __pNotification->SetShowState(false);
4716 __pNotification->Invalidate(false);
4718 if ( __pFooterLabel != null)
4720 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
4723 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
4729 if (__pFindWordBgLabel != null)
4731 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
4732 if (pBitmap != null)
4734 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
4739 if (__pFindWordBgLabelRightToLeft != null)
4741 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
4742 if (pBitmap != null)
4744 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
4750 // if(__pOptionMenu != null)
4751 // __pOptionMenu->SetShowState(false);
4753 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4755 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE;
4759 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT;
4764 AppLog("__pFooterPanel->GetShowState() is true");
4766 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), __pFooterPanel->GetWidth(), __pFooterPanel->GetHeight());
4767 __pFooterPanel->Invalidate(true);
4771 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
4772 if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
4774 InitMostVisitedSitesView(orientationStatus);
4777 RelayoutControls(false);
4778 if (__pArticleReaderPanel != null)
4780 if (__pArticleReaderPanel->GetShowState() == true)
4782 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
4784 if (__pBlankPanel != null)
4785 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
4787 if (__pWebReader != null)
4789 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight() - 96));
4791 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
4792 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
4794 if ( pBitmap != null && pSrcBitmap != null)
4796 AppLog("CreateReaderPanel ninepatchbitmap found");
4797 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
4800 __pArticleReaderLabel->SetBounds(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()));
4801 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
4802 if (pBitmap != null)
4807 if (pSrcBitmap != null)
4816 if (__pAddressbar != null)
4818 int width = GetClientAreaBounds().width;
4819 __pAddressbar->OrientationChanged(width);
4824 MainForm::OnSettingsChange(int settingvalue)
4826 AppLogDebug("MainForm::OnSettingsChange entered");
4828 if(settingvalue == (int)REGISTRY_SETTING_HOMEPAGE)
4830 __pAddressbar->ResetGuideText();
4832 if (__pWebViewer == null)
4834 AppLogDebug("Webviewer is not initialized yet.");
4838 if (settingvalue == (int) REGISTRY_SETTING_DEFAULT_VIEW)
4840 WebSetting settings = __pWebViewer->GetSetting();
4841 if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_FIT_TO_WIDTH")) == 0)
4843 settings.SetAutoFittingEnabled(true);
4845 else if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_READABLE")) == 0)
4847 settings.SetAutoFittingEnabled(false);
4849 __pWebViewer->SetSetting(settings);
4851 else if (settingvalue == (int) REGISTRY_SETTING_RUN_JAVASCRIPT)
4853 WebSetting settings = __pWebViewer->GetSetting();
4854 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
4855 __pWebViewer->SetSetting(settings);
4857 else if (settingvalue == (int) REGISTRY_SETTING_DISPLAY_IMAGES)
4859 WebSetting settings = __pWebViewer->GetSetting();
4860 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
4861 __pWebViewer->SetSetting(settings);
4862 __pWebViewer->Reload();
4864 else if (settingvalue == (int) REGISTRY_SETTING_BLOCK_POPUP)
4866 WebSetting settings = __pWebViewer->GetSetting();
4867 settings.SetJavaScriptPopupEnabled(SettingPresentationModel::GetInstance()->IsBlockPopUp());
4868 __pWebViewer->SetSetting(settings);
4870 else if (settingvalue == (int) REGISTRY_SETTING_ACCEPT_COOKIES)
4874 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
4877 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_FORM_DATA)
4881 WebSetting settings = __pWebViewer->GetSetting();
4882 settings.SetAutoFormDataShowEnabled(SettingPresentationModel::GetInstance()->IsRememberFormData());
4883 __pWebViewer->SetSetting(settings);
4886 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_PASSWORD)
4890 WebSetting settings = __pWebViewer->GetSetting();
4891 settings.SetAutoLoginFormFillEnabled(SettingPresentationModel::GetInstance()->IsRememberPassword());
4892 __pWebViewer->SetSetting(settings);
4895 else if (settingvalue == (int) REGISTRY_SETTING_SHOW_SECURITY_WARNINGS)
4897 WebSetting settings = __pWebViewer->GetSetting();
4898 if (SettingPresentationModel::GetInstance()->IsSecurityWarningsEnabled() == true)
4900 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_USER_CONFIRM);
4904 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_CONTINUE);
4906 __pWebViewer->SetSetting(settings);
4908 else if (settingvalue == (int) REGISTRY_SETTING_READER_FONT_SIZE)
4912 AppLogDebug("IntMainForm fontsize Changed to %d",SettingPresentationModel::GetInstance()->GetReaderFontSize());
4913 WebSetting settings = __pWebReader->GetSetting();
4914 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
4915 __pWebReader->SetSetting(settings);
4921 MainForm::OnSettingsReset()
4925 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
4926 __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
4931 MainForm::OnClearCache()
4933 result r = E_SUCCESS;
4935 if (__pWebViewer != NULL)
4937 r = __pWebViewer->ClearCache();
4940 AppLogDebug("Cache cleared success");
4944 AppLogDebug("Cache cleared fail");
4950 MainForm::OnClearCookie()
4952 result r = E_SUCCESS;
4954 if (__pWebViewer != NULL)
4956 __pWebViewer->ClearCookie();
4960 AppLogDebug("Cookie cleared success");
4964 AppLogDebug("Cache cleared fail");
4969 MainForm::OnClearFormData()
4971 result r = E_SUCCESS;
4973 if (__pWebViewer != NULL)
4975 __pWebViewer->ClearFormData();
4979 AppLogDebug("Cookie cleared success");
4983 AppLogDebug("Cache cleared fail");
4988 MainForm::OnClearPasswords()
4990 result r = E_SUCCESS;
4992 if (__pWebViewer != NULL)
4994 __pWebViewer->ClearLoginFormData();
4998 AppLogDebug("Cookie cleared success");
5002 AppLogDebug("Cache cleared fail");
5008 MainForm::findDistance(int x1,int y1,int x2, int y2)
5010 int deltaX = Math::Abs(x2 - x1);
5011 int deltaY = Math::Abs(y2 - y1);
5012 double num = deltaX*deltaX + deltaY*deltaY;
5018 for (i = 0; i < 20; i++)
5020 x = (((x*x)+ num)/(2*x));
5031 MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5033 AppLog("xyz:: MainForm::OnTouchPressed called");
5034 if(__pFindWordControl)
5036 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
5037 // ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
5039 __isLongPressedDone = false;
5044 IList* pList = null;
5045 pList = touch.GetTouchInfoListN(source);
5049 int count = pList->GetCount();
5052 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5053 __touchPoint1 = pTouchInfo->position;
5055 /*if (__pAddressbar != null)
5057 if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && __pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5059 if (__pAddressbar->GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5061 __pAddressbar->SaveAddressbarEditText();
5063 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5066 __pAddressbar->Invalidate(true);
5068 if (GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5070 if (GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5072 //__pAddressbar->SaveAddressbarEditText();
5074 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5077 else if (count == 2)
5079 AppLogDebug("MainForm::OnTouchPressed count is two");
5080 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5081 __touchPoint1 = pTouchInfo->position;
5083 pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(1));
5084 __touchPoint2 = pTouchInfo->position;
5089 pList->RemoveAll(true);
5094 __pAddressbar->SetShowState(false);
5096 if(__pFooterPanel && __isKeypadOpened == false)
5098 __pFooterPanel->SetShowState(true);
5100 RelayoutControls(false);
5105 MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5107 // __currentWordIndex = 0;
5108 __isLongPressedDone = false;
5113 MainForm::MoveUiControls()
5118 MainForm::OnTextValueChanged (const Tizen::Ui::Control &source)
5120 if(&source == dynamic_cast<Control*>(__pFooterUrlField) && __pFooterUrlField != null)
5122 if(__pFooterUrlField->GetTextLength() == 0)
5124 __pFooterUrlField->SetKeypadActionEnabled(false);
5128 __pFooterUrlField->SetKeypadActionEnabled(true);
5131 if (__pFindWordEditField != null && __pFindWordEditField->GetShowState() == true)
5133 __currentSearchStr = __pFindWordEditField->GetText();
5134 if (__currentSearchStr.GetLength() > 0)
5136 __pFindWordCountLabel->SetShowState(true);
5140 // __pFindWordCountLabel->SetShowState(false);
5141 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
5142 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
5145 __pFindWordNext->SetEnabled(false);
5146 __pFindWordPrev->SetEnabled(false);
5147 __pFindWordNext->Invalidate(true);
5148 __pFindWordPrev->Invalidate(true);
5149 __pFindWordCountLabel->SetText(L"0/0");
5150 __pFindWordCountLabel->Invalidate(true);
5152 else if (__pFindWordEditFieldRightToLeft != null && __pFindWordEditFieldRightToLeft->GetShowState() == true)
5154 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
5155 if (__currentSearchStr.GetLength() > 0)
5157 __pFindWordCountLabelRightToLeft->SetShowState(true);
5161 __pFindWordCountLabelRightToLeft->SetShowState(false);
5164 __pFindWordNext->SetEnabled(false);
5165 __pFindWordPrev->SetEnabled(false);
5166 __pFindWordNext->Invalidate(true);
5167 __pFindWordPrev->Invalidate(true);
5168 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
5169 __pFindWordCountLabelRightToLeft->Invalidate(true);
5171 AppLog("__currentSearchStr %ls",__currentSearchStr.GetPointer());
5172 if (__currentSearchStr.GetLength() > 0)
5178 __currentSearchStr = L"aaaaaaaabbbbbbbccccccc";
5180 __currentSearchStr = L"";
5181 AppLogDebug("Enter something");
5186 MainForm::InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus)
5193 MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus)
5195 if(__pWebViewer != null)
5198 AppLog("MainForm::InitMostVisitedSitesView");
5199 result r = E_SUCCESS;
5202 if (__pWebViewer != null && __pMostVisitedListView != null)
5207 if (__pMostVisitedListView != null)
5209 RemoveControl(__pMostVisitedListView);
5211 if(__pMostVisitedSites != null)
5213 __pMostVisitedSites->RemoveAll(true);
5216 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
5218 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
5219 __pMostVisitedListView = new(std::nothrow) ListView();
5221 int height = GetClientAreaBounds().height;
5223 if(__pFooterPanel->GetShowState() == true)
5225 height = height - __pFooterPanel->GetHeight();
5227 if(__pAddressbar->GetShowState() == true)
5229 height -= __pAddressbar->GetHeight();
5232 r = __pMostVisitedListView->Construct(Tizen::Graphics::Rectangle(0,0 , GetClientAreaBounds().width, height),true,false);
5236 delete __pMostVisitedListView;
5237 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
5240 __pMostVisitedListView->SetItemProvider(*this);
5241 __pMostVisitedListView->AddListViewItemEventListener(*this);
5242 __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_VISITED_SITES"));
5243 AddControl(__pMostVisitedListView);
5244 __pMostVisitedListView->UpdateList();
5251 MainForm::GetImagePath(void)
5255 String formattedTime;
5256 DateTime currentTime;
5257 LocaleManager localManager;
5258 SystemTime::GetCurrentTime(TIME_MODE_WALL, currentTime);
5260 localManager.Construct();
5261 Locale locale = localManager.GetSystemLocale();
5262 //Locale locale(LANGUAGE_ENG, COUNTRY_US);
5264 // Get date formatter
5265 DateTimeFormatter* pTimeFormatter = DateTimeFormatter::CreateDateTimeFormatterN(locale, DATE_TIME_STYLE_DEFAULT);
5269 pTimeFormatter->Format(currentTime, formattedTime);
5272 AppLog("current time stamp is %ls", formattedTime.GetPointer());
5273 String delim(L" :");
5274 StringTokenizer strTok(formattedTime, delim);
5277 String str1("GMT+00");
5278 while (strTok.HasMoreTokens())
5280 strTok.GetNextToken(token); // Osp, StringTokenizer, Sample, code
5281 if(token.Equals(str1))
5283 AppLog("token is %ls", token.GetPointer());
5284 imageName.Append(token);
5290 void MainForm::UpdateImageContent(ByteBuffer* aBuffer, String imageName)
5292 result r = E_FAILURE;
5293 AppLog("Content manager 1");
5294 ContentId contentId;
5295 ContentManager contentManager;
5296 r = contentManager.Construct();
5299 AppLog("Content manager update content result %s" ,GetErrorMessage(r));
5302 Tizen::Base::String contentPath = Tizen::System::Environment::GetMediaPath() + L"Downloads/";
5303 Tizen::Io::Directory::Create(contentPath,true);
5304 if(GetLastResult() == E_FILE_ALREADY_EXIST)
5306 AppLog("Already exists");
5308 else if(GetLastResult() == E_SUCCESS)
5310 AppLog("created success");
5312 contentPath.Append(imageName);
5313 contentPath.Append(".jpg");
5314 contentId = contentManager.CreateContent(*aBuffer, contentPath);
5315 ShowIndicatorNotification(L"Download Complete",contentPath);
5316 AppLog("Content manager update content result %s" ,GetErrorMessage(GetLastResult()));
5320 MainForm::ShowIndicatorNotification(const String& messageText, const String& contentPath)
5322 AppLogDebug("ENTER");
5324 NotificationRequest request;
5325 request.SetAlertText(messageText);
5326 request.SetTitleText(L"");
5327 request.SetAppMessage(contentPath);
5328 request.SetOngoingActivityType(ONGOING_ACTIVITY_TYPE_TEXT);
5329 request.SetNotificationStyle(NOTIFICATION_STYLE_THUMBNAIL);
5330 Tizen::App::App* pApp = Tizen::App::App::GetInstance();
5331 String homePath = pApp->GetAppRootPath();
5332 String iconPath = homePath + L"res/screen-density-xhigh/Notification_download_complete.png";
5333 AppLog("The iconPath is : %ls", homePath.GetPointer());
5334 request.SetIconFilePath(iconPath);
5336 Tizen::Shell::NotificationManager notiMgr;
5337 notiMgr.Construct();
5338 notiMgr.NotifyOngoingActivity(request);
5339 AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult()));
5344 MainForm::SetForwardButtonEnabled(bool isEnabled)
5346 __pGoForwardBtn->SetEnabled(isEnabled);
5347 __pGoForwardBtn->Invalidate(true);
5351 MainForm::SetBackButtonEnabled(bool isEnabled)
5353 __pGoBackBtn->SetEnabled(isEnabled);
5354 __pGoBackBtn->Invalidate(true);
5358 MainForm::UpdateProgress(int percentage)
5360 __progressPercentage = percentage;
5361 if (percentage == 0 || percentage == 100)
5363 __isLoadingData = false;
5364 if (percentage == 100)
5366 __isLoadingCompleted = true;
5367 __progressPercentage = 0;
5371 __isLoadingCompleted = false;
5376 __isLoadingData = true;
5378 UpdateProgressBitmap();
5382 MainForm::GetProgress(void)
5384 return __progressPercentage;
5388 MainForm::UpdateProgressBitmap(void)
5390 result r = E_SUCCESS;
5391 if (__pProgressbarLabel == null)
5393 int w = __pProgressbarLabel->GetWidth();
5394 int h = __pProgressbarLabel->GetHeight();
5396 int progressWidth = 0;
5397 Bitmap* pRetBitmap = null;
5399 if (__progressPercentage == 0 || __progressPercentage == 100)
5401 __pProgressbarLabel->SetShowState(false);
5402 __pProgressbarLabel->Invalidate(false);
5407 __pProgressbarLabel->SetShowState(true);
5408 __pProgressbarLabel->Invalidate(false);
5411 r = canvas.Construct(Rectangle(0, 0, w, h));
5415 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
5420 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
5424 pBgBmp->Scale(Dimension(w, h));
5425 canvas.DrawBitmap(Point(0,0), *pBgBmp);
5429 progressWidth = (double) (w) * __progressPercentage / 100;
5430 AppLogDebug("progressWidth: %d", progressWidth);
5431 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
5433 if (pProgressBmp != null)
5435 pProgressBmp->Scale(Dimension(progressWidth, h));
5436 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
5437 delete pProgressBmp;
5440 pRetBitmap = new (std::nothrow) Bitmap();
5442 if (pRetBitmap == null)
5444 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
5448 pRetBitmap->Construct(canvas, canvas.GetBounds());
5450 if (__pProgressbarLabel != null && pRetBitmap != null)
5452 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
5453 __pProgressbarLabel->Invalidate(false);
5456 if (pRetBitmap != null)
5465 MainForm::ReaderClicked()
5467 result r = E_SUCCESS;
5468 ArrayList* pArgList = new(std::nothrow) ArrayList();
5469 if (pArgList != null)
5471 r = pArgList->Construct();
5478 r = pArgList->Add(*new(std::nothrow) String(*__pReaderData));
5485 r = pArgList->Add(*new(std::nothrow) String(__pWebViewer->GetUrl()));
5492 r = pArgList->Add(*new(std::nothrow) String(__pWindowInfo->pageTitle));
5500 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ARTICLE_READER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
5506 void MainForm::SetAddressbarMode(AddressBarMode addMode)
5508 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
5510 __currentAddMode = addMode;
5514 case ADDRESSBAR_MODE_INVALID:
5519 case ADDRESSBAR_MODE_READER:
5521 __pStopBtn->SetShowState(false);
5522 __pRefreshBtn->SetShowState(false);
5523 __pClearBtn->SetShowState(false);
5524 __pReaderBtn->SetShowState(false);
5527 case ADDRESSBAR_MODE_LOADING:
5529 __pRefreshBtn->SetShowState(false);
5530 __pStopBtn->SetShowState(true);
5531 __pClearBtn->SetShowState(false);
5532 __pReaderBtn->SetShowState(false);
5535 case ADDRESSBAR_MODE_LOADING_COMPLETE:
5537 // SetUrl(__pAddressbar->GetUrl());
5539 __pRefreshBtn->SetShowState(true);
5540 __pStopBtn->SetShowState(false);
5541 __pClearBtn->SetShowState(false);
5542 __pReaderBtn->SetShowState(false);
5545 case ADDRESSBAR_MODE_EDIT:
5547 __pRefreshBtn->SetShowState(false);
5548 __pStopBtn->SetShowState(false);
5549 __pReaderBtn->SetShowState(false);
5550 __pClearBtn->SetShowState(true);
5557 OnAddressBarModeChanged();
5560 AddressBarMode MainForm::GetAddressbarMode(void)
5562 return __currentAddMode;
5565 void MainForm::SetUrl(const String& url)
5568 if(__displayUrl.GetLength() > 2048)
5569 __displayUrl.SubString(0,2048,__displayUrl);
5571 if (__pFooterUrlField != NULL)
5573 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
5574 if (removedHttpUrl.IsEmpty() == false)
5576 __pFooterUrlField->SetText(removedHttpUrl);
5577 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5578 __pAddressbar->SetUrl(__displayUrl);
5582 __pFooterUrlField->SetText(__displayUrl);
5583 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5584 __pAddressbar->SetUrl(__displayUrl);
5586 if(__pFooterUrlField)
5587 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
5588 __pFooterUrlField->Invalidate(false);
5589 if(__pAddressbar != NULL && __pAddressbar->HasFocus())
5590 __pAddressbar->Invalidate(true);
5591 // __pFooterUrlField->SetCursorPosition(0);
5596 MainForm::RemoveHttpTextFromDisplayURL(void)
5598 AppLog("MainForm::RemoveHttpTextFromDisplayURL __displayUrl %ls",__displayUrl.GetPointer());
5600 // bool isHttpText = __displayUrl.Contains(L"http://");
5601 String updatedDisplayUrl;
5602 updatedDisplayUrl.Clear();
5603 if(__displayUrl.IndexOf(L"http://",0,index) == E_SUCCESS && index == 0)
5605 __displayUrl.SubString(7,updatedDisplayUrl);
5607 else if(__displayUrl.IndexOf(L"https://",0,index) == E_SUCCESS && index == 0)
5609 __displayUrl.SubString(8,updatedDisplayUrl);
5611 return updatedDisplayUrl;
5614 void MainForm::OnSharePopupControlStarted(void)
5616 __pWebViewer->AddTouchEventListener(*this);
5620 MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
5622 if (requestId == BACK_GROUND_APP_EVENT)
5624 if(__pWebViewer != null)
5626 __pWebViewer->Pause();
5630 __pImageMenu->SetShowState(false);
5632 if(__pAddressbar != null)
5634 __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL);
5637 else if(requestId == FORE_GROUND_APP_EVENT)
5639 if(__pWebViewer != null)
5641 __pWebViewer->Resume();
5643 if(__pAddressbar != null)
5645 __pAddressbar->SendUserEvent(FORE_GROUND_APP_EVENT,NULL);
5651 MainForm::AddressBarCancelledClicked(const Addressbar& addBar)
5653 AppLog("XYZ::MainForm::AddressBarCancelledClicked");
5654 result r = E_SUCCESS;
5657 __pAddressbar->SetShowState(false);
5659 AppLog("akjshdasd 5");
5660 __pFooterPanel->SetShowState(true);
5663 __pWebViewer->SetFocus();
5664 else if(__pMostVisitedListView)
5665 __pMostVisitedListView->SetFocus();
5666 else if(__pMultiWindowButton)
5667 __pMultiWindowButton->SetFocus();
5668 else if(__pMoreButton)
5669 __pMoreButton->SetFocus();
5671 __pAddressbar->SetShowState(false);
5673 RelayoutControls(false);
5677 MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
5679 AppLog("MainForm::OnFormMenuRequested called");
5681 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer && __pWebViewer->GetShowState() == true)
5683 int bookmarkCount=0;
5686 url=__pWindowInfo->pageUrl;
5687 AppLog("MainForm::OnFormMenuRequested url %ls",url.GetPointer());
5688 result r = E_SUCCESS;
5689 Bitmap* pBitmap = null;
5690 String lastChar = L"";
5691 // if(url.SubString(url.GetLength()-1,lastChar));
5692 // if(lastChar == L"/")
5694 // bool exist1 = false;
5695 // bool exist2 = false;
5696 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist1);
5697 // url.SubString(0,url.GetLength() - 1,url);
5698 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist2);
5699 // exist = exist1 | exist2;
5703 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
5706 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
5712 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
5716 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
5718 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
5720 if (__pOptionMenu->GetItemCount() == 9)
5722 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5726 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5731 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
5735 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
5736 if (__pOptionMenu->GetItemCount() != 9)
5738 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
5739 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
5740 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
5741 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
5742 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
5743 __pOptionMenu->SetMaxVisibleItemsCount(6);
5745 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
5747 AppLog(" Orientation landscape");
5748 __pOptionMenu->SetMaxVisibleItemsCount(5);
5752 AppLog(" Orientation potrait");
5753 __pOptionMenu->SetMaxVisibleItemsCount(6);
5756 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
5759 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
5761 __pAddressbar->SetShowState(false);
5763 __pFooterPanel->SetShowState(true);
5764 result r = __pOptionMenu->SetShowState(true);
5765 AppLog("ajsghd %s",GetErrorMessage(r));
5766 RelayoutControls(false);
5767 __pOptionMenu->Invalidate(true);
5768 __pOptionMenu->Show();