2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
17 //!Internet MainForm class
19 *@brief: The %MainForm provides the common functionalities for the Main View of the Browser including the addressbar,
20 * loading,handling events etc.
24 #include <FGraphics.h>
29 //#include <FShellNotificationManager.h>
31 #include "IntBookmarkData.h"
32 #include "IntBookmarkPresentationModel.h"
33 #include "IntCommonLib.h"
34 #include "IntFaviconManager.h"
35 #include "IntInternetApp.h"
36 #include "IntMainForm.h"
37 #include "IntSceneRegister.h"
38 #include "IntSettingPresentationModel.h"
40 using namespace Tizen::App;
41 using namespace Tizen::Base;
42 using namespace Tizen::Base::Collection;
43 using namespace Tizen::Base::Runtime;
44 using namespace Tizen::Base::Utility;
45 using namespace Tizen::Graphics;
46 using namespace Tizen::Io;
47 using namespace Tizen::Locales;
48 using namespace Tizen::Media;
49 using namespace Tizen::Shell;
50 using namespace Tizen::Ui;
51 using namespace Tizen::Ui::Controls;
52 using namespace Tizen::Content;
53 using namespace Tizen::Ui::Scenes;
54 using namespace Tizen::System;
55 using namespace Tizen::Web;
56 using namespace Tizen::Web::Controls;
58 static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.9.png";
59 static const wchar_t* IDB_FINDWORD_INPUT_FIELD_BG = L"I01_toolbar_input_field_findword.9.png";
60 static const wchar_t* IDB_BTN_BACK = L"I01_icon_Back.png";
61 static const wchar_t* IDB_BTN_BACK_PRESS = L"I01_icon_Back_press.png";
62 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK = L"I01_search_list_icon_favorite.png";
63 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK_PRESS = L"I01_search_list_icon_favorite_press.png";
64 static const wchar_t* IDB_CONTRLBAR_ICON_MORE = L"I01_icon_more.png";
65 static const wchar_t* IDB_CONTRLBAR_ICON_MORE_PRESS = L"I01_icon_more_press.png";
66 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW = L"I01_icon_plus.png";
67 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW_PRESS = L"I01_icon_plus_press.png";
68 static const wchar_t* IDB_CONTROLBAR_ICON_CREATE_DISABLE = L"I01_controlbar_icon_create_disable.png";
69 static const wchar_t* IDB_BUTTON_ON = L"00_button_on.png";
70 static const wchar_t* IDB_BUTTON_OFF = L"00_button_off.png";
71 static const wchar_t* IDB_ICON_BOOKMARK_OFF_TEMP =L"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) { document.getElementsByTagName(myField)[0].focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (myField.selectionStart || myField.selectionStart == '0'){ var startPos = myField.selectionStart; var endPos = myField.selectionEnd; myField.value = myField.value.substring(0, startPos)+ myValue + myField.value.substring(endPos, myField.value.length); } else { document.getElementsByTagName(myField)[0].value += myValue; } } ";
2541 script.Append("insertAtCursor(document.getElementsByTagName('");
2542 script.Append(tagElement);
2543 script.Append("')[0],");
2544 script.Append("\"");
2545 script.Append(*pString);
2546 script.Append("\");");
2548 AppLog("MainForm::OnTouchLongPressed script is %ls",script.GetPointer());
2549 String* pStr = __pWebViewer->EvaluateJavascriptN(script);
2561 case IDA_GO_FORWARD:
2566 case IDA_REFRESH_BTN_CLICKED:
2568 __isLoadingCompleted = false;
2569 __isLoadingData = true;
2570 __progressPercentage = 0;
2571 __displayUrl = __pFooterUrlField->GetText();
2573 String url = __pFooterUrlField->GetText();
2574 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
2576 if (__pWebViewer != null && __pAddressbar != null)
2579 //__pWebViewer->Reload();
2580 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
2584 UpdateProgressBitmap();
2587 case IDA_STOP_BTN_CLICKED:
2589 __isLoadingCompleted = false;
2590 __isLoadingData = false;
2591 __progressPercentage = 0;
2592 __pFooterUrlField->HideKeypad();
2593 __displayUrl = __pFooterUrlField->GetText();
2597 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2598 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2599 __pWebViewer->StopLoading();
2600 RequestRedraw(true);
2603 UpdateProgressBitmap();
2608 if (__pFooterUrlField->GetText().IsEmpty() == false)
2610 //__displayUrl = __pUrlField->GetText();
2611 __pFooterUrlField->Clear();
2616 case IDA_READER_BTN_CLICKED:
2627 MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
2629 AppLog("MainForm::OnFormBackRequested entered");
2630 result r = E_FAILURE;
2631 if(__pImageMenu && __pImageMenu->GetShowState() == true)
2633 AppLog("Hiding the menu");
2634 __pImageMenu->SetShowState(false);
2636 if (__pWebViewer && __pWebViewer->CanGoBack())
2638 __pWebViewer->GoBack();
2640 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
2643 pApp = UiApp::GetInstance();
2646 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2649 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2657 WindowInfo* pWindowInfo = null;
2659 SceneManager* pSceneManager = SceneManager::GetInstance();
2660 if (pSceneManager == null)
2664 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
2665 if (pAllWindowList == NULL)
2667 pApp = UiApp::GetInstance();
2670 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2673 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2678 if (pAllWindowList != null)
2680 totalCount = pAllWindowList->GetCount();
2682 for (int count = 0; count < totalCount; count++)
2684 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
2685 if (pWindowInfo == null)
2687 pApp = UiApp::GetInstance();
2690 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2693 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2700 if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
2702 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
2705 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2708 r = pAllWindowList->RemoveAt(count, true);
2709 __pWindowInfo = null;
2712 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2717 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
2721 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
2723 if (pWindowInfo == null)
2725 pApp = UiApp::GetInstance();
2728 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2734 if(pWindowInfo != null)
2735 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
2738 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2744 // else if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == false)
2746 // UiApp* pApp = null;
2747 // pApp = UiApp::GetInstance();
2748 // if (pApp != null)
2750 // r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2753 // AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2761 AppLog("MainForm::OnFormBackRequested exit");
2765 MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
2766 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
2769 AppLog("MainForm::OnSceneActivatedN called");
2770 String* pSelectedScene = NULL;
2771 Object* pValue = NULL;
2772 String* pUrl = null;
2773 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
2774 pSelectedScene = (String*) pValue;
2776 if (pSelectedScene != null)
2778 delete pSelectedScene;
2780 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, null);
2781 String* selectedSceneID = new(std::nothrow) String(currentSceneId);
2782 AppLogDebug("current scene id is %ls", currentSceneId.GetPointer());
2783 AppLogDebug("selected scene id is %ls", currentSceneId.GetPointer());
2785 // setting the current scene ID
2786 MultipleWindowPresentationModel::GetInstance()->SetCurrentSceneID(currentSceneId);
2788 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, (Object*) selectedSceneID);
2790 if(pArgs != null && pArgs->GetCount() > 0 && pArgs->GetCount() == 2)
2792 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2793 if(__pWindowInfo == null)
2795 // if(__pWindowInfo == null)
2797 pUrl = dynamic_cast< String* >(pArgs->GetAt(1));
2800 else if ( pArgs != null && pArgs->GetCount() == 1)
2802 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2808 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), GetClientAreaBounds().width, __pFooterPanel->GetHeight());
2810 // hiding the address bar
2811 // __pAddressbar->SetBounds(__pAddressbar->GetX(), __pAddressbar->GetY() - __pAddressbar->GetHeight(), __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
2812 __pAddressbar->SetShowState(false);
2813 // if(__pWebViewer != null)
2815 // __pWebViewer->Resume();
2818 if(pUrl != null && pUrl->GetLength() > 0)
2822 else if(__pWindowInfo != null)
2824 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)
2826 LoadUrl(__pWindowInfo->pageUrl);
2828 else if(__pWindowInfo->pageUrl.GetLength() > 0 && __pWindowInfo->isAppcontrolTriggered == true)
2830 LoadUrl(__pWindowInfo->pageUrl);
2831 __pWindowInfo->isAppcontrolTriggered = false;
2833 else if (__pWindowInfo->isJavascriptInitiated == true && __pWindowInfo->isFirstLaunch == true)
2835 __pWindowInfo->isFirstLaunch = false;
2838 __pWindowInfo->pCurrentWeb = __pWebViewer;
2839 if(__pWindowInfo->pageUrl.GetLength() > 0)
2840 LoadUrl(__pWindowInfo->pageUrl);
2844 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
2845 AppLog("Homepage Value in Onsceneactivated is %ls",homePage.GetPointer());
2846 if(homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
2848 InitMostVisitedSitesView(GetOrientationStatus());
2850 else if (homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
2852 if(__pMostVisitedListView != null)
2854 __pMostVisitedListView->SetShowState(false);
2858 if (__pAddressbar != null && pArgs != null && (previousSceneId == IDSCN_BOOKMARK_VIEW || previousSceneId == IDSCN_HISTORY_LIST))
2860 String* pBookmarkUrl = dynamic_cast< String* >(pArgs->GetAt(0));
2862 if (pBookmarkUrl == null)
2864 AppLogDebug("bookmarkUrl = %ls",pBookmarkUrl->GetPointer());
2865 //__pAddressbar->SetUrl(*pBookmarkUrl);
2866 SetUrl(*pBookmarkUrl);
2868 if (__pWebViewer != null && homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) != 0)
2869 __pWebViewer->LoadUrl(*pBookmarkUrl);
2870 delete pBookmarkUrl;
2873 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
2874 Bitmap* pBitmap = null;
2875 if (isPrivateBrowsing == true)
2877 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
2879 if (__pWebViewer != null)
2881 __pWebViewer->SetPrivateBrowsingEnabled(true);
2884 if (__pAddressbar != null)
2886 // __pAddressbar->UpdateFaviconBitmap(true);
2892 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
2894 if (__pWebViewer != null)
2896 __pWebViewer->SetPrivateBrowsingEnabled(false);
2899 if (__pAddressbar != null)
2901 // __pAddressbar->UpdateFaviconBitmap(false);
2905 if (__pOptionMenu != null && __pOptionMenu->GetItemCount() != 9)
2907 __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2909 else if (__pOptionMenu != null )
2911 __pOptionMenu->SetItemAt(5,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2914 if (pBitmap != null)
2919 RelayoutControls(false);
2920 AppLog("ABC: OnSceneActivatedN started exit");
2925 MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
2926 const Tizen::Ui::Scenes::SceneId& nextSceneId)
2928 Canvas* pWebCanvas = null;
2929 if (__pWebViewer != null)
2931 pWebCanvas = __pWebViewer->GetCanvasN();
2934 if (pWebCanvas == null)
2938 if (__pWindowInfo != null)
2940 if (__pWindowInfo->pWebCanvasBitmap != null)
2942 delete __pWindowInfo->pWebCanvasBitmap;
2944 __pWindowInfo->pWebCanvasBitmap = new(std::nothrow) Bitmap();
2945 result r = __pWindowInfo->pWebCanvasBitmap->Construct(*pWebCanvas,Rectangle(0,0,pWebCanvas->GetBounds().width,pWebCanvas->GetBounds().height));
2946 AppLog("Bitmap Construction result %s",GetErrorMessage(r));
2948 Bitmap* pBitmap = GetCapturedBitmapN();
2949 AppLog("Coming here");
2950 Canvas* pCanvas = new(std::nothrow) Canvas();
2951 pCanvas->Construct(GetClientAreaBounds());
2954 pCanvas->DrawBitmap(Point(0,0),*pBitmap);
2957 if(__pWebViewer != null && __pWindowInfo != null && __pWindowInfo->pWebCanvasBitmap != null)
2958 pCanvas->DrawBitmap(__pWebViewer->GetPosition(),*__pWindowInfo->pWebCanvasBitmap);
2960 WindowInfo::pFormCanvasBitmap = new(std::nothrow) Bitmap();
2963 WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight()));
2968 __pAddressbar->SetShowState(false);
2969 AppLog("Coming here");
2973 MainForm::OnHttpAuthenticationRequestedN(const Tizen::Base::String& host,
2974 const Tizen::Base::String& realm,
2975 const Tizen::Web::Controls::AuthenticationChallenge& authentication)
2981 MainForm::OnHttpAuthenticationCanceled(void)
2986 MainForm::OnLoadingStarted(void)
2988 AppLogDebug("MainForm::OnLoadingStarted entered");
2990 if(__pAddressbar == NULL || __pWebViewer == null)
2995 // this is added in case if menu is opened and user load the page
2996 if(__pOptionMenu != null && __pOptionMenu->GetShowState() == true)
2998 __pOptionMenu->SetShowState(false);
2999 __pOptionMenu->Invalidate(true);
3004 if(__pImageMenu != null && __pImageMenu->GetShowState() == true)
3006 __pImageMenu->SetShowState(false);
3007 __pImageMenu->Invalidate(true);
3009 String url = __pWebViewer->GetUrl();
3010 if(url.Contains(IDS_TIZEN_SERVICE))
3013 String delim(L":;,");
3015 // Creates a StringTokenizer instance
3016 StringTokenizer strTok(url, delim);
3018 int count = strTok.GetTokenCount(); // count == 4
3020 HashMap *pMap = new HashMap();
3025 while (strTok.HasMoreTokens())
3027 AppLog("Token: %ls", token.GetPointer());
3028 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3029 if(token.Contains(IDS_APPID))
3031 token.SubString(6, appId);
3032 AppLog("AppID:%ls", appId.GetPointer());
3034 else if(token.Contains(IDS_KEY))
3036 token.SubString(4, key);
3037 AppLog("key:%ls", key.GetPointer());
3039 else if(token.Contains(IDS_VALUE))
3041 token.SubString(6, value);
3042 AppLog("value:%ls", value.GetPointer());
3045 pMap->Add(key, value);
3049 AppControl *pAppControl = null;
3050 String operationId = L"http://tizen.org/appcontrol/operation/main";
3051 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
3054 AppLog("Starting AppControl");
3055 result r = pAppControl->Start(null, null, pMap, null);
3056 AppLog("Result of Start %s", GetErrorMessage(r));
3060 AppLogException("AppControl not found");
3065 if ( __pAddressbar != null && __pAddressbar->GetShowState() == true)
3067 __pAddressbar->SetShowState(false);
3068 AddressBarCancelledClicked(*__pAddressbar);
3069 __pAddressbar->Invalidate(true);
3071 Bitmap* pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
3074 __pAddressbar->SetFaviconBitmap(*pBitmap);
3077 if (__adressPanelPosition.y < (0 - __pAddressbar->GetHeight() + 12))
3079 // updating the address bar position with respect to web control
3080 __adressPanelPosition.y = 0 - __pAddressbar->GetHeight() + 12; //-12 is for the progress label
3081 __distanceMoved = 0;
3085 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3086 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3087 if (__pWebViewer != null)
3089 AppLog("MainForm::OnLoadingStarted __pWebViewer->GetUrl() %ls",__pWebViewer->GetUrl().GetPointer());
3090 //__pAddressbar->SetUrl(__pWebViewer->GetUrl());
3091 SetUrl(__pWebViewer->GetUrl());
3092 if (__pWindowInfo != NULL)
3094 // resetting the page title to blank, it will be received in OnPageTitleReceived()
3095 __pWindowInfo->pageTitle = L"";
3096 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3098 __pAddressbar->Invalidate(true);
3104 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);
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(__pImageMenu && __pImageMenu->GetShowState())
3168 __pImageMenu->SetShowState(false);
3169 __pImageMenu->Invalidate(true);
3172 if (__pWebViewer->CanGoForward())
3174 //__pAddressbar->SetForwardButtonEnabled(true);
3175 SetForwardButtonEnabled(true);
3179 //__pAddressbar->SetForwardButtonEnabled(false);
3180 SetForwardButtonEnabled(false);
3183 /*if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3185 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3187 //__pAddressbar->UpdateProgress(0);
3191 if(GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3193 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3197 AppLog("PrivateBrowsing %d",__pWebViewer->IsPrivateBrowsingEnabled());
3198 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
3199 if (isPrivateBrowsing == false)
3201 if(__pHistory != null)
3207 __pHistory = new(std::nothrow) History;
3208 HistoryPresentationModel::GetCurrentDateTime(date);
3211 __pHistory->SetHistoryTitle(__pWindowInfo->pageTitle);
3212 AppLogDebug("MainForm::OnLoadingCompleted pagetitle = %ls", __pWindowInfo->pageTitle.GetPointer());
3214 __pHistory->SetHistoryUrl(__pWindowInfo->pageUrl);
3215 AppLogDebug("MainForm::OnLoadingCompleted pageUrl = %ls", __pWindowInfo->pageUrl.GetPointer());
3217 __pHistory->SetVisitedTime(date);
3219 if (__pWebViewer != null)
3221 AppLog("MainForm::OnLoadingCompleted setting the fav icon 0");
3223 Bitmap* pTempBitmap = __pWebViewer->GetFaviconN();
3224 if (pTempBitmap != null)
3226 AppLog("MainForm::OnLoadingCompleted setting the fav icon 1");
3227 __pHistory->SetFavIconBitmap(*pTempBitmap);
3230 AppLog("MainForm::OnLoadingCompleted setting the fav icon 2");
3233 Canvas* pCanvas = __pWebViewer->GetCanvasN();
3234 Bitmap* pBitmap = new(std::nothrow) Bitmap();
3235 if ( pCanvas != null && pCanvas != null && pBitmap != null)
3237 pBitmap->Construct(*pCanvas, pCanvas->GetBounds());
3238 pBitmap->Scale(Dimension(pBitmap->GetWidth()/4, pBitmap->GetHeight()/4));
3239 __pHistory->SetThumbnail(pBitmap);
3241 Bitmap *pFavIcon = __pWebViewer->GetFaviconN();
3244 __pHistory->SetFavIconBitmap(*pFavIcon);
3248 HistoryPresentationModel::GetInstance()->SaveTempHistory(*__pHistory);
3255 // if (__pWindowInfo && __pWindowInfo->faviconUrl == "")
3257 // temperary fixed (webpage can be not loaded)
3261 bool isReaderEnabled = SettingPresentationModel::GetInstance()->IsRunReaderEnabled();
3262 if (isReaderEnabled == true)
3266 delete __pReaderData;
3267 __pReaderData = null;
3269 String filePath = Tizen::App::UiApp::GetInstance()->GetAppRootPath();
3270 filePath.Append(L"data/reader.js");
3276 result r = E_SUCCESS;
3277 FileAttributes attr;
3279 File::GetAttributes(filePath,attr);
3281 r = file.Construct(filePath, L"r+");
3284 AppLogDebug("File construct failed with %s", GetErrorMessage(r));
3287 char* pScript = new(std::nothrow) char[attr.GetFileSize()+1];
3290 AppLogDebug("Memory allocation for file failed %s", GetErrorMessage(r));
3293 // file.Read(pScript,attr.GetFileSize());
3295 // AppLogDebug("scipt length %d",strlen(pScript));
3296 String strScript = L"";
3297 // strScript.Append(pScript);
3298 // for(int i=0; i<25; i++)
3300 file.Read(pScript,attr.GetFileSize());
3301 // AppLog("xyzz tell %d",file.Tell());
3302 // r = strScript.Append(pScript);
3303 // AppLog("xyzz append result %s",GetErrorMessage(r));
3304 // AppLog("xyzz strScript length %d",strScript.GetLength());
3306 // AppLog("xyzz final strScript length %d",strScript.GetLength());
3308 __pReaderData = __pWebViewer->EvaluateJavascriptN(pScript);
3309 if (__pReaderData == null)
3311 AppLog("MainScene::data is null Error :%s",GetErrorMessage(GetLastResult()));
3312 __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>");
3315 AppLogDebug("evaluateJavascript result %s , __pReaderData %ls",GetErrorMessage(GetLastResult()),__pReaderData->GetPointer());
3316 if (__pReaderData->CompareTo(L"undefined") != 0 && __pReaderData->CompareTo(L"") != 0)
3318 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3319 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3325 AppLog("MainForm::OnLoadingCompleted done");
3329 MainForm::OnEstimatedProgress(int progress)
3331 AppLogDebug("MainForm::OnEstimatedProgress entered %d",progress);
3333 if (progress < DEFAULT_PROGRESS_PERCENTAGE)
3334 progress = DEFAULT_PROGRESS_PERCENTAGE;
3336 // __pAddressbar->UpdateProgress(progress);
3337 UpdateProgress(progress);
3340 void MainForm::OnFaviconReceived(const Tizen::Graphics::Bitmap& favicon)
3342 AppLog("MainForm::OnFaviconReceived");
3343 if (__pWebViewer != null && __pHistory != null && __pWindowInfo != null && (__pWindowInfo->pageUrl.CompareTo(__pHistory->GetHistoryUrl()) == 0))
3345 Bitmap* favIcon = __pWebViewer->GetFaviconN();
3348 HistoryPresentationModel::GetInstance()->UpdateHistoryFavIcon(*__pHistory, *favIcon);
3355 MainForm::OnUrlValueChanged(Addressbar&)
3361 MainForm::OnUrlSubmitted(Addressbar& addBar)
3363 AppLog("MainForm::OnUrlSubmitted");
3364 String url = addBar.GetUrl();
3365 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
3367 if(__pFooterUrlField)
3368 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
3369 AddressBarCancelledClicked(*__pAddressbar);
3374 MainForm::LoadUrl(String& url)
3378 // UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3379 AppLogDebug("MainForm::LoadUrl enter");
3381 if (__pWebViewer != null)
3383 __pWebViewer->SetShowState(true);
3384 __pWebViewer->Invalidate(true);
3387 if (url.CompareTo(L"") == 0)
3391 if(__pFooterPanel != null)
3393 __pFooterPanel->SetShowState(true);
3394 __pFooterPanel->Invalidate(true);
3401 String firstPattern(L"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)");
3402 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)
3404 RegularExpression firstRegex;
3405 RegularExpression secondRegex;
3407 firstRegex.Construct(firstPattern, REGEX_CASELESS);
3408 secondRegex.Construct(secondPattern, REGEX_CASELESS);
3411 ret = firstRegex.Match(url, false); // This returns true value
3412 flag = secondRegex.Match(url, false); // Checks whether URL typed is of type abc.com (i.e without protocol in front of it)
3414 if (ret == true && __pWebViewer != null)
3417 __pWebViewer->LoadUrl(url);
3419 else if(__pWebViewer != null)
3421 String tempUrl = L"http://";
3422 tempUrl.Append(url);
3426 __pWebViewer->LoadUrl(tempUrl);
3430 UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3431 __pWebViewer->LoadUrl(SettingPresentationModel::GetInstance()->GetSearchUrl(encodedUrl));
3434 if (__pAddressbar != null)
3436 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3437 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3440 AppLogDebug("MainForm::LoadUrl exit");
3447 MainForm::OnFocusGained(const Tizen::Ui::Control& source)
3449 AppLog("MainForm::OnFocusGained");
3452 __pFooterPanel->SetShowState(false);
3457 __pAddressbar->SetShowState(true);
3458 __pAddressbar->SetAddressbarURLFocus();
3460 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3462 __currentSearchStr = L"";
3463 __currentWordIndex = 0;
3464 __maxOccurrances = 0;
3466 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
3468 __pFindWordEditField->SetText(L"");
3469 __pFindWordEditField->HideKeypad();
3470 __pFindWordControl->SetShowState(false);
3471 __pFindWordCountLabel->SetText(L"0/0");
3473 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
3475 __pFindWordEditFieldRightToLeft->SetText(L"");
3476 __pFindWordEditFieldRightToLeft->HideKeypad();
3477 __pFindWordControl->SetShowState(false);
3478 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
3481 __pFindWordNext->SetEnabled(false);
3482 __pFindWordPrev->SetEnabled(false);
3484 __pWebViewer->SearchTextAllAsync(L"",true);
3485 __pFindWordControl->SetShowState(false);
3487 RelayoutControls(false);
3491 MainForm::OnFocusLost(const Tizen::Ui::Control& source)
3493 AppLog("MainForm::OnFocusLost called");
3497 MainForm::OnStopClicked(Addressbar& addBar)
3499 AppLogDebug("MainForm::OnStopClicked called");
3502 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3503 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3504 __pWebViewer->StopLoading();
3505 RequestRedraw(true);
3510 MainForm::OnBackClicked(/*const Addressbar& addBar*/)
3512 // AppLog("MainForm::OnBackClicked");
3513 result r = E_FAILURE;
3514 if(__pImageMenu && __pImageMenu->GetShowState() == true)
3516 AppLog("Hiding the menu");
3517 __pImageMenu->SetShowState(false);
3520 if (__pWebViewer && __pWebViewer->CanGoBack())
3522 __pWebViewer->GoBack();
3524 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
3527 pApp = UiApp::GetInstance();
3530 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3533 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3541 WindowInfo* pWindowInfo = null;
3543 SceneManager* pSceneManager = SceneManager::GetInstance();
3544 if (pSceneManager == null)
3548 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
3549 if (pAllWindowList == NULL)
3551 pApp = UiApp::GetInstance();
3554 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3557 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3562 if (pAllWindowList != null)
3564 totalCount = pAllWindowList->GetCount();
3566 for (int count = 0; count < totalCount; count++)
3568 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
3569 if (pWindowInfo == null)
3571 pApp = UiApp::GetInstance();
3574 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3577 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3582 if (pSceneManager != null && pWindowInfo != null && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
3584 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
3587 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3590 r = pAllWindowList->RemoveAt(count, true);
3591 __pWindowInfo = null;
3594 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3599 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
3601 else if(pAllWindowList->GetCount() > 0)
3603 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
3607 pApp = UiApp::GetInstance();
3610 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3615 if (pWindowInfo == null)
3617 pApp = UiApp::GetInstance();
3620 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3626 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
3627 // r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
3630 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3644 MainForm::OnForwardClicked(/*const Addressbar& addBar*/)
3646 AppLog("MainForm::OnForwardClicked");
3647 if (__pWebViewer == null)
3650 if (__pWebViewer->CanGoForward())
3652 __pWebViewer->GoForward();
3657 MainForm::OnAddressBarFocusGained(const Addressbar& addBar)
3659 AppLog("XYZ::MainForm::OnAddressBarFocusGained");
3660 if(__pFooterPanel != null)
3662 __pFooterPanel->SetShowState(false);
3665 if (__pAddressbar != null && __pAddressbar->GetShowState() == false)
3667 __pAddressbar->SetShowState(true);
3668 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3671 RelayoutControls(false);
3675 MainForm::OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadState)
3677 AppLog("XYZ::MainForm::OnAddressBarFocusLost");
3679 int Height = GetClientAreaBounds().height;
3680 AppLog("MainForm::OnAddressBarFocusLost height is %d",Height);
3682 RelayoutControls(false);
3686 MainForm::OnAddressCancelledClicked(const Addressbar& addBar)
3688 AddressBarCancelledClicked(addBar);
3692 MainForm::OnAddressBarModeChanged(/*const Addressbar& addBar*/)
3694 __prevAddressBarMode = __curAddressBarMode;
3696 if (__pAddressbar != null)
3698 __curAddressBarMode = GetAddressbarMode();
3701 if (__curAddressBarMode == ADDRESSBAR_MODE_EDIT)
3703 __adressPanelPosition.y = 0;
3704 if (__pAddressbar != null)
3706 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
3707 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3708 __pAddressbar->Invalidate(true);
3710 if (__pWebViewer != null)
3712 __pWebViewer->StopLoading();
3715 else if(__curAddressBarMode == ADDRESSBAR_MODE_LOADING)
3717 __adressPanelPosition.y = 0;
3718 if (__pAddressbar != null)
3720 __webControlPosition.y = 0;
3721 __pAddressbar->SetBounds(Rectangle(0, __pAddressbar->GetY() - __pAddressbar->GetHeight(), GetClientAreaBounds().width, __pAddressbar->GetHeight()));
3722 __pAddressbar->Invalidate(true);
3728 MainForm::OnClipboardClosed(const Addressbar& addBar)
3730 AppLog("XYZ::MainForm::OnClipboardClosed");
3731 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3733 AppLog("akjshdasd 3");
3734 __pFooterPanel->SetShowState(true);
3736 __isKeypadOpened = false;
3737 RelayoutControls(false);
3741 MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar, bool footerState)
3743 AppLog("XYZ::MainForm::OnAddressBarKeypadClosed");
3744 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3746 AppLog("akjshdasd 3");
3747 __pFooterPanel->SetShowState(true);
3749 __isKeypadOpened = false;
3750 if(__pNotification && __pNotification->GetShowState())
3752 __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight());
3755 RelayoutControls(false,footerState);
3759 MainForm::OnAddressBarKeypadOpened(const Addressbar& addBar)
3761 AppLog("XYZ::MainForm::OnAddressBarKeypadOpened");
3762 __isKeypadOpened = true;
3763 if(__pNotification && __pNotification->GetShowState())
3765 __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight());
3767 RelayoutControls(false);
3771 MainForm::OnAddressBarKeypadWillOpen(const Addressbar& addBar)
3773 __isKeypadOpened = true;
3774 __pFooterPanel->SetShowState(false);
3778 MainForm::OnAddressBarKeypadBoundsChanged(const Addressbar& addBar)
3780 AppLog("XYZ::MainForm::OnAddressBarKeypadBoundsChanged");
3781 RelayoutControls(false);
3785 MainForm::OnPageTitleReceived(const Tizen::Base::String& title)
3787 AppLog("MainForm::OnPageTitleReceived %ls",title.GetPointer());
3790 __pWindowInfo->pageTitle = title;
3791 if (__pWebViewer != null)
3793 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3794 AppLog("MainForm::OnPageTitleReceived url %ls",__pWindowInfo->pageUrl.GetPointer());
3797 if (__pAddressbar != null && __pWebViewer != null)
3799 SetUrl(__pWebViewer->GetUrl());
3800 __pAddressbar->Invalidate(true);
3805 MainForm::UpdateFavicon(void)
3807 bool urlImageType = false;
3808 String *tempPath = null;
3810 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();");
3811 Bitmap* pBitmap = null;
3813 if (tempPath && tempPath->GetLength() > 0 && tempPath->CompareTo(L"undefined") != 0)
3815 if (__pWindowInfo != null)
3818 url.SetUri(*tempPath);
3819 if (url.GetHost().GetLength() == 0)
3823 webUrl.SetUri(__pWebViewer->GetUrl());
3824 result r = url.SetHost(webUrl.GetHost());
3831 if (url.GetScheme().GetLength() == 0)
3835 webUrl.SetUri(__pWebViewer->GetUrl());
3836 url.SetScheme(webUrl.GetScheme());
3838 __pWindowInfo->faviconUrl = url.ToString();
3840 pBitmap = __pWebViewer->GetFaviconN();
3842 if (pBitmap != null)
3844 if (__pWindowInfo->pFavicon != NULL)
3846 __pWindowInfo->pFavicon = null;
3848 __pWindowInfo->pFavicon = new(std::nothrow) Bitmap();
3849 __pWindowInfo->pFavicon->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
3851 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3853 FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
3855 else if(__pWindowInfo->pFavicon != null)
3857 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3861 Bitmap *pDefaultBmp = FaviconManager::GetInstance()->GetDefaultFaviconN();
3862 if(pDefaultBmp != null)
3864 __pAddressbar->SetFaviconBitmap(*pDefaultBmp);
3878 if(tempPath != null)
3882 AppLogDebug("Error occured: %s", GetErrorMessage(GetLastResult()));
3888 MainForm::OnLoadingRequested(const Tizen::Base::String& url,
3889 Tizen::Web::Controls::WebNavigationType type)
3891 AppLog("urlk %ls",url.GetPointer());
3892 // when load new page if find word panel is open its show state is false
3893 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3895 __currentSearchStr = L"";
3896 __currentWordIndex = 0;
3897 __maxOccurrances = 0;
3898 __pFindWordEditField->SetText(L"");
3899 __pFindWordNext->SetEnabled(false);
3900 __pFindWordPrev->SetEnabled(false);
3901 __pFindWordCountLabel->SetText(L"0/0");
3902 __pFindWordControl->SetShowState(false);
3903 __pFindWordEditField->HideKeypad();
3904 RelayoutControls(false);
3907 __pFooterPanel->Invalidate(true);
3910 uriInfo.SetUri(url);
3912 if(url.Contains(IDS_TIZEN_SERVICE))
3915 String delim(L":;,");
3917 // Creates a StringTokenizer instance
3918 StringTokenizer strTok(url, delim);
3920 int count = strTok.GetTokenCount(); // count == 4
3922 HashMap *pMap = new HashMap();
3928 while (strTok.HasMoreTokens())
3930 AppLog("Token: %ls", token.GetPointer());
3931 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3932 if(token.Contains(IDS_APPID))
3934 token.SubString(6, appId);
3935 AppLog("AppID:%ls", appId.GetPointer());
3937 else if(token.Contains(IDS_KEY))
3939 token.SubString(4, key);
3940 AppLog("key:%ls", key.GetPointer());
3942 else if(token.Contains(IDS_VALUE))
3944 token.SubString(6, value);
3945 AppLog("value:%ls", value.GetPointer());
3948 pMap->Add(key, value);
3952 AppControl *pAppControl = null;
3953 String operationId = L"http://tizen.org/appcontrol/operation/main";
3954 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
3957 result r = pAppControl->Start(null, null, pMap, null);
3961 AppLogException("AppControl not found");
3971 MainForm::OnWebDataReceived(const Tizen::Base::String& mime,
3972 const Tizen::Net::Http::HttpHeader& httpHeader)
3974 return Tizen::Web::Controls::WEB_DECISION_CONTINUE;
3978 MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint& endPoint)
3980 AppLog("MainForm::OnWebPageBlockSelected");
3981 // if(__isLongPressedDone == false)
3984 if (__pHitElementResult != null)
3986 delete __pHitElementResult;
3987 __pHitElementResult = null;
3990 if (__pWebViewer != null)
3992 AppLog("MainForm::OnWebPageBlockSelected web not null");
3993 __pHitElementResult = __pWebViewer->GetElementByPointN(startPoint);
3995 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
3997 AppLog("datafirst startpoint error %s",GetErrorMessage(GetLastResult()));
3998 __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint);
3999 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
4001 __pHitElementResult = __pWebViewer->GetElementByPointN(__longPressPoint);
4003 AppLog("datafirst endpoint error %s",GetErrorMessage(GetLastResult()));
4007 if (__pHitElementResult == null)
4012 if (__pHitElementResult->HasImage() != true)
4014 String tagName = __pHitElementResult->GetTagName();
4015 String type = __pHitElementResult->GetAttributeValue("type");
4018 AppLog("TagName %ls",tagName.GetPointer());
4019 __currentSelectedStr.Clear();
4020 AppLog("__currentSelectedStr after clear %ls",__currentSelectedStr.GetPointer());
4021 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4022 AppLog("__currentSelectedStr after GetTextFromBlock %ls",__currentSelectedStr.GetPointer());
4023 if(tagName.Equals(L"TEXTAREA",false) == true)
4025 AppLog("Tagnameseemstobe TEXTAREA");
4027 else if(tagName.Equals(L"INPUT",false) == true)
4029 AppLog("Tagnameseemstobe INPUT");
4032 if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) /*&& __isLongPressedDone == true*/ && __currentSelectedStr.CompareTo(L"") !=0)
4034 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4036 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),true);
4039 __pImageMenu->SetShowState(true);
4040 __pImageMenu->Show();
4041 __pImageMenu->Invalidate(true);
4044 else /*if(__isLongPressedDone == true)*/
4046 AppLog("MainForm::OnWebPageBlockSelected no paste option");
4048 if(__pHitElementResult->GetUrl().GetLength() > 0)
4050 __currentSelectedStr.Clear();
4051 __currentSelectedStr = __pHitElementResult->GetUrl();
4053 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),false);
4056 __pImageMenu->SetShowState(true);
4057 __pImageMenu->Show();
4058 __pImageMenu->Invalidate(true);
4062 AppLog("MainForm::OnWebPageBlockSelected block text is %ls",__currentSelectedStr.GetPointer());
4063 AppLog("MainForm::OnWebPageBlockSelected tag name is %ls",tagName.GetPointer());
4064 AppLog("MainForm::OnWebPageBlockSelected type name is %ls",type.GetPointer());
4070 MainForm::OnWebPageShowRequested(Tizen::Web::Controls::Web& source)
4076 MainForm::OnWebWindowCreateRequested(void)
4078 AppLog("MainForm::OnWebWindowCreateRequested entered");
4079 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4081 if (pNewWindowInfo == null)
4085 result r = E_SUCCESS;
4086 SceneManager* pSceneManager = SceneManager::GetInstance();
4087 if (pSceneManager == NULL)
4091 ArrayList* pArgList = new(std::nothrow) ArrayList();
4092 if (pArgList == NULL)
4096 r = pArgList->Construct();
4099 pNewWindowInfo->isJavascriptInitiated = true;
4100 pArgList->Add(*pNewWindowInfo);
4101 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4105 AppLogDebug("EditHistoryListForm::OnFormBackRequested Failed to GoBackward %s",GetErrorMessage(r));
4112 return pNewWindowInfo->pCurrentWeb;
4115 void MainForm::OnWebWindowCloseRequested(Tizen::Web::Controls::Web& source)
4117 AppLog("OnWebWindowCloseRequested");
4118 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
4119 SceneManager* pSceneManager = SceneManager::GetInstance();
4120 WindowInfo* pWindowInfo = null;
4121 WindowInfo* pNewWindowInfo = null;
4124 result r = E_FAILURE;
4126 if (pAllWindowList != null)
4128 totalCount = pAllWindowList->GetCount();
4131 for (int count = 0; count < totalCount; count++)
4133 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
4134 if (pSceneManager != null && pWindowInfo != null && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID)
4136 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
4139 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
4143 r = pAllWindowList->RemoveAt(count, true);
4147 pNewWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
4149 else if(pAllWindowList->GetCount() > 0)
4151 pNewWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
4155 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4157 if (pNewWindowInfo == null)
4161 result r = E_SUCCESS;
4162 SceneManager* pSceneManager = SceneManager::GetInstance();
4163 if (pSceneManager == NULL)
4167 ArrayList* pArgList = new(std::nothrow) ArrayList();
4168 if (pArgList == NULL)
4172 r = pArgList->Construct();
4175 pArgList->Add(*pNewWindowInfo);
4176 result r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4177 if (pArgList != null)
4184 AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r));
4189 pApp = UiApp::GetInstance();
4192 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
4197 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
4199 __pWindowInfo = null;
4207 MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter)
4209 AppLog("xyz:: MainForm::RelayoutControls called");
4210 __webControlPosition.y = 0;
4211 __webControlHeight = GetClientAreaBounds().height;
4212 AppLog("Client area height: %d", __webControlHeight);
4214 AppLog("Client area height: %d", __webControlHeight);
4215 if(__pAddressbar != null && __pAddressbar->GetShowState() == true)
4217 __webControlPosition.y += __pAddressbar->GetHeight();
4218 __webControlHeight -= __pAddressbar->GetHeight();
4219 __pAddressbar->SetBounds(0, 0, __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
4221 else if(__pFindWordControl != null && __pFindWordControl->GetShowState() == true)
4223 __webControlPosition.y += __pFindWordControl->GetHeight();
4224 __webControlHeight -= __pFindWordControl->GetHeight();
4225 __pFindWordControl->SetBounds(0, 0, GetClientAreaBounds().width, __pFindWordControl->GetHeight());
4228 if(__pFooterPanel != null && __pFooterPanel->GetShowState() == true && relayoutFooter == true)
4230 __webControlHeight -= __pFooterPanel->GetHeight();
4232 __pFooterPanel->SetBounds(0, __webControlPosition.y + __webControlHeight, GetClientAreaBounds().width, __pFooterPanel->GetHeight());
4233 __webControlHeight = __webControlHeight + 12;
4235 if (__pWebViewer != null && __pWebViewer->GetShowState() == true)
4237 if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight )
4242 __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight );
4243 AppLog("xyz:: MainForm::RelayoutControls called __webControlHeight %d",__webControlHeight);
4244 __pWebViewer->Invalidate(false);
4247 if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null)
4249 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__webControlPosition.y , GetClientAreaBounds().width, __webControlHeight));
4256 MainForm::ShowFindWordPanel(bool show , bool isTouchPressed)
4258 if (__pFindWordControl == null)
4263 Tizen::Locales::LocaleManager localeManager;
4264 Tizen::Locales::Locale local = localeManager.GetSystemLocale();
4266 String languageCode;
4267 result r = SettingInfo::GetValue(L"Language", languageCode);
4268 // int languagecode = local.GetLanguageCode();
4269 AppLog("rahul language is %S", languageCode.GetPointer());
4273 InitFindWordPanel();
4275 if (languageCode.CompareTo("ara") == 0)
4277 AppLog("rahul language is arabic");
4279 __pFindWordPanelLeftToRight->SetShowState(false);
4280 __pFindWordPanelRightToLeft->SetShowState(true);
4282 __pFindWordClear->SetShowState(false);
4283 __pFindWordCountLabel->SetShowState(false);
4284 __pFindWordEditField->SetShowState(false);
4286 __pFindWordClearRightToLeft->SetShowState(true);
4287 __pFindWordCountLabelRightToLeft->SetShowState(true);
4288 __pFindWordEditFieldRightToLeft->SetShowState(true);
4292 AppLog("rahul language is not arabic");
4295 __pFindWordPanelLeftToRight->SetShowState(true);
4296 __pFindWordPanelRightToLeft->SetShowState(false);
4298 __pFindWordClear->SetShowState(true);
4299 __pFindWordCountLabel->SetShowState(true);
4300 __pFindWordEditField->SetShowState(true);
4302 __pFindWordClearRightToLeft->SetShowState(false);
4303 __pFindWordCountLabelRightToLeft->SetShowState(false);
4304 __pFindWordEditFieldRightToLeft->SetShowState(false);
4306 __pFindWordControl->SetShowState(true);
4310 if(__pFindWordControl != null)
4312 __pFindWordControl->SetShowState(false);
4316 AppLog("MainForm::ShowFindWordPanel %d",show);
4317 if (show && !isTouchPressed)
4319 if (languageCode.CompareTo("ara") == 0)
4321 if (__pFindWordEditFieldRightToLeft)
4323 __pFindWordEditFieldRightToLeft->SetFocus();
4324 __pFindWordEditFieldRightToLeft->ShowKeypad();
4329 if (__pFindWordEditField)
4331 __pFindWordEditField->SetFocus();
4332 __pFindWordEditField->ShowKeypad();
4338 if (languageCode.CompareTo("ara") == 0)
4340 if (__pFindWordEditFieldRightToLeft)
4341 __pFindWordEditFieldRightToLeft->HideKeypad();
4345 if (__pFindWordEditField)
4346 __pFindWordEditField->HideKeypad();
4350 RelayoutControls(false);
4354 MainForm::StartWordSearch()
4356 //Get the count of occurances of the word in the current page
4357 __maxOccurrances = 0;
4358 __currentWordIndex = 0;
4360 __pFindWordPrev->SetEnabled(false);
4361 String *pCountStr = null;
4364 result r = __pWebViewer->SearchTextAllAsync(__currentSearchStr, false);
4365 AppLog("Search Result %s",GetErrorMessage(r));
4368 /*__pWebViewer->EvaluateJavascriptN(L"document.body.textContent.match(/" + __currentSearchStr + "/gi).length;");
4369 if (pCountStr != null)
4371 Integer::Parse(*pCountStr, 10, __maxOccurrances);
4375 AppLogDebug("'%ls' is found %d times", __currentSearchStr.GetPointer(), __maxOccurrances);
4380 void MainForm::OnTextFound(int totalCount, int currentOrdinal)
4382 AppLog("MainForm::OnTextFound totalCount %d",totalCount);
4383 AppLog("MainForm::OnTextFound currentOrdinal %d",currentOrdinal);
4387 if (__pFindWordCountLabel)
4389 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
4391 if (__pFindWordEditField)
4393 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
4396 else if(totalCount >= 100)
4398 if (__pFindWordCountLabel)
4400 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4402 if (__pFindWordEditField)
4404 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4409 if (__pFindWordCountLabel)
4411 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4413 if (__pFindWordEditField)
4415 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4419 __maxOccurrances = totalCount;
4420 __currentWordIndex = currentOrdinal;
4422 //Reset the UI controls as per the maxOccurrance value
4423 if (totalCount <= 0)
4425 AppLog("Word not found");
4426 //Show error notification to user
4427 __pFindWordNext->SetEnabled(false);
4428 if(__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4430 __pFindWordCountLabel->SetText(L"0/0");
4431 __pFindWordCountLabel->Invalidate(false);
4433 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4435 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4436 __pFindWordCountLabelRightToLeft->Invalidate(false);
4438 __pFindWordNext->Invalidate(false);
4439 __pFindWordPrev->Invalidate(false);
4444 if (totalCount == 1 || totalCount == currentOrdinal)
4446 __pFindWordNext->SetEnabled(false);
4450 __pFindWordNext->SetEnabled(true);
4453 String countStr = L"";
4454 countStr.Append(__currentWordIndex);
4455 countStr.Append(L"/");
4456 countStr.Append(__maxOccurrances);
4457 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4459 __pFindWordCountLabel->SetText(countStr);
4460 __pFindWordCountLabel->Invalidate(false);
4461 __pFindWordCountLabel->Invalidate(false);
4463 else if (__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4465 __pFindWordCountLabelRightToLeft->SetText(countStr);
4466 __pFindWordCountLabelRightToLeft->Invalidate(false);
4467 __pFindWordCountLabelRightToLeft->Invalidate(false);
4469 if (__pFindWordNext)
4471 __pFindWordNext->Invalidate(false);
4473 if (__pFindWordPrev)
4475 __pFindWordPrev->Invalidate(false);
4481 MainForm::FindNextWord(bool next)
4485 //if (__pWebViewer->SearchText(__currentSearchStr, true) == true)
4486 if (__pWebViewer->SearchNextAsync(true) == E_SUCCESS)
4488 if (__currentWordIndex < __maxOccurrances)
4490 __currentWordIndex++;
4496 //if (__pWebViewer->SearchText(__currentSearchStr, false) == true)
4497 if (__pWebViewer->SearchNextAsync(false) == E_SUCCESS)
4499 if(__currentWordIndex > 1)
4501 __currentWordIndex--;
4506 String countStr = L"";
4507 countStr.Append(__currentWordIndex);
4508 countStr.Append(L"/");
4509 countStr.Append(__maxOccurrances);
4511 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4513 __pFindWordCountLabel->SetText(countStr);
4514 __pFindWordCountLabel->Invalidate(false);
4516 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4518 __pFindWordCountLabelRightToLeft->SetText(countStr);
4519 __pFindWordCountLabelRightToLeft->Invalidate(false);
4522 if (__currentWordIndex >= __maxOccurrances)
4524 __pFindWordNext->SetEnabled(false);
4528 __pFindWordNext->SetEnabled(true);
4530 if (__currentWordIndex <= 1)
4532 __pFindWordPrev->SetEnabled(false);
4536 __pFindWordPrev->SetEnabled(true);
4538 __pFindWordPrev->Invalidate(false);
4539 __pFindWordNext->Invalidate(false);
4541 __pFindWordControl->Invalidate(true);
4545 MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
4547 AppLog("xyz::MainForm::OnWebKeypadWillOpen");
4548 __isKeypadOpened = true;
4549 __pFooterPanel->SetShowState(false);
4550 // OnAddressBarKeypadOpened(*__pAddressbar);
4554 MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source)
4556 __isKeypadOpened = true;
4557 AppLog("xyz::MainForm::OnWebKeypadOpened");
4559 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4561 __currentSearchStr = L"";
4562 __currentWordIndex = 0;
4563 __maxOccurrances = 0;
4564 __pFindWordEditField->SetText(L"");
4565 __pFindWordNext->SetEnabled(false);
4566 __pFindWordPrev->SetEnabled(false);
4567 __pFindWordCountLabel->SetText(L"0/0");
4568 __pWebViewer->SearchTextAllAsync(L"",false);
4569 __pFindWordControl->SetShowState(false);
4570 __pFindWordEditField->HideKeypad();
4574 if (__pWebViewer != null && __pFooterPanel != null)
4576 AppLog("MainForm::OnWebKeypadOpened GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
4577 if(__pAddressbar != null)
4579 __pAddressbar->SetShowState(false);
4581 if(__pFindWordControl != null)
4583 __pFindWordControl->SetShowState(false);
4585 __pFooterPanel->SetShowState(false);
4586 __pWebViewer->SetBounds(Rectangle(0, 0,GetClientAreaBounds().width, GetClientAreaBounds().height));
4588 // if(__pImageMenu && __pImageMenu->GetShowState() == true)
4590 // __pImageMenu->SetAnchorPosition(Point(__pImageMenu->GetAnchorPosition().x/2,__pImageMenu->GetAnchorPosition().y/2));
4591 // AppLog("omgomgomg");
4597 MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source)
4599 AppLog("abcde::MainForm::OnWebKeypadClosed");
4600 AppLog("xyz::MainForm::OnWebKeypadClosed");
4601 AppLog("akjshdasd 4");
4602 __pFooterPanel->SetShowState(true);
4603 // OnAddressBarKeypadClosed(*__pAddressbar);
4604 RelayoutControls(false);
4605 __isKeypadOpened = false;
4608 if(__pImageMenu && __pImageMenu->GetShowState() == true)
4610 AppLog("abcde: imagemenu visible.");
4613 __pWebViewer->GetBlockRange(p,q);
4614 if (p == Point(0,0) && q == Point(0,0))
4617 __pImageMenu->SetAnchorPosition(p);
4618 __pImageMenu->Show();
4624 MainForm::OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source)
4626 // RelativeLayout(false);
4627 if(__pWebViewer != null)
4629 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,GetClientAreaBounds().height));
4634 MainForm::OnTouchDoublePressed(const Control& source, const Point& currentPosition, const TouchEventInfo& touchInfo)
4636 Control* temp = const_cast< Control* >(&source);
4637 Header* pHeader = dynamic_cast< Header* >(temp);
4638 if (pHeader != null)
4640 //Header double - clicked
4641 AppLog("Header double clicked");
4643 if(__pFindWordControl)
4645 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
4646 ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
4650 AppLog("MainScene::OnTouchDoublePressed");
4654 void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4656 AppLog("abcde::MainForm::OnTouchLongPressed %d, %d" ,currentPosition.x,currentPosition.y);
4657 if(TouchEventManager::GetInstance() && TouchEventManager::GetInstance()->GetTouchInfoListN() && TouchEventManager::GetInstance()->GetTouchInfoListN()->GetCount() >1)
4659 AppLog("Returning because of more than one touch point.");
4662 __longPressPoint = currentPosition;
4664 if (__pHitElementResult != null)
4666 delete __pHitElementResult;
4667 __pHitElementResult = null;
4670 if (__pWebViewer != null)
4672 AppLog("MainForm::OnTouchLongPressed web not null");
4673 __pHitElementResult = __pWebViewer->GetElementByPointN(currentPosition);
4676 if (__pHitElementResult == null)
4681 if (__pHitElementResult->HasImage() == true)
4683 if(__pWebViewer != null)
4684 InitImageContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4685 __pImageMenu->SetShowState(true);
4686 __pImageMenu->Show();
4687 __pImageMenu->Invalidate(true);
4689 else if(__pHitElementResult->HasUrl() == true)
4691 String tempURl = __pHitElementResult->GetUrl();
4692 AppLog("tempURl is %ls", tempURl.GetPointer());
4693 const Bitmap* pBitmap = __pHitElementResult->GetImage();
4694 if (pBitmap != null)
4702 InitImageLinkContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4703 __pImageMenu->SetShowState(true);
4704 __pImageMenu->Show();
4705 __pImageMenu->Invalidate(true);
4709 String tagName = __pHitElementResult->GetTagName();
4710 String type = __pHitElementResult->GetAttributeValue("type");
4711 String value = __pHitElementResult->GetAttributeValue(L"value");
4712 String innerHtml = __pHitElementResult->GetAttributeValue(L"innerHTML");
4714 __currentSelectedStr.Clear();
4715 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4717 AppLog("tag name is %ls", tagName.GetPointer());
4718 AppLog("type is %ls", type.GetPointer());
4722 __isLongPressedDone = true;
4723 result r =__pWebViewer->SetBlockSelectionPosition(currentPosition);
4724 if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) && innerHtml.GetLength() == 0 && type.Equals(L"submit",false) !=true && type.Equals(L"range",false) !=true/*&& __isWebKeypadOpened == true*/ && __currentSelectedStr.Equals(L"",false) == true && r == E_INVALID_ARG)
4726 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4728 InitSelectTextContextMenu(Point(currentPosition.x , currentPosition.y + __pWebViewer->GetY()),true, true);
4731 __pImageMenu->SetShowState(true);
4732 __pImageMenu->Show();
4733 __pImageMenu->Invalidate(true);
4736 AppLog("setselectionselectedornot %s",GetErrorMessage(r));
4739 // __inputEventToBeSupressed = true;
4743 MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4745 AppLog("xyz:: MainForm::OnTouchReleased called");
4747 if (__pAddressbar && __pAddressbar->GetShowState() == true)
4749 __pAddressbar->SetShowState(false);
4751 if(__pFooterPanel && __isKeypadOpened == false)
4753 __pFooterPanel->SetShowState(true);
4757 /*HitElementResult* pHitElement = __pWebViewer->GetElementByPointN(currentPosition);
4758 if(pHitElement != null && pHitElement->HasUrl() == true && __inputEventToBeSupressed == true)
4760 __pWebViewer->ConsumeInputEvent();
4762 if(pHitElement != null)
4766 __inputEventToBeSupressed = false;*/
4770 MainForm::OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4777 MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4779 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4781 __currentSearchStr = L"";
4782 __currentWordIndex = 0;
4783 __maxOccurrances = 0;
4785 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
4787 __pFindWordEditField->SetText(L"");
4788 __pFindWordEditField->HideKeypad();
4789 __pFindWordControl->SetShowState(false);
4790 __pFindWordCountLabel->SetText(L"0/0");
4792 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
4794 __pFindWordEditFieldRightToLeft->SetText(L"");
4795 __pFindWordEditFieldRightToLeft->HideKeypad();
4796 __pFindWordControl->SetShowState(false);
4797 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4800 __pFindWordNext->SetEnabled(false);
4801 __pFindWordPrev->SetEnabled(false);
4803 __pWebViewer->SearchTextAllAsync(L"",true);
4804 __pFindWordControl->SetShowState(false);
4806 AppLog("__pAddressbar->GetShowState() %d",__pAddressbar->GetShowState());
4807 if(__pAddressbar->GetShowState() == false)
4809 __pAddressbar->SetAddressbarURLFocus();
4810 __pFooterPanel->SetShowState(false);
4817 MainForm::OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4823 MainForm::OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4829 MainForm::OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4835 MainForm::OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4841 MainForm::OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4847 MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
4849 AppLog("MainForm::OnOrientationChanged GetClientAreaBounds %d, %d",GetClientAreaBounds().width,GetClientAreaBounds().height);
4850 int widthContextItem = 0;
4851 if(__pFindWordCountLabel)
4852 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4853 // As per the platform engineer comment removed this line
4854 /*if(__pWebViewer != null)
4856 // 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
4857 __pWebViewer->ReleaseBlock();
4860 // if(__pFindWordControl != null)
4861 // ShowFindWordPanel(__pFindWordControl->GetShowState(), false);
4863 if(__pOptionMenu && __pOptionMenu->GetShowState() == true)
4865 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4867 AppLog(" Orientation landscape");
4868 __pOptionMenu->SetMaxVisibleItemsCount(5);
4872 AppLog(" Orientation potrait");
4873 __pOptionMenu->SetMaxVisibleItemsCount(6);
4876 if(__pNotification && __pNotification->GetShowState() == true)
4878 __pNotification->SetShowState(false);
4879 __pNotification->Invalidate(false);
4881 if ( __pFooterLabel != null)
4883 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
4886 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
4892 if (__pFindWordBgLabel != null)
4894 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
4895 if (pBitmap != null)
4897 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
4902 if (__pFindWordBgLabelRightToLeft != null)
4904 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
4905 if (pBitmap != null)
4907 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
4913 // if(__pOptionMenu != null)
4914 // __pOptionMenu->SetShowState(false);
4916 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4918 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE;
4922 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT;
4927 AppLog("__pFooterPanel->GetShowState() is true");
4929 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), __pFooterPanel->GetWidth(), __pFooterPanel->GetHeight());
4930 __pFooterPanel->Invalidate(true);
4934 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
4935 if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
4937 InitMostVisitedSitesView(orientationStatus);
4940 RelayoutControls(false);
4941 if (__pArticleReaderPanel != null)
4943 if (__pArticleReaderPanel->GetShowState() == true)
4945 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
4947 if (__pBlankPanel != null)
4948 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
4950 if (__pWebReader != null)
4952 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight() - 96));
4954 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
4955 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
4957 if ( pBitmap != null && pSrcBitmap != null)
4959 AppLog("CreateReaderPanel ninepatchbitmap found");
4960 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
4963 __pArticleReaderLabel->SetBounds(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()));
4964 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
4965 if (pBitmap != null)
4970 if (pSrcBitmap != null)
4979 if (__pAddressbar != null)
4981 int width = GetClientAreaBounds().width;
4982 __pAddressbar->OrientationChanged(width);
4987 MainForm::OnSettingsChange(int settingvalue)
4989 AppLogDebug("MainForm::OnSettingsChange entered");
4991 if(settingvalue == (int)REGISTRY_SETTING_HOMEPAGE)
4993 __pAddressbar->ResetGuideText();
4995 if (__pWebViewer == null)
4997 AppLogDebug("Webviewer is not initialized yet.");
5001 if (settingvalue == (int) REGISTRY_SETTING_DEFAULT_VIEW)
5003 WebSetting settings = __pWebViewer->GetSetting();
5004 if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_FIT_TO_WIDTH")) == 0)
5006 settings.SetAutoFittingEnabled(true);
5008 else if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_READABLE")) == 0)
5010 settings.SetAutoFittingEnabled(false);
5012 __pWebViewer->SetSetting(settings);
5014 else if (settingvalue == (int) REGISTRY_SETTING_RUN_JAVASCRIPT)
5016 WebSetting settings = __pWebViewer->GetSetting();
5017 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
5018 __pWebViewer->SetSetting(settings);
5020 else if (settingvalue == (int) REGISTRY_SETTING_DISPLAY_IMAGES)
5022 WebSetting settings = __pWebViewer->GetSetting();
5023 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
5024 __pWebViewer->SetSetting(settings);
5025 __pWebViewer->Reload();
5027 else if (settingvalue == (int) REGISTRY_SETTING_BLOCK_POPUP)
5029 WebSetting settings = __pWebViewer->GetSetting();
5030 settings.SetJavaScriptPopupEnabled(SettingPresentationModel::GetInstance()->IsBlockPopUp());
5031 __pWebViewer->SetSetting(settings);
5033 else if (settingvalue == (int) REGISTRY_SETTING_ACCEPT_COOKIES)
5037 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
5040 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_FORM_DATA)
5044 WebSetting settings = __pWebViewer->GetSetting();
5045 settings.SetAutoFormDataShowEnabled(SettingPresentationModel::GetInstance()->IsRememberFormData());
5046 __pWebViewer->SetSetting(settings);
5049 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_PASSWORD)
5053 WebSetting settings = __pWebViewer->GetSetting();
5054 settings.SetAutoLoginFormFillEnabled(SettingPresentationModel::GetInstance()->IsRememberPassword());
5055 __pWebViewer->SetSetting(settings);
5058 else if (settingvalue == (int) REGISTRY_SETTING_SHOW_SECURITY_WARNINGS)
5060 WebSetting settings = __pWebViewer->GetSetting();
5061 if (SettingPresentationModel::GetInstance()->IsSecurityWarningsEnabled() == true)
5063 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_USER_CONFIRM);
5067 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_CONTINUE);
5069 __pWebViewer->SetSetting(settings);
5071 else if (settingvalue == (int) REGISTRY_SETTING_READER_FONT_SIZE)
5075 AppLogDebug("IntMainForm fontsize Changed to %d",SettingPresentationModel::GetInstance()->GetReaderFontSize());
5076 WebSetting settings = __pWebReader->GetSetting();
5077 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
5078 __pWebReader->SetSetting(settings);
5084 MainForm::OnSettingsReset()
5088 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
5089 __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
5094 MainForm::OnClearCache()
5096 result r = E_SUCCESS;
5098 if (__pWebViewer != NULL)
5100 r = __pWebViewer->ClearCache();
5103 AppLogDebug("Cache cleared success");
5107 AppLogDebug("Cache cleared fail");
5113 MainForm::OnClearCookie()
5115 result r = E_SUCCESS;
5117 if (__pWebViewer != NULL)
5119 __pWebViewer->ClearCookie();
5123 AppLogDebug("Cookie cleared success");
5127 AppLogDebug("Cache cleared fail");
5132 MainForm::OnClearFormData()
5134 result r = E_SUCCESS;
5136 if (__pWebViewer != NULL)
5138 __pWebViewer->ClearFormData();
5142 AppLogDebug("Cookie cleared success");
5146 AppLogDebug("Cache cleared fail");
5151 MainForm::OnClearPasswords()
5153 result r = E_SUCCESS;
5155 if (__pWebViewer != NULL)
5157 __pWebViewer->ClearLoginFormData();
5161 AppLogDebug("Cookie cleared success");
5165 AppLogDebug("Cache cleared fail");
5171 MainForm::findDistance(int x1,int y1,int x2, int y2)
5173 int deltaX = Math::Abs(x2 - x1);
5174 int deltaY = Math::Abs(y2 - y1);
5175 double num = deltaX*deltaX + deltaY*deltaY;
5181 for (i = 0; i < 20; i++)
5183 x = (((x*x)+ num)/(2*x));
5194 MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5196 AppLog("xyz:: MainForm::OnTouchPressed called");
5197 if(__pFindWordControl)
5199 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
5200 // ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
5202 __isLongPressedDone = false;
5207 IList* pList = null;
5208 pList = touch.GetTouchInfoListN(source);
5212 int count = pList->GetCount();
5215 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5216 __touchPoint1 = pTouchInfo->position;
5218 /*if (__pAddressbar != null)
5220 if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && __pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5222 if (__pAddressbar->GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5224 __pAddressbar->SaveAddressbarEditText();
5226 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5229 __pAddressbar->Invalidate(true);
5231 if (GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5233 if (GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5235 //__pAddressbar->SaveAddressbarEditText();
5237 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5240 else if (count == 2)
5242 AppLogDebug("MainForm::OnTouchPressed count is two");
5243 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5244 __touchPoint1 = pTouchInfo->position;
5246 pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(1));
5247 __touchPoint2 = pTouchInfo->position;
5252 pList->RemoveAll(true);
5257 __pAddressbar->SetShowState(false);
5259 if(__pFooterPanel && __isKeypadOpened == false)
5261 __pFooterPanel->SetShowState(true);
5263 RelayoutControls(false);
5268 MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5270 // __currentWordIndex = 0;
5271 __isLongPressedDone = false;
5276 MainForm::MoveUiControls()
5281 MainForm::OnTextValueChanged (const Tizen::Ui::Control &source)
5283 if(&source == dynamic_cast<Control*>(__pFooterUrlField) && __pFooterUrlField != null)
5285 if(__pFooterUrlField->GetTextLength() == 0)
5287 __pFooterUrlField->SetKeypadActionEnabled(false);
5291 __pFooterUrlField->SetKeypadActionEnabled(true);
5294 if (__pFindWordEditField != null && __pFindWordEditField->GetShowState() == true)
5296 __currentSearchStr = __pFindWordEditField->GetText();
5297 if (__currentSearchStr.GetLength() > 0)
5299 __pFindWordCountLabel->SetShowState(true);
5303 // __pFindWordCountLabel->SetShowState(false);
5304 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
5305 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
5308 __pFindWordNext->SetEnabled(false);
5309 __pFindWordPrev->SetEnabled(false);
5310 __pFindWordNext->Invalidate(true);
5311 __pFindWordPrev->Invalidate(true);
5312 __pFindWordCountLabel->SetText(L"0/0");
5313 __pFindWordCountLabel->Invalidate(true);
5315 else if (__pFindWordEditFieldRightToLeft != null && __pFindWordEditFieldRightToLeft->GetShowState() == true)
5317 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
5318 if (__currentSearchStr.GetLength() > 0)
5320 __pFindWordCountLabelRightToLeft->SetShowState(true);
5324 __pFindWordCountLabelRightToLeft->SetShowState(false);
5327 __pFindWordNext->SetEnabled(false);
5328 __pFindWordPrev->SetEnabled(false);
5329 __pFindWordNext->Invalidate(true);
5330 __pFindWordPrev->Invalidate(true);
5331 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
5332 __pFindWordCountLabelRightToLeft->Invalidate(true);
5334 AppLog("__currentSearchStr %ls",__currentSearchStr.GetPointer());
5335 if (__currentSearchStr.GetLength() > 0)
5341 __currentSearchStr = L"aaaaaaaabbbbbbbccccccc";
5343 __currentSearchStr = L"";
5344 AppLogDebug("Enter something");
5349 MainForm::InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus)
5356 MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus)
5358 if(__pWebViewer != null)
5361 AppLog("MainForm::InitMostVisitedSitesView");
5362 result r = E_SUCCESS;
5365 if (__pWebViewer != null && __pMostVisitedListView != null)
5370 if (__pMostVisitedListView != null)
5372 RemoveControl(__pMostVisitedListView);
5374 if(__pMostVisitedSites != null)
5376 __pMostVisitedSites->RemoveAll(true);
5379 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
5381 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
5382 __pMostVisitedListView = new(std::nothrow) ListView();
5384 int height = GetClientAreaBounds().height;
5386 if(__pFooterPanel->GetShowState() == true)
5388 height = height - __pFooterPanel->GetHeight();
5390 if(__pAddressbar->GetShowState() == true)
5392 height -= __pAddressbar->GetHeight();
5395 r = __pMostVisitedListView->Construct(Tizen::Graphics::Rectangle(0,0 , GetClientAreaBounds().width, height),true,false);
5399 delete __pMostVisitedListView;
5400 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
5403 __pMostVisitedListView->SetItemProvider(*this);
5404 __pMostVisitedListView->AddListViewItemEventListener(*this);
5405 __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_VISITED_SITES"));
5406 AddControl(__pMostVisitedListView);
5407 __pMostVisitedListView->UpdateList();
5414 MainForm::GetImagePath(void)
5418 String formattedTime;
5419 DateTime currentTime;
5420 LocaleManager localManager;
5421 SystemTime::GetCurrentTime(TIME_MODE_WALL, currentTime);
5423 localManager.Construct();
5424 Locale locale = localManager.GetSystemLocale();
5425 //Locale locale(LANGUAGE_ENG, COUNTRY_US);
5427 // Get date formatter
5428 DateTimeFormatter* pTimeFormatter = DateTimeFormatter::CreateDateTimeFormatterN(locale, DATE_TIME_STYLE_DEFAULT);
5432 pTimeFormatter->Format(currentTime, formattedTime);
5435 AppLog("current time stamp is %ls", formattedTime.GetPointer());
5436 String delim(L" :");
5437 StringTokenizer strTok(formattedTime, delim);
5440 String str1("GMT+00");
5441 while (strTok.HasMoreTokens())
5443 strTok.GetNextToken(token); // Osp, StringTokenizer, Sample, code
5444 if(token.Equals(str1))
5446 AppLog("token is %ls", token.GetPointer());
5447 imageName.Append(token);
5453 void MainForm::UpdateImageContent(ByteBuffer* aBuffer, String imageName)
5455 result r = E_FAILURE;
5456 AppLog("Content manager 1");
5457 ContentId contentId;
5458 ContentManager contentManager;
5459 r = contentManager.Construct();
5462 AppLog("Content manager update content result %s" ,GetErrorMessage(r));
5465 Tizen::Base::String contentPath = Tizen::System::Environment::GetMediaPath() + L"Downloads/";
5466 Tizen::Io::Directory::Create(contentPath,true);
5467 if(GetLastResult() == E_FILE_ALREADY_EXIST)
5469 AppLog("Already exists");
5471 else if(GetLastResult() == E_SUCCESS)
5473 AppLog("created success");
5475 contentPath.Append(imageName);
5476 contentPath.Append(".jpg");
5477 contentId = contentManager.CreateContent(*aBuffer, contentPath);
5478 ShowIndicatorNotification(L"Download Complete",contentPath);
5479 AppLog("Content manager update content result %s" ,GetErrorMessage(GetLastResult()));
5483 MainForm::ShowIndicatorNotification(const String& messageText, const String& contentPath)
5485 AppLogDebug("ENTER");
5487 NotificationRequest request;
5488 request.SetAlertText(messageText);
5489 request.SetTitleText(L"");
5490 request.SetAppMessage(contentPath);
5491 request.SetOngoingActivityType(ONGOING_ACTIVITY_TYPE_TEXT);
5492 request.SetNotificationStyle(NOTIFICATION_STYLE_THUMBNAIL);
5493 Tizen::App::App* pApp = Tizen::App::App::GetInstance();
5494 String homePath = pApp->GetAppRootPath();
5495 String iconPath = homePath + L"res/screen-density-xhigh/Notification_download_complete.png";
5496 AppLog("The iconPath is : %ls", homePath.GetPointer());
5497 request.SetIconFilePath(iconPath);
5499 Tizen::Shell::NotificationManager notiMgr;
5500 notiMgr.Construct();
5501 notiMgr.NotifyOngoingActivity(request);
5502 AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult()));
5507 MainForm::SetForwardButtonEnabled(bool isEnabled)
5509 __pGoForwardBtn->SetEnabled(isEnabled);
5510 __pGoForwardBtn->Invalidate(true);
5514 MainForm::SetBackButtonEnabled(bool isEnabled)
5516 __pGoBackBtn->SetEnabled(isEnabled);
5517 __pGoBackBtn->Invalidate(true);
5521 MainForm::UpdateProgress(int percentage)
5523 __progressPercentage = percentage;
5524 if (percentage == 0 || percentage == 100)
5526 __isLoadingData = false;
5527 if (percentage == 100)
5529 __isLoadingCompleted = true;
5530 __progressPercentage = 0;
5534 __isLoadingCompleted = false;
5539 __isLoadingData = true;
5541 UpdateProgressBitmap();
5545 MainForm::GetProgress(void)
5547 return __progressPercentage;
5551 MainForm::UpdateProgressBitmap(void)
5553 result r = E_SUCCESS;
5554 if (__pProgressbarLabel == null)
5556 int w = __pProgressbarLabel->GetWidth();
5557 int h = __pProgressbarLabel->GetHeight();
5559 int progressWidth = 0;
5560 Bitmap* pRetBitmap = null;
5562 if (__progressPercentage == 0 || __progressPercentage == 100)
5564 __pProgressbarLabel->SetShowState(false);
5565 __pProgressbarLabel->Invalidate(false);
5570 __pProgressbarLabel->SetShowState(true);
5571 __pProgressbarLabel->Invalidate(false);
5574 r = canvas.Construct(Rectangle(0, 0, w, h));
5578 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
5583 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
5587 pBgBmp->Scale(Dimension(w, h));
5588 canvas.DrawBitmap(Point(0,0), *pBgBmp);
5592 progressWidth = (double) (w) * __progressPercentage / 100;
5593 AppLogDebug("progressWidth: %d", progressWidth);
5594 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
5596 if (pProgressBmp != null)
5598 pProgressBmp->Scale(Dimension(progressWidth, h));
5599 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
5600 delete pProgressBmp;
5603 pRetBitmap = new (std::nothrow) Bitmap();
5605 if (pRetBitmap == null)
5607 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
5611 pRetBitmap->Construct(canvas, canvas.GetBounds());
5613 if (__pProgressbarLabel != null && pRetBitmap != null)
5615 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
5616 __pProgressbarLabel->Invalidate(false);
5619 if (pRetBitmap != null)
5628 MainForm::ReaderClicked()
5630 result r = E_SUCCESS;
5631 ArrayList* pArgList = new(std::nothrow) ArrayList();
5632 if (pArgList != null)
5634 r = pArgList->Construct();
5641 r = pArgList->Add(*new(std::nothrow) String(*__pReaderData));
5648 r = pArgList->Add(*new(std::nothrow) String(__pWebViewer->GetUrl()));
5655 r = pArgList->Add(*new(std::nothrow) String(__pWindowInfo->pageTitle));
5663 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ARTICLE_READER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
5669 void MainForm::SetAddressbarMode(AddressBarMode addMode)
5671 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
5673 __currentAddMode = addMode;
5677 case ADDRESSBAR_MODE_INVALID:
5682 case ADDRESSBAR_MODE_READER:
5684 __pStopBtn->SetShowState(false);
5685 __pRefreshBtn->SetShowState(false);
5686 __pClearBtn->SetShowState(false);
5687 __pReaderBtn->SetShowState(false);
5690 case ADDRESSBAR_MODE_LOADING:
5692 __pRefreshBtn->SetShowState(false);
5693 __pStopBtn->SetShowState(true);
5694 __pClearBtn->SetShowState(false);
5695 __pReaderBtn->SetShowState(false);
5698 case ADDRESSBAR_MODE_LOADING_COMPLETE:
5700 // SetUrl(__pAddressbar->GetUrl());
5702 __pRefreshBtn->SetShowState(true);
5703 __pStopBtn->SetShowState(false);
5704 __pClearBtn->SetShowState(false);
5705 __pReaderBtn->SetShowState(false);
5708 case ADDRESSBAR_MODE_EDIT:
5710 __pRefreshBtn->SetShowState(false);
5711 __pStopBtn->SetShowState(false);
5712 __pReaderBtn->SetShowState(false);
5713 __pClearBtn->SetShowState(true);
5720 OnAddressBarModeChanged();
5723 AddressBarMode MainForm::GetAddressbarMode(void)
5725 return __currentAddMode;
5728 void MainForm::SetUrl(const String& url)
5731 if(__displayUrl.GetLength() > 2048)
5732 __displayUrl.SubString(0,2048,__displayUrl);
5734 if (__pFooterUrlField != NULL)
5736 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
5737 if (removedHttpUrl.IsEmpty() == false)
5739 __pFooterUrlField->SetText(removedHttpUrl);
5740 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5741 __pAddressbar->SetUrl(__displayUrl);
5745 __pFooterUrlField->SetText(__displayUrl);
5746 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5747 __pAddressbar->SetUrl(__displayUrl);
5749 if(__pFooterUrlField)
5750 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
5751 __pFooterUrlField->Invalidate(false);
5752 if(__pAddressbar != NULL && __pAddressbar->HasFocus())
5753 __pAddressbar->Invalidate(true);
5754 // __pFooterUrlField->SetCursorPosition(0);
5759 MainForm::RemoveHttpTextFromDisplayURL(void)
5761 AppLog("MainForm::RemoveHttpTextFromDisplayURL __displayUrl %ls",__displayUrl.GetPointer());
5763 // bool isHttpText = __displayUrl.Contains(L"http://");
5764 String updatedDisplayUrl;
5765 updatedDisplayUrl.Clear();
5766 if(__displayUrl.IndexOf(L"http://",0,index) == E_SUCCESS && index == 0)
5768 __displayUrl.SubString(7,updatedDisplayUrl);
5770 else if(__displayUrl.IndexOf(L"https://",0,index) == E_SUCCESS && index == 0)
5772 __displayUrl.SubString(8,updatedDisplayUrl);
5774 return updatedDisplayUrl;
5777 void MainForm::OnSharePopupControlStarted(void)
5779 __pWebViewer->AddTouchEventListener(*this);
5783 MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
5785 if (requestId == BACK_GROUND_APP_EVENT)
5787 if(__pWebViewer != null)
5789 __pWebViewer->Pause();
5793 __pImageMenu->SetShowState(false);
5795 if(__pAddressbar != null)
5797 __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL);
5800 else if(requestId == FORE_GROUND_APP_EVENT)
5802 if(__pWebViewer != null)
5804 __pWebViewer->Resume();
5806 if(__pAddressbar != null)
5808 __pAddressbar->SendUserEvent(FORE_GROUND_APP_EVENT,NULL);
5814 MainForm::AddressBarCancelledClicked(const Addressbar& addBar)
5816 AppLog("XYZ::MainForm::AddressBarCancelledClicked");
5817 result r = E_SUCCESS;
5820 __pAddressbar->SetShowState(false);
5822 AppLog("akjshdasd 5");
5823 __pFooterPanel->SetShowState(true);
5826 __pWebViewer->SetFocus();
5827 else if(__pMostVisitedListView)
5828 __pMostVisitedListView->SetFocus();
5829 else if(__pMultiWindowButton)
5830 __pMultiWindowButton->SetFocus();
5831 else if(__pMoreButton)
5832 __pMoreButton->SetFocus();
5834 __pAddressbar->SetShowState(false);
5836 RelayoutControls(false);
5840 MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
5842 AppLog("MainForm::OnFormMenuRequested called");
5844 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer && __pWebViewer->GetShowState() == true)
5846 int bookmarkCount=0;
5849 url=__pWindowInfo->pageUrl;
5850 AppLog("MainForm::OnFormMenuRequested url %ls",url.GetPointer());
5851 result r = E_SUCCESS;
5852 Bitmap* pBitmap = null;
5853 String lastChar = L"";
5854 // if(url.SubString(url.GetLength()-1,lastChar));
5855 // if(lastChar == L"/")
5857 // bool exist1 = false;
5858 // bool exist2 = false;
5859 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist1);
5860 // url.SubString(0,url.GetLength() - 1,url);
5861 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist2);
5862 // exist = exist1 | exist2;
5866 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
5869 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
5875 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
5879 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
5881 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
5883 if (__pOptionMenu->GetItemCount() == 9)
5885 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5889 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5894 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
5898 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
5899 if (__pOptionMenu->GetItemCount() != 9)
5901 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
5902 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
5903 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
5904 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
5905 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
5906 __pOptionMenu->SetMaxVisibleItemsCount(6);
5908 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
5910 AppLog(" Orientation landscape");
5911 __pOptionMenu->SetMaxVisibleItemsCount(5);
5915 AppLog(" Orientation potrait");
5916 __pOptionMenu->SetMaxVisibleItemsCount(6);
5919 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
5922 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
5924 __pAddressbar->SetShowState(false);
5926 __pFooterPanel->SetShowState(true);
5927 result r = __pOptionMenu->SetShowState(true);
5928 AppLog("ajsghd %s",GetErrorMessage(r));
5929 RelayoutControls(false);
5930 __pOptionMenu->Invalidate(true);
5931 __pOptionMenu->Show();