2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
17 //!Internet MainForm class
19 *@brief: The %MainForm provides the common functionalities for the Main View of the Browser including the addressbar,
20 * loading,handling events etc.
24 #include <FGraphics.h>
29 //#include <FShellNotificationManager.h>
31 #include "IntBookmarkData.h"
32 #include "IntBookmarkPresentationModel.h"
33 #include "IntCommonLib.h"
34 #include "IntFaviconManager.h"
35 #include "IntInternetApp.h"
36 #include "IntMainForm.h"
37 #include "IntSceneRegister.h"
38 #include "IntSettingPresentationModel.h"
40 using namespace Tizen::App;
41 using namespace Tizen::Base;
42 using namespace Tizen::Base::Collection;
43 using namespace Tizen::Base::Runtime;
44 using namespace Tizen::Base::Utility;
45 using namespace Tizen::Graphics;
46 using namespace Tizen::Io;
47 using namespace Tizen::Locales;
48 using namespace Tizen::Media;
49 using namespace Tizen::Shell;
50 using namespace Tizen::Ui;
51 using namespace Tizen::Ui::Controls;
52 using namespace Tizen::Content;
53 using namespace Tizen::Ui::Scenes;
54 using namespace Tizen::System;
55 using namespace Tizen::Web;
56 using namespace Tizen::Web::Controls;
58 static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.#.png";
59 static const wchar_t* IDB_FINDWORD_INPUT_FIELD_BG = L"I01_toolbar_input_field_findword.#.png";
60 static const wchar_t* IDB_BTN_BACK = L"I01_icon_Back.png";
61 static const wchar_t* IDB_BTN_BACK_PRESS = L"I01_icon_Back_press.png";
62 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK = L"I01_search_list_icon_favorite.png";
63 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK_PRESS = L"I01_search_list_icon_favorite_press.png";
64 static const wchar_t* IDB_CONTRLBAR_ICON_MORE = L"I01_icon_more.png";
65 static const wchar_t* IDB_CONTRLBAR_ICON_MORE_PRESS = L"I01_icon_more_press.png";
66 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW = L"I01_icon_plus.png";
67 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW_PRESS = L"I01_icon_plus_press.png";
68 static const wchar_t* IDB_CONTROLBAR_ICON_CREATE_DISABLE = L"I01_controlbar_icon_create_disable.png";
69 static const wchar_t* IDB_BUTTON_ON = L"00_button_on.png";
70 static const wchar_t* IDB_BUTTON_OFF = L"00_button_off.png";
71 static const wchar_t* IDB_ICON_BOOKMARK_OFF_TEMP =L"00_icon_favorite_off_74x74.png";
72 static const wchar_t* IDB_ICON_BOOKMARK_ON_TEMP = L"00_icon_favorite_on_74x74.png";
73 static const wchar_t* IDS_TIZEN_SERVICE = L"tizen-service";
74 static const wchar_t* IDS_APPID = L"AppID";
75 static const wchar_t* IDS_KEY = L"key";
76 static const wchar_t* IDS_VALUE = L"value";
77 static const wchar_t* IDB_TITLE_PROGRESS_BAR_BG = L"I01_title_progress_bar_bg.png";
78 static const wchar_t* IDB_TITLE_PROGRESS_BAR = L"I01_title_progress_bar.png";
79 //static const wchar_t* IDB_ADDRESS_BAR_BACKGROUND = L"I01_toolbar_bg_02.9.png";
81 const int IDA_BACKBTN_CLICKED = 101;
82 const int IDA_BOOKMARKBTN_CLICKED = 102;
83 const int IDA_MOREBTN_CLICKED = 103;
84 const int IDA_MULTIWINDOWBTN_CLICKED = 104;
85 const int IDA_NEWWINDOWBTN_CLICKED = 105;
86 const int IDA_FORWARD_CLICKED = 106;
87 const int IDA_ADDTOBOOKMARK_CLICKED = 107;
88 const int IDA_SHARE_CLICKED = 108;
89 const int IDA_FINDONPAGE_CLICKED = 109;
90 const int IDA_PRIVATEON_CLICKED = 110;
91 const int IDA_SETTINGS_CLICKED = 111;
92 const int IDA_READER_CLOSE_CLICKED = 112;
93 const int IDA_SMALLFONT_BTN_CLICKED = 113;
94 const int IDA_LARGEFONT_BTN_CLICKED = 114;
95 const int IDA_BRIGHTNESS_BTN_CLICKED = 115;
96 const int IDA_HISTORY_CLICKED = 116;
97 const int IDA_ADD_TO_BOOKMARKBTN_CLICKED = 117;
98 const int IDA_ADD_TO_HOME_CLICKED = 118;
99 const int IDA_SAVED_PAGES_CLICKED = 119;
100 const int IDA_DESKTOP_VIEW_CLICKED = 120;
101 const int IDA_SAVE_CLICKED = 121;
102 const int IDA_PRINT_CLICKED = 122;
104 const int IDA_FINDWORD_SEARCH_CLICKED = 201;
105 const int IDA_FINDWORD_NEXT_CLICKED = 202;
106 const int IDA_FINDWORD_PREV_CLICKED = 203;
107 const int IDA_FINDWORD_CLEAR_CLICKED = 204;
108 const int IDA_FINDWORD_CANCEL_CLICKED = 205;
110 const int IDA_COPY_IMAGE_CLICKED = 206;
111 const int IDA_VIEW_IMAGE_CLICKED = 207;
112 const int IDA_SAVE_IMAGE_CLICKED = 208;
113 const int IDA_SHARE_IMAGE_CLICKED = 209;
115 const int IDA_COPY_TEXT_CLICKED = 210;
116 const int IDA_PASTE_TEXT_CLICKED = 211;
117 const int IDA_FIND_TEXT__CLICKED = 212;
118 const int IDA_SHARE_TEXT_CLICKED = 213;
120 const int IDA_GO_BACK = 214;
121 const int IDA_GO_FORWARD = 215;
122 const int IDA_REFRESH_BTN_CLICKED = 216;
123 const int IDA_STOP_BTN_CLICKED = 217;
124 const int IDA_CLEAR_URL = 218;
125 const int IDA_READER_BTN_CLICKED = 219;
128 const int IDA_HYPERLINK_OPEN_CLICKED = 220;
129 const int IDA_HYPERLINK_COPY_LINK_CLICKED = 221;
130 const int IDA_HYPERLINK_SAVE_IMAGE_CLICKED = 222;
131 const int IDA_HYPERLINK_SHARE_IMAGE_CLICKED = 223;
133 const int IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED = 224;
135 const int DEFAULT_PROGRESS_PERCENTAGE = 10;
137 const int MainForm::IDA_FORMAT_BITMAP = 500;
138 const int MainForm::IDA_FORMAT_DELETE_BITMAP = 501;
139 const int MainForm::IDA_FORMAT_TITLE_STRING = 502;
140 const int MainForm::IDA_FORMAT_URL_STRING = 503;
141 const int MainForm::IDA_CONTEXT_ITEM_DELETE = 504;
143 static const int WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT = 336;
144 static const int WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE = 800;
145 static const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
147 static const wchar_t* APPCONTROL_OPERATION_ID_IMAGE_VIEWER = L"http://tizen.org/appcontrol/operation/view";
148 MainForm::MainForm(void)
150 __isLongPressedDone = false;
152 __pAddressbar = null;
153 // __pMostVisitedSitesPanel = null;
154 __pMostVisitedListView = null;
155 __pFooterPanel = null;
156 __pHitElementResult = null;
157 __pWindowInfo = null;
160 __pOptionMenu = null;
161 __pFindWordControl = null;
162 __pFindWordPanelLeftToRight = null;
163 __pFindWordPanelRightToLeft = null;
164 __pFindWordBgLabel = null;
165 __pFindWordBgLabelRightToLeft = null;
166 __pFindWordEditField = null;
167 __pFindWordEditFieldRightToLeft = null;
168 __pFindWordClear = null;
169 __pFindWordClearRightToLeft = null;
170 __pFindWordCountLabel = null;
171 __pFindWordClearRightToLeft = null;
172 __pFindWordNext = null;
173 __pFindWordPrev = null;
174 __previousZoomLevel = 1.0;
176 __currentAddMode = ADDRESSBAR_MODE_LOADING_COMPLETE;
179 __currentSearchStr = L"";
180 __currentSelectedStr = L"";
181 __maxOccurrances = 0;
182 __currentWordIndex = 0;
185 //__inputEventToBeSupressed = false;
186 __isLoadingData = false;
187 __isLoadingCompleted = false;
188 __progressPercentage = 0;
189 __touchPoint1 = Point(-1,-1);
190 __touchPoint2 = Point(-1,-1);
191 __longPressPoint = Point(-1,-1);
193 // __pReaderPopup = null;
194 __pReaderData = null;
196 __pReaderCloseBtn = null;
197 //__pNewWindowButton = null;
198 __pMoreButton = null;
199 __pMultiWindowButton = null;
200 __pArticleReaderPanel = null;
201 __pBlankPanel = null;
202 __pArticleReaderLabel = null;
203 __webControlHeight = 0;
204 __webControlHeightF = 0;
205 __prevAddressBarMode = ADDRESSBAR_MODE_INVALID;
206 __curAddressBarMode = ADDRESSBAR_MODE_INVALID;
207 __pMostVisitedSites = null;
208 __pFooterUrlField = null;
210 __pGoForwardBtn = null;
211 __pRefreshBtn = null;
212 __pProgressbarLabel = null;
213 __pFooterLabel = null;
217 __isKeypadOpened = false;
219 __pNotification = null;
222 MainForm::~MainForm(void)
224 SettingPresentationModel::GetInstance()->RemoveSettingsEventListener(*this);
228 __pAddressbar->SetAddressbarEventListener(null);
231 if(__pHistory != null)
237 if (__pReaderData != null)
239 delete __pReaderData;
240 __pReaderData = null;
243 if (__pPopUp != null)
249 if (__pHitElementResult != null)
251 delete __pHitElementResult;
252 __pHitElementResult = null;
256 delete __pOptionMenu;
257 __pOptionMenu = null;
260 String* pSelectedScene = NULL;
261 Object* pValue = NULL;
262 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
263 pSelectedScene = (String*) pValue;
265 /*if (pSelectedScene != null)
267 delete pSelectedScene;
269 MultiWindowPresentationModel::SetValue(SELECTED_SCENE_ID, null);*/
273 MainForm::Initialize(void)
275 Construct(L"IDL_FORM");
277 // SetFormStyle(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR | FORM_STYLE_FOOTER);
282 MainForm::OnInitializing(void)
284 AppLog("get client area width = %d",GetClientAreaBounds().width);
285 AppLog("get client area height = %d",GetClientAreaBounds().height);
286 const int WIDTH_CONTEXT_MENU_BUTTON = 336;
287 const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
289 __fontSize = CommonUtil::GetFontSize();
290 Panel* pFooterPanel = null;
292 __pSaveImage = new Image();
293 __pSaveImage->Construct();
295 // Setup back event listener
296 SettingPresentationModel::GetInstance()->AddSettingsEventListener(*this);
297 SceneManager::GetInstance()->AddSceneEventListener(IDSCN_MAIN_VIEW, *this);
298 AddOrientationEventListener(*this);
300 AppLogDebug(" MainForm::OnInitializing ended");
301 if (__pMostVisitedSites == null)
303 __pMostVisitedSites = new(std::nothrow) ArrayList();
304 __pMostVisitedSites->Construct();
306 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
308 __pItemContext= new(std::nothrow) ListContextItem();
309 __pItemContext->Construct();
311 __pItemContext->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"),true);
314 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR);
315 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR);
316 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR);
318 __pItemContextLandscape= new(std::nothrow) ListContextItem();
319 __pItemContextLandscape->Construct();
321 __pItemContextLandscape->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), true);
322 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR);
323 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR);
324 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR);
325 SetFormMenuEventListener(this);
326 AppLog("SetFormMenuEventListener result %s",GetErrorMessage(GetLastResult()));
331 MainForm::InitAddressbar(void)
333 AppLogDebug("MainForm::InitAddressbar entered");
335 result r = E_SUCCESS;
337 if (__pAddressbar != null)
341 __pAddressbar = new(std::nothrow) Addressbar();
342 AppLog("MainForm::InitAddressbar GetClientAreaBounds().width %d",GetClientAreaBounds().width);
343 r = __pAddressbar->Initialize(Tizen::Graphics::Rectangle(0, 0, GetClientAreaBounds().width, 82));
346 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
349 __pAddressbar->SetAddressbarEventListener(this);
350 AddControl(__pAddressbar);
351 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
352 SetControlAlwaysOnTop(*__pAddressbar, true);
353 __adressPanelPosition = __pAddressbar->GetPosition();
355 AppLogDebug("MainForm::InitAddressbar exit");
361 MainForm::CreateReaderPanel(void)
363 AppLogDebug("CreateReaderPanel() width %d",GetClientAreaBounds().width);
364 result r = E_FAILURE;
366 Button *pSmallFontBtn = null;
367 Button *pLargeFontBtn = null;
369 __pBlankPanel = new (std::nothrow) Panel();
370 __pBlankPanel->Construct(L"IDL_BLANK_PANEL");
372 __pArticleReaderPanel = new (std::nothrow) Panel();
373 __pArticleReaderPanel->Construct(L"IDL_ARTICLE_READER");
375 __pReaderCloseBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_CLOSE_READER",true));
376 if (__pReaderCloseBtn)
378 AppLogDebug("CreateReaderPanel() 6");
379 __pReaderCloseBtn->AddActionEventListener(*this);
380 __pReaderCloseBtn->SetActionId(IDA_READER_CLOSE_CLICKED);
383 __pWebReader = new (std::nothrow) Web();
384 __pWebReader->Construct(Rectangle(2,2, __pArticleReaderPanel->GetWidth()-2,__pArticleReaderPanel->GetHeight() - 96 -2));
386 settings.SetInputStyle(INPUT_STYLE_OVERLAY);
387 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
389 r = __pWebReader->SetSetting(settings);
391 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
394 __pArticleReaderLabel = new Label();
395 __pArticleReaderLabel->Construct(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()),L"");
397 __pBlankPanel->AddControl(__pArticleReaderLabel);
398 __pBlankPanel->AddControl(__pArticleReaderPanel);
399 AddControl(__pBlankPanel);
401 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
402 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
403 __pArticleReaderLabel->SetBounds(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
405 __pArticleReaderPanel->AddControl(__pWebReader);
406 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth()-2,__pArticleReaderPanel->GetHeight() - 96 -2));
407 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
408 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
410 if (pBitmap != null && pSrcBitmap != null)
412 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
414 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
416 pSmallFontBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_SMALL_FONT",true));
419 pSmallFontBtn->AddActionEventListener(*this);
420 pSmallFontBtn->SetActionId(IDA_SMALLFONT_BTN_CLICKED);
423 pLargeFontBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_LARGE_FONT",true));
426 pLargeFontBtn->AddActionEventListener(*this);
427 pLargeFontBtn->SetActionId(IDA_LARGEFONT_BTN_CLICKED);
436 if (pSrcBitmap != null)
442 SetControlAlwaysOnTop(*__pBlankPanel, true);
443 //__pBlankPanel->SetControlAlwaysAtBottom(*__pArticleReaderPanel, true);
450 MainForm::InitWebControl()
452 AppLogDebug("MainForm::InitWebControl enter");
453 result r = E_SUCCESS;
454 AppLogDebug("InitWebControl");
456 if (__pAddressbar == null || __pFooterPanel == null)
459 const int Y_WEBCONTROL_POSITION = 0;
461 __webControlHeight = GetHeight() - __pFooterPanel->GetHeight();
462 __webControlHeightF = GetHeightF() - __pFooterPanel->GetHeightF();
464 if (__pMostVisitedListView)
466 __pMostVisitedListView->SetShowState(false);
468 if (__pWebViewer != null)
470 AppLogDebug("Already initialized");
473 __pWebViewer = new(std::nothrow) Web();
474 if(__pWebViewer == NULL)
476 AppLogDebug("Initialization failed");
479 AppLog("GetClientAreaBounds().width %d",GetClientAreaBounds().width);
480 r = __pWebViewer->Construct(Rectangle(0, Y_WEBCONTROL_POSITION, GetClientAreaBounds().width,__webControlHeight + 12));
484 AppLogDebug("Web construct failed with %s", GetErrorMessage(r));
491 r = AddControl(__pWebViewer);
494 __pWebViewer->Destroy();
496 AppLogDebug("Web addcontrol failed with %s", GetErrorMessage(r));
499 __webControlPosition = __pWebViewer->GetPosition();
500 __webControlPositionF = __pWebViewer->GetPositionF();
501 r = __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
504 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
508 __pWebViewer->SetLoadingListener(this);
509 __pWebViewer->SetWebUiEventListenerF(this);
510 __pWebViewer->SetWebKeypadEventListener(this);
511 __pWebViewer->SetFocus();
512 __pWebViewer->AddTouchEventListener(*this);
514 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
515 __pWebViewer->SetTextSearchListener(this);
518 AppLogDebug("MainForm :before return");
520 AppLogDebug("MainForm::InitWebControl Exit");
526 MainForm::SetJavascriptEnabled()
528 WebSetting settings = __pWebViewer->GetSetting();
529 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
530 __pWebViewer->SetSetting(settings);
534 MainForm::SetImageLoadEnabled()
536 WebSetting settings = __pWebViewer->GetSetting();
537 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
538 __pWebViewer->SetSetting(settings);
542 MainForm::InitFooter(void)
544 AppLogDebug("MainForm::InitFooter entered");
545 Button* pBackButton = null;
546 Button* pBookmarkButton = null;
547 Button* pMultiWindowButton = null;
548 Bitmap *pIconBitmap = null;
549 Bitmap *pBGBitmap = null;
550 Label *pBGLabel = null;
552 if (__pFooterPanel == null)
554 __pFooterPanel = static_cast< Panel* >(GetControl(L"IDC_FOOTER_PANEL", true));
557 if (__pFooterPanel == null)
562 SetControlAlwaysOnTop(*__pFooterPanel, true);
564 __pFooterLabel = static_cast< Label* >(GetControl(L"IDC_FOOTER_LABEL", true));
565 if ( __pFooterLabel == NULL )
569 // __pFooterPanel->SetBackgroundColor(Color(255,0,0));
570 //__pFooterPanel->SetBackgroundColor(CUSTOM_COLOR_TRANSPARENT);
571 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
574 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
578 __pMultiWindowButton = static_cast< Button* >(GetControl(L"IDC_MULTIWINDOW_BUTTON", true));
580 if ( __pMultiWindowButton == NULL )
586 SetFormBackEventListener(this);
587 AppLog("SetFormBackEventListener result %s",GetErrorMessage(GetLastResult()));
588 if (__pMultiWindowButton != null)
590 Bitmap* pBitmap = null;
591 Bitmap* pPressedBitmap = null;
592 String imagePath = "I01_toolbar_icon_windows_manager_0";
593 String pressedImagePath = "I01_toolbar_icon_windows_manager_0";
594 int totalCount = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount();
595 imagePath.Append(totalCount);
596 imagePath.Append(".png");
598 pressedImagePath.Append(totalCount);
599 pressedImagePath.Append("_press.png");
601 pBitmap = AppResource::GetInstance()->GetBitmapN(imagePath);
602 pPressedBitmap = AppResource::GetInstance()->GetBitmapN(pressedImagePath);
603 if ( pBitmap == null )
608 Point startPoint = Point((__pMultiWindowButton->GetWidth() - pBitmap->GetWidth())/2,(__pMultiWindowButton->GetHeight() - pBitmap->GetHeight())/2);
611 __pMultiWindowButton->SetNormalBitmap(startPoint, *pBitmap);
612 __pMultiWindowButton->SetPressedBitmap(startPoint, *pPressedBitmap);
617 __pMultiWindowButton->AddActionEventListener(*this);
618 __pMultiWindowButton->SetActionId(IDA_MULTIWINDOWBTN_CLICKED);
621 delete pPressedBitmap;
622 pPressedBitmap = null;
628 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE);
629 Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE_PRESS);
632 Point startPoint((__pMoreButton->GetWidth() - pBitmap->GetWidth())/2,(__pMoreButton->GetHeight() - pBitmap->GetHeight())/2 );
633 __pMoreButton->SetNormalBitmap(startPoint, *pBitmap);
634 __pMoreButton->SetPressedBitmap(startPoint, *pPressedBitmap);
638 __pMoreButton->AddActionEventListener(*this);
639 __pMoreButton->SetActionId(IDA_MOREBTN_CLICKED);
642 //Add the editfield for url
643 __pFooterUrlField = static_cast<EditField*> (GetControl(L"IDC_URL_EDIT_FIELD",true));
644 if (__pFooterUrlField == NULL)
646 return E_INVALID_KEY;
649 __pFooterUrlField->SetOverlayKeypadCommandButtonVisible(false);
650 __pFooterUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
651 __pFooterUrlField->AddKeypadEventListener(*this);
652 __pFooterUrlField->SetPropagatedTouchEventListener(this);
653 __pFooterUrlField->AddFocusEventListener(*this);
655 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
657 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
659 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
661 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_BLANK_PAGE"));
665 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
666 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
670 //Add the go Back Button
671 __pGoBackBtn = static_cast<Button*> (GetControl(L"IDC_PAGEBACK_BUTTON",true));
672 if (__pGoBackBtn == NULL)
674 AppLogDebug("__pGoBackBtn Control not found returning E_INVALID_KEY");
675 return E_INVALID_KEY;
677 __pGoBackBtn->SetActionId(IDA_GO_BACK);
678 __pGoBackBtn->AddActionEventListener(*this);
680 //Add the go forward Button
681 __pGoForwardBtn = static_cast<Button*> (GetControl(L"IDC_PAGEFORWARD_BUTTON",true));
682 if (__pGoForwardBtn == NULL)
684 AppLogDebug("Control not found returning E_INVALID_KEY");
685 return E_INVALID_KEY;
687 __pGoForwardBtn->SetActionId(IDA_GO_FORWARD);
688 __pGoForwardBtn->AddActionEventListener(*this);
689 if (__pWebViewer && __pWebViewer->CanGoForward())
691 SetForwardButtonEnabled(true);
695 SetForwardButtonEnabled(false);
698 __pRefreshBtn = static_cast<Button*> (GetControl(L"IDC_REFRESH_BUTTON",true));
699 if (__pRefreshBtn == NULL)
701 AppLogDebug("Control not found returning E_INVALID_KEY");
702 return E_INVALID_KEY;
705 __pRefreshBtn->SetActionId(IDA_REFRESH_BTN_CLICKED);
706 __pRefreshBtn->AddActionEventListener(*this);
707 __pRefreshBtn->SetShowState(true);
709 //Add the backround label for displaying progressbar
710 __pProgressbarLabel = static_cast<Label*> (GetControl(L"IDC_PROGRESS_BAR_LABEL",true));
711 if (__pProgressbarLabel == NULL)
713 AppLogDebug("__pProgressbarLabel Control not found returning E_INVALID_KEY");
714 return E_INVALID_KEY;
716 __pProgressbarLabel->SetShowState(false);
718 __pStopBtn = static_cast<Button*> (GetControl(L"IDC_STOP_BUTTON",true));
719 if (__pStopBtn == NULL)
721 AppLogDebug("Control not found returning E_INVALID_KEY");
722 return E_INVALID_KEY;
724 __pStopBtn->SetActionId(IDA_STOP_BTN_CLICKED);
725 __pStopBtn->AddActionEventListener(*this);
726 __pStopBtn->SetShowState(false);
728 __pClearBtn = static_cast<Button*> (GetControl(L"IDC_CLEAR_BUTTON",true));
729 if (__pClearBtn == NULL)
731 AppLogDebug("Control not found returning E_INVALID_KEY");
732 return E_INVALID_KEY;
734 __pClearBtn->SetActionId(IDA_CLEAR_URL);
735 __pClearBtn->AddActionEventListener(*this);
736 __pClearBtn->SetShowState(false);
738 __pReaderBtn = static_cast<Button*> (GetControl(L"IDC_READER_BUTTON",true));
739 if (__pReaderBtn == NULL)
741 AppLogDebug("Control not found returning E_INVALID_KEY");
742 return E_INVALID_KEY;
744 __pReaderBtn->SetActionId(IDA_READER_BTN_CLICKED);
745 __pReaderBtn->AddActionEventListener(*this);
746 __pReaderBtn->SetShowState(false);
748 // __pFooterPanel->Invalidate(true);
749 if(__isKeypadOpened == false && __pAddressbar && __pAddressbar->GetShowState() == false)
751 // AppLog("asdasdasdasda");
752 __pFooterPanel->SetShowState(true);
754 else if(__pAddressbar == null)
756 __pFooterPanel->SetShowState(true);
759 __pFooterPanel->SetShowState(false);
761 SetAddressbarMode(GetAddressbarMode());
762 AppLogDebug("MainForm::InitFooter exit");
767 MainForm::InitOptionMenu()
769 result r = E_SUCCESS;
770 bool isPrivateBrowsing = false;
771 Bitmap* pBitmap = null;
773 if (__pOptionMenu != null)
775 __pOptionMenu->SetFocusable(true);
776 __pOptionMenu->Invalidate(true);
780 __pOptionMenu = new(std::nothrow) OptionMenu();
781 r = __pOptionMenu->Construct();
782 TryCatch(!IsFailed(r),,"Contextmenu creation failed with%s",GetErrorMessage(r));
784 __pOptionMenu->SetFocusable(true);
785 isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
788 if (isPrivateBrowsing == true)
790 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
794 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
797 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_BOOKMARK"), IDA_BOOKMARKBTN_CLICKED);
799 if ( pBitmap != NULL)
801 __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"), IDA_PRIVATEON_CLICKED,*pBitmap);
804 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_TAB_HISTORY"), IDA_HISTORY_CLICKED);
805 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_BRIGHTNESS"), IDA_BRIGHTNESS_BTN_CLICKED);
806 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_SETTINGS"), IDA_SETTINGS_CLICKED);
809 __pOptionMenu->SetMaxVisibleItemsCount(6);
810 __pOptionMenu->SetShowState(false);
811 __pOptionMenu->AddActionEventListener(*this);
812 SetControlAlwaysOnTop(*__pOptionMenu, true);
818 result MainForm::InitImageContextMenu(Tizen::Graphics::Point p)
820 result r = E_SUCCESS;
821 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
822 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
824 AppLog("MainForm::InitImageContextMenu clicked on image");
825 if (__pImageMenu != null)
830 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
835 __pImageMenu = new (std::nothrow) ContextMenu();
836 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
837 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
840 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_IMAGE"),IDA_COPY_IMAGE_CLICKED);
841 AppLog("srcUrl %ls __pWebViewer->GetUrl() %ls",srcUrl.GetPointer(),__pWebViewer->GetUrl().GetPointer());
843 if(__pWebViewer && srcUrl.Equals(__pWebViewer->GetUrl(),false) == false)
844 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_VIEW_IMAGE"),IDA_VIEW_IMAGE_CLICKED);
845 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_SAVE_IMAGE_CLICKED);
846 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_IMAGE_CLICKED);
847 __pImageMenu->SetMaxVisibleItemsCount(4);
848 __pImageMenu->AddActionEventListener(*this);
849 SetControlAlwaysOnTop(*__pImageMenu, true);
850 __pImageMenu->SetFocusable(true);
856 MainForm::InitImageLinkContextMenu(Tizen::Graphics::Point p)
858 result r = E_SUCCESS;
859 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
861 AppLog("MainForm::InitImageContextMenu clicked on image");
862 if (__pImageMenu != null)
868 // if(__pAddressbar->GetShowState() == true)
869 // p.y = p.y + __pAddressbar->GetHeight();
870 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
875 __pImageMenu = new (std::nothrow) ContextMenu();
876 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
877 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
879 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_OPEN_IN_NEW_WINDOW"),IDA_HYPERLINK_OPEN_CLICKED);
880 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_LINK_URL"),IDA_HYPERLINK_COPY_LINK_CLICKED);
881 //r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_HYPERLINK_SAVE_IMAGE_CLICKED);
882 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_HYPERLINK_SHARE_IMAGE_CLICKED);
884 __pImageMenu->SetMaxVisibleItemsCount(3);
885 __pImageMenu->AddActionEventListener(*this);
886 SetControlAlwaysOnTop(*__pImageMenu, true);
887 __pImageMenu->SetFocusable(true);
894 MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOption = false)
896 result r = E_SUCCESS;
897 bool clipboardAvailable = true;
898 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
900 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
901 if (__pImageMenu != null)
907 // __pWebViewer->GetBlockRange(p,q);
912 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
916 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
920 Clipboard* pClipboard = Clipboard::GetInstance();
922 if(pClipboard == null)
924 clipboardAvailable = false;
928 // Retrieves a latest item
929 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
933 clipboardAvailable = false;
937 //Gets data from the clipboard item
938 String* pString = dynamic_cast<String*>(pItem->GetData());
942 clipboardAvailable = false;
946 if(clipboardAvailable == false && onlyPasteOption == true)
951 __pImageMenu = new (std::nothrow) ContextMenu();
952 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
953 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
955 if(onlyPasteOption == false)
957 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
959 if ((pasteOption || onlyPasteOption) && clipboardAvailable == true)
961 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
963 if(onlyPasteOption == false)
965 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
966 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
969 __pImageMenu->SetMaxVisibleItemsCount(3);
970 __pImageMenu->AddActionEventListener(*this);
971 SetControlAlwaysOnTop(*__pImageMenu, true);
972 __pImageMenu->SetFocusable(true);
979 MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPasteOption = false)
981 result r = E_SUCCESS;
982 bool clipboardAvailable = true;
983 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
985 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
986 if (__pImageMenu != null)
991 // FloatPoint q(0.0,0.0);
992 // __pWebViewer->GetBlockRange(p,q);
998 if(GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE )
1002 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
1004 else if(__pWebViewer != null && (p.y > (__pWebViewer->GetHeight() + __pWebViewer->GetY())))
1006 p.y = __pWebViewer->GetHeight() + __pWebViewer->GetY();
1010 if(GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE )
1012 AppLog("asdasdafdsfdgfd");
1015 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
1019 Clipboard* pClipboard = Clipboard::GetInstance();
1021 if(pClipboard == null)
1023 clipboardAvailable = false;
1027 // Retrieves a latest item
1028 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
1032 clipboardAvailable = false;
1036 //Gets data from the clipboard item
1037 String* pString = dynamic_cast<String*>(pItem->GetData());
1041 clipboardAvailable = false;
1045 if(clipboardAvailable == false && (onlyPasteOption == true || __pHitElementResult->GetAttributeValue("type").Equals(L"password",false) == true))
1049 __pImageMenu = new (std::nothrow) ContextMenu();
1050 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
1051 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
1053 if(onlyPasteOption == false && __pHitElementResult->GetAttributeValue("type").Equals(L"password",false) == false)
1055 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
1057 if ((pasteOption || onlyPasteOption) && clipboardAvailable == true)
1059 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
1061 if(onlyPasteOption == false && __pHitElementResult->GetAttributeValue("type").Equals(L"password",false) == false)
1063 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
1064 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
1067 __pImageMenu->SetMaxVisibleItemsCount(3);
1068 __pImageMenu->AddActionEventListener(*this);
1069 SetControlAlwaysOnTop(*__pImageMenu, true);
1070 __pImageMenu->SetFocusable(true);
1077 MainForm::InitFindWordPanel(void)
1079 result r = E_SUCCESS;
1080 Bitmap *pIconBitmap = null;
1082 if (__pFindWordControl != null)
1084 AppLogDebug("Findword panel already initialized");
1085 if (__pFindWordBgLabel != null)
1087 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1088 if (pBitmap != null)
1090 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
1094 if (__pFindWordBgLabelRightToLeft != null)
1096 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
1097 if (pBitmap != null)
1099 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
1104 __pAddressbar->SetShowState(false);
1106 if(__isKeypadOpened == false)
1107 __pFooterPanel->SetShowState(true);
1111 __pFindWordControl = new (std::nothrow) Panel();
1112 r = __pFindWordControl->Construct(L"IDL_FIND_ON_PAGE");
1115 AppLogException("There is some problem in the xml file. Please check.");
1118 AddControl(__pFindWordControl);
1119 __pFindWordControl->SetBounds(0,0, __pFindWordControl->GetWidth(), __pFindWordControl->GetHeight());
1120 SetControlAlwaysOnTop(*__pFindWordControl,true);
1121 __pFindWordControl->SetShowState(false);
1122 __pFindWordControl->Invalidate(false);
1124 __pFindWordPanelLeftToRight = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1125 __pFindWordPanelLeftToRight->SetShowState(true);
1127 __pFindWordPanelRightToLeft = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL2", true));
1128 __pFindWordPanelRightToLeft->SetShowState(false);
1130 __pFindWordBgLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL1", true));
1131 if (__pFindWordBgLabel != null)
1133 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1134 Rectangle pRect = pPanel1->GetBounds();
1135 pRect.x = pRect.y = 0;
1136 __pFindWordBgLabel->SetBounds(pRect);
1137 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.#.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1138 if (pBitmap != null)
1140 AppLogDebug("InitFindWordPanel: Coming here");
1141 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
1146 AppLogDebug("InitFindWordPanel: shouldn't Come here");
1150 __pFindWordBgLabelRightToLeft = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL2", true));
1151 if (__pFindWordBgLabelRightToLeft != null)
1153 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1154 Rectangle pRect = pPanel1->GetBounds();
1155 pRect.x = pRect.y = 0;
1156 __pFindWordBgLabelRightToLeft->SetBounds(pRect);
1157 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.#.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1158 if (pBitmap != null)
1160 AppLogDebug("InitFindWordPanel: Coming here");
1161 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
1166 AppLogDebug("InitFindWordPanel: shouldn't Come here");
1170 Button* pfindWordCancel = null;
1171 pfindWordCancel = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CANCEL", true));
1172 if (pfindWordCancel == null)
1174 AppLogException("There is some problem in the xml file. Please check.");
1177 pfindWordCancel->SetActionId(IDA_FINDWORD_CANCEL_CLICKED);
1178 pfindWordCancel->AddActionEventListener(*this);
1180 __pFindWordClear = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR", true));
1181 if (__pFindWordClear == null)
1183 AppLogException("There is some problem in the xml file. Please check.");
1187 __pFindWordClearRightToLeft = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR2", true));
1188 if (__pFindWordClearRightToLeft == null)
1190 AppLogException("There is some problem in the xml file. Please check.");
1194 __pFindWordClear->SetActionId(IDA_FINDWORD_CLEAR_CLICKED);
1195 __pFindWordClear->AddActionEventListener(*this);
1197 __pFindWordClearRightToLeft->SetActionId(IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED);
1198 __pFindWordClearRightToLeft->AddActionEventListener(*this);
1200 __pFindWordNext = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_NEXT", true));
1201 if (__pFindWordNext == null)
1203 AppLogException("There is some problem in the xml file. Please check.");
1207 __pFindWordNext->SetActionId(IDA_FINDWORD_NEXT_CLICKED);
1208 __pFindWordNext->AddActionEventListener(*this);
1210 __pFindWordPrev = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_PREV", true));
1211 if (__pFindWordPrev == null)
1213 AppLogException("There is some problem in the xml file. Please check.");
1217 __pFindWordPrev->SetActionId(IDA_FINDWORD_PREV_CLICKED);
1218 __pFindWordPrev->AddActionEventListener(*this);
1220 __pFindWordNext->SetEnabled(false);
1221 __pFindWordPrev->SetEnabled(false);
1223 __pFindWordCountLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL", true));
1224 if (__pFindWordCountLabel == null)
1226 AppLogException("There is some problem in the xml file. Please check.");
1229 __pFindWordCountLabel->SetText(L"0/0");
1231 __pFindWordCountLabelRightToLeft = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL2", true));
1232 if (__pFindWordCountLabelRightToLeft == null)
1234 AppLogException("There is some problem in the xml file. Please check.");
1237 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
1239 __pFindWordEditField = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD", true));
1240 if (__pFindWordEditField == null)
1242 AppLogException("There is some problem in the xml file. Please check.");
1245 __pFindWordEditField->AddTextEventListener(*this);
1246 __pFindWordEditField->AddKeypadEventListener(*this);
1247 __pFindWordEditField->SetOverlayKeypadCommandButtonVisible(false);
1248 __pFindWordEditField->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
1250 __pFindWordEditFieldRightToLeft = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD2", true));
1251 if (__pFindWordEditFieldRightToLeft == null)
1253 AppLogException("There is some problem in the xml file. Please check.");
1256 __pFindWordEditFieldRightToLeft->AddTextEventListener(*this);
1257 __pFindWordEditFieldRightToLeft->AddKeypadEventListener(*this);
1258 __pFindWordEditFieldRightToLeft->SetOverlayKeypadCommandButtonVisible(false);
1259 __pFindWordEditFieldRightToLeft->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
1262 __pAddressbar->SetShowState(false);
1264 if(__isKeypadOpened == false)
1265 __pFooterPanel->SetShowState(true);
1270 MainForm::CreateItem (int index, int itemWidth)
1272 Rectangle listImageRect;
1273 Rectangle pagetTitleRect;
1274 Rectangle pageURLRect;
1275 Rectangle deleteImageRect;
1276 String pageTitle(L"");
1277 String pageURL(L"");
1278 result r = E_SUCCESS;
1279 Bitmap* pListIconImage = null;
1282 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1283 if(pHistory == null)
1287 AppResource* pAppResource = Application::GetInstance()->GetAppResource();
1288 if ( pAppResource == NULL )
1292 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
1294 CustomItem* pItem = new(std::nothrow) CustomItem();
1295 pageTitle = pHistory->GetHistoryTitle();
1296 pageURL = pHistory->GetHistoryUrl();
1298 if (pageURL.GetLength() == 0)
1301 pAppResource->GetString(L"IDS_BR_BODY_BLANK_PAGE", nourl);
1302 pageURL = L"<"+ nourl +">";
1306 Rectangle screenBounds = GetBounds();
1309 r = pItem->Construct(Dimension(itemWidth, 128 + (__fontSize - 44)), style);
1318 Bitmap* pBitmap = pHistory->GetFavIconBitmap();
1320 if ( pBitmap != NULL)
1322 pListIconImage = new Bitmap();
1323 pListIconImage->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
1327 if(pListIconImage == null)
1329 pListIconImage = pAppResource->GetBitmapN(L"I01_icon_default_favicon.png");
1332 if ( pListIconImage != NULL)
1334 listImageRect.SetBounds(screenBounds.x + 16, screenBounds.y + 28 + (__fontSize - 44)/2 , 72, 72);
1335 pagetTitleRect.SetBounds(listImageRect.x + 72 + 16,10, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 72 + (__fontSize - 44));
1336 pageURLRect.SetBounds(pagetTitleRect.x, pagetTitleRect.y + pagetTitleRect.height, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 48);
1339 if (pItem != null && pListIconImage != NULL)
1341 pItem->AddElement(listImageRect, IDA_FORMAT_BITMAP, *pListIconImage, null, null);
1345 if (pageTitle.CompareTo(L"") != 0)
1349 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, pageTitle, __fontSize, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, true);
1353 if (pageURL.CompareTo(L"") != 0)
1357 pItem->AddElement(pageURLRect, IDA_FORMAT_URL_STRING, pageURL, 32, CUSTOM_COLOR_GREY, CUSTOM_COLOR_LISTVIEW_TEXT, CUSTOM_COLOR_LISTVIEW_TEXT, true);
1362 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
1364 if ( __pItemContext!= NULL)
1368 pItem->SetContextItem(__pItemContext);
1374 if ( __pItemContextLandscape!= NULL)
1378 pItem->SetContextItem(__pItemContextLandscape);
1382 if( pListIconImage != NULL)
1384 delete pListIconImage;
1385 pListIconImage = null;
1392 MainForm::DeleteItem (int index, Tizen::Ui::Controls::ListItemBase *pItem, int itemWidth)
1399 MainForm::GetItemCount (void)
1401 if(__pMostVisitedSites != null)
1403 __pMostVisitedSites->RemoveAll(true);
1405 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
1406 if(__pMostVisitedSites != null)
1408 return __pMostVisitedSites->GetCount();
1415 MainForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
1417 AppLog("MainForm::OnListViewContextItemStateChanged called");
1418 if(__pMostVisitedSites != null)
1420 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1421 if (pHistory != null)
1423 String url = pHistory->GetHistoryUrl();
1425 HistoryPresentationModel::GetInstance()->DeleteHistory(url);
1426 __pMostVisitedListView->UpdateList();
1432 MainForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
1434 AppLog("MainForm::OnListViewItemStateChanged called");
1435 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1436 String url = pHistory->GetHistoryUrl();
1444 MainForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
1450 MainForm::OnTerminating(void)
1452 result r = E_SUCCESS;
1454 RemoveOrientationEventListener(*this);
1458 __pAddressbar->SetAddressbarEventListener(null);
1463 __pWebViewer->RemoveTouchEventListener(*this);
1464 __pWebViewer->SetWebUiEventListenerF(null);
1465 __pWebViewer->SetWebKeypadEventListener(null);
1466 __pWebViewer->SetTextSearchListener(null);
1472 delete __pItemContext;
1474 if (__pItemContextLandscape)
1476 delete __pItemContextLandscape;
1480 delete __pSaveImage;
1482 if (__pMostVisitedSites)
1484 __pMostVisitedSites->RemoveAll(true);
1485 delete __pMostVisitedSites;
1491 MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
1493 result r = E_SUCCESS;
1495 AppLogDebug("Clicked : %d", actionId);
1498 case IDA_BACKBTN_CLICKED:
1500 if(__pImageMenu && __pImageMenu->GetShowState() == true)
1502 AppLog("Hiding the menu");
1503 __pImageMenu->SetShowState(false);
1505 if (__pWebViewer && __pWebViewer->CanGoBack())
1507 __pWebViewer->GoBack();
1509 else if(__pWindowInfo->isJavascriptInitiated == false)
1512 pApp = UiApp::GetInstance();
1515 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1518 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1526 WindowInfo* pWindowInfo = null;
1528 SceneManager* pSceneManager = SceneManager::GetInstance();
1529 if (pSceneManager == null)
1533 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
1534 if (pAllWindowList == NULL)
1536 pApp = UiApp::GetInstance();
1539 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1542 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1547 if (pAllWindowList != null)
1549 totalCount = pAllWindowList->GetCount();
1551 for (int count = 0; count < totalCount; count++)
1553 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
1554 if (pWindowInfo == null)
1556 pApp = UiApp::GetInstance();
1559 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1562 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1569 if (pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
1571 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
1574 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1577 r = pAllWindowList->RemoveAt(count, true);
1578 __pWindowInfo = null;
1581 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1586 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
1590 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
1592 if (pWindowInfo == null)
1594 pApp = UiApp::GetInstance();
1597 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1603 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
1604 // r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1607 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1619 case IDA_FORWARD_CLICKED:
1620 if (__pWebViewer == null)
1623 if (__pWebViewer->CanGoForward())
1625 __pWebViewer->GoForward();
1627 __pOptionMenu->SetShowState(false);
1628 __pOptionMenu->Invalidate(false);
1631 case IDA_FINDONPAGE_CLICKED:
1633 AppLogDebug("MainForm::OnActionPerformed findword clicked");
1634 __currentSearchStr.Clear();
1636 InitFindWordPanel();
1637 __pOptionMenu->SetShowState(false);
1638 __pOptionMenu->Invalidate(false);
1640 ShowFindWordPanel(true);
1642 if(__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
1644 __pFindWordEditField->SetFocus();
1648 __pFindWordEditFieldRightToLeft->SetFocus();
1652 case IDA_PRIVATEON_CLICKED:
1654 result r = E_SUCCESS;
1656 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
1657 Bitmap* pBitmap = null;
1658 if (isPrivateBrowsing == true)
1660 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
1663 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
1667 if (__pWebViewer != NULL)
1669 __pWebViewer->SetPrivateBrowsingEnabled(false);
1672 SettingPresentationModel::GetInstance()->SetPrivateOn(false);
1674 if (__pAddressbar != null)
1676 __pAddressbar->UpdateFaviconBitmap(false);
1682 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
1685 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
1689 if (__pWebViewer != NULL)
1691 __pWebViewer->SetPrivateBrowsingEnabled(true);
1694 SettingPresentationModel::GetInstance()->SetPrivateOn(true);
1696 if (__pAddressbar != null)
1698 __pAddressbar->UpdateFaviconBitmap(true);
1702 itemIndex = __pOptionMenu->GetItemIndexFromActionId(IDA_PRIVATEON_CLICKED);
1703 r = __pOptionMenu->SetItemAt(itemIndex,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
1704 AppLog("Result:: %s for index = %d", GetErrorMessage(r),itemIndex);
1705 __pOptionMenu->Invalidate(true);
1706 if ( pBitmap != NULL )
1713 case IDA_SETTINGS_CLICKED:
1716 ArrayList* pArgList = new(std::nothrow) ArrayList();
1719 pArgList->Construct();
1720 pArgList->Add(*__pWindowInfo);
1721 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_SETTINGS), pArgList);
1723 __pOptionMenu->SetShowState(false);
1724 __pOptionMenu->Invalidate(false);
1726 if (pArgList != null)
1735 case IDA_ADDTOBOOKMARK_CLICKED:
1738 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL)
1740 int bookmarkCount=0;
1743 url=__pWindowInfo->pageUrl;
1744 result r = E_SUCCESS;
1745 Bitmap* pBitmap = null;
1746 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
1754 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_REMOVED");
1755 BookmarkPresentationModel::GetInstance()->DeleteBookmark(url);
1756 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
1758 if(__pNotification != null)
1760 RemoveControl(__pNotification);
1761 __pNotification = null;
1763 __pNotification = new (std::nothrow) NotificationPanel(*this);
1764 if (__pNotification != null)
1766 __pNotification->SetText(message);
1767 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
1768 __pNotification->ShowNotification();
1773 String title=__pWindowInfo->pageTitle;
1774 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_ADDED");
1775 BookmarkData* pBookmark=new (std::nothrow) BookmarkData();
1777 pBookmark->SetBookmarkTitle(title);
1778 pBookmark->SetUrl(url);
1779 if (__pWebViewer != null && __pWebViewer->GetFaviconN() != null)
1781 pBookmark->SetFavIconBitmap(*(__pWebViewer->GetFaviconN()));
1783 String id = FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
1784 pBookmark->SetFaviconId(id);
1785 //r = BookmarkPresentationModel::GetInstance()->SaveBookmark(*pBookmark);
1786 r = BookmarkPresentationModel::GetInstance()->SaveTempBookmark(*pBookmark);
1788 if(__pNotification != null)
1790 RemoveControl(__pNotification);
1791 __pNotification = null;
1793 __pNotification = new (std::nothrow) NotificationPanel(*this);
1794 if (__pNotification != null)
1796 __pNotification->SetText(message);
1797 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
1798 __pNotification->ShowNotification();
1799 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
1802 if (pBitmap != null)
1804 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1809 __pOptionMenu->Invalidate(true);
1814 case IDA_PRINT_CLICKED:
1816 r = __pWebViewer->SavePageAsPdf(UiApp::GetInstance()->GetAppRootPath()+"//shared//data//test.pdf");
1817 AppLog("SavePageAsPdf result %s",GetErrorMessage(r));
1819 AppLog("RequestPrint called!");
1820 AppControl* pAc = Tizen::App::AppManager::FindAppControlN(L"org.tizen.mobileprint", L"http://tizen.org/appcontrol/operation/print");
1821 result nResult = E_FAILURE;
1824 AppLog("TestPrint if (pAc) == true");
1829 String fileType = L"service_print_files_type";
1830 String typeVal = L"DOC";
1832 String fileCount = L"service_print_files_count";
1833 String countVal = L"1";
1834 String fileFolder= L"service_print_files_folder_name";
1835 String folderVal = UiApp::GetInstance()->GetAppRootPath()+"//shared//data";
1837 map.Add(&fileCount, &countVal);
1838 map.Add(&fileFolder, &folderVal);
1839 map.Add(&fileType, &typeVal);
1841 String fileName = L"service_print_files_files_name";
1843 ArrayList fileNameList;
1844 fileNameList.Construct();
1845 String file1 = L"test.pdf";
1847 fileNameList.Add(&file1);
1848 map.Add(&fileName, &fileNameList);
1850 nResult = pAc->Start(NULL, NULL, &map, NULL);
1852 if (nResult == E_SUCCESS) AppLog("TestPrint ret == E_SUCCESS");
1853 else if (nResult == E_MAX_EXCEEDED)
1854 AppLog("TestPrint ret == E_MAX_EXCEEDED");
1855 else if (nResult == E_OBJ_NOT_FOUND)
1856 AppLog("TestPrint ret == E_OBJ_NOT_FOUND");
1857 else if (nResult == E_IN_PROGRESS)
1858 AppLog("TestPrint ret == E_IN_PROGRESS");
1859 else if (nResult == E_PRIVILEGE_DENIED)
1860 AppLog("TestPrint ret == E_PRIVILEGE_DENIED");
1861 else if(nResult == E_SYSTEM)
1862 AppLog("TestPrint ret == E_SYSTEM");
1868 int __modalMsgBoxResult;
1869 MessageBox* pMsgBox = new MessageBox();
1870 pMsgBox->Construct("Not Supported","Not Supported",MSGBOX_STYLE_OK,3000);
1871 pMsgBox->ShowAndWait(__modalMsgBoxResult);
1874 __modalMsgBoxResult = 0;
1878 case IDA_SHARE_CLICKED:
1880 if(__pPopUp != null)
1887 __pAddressbar->HideKeypad();
1889 __pPopUp = new(std::nothrow) SharePopup();
1890 __pPopUp->Initialize();
1891 if (__pWindowInfo != null)
1893 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
1894 pShareInfo->SetPageTitle(__pWindowInfo->pageTitle);
1895 pShareInfo->SetPageUrl(__pWindowInfo->pageUrl);
1896 pShareInfo->SetImageAttached(false);
1897 __pPopUp->RemoveAllShareInfo();
1898 __pPopUp->AddShareInfo(pShareInfo);
1900 __pPopUp->SetShowState(true);
1904 case IDA_BOOKMARKBTN_CLICKED:
1906 AppLogDebug("ONACTION_PERFORMED:IDA_BOOKMARKBTN_CLICKED");
1907 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BOOKMARK_VIEW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1910 case IDA_ADD_TO_BOOKMARKBTN_CLICKED:
1915 case IDA_MOREBTN_CLICKED:
1917 AppLog("IDA_MOREBTN_CLICKED");
1919 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer->GetShowState() == true)
1921 int bookmarkCount=0;
1924 url=__pWindowInfo->pageUrl;
1925 result r = E_SUCCESS;
1926 Bitmap* pBitmap = null;
1928 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
1931 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
1936 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
1940 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
1942 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
1944 if (__pOptionMenu->GetItemCount() == 9)
1946 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1950 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1955 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
1959 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
1960 if (__pOptionMenu->GetItemCount() != 9)
1962 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
1963 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
1964 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
1965 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
1966 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
1967 __pOptionMenu->SetMaxVisibleItemsCount(6);
1969 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
1971 AppLog(" Orientation landscape");
1972 __pOptionMenu->SetMaxVisibleItemsCount(5);
1976 AppLog(" Orientation potrait");
1977 __pOptionMenu->SetMaxVisibleItemsCount(6);
1980 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
1983 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
1984 __pOptionMenu->SetShowState(true);
1985 __pOptionMenu->Invalidate(true);
1986 __pOptionMenu->Show();
1990 case IDA_HISTORY_CLICKED:
1992 AppLogDebug("ONACTION_PERFORMED:IDA_HISTORYBTN_CLICKED");
1993 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_HISTORY_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1996 case IDA_SAVED_PAGES_CLICKED:
2001 case IDA_DESKTOP_VIEW_CLICKED:
2006 case IDA_SAVE_CLICKED:
2011 case IDA_MULTIWINDOWBTN_CLICKED:
2013 result r = SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_MULTIPLE_WINDOW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
2014 AppLog("IDA_MULTIWINDOWBTN_CLICKED result %s",GetErrorMessage(r));
2018 case IDA_NEWWINDOWBTN_CLICKED:
2020 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
2022 if (pNewWindowInfo == null)
2026 result r = E_SUCCESS;
2027 SceneManager* pSceneManager = SceneManager::GetInstance();
2029 if (pSceneManager == NULL)
2033 ArrayList* pArgList = new(std::nothrow) ArrayList();
2034 if (pArgList == NULL)
2038 r = pArgList->Construct();
2041 pArgList->Add(*pNewWindowInfo);
2042 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
2048 AppLogDebug("MainForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));
2053 case IDA_SMALLFONT_BTN_CLICKED:
2055 WebSetting setting = __pWebReader->GetSetting();
2056 setting.SetFontSize(15);
2057 __pWebReader->SetSetting(setting);
2060 case IDA_LARGEFONT_BTN_CLICKED:
2062 WebSetting setting = __pWebReader->GetSetting();
2063 setting.SetFontSize(25);
2064 __pWebReader->SetSetting(setting);
2067 case IDA_READER_CLOSE_CLICKED:
2069 if (__pArticleReaderPanel != null && __pBlankPanel != null)
2071 RemoveControl(__pBlankPanel);
2072 __pArticleReaderPanel = null;
2073 __pBlankPanel = null;
2074 __pArticleReaderLabel = null;
2076 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2079 case IDA_FINDWORD_CANCEL_CLICKED:
2081 __currentSearchStr = L"";
2082 __currentWordIndex = 0;
2083 __maxOccurrances = 0;
2085 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2087 __pFindWordEditField->SetText(L"");
2088 __pFindWordCountLabel->SetText(L"0/0");
2090 else if (__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2092 __pFindWordEditFieldRightToLeft->SetText(L"");
2093 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
2096 __pFindWordNext->SetEnabled(false);
2097 __pFindWordPrev->SetEnabled(false);
2098 __pFindWordCountLabel->SetText(L"0/0");
2099 __pWebViewer->SearchTextAllAsync(L"",true);
2100 AppLog("akjshdasd 1");
2101 if(__isKeypadOpened == false)
2102 __pFooterPanel->SetShowState(true);
2103 ShowFindWordPanel(false);
2106 case IDA_FINDWORD_SEARCH_CLICKED:
2108 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2110 __currentSearchStr = __pFindWordEditField->GetText();
2112 else if (__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2114 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
2117 if (__currentSearchStr.GetLength() > 0)
2123 AppLogDebug("Enter something");
2127 case IDA_FINDWORD_CLEAR_CLICKED:
2129 __pFindWordCountLabel->SetText(L"0/0");
2130 __pFindWordEditField->SetText(L"");
2131 __currentSearchStr = L"aaaaaabbbbbbccccccc";
2133 __currentSearchStr = L"";
2134 __pFindWordNext->SetEnabled(false);
2135 __pFindWordPrev->SetEnabled(false);
2136 // __pFindWordCountLabel->SetShowState(false);
2137 __pFindWordControl->Invalidate(true);
2140 case IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED:
2142 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
2143 __pFindWordEditFieldRightToLeft->SetText(L"");
2144 __currentSearchStr = L"aaaaaabbbbbbccccccc";
2146 __currentSearchStr = L"";
2147 __pFindWordNext->SetEnabled(false);
2148 __pFindWordPrev->SetEnabled(false);
2149 // __pFindWordCountLabelRightToLeft->SetShowState(false);
2150 __pFindWordControl->Invalidate(true);
2153 case IDA_FINDWORD_NEXT_CLICKED:
2158 case IDA_FINDWORD_PREV_CLICKED:
2160 FindNextWord(false);
2163 case IDA_BRIGHTNESS_BTN_CLICKED:
2165 AppLogDebug("IDA_BRIGHTNESS_BTN_CLICKED");
2166 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BRIGHTNESS, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
2169 case IDA_COPY_IMAGE_CLICKED:
2171 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
2172 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
2174 const Bitmap* pBitmap = null;
2175 if (__pHitElementResult != null && __pHitElementResult->HasImage())
2177 pBitmap = __pHitElementResult->GetImage();
2180 String resourcePath = App::GetInstance()->GetAppResourcePath();
2181 r = item.Construct(CLIPBOARD_DATA_TYPE_IMAGE , *pBitmap);
2182 AppLog("Platofrm construct failed result %s",GetErrorMessage(r));
2183 // copying the item to clipboard
2184 Clipboard* pClipboard = Clipboard::GetInstance();
2185 if (pClipboard != null)
2187 r = pClipboard->CopyItem(item);
2188 AppLog("Platofrm copy failed result %s",GetErrorMessage(r));
2192 case IDA_VIEW_IMAGE_CLICKED:
2194 AppLogDebug("IDA_VIEW_IMAGE_CLICKED");
2195 WindowInfo* pNewWindowInfo = null;
2196 if (__pHitElementResult != null)
2198 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
2199 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
2202 currentUri.SetUri(__pWebViewer->GetUrl());
2206 newUri.SetUri(srcUrl);
2207 AppLog("newuri gethost %ls",newUri.GetHost().GetPointer());
2208 if(newUri.GetHost().GetLength() == 0)
2210 newUrl = currentUri.GetHost();
2211 newUrl.Append(srcUrl);
2219 case IDA_SAVE_IMAGE_CLICKED:
2221 AppLogDebug("IDA_SAVE_IMAGE_CLICKED");
2222 const Bitmap* pSaveBitmap = null;
2223 String imageName = GetImagePath();
2224 AppLog("Content manager image name %ls",imageName.GetPointer());
2227 imagePath.Append(imageName);
2228 imagePath.Format(100, L"%ls/Downloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
2229 AppLog("Content manager image path %ls",imagePath.GetPointer());
2230 if (__pHitElementResult != null)
2232 pSaveBitmap = __pHitElementResult->GetImage();
2234 ByteBuffer* pBuffer = __pSaveImage->EncodeToBufferN(*pSaveBitmap, IMG_FORMAT_JPG);
2238 UpdateImageContent(pBuffer, imageName);
2240 if(__pNotification != null)
2242 RemoveControl(__pNotification);
2243 __pNotification = null;
2245 __pNotification = new NotificationPanel(*this);
2247 AppResource::GetInstance()->GetString("IDS_COM_SK_SAVE", msg);
2248 msg.Append(imagePath);
2249 if (__pNotification != null)
2251 __pNotification->SetText(msg);
2252 if (__pFooterPanel->GetShowState() == true)
2254 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
2258 __pNotification->SetPositionDiff(0);
2260 __pNotification->ShowNotification();
2265 int __modalMsgBoxResult;
2266 MessageBox* pMsgBox = new MessageBox();
2267 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);
2268 pMsgBox->ShowAndWait(__modalMsgBoxResult);
2271 __modalMsgBoxResult = 0;
2275 case IDA_SHARE_IMAGE_CLICKED:
2277 AppLogDebug("IDA_SHARE_IMAGE_CLICKED");
2278 if (__pPopUp != null)
2285 __pAddressbar->HideKeypad();
2287 __pPopUp = new(std::nothrow) SharePopup();
2288 __pPopUp->Initialize();
2289 if (__pHitElementResult != null)
2291 const Bitmap* pSaveBitmap = null;
2292 String imageName = GetImagePath();
2293 AppLog("Content manager image name %ls",imageName.GetPointer());
2296 imagePath.Append(imageName);
2297 imagePath.Format(100, L"%lsDownloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
2298 AppLog("Content manager image path %ls",imagePath.GetPointer());
2299 if (__pHitElementResult != null)
2301 pSaveBitmap = __pHitElementResult->GetImage();
2303 __pSaveImage->EncodeToFile(*pSaveBitmap, IMG_FORMAT_JPG, imagePath, true);
2305 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
2306 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
2308 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2309 pShareInfo->SetPageTitle(L"");
2310 pShareInfo->SetPageUrl(srcUrl);
2311 pShareInfo->SetImageAttached(true);
2312 pShareInfo->SetImagePath(imagePath);
2313 __pPopUp->RemoveAllShareInfo();
2314 __pPopUp->AddShareInfo(pShareInfo);
2315 __pPopUp->SetShowState(true);
2320 case IDA_HYPERLINK_OPEN_CLICKED:
2322 if (__pHitElementResult != null)
2324 String srcUrl = __pHitElementResult->GetUrl();
2326 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN(srcUrl);
2328 if (pNewWindowInfo == null)
2332 pNewWindowInfo->isJavascriptInitiated = true;
2333 result r = E_SUCCESS;
2334 SceneManager* pSceneManager = SceneManager::GetInstance();
2335 if (pSceneManager == NULL)
2339 ArrayList* pArgList = new(std::nothrow) ArrayList();
2340 if (pArgList == NULL)
2344 pArgList->Construct();
2346 pArgList->Add(*pNewWindowInfo);
2347 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
2348 if (pArgList != null)
2355 AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r));
2361 case IDA_HYPERLINK_SHARE_IMAGE_CLICKED:
2363 if (__pHitElementResult == null)
2368 if(__pPopUp != null)
2375 __pAddressbar->HideKeypad();
2377 __pPopUp = new(std::nothrow) SharePopup();
2378 __pPopUp->Initialize();
2380 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2381 pShareInfo->SetPageUrl(__pHitElementResult->GetUrl());
2382 pShareInfo->SetImageAttached(false);
2383 __pPopUp->RemoveAllShareInfo();
2384 __pPopUp->AddShareInfo(pShareInfo);
2386 __pPopUp->SetShowState(true);
2390 case IDA_HYPERLINK_COPY_LINK_CLICKED:
2394 if (__pHitElementResult != null)
2396 url = __pHitElementResult->GetUrl();
2399 String resourcePath = App::GetInstance()->GetAppResourcePath();
2400 item.Construct(CLIPBOARD_DATA_TYPE_TEXT , url);
2402 // copying the item to clipboard
2403 Clipboard* pClipboard = Clipboard::GetInstance();
2404 if (pClipboard != null)
2406 pClipboard->CopyItem(item);
2410 case IDA_FIND_TEXT__CLICKED:
2412 // AddressBarCancelledClicked(*__pAddressbar);
2413 RelayoutControls(false);
2414 // __pFooterPanel->SetShowState(false);
2415 AppLogDebug("MainForm::OnActionPerformed find word clicked");
2416 __currentSearchStr.Clear();
2417 __currentSearchStr.Append(__currentSelectedStr);
2418 InitFindWordPanel();
2419 __pFindWordEditField->SetText(__currentSearchStr);
2421 if(__pOptionMenu != null)
2423 __pOptionMenu->SetShowState(false);
2424 __pOptionMenu->Invalidate(false);
2426 __adressPanelPosition.y = 0;
2428 if (__pAddressbar != null && __pWebViewer != NULL)
2430 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
2431 __webControlPositionF.y = __pAddressbar->GetHeightF() - 12.0f;
2432 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight() - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12);
2433 __webControlHeightF = GetClientAreaBoundsF().height - __pFooterPanel->GetHeightF() - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeightF() - 12.0f);
2435 if (__pFooterPanel->GetShowState() == false)
2436 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12)));
2438 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
2439 __pWebViewer->Invalidate(true);
2442 ShowFindWordPanel(true);
2443 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2445 __pFindWordEditField->SetText(__currentSearchStr);
2446 __pFindWordEditField->SetFocus();
2448 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2450 __pFindWordEditFieldRightToLeft->SetText(__currentSearchStr);
2451 __pFindWordEditFieldRightToLeft->SetFocus();
2454 if (__currentSearchStr.GetLength() > 0)
2460 AppLogDebug("Enter something");
2463 if (__pWebViewer != null)
2465 // releasing the set block
2466 __pWebViewer->ReleaseBlock();
2471 case IDA_SHARE_TEXT_CLICKED:
2473 __pWebViewer->ReleaseBlock();
2474 AppLogDebug("IDA_SHARE_TEXT_CLICKED");
2475 if(__pPopUp != null)
2482 __pAddressbar->HideKeypad();
2484 __pPopUp = new(std::nothrow) SharePopup();
2485 __pPopUp->Initialize();
2486 if (__pHitElementResult != null)
2488 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2489 pShareInfo->SetPageTitle(L"");
2490 pShareInfo->SetPageUrl(__currentSelectedStr);
2491 pShareInfo->SetImageAttached(false);
2492 __pPopUp->RemoveAllShareInfo();
2493 __pPopUp->AddShareInfo(pShareInfo);
2494 __pPopUp->SetShowState(true);
2499 case IDA_COPY_TEXT_CLICKED:
2501 // __pWebViewer->ReleaseBlock();//as per hyunn lee request for issue 53500
2502 // need to implement
2503 //__currentSelectedStr
2504 // Sets data to a clip board item
2506 String resourcePath = App::GetInstance()->GetAppResourcePath();
2507 item.Construct(CLIPBOARD_DATA_TYPE_TEXT, __currentSelectedStr);
2509 // copying the item to clipboard
2510 Clipboard* pClipboard = Clipboard::GetInstance();
2511 if (pClipboard != null)
2513 pClipboard->CopyItem(item);
2517 case IDA_PASTE_TEXT_CLICKED:
2519 Clipboard* pClipboard = Clipboard::GetInstance();
2521 if(pClipboard == null)
2525 // Retrieves a latest item
2526 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
2532 //Gets data from the clipboard item
2533 String* pString = dynamic_cast<String*>(pItem->GetData());
2535 if (pString != null)
2537 String idElement = __pHitElementResult->GetAttributeValue(L"id");
2538 String nameElement = __pHitElementResult->GetAttributeValue(L"name");
2539 String classElement = __pHitElementResult->GetAttributeValue(L"class");
2540 String tagElement = __pHitElementResult->GetTagName();
2541 String contenteditable = __pHitElementResult->GetAttributeValue("contenteditable");
2542 AppLog("MainForm::IDA_PASTE_TEXT_CLICKED id is %ls",idElement.GetPointer());
2543 String str = L"document.getElementsByName('";
2544 str.Append(nameElement);
2545 str.Append("').length");
2546 String* pNameCount = __pWebViewer->EvaluateJavascriptN(str);
2549 str = L"document.getElementsByClassName('";
2550 str.Append(classElement);
2551 str.Append("').length");
2552 String* pClassCount = __pWebViewer->EvaluateJavascriptN(str);
2555 if(contenteditable.Equals(L"true",false) == true)
2557 AppLog("gmail paste need to support");
2559 script = L"function replaceSelectedText(replacementText) { var sel, range; if (window.getSelection) { sel = window.getSelection(); if (sel.rangeCount) { range = sel.getRangeAt(0); range.deleteContents(); range.insertNode(document.createTextNode(replacementText)); } } else if (document.selection && document.selection.createRange) { range = document.selection.createRange(); range.text = replacementText; } }";
2560 script.Append("replaceSelectedText(");
2561 script.Append("\"");
2562 script.Append(*pString);
2563 script.Append("\");");
2565 else if(idElement.GetLength() != 0)
2567 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; } } ";
2568 script.Append("insertAtCursor(");
2569 script.Append(L"document.activeElement");
2571 script.Append("\"");
2572 script.Append(*pString);
2573 script.Append("\");");
2575 else if (classElement.GetLength() != 0 && pClassCount->Equals("1",false) == true)
2577 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; } } ";
2578 script.Append("insertAtCursor(document.getElementsByClassName('");
2579 script.Append(classElement);
2580 script.Append("')[0],");
2581 script.Append("\"");
2582 script.Append(*pString);
2583 script.Append("\");");
2585 else if (nameElement.GetLength() != 0 && pNameCount->Equals("1",false) == true)
2587 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; } } ";
2588 script.Append("insertAtCursor(document.getElementsByName('");
2589 script.Append(nameElement);
2590 script.Append("')[0],");
2591 script.Append("\"");
2592 script.Append(*pString);
2593 script.Append("\");");
2595 else if(tagElement.GetLength() != 0) //adding for twitter post page
2597 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; } } ";
2599 script.Append("insertAtCursor(document.activeElement,");
2600 script.Append("\"");
2601 script.Append(*pString);
2602 script.Append("\");");
2604 AppLog("MainForm::OnTouchLongPressed script is %ls",script.GetPointer());
2605 String* pStr = __pWebViewer->EvaluateJavascriptN(script);
2612 __pWebViewer->ReleaseBlock();
2620 case IDA_GO_FORWARD:
2625 case IDA_REFRESH_BTN_CLICKED:
2627 __isLoadingCompleted = false;
2628 __isLoadingData = true;
2629 __progressPercentage = 0;
2630 __displayUrl = __pFooterUrlField->GetText();
2632 String url = __pFooterUrlField->GetText();
2633 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
2635 if (__pWebViewer != null && __pAddressbar != null)
2638 //__pWebViewer->Reload();
2639 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
2643 UpdateProgressBitmap();
2646 case IDA_STOP_BTN_CLICKED:
2648 __isLoadingCompleted = false;
2649 __isLoadingData = false;
2650 __progressPercentage = 0;
2651 __pFooterUrlField->HideKeypad();
2652 __displayUrl = __pFooterUrlField->GetText();
2656 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2657 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2658 __pWebViewer->StopLoading();
2659 RequestRedraw(true);
2662 UpdateProgressBitmap();
2667 if (__pFooterUrlField->GetText().IsEmpty() == false)
2669 //__displayUrl = __pUrlField->GetText();
2670 __pFooterUrlField->Clear();
2675 case IDA_READER_BTN_CLICKED:
2686 MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
2688 AppLog("MainForm::OnFormBackRequested entered");
2689 result r = E_FAILURE;
2690 if(__pImageMenu && __pImageMenu->GetShowState() == true)
2692 AppLog("Hiding the menu");
2693 __pImageMenu->SetShowState(false);
2695 if (__pWebViewer && __pWebViewer->CanGoBack())
2697 __pWebViewer->GoBack();
2699 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
2702 pApp = UiApp::GetInstance();
2705 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2708 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2716 WindowInfo* pWindowInfo = null;
2718 SceneManager* pSceneManager = SceneManager::GetInstance();
2719 if (pSceneManager == null)
2723 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
2724 if (pAllWindowList == NULL)
2726 pApp = UiApp::GetInstance();
2729 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2732 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2737 if (pAllWindowList != null)
2739 totalCount = pAllWindowList->GetCount();
2741 for (int count = 0; count < totalCount; count++)
2743 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
2744 if (pWindowInfo == null)
2746 pApp = UiApp::GetInstance();
2749 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2752 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2759 if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
2761 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
2764 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2767 r = pAllWindowList->RemoveAt(count, true);
2768 __pWindowInfo = null;
2771 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2776 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
2780 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
2782 if (pWindowInfo == null)
2784 pApp = UiApp::GetInstance();
2787 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2793 if(pWindowInfo != null)
2794 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
2797 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2803 // else if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == false)
2805 // UiApp* pApp = null;
2806 // pApp = UiApp::GetInstance();
2807 // if (pApp != null)
2809 // r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2812 // AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2820 AppLog("MainForm::OnFormBackRequested exit");
2824 MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
2825 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
2828 AppLog("MainForm::OnSceneActivatedN called");
2829 String* pSelectedScene = NULL;
2830 Object* pValue = NULL;
2831 String* pUrl = null;
2832 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
2833 pSelectedScene = (String*) pValue;
2835 if (pSelectedScene != null)
2837 delete pSelectedScene;
2839 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, null);
2840 String* selectedSceneID = new(std::nothrow) String(currentSceneId);
2841 AppLogDebug("current scene id is %ls", currentSceneId.GetPointer());
2842 AppLogDebug("selected scene id is %ls", currentSceneId.GetPointer());
2844 // setting the current scene ID
2845 MultipleWindowPresentationModel::GetInstance()->SetCurrentSceneID(currentSceneId);
2847 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, (Object*) selectedSceneID);
2849 if(pArgs != null && pArgs->GetCount() > 0 && pArgs->GetCount() == 2)
2851 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2852 if(__pWindowInfo == null)
2854 // if(__pWindowInfo == null)
2856 pUrl = dynamic_cast< String* >(pArgs->GetAt(1));
2859 else if ( pArgs != null && pArgs->GetCount() == 1)
2861 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2867 FloatRectangle footerPanelBounds = FloatRectangle(0.0f, (GetClientAreaBoundsF().height) - __pFooterPanel->GetHeightF(), GetClientAreaBoundsF().width, __pFooterPanel->GetHeightF());
2868 __pFooterPanel->SetBounds(CoordinateSystem::AlignToDevice(footerPanelBounds));
2870 // hiding the address bar
2871 // __pAddressbar->SetBounds(__pAddressbar->GetX(), __pAddressbar->GetY() - __pAddressbar->GetHeight(), __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
2872 __pAddressbar->SetShowState(false);
2873 // if(__pWebViewer != null)
2875 // __pWebViewer->Resume();
2878 if(pUrl != null && pUrl->GetLength() > 0)
2882 else if(__pWindowInfo != null)
2884 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)
2886 LoadUrl(__pWindowInfo->pageUrl);
2888 else if(__pWindowInfo->pageUrl.GetLength() > 0 && __pWindowInfo->isAppcontrolTriggered == true)
2890 LoadUrl(__pWindowInfo->pageUrl);
2891 __pWindowInfo->isAppcontrolTriggered = false;
2893 else if (__pWindowInfo->isJavascriptInitiated == true && __pWindowInfo->isFirstLaunch == true)
2895 __pWindowInfo->isFirstLaunch = false;
2898 __pWindowInfo->pCurrentWeb = __pWebViewer;
2899 if(__pWindowInfo->pageUrl.GetLength() > 0)
2900 LoadUrl(__pWindowInfo->pageUrl);
2904 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
2905 AppLog("Homepage Value in Onsceneactivated is %ls",homePage.GetPointer());
2906 if(homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
2908 InitMostVisitedSitesView(GetOrientationStatus());
2912 if(__pMostVisitedListView != null)
2914 __pMostVisitedListView->SetShowState(false);
2918 if(__pMostVisitedListView && __pMostVisitedListView->GetShowState() == true)
2920 __pMostVisitedListView->UpdateList();
2922 if (__pAddressbar != null && pArgs != null && (previousSceneId == IDSCN_BOOKMARK_VIEW || previousSceneId == IDSCN_HISTORY_LIST))
2924 String* pBookmarkUrl = dynamic_cast< String* >(pArgs->GetAt(0));
2926 if (pBookmarkUrl == null)
2928 AppLogDebug("bookmarkUrl = %ls",pBookmarkUrl->GetPointer());
2929 //__pAddressbar->SetUrl(*pBookmarkUrl);
2930 SetUrl(*pBookmarkUrl);
2932 if (__pWebViewer != null && homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) != 0)
2933 __pWebViewer->LoadUrl(*pBookmarkUrl);
2934 delete pBookmarkUrl;
2937 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
2938 Bitmap* pBitmap = null;
2939 if (isPrivateBrowsing == true)
2941 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
2943 if (__pWebViewer != null)
2945 __pWebViewer->SetPrivateBrowsingEnabled(true);
2948 if (__pAddressbar != null)
2950 // __pAddressbar->UpdateFaviconBitmap(true);
2956 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
2958 if (__pWebViewer != null)
2960 __pWebViewer->SetPrivateBrowsingEnabled(false);
2963 if (__pAddressbar != null)
2965 // __pAddressbar->UpdateFaviconBitmap(false);
2969 if (__pOptionMenu != null && __pOptionMenu->GetItemCount() != 9)
2971 __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2973 else if (__pOptionMenu != null )
2975 __pOptionMenu->SetItemAt(5,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2978 if (pBitmap != null)
2983 RelayoutControls(false);
2984 AppLog("ABC: OnSceneActivatedN started exit");
2987 AppLog("WebControl's width height %d %d,",__pWebViewer->GetWidth(),__pWebViewer->GetHeight());
2988 __pWebViewer->Resume();
2994 MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
2995 const Tizen::Ui::Scenes::SceneId& nextSceneId)
2997 Canvas* pWebCanvas = null;
2998 if (__pWebViewer != null)
3000 pWebCanvas = __pWebViewer->GetCanvasN();
3003 if (pWebCanvas == null)
3007 if (__pWindowInfo != null)
3009 if (__pWindowInfo->pWebCanvasBitmap != null)
3011 delete __pWindowInfo->pWebCanvasBitmap;
3013 __pWindowInfo->pWebCanvasBitmap = new(std::nothrow) Bitmap();
3014 result r = __pWindowInfo->pWebCanvasBitmap->Construct(*pWebCanvas,Rectangle(0,0,pWebCanvas->GetBounds().width,pWebCanvas->GetBounds().height));
3015 AppLog("Bitmap Construction result %s",GetErrorMessage(r));
3017 Bitmap* pBitmap = GetCapturedBitmapN();
3018 AppLog("Coming here");
3019 Canvas* pCanvas = new(std::nothrow) Canvas();
3020 pCanvas->Construct(GetClientAreaBounds());
3023 pCanvas->DrawBitmap(Point(0,0),*pBitmap);
3026 if(__pWebViewer != null && __pWindowInfo != null && __pWindowInfo->pWebCanvasBitmap != null)
3027 pCanvas->DrawBitmap(__pWebViewer->GetPosition(),*__pWindowInfo->pWebCanvasBitmap);
3029 WindowInfo::pFormCanvasBitmap = new(std::nothrow) Bitmap();
3032 WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight()));
3037 __pAddressbar->SetShowState(false);
3040 __pWebViewer->Pause();
3042 AppLog("Coming here");
3046 MainForm::OnHttpAuthenticationRequestedN(const Tizen::Base::String& host,
3047 const Tizen::Base::String& realm,
3048 const Tizen::Web::Controls::AuthenticationChallenge& authentication)
3054 MainForm::OnHttpAuthenticationCanceled(void)
3059 MainForm::OnLoadingStarted(void)
3061 AppLogDebug("MainForm::OnLoadingStarted entered");
3063 if(__pAddressbar == NULL || __pWebViewer == null)
3068 // this is added in case if menu is opened and user load the page
3069 if(__pOptionMenu != null && __pOptionMenu->GetShowState() == true)
3071 __pOptionMenu->SetShowState(false);
3072 __pOptionMenu->Invalidate(true);
3077 if(__pImageMenu != null && __pImageMenu->GetShowState() == true)
3079 __pImageMenu->SetShowState(false);
3080 __pImageMenu->Invalidate(true);
3082 String url = __pWebViewer->GetUrl();
3083 if(url.Contains(IDS_TIZEN_SERVICE))
3086 String delim(L":;,");
3088 // Creates a StringTokenizer instance
3089 StringTokenizer strTok(url, delim);
3091 int count = strTok.GetTokenCount(); // count == 4
3093 HashMap *pMap = new HashMap();
3098 while (strTok.HasMoreTokens())
3100 AppLog("Token: %ls", token.GetPointer());
3101 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3102 if(token.Contains(IDS_APPID))
3104 token.SubString(6, appId);
3105 AppLog("AppID:%ls", appId.GetPointer());
3107 else if(token.Contains(IDS_KEY))
3109 token.SubString(4, key);
3110 AppLog("key:%ls", key.GetPointer());
3112 else if(token.Contains(IDS_VALUE))
3114 token.SubString(6, value);
3115 AppLog("value:%ls", value.GetPointer());
3118 pMap->Add(key, value);
3122 AppControl *pAppControl = null;
3123 String operationId = L"http://tizen.org/appcontrol/operation/main";
3124 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
3127 AppLog("Starting AppControl");
3128 result r = pAppControl->Start(null, null, pMap, null);
3129 AppLog("Result of Start %s", GetErrorMessage(r));
3133 AppLogException("AppControl not found");
3138 if ( __pAddressbar != null && __pAddressbar->GetShowState() == true)
3140 __pAddressbar->SetShowState(false);
3141 AddressBarCancelledClicked(*__pAddressbar);
3142 __pAddressbar->Invalidate(true);
3144 Bitmap* pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
3147 __pAddressbar->SetFaviconBitmap(*pBitmap);
3150 if (__adressPanelPosition.y < (0 - __pAddressbar->GetHeight() + 12))
3152 // updating the address bar position with respect to web control
3153 __adressPanelPosition.y = 0 - __pAddressbar->GetHeight() + 12; //-12 is for the progress label
3154 __distanceMoved = 0;
3158 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3159 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3160 if (__pWebViewer != null)
3162 AppLog("MainForm::OnLoadingStarted __pWebViewer->GetUrl() %ls",__pWebViewer->GetUrl().GetPointer());
3163 //__pAddressbar->SetUrl(__pWebViewer->GetUrl());
3164 SetUrl(__pWebViewer->GetUrl());
3165 if (__pWindowInfo != NULL)
3167 // resetting the page title to blank, it will be received in OnPageTitleReceived()
3168 // __pWindowInfo->pageTitle = L"";
3169 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3171 __pAddressbar->Invalidate(true);
3177 MainForm::OnLoadingCanceled(void)
3183 MainForm::OnKeypadWillOpen(Tizen::Ui::Control& source)
3185 AppLog("XYZ::MainForm::OnKeypadWillOpen");
3190 MainForm::OnKeypadOpened(Tizen::Ui::Control& source)
3192 AppLog("XYZ::MainForm::OnKeypadOpened");
3193 __isKeypadOpened = true;
3194 __pFooterPanel->SetShowState(false);
3195 RelayoutControls(false);
3199 MainForm::OnKeypadClosed(Tizen::Ui::Control& source)
3201 AppLog("XYZ::MainForm::OnKeypadClosed");
3202 __isKeypadOpened = false;
3203 __pFooterPanel->SetShowState(true);
3204 RelayoutControls(true);
3208 MainForm::OnKeypadBoundsChanged(Tizen::Ui::Control &source)
3210 AppLog("XYZ::KeypadBoundsChanged");
3211 RelayoutControls(false);
3215 MainForm::OnLoadingErrorOccurred(LoadingErrorType error,
3216 const Tizen::Base::String& reason)
3218 AppLogDebug("Error: %d, %ls", error, reason.GetPointer());
3222 MainForm::OnLoadingCompleted(void)
3224 AppLog("MainForm::OnLoadingCompleted start");
3226 result r = E_SUCCESS;
3228 if (__pWebViewer == null)
3233 if (__pAddressbar == null)
3238 if(__pWindowInfo && __pWebViewer)
3239 __pWindowInfo->pageTitle = __pWebViewer->GetTitle();
3240 if(__pImageMenu && __pImageMenu->GetShowState())
3242 __pImageMenu->SetShowState(false);
3243 __pImageMenu->Invalidate(true);
3246 if (__pWebViewer->CanGoForward())
3248 //__pAddressbar->SetForwardButtonEnabled(true);
3249 SetForwardButtonEnabled(true);
3253 //__pAddressbar->SetForwardButtonEnabled(false);
3254 SetForwardButtonEnabled(false);
3257 /*if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3259 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3261 //__pAddressbar->UpdateProgress(0);
3265 if(GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3267 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3271 AppLog("PrivateBrowsing %d",__pWebViewer->IsPrivateBrowsingEnabled());
3272 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
3273 if (isPrivateBrowsing == false)
3275 if(__pHistory != null)
3281 __pHistory = new(std::nothrow) History;
3282 HistoryPresentationModel::GetCurrentDateTime(date);
3285 __pHistory->SetHistoryTitle(__pWindowInfo->pageTitle);
3286 AppLogDebug("MainForm::OnLoadingCompleted pagetitle = %ls", __pWindowInfo->pageTitle.GetPointer());
3288 __pHistory->SetHistoryUrl(__pWindowInfo->pageUrl);
3289 AppLogDebug("MainForm::OnLoadingCompleted pageUrl = %ls", __pWindowInfo->pageUrl.GetPointer());
3291 __pHistory->SetVisitedTime(date);
3293 if (__pWebViewer != null)
3295 AppLog("MainForm::OnLoadingCompleted setting the fav icon 0");
3297 Bitmap* pTempBitmap = __pWebViewer->GetFaviconN();
3298 if (pTempBitmap != null)
3300 AppLog("MainForm::OnLoadingCompleted setting the fav icon 1");
3301 __pHistory->SetFavIconBitmap(*pTempBitmap);
3306 Canvas* pCanvas = __pWebViewer->GetCanvasN();
3307 Bitmap* pBitmap = new(std::nothrow) Bitmap();
3308 if ( pCanvas != null && pCanvas != null && pBitmap != null)
3310 pBitmap->Construct(*pCanvas, pCanvas->GetBounds());
3311 pBitmap->Scale(Dimension(pBitmap->GetWidth()/4, pBitmap->GetHeight()/4));
3312 __pHistory->SetThumbnail(pBitmap);
3314 Bitmap *pFavIcon = __pWebViewer->GetFaviconN();
3317 Tizen::Graphics::BufferInfo bmpInfo;
3318 pFavIcon->Lock(bmpInfo);
3319 AppLog("rrrr:: width %d height %d of the faviconbitmap from bufferinfo", bmpInfo.width, bmpInfo.height);
3321 AppLog("MainForm::OnLoadingCompleted setting the fav icon 2");
3323 AppLog("rrrr:: width %d height %d of the faviconbitmap",pFavIcon->GetWidth(),pFavIcon->GetHeight());
3324 __pHistory->SetFavIconBitmap(*pFavIcon);
3328 HistoryPresentationModel::GetInstance()->SaveTempHistory(*__pHistory);
3335 // if (__pWindowInfo && __pWindowInfo->faviconUrl == "")
3337 // temperary fixed (webpage can be not loaded)
3341 bool isReaderEnabled = SettingPresentationModel::GetInstance()->IsRunReaderEnabled();
3342 if (isReaderEnabled == true)
3346 delete __pReaderData;
3347 __pReaderData = null;
3349 String filePath = Tizen::App::UiApp::GetInstance()->GetAppRootPath();
3350 filePath.Append(L"data/reader.js");
3356 result r = E_SUCCESS;
3357 FileAttributes attr;
3359 File::GetAttributes(filePath,attr);
3361 r = file.Construct(filePath, L"r+");
3364 AppLogDebug("File construct failed with %s", GetErrorMessage(r));
3367 char* pScript = new(std::nothrow) char[attr.GetFileSize()+1];
3370 AppLogDebug("Memory allocation for file failed %s", GetErrorMessage(r));
3373 // file.Read(pScript,attr.GetFileSize());
3375 // AppLogDebug("scipt length %d",strlen(pScript));
3376 String strScript = L"";
3377 // strScript.Append(pScript);
3378 // for(int i=0; i<25; i++)
3380 file.Read(pScript,attr.GetFileSize());
3381 // AppLog("xyzz tell %d",file.Tell());
3382 // r = strScript.Append(pScript);
3383 // AppLog("xyzz append result %s",GetErrorMessage(r));
3384 // AppLog("xyzz strScript length %d",strScript.GetLength());
3386 // AppLog("xyzz final strScript length %d",strScript.GetLength());
3388 __pReaderData = __pWebViewer->EvaluateJavascriptN(pScript);
3389 if (__pReaderData == null)
3391 AppLog("MainScene::data is null Error :%s",GetErrorMessage(GetLastResult()));
3392 __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>");
3395 AppLogDebug("evaluateJavascript result %s , __pReaderData %ls",GetErrorMessage(GetLastResult()),__pReaderData->GetPointer());
3396 if (__pReaderData->CompareTo(L"undefined") != 0 && __pReaderData->CompareTo(L"") != 0)
3398 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3399 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3405 AppLog("MainForm::OnLoadingCompleted done");
3409 MainForm::OnEstimatedProgress(int progress)
3411 AppLogDebug("MainForm::OnEstimatedProgress entered %d",progress);
3413 if (progress < DEFAULT_PROGRESS_PERCENTAGE)
3414 progress = DEFAULT_PROGRESS_PERCENTAGE;
3416 // __pAddressbar->UpdateProgress(progress);
3417 UpdateProgress(progress);
3420 void MainForm::OnFaviconReceived(const Tizen::Graphics::Bitmap& favicon)
3422 AppLog("MainForm::OnFaviconReceived");
3423 if (__pWebViewer != null && __pHistory != null && __pWindowInfo != null && (__pWindowInfo->pageUrl.CompareTo(__pHistory->GetHistoryUrl()) == 0))
3425 Bitmap* favIcon = __pWebViewer->GetFaviconN();
3428 HistoryPresentationModel::GetInstance()->UpdateHistoryFavIcon(*__pHistory, *favIcon);
3435 MainForm::OnUrlValueChanged(Addressbar&)
3441 MainForm::OnUrlSubmitted(Addressbar& addBar)
3443 AppLog("MainForm::OnUrlSubmitted");
3444 String url = addBar.GetUrl();
3445 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
3447 if(__pFooterUrlField)
3448 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
3449 AddressBarCancelledClicked(*__pAddressbar);
3454 MainForm::LoadUrl(String& url)
3458 // UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3459 AppLogDebug("MainForm::LoadUrl enter");
3461 if (__pWebViewer != null)
3463 __pWebViewer->SetShowState(true);
3464 __pWebViewer->Invalidate(true);
3467 if (url.CompareTo(L"") == 0)
3471 if(__pFooterPanel != null)
3473 __pFooterPanel->SetShowState(true);
3474 __pFooterPanel->Invalidate(true);
3481 String firstPattern(L"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)");
3482 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)
3484 RegularExpression firstRegex;
3485 RegularExpression secondRegex;
3487 firstRegex.Construct(firstPattern, REGEX_CASELESS);
3488 secondRegex.Construct(secondPattern, REGEX_CASELESS);
3491 ret = firstRegex.Match(url, false); // This returns true value
3492 flag = secondRegex.Match(url, false); // Checks whether URL typed is of type abc.com (i.e without protocol in front of it)
3496 if (ret == true && __pWebViewer != null)
3499 __pWebViewer->LoadUrl(url);
3501 else if(__pWebViewer != null)
3503 String tempUrl = L"http://";
3504 tempUrl.Append(url);
3508 __pWebViewer->LoadUrl(tempUrl);
3512 UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3513 __pWebViewer->LoadUrl(SettingPresentationModel::GetInstance()->GetSearchUrl(encodedUrl));
3516 if (__pAddressbar != null)
3518 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3519 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3522 AppLogDebug("MainForm::LoadUrl exit");
3529 MainForm::OnFocusGained(const Tizen::Ui::Control& source)
3531 AppLog("MainForm::OnFocusGained");
3534 __pFooterPanel->SetShowState(false);
3539 __pWebViewer->ReleaseBlock();
3544 __pAddressbar->SetShowState(true);
3545 __pAddressbar->SetAddressbarURLFocus();
3547 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3549 __currentSearchStr = L"";
3550 __currentWordIndex = 0;
3551 __maxOccurrances = 0;
3553 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
3555 __pFindWordEditField->SetText(L"");
3556 __pFindWordEditField->HideKeypad();
3557 __pFindWordControl->SetShowState(false);
3558 __pFindWordCountLabel->SetText(L"0/0");
3560 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
3562 __pFindWordEditFieldRightToLeft->SetText(L"");
3563 __pFindWordEditFieldRightToLeft->HideKeypad();
3564 __pFindWordControl->SetShowState(false);
3565 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
3568 __pFindWordNext->SetEnabled(false);
3569 __pFindWordPrev->SetEnabled(false);
3572 __pWebViewer->SearchTextAllAsync(L"",true);
3573 __pFindWordControl->SetShowState(false);
3575 RelayoutControls(false);
3579 MainForm::OnFocusLost(const Tizen::Ui::Control& source)
3581 AppLog("MainForm::OnFocusLost called");
3585 MainForm::OnStopClicked(Addressbar& addBar)
3587 AppLogDebug("MainForm::OnStopClicked called");
3590 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3591 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3592 __pWebViewer->StopLoading();
3593 RequestRedraw(true);
3598 MainForm::OnBackClicked(/*const Addressbar& addBar*/)
3600 // AppLog("MainForm::OnBackClicked");
3601 result r = E_FAILURE;
3602 if(__pImageMenu && __pImageMenu->GetShowState() == true)
3604 AppLog("Hiding the menu");
3605 __pImageMenu->SetShowState(false);
3608 if (__pWebViewer && __pWebViewer->CanGoBack())
3610 __pWebViewer->GoBack();
3612 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
3615 pApp = UiApp::GetInstance();
3618 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3621 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3629 WindowInfo* pWindowInfo = null;
3631 SceneManager* pSceneManager = SceneManager::GetInstance();
3632 if (pSceneManager == null)
3636 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
3637 if (pAllWindowList == NULL)
3639 pApp = UiApp::GetInstance();
3642 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3645 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3650 if (pAllWindowList != null)
3652 totalCount = pAllWindowList->GetCount();
3654 for (int count = 0; count < totalCount; count++)
3656 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
3657 if (pWindowInfo == null)
3659 pApp = UiApp::GetInstance();
3662 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3665 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3670 if (pSceneManager != null && pWindowInfo != null && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
3672 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
3675 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3678 r = pAllWindowList->RemoveAt(count, true);
3679 __pWindowInfo = null;
3682 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3687 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
3689 else if(pAllWindowList->GetCount() > 0)
3691 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
3695 pApp = UiApp::GetInstance();
3698 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3703 if (pWindowInfo == null)
3705 pApp = UiApp::GetInstance();
3708 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3714 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
3715 // r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
3718 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3732 MainForm::OnForwardClicked(/*const Addressbar& addBar*/)
3734 AppLog("MainForm::OnForwardClicked");
3735 if (__pWebViewer == null)
3738 if (__pWebViewer->CanGoForward())
3740 __pWebViewer->GoForward();
3745 MainForm::OnAddressBarFocusGained(const Addressbar& addBar)
3747 AppLog("XYZ::MainForm::OnAddressBarFocusGained");
3748 if(__pFooterPanel != null)
3750 __pFooterPanel->SetShowState(false);
3753 if (__pAddressbar != null && __pAddressbar->GetShowState() == false)
3755 __pAddressbar->SetShowState(true);
3756 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3759 RelayoutControls(false);
3763 MainForm::OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadState)
3765 AppLog("XYZ::MainForm::OnAddressBarFocusLost");
3767 int Height = GetClientAreaBounds().height;
3768 AppLog("MainForm::OnAddressBarFocusLost height is %d",Height);
3770 RelayoutControls(false);
3774 MainForm::OnAddressCancelledClicked(const Addressbar& addBar)
3776 AddressBarCancelledClicked(addBar);
3780 MainForm::OnAddressBarModeChanged(/*const Addressbar& addBar*/)
3782 __prevAddressBarMode = __curAddressBarMode;
3784 if (__pAddressbar != null)
3786 __curAddressBarMode = GetAddressbarMode();
3789 if (__curAddressBarMode == ADDRESSBAR_MODE_EDIT)
3791 __adressPanelPosition.y = 0;
3792 if (__pAddressbar != null)
3794 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
3795 __webControlPositionF.y = __pAddressbar->GetHeightF() - 12.0f;
3796 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3797 __pAddressbar->Invalidate(true);
3799 if (__pWebViewer != null)
3801 __pWebViewer->StopLoading();
3804 else if(__curAddressBarMode == ADDRESSBAR_MODE_LOADING)
3806 __adressPanelPosition.y = 0;
3807 if (__pAddressbar != null)
3809 __webControlPosition.y = 0;
3810 __webControlPositionF.y = 0.0f;
3811 __pAddressbar->SetBounds(Rectangle(0, __pAddressbar->GetY() - __pAddressbar->GetHeight(), GetClientAreaBounds().width, __pAddressbar->GetHeight()));
3812 __pAddressbar->Invalidate(true);
3818 MainForm::OnClipboardClosed(const Addressbar& addBar)
3820 AppLog("XYZ::MainForm::OnClipboardClosed");
3821 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3823 AppLog("akjshdasd 3");
3824 __pFooterPanel->SetShowState(true);
3826 __isKeypadOpened = false;
3827 RelayoutControls(false);
3831 MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar, bool footerState)
3833 AppLog("XYZ::MainForm::OnAddressBarKeypadClosed");
3834 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3836 AppLog("akjshdasd 3");
3837 __pFooterPanel->SetShowState(true);
3839 __isKeypadOpened = false;
3840 if(__pNotification && __pNotification->GetShowState())
3842 __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight());
3845 RelayoutControls(false,footerState);
3849 MainForm::OnAddressBarKeypadOpened(const Addressbar& addBar)
3851 AppLog("XYZ::MainForm::OnAddressBarKeypadOpened");
3852 __isKeypadOpened = true;
3853 if(__pNotification && __pNotification->GetShowState())
3855 __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight());
3857 RelayoutControls(false);
3861 MainForm::OnAddressBarKeypadWillOpen(const Addressbar& addBar)
3863 __isKeypadOpened = true;
3864 __pFooterPanel->SetShowState(false);
3868 MainForm::OnAddressBarKeypadBoundsChanged(const Addressbar& addBar)
3870 AppLog("XYZ::MainForm::OnAddressBarKeypadBoundsChanged");
3871 RelayoutControls(false);
3875 MainForm::OnPageTitleReceived(const Tizen::Base::String& title)
3877 AppLog("MainForm::OnPageTitleReceived %ls",title.GetPointer());
3880 __pWindowInfo->pageTitle = title;
3881 if (__pWebViewer != null)
3883 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3884 AppLog("MainForm::OnPageTitleReceived url %ls",__pWindowInfo->pageUrl.GetPointer());
3887 if (__pAddressbar != null && __pWebViewer != null)
3889 SetUrl(__pWebViewer->GetUrl());
3890 __pAddressbar->Invalidate(true);
3895 MainForm::UpdateFavicon(void)
3897 bool urlImageType = false;
3898 String *tempPath = null;
3900 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();");
3901 Bitmap* pBitmap = null;
3903 if (tempPath && tempPath->GetLength() > 0 && tempPath->CompareTo(L"undefined") != 0)
3905 if (__pWindowInfo != null)
3908 url.SetUri(*tempPath);
3909 if (url.GetHost().GetLength() == 0)
3913 webUrl.SetUri(__pWebViewer->GetUrl());
3914 result r = url.SetHost(webUrl.GetHost());
3921 if (url.GetScheme().GetLength() == 0)
3925 webUrl.SetUri(__pWebViewer->GetUrl());
3926 url.SetScheme(webUrl.GetScheme());
3928 __pWindowInfo->faviconUrl = url.ToString();
3930 pBitmap = __pWebViewer->GetFaviconN();
3932 if (pBitmap != null)
3934 if (__pWindowInfo->pFavicon != NULL)
3936 __pWindowInfo->pFavicon = null;
3938 __pWindowInfo->pFavicon = new(std::nothrow) Bitmap();
3939 __pWindowInfo->pFavicon->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
3941 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3943 FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
3945 else if(__pWindowInfo->pFavicon != null)
3947 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3951 Bitmap *pDefaultBmp = FaviconManager::GetInstance()->GetDefaultFaviconN();
3952 if(pDefaultBmp != null)
3954 __pAddressbar->SetFaviconBitmap(*pDefaultBmp);
3968 if(tempPath != null)
3972 AppLogDebug("Error occured: %s", GetErrorMessage(GetLastResult()));
3978 MainForm::OnLoadingRequested(const Tizen::Base::String& url,
3979 Tizen::Web::Controls::WebNavigationType type)
3981 AppLog("urlk %ls",url.GetPointer());
3982 // when load new page if find word panel is open its show state is false
3983 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3985 __currentSearchStr = L"";
3986 __currentWordIndex = 0;
3987 __maxOccurrances = 0;
3988 __pFindWordEditField->SetText(L"");
3989 __pFindWordNext->SetEnabled(false);
3990 __pFindWordPrev->SetEnabled(false);
3991 __pFindWordCountLabel->SetText(L"0/0");
3992 __pFindWordControl->SetShowState(false);
3993 __pFindWordEditField->HideKeypad();
3994 RelayoutControls(false);
3997 __pFooterPanel->Invalidate(true);
4000 uriInfo.SetUri(url);
4002 if(url.Contains(IDS_TIZEN_SERVICE))
4005 String delim(L":;,");
4007 // Creates a StringTokenizer instance
4008 StringTokenizer strTok(url, delim);
4010 int count = strTok.GetTokenCount(); // count == 4
4012 HashMap *pMap = new HashMap();
4018 while (strTok.HasMoreTokens())
4020 AppLog("Token: %ls", token.GetPointer());
4021 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
4022 if(token.Contains(IDS_APPID))
4024 token.SubString(6, appId);
4025 AppLog("AppID:%ls", appId.GetPointer());
4027 else if(token.Contains(IDS_KEY))
4029 token.SubString(4, key);
4030 AppLog("key:%ls", key.GetPointer());
4032 else if(token.Contains(IDS_VALUE))
4034 token.SubString(6, value);
4035 AppLog("value:%ls", value.GetPointer());
4038 pMap->Add(key, value);
4042 AppControl *pAppControl = null;
4043 String operationId = L"http://tizen.org/appcontrol/operation/main";
4044 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
4047 result r = pAppControl->Start(null, null, pMap, null);
4051 AppLogException("AppControl not found");
4061 MainForm::OnWebDataReceived(const Tizen::Base::String& mime,
4062 const Tizen::Net::Http::HttpHeader& httpHeader)
4064 return Tizen::Web::Controls::WEB_DECISION_CONTINUE;
4068 MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint& endPoint)
4070 AppLog("LMN::MainForm::OnWebPageBlockSelected");
4071 // if(__isLongPressedDone == false)
4074 if (__pHitElementResult != null)
4076 delete __pHitElementResult;
4077 __pHitElementResult = null;
4080 if (__pWebViewer != null)
4082 AppLog("MainForm::OnWebPageBlockSelected web not null");
4083 __pHitElementResult = __pWebViewer->GetElementByPointN(startPoint);
4085 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
4087 AppLog("datafirst startpoint error %s",GetErrorMessage(GetLastResult()));
4088 __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint);
4089 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
4091 __pHitElementResult = __pWebViewer->GetElementByPointN(__longPressPoint);
4092 if(__pHitElementResult == null)
4094 __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint);
4097 AppLog("datafirst endpoint error %s",GetErrorMessage(GetLastResult()));
4101 if (__pHitElementResult == null)
4106 if (__pHitElementResult->HasImage() != true)
4108 String tagName = __pHitElementResult->GetTagName();
4109 String type = __pHitElementResult->GetAttributeValue("type");
4110 String contenteditable = __pHitElementResult->GetAttributeValue("contenteditable");
4113 AppLog("TagName %ls",tagName.GetPointer());
4114 __currentSelectedStr.Clear();
4115 AppLog("__currentSelectedStr after clear %ls",__currentSelectedStr.GetPointer());
4116 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4117 AppLog("__currentSelectedStr after GetTextFromBlock %ls",__currentSelectedStr.GetPointer());
4118 if(tagName.Equals(L"TEXTAREA",false) == true)
4120 AppLog("Tagnameseemstobe TEXTAREA");
4122 else if(tagName.Equals(L"INPUT",false) == true)
4124 AppLog("Tagnameseemstobe INPUT");
4127 if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) || contenteditable.Equals(L"true",false) == true/*&& __isLongPressedDone == true*/ && __currentSelectedStr.CompareTo(L"") !=0 )
4129 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4131 InitSelectTextContextMenuF(FloatPoint(startPoint.x,startPoint.y + __pWebViewer->GetY()),true);
4134 __pImageMenu->SetShowState(true);
4135 __pImageMenu->Show();
4136 __pImageMenu->Invalidate(true);
4139 else /*if(__isLongPressedDone == true)*/
4141 AppLog("MainForm::OnWebPageBlockSelected no paste option");
4143 if(__pHitElementResult->GetUrl().GetLength() > 0)
4145 __currentSelectedStr.Clear();
4146 __currentSelectedStr = __pHitElementResult->GetUrl();
4148 InitSelectTextContextMenuF(FloatPoint(startPoint.x,startPoint.y + __pWebViewer->GetY()),false);
4151 __pImageMenu->SetShowState(true);
4152 __pImageMenu->Show();
4153 __pImageMenu->Invalidate(true);
4157 AppLog("MainForm::OnWebPageBlockSelected block text is %ls",__currentSelectedStr.GetPointer());
4158 AppLog("MainForm::OnWebPageBlockSelected tag name is %ls",tagName.GetPointer());
4159 AppLog("MainForm::OnWebPageBlockSelected type name is %ls",type.GetPointer());
4165 MainForm::OnWebPageShowRequested(Tizen::Web::Controls::Web& source)
4171 MainForm::OnWebWindowCreateRequested(void)
4173 AppLog("MainForm::OnWebWindowCreateRequested entered");
4174 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4176 if (pNewWindowInfo == null)
4180 result r = E_SUCCESS;
4181 SceneManager* pSceneManager = SceneManager::GetInstance();
4182 if (pSceneManager == NULL)
4186 ArrayList* pArgList = new(std::nothrow) ArrayList();
4187 if (pArgList == NULL)
4191 r = pArgList->Construct();
4194 pNewWindowInfo->isJavascriptInitiated = true;
4195 pArgList->Add(*pNewWindowInfo);
4196 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4200 AppLogDebug("EditHistoryListForm::OnFormBackRequested Failed to GoBackward %s",GetErrorMessage(r));
4207 return pNewWindowInfo->pCurrentWeb;
4211 MainForm::OnWebWindowCloseRequested(Tizen::Web::Controls::Web& source)
4213 AppLog("OnWebWindowCloseRequested");
4214 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
4215 SceneManager* pSceneManager = SceneManager::GetInstance();
4216 WindowInfo* pWindowInfo = null;
4217 WindowInfo* pNewWindowInfo = null;
4220 result r = E_FAILURE;
4222 if (pAllWindowList != null)
4224 totalCount = pAllWindowList->GetCount();
4227 for (int count = 0; count < totalCount; count++)
4229 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
4231 if (__pWindowInfo != null && pWindowInfo != null && __pWindowInfo->sceneID == pWindowInfo->sceneID)
4233 r = SceneRegister::DestroyAndUnRegisterScene(__pWindowInfo->sceneID);
4234 r = pAllWindowList->RemoveAt(count, true);
4236 Form* pCurrentForm = null;
4237 if(SceneManager::GetInstance()->GetCurrentScene() != null)
4238 pCurrentForm = (SceneManager::GetInstance()->GetCurrentScene()->GetForm());
4241 pCurrentForm->SendUserEvent(UPDATE_MAINFORM_FOOTER_ON_WINDOWCLOSED, null);
4244 if (pAllWindowList->GetCount() > 0)
4246 pNewWindowInfo = null;
4247 pNewWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
4251 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4253 if (pNewWindowInfo == null)
4257 result r = E_SUCCESS;
4258 SceneManager* pSceneManager = SceneManager::GetInstance();
4259 if (pSceneManager == NULL)
4263 ArrayList* pArgList = new(std::nothrow) ArrayList();
4264 if (pArgList == NULL)
4268 r = pArgList->Construct();
4271 pArgList->Add(*pNewWindowInfo);
4272 result r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4273 if (pArgList != null)
4280 AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r));
4285 pApp = UiApp::GetInstance();
4288 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
4293 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
4304 MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter)
4306 AppLog("xyz:: MainForm::RelayoutControls called");
4307 __webControlPosition.y = 0;
4308 __webControlPositionF.y = 0.0f;
4309 __webControlHeight = GetClientAreaBounds().height;
4310 __webControlHeightF = GetClientAreaBoundsF().height;
4311 AppLog("Client area height: %d width %d", __webControlHeight,GetClientAreaBounds().width);
4313 AppLog("Client area height: %d", __webControlHeight);
4314 if(__pAddressbar != null && __pAddressbar->GetShowState() == true)
4316 __webControlPosition.y += __pAddressbar->GetHeight();
4317 __webControlPositionF.y += __pAddressbar->GetHeightF();
4318 __webControlHeight -= __pAddressbar->GetHeight();
4319 __webControlHeightF -= __pAddressbar->GetHeightF();
4320 __pAddressbar->SetBounds(0, 0, __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
4322 else if(__pFindWordControl != null && __pFindWordControl->GetShowState() == true)
4324 __webControlPosition.y += __pFindWordControl->GetHeight();
4325 __webControlPositionF.y += __pFindWordControl->GetHeightF();
4326 __webControlHeight -= __pFindWordControl->GetHeight();
4327 __webControlHeightF -= __pFindWordControl->GetHeightF();
4328 __pFindWordControl->SetBounds(0, 0, GetClientAreaBounds().width, __pFindWordControl->GetHeight());
4331 if(__pFooterPanel != null && __pFooterPanel->GetShowState() == true && relayoutFooter == true)
4333 __webControlHeight -= __pFooterPanel->GetHeight();
4334 __webControlHeightF -= __pFooterPanel->GetHeightF();
4336 __pFooterPanel->SetBounds(CoordinateSystem::AlignToDevice(FloatRectangle(0.0F, __webControlPositionF.y + __webControlHeightF, GetClientAreaBoundsF().width, __pFooterPanel->GetHeightF())));
4337 __webControlHeight = __webControlHeight + 12;
4338 __webControlHeightF = __webControlHeightF + 12.0f;
4343 if (__pWebViewer != null && __pWebViewer->GetShowState() == true)
4345 if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight )
4350 __pWebViewer->SetBounds(CoordinateSystem::AlignToDevice(FloatRectangle(0.0f, __webControlPositionF.y, GetClientAreaBoundsF().width, __webControlHeightF)));
4351 AppLog("xyz:: MainForm::RelayoutControls called __webControlHeight %d",__webControlHeight);
4352 __pWebViewer->Invalidate(false);
4356 if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null)
4358 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__webControlPosition.y , GetClientAreaBounds().width, __webControlHeight));
4365 MainForm::ShowFindWordPanel(bool show , bool isTouchPressed)
4367 if (__pFindWordControl == null)
4372 Tizen::Locales::LocaleManager localeManager;
4373 Tizen::Locales::Locale local = localeManager.GetSystemLocale();
4375 String languageCode;
4376 result r = SettingInfo::GetValue(L"Language", languageCode);
4377 // int languagecode = local.GetLanguageCode();
4378 AppLog("rahul language is %S", languageCode.GetPointer());
4382 InitFindWordPanel();
4384 if (languageCode.CompareTo("ara") == 0)
4386 AppLog("rahul language is arabic");
4388 __pFindWordPanelLeftToRight->SetShowState(false);
4389 __pFindWordPanelRightToLeft->SetShowState(true);
4391 __pFindWordClear->SetShowState(false);
4392 __pFindWordCountLabel->SetShowState(false);
4393 __pFindWordEditField->SetShowState(false);
4395 __pFindWordClearRightToLeft->SetShowState(true);
4396 __pFindWordCountLabelRightToLeft->SetShowState(true);
4397 __pFindWordEditFieldRightToLeft->SetShowState(true);
4401 AppLog("rahul language is not arabic");
4404 __pFindWordPanelLeftToRight->SetShowState(true);
4405 __pFindWordPanelRightToLeft->SetShowState(false);
4407 __pFindWordClear->SetShowState(true);
4408 __pFindWordCountLabel->SetShowState(true);
4409 __pFindWordEditField->SetShowState(true);
4411 __pFindWordClearRightToLeft->SetShowState(false);
4412 __pFindWordCountLabelRightToLeft->SetShowState(false);
4413 __pFindWordEditFieldRightToLeft->SetShowState(false);
4415 __pFindWordControl->SetShowState(true);
4419 if(__pFindWordControl != null)
4421 __pFindWordControl->SetShowState(false);
4425 AppLog("MainForm::ShowFindWordPanel %d",show);
4426 if (show && !isTouchPressed)
4428 if (languageCode.CompareTo("ara") == 0)
4430 if (__pFindWordEditFieldRightToLeft)
4432 __pFindWordEditFieldRightToLeft->SetFocus();
4433 __pFindWordEditFieldRightToLeft->ShowKeypad();
4438 if (__pFindWordEditField)
4440 __pFindWordEditField->SetFocus();
4441 __pFindWordEditField->ShowKeypad();
4447 if (languageCode.CompareTo("ara") == 0)
4449 if (__pFindWordEditFieldRightToLeft)
4450 __pFindWordEditFieldRightToLeft->HideKeypad();
4454 if (__pFindWordEditField)
4455 __pFindWordEditField->HideKeypad();
4459 RelayoutControls(false);
4463 MainForm::StartWordSearch()
4465 //Get the count of occurances of the word in the current page
4466 __maxOccurrances = 0;
4467 __currentWordIndex = 0;
4469 __pFindWordPrev->SetEnabled(false);
4470 String *pCountStr = null;
4473 result r = __pWebViewer->SearchTextAllAsync(__currentSearchStr, false);
4474 AppLog("Search Result %s",GetErrorMessage(r));
4477 /*__pWebViewer->EvaluateJavascriptN(L"document.body.textContent.match(/" + __currentSearchStr + "/gi).length;");
4478 if (pCountStr != null)
4480 Integer::Parse(*pCountStr, 10, __maxOccurrances);
4484 AppLogDebug("'%ls' is found %d times", __currentSearchStr.GetPointer(), __maxOccurrances);
4489 void MainForm::OnTextFound(int totalCount, int currentOrdinal)
4491 AppLog("MainForm::OnTextFound totalCount %d",totalCount);
4492 AppLog("MainForm::OnTextFound currentOrdinal %d",currentOrdinal);
4496 if (__pFindWordCountLabel)
4498 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
4500 if (__pFindWordEditField)
4502 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
4505 else if(totalCount >= 100)
4507 if (__pFindWordCountLabel)
4509 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4511 if (__pFindWordEditField)
4513 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4518 if (__pFindWordCountLabel)
4520 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4522 if (__pFindWordEditField)
4524 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4528 __maxOccurrances = totalCount;
4529 __currentWordIndex = currentOrdinal;
4531 //Reset the UI controls as per the maxOccurrance value
4532 if (totalCount <= 0)
4534 AppLog("Word not found");
4535 //Show error notification to user
4537 __pFindWordNext->SetEnabled(false);
4538 if(__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4540 __pFindWordCountLabel->SetText(L"0/0");
4541 __pFindWordCountLabel->Invalidate(false);
4543 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4545 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4546 __pFindWordCountLabelRightToLeft->Invalidate(false);
4549 __pFindWordNext->Invalidate(false);
4550 __pFindWordPrev->Invalidate(false);
4555 if (totalCount == 1 || totalCount == currentOrdinal)
4558 __pFindWordNext->SetEnabled(false);
4563 __pFindWordNext->SetEnabled(true);
4566 String countStr = L"";
4567 countStr.Append(__currentWordIndex);
4568 countStr.Append(L"/");
4569 countStr.Append(__maxOccurrances);
4570 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4572 __pFindWordCountLabel->SetText(countStr);
4573 __pFindWordCountLabel->Invalidate(false);
4574 __pFindWordCountLabel->Invalidate(false);
4576 else if (__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4578 __pFindWordCountLabelRightToLeft->SetText(countStr);
4579 __pFindWordCountLabelRightToLeft->Invalidate(false);
4580 __pFindWordCountLabelRightToLeft->Invalidate(false);
4582 if (__pFindWordNext)
4584 __pFindWordNext->Invalidate(false);
4586 if (__pFindWordPrev)
4588 __pFindWordPrev->Invalidate(false);
4594 MainForm::FindNextWord(bool next)
4598 //if (__pWebViewer->SearchText(__currentSearchStr, true) == true)
4599 if (__pWebViewer->SearchNextAsync(true) == E_SUCCESS)
4601 if (__currentWordIndex < __maxOccurrances)
4603 __currentWordIndex++;
4609 //if (__pWebViewer->SearchText(__currentSearchStr, false) == true)
4610 if (__pWebViewer->SearchNextAsync(false) == E_SUCCESS)
4612 if(__currentWordIndex > 1)
4614 __currentWordIndex--;
4619 String countStr = L"";
4620 countStr.Append(__currentWordIndex);
4621 countStr.Append(L"/");
4622 countStr.Append(__maxOccurrances);
4624 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4626 __pFindWordCountLabel->SetText(countStr);
4627 __pFindWordCountLabel->Invalidate(false);
4629 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4631 __pFindWordCountLabelRightToLeft->SetText(countStr);
4632 __pFindWordCountLabelRightToLeft->Invalidate(false);
4635 if (__currentWordIndex >= __maxOccurrances)
4637 __pFindWordNext->SetEnabled(false);
4641 __pFindWordNext->SetEnabled(true);
4643 if (__currentWordIndex <= 1)
4645 __pFindWordPrev->SetEnabled(false);
4649 __pFindWordPrev->SetEnabled(true);
4651 __pFindWordPrev->Invalidate(false);
4652 __pFindWordNext->Invalidate(false);
4654 __pFindWordControl->Invalidate(true);
4658 MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
4660 AppLog("xyz::MainForm::OnWebKeypadWillOpen");
4661 __isKeypadOpened = true;
4662 __pFooterPanel->SetShowState(false);
4663 // OnAddressBarKeypadOpened(*__pAddressbar);
4667 MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source)
4669 __isKeypadOpened = true;
4670 AppLog("xyz::MainForm::OnWebKeypadOpened");
4672 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4674 __currentSearchStr = L"";
4675 __currentWordIndex = 0;
4676 __maxOccurrances = 0;
4677 __pFindWordEditField->SetText(L"");
4678 __pFindWordNext->SetEnabled(false);
4679 __pFindWordPrev->SetEnabled(false);
4680 __pFindWordCountLabel->SetText(L"0/0");
4681 __pWebViewer->SearchTextAllAsync(L"",false);
4682 __pFindWordControl->SetShowState(false);
4683 __pFindWordEditField->HideKeypad();
4687 if (__pWebViewer != null && __pFooterPanel != null)
4689 AppLog("MainForm::OnWebKeypadOpened GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
4690 if(__pAddressbar != null)
4692 __pAddressbar->SetShowState(false);
4694 if(__pFindWordControl != null)
4696 __pFindWordControl->SetShowState(false);
4698 __pFooterPanel->SetShowState(false);
4699 __pWebViewer->SetBounds(Rectangle(0, 0,GetClientAreaBounds().width, GetClientAreaBounds().height));
4701 // if(__pImageMenu && __pImageMenu->GetShowState() == true)
4703 // __pImageMenu->SetAnchorPosition(Point(__pImageMenu->GetAnchorPosition().x/2,__pImageMenu->GetAnchorPosition().y/2));
4704 // AppLog("omgomgomg");
4710 MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source)
4712 AppLog("abcde::MainForm::OnWebKeypadClosed");
4713 AppLog("xyz::MainForm::OnWebKeypadClosed");
4714 AppLog("akjshdasd 4");
4715 __pFooterPanel->SetShowState(true);
4716 // OnAddressBarKeypadClosed(*__pAddressbar);
4717 RelayoutControls(false);
4718 __isKeypadOpened = false;
4721 if(__pImageMenu && __pImageMenu->GetShowState() == true)
4723 AppLog("abcde: imagemenu visible.");
4726 __pWebViewer->GetBlockRange(p,q);
4727 if (p == Point(0,0) && q == Point(0,0))
4735 __pImageMenu->SetAnchorPosition(p);
4736 __pImageMenu->Show();
4742 MainForm::OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source)
4744 // RelativeLayout(false);
4745 if(__pWebViewer != null)
4747 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,GetClientAreaBounds().height));
4752 MainForm::OnTouchDoublePressed(const Control& source, const Point& currentPosition, const TouchEventInfo& touchInfo)
4754 Control* temp = const_cast< Control* >(&source);
4755 Header* pHeader = dynamic_cast< Header* >(temp);
4756 if (pHeader != null)
4758 //Header double - clicked
4759 AppLog("Header double clicked");
4761 if(__pFindWordControl)
4763 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
4764 ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
4768 AppLog("MainScene::OnTouchDoublePressed");
4772 void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4774 AppLog("LMN::abcde::MainForm::OnTouchLongPressed %d, %d" ,currentPosition.x,currentPosition.y);
4775 if(TouchEventManager::GetInstance() && TouchEventManager::GetInstance()->GetTouchInfoListN() && TouchEventManager::GetInstance()->GetTouchInfoListN()->GetCount() >1)
4777 AppLog("Returning because of more than one touch point.");
4781 // __pWebViewer->ReleaseBlock();
4783 __pWebViewer->SetFocus();
4784 __longPressPoint = currentPosition;
4786 if (__pHitElementResult != null)
4788 delete __pHitElementResult;
4789 __pHitElementResult = null;
4792 if (__pWebViewer != null)
4794 AppLog("MainForm::OnTouchLongPressed web not null");
4795 __pHitElementResult = __pWebViewer->GetElementByPointN(currentPosition);
4798 if (__pHitElementResult == null)
4803 if (__pHitElementResult->HasImage() == true)
4805 if(__pWebViewer != null)
4807 __pWebViewer->ReleaseBlock();//N_SE-52389
4808 InitImageContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4810 __pImageMenu->SetShowState(true);
4811 __pImageMenu->Show();
4812 __pImageMenu->Invalidate(true);
4814 else if(__pHitElementResult->HasUrl() == true)
4816 if(__pWebViewer != null)
4817 __pWebViewer->ReleaseBlock();//N_SE-52389
4818 String tempURl = __pHitElementResult->GetUrl();
4819 AppLog("tempURl is %ls", tempURl.GetPointer());
4820 const Bitmap* pBitmap = __pHitElementResult->GetImage();
4821 if (pBitmap != null)
4829 InitImageLinkContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4830 __pImageMenu->SetShowState(true);
4831 __pImageMenu->Show();
4832 __pImageMenu->Invalidate(true);
4836 String tagName = __pHitElementResult->GetTagName();
4837 String type = __pHitElementResult->GetAttributeValue("type");
4838 String value = __pHitElementResult->GetAttributeValue(L"value");
4839 String innerHtml = __pHitElementResult->GetAttributeValue(L"innerHTML");
4840 result r = E_FAILURE;
4841 __currentSelectedStr.Clear();
4842 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4844 AppLog("tag name is %ls", tagName.GetPointer());
4845 AppLog("type is %ls", type.GetPointer());
4849 __isLongPressedDone = true;
4850 if( type.Equals(L"submit",false) !=true && type.Equals(L"checkbox",false) !=true && type.Equals(L"range",false) !=true && type.Equals(L"file",false) !=true)
4851 r =__pWebViewer->SetBlockSelectionPosition(currentPosition);
4852 if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) && innerHtml.GetLength() == 0 && type.Equals(L"submit",false) !=true && type.Equals(L"checkbox",false) !=true && type.Equals(L"range",false) !=true && type.Equals(L"file",false) !=true/*&& __isWebKeypadOpened == true*/ && __currentSelectedStr.Equals(L"",false) == true && r == E_INVALID_ARG)
4854 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4856 InitSelectTextContextMenu(Point(currentPosition.x , currentPosition.y + __pWebViewer->GetY()),true, true);
4859 __pImageMenu->SetShowState(true);
4860 __pImageMenu->Show();
4861 __pImageMenu->Invalidate(true);
4864 AppLog("setselectionselectedornot %s",GetErrorMessage(r));
4867 // __inputEventToBeSupressed = true;
4871 MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4873 AppLog("xyz:: MainForm::OnTouchReleased called");
4875 if (__pAddressbar && __pAddressbar->GetShowState() == true)
4877 __pAddressbar->SetShowState(false);
4879 if(__pFooterPanel && __isKeypadOpened == false)
4881 __pFooterPanel->SetShowState(true);
4885 /*HitElementResult* pHitElement = __pWebViewer->GetElementByPointN(currentPosition);
4886 if(pHitElement != null && pHitElement->HasUrl() == true && __inputEventToBeSupressed == true)
4888 __pWebViewer->ConsumeInputEvent();
4890 if(pHitElement != null)
4894 __inputEventToBeSupressed = false;*/
4898 MainForm::OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4905 MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4907 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4909 __currentSearchStr = L"";
4910 __currentWordIndex = 0;
4911 __maxOccurrances = 0;
4913 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
4915 __pFindWordEditField->SetText(L"");
4916 __pFindWordEditField->HideKeypad();
4917 __pFindWordControl->SetShowState(false);
4918 __pFindWordCountLabel->SetText(L"0/0");
4920 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
4922 __pFindWordEditFieldRightToLeft->SetText(L"");
4923 __pFindWordEditFieldRightToLeft->HideKeypad();
4924 __pFindWordControl->SetShowState(false);
4925 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4928 __pFindWordNext->SetEnabled(false);
4929 __pFindWordPrev->SetEnabled(false);
4931 __pWebViewer->SearchTextAllAsync(L"",true);
4932 __pFindWordControl->SetShowState(false);
4934 AppLog("__pAddressbar->GetShowState() %d",__pAddressbar->GetShowState());
4935 if(__pAddressbar->GetShowState() == false)
4937 __pAddressbar->SetAddressbarURLFocus();
4938 __pFooterPanel->SetShowState(false);
4945 MainForm::OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4951 MainForm::OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4957 MainForm::OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4963 MainForm::OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4969 MainForm::OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4975 MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
4977 AppLog("MainForm::OnOrientationChanged GetClientAreaBounds %d, %d",GetClientAreaBounds().width,GetClientAreaBounds().height);
4978 int widthContextItem = 0;
4979 //if(__pFindWordCountLabel)
4980 // __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4981 // As per the platform engineer comment removed this line
4982 /*if(__pWebViewer != null)
4984 // 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
4985 __pWebViewer->ReleaseBlock();
4988 // if(__pFindWordControl != null)
4989 // ShowFindWordPanel(__pFindWordControl->GetShowState(), false);
4991 if(__pOptionMenu && __pOptionMenu->GetShowState() == true)
4993 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4995 AppLog(" Orientation landscape");
4996 __pOptionMenu->SetMaxVisibleItemsCount(5);
5000 AppLog(" Orientation potrait");
5001 __pOptionMenu->SetMaxVisibleItemsCount(6);
5004 if(__pNotification && __pNotification->GetShowState() == true)
5006 __pNotification->SetShowState(false);
5007 __pNotification->Invalidate(false);
5009 if ( __pFooterLabel != null)
5011 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
5014 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
5020 if (__pFindWordBgLabel != null)
5022 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
5023 if (pBitmap != null)
5025 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
5030 if (__pFindWordBgLabelRightToLeft != null)
5032 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
5033 if (pBitmap != null)
5035 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
5041 // if(__pOptionMenu != null)
5042 // __pOptionMenu->SetShowState(false);
5044 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
5046 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE;
5050 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT;
5055 AppLog("__pFooterPanel->GetShowState() is true");
5057 __pFooterPanel->SetBounds(CoordinateSystem::AlignToDevice(FloatRectangle(0, GetClientAreaBoundsF().height - __pFooterPanel->GetHeightF(), __pFooterPanel->GetWidthF(), __pFooterPanel->GetHeightF())));
5058 __pFooterPanel->Invalidate(true);
5062 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
5063 if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
5065 InitMostVisitedSitesView(orientationStatus);
5068 RelayoutControls(false);
5069 if (__pArticleReaderPanel != null)
5071 if (__pArticleReaderPanel->GetShowState() == true)
5073 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
5075 if (__pBlankPanel != null)
5076 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
5078 if (__pWebReader != null)
5080 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight() - 96));
5082 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
5083 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
5085 if ( pBitmap != null && pSrcBitmap != null)
5087 AppLog("CreateReaderPanel ninepatchbitmap found");
5088 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
5091 __pArticleReaderLabel->SetBounds(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()));
5092 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
5093 if (pBitmap != null)
5098 if (pSrcBitmap != null)
5107 if (__pAddressbar != null)
5109 int width = GetClientAreaBounds().width;
5110 __pAddressbar->OrientationChanged(width);
5115 MainForm::OnSettingsChange(int settingvalue)
5117 AppLogDebug("MainForm::OnSettingsChange entered");
5119 if(settingvalue == (int)REGISTRY_SETTING_HOMEPAGE)
5121 __pAddressbar->ResetGuideText();
5123 if (__pWebViewer == null)
5125 AppLogDebug("Webviewer is not initialized yet.");
5129 if (settingvalue == (int) REGISTRY_SETTING_DEFAULT_VIEW)
5131 WebSetting settings = __pWebViewer->GetSetting();
5132 if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_FIT_TO_WIDTH")) == 0)
5134 settings.SetAutoFittingEnabled(true);
5136 else if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_READABLE")) == 0)
5138 settings.SetAutoFittingEnabled(false);
5140 __pWebViewer->SetSetting(settings);
5143 else if (settingvalue == (int) REGISTRY_SETTING_RUN_JAVASCRIPT)
5145 WebSetting settings = __pWebViewer->GetSetting();
5146 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
5147 __pWebViewer->SetSetting(settings);
5149 else if (settingvalue == (int) REGISTRY_SETTING_DISPLAY_IMAGES)
5151 WebSetting settings = __pWebViewer->GetSetting();
5152 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
5153 __pWebViewer->SetSetting(settings);
5154 __pWebViewer->Reload();
5156 else if (settingvalue == (int) REGISTRY_SETTING_BLOCK_POPUP)
5158 WebSetting settings = __pWebViewer->GetSetting();
5159 settings.SetJavaScriptPopupEnabled(SettingPresentationModel::GetInstance()->IsBlockPopUp());
5160 __pWebViewer->SetSetting(settings);
5162 else if (settingvalue == (int) REGISTRY_SETTING_ACCEPT_COOKIES)
5166 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
5169 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_FORM_DATA)
5173 WebSetting settings = __pWebViewer->GetSetting();
5174 settings.SetAutoFormDataShowEnabled(SettingPresentationModel::GetInstance()->IsRememberFormData());
5175 __pWebViewer->SetSetting(settings);
5178 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_PASSWORD)
5182 WebSetting settings = __pWebViewer->GetSetting();
5183 settings.SetAutoLoginFormFillEnabled(SettingPresentationModel::GetInstance()->IsRememberPassword());
5184 __pWebViewer->SetSetting(settings);
5187 else if (settingvalue == (int) REGISTRY_SETTING_SHOW_SECURITY_WARNINGS)
5189 WebSetting settings = __pWebViewer->GetSetting();
5190 if (SettingPresentationModel::GetInstance()->IsSecurityWarningsEnabled() == true)
5192 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_USER_CONFIRM);
5196 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_CONTINUE);
5198 __pWebViewer->SetSetting(settings);
5200 else if (settingvalue == (int) REGISTRY_SETTING_READER_FONT_SIZE)
5204 AppLogDebug("IntMainForm fontsize Changed to %d",SettingPresentationModel::GetInstance()->GetReaderFontSize());
5205 WebSetting settings = __pWebReader->GetSetting();
5206 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
5207 __pWebReader->SetSetting(settings);
5213 MainForm::OnSettingsReset()
5217 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
5218 __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
5223 MainForm::OnClearCache()
5225 result r = E_SUCCESS;
5227 if (__pWebViewer != NULL)
5229 r = __pWebViewer->ClearCache();
5232 AppLogDebug("Cache cleared success");
5236 AppLogDebug("Cache cleared fail");
5242 MainForm::OnClearCookie()
5244 result r = E_SUCCESS;
5246 if (__pWebViewer != NULL)
5248 __pWebViewer->ClearCookie();
5252 AppLogDebug("Cookie cleared success");
5256 AppLogDebug("Cache cleared fail");
5261 MainForm::OnClearFormData()
5263 result r = E_SUCCESS;
5265 if (__pWebViewer != NULL)
5267 __pWebViewer->ClearFormData();
5271 AppLogDebug("Cookie cleared success");
5275 AppLogDebug("Cache cleared fail");
5280 MainForm::OnClearPasswords()
5282 result r = E_SUCCESS;
5284 if (__pWebViewer != NULL)
5286 __pWebViewer->ClearLoginFormData();
5290 AppLogDebug("Cookie cleared success");
5294 AppLogDebug("Cache cleared fail");
5300 MainForm::findDistance(int x1,int y1,int x2, int y2)
5302 int deltaX = Math::Abs(x2 - x1);
5303 int deltaY = Math::Abs(y2 - y1);
5304 double num = deltaX*deltaX + deltaY*deltaY;
5310 for (i = 0; i < 20; i++)
5312 x = (((x*x)+ num)/(2*x));
5323 MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5325 AppLog("xyz:: MainForm::OnTouchPressed called");
5326 if(__pFindWordControl)
5328 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
5329 // ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
5331 __isLongPressedDone = false;
5336 IList* pList = null;
5337 pList = touch.GetTouchInfoListN(source);
5341 int count = pList->GetCount();
5344 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5345 __touchPoint1 = pTouchInfo->position;
5347 /*if (__pAddressbar != null)
5349 if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && __pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5351 if (__pAddressbar->GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5353 __pAddressbar->SaveAddressbarEditText();
5355 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5358 __pAddressbar->Invalidate(true);
5360 if (GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5362 if (GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5364 //__pAddressbar->SaveAddressbarEditText();
5366 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5369 else if (count == 2)
5371 AppLogDebug("MainForm::OnTouchPressed count is two");
5372 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5373 __touchPoint1 = pTouchInfo->position;
5375 pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(1));
5376 __touchPoint2 = pTouchInfo->position;
5381 pList->RemoveAll(true);
5386 __pAddressbar->SetShowState(false);
5388 if(__pFooterPanel && __isKeypadOpened == false)
5390 __pFooterPanel->SetShowState(true);
5392 RelayoutControls(false);
5397 MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5399 AppLog("LMN::MainForm::OnTouchMoved entered");
5400 // __currentWordIndex = 0;
5401 __isLongPressedDone = false;
5406 MainForm::MoveUiControls()
5411 MainForm::OnTextValueChanged (const Tizen::Ui::Control &source)
5413 if(&source == dynamic_cast<Control*>(__pFooterUrlField) && __pFooterUrlField != null)
5415 if(__pFooterUrlField->GetTextLength() == 0)
5417 __pFooterUrlField->SetKeypadActionEnabled(false);
5421 __pFooterUrlField->SetKeypadActionEnabled(true);
5424 if (__pFindWordEditField != null && __pFindWordEditField->GetShowState() == true)
5426 __currentSearchStr = __pFindWordEditField->GetText();
5427 if (__currentSearchStr.GetLength() > 0)
5429 __pFindWordCountLabel->SetShowState(true);
5433 // __pFindWordCountLabel->SetShowState(false);
5434 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
5435 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
5438 __pFindWordNext->SetEnabled(false);
5439 __pFindWordPrev->SetEnabled(false);
5440 __pFindWordNext->Invalidate(true);
5441 __pFindWordPrev->Invalidate(true);
5442 __pFindWordCountLabel->SetText(L"0/0");
5443 __pFindWordCountLabel->Invalidate(true);
5445 else if (__pFindWordEditFieldRightToLeft != null && __pFindWordEditFieldRightToLeft->GetShowState() == true)
5447 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
5448 if (__currentSearchStr.GetLength() > 0)
5450 __pFindWordCountLabelRightToLeft->SetShowState(true);
5454 __pFindWordCountLabelRightToLeft->SetShowState(false);
5457 __pFindWordNext->SetEnabled(false);
5458 __pFindWordPrev->SetEnabled(false);
5459 __pFindWordNext->Invalidate(true);
5460 __pFindWordPrev->Invalidate(true);
5461 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
5462 __pFindWordCountLabelRightToLeft->Invalidate(true);
5464 AppLog("__currentSearchStr %ls",__currentSearchStr.GetPointer());
5465 if (__currentSearchStr.GetLength() > 0)
5471 __currentSearchStr = L"aaaaaaaabbbbbbbccccccc";
5473 __currentSearchStr = L"";
5474 AppLogDebug("Enter something");
5479 MainForm::InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus)
5486 MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus)
5488 if(__pWebViewer != null)
5491 AppLog("MainForm::InitMostVisitedSitesView");
5492 result r = E_SUCCESS;
5495 if (__pMostVisitedListView != null)
5497 __pMostVisitedListView->SetShowState(true);
5501 if (__pMostVisitedListView != null)
5503 RemoveControl(__pMostVisitedListView);
5505 if(__pMostVisitedSites != null)
5507 __pMostVisitedSites->RemoveAll(true);
5510 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
5512 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
5513 __webControlHeightF = GetClientAreaBoundsF().height - __pFooterPanel->GetHeightF();
5514 __pMostVisitedListView = new(std::nothrow) ListView();
5516 int height = GetClientAreaBounds().height;
5518 if(__pFooterPanel->GetShowState() == true)
5520 height = height - __pFooterPanel->GetHeight();
5522 if(__pAddressbar->GetShowState() == true)
5524 height -= __pAddressbar->GetHeight();
5527 r = __pMostVisitedListView->Construct(Tizen::Graphics::Rectangle(0,0 , GetClientAreaBounds().width, height),true,false);
5531 delete __pMostVisitedListView;
5532 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
5535 __pMostVisitedListView->SetItemProvider(*this);
5536 __pMostVisitedListView->AddListViewItemEventListener(*this);
5537 __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_VISITED_SITES"));
5538 AddControl(__pMostVisitedListView);
5539 __pMostVisitedListView->UpdateList();
5546 MainForm::GetImagePath(void)
5550 String formattedTime;
5551 DateTime currentTime;
5552 LocaleManager localManager;
5553 SystemTime::GetCurrentTime(TIME_MODE_WALL, currentTime);
5555 localManager.Construct();
5556 Locale locale = localManager.GetSystemLocale();
5557 //Locale locale(LANGUAGE_ENG, COUNTRY_US);
5559 // Get date formatter
5560 DateTimeFormatter* pTimeFormatter = DateTimeFormatter::CreateDateTimeFormatterN(locale, DATE_TIME_STYLE_DEFAULT);
5564 pTimeFormatter->Format(currentTime, formattedTime);
5567 AppLog("current time stamp is %ls", formattedTime.GetPointer());
5568 String delim(L" :");
5569 StringTokenizer strTok(formattedTime, delim);
5572 String str1("GMT+00");
5573 while (strTok.HasMoreTokens())
5575 strTok.GetNextToken(token); // Osp, StringTokenizer, Sample, code
5576 if(token.Equals(str1))
5578 AppLog("token is %ls", token.GetPointer());
5579 imageName.Append(token);
5585 void MainForm::UpdateImageContent(ByteBuffer* aBuffer, String imageName)
5587 result r = E_FAILURE;
5588 AppLog("Content manager 1");
5589 ContentId contentId;
5590 ContentManager contentManager;
5591 r = contentManager.Construct();
5594 AppLog("Content manager update content result %s" ,GetErrorMessage(r));
5597 Tizen::Base::String contentPath = Tizen::System::Environment::GetMediaPath() + L"Downloads/";
5598 Tizen::Io::Directory::Create(contentPath,true);
5599 if(GetLastResult() == E_FILE_ALREADY_EXIST)
5601 AppLog("Already exists");
5603 else if(GetLastResult() == E_SUCCESS)
5605 AppLog("created success");
5607 contentPath.Append(imageName);
5608 contentPath.Append(".jpg");
5609 contentId = contentManager.CreateContent(*aBuffer, contentPath);
5610 ShowIndicatorNotification(L"Download Complete",contentPath);
5611 AppLog("Content manager update content result %s" ,GetErrorMessage(GetLastResult()));
5615 MainForm::ShowIndicatorNotification(const String& messageText, const String& contentPath)
5617 AppLogDebug("ENTER");
5619 NotificationRequest request;
5620 request.SetAlertText(messageText);
5621 request.SetTitleText(L"");
5622 request.SetAppMessage(contentPath);
5623 request.SetOngoingActivityType(ONGOING_ACTIVITY_TYPE_TEXT);
5624 request.SetNotificationStyle(NOTIFICATION_STYLE_THUMBNAIL);
5625 Tizen::App::App* pApp = Tizen::App::App::GetInstance();
5626 String homePath = pApp->GetAppRootPath();
5627 String iconPath = homePath + L"res/screen-density-xhigh/Notification_download_complete.png";
5628 AppLog("The iconPath is : %ls", homePath.GetPointer());
5629 request.SetIconFilePath(iconPath);
5631 Tizen::Shell::NotificationManager notiMgr;
5632 notiMgr.Construct();
5633 notiMgr.NotifyOngoingActivity(request);
5634 AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult()));
5639 MainForm::SetForwardButtonEnabled(bool isEnabled)
5641 __pGoForwardBtn->SetEnabled(isEnabled);
5642 __pGoForwardBtn->Invalidate(true);
5646 MainForm::SetBackButtonEnabled(bool isEnabled)
5648 __pGoBackBtn->SetEnabled(isEnabled);
5649 __pGoBackBtn->Invalidate(true);
5653 MainForm::UpdateProgress(int percentage)
5655 __progressPercentage = percentage;
5656 if (percentage == 0 || percentage == 100)
5658 __isLoadingData = false;
5659 if (percentage == 100)
5661 __isLoadingCompleted = true;
5662 __progressPercentage = 0;
5666 __isLoadingCompleted = false;
5671 __isLoadingData = true;
5673 UpdateProgressBitmap();
5677 MainForm::GetProgress(void)
5679 return __progressPercentage;
5683 MainForm::UpdateProgressBitmap(void)
5685 result r = E_SUCCESS;
5686 if (__pProgressbarLabel == null)
5688 int w = __pProgressbarLabel->GetWidth();
5689 int h = __pProgressbarLabel->GetHeight();
5691 int progressWidth = 0;
5692 Bitmap* pRetBitmap = null;
5694 if (__progressPercentage == 0 || __progressPercentage == 100)
5696 __pProgressbarLabel->SetShowState(false);
5697 __pProgressbarLabel->Invalidate(false);
5702 __pProgressbarLabel->SetShowState(true);
5703 __pProgressbarLabel->Invalidate(false);
5706 r = canvas.Construct(Rectangle(0, 0, w, h));
5710 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
5715 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
5719 pBgBmp->Scale(Dimension(w, h));
5720 canvas.DrawBitmap(Point(0,0), *pBgBmp);
5724 progressWidth = (double) (w) * __progressPercentage / 100;
5725 AppLogDebug("progressWidth: %d", progressWidth);
5726 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
5728 if (pProgressBmp != null)
5730 pProgressBmp->Scale(Dimension(progressWidth, h));
5731 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
5732 delete pProgressBmp;
5735 pRetBitmap = new (std::nothrow) Bitmap();
5737 if (pRetBitmap == null)
5739 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
5743 pRetBitmap->Construct(canvas, canvas.GetBounds());
5745 if (__pProgressbarLabel != null && pRetBitmap != null)
5747 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
5748 __pProgressbarLabel->Invalidate(false);
5751 if (pRetBitmap != null)
5760 MainForm::ReaderClicked()
5762 result r = E_SUCCESS;
5763 ArrayList* pArgList = new(std::nothrow) ArrayList();
5764 if (pArgList != null)
5766 r = pArgList->Construct();
5773 r = pArgList->Add(*new(std::nothrow) String(*__pReaderData));
5780 r = pArgList->Add(*new(std::nothrow) String(__pWebViewer->GetUrl()));
5787 r = pArgList->Add(*new(std::nothrow) String(__pWindowInfo->pageTitle));
5795 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ARTICLE_READER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
5801 void MainForm::SetAddressbarMode(AddressBarMode addMode)
5803 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
5805 __currentAddMode = addMode;
5809 case ADDRESSBAR_MODE_INVALID:
5814 case ADDRESSBAR_MODE_READER:
5816 __pStopBtn->SetShowState(false);
5817 __pRefreshBtn->SetShowState(false);
5818 __pClearBtn->SetShowState(false);
5819 __pReaderBtn->SetShowState(false);
5822 case ADDRESSBAR_MODE_LOADING:
5824 __pRefreshBtn->SetShowState(false);
5825 __pStopBtn->SetShowState(true);
5826 __pClearBtn->SetShowState(false);
5827 __pReaderBtn->SetShowState(false);
5830 case ADDRESSBAR_MODE_LOADING_COMPLETE:
5832 // SetUrl(__pAddressbar->GetUrl());
5834 __pRefreshBtn->SetShowState(true);
5835 __pStopBtn->SetShowState(false);
5836 __pClearBtn->SetShowState(false);
5837 __pReaderBtn->SetShowState(false);
5840 case ADDRESSBAR_MODE_EDIT:
5842 __pRefreshBtn->SetShowState(false);
5843 __pStopBtn->SetShowState(false);
5844 __pReaderBtn->SetShowState(false);
5845 __pClearBtn->SetShowState(true);
5852 OnAddressBarModeChanged();
5855 AddressBarMode MainForm::GetAddressbarMode(void)
5857 return __currentAddMode;
5860 void MainForm::SetUrl(const String& url)
5863 if(__displayUrl.GetLength() > 2048)
5864 __displayUrl.SubString(0,2048,__displayUrl);
5866 if (__pFooterUrlField != NULL)
5868 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
5869 if (removedHttpUrl.IsEmpty() == false)
5871 __pFooterUrlField->SetText(removedHttpUrl);
5872 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5873 __pAddressbar->SetUrl(__displayUrl);
5877 __pFooterUrlField->SetText(__displayUrl);
5878 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5879 __pAddressbar->SetUrl(__displayUrl);
5881 if(__pFooterUrlField)
5882 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
5883 __pFooterUrlField->Invalidate(false);
5884 if(__pAddressbar != NULL && __pAddressbar->HasFocus())
5885 __pAddressbar->Invalidate(true);
5886 // __pFooterUrlField->SetCursorPosition(0);
5891 MainForm::RemoveHttpTextFromDisplayURL(void)
5893 AppLog("MainForm::RemoveHttpTextFromDisplayURL __displayUrl %ls",__displayUrl.GetPointer());
5895 // bool isHttpText = __displayUrl.Contains(L"http://");
5896 String updatedDisplayUrl;
5897 updatedDisplayUrl.Clear();
5898 if(__displayUrl.IndexOf(L"http://",0,index) == E_SUCCESS && index == 0)
5900 __displayUrl.SubString(7,updatedDisplayUrl);
5902 else if(__displayUrl.IndexOf(L"https://",0,index) == E_SUCCESS && index == 0)
5904 __displayUrl.SubString(8,updatedDisplayUrl);
5906 return updatedDisplayUrl;
5909 void MainForm::OnSharePopupControlStarted(void)
5911 __pWebViewer->AddTouchEventListener(*this);
5915 MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
5917 if (requestId == UPDATE_MAINFORM_FOOTER_ON_WINDOWCLOSED)
5919 AppLog("OnWebWindowCloseRequested mainform test 1 OnUserEventReceivedN");
5922 else if (requestId == BACK_GROUND_APP_EVENT)
5924 if(__pWebViewer != null)
5926 __pWebViewer->Pause();
5930 __pImageMenu->SetShowState(false);
5932 if(__pAddressbar != null)
5934 __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL);
5937 else if(requestId == FORE_GROUND_APP_EVENT)
5939 if(__pWebViewer != null)
5941 __pWebViewer->Resume();
5943 if(__pAddressbar != null)
5945 __pAddressbar->SendUserEvent(FORE_GROUND_APP_EVENT,NULL);
5951 MainForm::AddressBarCancelledClicked(const Addressbar& addBar)
5953 AppLog("XYZ::MainForm::AddressBarCancelledClicked");
5954 result r = E_SUCCESS;
5957 __pAddressbar->SetShowState(false);
5959 AppLog("akjshdasd 5");
5960 __pFooterPanel->SetShowState(true);
5963 __pWebViewer->SetFocus();
5964 else if(__pMostVisitedListView)
5965 __pMostVisitedListView->SetFocus();
5966 else if(__pMultiWindowButton)
5967 __pMultiWindowButton->SetFocus();
5968 else if(__pMoreButton)
5969 __pMoreButton->SetFocus();
5971 __pAddressbar->SetShowState(false);
5973 RelayoutControls(false);
5977 MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
5979 AppLog("MainForm::OnFormMenuRequested called");
5981 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer && __pWebViewer->GetShowState() == true)
5983 int bookmarkCount=0;
5986 url=__pWindowInfo->pageUrl;
5987 AppLog("MainForm::OnFormMenuRequested url %ls",url.GetPointer());
5988 result r = E_SUCCESS;
5989 Bitmap* pBitmap = null;
5990 String lastChar = L"";
5991 // if(url.SubString(url.GetLength()-1,lastChar));
5992 // if(lastChar == L"/")
5994 // bool exist1 = false;
5995 // bool exist2 = false;
5996 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist1);
5997 // url.SubString(0,url.GetLength() - 1,url);
5998 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist2);
5999 // exist = exist1 | exist2;
6003 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
6006 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
6012 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
6016 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
6018 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
6020 if (__pOptionMenu->GetItemCount() == 9)
6022 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
6026 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
6031 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
6035 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
6036 if (__pOptionMenu->GetItemCount() != 9)
6038 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
6039 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
6040 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
6041 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
6042 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
6043 __pOptionMenu->SetMaxVisibleItemsCount(6);
6045 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
6047 AppLog(" Orientation landscape");
6048 __pOptionMenu->SetMaxVisibleItemsCount(5);
6052 AppLog(" Orientation potrait");
6053 __pOptionMenu->SetMaxVisibleItemsCount(6);
6056 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
6059 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
6061 __pAddressbar->SetShowState(false);
6063 __pFooterPanel->SetShowState(true);
6064 result r = __pOptionMenu->SetShowState(true);
6065 AppLog("ajsghd %s",GetErrorMessage(r));
6066 RelayoutControls(false);
6067 __pOptionMenu->Invalidate(true);
6068 __pOptionMenu->Show();