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.#.png";
59 static const wchar_t* IDB_FINDWORD_INPUT_FIELD_BG = L"I01_toolbar_input_field_findword.#.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"00_icon_favorite_off_74x74.png";
72 static const wchar_t* IDB_ICON_BOOKMARK_ON_TEMP = L"00_icon_favorite_on_74x74.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);
491 __pWebViewer->Destroy();
493 AppLogDebug("Web addcontrol failed with %s", GetErrorMessage(r));
496 __webControlPosition = __pWebViewer->GetPosition();
497 r = __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
500 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
504 __pWebViewer->SetLoadingListener(this);
505 __pWebViewer->SetWebUiEventListenerF(this);
506 __pWebViewer->SetWebKeypadEventListener(this);
507 __pWebViewer->SetFocus();
508 __pWebViewer->AddTouchEventListener(*this);
510 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
511 __pWebViewer->SetTextSearchListener(this);
514 AppLogDebug("MainForm :before return");
516 AppLogDebug("MainForm::InitWebControl Exit");
522 MainForm::SetJavascriptEnabled()
524 WebSetting settings = __pWebViewer->GetSetting();
525 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
526 __pWebViewer->SetSetting(settings);
530 MainForm::SetImageLoadEnabled()
532 WebSetting settings = __pWebViewer->GetSetting();
533 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
534 __pWebViewer->SetSetting(settings);
538 MainForm::InitFooter(void)
540 AppLogDebug("MainForm::InitFooter entered");
541 Button* pBackButton = null;
542 Button* pBookmarkButton = null;
543 Button* pMultiWindowButton = null;
544 Bitmap *pIconBitmap = null;
545 Bitmap *pBGBitmap = null;
546 Label *pBGLabel = null;
548 if (__pFooterPanel == null)
550 __pFooterPanel = static_cast< Panel* >(GetControl(L"IDC_FOOTER_PANEL", true));
553 if (__pFooterPanel == null)
558 SetControlAlwaysOnTop(*__pFooterPanel, true);
560 __pFooterLabel = static_cast< Label* >(GetControl(L"IDC_FOOTER_LABEL", true));
561 if ( __pFooterLabel == NULL )
565 //__pFooterPanel->SetBackgroundColor(CUSTOM_COLOR_TRANSPARENT);
566 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
569 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
573 __pMultiWindowButton = static_cast< Button* >(GetControl(L"IDC_MULTIWINDOW_BUTTON", true));
575 if ( __pMultiWindowButton == NULL )
581 SetFormBackEventListener(this);
582 AppLog("SetFormBackEventListener result %s",GetErrorMessage(GetLastResult()));
583 if (__pMultiWindowButton != null)
585 Bitmap* pBitmap = null;
586 Bitmap* pPressedBitmap = null;
587 String imagePath = "I01_toolbar_icon_windows_manager_0";
588 String pressedImagePath = "I01_toolbar_icon_windows_manager_0";
589 int totalCount = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount();
590 imagePath.Append(totalCount);
591 imagePath.Append(".png");
593 pressedImagePath.Append(totalCount);
594 pressedImagePath.Append("_press.png");
596 pBitmap = AppResource::GetInstance()->GetBitmapN(imagePath);
597 pPressedBitmap = AppResource::GetInstance()->GetBitmapN(pressedImagePath);
598 if ( pBitmap == null )
603 Point startPoint = Point((__pMultiWindowButton->GetWidth() - pBitmap->GetWidth())/2,(__pMultiWindowButton->GetHeight() - pBitmap->GetHeight())/2);
606 __pMultiWindowButton->SetNormalBitmap(startPoint, *pBitmap);
607 __pMultiWindowButton->SetPressedBitmap(startPoint, *pPressedBitmap);
612 __pMultiWindowButton->AddActionEventListener(*this);
613 __pMultiWindowButton->SetActionId(IDA_MULTIWINDOWBTN_CLICKED);
616 delete pPressedBitmap;
617 pPressedBitmap = null;
623 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE);
624 Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE_PRESS);
627 Point startPoint((__pMoreButton->GetWidth() - pBitmap->GetWidth())/2,(__pMoreButton->GetHeight() - pBitmap->GetHeight())/2 );
628 __pMoreButton->SetNormalBitmap(startPoint, *pBitmap);
629 __pMoreButton->SetPressedBitmap(startPoint, *pPressedBitmap);
633 __pMoreButton->AddActionEventListener(*this);
634 __pMoreButton->SetActionId(IDA_MOREBTN_CLICKED);
637 //Add the editfield for url
638 __pFooterUrlField = static_cast<EditField*> (GetControl(L"IDC_URL_EDIT_FIELD",true));
639 if (__pFooterUrlField == NULL)
641 return E_INVALID_KEY;
644 __pFooterUrlField->SetOverlayKeypadCommandButtonVisible(false);
645 __pFooterUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
646 __pFooterUrlField->AddKeypadEventListener(*this);
647 __pFooterUrlField->SetPropagatedTouchEventListener(this);
648 __pFooterUrlField->AddFocusEventListener(*this);
650 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
652 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
654 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
656 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_BLANK_PAGE"));
660 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
661 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
665 //Add the go Back Button
666 __pGoBackBtn = static_cast<Button*> (GetControl(L"IDC_PAGEBACK_BUTTON",true));
667 if (__pGoBackBtn == NULL)
669 AppLogDebug("__pGoBackBtn Control not found returning E_INVALID_KEY");
670 return E_INVALID_KEY;
672 __pGoBackBtn->SetActionId(IDA_GO_BACK);
673 __pGoBackBtn->AddActionEventListener(*this);
675 //Add the go forward Button
676 __pGoForwardBtn = static_cast<Button*> (GetControl(L"IDC_PAGEFORWARD_BUTTON",true));
677 if (__pGoForwardBtn == NULL)
679 AppLogDebug("Control not found returning E_INVALID_KEY");
680 return E_INVALID_KEY;
682 __pGoForwardBtn->SetActionId(IDA_GO_FORWARD);
683 __pGoForwardBtn->AddActionEventListener(*this);
684 if (__pWebViewer && __pWebViewer->CanGoForward())
686 SetForwardButtonEnabled(true);
690 SetForwardButtonEnabled(false);
693 __pRefreshBtn = static_cast<Button*> (GetControl(L"IDC_REFRESH_BUTTON",true));
694 if (__pRefreshBtn == NULL)
696 AppLogDebug("Control not found returning E_INVALID_KEY");
697 return E_INVALID_KEY;
700 __pRefreshBtn->SetActionId(IDA_REFRESH_BTN_CLICKED);
701 __pRefreshBtn->AddActionEventListener(*this);
702 __pRefreshBtn->SetShowState(true);
704 //Add the backround label for displaying progressbar
705 __pProgressbarLabel = static_cast<Label*> (GetControl(L"IDC_PROGRESS_BAR_LABEL",true));
706 if (__pProgressbarLabel == NULL)
708 AppLogDebug("__pProgressbarLabel Control not found returning E_INVALID_KEY");
709 return E_INVALID_KEY;
711 __pProgressbarLabel->SetShowState(false);
713 __pStopBtn = static_cast<Button*> (GetControl(L"IDC_STOP_BUTTON",true));
714 if (__pStopBtn == NULL)
716 AppLogDebug("Control not found returning E_INVALID_KEY");
717 return E_INVALID_KEY;
719 __pStopBtn->SetActionId(IDA_STOP_BTN_CLICKED);
720 __pStopBtn->AddActionEventListener(*this);
721 __pStopBtn->SetShowState(false);
723 __pClearBtn = static_cast<Button*> (GetControl(L"IDC_CLEAR_BUTTON",true));
724 if (__pClearBtn == NULL)
726 AppLogDebug("Control not found returning E_INVALID_KEY");
727 return E_INVALID_KEY;
729 __pClearBtn->SetActionId(IDA_CLEAR_URL);
730 __pClearBtn->AddActionEventListener(*this);
731 __pClearBtn->SetShowState(false);
733 __pReaderBtn = static_cast<Button*> (GetControl(L"IDC_READER_BUTTON",true));
734 if (__pReaderBtn == NULL)
736 AppLogDebug("Control not found returning E_INVALID_KEY");
737 return E_INVALID_KEY;
739 __pReaderBtn->SetActionId(IDA_READER_BTN_CLICKED);
740 __pReaderBtn->AddActionEventListener(*this);
741 __pReaderBtn->SetShowState(false);
743 // __pFooterPanel->Invalidate(true);
744 if(__isKeypadOpened == false && __pAddressbar && __pAddressbar->GetShowState() == false)
746 // AppLog("asdasdasdasda");
747 __pFooterPanel->SetShowState(true);
749 else if(__pAddressbar == null)
751 __pFooterPanel->SetShowState(true);
754 __pFooterPanel->SetShowState(false);
756 SetAddressbarMode(GetAddressbarMode());
757 AppLogDebug("MainForm::InitFooter exit");
762 MainForm::InitOptionMenu()
764 result r = E_SUCCESS;
765 bool isPrivateBrowsing = false;
766 Bitmap* pBitmap = null;
768 if (__pOptionMenu != null)
770 __pOptionMenu->SetFocusable(true);
771 __pOptionMenu->Invalidate(true);
775 __pOptionMenu = new(std::nothrow) OptionMenu();
776 r = __pOptionMenu->Construct();
777 TryCatch(!IsFailed(r),,"Contextmenu creation failed with%s",GetErrorMessage(r));
779 __pOptionMenu->SetFocusable(true);
780 isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
783 if (isPrivateBrowsing == true)
785 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
789 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
792 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_BOOKMARK"), IDA_BOOKMARKBTN_CLICKED);
794 if ( pBitmap != NULL)
796 __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"), IDA_PRIVATEON_CLICKED,*pBitmap);
799 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_TAB_HISTORY"), IDA_HISTORY_CLICKED);
800 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_BRIGHTNESS"), IDA_BRIGHTNESS_BTN_CLICKED);
801 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_SETTINGS"), IDA_SETTINGS_CLICKED);
804 __pOptionMenu->SetMaxVisibleItemsCount(6);
805 __pOptionMenu->SetShowState(false);
806 __pOptionMenu->AddActionEventListener(*this);
807 SetControlAlwaysOnTop(*__pOptionMenu, true);
813 result MainForm::InitImageContextMenu(Tizen::Graphics::Point p)
815 result r = E_SUCCESS;
816 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
818 AppLog("MainForm::InitImageContextMenu clicked on image");
819 if (__pImageMenu != null)
824 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
829 __pImageMenu = new (std::nothrow) ContextMenu();
830 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
831 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
833 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_IMAGE"),IDA_COPY_IMAGE_CLICKED);
834 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_VIEW_IMAGE"),IDA_VIEW_IMAGE_CLICKED);
835 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_SAVE_IMAGE_CLICKED);
836 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_IMAGE_CLICKED);
837 __pImageMenu->SetMaxVisibleItemsCount(4);
838 __pImageMenu->AddActionEventListener(*this);
839 SetControlAlwaysOnTop(*__pImageMenu, true);
840 __pImageMenu->SetFocusable(true);
846 MainForm::InitImageLinkContextMenu(Tizen::Graphics::Point p)
848 result r = E_SUCCESS;
849 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
851 AppLog("MainForm::InitImageContextMenu clicked on image");
852 if (__pImageMenu != null)
858 // if(__pAddressbar->GetShowState() == true)
859 // p.y = p.y + __pAddressbar->GetHeight();
860 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
865 __pImageMenu = new (std::nothrow) ContextMenu();
866 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
867 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
869 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_OPEN_IN_NEW_WINDOW"),IDA_HYPERLINK_OPEN_CLICKED);
870 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_LINK_URL"),IDA_HYPERLINK_COPY_LINK_CLICKED);
871 //r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_HYPERLINK_SAVE_IMAGE_CLICKED);
872 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_HYPERLINK_SHARE_IMAGE_CLICKED);
874 __pImageMenu->SetMaxVisibleItemsCount(3);
875 __pImageMenu->AddActionEventListener(*this);
876 SetControlAlwaysOnTop(*__pImageMenu, true);
877 __pImageMenu->SetFocusable(true);
884 MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOption = false)
886 result r = E_SUCCESS;
887 bool clipboardAvailable = true;
888 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
890 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
891 if (__pImageMenu != null)
897 // __pWebViewer->GetBlockRange(p,q);
902 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
906 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
910 Clipboard* pClipboard = Clipboard::GetInstance();
912 if(pClipboard == null)
914 clipboardAvailable = false;
918 // Retrieves a latest item
919 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
923 clipboardAvailable = false;
927 //Gets data from the clipboard item
928 String* pString = dynamic_cast<String*>(pItem->GetData());
932 clipboardAvailable = false;
936 if(clipboardAvailable == false && onlyPasteOption == true)
941 __pImageMenu = new (std::nothrow) ContextMenu();
942 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
943 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
945 if(onlyPasteOption == false)
947 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
949 if ((pasteOption || onlyPasteOption) && clipboardAvailable == true)
951 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
953 if(onlyPasteOption == false)
955 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
956 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
959 __pImageMenu->SetMaxVisibleItemsCount(3);
960 __pImageMenu->AddActionEventListener(*this);
961 SetControlAlwaysOnTop(*__pImageMenu, true);
962 __pImageMenu->SetFocusable(true);
969 MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPasteOption = false)
971 result r = E_SUCCESS;
972 bool clipboardAvailable = true;
973 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
975 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
976 if (__pImageMenu != null)
981 // FloatPoint q(0.0,0.0);
982 // __pWebViewer->GetBlockRange(p,q);
986 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
988 else if(__pWebViewer != null && (p.y > (__pWebViewer->GetHeight() + __pWebViewer->GetY())))
990 p.y = __pWebViewer->GetHeight() + __pWebViewer->GetY();
994 if(GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE )
996 AppLog("asdasdafdsfdgfd");
999 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
1003 Clipboard* pClipboard = Clipboard::GetInstance();
1005 if(pClipboard == null)
1007 clipboardAvailable = false;
1011 // Retrieves a latest item
1012 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
1016 clipboardAvailable = false;
1020 //Gets data from the clipboard item
1021 String* pString = dynamic_cast<String*>(pItem->GetData());
1025 clipboardAvailable = false;
1029 if(clipboardAvailable == false && onlyPasteOption == true)
1033 __pImageMenu = new (std::nothrow) ContextMenu();
1034 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
1035 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
1041 if(onlyPasteOption == false)
1043 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
1045 if ((pasteOption || onlyPasteOption) && clipboardAvailable == true)
1047 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
1049 if(onlyPasteOption == false)
1051 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
1052 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
1055 __pImageMenu->SetMaxVisibleItemsCount(3);
1056 __pImageMenu->AddActionEventListener(*this);
1057 SetControlAlwaysOnTop(*__pImageMenu, true);
1058 __pImageMenu->SetFocusable(true);
1065 MainForm::InitFindWordPanel(void)
1067 result r = E_SUCCESS;
1068 Bitmap *pIconBitmap = null;
1070 if (__pFindWordControl != null)
1072 AppLogDebug("Findword panel already initialized");
1073 if (__pFindWordBgLabel != null)
1075 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1076 if (pBitmap != null)
1078 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
1082 if (__pFindWordBgLabelRightToLeft != null)
1084 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
1085 if (pBitmap != null)
1087 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
1092 __pAddressbar->SetShowState(false);
1094 if(__isKeypadOpened == false)
1095 __pFooterPanel->SetShowState(true);
1099 __pFindWordControl = new (std::nothrow) Panel();
1100 r = __pFindWordControl->Construct(L"IDL_FIND_ON_PAGE");
1103 AppLogException("There is some problem in the xml file. Please check.");
1106 AddControl(__pFindWordControl);
1107 __pFindWordControl->SetBounds(0,0, __pFindWordControl->GetWidth(), __pFindWordControl->GetHeight());
1108 SetControlAlwaysOnTop(*__pFindWordControl,true);
1109 __pFindWordControl->SetShowState(false);
1110 __pFindWordControl->Invalidate(false);
1112 __pFindWordPanelLeftToRight = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1113 __pFindWordPanelLeftToRight->SetShowState(true);
1115 __pFindWordPanelRightToLeft = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL2", true));
1116 __pFindWordPanelRightToLeft->SetShowState(false);
1118 __pFindWordBgLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL1", true));
1119 if (__pFindWordBgLabel != null)
1121 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1122 Rectangle pRect = pPanel1->GetBounds();
1123 pRect.x = pRect.y = 0;
1124 __pFindWordBgLabel->SetBounds(pRect);
1125 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1126 if (pBitmap != null)
1128 AppLogDebug("InitFindWordPanel: Coming here");
1129 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
1134 AppLogDebug("InitFindWordPanel: shouldn't Come here");
1138 __pFindWordBgLabelRightToLeft = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL2", true));
1139 if (__pFindWordBgLabelRightToLeft != null)
1141 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1142 Rectangle pRect = pPanel1->GetBounds();
1143 pRect.x = pRect.y = 0;
1144 __pFindWordBgLabelRightToLeft->SetBounds(pRect);
1145 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1146 if (pBitmap != null)
1148 AppLogDebug("InitFindWordPanel: Coming here");
1149 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
1154 AppLogDebug("InitFindWordPanel: shouldn't Come here");
1158 Button* pfindWordCancel = null;
1159 pfindWordCancel = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CANCEL", true));
1160 if (pfindWordCancel == null)
1162 AppLogException("There is some problem in the xml file. Please check.");
1165 pfindWordCancel->SetActionId(IDA_FINDWORD_CANCEL_CLICKED);
1166 pfindWordCancel->AddActionEventListener(*this);
1168 __pFindWordClear = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR", true));
1169 if (__pFindWordClear == null)
1171 AppLogException("There is some problem in the xml file. Please check.");
1175 __pFindWordClearRightToLeft = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR2", true));
1176 if (__pFindWordClearRightToLeft == null)
1178 AppLogException("There is some problem in the xml file. Please check.");
1182 __pFindWordClear->SetActionId(IDA_FINDWORD_CLEAR_CLICKED);
1183 __pFindWordClear->AddActionEventListener(*this);
1185 __pFindWordClearRightToLeft->SetActionId(IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED);
1186 __pFindWordClearRightToLeft->AddActionEventListener(*this);
1188 __pFindWordNext = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_NEXT", true));
1189 if (__pFindWordNext == null)
1191 AppLogException("There is some problem in the xml file. Please check.");
1195 __pFindWordNext->SetActionId(IDA_FINDWORD_NEXT_CLICKED);
1196 __pFindWordNext->AddActionEventListener(*this);
1198 __pFindWordPrev = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_PREV", true));
1199 if (__pFindWordPrev == null)
1201 AppLogException("There is some problem in the xml file. Please check.");
1205 __pFindWordPrev->SetActionId(IDA_FINDWORD_PREV_CLICKED);
1206 __pFindWordPrev->AddActionEventListener(*this);
1208 __pFindWordNext->SetEnabled(false);
1209 __pFindWordPrev->SetEnabled(false);
1211 __pFindWordCountLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL", true));
1212 if (__pFindWordCountLabel == null)
1214 AppLogException("There is some problem in the xml file. Please check.");
1218 __pFindWordCountLabelRightToLeft = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL2", true));
1219 if (__pFindWordCountLabelRightToLeft == null)
1221 AppLogException("There is some problem in the xml file. Please check.");
1225 __pFindWordEditField = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD", true));
1226 if (__pFindWordEditField == null)
1228 AppLogException("There is some problem in the xml file. Please check.");
1231 __pFindWordEditField->AddTextEventListener(*this);
1232 __pFindWordEditField->AddKeypadEventListener(*this);
1233 __pFindWordEditField->SetOverlayKeypadCommandButtonVisible(false);
1234 __pFindWordEditField->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
1236 __pFindWordEditFieldRightToLeft = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD2", true));
1237 if (__pFindWordEditFieldRightToLeft == null)
1239 AppLogException("There is some problem in the xml file. Please check.");
1242 __pFindWordEditFieldRightToLeft->AddTextEventListener(*this);
1243 __pFindWordEditFieldRightToLeft->AddKeypadEventListener(*this);
1244 __pFindWordEditFieldRightToLeft->SetOverlayKeypadCommandButtonVisible(false);
1245 __pFindWordEditFieldRightToLeft->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
1248 __pAddressbar->SetShowState(false);
1250 if(__isKeypadOpened == false)
1251 __pFooterPanel->SetShowState(true);
1256 MainForm::CreateItem (int index, int itemWidth)
1258 Rectangle listImageRect;
1259 Rectangle pagetTitleRect;
1260 Rectangle pageURLRect;
1261 Rectangle deleteImageRect;
1262 String pageTitle(L"");
1263 String pageURL(L"");
1264 result r = E_SUCCESS;
1265 Bitmap* pListIconImage = null;
1268 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1269 if(pHistory == null)
1273 AppResource* pAppResource = Application::GetInstance()->GetAppResource();
1274 if ( pAppResource == NULL )
1278 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
1280 CustomItem* pItem = new(std::nothrow) CustomItem();
1281 pageTitle = pHistory->GetHistoryTitle();
1282 pageURL = pHistory->GetHistoryUrl();
1284 if (pageURL.GetLength() == 0)
1287 pAppResource->GetString(L"IDS_BR_BODY_BLANK_PAGE", nourl);
1288 pageURL = L"<"+ nourl +">";
1292 Rectangle screenBounds = GetBounds();
1295 r = pItem->Construct(Dimension(itemWidth, 128 + (__fontSize - 44)), style);
1304 Bitmap* pBitmap = pHistory->GetFavIconBitmap();
1306 if ( pBitmap != NULL)
1308 pListIconImage = new Bitmap();
1309 pListIconImage->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
1313 if(pListIconImage == null)
1315 pListIconImage = pAppResource->GetBitmapN(L"I01_icon_default_favicon.png");
1318 if ( pListIconImage != NULL)
1320 listImageRect.SetBounds(screenBounds.x + 16, screenBounds.y + 28 + (__fontSize - 44)/2 , 72, 72);
1321 pagetTitleRect.SetBounds(listImageRect.x + 72 + 16,10, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 72 + (__fontSize - 44));
1322 pageURLRect.SetBounds(pagetTitleRect.x, pagetTitleRect.y + pagetTitleRect.height, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 48);
1325 if (pItem != null && pListIconImage != NULL)
1327 pItem->AddElement(listImageRect, IDA_FORMAT_BITMAP, *pListIconImage, null, null);
1331 if (pageTitle.CompareTo(L"") != 0)
1335 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, pageTitle, __fontSize, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, true);
1339 if (pageURL.CompareTo(L"") != 0)
1343 pItem->AddElement(pageURLRect, IDA_FORMAT_URL_STRING, pageURL, 32, CUSTOM_COLOR_GREY, CUSTOM_COLOR_GREY, CUSTOM_COLOR_GREY, true);
1348 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
1350 if ( __pItemContext!= NULL)
1354 pItem->SetContextItem(__pItemContext);
1360 if ( __pItemContextLandscape!= NULL)
1364 pItem->SetContextItem(__pItemContextLandscape);
1368 if( pListIconImage != NULL)
1370 delete pListIconImage;
1371 pListIconImage = null;
1378 MainForm::DeleteItem (int index, Tizen::Ui::Controls::ListItemBase *pItem, int itemWidth)
1385 MainForm::GetItemCount (void)
1387 if(__pMostVisitedSites != null)
1389 __pMostVisitedSites->RemoveAll(true);
1391 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
1392 if(__pMostVisitedSites != null)
1394 return __pMostVisitedSites->GetCount();
1401 MainForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
1403 AppLog("MainForm::OnListViewContextItemStateChanged called");
1404 if(__pMostVisitedSites != null)
1406 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1407 if (pHistory != null)
1409 String url = pHistory->GetHistoryUrl();
1411 HistoryPresentationModel::GetInstance()->DeleteHistory(url);
1412 __pMostVisitedListView->UpdateList();
1418 MainForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
1420 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1421 String url = pHistory->GetHistoryUrl();
1429 MainForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
1435 MainForm::OnTerminating(void)
1437 result r = E_SUCCESS;
1439 RemoveOrientationEventListener(*this);
1443 __pAddressbar->SetAddressbarEventListener(null);
1448 __pWebViewer->RemoveTouchEventListener(*this);
1449 __pWebViewer->SetWebUiEventListenerF(null);
1450 __pWebViewer->SetWebKeypadEventListener(null);
1451 __pWebViewer->SetTextSearchListener(null);
1457 delete __pItemContext;
1459 if (__pItemContextLandscape)
1461 delete __pItemContextLandscape;
1465 delete __pSaveImage;
1467 if (__pMostVisitedSites)
1469 __pMostVisitedSites->RemoveAll(true);
1470 delete __pMostVisitedSites;
1476 MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
1478 result r = E_SUCCESS;
1480 AppLogDebug("Clicked : %d", actionId);
1483 case IDA_BACKBTN_CLICKED:
1485 if(__pImageMenu && __pImageMenu->GetShowState() == true)
1487 AppLog("Hiding the menu");
1488 __pImageMenu->SetShowState(false);
1490 if (__pWebViewer && __pWebViewer->CanGoBack())
1492 __pWebViewer->GoBack();
1494 else if(__pWindowInfo->isJavascriptInitiated == false)
1497 pApp = UiApp::GetInstance();
1500 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1503 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1511 WindowInfo* pWindowInfo = null;
1513 SceneManager* pSceneManager = SceneManager::GetInstance();
1514 if (pSceneManager == null)
1518 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
1519 if (pAllWindowList == NULL)
1521 pApp = UiApp::GetInstance();
1524 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1527 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1532 if (pAllWindowList != null)
1534 totalCount = pAllWindowList->GetCount();
1536 for (int count = 0; count < totalCount; count++)
1538 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
1539 if (pWindowInfo == null)
1541 pApp = UiApp::GetInstance();
1544 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1547 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1554 if (pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
1556 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
1559 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1562 r = pAllWindowList->RemoveAt(count, true);
1563 __pWindowInfo = null;
1566 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1571 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
1575 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
1577 if (pWindowInfo == null)
1579 pApp = UiApp::GetInstance();
1582 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1588 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
1589 // r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1592 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1604 case IDA_FORWARD_CLICKED:
1605 if (__pWebViewer == null)
1608 if (__pWebViewer->CanGoForward())
1610 __pWebViewer->GoForward();
1612 __pOptionMenu->SetShowState(false);
1613 __pOptionMenu->Invalidate(false);
1616 case IDA_FINDONPAGE_CLICKED:
1618 AppLogDebug("MainForm::OnActionPerformed findword clicked");
1619 __currentSearchStr.Clear();
1621 InitFindWordPanel();
1622 __pOptionMenu->SetShowState(false);
1623 __pOptionMenu->Invalidate(false);
1625 ShowFindWordPanel(true);
1627 if(__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
1629 __pFindWordEditField->SetFocus();
1630 // __pFindWordCountLabel->SetShowState(false);
1634 __pFindWordEditFieldRightToLeft->SetFocus();
1635 __pFindWordCountLabelRightToLeft->SetShowState(false);
1639 case IDA_PRIVATEON_CLICKED:
1641 result r = E_SUCCESS;
1643 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
1644 Bitmap* pBitmap = null;
1645 if (isPrivateBrowsing == true)
1647 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
1650 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
1654 if (__pWebViewer != NULL)
1656 __pWebViewer->SetPrivateBrowsingEnabled(false);
1659 SettingPresentationModel::GetInstance()->SetPrivateOn(false);
1661 if (__pAddressbar != null)
1663 __pAddressbar->UpdateFaviconBitmap(false);
1669 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
1672 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
1676 if (__pWebViewer != NULL)
1678 __pWebViewer->SetPrivateBrowsingEnabled(true);
1681 SettingPresentationModel::GetInstance()->SetPrivateOn(true);
1683 if (__pAddressbar != null)
1685 __pAddressbar->UpdateFaviconBitmap(true);
1689 itemIndex = __pOptionMenu->GetItemIndexFromActionId(IDA_PRIVATEON_CLICKED);
1690 r = __pOptionMenu->SetItemAt(itemIndex,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
1691 AppLog("Result:: %s for index = %d", GetErrorMessage(r),itemIndex);
1692 __pOptionMenu->Invalidate(true);
1693 if ( pBitmap != NULL )
1700 case IDA_SETTINGS_CLICKED:
1703 ArrayList* pArgList = new(std::nothrow) ArrayList();
1706 pArgList->Construct();
1707 pArgList->Add(*__pWindowInfo);
1708 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_SETTINGS), pArgList);
1710 __pOptionMenu->SetShowState(false);
1711 __pOptionMenu->Invalidate(false);
1713 if (pArgList != null)
1722 case IDA_ADDTOBOOKMARK_CLICKED:
1725 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL)
1727 int bookmarkCount=0;
1730 url=__pWindowInfo->pageUrl;
1731 result r = E_SUCCESS;
1732 Bitmap* pBitmap = null;
1733 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
1741 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_REMOVED");
1742 BookmarkPresentationModel::GetInstance()->DeleteBookmark(url);
1743 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
1745 if(__pNotification != null)
1747 RemoveControl(__pNotification);
1748 __pNotification = null;
1750 __pNotification = new (std::nothrow) NotificationPanel(*this);
1751 if (__pNotification != null)
1753 __pNotification->SetText(message);
1754 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
1755 __pNotification->ShowNotification();
1760 String title=__pWindowInfo->pageTitle;
1761 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_ADDED");
1762 BookmarkData* pBookmark=new (std::nothrow) BookmarkData();
1764 pBookmark->SetBookmarkTitle(title);
1765 pBookmark->SetUrl(url);
1766 if (__pWebViewer != null && __pWebViewer->GetFaviconN() != null)
1768 pBookmark->SetFavIconBitmap(*(__pWebViewer->GetFaviconN()));
1770 String id = FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
1771 pBookmark->SetFaviconId(id);
1772 //r = BookmarkPresentationModel::GetInstance()->SaveBookmark(*pBookmark);
1773 r = BookmarkPresentationModel::GetInstance()->SaveTempBookmark(*pBookmark);
1775 if(__pNotification != null)
1777 RemoveControl(__pNotification);
1778 __pNotification = null;
1780 __pNotification = new (std::nothrow) NotificationPanel(*this);
1781 if (__pNotification != null)
1783 __pNotification->SetText(message);
1784 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
1785 __pNotification->ShowNotification();
1786 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
1789 if (pBitmap != null)
1791 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1796 __pOptionMenu->Invalidate(true);
1801 case IDA_PRINT_CLICKED:
1803 r = __pWebViewer->SavePageAsPdf(UiApp::GetInstance()->GetAppRootPath()+"//shared//data//test.pdf");
1804 AppLog("SavePageAsPdf result %s",GetErrorMessage(r));
1806 AppLog("RequestPrint called!");
1807 AppControl* pAc = Tizen::App::AppManager::FindAppControlN(L"org.tizen.mobileprint", L"http://tizen.org/appcontrol/operation/print");
1808 result nResult = E_FAILURE;
1811 AppLog("TestPrint if (pAc) == true");
1816 String fileType = L"service_print_files_type";
1817 String typeVal = L"DOC";
1819 String fileCount = L"service_print_files_count";
1820 String countVal = L"1";
1821 String fileFolder= L"service_print_files_folder_name";
1822 String folderVal = UiApp::GetInstance()->GetAppRootPath()+"//shared//data";
1824 map.Add(&fileCount, &countVal);
1825 map.Add(&fileFolder, &folderVal);
1826 map.Add(&fileType, &typeVal);
1828 String fileName = L"service_print_files_files_name";
1830 ArrayList fileNameList;
1831 fileNameList.Construct();
1832 String file1 = L"test.pdf";
1834 fileNameList.Add(&file1);
1835 map.Add(&fileName, &fileNameList);
1837 nResult = pAc->Start(NULL, NULL, &map, NULL);
1839 if (nResult == E_SUCCESS) AppLog("TestPrint ret == E_SUCCESS");
1840 else if (nResult == E_MAX_EXCEEDED)
1841 AppLog("TestPrint ret == E_MAX_EXCEEDED");
1842 else if (nResult == E_OBJ_NOT_FOUND)
1843 AppLog("TestPrint ret == E_OBJ_NOT_FOUND");
1844 else if (nResult == E_IN_PROGRESS)
1845 AppLog("TestPrint ret == E_IN_PROGRESS");
1846 else if (nResult == E_PRIVILEGE_DENIED)
1847 AppLog("TestPrint ret == E_PRIVILEGE_DENIED");
1848 else if(nResult == E_SYSTEM)
1849 AppLog("TestPrint ret == E_SYSTEM");
1855 int __modalMsgBoxResult;
1856 MessageBox* pMsgBox = new MessageBox();
1857 pMsgBox->Construct("Not Supported","Not Supported",MSGBOX_STYLE_OK,3000);
1858 pMsgBox->ShowAndWait(__modalMsgBoxResult);
1861 __modalMsgBoxResult = 0;
1865 case IDA_SHARE_CLICKED:
1867 if(__pPopUp != null)
1874 __pAddressbar->HideKeypad();
1876 __pPopUp = new(std::nothrow) SharePopup();
1877 __pPopUp->Initialize();
1878 if (__pWindowInfo != null)
1880 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
1881 pShareInfo->SetPageTitle(__pWindowInfo->pageTitle);
1882 pShareInfo->SetPageUrl(__pWindowInfo->pageUrl);
1883 pShareInfo->SetImageAttached(false);
1884 __pPopUp->RemoveAllShareInfo();
1885 __pPopUp->AddShareInfo(pShareInfo);
1887 __pPopUp->SetShowState(true);
1891 case IDA_BOOKMARKBTN_CLICKED:
1893 AppLogDebug("ONACTION_PERFORMED:IDA_BOOKMARKBTN_CLICKED");
1894 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BOOKMARK_VIEW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1897 case IDA_ADD_TO_BOOKMARKBTN_CLICKED:
1902 case IDA_MOREBTN_CLICKED:
1904 AppLog("IDA_MOREBTN_CLICKED");
1906 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer->GetShowState() == true)
1908 int bookmarkCount=0;
1911 url=__pWindowInfo->pageUrl;
1912 result r = E_SUCCESS;
1913 Bitmap* pBitmap = null;
1915 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
1918 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
1923 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
1927 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
1929 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
1931 if (__pOptionMenu->GetItemCount() == 9)
1933 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1937 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1942 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
1946 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
1947 if (__pOptionMenu->GetItemCount() != 9)
1949 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
1950 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
1951 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
1952 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
1953 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
1954 __pOptionMenu->SetMaxVisibleItemsCount(6);
1956 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
1958 AppLog(" Orientation landscape");
1959 __pOptionMenu->SetMaxVisibleItemsCount(5);
1963 AppLog(" Orientation potrait");
1964 __pOptionMenu->SetMaxVisibleItemsCount(6);
1967 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
1970 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
1971 __pOptionMenu->SetShowState(true);
1972 __pOptionMenu->Invalidate(true);
1973 __pOptionMenu->Show();
1977 case IDA_HISTORY_CLICKED:
1979 AppLogDebug("ONACTION_PERFORMED:IDA_HISTORYBTN_CLICKED");
1980 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_HISTORY_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1983 case IDA_SAVED_PAGES_CLICKED:
1988 case IDA_DESKTOP_VIEW_CLICKED:
1993 case IDA_SAVE_CLICKED:
1998 case IDA_MULTIWINDOWBTN_CLICKED:
2000 result r = SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_MULTIPLE_WINDOW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
2001 AppLog("IDA_MULTIWINDOWBTN_CLICKED result %s",GetErrorMessage(r));
2005 case IDA_NEWWINDOWBTN_CLICKED:
2007 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
2009 if (pNewWindowInfo == null)
2013 result r = E_SUCCESS;
2014 SceneManager* pSceneManager = SceneManager::GetInstance();
2016 if (pSceneManager == NULL)
2020 ArrayList* pArgList = new(std::nothrow) ArrayList();
2021 if (pArgList == NULL)
2025 r = pArgList->Construct();
2028 pArgList->Add(*pNewWindowInfo);
2029 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
2035 AppLogDebug("MainForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));
2040 case IDA_SMALLFONT_BTN_CLICKED:
2042 WebSetting setting = __pWebReader->GetSetting();
2043 setting.SetFontSize(15);
2044 __pWebReader->SetSetting(setting);
2047 case IDA_LARGEFONT_BTN_CLICKED:
2049 WebSetting setting = __pWebReader->GetSetting();
2050 setting.SetFontSize(25);
2051 __pWebReader->SetSetting(setting);
2054 case IDA_READER_CLOSE_CLICKED:
2056 if (__pArticleReaderPanel != null && __pBlankPanel != null)
2058 RemoveControl(__pBlankPanel);
2059 __pArticleReaderPanel = null;
2060 __pBlankPanel = null;
2061 __pArticleReaderLabel = null;
2063 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2066 case IDA_FINDWORD_CANCEL_CLICKED:
2068 __currentSearchStr = L"";
2069 __currentWordIndex = 0;
2070 __maxOccurrances = 0;
2072 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2074 __pFindWordEditField->SetText(L"");
2075 __pFindWordCountLabel->SetText(L"0/0");
2077 else if (__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2079 __pFindWordEditFieldRightToLeft->SetText(L"");
2080 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
2083 __pFindWordNext->SetEnabled(false);
2084 __pFindWordPrev->SetEnabled(false);
2085 __pFindWordCountLabel->SetText(L"0/0");
2086 __pWebViewer->SearchTextAllAsync(L"",true);
2087 AppLog("akjshdasd 1");
2088 if(__isKeypadOpened == false)
2089 __pFooterPanel->SetShowState(true);
2090 ShowFindWordPanel(false);
2093 case IDA_FINDWORD_SEARCH_CLICKED:
2095 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2097 __currentSearchStr = __pFindWordEditField->GetText();
2099 else if (__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2101 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
2104 if (__currentSearchStr.GetLength() > 0)
2110 AppLogDebug("Enter something");
2114 case IDA_FINDWORD_CLEAR_CLICKED:
2116 __pFindWordCountLabel->SetText(L"0/0");
2117 __pFindWordEditField->SetText(L"");
2118 __currentSearchStr = L"aaaaaabbbbbbccccccc";
2120 __currentSearchStr = L"";
2121 __pFindWordNext->SetEnabled(false);
2122 __pFindWordPrev->SetEnabled(false);
2123 // __pFindWordCountLabel->SetShowState(false);
2124 __pFindWordControl->Invalidate(true);
2127 case IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED:
2129 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
2130 __pFindWordEditFieldRightToLeft->SetText(L"");
2131 __currentSearchStr = L"aaaaaabbbbbbccccccc";
2133 __currentSearchStr = L"";
2134 __pFindWordNext->SetEnabled(false);
2135 __pFindWordPrev->SetEnabled(false);
2136 // __pFindWordCountLabelRightToLeft->SetShowState(false);
2137 __pFindWordControl->Invalidate(true);
2140 case IDA_FINDWORD_NEXT_CLICKED:
2145 case IDA_FINDWORD_PREV_CLICKED:
2147 FindNextWord(false);
2150 case IDA_BRIGHTNESS_BTN_CLICKED:
2152 AppLogDebug("IDA_BRIGHTNESS_BTN_CLICKED");
2153 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BRIGHTNESS, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
2156 case IDA_COPY_IMAGE_CLICKED:
2158 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
2159 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
2161 const Bitmap* pBitmap = null;
2162 if (__pHitElementResult != null && __pHitElementResult->HasImage())
2164 pBitmap = __pHitElementResult->GetImage();
2167 String resourcePath = App::GetInstance()->GetAppResourcePath();
2168 r = item.Construct(CLIPBOARD_DATA_TYPE_IMAGE , *pBitmap);
2169 AppLog("Platofrm construct failed result %s",GetErrorMessage(r));
2170 // copying the item to clipboard
2171 Clipboard* pClipboard = Clipboard::GetInstance();
2172 if (pClipboard != null)
2174 r = pClipboard->CopyItem(item);
2175 AppLog("Platofrm copy failed result %s",GetErrorMessage(r));
2179 case IDA_VIEW_IMAGE_CLICKED:
2181 AppLogDebug("IDA_VIEW_IMAGE_CLICKED");
2182 WindowInfo* pNewWindowInfo = null;
2183 if (__pHitElementResult != null)
2185 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
2186 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
2192 case IDA_SAVE_IMAGE_CLICKED:
2194 AppLogDebug("IDA_SAVE_IMAGE_CLICKED");
2195 const Bitmap* pSaveBitmap = null;
2196 String imageName = GetImagePath();
2197 AppLog("Content manager image name %ls",imageName.GetPointer());
2200 imagePath.Append(imageName);
2201 imagePath.Format(100, L"%ls/Downloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
2202 AppLog("Content manager image path %ls",imagePath.GetPointer());
2203 if (__pHitElementResult != null)
2205 pSaveBitmap = __pHitElementResult->GetImage();
2207 ByteBuffer* pBuffer = __pSaveImage->EncodeToBufferN(*pSaveBitmap, IMG_FORMAT_JPG);
2211 UpdateImageContent(pBuffer, imageName);
2213 if(__pNotification != null)
2215 RemoveControl(__pNotification);
2216 __pNotification = null;
2218 __pNotification = new NotificationPanel(*this);
2220 AppResource::GetInstance()->GetString("IDS_COM_SK_SAVE", msg);
2221 msg.Append(imagePath);
2222 if (__pNotification != null)
2224 __pNotification->SetText(msg);
2225 if (__pFooterPanel->GetShowState() == true)
2227 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
2231 __pNotification->SetPositionDiff(0);
2233 __pNotification->ShowNotification();
2238 int __modalMsgBoxResult;
2239 MessageBox* pMsgBox = new MessageBox();
2240 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);
2241 pMsgBox->ShowAndWait(__modalMsgBoxResult);
2244 __modalMsgBoxResult = 0;
2248 case IDA_SHARE_IMAGE_CLICKED:
2250 AppLogDebug("IDA_SHARE_IMAGE_CLICKED");
2251 if (__pPopUp != null)
2258 __pAddressbar->HideKeypad();
2260 __pPopUp = new(std::nothrow) SharePopup();
2261 __pPopUp->Initialize();
2262 if (__pHitElementResult != null)
2264 const Bitmap* pSaveBitmap = null;
2265 String imageName = GetImagePath();
2266 AppLog("Content manager image name %ls",imageName.GetPointer());
2269 imagePath.Append(imageName);
2270 imagePath.Format(100, L"%lsDownloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
2271 AppLog("Content manager image path %ls",imagePath.GetPointer());
2272 if (__pHitElementResult != null)
2274 pSaveBitmap = __pHitElementResult->GetImage();
2276 __pSaveImage->EncodeToFile(*pSaveBitmap, IMG_FORMAT_JPG, imagePath, true);
2278 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
2279 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
2281 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2282 pShareInfo->SetPageTitle(L"");
2283 pShareInfo->SetPageUrl(srcUrl);
2284 pShareInfo->SetImageAttached(true);
2285 pShareInfo->SetImagePath(imagePath);
2286 __pPopUp->RemoveAllShareInfo();
2287 __pPopUp->AddShareInfo(pShareInfo);
2288 __pPopUp->SetShowState(true);
2293 case IDA_HYPERLINK_OPEN_CLICKED:
2295 if (__pHitElementResult != null)
2297 String srcUrl = __pHitElementResult->GetUrl();
2299 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN(srcUrl);
2301 if (pNewWindowInfo == null)
2305 pNewWindowInfo->isJavascriptInitiated = true;
2306 result r = E_SUCCESS;
2307 SceneManager* pSceneManager = SceneManager::GetInstance();
2308 if (pSceneManager == NULL)
2312 ArrayList* pArgList = new(std::nothrow) ArrayList();
2313 if (pArgList == NULL)
2317 pArgList->Construct();
2319 pArgList->Add(*pNewWindowInfo);
2320 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
2321 if (pArgList != null)
2328 AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r));
2334 case IDA_HYPERLINK_SHARE_IMAGE_CLICKED:
2336 if (__pHitElementResult == null)
2341 if(__pPopUp != null)
2348 __pAddressbar->HideKeypad();
2350 __pPopUp = new(std::nothrow) SharePopup();
2351 __pPopUp->Initialize();
2353 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2354 pShareInfo->SetPageUrl(__pHitElementResult->GetUrl());
2355 pShareInfo->SetImageAttached(false);
2356 __pPopUp->RemoveAllShareInfo();
2357 __pPopUp->AddShareInfo(pShareInfo);
2359 __pPopUp->SetShowState(true);
2363 case IDA_HYPERLINK_COPY_LINK_CLICKED:
2367 if (__pHitElementResult != null)
2369 url = __pHitElementResult->GetUrl();
2372 String resourcePath = App::GetInstance()->GetAppResourcePath();
2373 item.Construct(CLIPBOARD_DATA_TYPE_TEXT , url);
2375 // copying the item to clipboard
2376 Clipboard* pClipboard = Clipboard::GetInstance();
2377 if (pClipboard != null)
2379 pClipboard->CopyItem(item);
2383 case IDA_FIND_TEXT__CLICKED:
2385 // AddressBarCancelledClicked(*__pAddressbar);
2386 RelayoutControls(false);
2387 // __pFooterPanel->SetShowState(false);
2388 AppLogDebug("MainForm::OnActionPerformed find word clicked");
2389 __currentSearchStr.Clear();
2390 __currentSearchStr.Append(__currentSelectedStr);
2391 InitFindWordPanel();
2392 __pFindWordEditField->SetText(__currentSearchStr);
2394 if(__pOptionMenu != null)
2396 __pOptionMenu->SetShowState(false);
2397 __pOptionMenu->Invalidate(false);
2399 __adressPanelPosition.y = 0;
2401 if (__pAddressbar != null && __pWebViewer != NULL)
2403 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
2404 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight() - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12);
2406 if (__pFooterPanel->GetShowState() == false)
2407 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12)));
2409 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
2410 __pWebViewer->Invalidate(true);
2413 ShowFindWordPanel(true);
2414 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2416 __pFindWordEditField->SetText(__currentSearchStr);
2417 __pFindWordEditField->SetFocus();
2419 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2421 __pFindWordEditFieldRightToLeft->SetText(__currentSearchStr);
2422 __pFindWordEditFieldRightToLeft->SetFocus();
2425 if (__currentSearchStr.GetLength() > 0)
2431 AppLogDebug("Enter something");
2434 if (__pWebViewer != null)
2436 // releasing the set block
2437 __pWebViewer->ReleaseBlock();
2442 case IDA_SHARE_TEXT_CLICKED:
2444 __pWebViewer->ReleaseBlock();
2445 AppLogDebug("IDA_SHARE_TEXT_CLICKED");
2446 if(__pPopUp != null)
2453 __pAddressbar->HideKeypad();
2455 __pPopUp = new(std::nothrow) SharePopup();
2456 __pPopUp->Initialize();
2457 if (__pHitElementResult != null)
2459 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2460 pShareInfo->SetPageTitle(L"");
2461 pShareInfo->SetPageUrl(__currentSelectedStr);
2462 pShareInfo->SetImageAttached(false);
2463 __pPopUp->RemoveAllShareInfo();
2464 __pPopUp->AddShareInfo(pShareInfo);
2465 __pPopUp->SetShowState(true);
2470 case IDA_COPY_TEXT_CLICKED:
2472 __pWebViewer->ReleaseBlock();
2473 // need to implement
2474 //__currentSelectedStr
2475 // Sets data to a clip board item
2477 String resourcePath = App::GetInstance()->GetAppResourcePath();
2478 item.Construct(CLIPBOARD_DATA_TYPE_TEXT, __currentSelectedStr);
2480 // copying the item to clipboard
2481 Clipboard* pClipboard = Clipboard::GetInstance();
2482 if (pClipboard != null)
2484 pClipboard->CopyItem(item);
2488 case IDA_PASTE_TEXT_CLICKED:
2490 Clipboard* pClipboard = Clipboard::GetInstance();
2492 if(pClipboard == null)
2496 // Retrieves a latest item
2497 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
2503 //Gets data from the clipboard item
2504 String* pString = dynamic_cast<String*>(pItem->GetData());
2506 if (pString != null)
2508 String idElement = __pHitElementResult->GetAttributeValue(L"id");
2509 String nameElement = __pHitElementResult->GetAttributeValue(L"name");
2510 String tagElement = __pHitElementResult->GetTagName();
2511 AppLog("MainForm::IDA_PASTE_TEXT_CLICKED id is %ls",idElement.GetPointer());
2512 String str = L"document.getElementsByName('";
2513 str.Append(nameElement);
2514 str.Append("').length");
2515 String* pCount = __pWebViewer->EvaluateJavascriptN(str);
2518 if(idElement.GetLength() != 0)
2520 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; } } ";
2521 script.Append("insertAtCursor('");
2522 script.Append(idElement);
2523 script.Append("',");
2524 script.Append("\"");
2525 script.Append(*pString);
2526 script.Append("\");");
2528 else if (nameElement.GetLength() != 0 && pCount->Equals("1",false) == true)
2530 script = L"function insertAtCursor(myField, myValue) { if (document.selection) { myField.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 { myField.value += myValue; } } ";
2531 script.Append("insertAtCursor(document.getElementsByName('");
2532 script.Append(nameElement);
2533 script.Append("')[0],");
2534 script.Append("\"");
2535 script.Append(*pString);
2536 script.Append("\");");
2538 else if(tagElement.GetLength() != 0) //adding for twitter post page
2540 script = L"function insertAtCursor(myField, myValue) { if (document.selection) { myField.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 { myField.value += myValue; } } ";
2542 script.Append("insertAtCursor(document.activeElement,");
2543 script.Append("\"");
2544 script.Append(*pString);
2545 script.Append("\");");
2547 AppLog("MainForm::OnTouchLongPressed script is %ls",script.GetPointer());
2548 String* pStr = __pWebViewer->EvaluateJavascriptN(script);
2554 __pWebViewer->ReleaseBlock();
2562 case IDA_GO_FORWARD:
2567 case IDA_REFRESH_BTN_CLICKED:
2569 __isLoadingCompleted = false;
2570 __isLoadingData = true;
2571 __progressPercentage = 0;
2572 __displayUrl = __pFooterUrlField->GetText();
2574 String url = __pFooterUrlField->GetText();
2575 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
2577 if (__pWebViewer != null && __pAddressbar != null)
2580 //__pWebViewer->Reload();
2581 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
2585 UpdateProgressBitmap();
2588 case IDA_STOP_BTN_CLICKED:
2590 __isLoadingCompleted = false;
2591 __isLoadingData = false;
2592 __progressPercentage = 0;
2593 __pFooterUrlField->HideKeypad();
2594 __displayUrl = __pFooterUrlField->GetText();
2598 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2599 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2600 __pWebViewer->StopLoading();
2601 RequestRedraw(true);
2604 UpdateProgressBitmap();
2609 if (__pFooterUrlField->GetText().IsEmpty() == false)
2611 //__displayUrl = __pUrlField->GetText();
2612 __pFooterUrlField->Clear();
2617 case IDA_READER_BTN_CLICKED:
2628 MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
2630 AppLog("MainForm::OnFormBackRequested entered");
2631 result r = E_FAILURE;
2632 if(__pImageMenu && __pImageMenu->GetShowState() == true)
2634 AppLog("Hiding the menu");
2635 __pImageMenu->SetShowState(false);
2637 if (__pWebViewer && __pWebViewer->CanGoBack())
2639 __pWebViewer->GoBack();
2641 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
2644 pApp = UiApp::GetInstance();
2647 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2650 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2658 WindowInfo* pWindowInfo = null;
2660 SceneManager* pSceneManager = SceneManager::GetInstance();
2661 if (pSceneManager == null)
2665 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
2666 if (pAllWindowList == NULL)
2668 pApp = UiApp::GetInstance();
2671 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2674 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2679 if (pAllWindowList != null)
2681 totalCount = pAllWindowList->GetCount();
2683 for (int count = 0; count < totalCount; count++)
2685 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
2686 if (pWindowInfo == null)
2688 pApp = UiApp::GetInstance();
2691 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2694 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2701 if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
2703 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
2706 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2709 r = pAllWindowList->RemoveAt(count, true);
2710 __pWindowInfo = null;
2713 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2718 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
2722 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
2724 if (pWindowInfo == null)
2726 pApp = UiApp::GetInstance();
2729 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2735 if(pWindowInfo != null)
2736 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
2739 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2745 // else if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == false)
2747 // UiApp* pApp = null;
2748 // pApp = UiApp::GetInstance();
2749 // if (pApp != null)
2751 // r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2754 // AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2762 AppLog("MainForm::OnFormBackRequested exit");
2766 MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
2767 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
2770 AppLog("MainForm::OnSceneActivatedN called");
2771 String* pSelectedScene = NULL;
2772 Object* pValue = NULL;
2773 String* pUrl = null;
2774 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
2775 pSelectedScene = (String*) pValue;
2777 if (pSelectedScene != null)
2779 delete pSelectedScene;
2781 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, null);
2782 String* selectedSceneID = new(std::nothrow) String(currentSceneId);
2783 AppLogDebug("current scene id is %ls", currentSceneId.GetPointer());
2784 AppLogDebug("selected scene id is %ls", currentSceneId.GetPointer());
2786 // setting the current scene ID
2787 MultipleWindowPresentationModel::GetInstance()->SetCurrentSceneID(currentSceneId);
2789 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, (Object*) selectedSceneID);
2791 if(pArgs != null && pArgs->GetCount() > 0 && pArgs->GetCount() == 2)
2793 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2794 if(__pWindowInfo == null)
2796 // if(__pWindowInfo == null)
2798 pUrl = dynamic_cast< String* >(pArgs->GetAt(1));
2801 else if ( pArgs != null && pArgs->GetCount() == 1)
2803 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2809 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), GetClientAreaBounds().width, __pFooterPanel->GetHeight());
2811 // hiding the address bar
2812 // __pAddressbar->SetBounds(__pAddressbar->GetX(), __pAddressbar->GetY() - __pAddressbar->GetHeight(), __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
2813 __pAddressbar->SetShowState(false);
2814 // if(__pWebViewer != null)
2816 // __pWebViewer->Resume();
2819 if(pUrl != null && pUrl->GetLength() > 0)
2823 else if(__pWindowInfo != null)
2825 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)
2827 LoadUrl(__pWindowInfo->pageUrl);
2829 else if(__pWindowInfo->pageUrl.GetLength() > 0 && __pWindowInfo->isAppcontrolTriggered == true)
2831 LoadUrl(__pWindowInfo->pageUrl);
2832 __pWindowInfo->isAppcontrolTriggered = false;
2834 else if (__pWindowInfo->isJavascriptInitiated == true && __pWindowInfo->isFirstLaunch == true)
2836 __pWindowInfo->isFirstLaunch = false;
2839 __pWindowInfo->pCurrentWeb = __pWebViewer;
2840 if(__pWindowInfo->pageUrl.GetLength() > 0)
2841 LoadUrl(__pWindowInfo->pageUrl);
2845 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
2846 AppLog("Homepage Value in Onsceneactivated is %ls",homePage.GetPointer());
2847 if(homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
2849 InitMostVisitedSitesView(GetOrientationStatus());
2851 else if (homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
2853 if(__pMostVisitedListView != null)
2855 __pMostVisitedListView->SetShowState(false);
2859 if (__pAddressbar != null && pArgs != null && (previousSceneId == IDSCN_BOOKMARK_VIEW || previousSceneId == IDSCN_HISTORY_LIST))
2861 String* pBookmarkUrl = dynamic_cast< String* >(pArgs->GetAt(0));
2863 if (pBookmarkUrl == null)
2865 AppLogDebug("bookmarkUrl = %ls",pBookmarkUrl->GetPointer());
2866 //__pAddressbar->SetUrl(*pBookmarkUrl);
2867 SetUrl(*pBookmarkUrl);
2869 if (__pWebViewer != null && homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) != 0)
2870 __pWebViewer->LoadUrl(*pBookmarkUrl);
2871 delete pBookmarkUrl;
2874 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
2875 Bitmap* pBitmap = null;
2876 if (isPrivateBrowsing == true)
2878 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
2880 if (__pWebViewer != null)
2882 __pWebViewer->SetPrivateBrowsingEnabled(true);
2885 if (__pAddressbar != null)
2887 // __pAddressbar->UpdateFaviconBitmap(true);
2893 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
2895 if (__pWebViewer != null)
2897 __pWebViewer->SetPrivateBrowsingEnabled(false);
2900 if (__pAddressbar != null)
2902 // __pAddressbar->UpdateFaviconBitmap(false);
2906 if (__pOptionMenu != null && __pOptionMenu->GetItemCount() != 9)
2908 __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2910 else if (__pOptionMenu != null )
2912 __pOptionMenu->SetItemAt(5,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2915 if (pBitmap != null)
2920 RelayoutControls(false);
2921 AppLog("ABC: OnSceneActivatedN started exit");
2926 MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
2927 const Tizen::Ui::Scenes::SceneId& nextSceneId)
2929 Canvas* pWebCanvas = null;
2930 if (__pWebViewer != null)
2932 pWebCanvas = __pWebViewer->GetCanvasN();
2935 if (pWebCanvas == null)
2939 if (__pWindowInfo != null)
2941 if (__pWindowInfo->pWebCanvasBitmap != null)
2943 delete __pWindowInfo->pWebCanvasBitmap;
2945 __pWindowInfo->pWebCanvasBitmap = new(std::nothrow) Bitmap();
2946 result r = __pWindowInfo->pWebCanvasBitmap->Construct(*pWebCanvas,Rectangle(0,0,pWebCanvas->GetBounds().width,pWebCanvas->GetBounds().height));
2947 AppLog("Bitmap Construction result %s",GetErrorMessage(r));
2949 Bitmap* pBitmap = GetCapturedBitmapN();
2950 AppLog("Coming here");
2951 Canvas* pCanvas = new(std::nothrow) Canvas();
2952 pCanvas->Construct(GetClientAreaBounds());
2955 pCanvas->DrawBitmap(Point(0,0),*pBitmap);
2958 if(__pWebViewer != null && __pWindowInfo != null && __pWindowInfo->pWebCanvasBitmap != null)
2959 pCanvas->DrawBitmap(__pWebViewer->GetPosition(),*__pWindowInfo->pWebCanvasBitmap);
2961 WindowInfo::pFormCanvasBitmap = new(std::nothrow) Bitmap();
2964 WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight()));
2969 __pAddressbar->SetShowState(false);
2970 AppLog("Coming here");
2974 MainForm::OnHttpAuthenticationRequestedN(const Tizen::Base::String& host,
2975 const Tizen::Base::String& realm,
2976 const Tizen::Web::Controls::AuthenticationChallenge& authentication)
2982 MainForm::OnHttpAuthenticationCanceled(void)
2987 MainForm::OnLoadingStarted(void)
2989 AppLogDebug("MainForm::OnLoadingStarted entered");
2991 if(__pAddressbar == NULL || __pWebViewer == null)
2996 // this is added in case if menu is opened and user load the page
2997 if(__pOptionMenu != null && __pOptionMenu->GetShowState() == true)
2999 __pOptionMenu->SetShowState(false);
3000 __pOptionMenu->Invalidate(true);
3005 if(__pImageMenu != null && __pImageMenu->GetShowState() == true)
3007 __pImageMenu->SetShowState(false);
3008 __pImageMenu->Invalidate(true);
3010 String url = __pWebViewer->GetUrl();
3011 if(url.Contains(IDS_TIZEN_SERVICE))
3014 String delim(L":;,");
3016 // Creates a StringTokenizer instance
3017 StringTokenizer strTok(url, delim);
3019 int count = strTok.GetTokenCount(); // count == 4
3021 HashMap *pMap = new HashMap();
3026 while (strTok.HasMoreTokens())
3028 AppLog("Token: %ls", token.GetPointer());
3029 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3030 if(token.Contains(IDS_APPID))
3032 token.SubString(6, appId);
3033 AppLog("AppID:%ls", appId.GetPointer());
3035 else if(token.Contains(IDS_KEY))
3037 token.SubString(4, key);
3038 AppLog("key:%ls", key.GetPointer());
3040 else if(token.Contains(IDS_VALUE))
3042 token.SubString(6, value);
3043 AppLog("value:%ls", value.GetPointer());
3046 pMap->Add(key, value);
3050 AppControl *pAppControl = null;
3051 String operationId = L"http://tizen.org/appcontrol/operation/main";
3052 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
3055 AppLog("Starting AppControl");
3056 result r = pAppControl->Start(null, null, pMap, null);
3057 AppLog("Result of Start %s", GetErrorMessage(r));
3061 AppLogException("AppControl not found");
3066 if ( __pAddressbar != null && __pAddressbar->GetShowState() == true)
3068 __pAddressbar->SetShowState(false);
3069 AddressBarCancelledClicked(*__pAddressbar);
3070 __pAddressbar->Invalidate(true);
3072 Bitmap* pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
3075 __pAddressbar->SetFaviconBitmap(*pBitmap);
3078 if (__adressPanelPosition.y < (0 - __pAddressbar->GetHeight() + 12))
3080 // updating the address bar position with respect to web control
3081 __adressPanelPosition.y = 0 - __pAddressbar->GetHeight() + 12; //-12 is for the progress label
3082 __distanceMoved = 0;
3086 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3087 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3088 if (__pWebViewer != null)
3090 AppLog("MainForm::OnLoadingStarted __pWebViewer->GetUrl() %ls",__pWebViewer->GetUrl().GetPointer());
3091 //__pAddressbar->SetUrl(__pWebViewer->GetUrl());
3092 SetUrl(__pWebViewer->GetUrl());
3093 if (__pWindowInfo != NULL)
3095 // resetting the page title to blank, it will be received in OnPageTitleReceived()
3096 // __pWindowInfo->pageTitle = L"";
3097 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3099 __pAddressbar->Invalidate(true);
3105 MainForm::OnLoadingCanceled(void)
3111 MainForm::OnKeypadWillOpen(Tizen::Ui::Control& source)
3113 AppLog("XYZ::MainForm::OnKeypadWillOpen");
3118 MainForm::OnKeypadOpened(Tizen::Ui::Control& source)
3120 AppLog("XYZ::MainForm::OnKeypadOpened");
3121 __isKeypadOpened = true;
3122 __pFooterPanel->SetShowState(false);
3123 RelayoutControls(false);
3127 MainForm::OnKeypadClosed(Tizen::Ui::Control& source)
3129 AppLog("XYZ::MainForm::OnKeypadClosed");
3130 __isKeypadOpened = false;
3131 __pFooterPanel->SetShowState(true);
3132 RelayoutControls(true);
3136 MainForm::OnKeypadBoundsChanged(Tizen::Ui::Control &source)
3138 AppLog("XYZ::KeypadBoundsChanged");
3139 RelayoutControls(false);
3143 MainForm::OnLoadingErrorOccurred(LoadingErrorType error,
3144 const Tizen::Base::String& reason)
3146 AppLogDebug("Error: %d, %ls", error, reason.GetPointer());
3150 MainForm::OnLoadingCompleted(void)
3152 AppLog("MainForm::OnLoadingCompleted start");
3154 result r = E_SUCCESS;
3156 if (__pWebViewer == null)
3161 if (__pAddressbar == null)
3166 if(__pWindowInfo && __pWebViewer)
3167 __pWindowInfo->pageTitle = __pWebViewer->GetTitle();
3168 if(__pImageMenu && __pImageMenu->GetShowState())
3170 __pImageMenu->SetShowState(false);
3171 __pImageMenu->Invalidate(true);
3174 if (__pWebViewer->CanGoForward())
3176 //__pAddressbar->SetForwardButtonEnabled(true);
3177 SetForwardButtonEnabled(true);
3181 //__pAddressbar->SetForwardButtonEnabled(false);
3182 SetForwardButtonEnabled(false);
3185 /*if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3187 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3189 //__pAddressbar->UpdateProgress(0);
3193 if(GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3195 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3199 AppLog("PrivateBrowsing %d",__pWebViewer->IsPrivateBrowsingEnabled());
3200 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
3201 if (isPrivateBrowsing == false)
3203 if(__pHistory != null)
3209 __pHistory = new(std::nothrow) History;
3210 HistoryPresentationModel::GetCurrentDateTime(date);
3213 __pHistory->SetHistoryTitle(__pWindowInfo->pageTitle);
3214 AppLogDebug("MainForm::OnLoadingCompleted pagetitle = %ls", __pWindowInfo->pageTitle.GetPointer());
3216 __pHistory->SetHistoryUrl(__pWindowInfo->pageUrl);
3217 AppLogDebug("MainForm::OnLoadingCompleted pageUrl = %ls", __pWindowInfo->pageUrl.GetPointer());
3219 __pHistory->SetVisitedTime(date);
3221 if (__pWebViewer != null)
3223 AppLog("MainForm::OnLoadingCompleted setting the fav icon 0");
3225 Bitmap* pTempBitmap = __pWebViewer->GetFaviconN();
3226 if (pTempBitmap != null)
3228 AppLog("MainForm::OnLoadingCompleted setting the fav icon 1");
3229 __pHistory->SetFavIconBitmap(*pTempBitmap);
3234 Canvas* pCanvas = __pWebViewer->GetCanvasN();
3235 Bitmap* pBitmap = new(std::nothrow) Bitmap();
3236 if ( pCanvas != null && pCanvas != null && pBitmap != null)
3238 pBitmap->Construct(*pCanvas, pCanvas->GetBounds());
3239 pBitmap->Scale(Dimension(pBitmap->GetWidth()/4, pBitmap->GetHeight()/4));
3240 __pHistory->SetThumbnail(pBitmap);
3242 Bitmap *pFavIcon = __pWebViewer->GetFaviconN();
3245 Tizen::Graphics::BufferInfo bmpInfo;
3246 pFavIcon->Lock(bmpInfo);
3247 AppLog("rrrr:: width %d height %d of the faviconbitmap from bufferinfo", bmpInfo.width, bmpInfo.height);
3249 AppLog("MainForm::OnLoadingCompleted setting the fav icon 2");
3251 AppLog("rrrr:: width %d height %d of the faviconbitmap",pFavIcon->GetWidth(),pFavIcon->GetHeight());
3252 __pHistory->SetFavIconBitmap(*pFavIcon);
3256 HistoryPresentationModel::GetInstance()->SaveTempHistory(*__pHistory);
3263 // if (__pWindowInfo && __pWindowInfo->faviconUrl == "")
3265 // temperary fixed (webpage can be not loaded)
3269 bool isReaderEnabled = SettingPresentationModel::GetInstance()->IsRunReaderEnabled();
3270 if (isReaderEnabled == true)
3274 delete __pReaderData;
3275 __pReaderData = null;
3277 String filePath = Tizen::App::UiApp::GetInstance()->GetAppRootPath();
3278 filePath.Append(L"data/reader.js");
3284 result r = E_SUCCESS;
3285 FileAttributes attr;
3287 File::GetAttributes(filePath,attr);
3289 r = file.Construct(filePath, L"r+");
3292 AppLogDebug("File construct failed with %s", GetErrorMessage(r));
3295 char* pScript = new(std::nothrow) char[attr.GetFileSize()+1];
3298 AppLogDebug("Memory allocation for file failed %s", GetErrorMessage(r));
3301 // file.Read(pScript,attr.GetFileSize());
3303 // AppLogDebug("scipt length %d",strlen(pScript));
3304 String strScript = L"";
3305 // strScript.Append(pScript);
3306 // for(int i=0; i<25; i++)
3308 file.Read(pScript,attr.GetFileSize());
3309 // AppLog("xyzz tell %d",file.Tell());
3310 // r = strScript.Append(pScript);
3311 // AppLog("xyzz append result %s",GetErrorMessage(r));
3312 // AppLog("xyzz strScript length %d",strScript.GetLength());
3314 // AppLog("xyzz final strScript length %d",strScript.GetLength());
3316 __pReaderData = __pWebViewer->EvaluateJavascriptN(pScript);
3317 if (__pReaderData == null)
3319 AppLog("MainScene::data is null Error :%s",GetErrorMessage(GetLastResult()));
3320 __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>");
3323 AppLogDebug("evaluateJavascript result %s , __pReaderData %ls",GetErrorMessage(GetLastResult()),__pReaderData->GetPointer());
3324 if (__pReaderData->CompareTo(L"undefined") != 0 && __pReaderData->CompareTo(L"") != 0)
3326 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3327 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3333 AppLog("MainForm::OnLoadingCompleted done");
3337 MainForm::OnEstimatedProgress(int progress)
3339 AppLogDebug("MainForm::OnEstimatedProgress entered %d",progress);
3341 if (progress < DEFAULT_PROGRESS_PERCENTAGE)
3342 progress = DEFAULT_PROGRESS_PERCENTAGE;
3344 // __pAddressbar->UpdateProgress(progress);
3345 UpdateProgress(progress);
3348 void MainForm::OnFaviconReceived(const Tizen::Graphics::Bitmap& favicon)
3350 AppLog("MainForm::OnFaviconReceived");
3351 if (__pWebViewer != null && __pHistory != null && __pWindowInfo != null && (__pWindowInfo->pageUrl.CompareTo(__pHistory->GetHistoryUrl()) == 0))
3353 Bitmap* favIcon = __pWebViewer->GetFaviconN();
3356 HistoryPresentationModel::GetInstance()->UpdateHistoryFavIcon(*__pHistory, *favIcon);
3363 MainForm::OnUrlValueChanged(Addressbar&)
3369 MainForm::OnUrlSubmitted(Addressbar& addBar)
3371 AppLog("MainForm::OnUrlSubmitted");
3372 String url = addBar.GetUrl();
3373 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
3375 if(__pFooterUrlField)
3376 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
3377 AddressBarCancelledClicked(*__pAddressbar);
3382 MainForm::LoadUrl(String& url)
3386 // UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3387 AppLogDebug("MainForm::LoadUrl enter");
3389 if (__pWebViewer != null)
3391 __pWebViewer->SetShowState(true);
3392 __pWebViewer->Invalidate(true);
3395 if (url.CompareTo(L"") == 0)
3399 if(__pFooterPanel != null)
3401 __pFooterPanel->SetShowState(true);
3402 __pFooterPanel->Invalidate(true);
3409 String firstPattern(L"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)");
3410 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)
3412 RegularExpression firstRegex;
3413 RegularExpression secondRegex;
3415 firstRegex.Construct(firstPattern, REGEX_CASELESS);
3416 secondRegex.Construct(secondPattern, REGEX_CASELESS);
3419 ret = firstRegex.Match(url, false); // This returns true value
3420 flag = secondRegex.Match(url, false); // Checks whether URL typed is of type abc.com (i.e without protocol in front of it)
3422 if (ret == true && __pWebViewer != null)
3425 __pWebViewer->LoadUrl(url);
3427 else if(__pWebViewer != null)
3429 String tempUrl = L"http://";
3430 tempUrl.Append(url);
3434 __pWebViewer->LoadUrl(tempUrl);
3438 UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3439 __pWebViewer->LoadUrl(SettingPresentationModel::GetInstance()->GetSearchUrl(encodedUrl));
3442 if (__pAddressbar != null)
3444 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3445 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3448 AppLogDebug("MainForm::LoadUrl exit");
3455 MainForm::OnFocusGained(const Tizen::Ui::Control& source)
3457 AppLog("MainForm::OnFocusGained");
3460 __pFooterPanel->SetShowState(false);
3465 __pAddressbar->SetShowState(true);
3466 __pAddressbar->SetAddressbarURLFocus();
3468 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3470 __currentSearchStr = L"";
3471 __currentWordIndex = 0;
3472 __maxOccurrances = 0;
3474 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
3476 __pFindWordEditField->SetText(L"");
3477 __pFindWordEditField->HideKeypad();
3478 __pFindWordControl->SetShowState(false);
3479 __pFindWordCountLabel->SetText(L"0/0");
3481 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
3483 __pFindWordEditFieldRightToLeft->SetText(L"");
3484 __pFindWordEditFieldRightToLeft->HideKeypad();
3485 __pFindWordControl->SetShowState(false);
3486 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
3489 __pFindWordNext->SetEnabled(false);
3490 __pFindWordPrev->SetEnabled(false);
3492 __pWebViewer->SearchTextAllAsync(L"",true);
3493 __pFindWordControl->SetShowState(false);
3495 RelayoutControls(false);
3499 MainForm::OnFocusLost(const Tizen::Ui::Control& source)
3501 AppLog("MainForm::OnFocusLost called");
3505 MainForm::OnStopClicked(Addressbar& addBar)
3507 AppLogDebug("MainForm::OnStopClicked called");
3510 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3511 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3512 __pWebViewer->StopLoading();
3513 RequestRedraw(true);
3518 MainForm::OnBackClicked(/*const Addressbar& addBar*/)
3520 // AppLog("MainForm::OnBackClicked");
3521 result r = E_FAILURE;
3522 if(__pImageMenu && __pImageMenu->GetShowState() == true)
3524 AppLog("Hiding the menu");
3525 __pImageMenu->SetShowState(false);
3528 if (__pWebViewer && __pWebViewer->CanGoBack())
3530 __pWebViewer->GoBack();
3532 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
3535 pApp = UiApp::GetInstance();
3538 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3541 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3549 WindowInfo* pWindowInfo = null;
3551 SceneManager* pSceneManager = SceneManager::GetInstance();
3552 if (pSceneManager == null)
3556 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
3557 if (pAllWindowList == NULL)
3559 pApp = UiApp::GetInstance();
3562 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3565 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3570 if (pAllWindowList != null)
3572 totalCount = pAllWindowList->GetCount();
3574 for (int count = 0; count < totalCount; count++)
3576 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
3577 if (pWindowInfo == null)
3579 pApp = UiApp::GetInstance();
3582 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3585 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3590 if (pSceneManager != null && pWindowInfo != null && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
3592 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
3595 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3598 r = pAllWindowList->RemoveAt(count, true);
3599 __pWindowInfo = null;
3602 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3607 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
3609 else if(pAllWindowList->GetCount() > 0)
3611 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
3615 pApp = UiApp::GetInstance();
3618 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3623 if (pWindowInfo == null)
3625 pApp = UiApp::GetInstance();
3628 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3634 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
3635 // r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
3638 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3652 MainForm::OnForwardClicked(/*const Addressbar& addBar*/)
3654 AppLog("MainForm::OnForwardClicked");
3655 if (__pWebViewer == null)
3658 if (__pWebViewer->CanGoForward())
3660 __pWebViewer->GoForward();
3665 MainForm::OnAddressBarFocusGained(const Addressbar& addBar)
3667 AppLog("XYZ::MainForm::OnAddressBarFocusGained");
3668 if(__pFooterPanel != null)
3670 __pFooterPanel->SetShowState(false);
3673 if (__pAddressbar != null && __pAddressbar->GetShowState() == false)
3675 __pAddressbar->SetShowState(true);
3676 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3679 RelayoutControls(false);
3683 MainForm::OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadState)
3685 AppLog("XYZ::MainForm::OnAddressBarFocusLost");
3687 int Height = GetClientAreaBounds().height;
3688 AppLog("MainForm::OnAddressBarFocusLost height is %d",Height);
3690 RelayoutControls(false);
3694 MainForm::OnAddressCancelledClicked(const Addressbar& addBar)
3696 AddressBarCancelledClicked(addBar);
3700 MainForm::OnAddressBarModeChanged(/*const Addressbar& addBar*/)
3702 __prevAddressBarMode = __curAddressBarMode;
3704 if (__pAddressbar != null)
3706 __curAddressBarMode = GetAddressbarMode();
3709 if (__curAddressBarMode == ADDRESSBAR_MODE_EDIT)
3711 __adressPanelPosition.y = 0;
3712 if (__pAddressbar != null)
3714 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
3715 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3716 __pAddressbar->Invalidate(true);
3718 if (__pWebViewer != null)
3720 __pWebViewer->StopLoading();
3723 else if(__curAddressBarMode == ADDRESSBAR_MODE_LOADING)
3725 __adressPanelPosition.y = 0;
3726 if (__pAddressbar != null)
3728 __webControlPosition.y = 0;
3729 __pAddressbar->SetBounds(Rectangle(0, __pAddressbar->GetY() - __pAddressbar->GetHeight(), GetClientAreaBounds().width, __pAddressbar->GetHeight()));
3730 __pAddressbar->Invalidate(true);
3736 MainForm::OnClipboardClosed(const Addressbar& addBar)
3738 AppLog("XYZ::MainForm::OnClipboardClosed");
3739 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3741 AppLog("akjshdasd 3");
3742 __pFooterPanel->SetShowState(true);
3744 __isKeypadOpened = false;
3745 RelayoutControls(false);
3749 MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar, bool footerState)
3751 AppLog("XYZ::MainForm::OnAddressBarKeypadClosed");
3752 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3754 AppLog("akjshdasd 3");
3755 __pFooterPanel->SetShowState(true);
3757 __isKeypadOpened = false;
3758 if(__pNotification && __pNotification->GetShowState())
3760 __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight());
3763 RelayoutControls(false,footerState);
3767 MainForm::OnAddressBarKeypadOpened(const Addressbar& addBar)
3769 AppLog("XYZ::MainForm::OnAddressBarKeypadOpened");
3770 __isKeypadOpened = true;
3771 if(__pNotification && __pNotification->GetShowState())
3773 __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight());
3775 RelayoutControls(false);
3779 MainForm::OnAddressBarKeypadWillOpen(const Addressbar& addBar)
3781 __isKeypadOpened = true;
3782 __pFooterPanel->SetShowState(false);
3786 MainForm::OnAddressBarKeypadBoundsChanged(const Addressbar& addBar)
3788 AppLog("XYZ::MainForm::OnAddressBarKeypadBoundsChanged");
3789 RelayoutControls(false);
3793 MainForm::OnPageTitleReceived(const Tizen::Base::String& title)
3795 AppLog("MainForm::OnPageTitleReceived %ls",title.GetPointer());
3798 __pWindowInfo->pageTitle = title;
3799 if (__pWebViewer != null)
3801 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3802 AppLog("MainForm::OnPageTitleReceived url %ls",__pWindowInfo->pageUrl.GetPointer());
3805 if (__pAddressbar != null && __pWebViewer != null)
3807 SetUrl(__pWebViewer->GetUrl());
3808 __pAddressbar->Invalidate(true);
3813 MainForm::UpdateFavicon(void)
3815 bool urlImageType = false;
3816 String *tempPath = null;
3818 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();");
3819 Bitmap* pBitmap = null;
3821 if (tempPath && tempPath->GetLength() > 0 && tempPath->CompareTo(L"undefined") != 0)
3823 if (__pWindowInfo != null)
3826 url.SetUri(*tempPath);
3827 if (url.GetHost().GetLength() == 0)
3831 webUrl.SetUri(__pWebViewer->GetUrl());
3832 result r = url.SetHost(webUrl.GetHost());
3839 if (url.GetScheme().GetLength() == 0)
3843 webUrl.SetUri(__pWebViewer->GetUrl());
3844 url.SetScheme(webUrl.GetScheme());
3846 __pWindowInfo->faviconUrl = url.ToString();
3848 pBitmap = __pWebViewer->GetFaviconN();
3850 if (pBitmap != null)
3852 if (__pWindowInfo->pFavicon != NULL)
3854 __pWindowInfo->pFavicon = null;
3856 __pWindowInfo->pFavicon = new(std::nothrow) Bitmap();
3857 __pWindowInfo->pFavicon->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
3859 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3861 FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
3863 else if(__pWindowInfo->pFavicon != null)
3865 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3869 Bitmap *pDefaultBmp = FaviconManager::GetInstance()->GetDefaultFaviconN();
3870 if(pDefaultBmp != null)
3872 __pAddressbar->SetFaviconBitmap(*pDefaultBmp);
3886 if(tempPath != null)
3890 AppLogDebug("Error occured: %s", GetErrorMessage(GetLastResult()));
3896 MainForm::OnLoadingRequested(const Tizen::Base::String& url,
3897 Tizen::Web::Controls::WebNavigationType type)
3899 AppLog("urlk %ls",url.GetPointer());
3900 // when load new page if find word panel is open its show state is false
3901 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3903 __currentSearchStr = L"";
3904 __currentWordIndex = 0;
3905 __maxOccurrances = 0;
3906 __pFindWordEditField->SetText(L"");
3907 __pFindWordNext->SetEnabled(false);
3908 __pFindWordPrev->SetEnabled(false);
3909 __pFindWordCountLabel->SetText(L"0/0");
3910 __pFindWordControl->SetShowState(false);
3911 __pFindWordEditField->HideKeypad();
3912 RelayoutControls(false);
3915 __pFooterPanel->Invalidate(true);
3918 uriInfo.SetUri(url);
3920 if(url.Contains(IDS_TIZEN_SERVICE))
3923 String delim(L":;,");
3925 // Creates a StringTokenizer instance
3926 StringTokenizer strTok(url, delim);
3928 int count = strTok.GetTokenCount(); // count == 4
3930 HashMap *pMap = new HashMap();
3936 while (strTok.HasMoreTokens())
3938 AppLog("Token: %ls", token.GetPointer());
3939 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3940 if(token.Contains(IDS_APPID))
3942 token.SubString(6, appId);
3943 AppLog("AppID:%ls", appId.GetPointer());
3945 else if(token.Contains(IDS_KEY))
3947 token.SubString(4, key);
3948 AppLog("key:%ls", key.GetPointer());
3950 else if(token.Contains(IDS_VALUE))
3952 token.SubString(6, value);
3953 AppLog("value:%ls", value.GetPointer());
3956 pMap->Add(key, value);
3960 AppControl *pAppControl = null;
3961 String operationId = L"http://tizen.org/appcontrol/operation/main";
3962 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
3965 result r = pAppControl->Start(null, null, pMap, null);
3969 AppLogException("AppControl not found");
3979 MainForm::OnWebDataReceived(const Tizen::Base::String& mime,
3980 const Tizen::Net::Http::HttpHeader& httpHeader)
3982 return Tizen::Web::Controls::WEB_DECISION_CONTINUE;
3986 MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint& endPoint)
3988 AppLog("LMN::MainForm::OnWebPageBlockSelected");
3989 // if(__isLongPressedDone == false)
3992 if (__pHitElementResult != null)
3994 delete __pHitElementResult;
3995 __pHitElementResult = null;
3998 if (__pWebViewer != null)
4000 AppLog("MainForm::OnWebPageBlockSelected web not null");
4001 __pHitElementResult = __pWebViewer->GetElementByPointN(startPoint);
4003 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
4005 AppLog("datafirst startpoint error %s",GetErrorMessage(GetLastResult()));
4006 __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint);
4007 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
4009 __pHitElementResult = __pWebViewer->GetElementByPointN(__longPressPoint);
4011 AppLog("datafirst endpoint error %s",GetErrorMessage(GetLastResult()));
4015 if (__pHitElementResult == null)
4020 if (__pHitElementResult->HasImage() != true)
4022 String tagName = __pHitElementResult->GetTagName();
4023 String type = __pHitElementResult->GetAttributeValue("type");
4026 AppLog("TagName %ls",tagName.GetPointer());
4027 __currentSelectedStr.Clear();
4028 AppLog("__currentSelectedStr after clear %ls",__currentSelectedStr.GetPointer());
4029 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4030 AppLog("__currentSelectedStr after GetTextFromBlock %ls",__currentSelectedStr.GetPointer());
4031 if(tagName.Equals(L"TEXTAREA",false) == true)
4033 AppLog("Tagnameseemstobe TEXTAREA");
4035 else if(tagName.Equals(L"INPUT",false) == true)
4037 AppLog("Tagnameseemstobe INPUT");
4040 if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) /*&& __isLongPressedDone == true*/ && __currentSelectedStr.CompareTo(L"") !=0 )
4042 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4044 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),true);
4047 __pImageMenu->SetShowState(true);
4048 __pImageMenu->Show();
4049 __pImageMenu->Invalidate(true);
4052 else /*if(__isLongPressedDone == true)*/
4054 AppLog("MainForm::OnWebPageBlockSelected no paste option");
4056 if(__pHitElementResult->GetUrl().GetLength() > 0)
4058 __currentSelectedStr.Clear();
4059 __currentSelectedStr = __pHitElementResult->GetUrl();
4061 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),false);
4064 __pImageMenu->SetShowState(true);
4065 __pImageMenu->Show();
4066 __pImageMenu->Invalidate(true);
4070 AppLog("MainForm::OnWebPageBlockSelected block text is %ls",__currentSelectedStr.GetPointer());
4071 AppLog("MainForm::OnWebPageBlockSelected tag name is %ls",tagName.GetPointer());
4072 AppLog("MainForm::OnWebPageBlockSelected type name is %ls",type.GetPointer());
4078 MainForm::OnWebPageShowRequested(Tizen::Web::Controls::Web& source)
4084 MainForm::OnWebWindowCreateRequested(void)
4086 AppLog("MainForm::OnWebWindowCreateRequested entered");
4087 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4089 if (pNewWindowInfo == null)
4093 result r = E_SUCCESS;
4094 SceneManager* pSceneManager = SceneManager::GetInstance();
4095 if (pSceneManager == NULL)
4099 ArrayList* pArgList = new(std::nothrow) ArrayList();
4100 if (pArgList == NULL)
4104 r = pArgList->Construct();
4107 pNewWindowInfo->isJavascriptInitiated = true;
4108 pArgList->Add(*pNewWindowInfo);
4109 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4113 AppLogDebug("EditHistoryListForm::OnFormBackRequested Failed to GoBackward %s",GetErrorMessage(r));
4120 return pNewWindowInfo->pCurrentWeb;
4123 void MainForm::OnWebWindowCloseRequested(Tizen::Web::Controls::Web& source)
4125 AppLog("OnWebWindowCloseRequested");
4126 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
4127 SceneManager* pSceneManager = SceneManager::GetInstance();
4128 WindowInfo* pWindowInfo = null;
4129 WindowInfo* pNewWindowInfo = null;
4132 result r = E_FAILURE;
4134 if (pAllWindowList != null)
4136 totalCount = pAllWindowList->GetCount();
4139 for (int count = 0; count < totalCount; count++)
4141 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
4142 if (pSceneManager != null && pWindowInfo != null && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID)
4144 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
4147 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
4151 r = pAllWindowList->RemoveAt(count, true);
4155 pNewWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
4157 else if(pAllWindowList->GetCount() > 0)
4159 pNewWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
4163 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4165 if (pNewWindowInfo == null)
4169 result r = E_SUCCESS;
4170 SceneManager* pSceneManager = SceneManager::GetInstance();
4171 if (pSceneManager == NULL)
4175 ArrayList* pArgList = new(std::nothrow) ArrayList();
4176 if (pArgList == NULL)
4180 r = pArgList->Construct();
4183 pArgList->Add(*pNewWindowInfo);
4184 result r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4185 if (pArgList != null)
4192 AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r));
4197 pApp = UiApp::GetInstance();
4200 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
4205 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
4207 __pWindowInfo = null;
4215 MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter)
4217 AppLog("xyz:: MainForm::RelayoutControls called");
4218 __webControlPosition.y = 0;
4219 __webControlHeight = GetClientAreaBounds().height;
4220 AppLog("Client area height: %d width %d", __webControlHeight,GetClientAreaBounds().width);
4222 AppLog("Client area height: %d", __webControlHeight);
4223 if(__pAddressbar != null && __pAddressbar->GetShowState() == true)
4225 __webControlPosition.y += __pAddressbar->GetHeight();
4226 __webControlHeight -= __pAddressbar->GetHeight();
4227 __pAddressbar->SetBounds(0, 0, __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
4229 else if(__pFindWordControl != null && __pFindWordControl->GetShowState() == true)
4231 __webControlPosition.y += __pFindWordControl->GetHeight();
4232 __webControlHeight -= __pFindWordControl->GetHeight();
4233 __pFindWordControl->SetBounds(0, 0, GetClientAreaBounds().width, __pFindWordControl->GetHeight());
4236 if(__pFooterPanel != null && __pFooterPanel->GetShowState() == true && relayoutFooter == true)
4238 __webControlHeight -= __pFooterPanel->GetHeight();
4240 __pFooterPanel->SetBounds(0, __webControlPosition.y + __webControlHeight, GetClientAreaBounds().width, __pFooterPanel->GetHeight());
4241 __webControlHeight = __webControlHeight + 12;
4243 if (__pWebViewer != null && __pWebViewer->GetShowState() == true)
4245 if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight )
4250 __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight );
4251 AppLog("xyz:: MainForm::RelayoutControls called __webControlHeight %d",__webControlHeight);
4252 __pWebViewer->Invalidate(false);
4255 if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null)
4257 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__webControlPosition.y , GetClientAreaBounds().width, __webControlHeight));
4264 MainForm::ShowFindWordPanel(bool show , bool isTouchPressed)
4266 if (__pFindWordControl == null)
4271 Tizen::Locales::LocaleManager localeManager;
4272 Tizen::Locales::Locale local = localeManager.GetSystemLocale();
4274 String languageCode;
4275 result r = SettingInfo::GetValue(L"Language", languageCode);
4276 // int languagecode = local.GetLanguageCode();
4277 AppLog("rahul language is %S", languageCode.GetPointer());
4281 InitFindWordPanel();
4283 if (languageCode.CompareTo("ara") == 0)
4285 AppLog("rahul language is arabic");
4287 __pFindWordPanelLeftToRight->SetShowState(false);
4288 __pFindWordPanelRightToLeft->SetShowState(true);
4290 __pFindWordClear->SetShowState(false);
4291 __pFindWordCountLabel->SetShowState(false);
4292 __pFindWordEditField->SetShowState(false);
4294 __pFindWordClearRightToLeft->SetShowState(true);
4295 __pFindWordCountLabelRightToLeft->SetShowState(true);
4296 __pFindWordEditFieldRightToLeft->SetShowState(true);
4300 AppLog("rahul language is not arabic");
4303 __pFindWordPanelLeftToRight->SetShowState(true);
4304 __pFindWordPanelRightToLeft->SetShowState(false);
4306 __pFindWordClear->SetShowState(true);
4307 __pFindWordCountLabel->SetShowState(true);
4308 __pFindWordEditField->SetShowState(true);
4310 __pFindWordClearRightToLeft->SetShowState(false);
4311 __pFindWordCountLabelRightToLeft->SetShowState(false);
4312 __pFindWordEditFieldRightToLeft->SetShowState(false);
4314 __pFindWordControl->SetShowState(true);
4318 if(__pFindWordControl != null)
4320 __pFindWordControl->SetShowState(false);
4324 AppLog("MainForm::ShowFindWordPanel %d",show);
4325 if (show && !isTouchPressed)
4327 if (languageCode.CompareTo("ara") == 0)
4329 if (__pFindWordEditFieldRightToLeft)
4331 __pFindWordEditFieldRightToLeft->SetFocus();
4332 __pFindWordEditFieldRightToLeft->ShowKeypad();
4337 if (__pFindWordEditField)
4339 __pFindWordEditField->SetFocus();
4340 __pFindWordEditField->ShowKeypad();
4346 if (languageCode.CompareTo("ara") == 0)
4348 if (__pFindWordEditFieldRightToLeft)
4349 __pFindWordEditFieldRightToLeft->HideKeypad();
4353 if (__pFindWordEditField)
4354 __pFindWordEditField->HideKeypad();
4358 RelayoutControls(false);
4362 MainForm::StartWordSearch()
4364 //Get the count of occurances of the word in the current page
4365 __maxOccurrances = 0;
4366 __currentWordIndex = 0;
4368 __pFindWordPrev->SetEnabled(false);
4369 String *pCountStr = null;
4372 result r = __pWebViewer->SearchTextAllAsync(__currentSearchStr, false);
4373 AppLog("Search Result %s",GetErrorMessage(r));
4376 /*__pWebViewer->EvaluateJavascriptN(L"document.body.textContent.match(/" + __currentSearchStr + "/gi).length;");
4377 if (pCountStr != null)
4379 Integer::Parse(*pCountStr, 10, __maxOccurrances);
4383 AppLogDebug("'%ls' is found %d times", __currentSearchStr.GetPointer(), __maxOccurrances);
4388 void MainForm::OnTextFound(int totalCount, int currentOrdinal)
4390 AppLog("MainForm::OnTextFound totalCount %d",totalCount);
4391 AppLog("MainForm::OnTextFound currentOrdinal %d",currentOrdinal);
4395 if (__pFindWordCountLabel)
4397 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
4399 if (__pFindWordEditField)
4401 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
4404 else if(totalCount >= 100)
4406 if (__pFindWordCountLabel)
4408 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4410 if (__pFindWordEditField)
4412 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4417 if (__pFindWordCountLabel)
4419 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4421 if (__pFindWordEditField)
4423 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4427 __maxOccurrances = totalCount;
4428 __currentWordIndex = currentOrdinal;
4430 //Reset the UI controls as per the maxOccurrance value
4431 if (totalCount <= 0)
4433 AppLog("Word not found");
4434 //Show error notification to user
4435 __pFindWordNext->SetEnabled(false);
4436 if(__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4438 __pFindWordCountLabel->SetText(L"0/0");
4439 __pFindWordCountLabel->Invalidate(false);
4441 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4443 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4444 __pFindWordCountLabelRightToLeft->Invalidate(false);
4446 __pFindWordNext->Invalidate(false);
4447 __pFindWordPrev->Invalidate(false);
4452 if (totalCount == 1 || totalCount == currentOrdinal)
4454 __pFindWordNext->SetEnabled(false);
4458 __pFindWordNext->SetEnabled(true);
4461 String countStr = L"";
4462 countStr.Append(__currentWordIndex);
4463 countStr.Append(L"/");
4464 countStr.Append(__maxOccurrances);
4465 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4467 __pFindWordCountLabel->SetText(countStr);
4468 __pFindWordCountLabel->Invalidate(false);
4469 __pFindWordCountLabel->Invalidate(false);
4471 else if (__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4473 __pFindWordCountLabelRightToLeft->SetText(countStr);
4474 __pFindWordCountLabelRightToLeft->Invalidate(false);
4475 __pFindWordCountLabelRightToLeft->Invalidate(false);
4477 if (__pFindWordNext)
4479 __pFindWordNext->Invalidate(false);
4481 if (__pFindWordPrev)
4483 __pFindWordPrev->Invalidate(false);
4489 MainForm::FindNextWord(bool next)
4493 //if (__pWebViewer->SearchText(__currentSearchStr, true) == true)
4494 if (__pWebViewer->SearchNextAsync(true) == E_SUCCESS)
4496 if (__currentWordIndex < __maxOccurrances)
4498 __currentWordIndex++;
4504 //if (__pWebViewer->SearchText(__currentSearchStr, false) == true)
4505 if (__pWebViewer->SearchNextAsync(false) == E_SUCCESS)
4507 if(__currentWordIndex > 1)
4509 __currentWordIndex--;
4514 String countStr = L"";
4515 countStr.Append(__currentWordIndex);
4516 countStr.Append(L"/");
4517 countStr.Append(__maxOccurrances);
4519 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4521 __pFindWordCountLabel->SetText(countStr);
4522 __pFindWordCountLabel->Invalidate(false);
4524 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4526 __pFindWordCountLabelRightToLeft->SetText(countStr);
4527 __pFindWordCountLabelRightToLeft->Invalidate(false);
4530 if (__currentWordIndex >= __maxOccurrances)
4532 __pFindWordNext->SetEnabled(false);
4536 __pFindWordNext->SetEnabled(true);
4538 if (__currentWordIndex <= 1)
4540 __pFindWordPrev->SetEnabled(false);
4544 __pFindWordPrev->SetEnabled(true);
4546 __pFindWordPrev->Invalidate(false);
4547 __pFindWordNext->Invalidate(false);
4549 __pFindWordControl->Invalidate(true);
4553 MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
4555 AppLog("xyz::MainForm::OnWebKeypadWillOpen");
4556 __isKeypadOpened = true;
4557 __pFooterPanel->SetShowState(false);
4558 // OnAddressBarKeypadOpened(*__pAddressbar);
4562 MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source)
4564 __isKeypadOpened = true;
4565 AppLog("xyz::MainForm::OnWebKeypadOpened");
4567 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4569 __currentSearchStr = L"";
4570 __currentWordIndex = 0;
4571 __maxOccurrances = 0;
4572 __pFindWordEditField->SetText(L"");
4573 __pFindWordNext->SetEnabled(false);
4574 __pFindWordPrev->SetEnabled(false);
4575 __pFindWordCountLabel->SetText(L"0/0");
4576 __pWebViewer->SearchTextAllAsync(L"",false);
4577 __pFindWordControl->SetShowState(false);
4578 __pFindWordEditField->HideKeypad();
4582 if (__pWebViewer != null && __pFooterPanel != null)
4584 AppLog("MainForm::OnWebKeypadOpened GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
4585 if(__pAddressbar != null)
4587 __pAddressbar->SetShowState(false);
4589 if(__pFindWordControl != null)
4591 __pFindWordControl->SetShowState(false);
4593 __pFooterPanel->SetShowState(false);
4594 __pWebViewer->SetBounds(Rectangle(0, 0,GetClientAreaBounds().width, GetClientAreaBounds().height));
4596 // if(__pImageMenu && __pImageMenu->GetShowState() == true)
4598 // __pImageMenu->SetAnchorPosition(Point(__pImageMenu->GetAnchorPosition().x/2,__pImageMenu->GetAnchorPosition().y/2));
4599 // AppLog("omgomgomg");
4605 MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source)
4607 AppLog("abcde::MainForm::OnWebKeypadClosed");
4608 AppLog("xyz::MainForm::OnWebKeypadClosed");
4609 AppLog("akjshdasd 4");
4610 __pFooterPanel->SetShowState(true);
4611 // OnAddressBarKeypadClosed(*__pAddressbar);
4612 RelayoutControls(false);
4613 __isKeypadOpened = false;
4616 if(__pImageMenu && __pImageMenu->GetShowState() == true)
4618 AppLog("abcde: imagemenu visible.");
4621 __pWebViewer->GetBlockRange(p,q);
4622 if (p == Point(0,0) && q == Point(0,0))
4630 __pImageMenu->SetAnchorPosition(p);
4631 __pImageMenu->Show();
4637 MainForm::OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source)
4639 // RelativeLayout(false);
4640 if(__pWebViewer != null)
4642 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,GetClientAreaBounds().height));
4647 MainForm::OnTouchDoublePressed(const Control& source, const Point& currentPosition, const TouchEventInfo& touchInfo)
4649 Control* temp = const_cast< Control* >(&source);
4650 Header* pHeader = dynamic_cast< Header* >(temp);
4651 if (pHeader != null)
4653 //Header double - clicked
4654 AppLog("Header double clicked");
4656 if(__pFindWordControl)
4658 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
4659 ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
4663 AppLog("MainScene::OnTouchDoublePressed");
4667 void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4669 AppLog("LMN::abcde::MainForm::OnTouchLongPressed %d, %d" ,currentPosition.x,currentPosition.y);
4670 if(TouchEventManager::GetInstance() && TouchEventManager::GetInstance()->GetTouchInfoListN() && TouchEventManager::GetInstance()->GetTouchInfoListN()->GetCount() >1)
4672 AppLog("Returning because of more than one touch point.");
4676 // __pWebViewer->ReleaseBlock();
4678 __pWebViewer->SetFocus();
4679 __longPressPoint = currentPosition;
4681 if (__pHitElementResult != null)
4683 delete __pHitElementResult;
4684 __pHitElementResult = null;
4687 if (__pWebViewer != null)
4689 AppLog("MainForm::OnTouchLongPressed web not null");
4690 __pHitElementResult = __pWebViewer->GetElementByPointN(currentPosition);
4693 if (__pHitElementResult == null)
4698 if (__pHitElementResult->HasImage() == true)
4700 if(__pWebViewer != null)
4701 InitImageContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4702 __pImageMenu->SetShowState(true);
4703 __pImageMenu->Show();
4704 __pImageMenu->Invalidate(true);
4706 else if(__pHitElementResult->HasUrl() == true)
4708 String tempURl = __pHitElementResult->GetUrl();
4709 AppLog("tempURl is %ls", tempURl.GetPointer());
4710 const Bitmap* pBitmap = __pHitElementResult->GetImage();
4711 if (pBitmap != null)
4719 InitImageLinkContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4720 __pImageMenu->SetShowState(true);
4721 __pImageMenu->Show();
4722 __pImageMenu->Invalidate(true);
4726 String tagName = __pHitElementResult->GetTagName();
4727 String type = __pHitElementResult->GetAttributeValue("type");
4728 String value = __pHitElementResult->GetAttributeValue(L"value");
4729 String innerHtml = __pHitElementResult->GetAttributeValue(L"innerHTML");
4730 result r = E_FAILURE;
4731 __currentSelectedStr.Clear();
4732 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4734 AppLog("tag name is %ls", tagName.GetPointer());
4735 AppLog("type is %ls", type.GetPointer());
4739 __isLongPressedDone = true;
4740 if( type.Equals(L"submit",false) !=true && type.Equals(L"checkbox",false) !=true && type.Equals(L"range",false) !=true && type.Equals(L"file",false) !=true)
4741 r =__pWebViewer->SetBlockSelectionPosition(currentPosition);
4742 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"checkbox",false) !=true && type.Equals(L"range",false) !=true && type.Equals(L"file",false) !=true/*&& __isWebKeypadOpened == true*/ && __currentSelectedStr.Equals(L"",false) == true && r == E_INVALID_ARG)
4744 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4746 InitSelectTextContextMenu(Point(currentPosition.x , currentPosition.y + __pWebViewer->GetY()),true, true);
4749 __pImageMenu->SetShowState(true);
4750 __pImageMenu->Show();
4751 __pImageMenu->Invalidate(true);
4754 AppLog("setselectionselectedornot %s",GetErrorMessage(r));
4757 // __inputEventToBeSupressed = true;
4761 MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4763 AppLog("xyz:: MainForm::OnTouchReleased called");
4765 if (__pAddressbar && __pAddressbar->GetShowState() == true)
4767 __pAddressbar->SetShowState(false);
4769 if(__pFooterPanel && __isKeypadOpened == false)
4771 __pFooterPanel->SetShowState(true);
4775 /*HitElementResult* pHitElement = __pWebViewer->GetElementByPointN(currentPosition);
4776 if(pHitElement != null && pHitElement->HasUrl() == true && __inputEventToBeSupressed == true)
4778 __pWebViewer->ConsumeInputEvent();
4780 if(pHitElement != null)
4784 __inputEventToBeSupressed = false;*/
4788 MainForm::OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4795 MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4797 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4799 __currentSearchStr = L"";
4800 __currentWordIndex = 0;
4801 __maxOccurrances = 0;
4803 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
4805 __pFindWordEditField->SetText(L"");
4806 __pFindWordEditField->HideKeypad();
4807 __pFindWordControl->SetShowState(false);
4808 __pFindWordCountLabel->SetText(L"0/0");
4810 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
4812 __pFindWordEditFieldRightToLeft->SetText(L"");
4813 __pFindWordEditFieldRightToLeft->HideKeypad();
4814 __pFindWordControl->SetShowState(false);
4815 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4818 __pFindWordNext->SetEnabled(false);
4819 __pFindWordPrev->SetEnabled(false);
4821 __pWebViewer->SearchTextAllAsync(L"",true);
4822 __pFindWordControl->SetShowState(false);
4824 AppLog("__pAddressbar->GetShowState() %d",__pAddressbar->GetShowState());
4825 if(__pAddressbar->GetShowState() == false)
4827 __pAddressbar->SetAddressbarURLFocus();
4828 __pFooterPanel->SetShowState(false);
4835 MainForm::OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4841 MainForm::OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4847 MainForm::OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4853 MainForm::OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4859 MainForm::OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4865 MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
4867 AppLog("MainForm::OnOrientationChanged GetClientAreaBounds %d, %d",GetClientAreaBounds().width,GetClientAreaBounds().height);
4868 int widthContextItem = 0;
4869 if(__pFindWordCountLabel)
4870 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4871 // As per the platform engineer comment removed this line
4872 /*if(__pWebViewer != null)
4874 // 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
4875 __pWebViewer->ReleaseBlock();
4878 // if(__pFindWordControl != null)
4879 // ShowFindWordPanel(__pFindWordControl->GetShowState(), false);
4881 if(__pOptionMenu && __pOptionMenu->GetShowState() == true)
4883 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4885 AppLog(" Orientation landscape");
4886 __pOptionMenu->SetMaxVisibleItemsCount(5);
4890 AppLog(" Orientation potrait");
4891 __pOptionMenu->SetMaxVisibleItemsCount(6);
4894 if(__pNotification && __pNotification->GetShowState() == true)
4896 __pNotification->SetShowState(false);
4897 __pNotification->Invalidate(false);
4899 if ( __pFooterLabel != null)
4901 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
4904 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
4910 if (__pFindWordBgLabel != null)
4912 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
4913 if (pBitmap != null)
4915 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
4920 if (__pFindWordBgLabelRightToLeft != null)
4922 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
4923 if (pBitmap != null)
4925 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
4931 // if(__pOptionMenu != null)
4932 // __pOptionMenu->SetShowState(false);
4934 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4936 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE;
4940 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT;
4945 AppLog("__pFooterPanel->GetShowState() is true");
4947 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), __pFooterPanel->GetWidth(), __pFooterPanel->GetHeight());
4948 __pFooterPanel->Invalidate(true);
4952 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
4953 if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
4955 InitMostVisitedSitesView(orientationStatus);
4958 RelayoutControls(false);
4959 if (__pArticleReaderPanel != null)
4961 if (__pArticleReaderPanel->GetShowState() == true)
4963 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
4965 if (__pBlankPanel != null)
4966 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
4968 if (__pWebReader != null)
4970 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight() - 96));
4972 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
4973 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
4975 if ( pBitmap != null && pSrcBitmap != null)
4977 AppLog("CreateReaderPanel ninepatchbitmap found");
4978 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
4981 __pArticleReaderLabel->SetBounds(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()));
4982 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
4983 if (pBitmap != null)
4988 if (pSrcBitmap != null)
4997 if (__pAddressbar != null)
4999 int width = GetClientAreaBounds().width;
5000 __pAddressbar->OrientationChanged(width);
5005 MainForm::OnSettingsChange(int settingvalue)
5007 AppLogDebug("MainForm::OnSettingsChange entered");
5009 if(settingvalue == (int)REGISTRY_SETTING_HOMEPAGE)
5011 __pAddressbar->ResetGuideText();
5013 if (__pWebViewer == null)
5015 AppLogDebug("Webviewer is not initialized yet.");
5019 if (settingvalue == (int) REGISTRY_SETTING_DEFAULT_VIEW)
5021 WebSetting settings = __pWebViewer->GetSetting();
5022 if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_FIT_TO_WIDTH")) == 0)
5024 settings.SetAutoFittingEnabled(true);
5026 else if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_READABLE")) == 0)
5028 settings.SetAutoFittingEnabled(false);
5030 __pWebViewer->SetSetting(settings);
5033 else if (settingvalue == (int) REGISTRY_SETTING_RUN_JAVASCRIPT)
5035 WebSetting settings = __pWebViewer->GetSetting();
5036 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
5037 __pWebViewer->SetSetting(settings);
5039 else if (settingvalue == (int) REGISTRY_SETTING_DISPLAY_IMAGES)
5041 WebSetting settings = __pWebViewer->GetSetting();
5042 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
5043 __pWebViewer->SetSetting(settings);
5044 __pWebViewer->Reload();
5046 else if (settingvalue == (int) REGISTRY_SETTING_BLOCK_POPUP)
5048 WebSetting settings = __pWebViewer->GetSetting();
5049 settings.SetJavaScriptPopupEnabled(SettingPresentationModel::GetInstance()->IsBlockPopUp());
5050 __pWebViewer->SetSetting(settings);
5052 else if (settingvalue == (int) REGISTRY_SETTING_ACCEPT_COOKIES)
5056 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
5059 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_FORM_DATA)
5063 WebSetting settings = __pWebViewer->GetSetting();
5064 settings.SetAutoFormDataShowEnabled(SettingPresentationModel::GetInstance()->IsRememberFormData());
5065 __pWebViewer->SetSetting(settings);
5068 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_PASSWORD)
5072 WebSetting settings = __pWebViewer->GetSetting();
5073 settings.SetAutoLoginFormFillEnabled(SettingPresentationModel::GetInstance()->IsRememberPassword());
5074 __pWebViewer->SetSetting(settings);
5077 else if (settingvalue == (int) REGISTRY_SETTING_SHOW_SECURITY_WARNINGS)
5079 WebSetting settings = __pWebViewer->GetSetting();
5080 if (SettingPresentationModel::GetInstance()->IsSecurityWarningsEnabled() == true)
5082 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_USER_CONFIRM);
5086 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_CONTINUE);
5088 __pWebViewer->SetSetting(settings);
5090 else if (settingvalue == (int) REGISTRY_SETTING_READER_FONT_SIZE)
5094 AppLogDebug("IntMainForm fontsize Changed to %d",SettingPresentationModel::GetInstance()->GetReaderFontSize());
5095 WebSetting settings = __pWebReader->GetSetting();
5096 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
5097 __pWebReader->SetSetting(settings);
5103 MainForm::OnSettingsReset()
5107 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
5108 __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
5113 MainForm::OnClearCache()
5115 result r = E_SUCCESS;
5117 if (__pWebViewer != NULL)
5119 r = __pWebViewer->ClearCache();
5122 AppLogDebug("Cache cleared success");
5126 AppLogDebug("Cache cleared fail");
5132 MainForm::OnClearCookie()
5134 result r = E_SUCCESS;
5136 if (__pWebViewer != NULL)
5138 __pWebViewer->ClearCookie();
5142 AppLogDebug("Cookie cleared success");
5146 AppLogDebug("Cache cleared fail");
5151 MainForm::OnClearFormData()
5153 result r = E_SUCCESS;
5155 if (__pWebViewer != NULL)
5157 __pWebViewer->ClearFormData();
5161 AppLogDebug("Cookie cleared success");
5165 AppLogDebug("Cache cleared fail");
5170 MainForm::OnClearPasswords()
5172 result r = E_SUCCESS;
5174 if (__pWebViewer != NULL)
5176 __pWebViewer->ClearLoginFormData();
5180 AppLogDebug("Cookie cleared success");
5184 AppLogDebug("Cache cleared fail");
5190 MainForm::findDistance(int x1,int y1,int x2, int y2)
5192 int deltaX = Math::Abs(x2 - x1);
5193 int deltaY = Math::Abs(y2 - y1);
5194 double num = deltaX*deltaX + deltaY*deltaY;
5200 for (i = 0; i < 20; i++)
5202 x = (((x*x)+ num)/(2*x));
5213 MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5215 AppLog("xyz:: MainForm::OnTouchPressed called");
5216 if(__pFindWordControl)
5218 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
5219 // ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
5221 __isLongPressedDone = false;
5226 IList* pList = null;
5227 pList = touch.GetTouchInfoListN(source);
5231 int count = pList->GetCount();
5234 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5235 __touchPoint1 = pTouchInfo->position;
5237 /*if (__pAddressbar != null)
5239 if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && __pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5241 if (__pAddressbar->GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5243 __pAddressbar->SaveAddressbarEditText();
5245 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5248 __pAddressbar->Invalidate(true);
5250 if (GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5252 if (GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5254 //__pAddressbar->SaveAddressbarEditText();
5256 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5259 else if (count == 2)
5261 AppLogDebug("MainForm::OnTouchPressed count is two");
5262 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5263 __touchPoint1 = pTouchInfo->position;
5265 pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(1));
5266 __touchPoint2 = pTouchInfo->position;
5271 pList->RemoveAll(true);
5276 __pAddressbar->SetShowState(false);
5278 if(__pFooterPanel && __isKeypadOpened == false)
5280 __pFooterPanel->SetShowState(true);
5282 RelayoutControls(false);
5287 MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5289 AppLog("LMN::MainForm::OnTouchMoved entered");
5290 // __currentWordIndex = 0;
5291 __isLongPressedDone = false;
5296 MainForm::MoveUiControls()
5301 MainForm::OnTextValueChanged (const Tizen::Ui::Control &source)
5303 if(&source == dynamic_cast<Control*>(__pFooterUrlField) && __pFooterUrlField != null)
5305 if(__pFooterUrlField->GetTextLength() == 0)
5307 __pFooterUrlField->SetKeypadActionEnabled(false);
5311 __pFooterUrlField->SetKeypadActionEnabled(true);
5314 if (__pFindWordEditField != null && __pFindWordEditField->GetShowState() == true)
5316 __currentSearchStr = __pFindWordEditField->GetText();
5317 if (__currentSearchStr.GetLength() > 0)
5319 __pFindWordCountLabel->SetShowState(true);
5323 // __pFindWordCountLabel->SetShowState(false);
5324 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
5325 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
5328 __pFindWordNext->SetEnabled(false);
5329 __pFindWordPrev->SetEnabled(false);
5330 __pFindWordNext->Invalidate(true);
5331 __pFindWordPrev->Invalidate(true);
5332 __pFindWordCountLabel->SetText(L"0/0");
5333 __pFindWordCountLabel->Invalidate(true);
5335 else if (__pFindWordEditFieldRightToLeft != null && __pFindWordEditFieldRightToLeft->GetShowState() == true)
5337 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
5338 if (__currentSearchStr.GetLength() > 0)
5340 __pFindWordCountLabelRightToLeft->SetShowState(true);
5344 __pFindWordCountLabelRightToLeft->SetShowState(false);
5347 __pFindWordNext->SetEnabled(false);
5348 __pFindWordPrev->SetEnabled(false);
5349 __pFindWordNext->Invalidate(true);
5350 __pFindWordPrev->Invalidate(true);
5351 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
5352 __pFindWordCountLabelRightToLeft->Invalidate(true);
5354 AppLog("__currentSearchStr %ls",__currentSearchStr.GetPointer());
5355 if (__currentSearchStr.GetLength() > 0)
5361 __currentSearchStr = L"aaaaaaaabbbbbbbccccccc";
5363 __currentSearchStr = L"";
5364 AppLogDebug("Enter something");
5369 MainForm::InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus)
5376 MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus)
5378 if(__pWebViewer != null)
5381 AppLog("MainForm::InitMostVisitedSitesView");
5382 result r = E_SUCCESS;
5385 if (__pWebViewer != null && __pMostVisitedListView != null)
5390 if (__pMostVisitedListView != null)
5392 RemoveControl(__pMostVisitedListView);
5394 if(__pMostVisitedSites != null)
5396 __pMostVisitedSites->RemoveAll(true);
5399 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
5401 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
5402 __pMostVisitedListView = new(std::nothrow) ListView();
5404 int height = GetClientAreaBounds().height;
5406 if(__pFooterPanel->GetShowState() == true)
5408 height = height - __pFooterPanel->GetHeight();
5410 if(__pAddressbar->GetShowState() == true)
5412 height -= __pAddressbar->GetHeight();
5415 r = __pMostVisitedListView->Construct(Tizen::Graphics::Rectangle(0,0 , GetClientAreaBounds().width, height),true,false);
5419 delete __pMostVisitedListView;
5420 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
5423 __pMostVisitedListView->SetItemProvider(*this);
5424 __pMostVisitedListView->AddListViewItemEventListener(*this);
5425 __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_VISITED_SITES"));
5426 AddControl(__pMostVisitedListView);
5427 __pMostVisitedListView->UpdateList();
5434 MainForm::GetImagePath(void)
5438 String formattedTime;
5439 DateTime currentTime;
5440 LocaleManager localManager;
5441 SystemTime::GetCurrentTime(TIME_MODE_WALL, currentTime);
5443 localManager.Construct();
5444 Locale locale = localManager.GetSystemLocale();
5445 //Locale locale(LANGUAGE_ENG, COUNTRY_US);
5447 // Get date formatter
5448 DateTimeFormatter* pTimeFormatter = DateTimeFormatter::CreateDateTimeFormatterN(locale, DATE_TIME_STYLE_DEFAULT);
5452 pTimeFormatter->Format(currentTime, formattedTime);
5455 AppLog("current time stamp is %ls", formattedTime.GetPointer());
5456 String delim(L" :");
5457 StringTokenizer strTok(formattedTime, delim);
5460 String str1("GMT+00");
5461 while (strTok.HasMoreTokens())
5463 strTok.GetNextToken(token); // Osp, StringTokenizer, Sample, code
5464 if(token.Equals(str1))
5466 AppLog("token is %ls", token.GetPointer());
5467 imageName.Append(token);
5473 void MainForm::UpdateImageContent(ByteBuffer* aBuffer, String imageName)
5475 result r = E_FAILURE;
5476 AppLog("Content manager 1");
5477 ContentId contentId;
5478 ContentManager contentManager;
5479 r = contentManager.Construct();
5482 AppLog("Content manager update content result %s" ,GetErrorMessage(r));
5485 Tizen::Base::String contentPath = Tizen::System::Environment::GetMediaPath() + L"Downloads/";
5486 Tizen::Io::Directory::Create(contentPath,true);
5487 if(GetLastResult() == E_FILE_ALREADY_EXIST)
5489 AppLog("Already exists");
5491 else if(GetLastResult() == E_SUCCESS)
5493 AppLog("created success");
5495 contentPath.Append(imageName);
5496 contentPath.Append(".jpg");
5497 contentId = contentManager.CreateContent(*aBuffer, contentPath);
5498 ShowIndicatorNotification(L"Download Complete",contentPath);
5499 AppLog("Content manager update content result %s" ,GetErrorMessage(GetLastResult()));
5503 MainForm::ShowIndicatorNotification(const String& messageText, const String& contentPath)
5505 AppLogDebug("ENTER");
5507 NotificationRequest request;
5508 request.SetAlertText(messageText);
5509 request.SetTitleText(L"");
5510 request.SetAppMessage(contentPath);
5511 request.SetOngoingActivityType(ONGOING_ACTIVITY_TYPE_TEXT);
5512 request.SetNotificationStyle(NOTIFICATION_STYLE_THUMBNAIL);
5513 Tizen::App::App* pApp = Tizen::App::App::GetInstance();
5514 String homePath = pApp->GetAppRootPath();
5515 String iconPath = homePath + L"res/screen-density-xhigh/Notification_download_complete.png";
5516 AppLog("The iconPath is : %ls", homePath.GetPointer());
5517 request.SetIconFilePath(iconPath);
5519 Tizen::Shell::NotificationManager notiMgr;
5520 notiMgr.Construct();
5521 notiMgr.NotifyOngoingActivity(request);
5522 AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult()));
5527 MainForm::SetForwardButtonEnabled(bool isEnabled)
5529 __pGoForwardBtn->SetEnabled(isEnabled);
5530 __pGoForwardBtn->Invalidate(true);
5534 MainForm::SetBackButtonEnabled(bool isEnabled)
5536 __pGoBackBtn->SetEnabled(isEnabled);
5537 __pGoBackBtn->Invalidate(true);
5541 MainForm::UpdateProgress(int percentage)
5543 __progressPercentage = percentage;
5544 if (percentage == 0 || percentage == 100)
5546 __isLoadingData = false;
5547 if (percentage == 100)
5549 __isLoadingCompleted = true;
5550 __progressPercentage = 0;
5554 __isLoadingCompleted = false;
5559 __isLoadingData = true;
5561 UpdateProgressBitmap();
5565 MainForm::GetProgress(void)
5567 return __progressPercentage;
5571 MainForm::UpdateProgressBitmap(void)
5573 result r = E_SUCCESS;
5574 if (__pProgressbarLabel == null)
5576 int w = __pProgressbarLabel->GetWidth();
5577 int h = __pProgressbarLabel->GetHeight();
5579 int progressWidth = 0;
5580 Bitmap* pRetBitmap = null;
5582 if (__progressPercentage == 0 || __progressPercentage == 100)
5584 __pProgressbarLabel->SetShowState(false);
5585 __pProgressbarLabel->Invalidate(false);
5590 __pProgressbarLabel->SetShowState(true);
5591 __pProgressbarLabel->Invalidate(false);
5594 r = canvas.Construct(Rectangle(0, 0, w, h));
5598 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
5603 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
5607 pBgBmp->Scale(Dimension(w, h));
5608 canvas.DrawBitmap(Point(0,0), *pBgBmp);
5612 progressWidth = (double) (w) * __progressPercentage / 100;
5613 AppLogDebug("progressWidth: %d", progressWidth);
5614 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
5616 if (pProgressBmp != null)
5618 pProgressBmp->Scale(Dimension(progressWidth, h));
5619 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
5620 delete pProgressBmp;
5623 pRetBitmap = new (std::nothrow) Bitmap();
5625 if (pRetBitmap == null)
5627 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
5631 pRetBitmap->Construct(canvas, canvas.GetBounds());
5633 if (__pProgressbarLabel != null && pRetBitmap != null)
5635 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
5636 __pProgressbarLabel->Invalidate(false);
5639 if (pRetBitmap != null)
5648 MainForm::ReaderClicked()
5650 result r = E_SUCCESS;
5651 ArrayList* pArgList = new(std::nothrow) ArrayList();
5652 if (pArgList != null)
5654 r = pArgList->Construct();
5661 r = pArgList->Add(*new(std::nothrow) String(*__pReaderData));
5668 r = pArgList->Add(*new(std::nothrow) String(__pWebViewer->GetUrl()));
5675 r = pArgList->Add(*new(std::nothrow) String(__pWindowInfo->pageTitle));
5683 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ARTICLE_READER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
5689 void MainForm::SetAddressbarMode(AddressBarMode addMode)
5691 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
5693 __currentAddMode = addMode;
5697 case ADDRESSBAR_MODE_INVALID:
5702 case ADDRESSBAR_MODE_READER:
5704 __pStopBtn->SetShowState(false);
5705 __pRefreshBtn->SetShowState(false);
5706 __pClearBtn->SetShowState(false);
5707 __pReaderBtn->SetShowState(false);
5710 case ADDRESSBAR_MODE_LOADING:
5712 __pRefreshBtn->SetShowState(false);
5713 __pStopBtn->SetShowState(true);
5714 __pClearBtn->SetShowState(false);
5715 __pReaderBtn->SetShowState(false);
5718 case ADDRESSBAR_MODE_LOADING_COMPLETE:
5720 // SetUrl(__pAddressbar->GetUrl());
5722 __pRefreshBtn->SetShowState(true);
5723 __pStopBtn->SetShowState(false);
5724 __pClearBtn->SetShowState(false);
5725 __pReaderBtn->SetShowState(false);
5728 case ADDRESSBAR_MODE_EDIT:
5730 __pRefreshBtn->SetShowState(false);
5731 __pStopBtn->SetShowState(false);
5732 __pReaderBtn->SetShowState(false);
5733 __pClearBtn->SetShowState(true);
5740 OnAddressBarModeChanged();
5743 AddressBarMode MainForm::GetAddressbarMode(void)
5745 return __currentAddMode;
5748 void MainForm::SetUrl(const String& url)
5751 if(__displayUrl.GetLength() > 2048)
5752 __displayUrl.SubString(0,2048,__displayUrl);
5754 if (__pFooterUrlField != NULL)
5756 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
5757 if (removedHttpUrl.IsEmpty() == false)
5759 __pFooterUrlField->SetText(removedHttpUrl);
5760 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5761 __pAddressbar->SetUrl(__displayUrl);
5765 __pFooterUrlField->SetText(__displayUrl);
5766 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5767 __pAddressbar->SetUrl(__displayUrl);
5769 if(__pFooterUrlField)
5770 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
5771 __pFooterUrlField->Invalidate(false);
5772 if(__pAddressbar != NULL && __pAddressbar->HasFocus())
5773 __pAddressbar->Invalidate(true);
5774 // __pFooterUrlField->SetCursorPosition(0);
5779 MainForm::RemoveHttpTextFromDisplayURL(void)
5781 AppLog("MainForm::RemoveHttpTextFromDisplayURL __displayUrl %ls",__displayUrl.GetPointer());
5783 // bool isHttpText = __displayUrl.Contains(L"http://");
5784 String updatedDisplayUrl;
5785 updatedDisplayUrl.Clear();
5786 if(__displayUrl.IndexOf(L"http://",0,index) == E_SUCCESS && index == 0)
5788 __displayUrl.SubString(7,updatedDisplayUrl);
5790 else if(__displayUrl.IndexOf(L"https://",0,index) == E_SUCCESS && index == 0)
5792 __displayUrl.SubString(8,updatedDisplayUrl);
5794 return updatedDisplayUrl;
5797 void MainForm::OnSharePopupControlStarted(void)
5799 __pWebViewer->AddTouchEventListener(*this);
5803 MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
5805 if (requestId == BACK_GROUND_APP_EVENT)
5807 if(__pWebViewer != null)
5809 __pWebViewer->Pause();
5813 __pImageMenu->SetShowState(false);
5815 if(__pAddressbar != null)
5817 __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL);
5820 else if(requestId == FORE_GROUND_APP_EVENT)
5822 if(__pWebViewer != null)
5824 __pWebViewer->Resume();
5826 if(__pAddressbar != null)
5828 __pAddressbar->SendUserEvent(FORE_GROUND_APP_EVENT,NULL);
5834 MainForm::AddressBarCancelledClicked(const Addressbar& addBar)
5836 AppLog("XYZ::MainForm::AddressBarCancelledClicked");
5837 result r = E_SUCCESS;
5840 __pAddressbar->SetShowState(false);
5842 AppLog("akjshdasd 5");
5843 __pFooterPanel->SetShowState(true);
5846 __pWebViewer->SetFocus();
5847 else if(__pMostVisitedListView)
5848 __pMostVisitedListView->SetFocus();
5849 else if(__pMultiWindowButton)
5850 __pMultiWindowButton->SetFocus();
5851 else if(__pMoreButton)
5852 __pMoreButton->SetFocus();
5854 __pAddressbar->SetShowState(false);
5856 RelayoutControls(false);
5860 MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
5862 AppLog("MainForm::OnFormMenuRequested called");
5864 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer && __pWebViewer->GetShowState() == true)
5866 int bookmarkCount=0;
5869 url=__pWindowInfo->pageUrl;
5870 AppLog("MainForm::OnFormMenuRequested url %ls",url.GetPointer());
5871 result r = E_SUCCESS;
5872 Bitmap* pBitmap = null;
5873 String lastChar = L"";
5874 // if(url.SubString(url.GetLength()-1,lastChar));
5875 // if(lastChar == L"/")
5877 // bool exist1 = false;
5878 // bool exist2 = false;
5879 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist1);
5880 // url.SubString(0,url.GetLength() - 1,url);
5881 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist2);
5882 // exist = exist1 | exist2;
5886 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
5889 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
5895 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
5899 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
5901 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
5903 if (__pOptionMenu->GetItemCount() == 9)
5905 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5909 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5914 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
5918 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
5919 if (__pOptionMenu->GetItemCount() != 9)
5921 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
5922 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
5923 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
5924 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
5925 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
5926 __pOptionMenu->SetMaxVisibleItemsCount(6);
5928 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
5930 AppLog(" Orientation landscape");
5931 __pOptionMenu->SetMaxVisibleItemsCount(5);
5935 AppLog(" Orientation potrait");
5936 __pOptionMenu->SetMaxVisibleItemsCount(6);
5939 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
5942 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
5944 __pAddressbar->SetShowState(false);
5946 __pFooterPanel->SetShowState(true);
5947 result r = __pOptionMenu->SetShowState(true);
5948 AppLog("ajsghd %s",GetErrorMessage(r));
5949 RelayoutControls(false);
5950 __pOptionMenu->Invalidate(true);
5951 __pOptionMenu->Show();