2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
17 //!Internet MainForm class
19 *@brief: The %MainForm provides the common functionalities for the Main View of the Browser including the addressbar,
20 * loading,handling events etc.
24 #include <FGraphics.h>
29 //#include <FShellNotificationManager.h>
31 #include "IntBookmarkData.h"
32 #include "IntBookmarkPresentationModel.h"
33 #include "IntCommonLib.h"
34 #include "IntFaviconManager.h"
35 #include "IntInternetApp.h"
36 #include "IntMainForm.h"
37 #include "IntSceneRegister.h"
38 #include "IntSettingPresentationModel.h"
40 using namespace Tizen::App;
41 using namespace Tizen::Base;
42 using namespace Tizen::Base::Collection;
43 using namespace Tizen::Base::Runtime;
44 using namespace Tizen::Base::Utility;
45 using namespace Tizen::Graphics;
46 using namespace Tizen::Io;
47 using namespace Tizen::Locales;
48 using namespace Tizen::Media;
49 using namespace Tizen::Shell;
50 using namespace Tizen::Ui;
51 using namespace Tizen::Ui::Controls;
52 using namespace Tizen::Content;
53 using namespace Tizen::Ui::Scenes;
54 using namespace Tizen::System;
55 using namespace Tizen::Web;
56 using namespace Tizen::Web::Controls;
58 static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.#.png";
59 static const wchar_t* IDB_FINDWORD_INPUT_FIELD_BG = L"I01_toolbar_input_field_findword.#.png";
60 static const wchar_t* IDB_BTN_BACK = L"I01_icon_Back.png";
61 static const wchar_t* IDB_BTN_BACK_PRESS = L"I01_icon_Back_press.png";
62 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK = L"I01_search_list_icon_favorite.png";
63 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK_PRESS = L"I01_search_list_icon_favorite_press.png";
64 static const wchar_t* IDB_CONTRLBAR_ICON_MORE = L"I01_icon_more.png";
65 static const wchar_t* IDB_CONTRLBAR_ICON_MORE_PRESS = L"I01_icon_more_press.png";
66 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW = L"I01_icon_plus.png";
67 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW_PRESS = L"I01_icon_plus_press.png";
68 static const wchar_t* IDB_CONTROLBAR_ICON_CREATE_DISABLE = L"I01_controlbar_icon_create_disable.png";
69 static const wchar_t* IDB_BUTTON_ON = L"00_button_on.png";
70 static const wchar_t* IDB_BUTTON_OFF = L"00_button_off.png";
71 static const wchar_t* IDB_ICON_BOOKMARK_OFF_TEMP =L"00_icon_favorite_off_74x74.png";
72 static const wchar_t* IDB_ICON_BOOKMARK_ON_TEMP = L"00_icon_favorite_on_74x74.png";
73 static const wchar_t* IDS_TIZEN_SERVICE = L"tizen-service";
74 static const wchar_t* IDS_APPID = L"AppID";
75 static const wchar_t* IDS_KEY = L"key";
76 static const wchar_t* IDS_VALUE = L"value";
77 static const wchar_t* IDB_TITLE_PROGRESS_BAR_BG = L"I01_title_progress_bar_bg.png";
78 static const wchar_t* IDB_TITLE_PROGRESS_BAR = L"I01_title_progress_bar.png";
79 //static const wchar_t* IDB_ADDRESS_BAR_BACKGROUND = L"I01_toolbar_bg_02.9.png";
81 const int IDA_BACKBTN_CLICKED = 101;
82 const int IDA_BOOKMARKBTN_CLICKED = 102;
83 const int IDA_MOREBTN_CLICKED = 103;
84 const int IDA_MULTIWINDOWBTN_CLICKED = 104;
85 const int IDA_NEWWINDOWBTN_CLICKED = 105;
86 const int IDA_FORWARD_CLICKED = 106;
87 const int IDA_ADDTOBOOKMARK_CLICKED = 107;
88 const int IDA_SHARE_CLICKED = 108;
89 const int IDA_FINDONPAGE_CLICKED = 109;
90 const int IDA_PRIVATEON_CLICKED = 110;
91 const int IDA_SETTINGS_CLICKED = 111;
92 const int IDA_READER_CLOSE_CLICKED = 112;
93 const int IDA_SMALLFONT_BTN_CLICKED = 113;
94 const int IDA_LARGEFONT_BTN_CLICKED = 114;
95 const int IDA_BRIGHTNESS_BTN_CLICKED = 115;
96 const int IDA_HISTORY_CLICKED = 116;
97 const int IDA_ADD_TO_BOOKMARKBTN_CLICKED = 117;
98 const int IDA_ADD_TO_HOME_CLICKED = 118;
99 const int IDA_SAVED_PAGES_CLICKED = 119;
100 const int IDA_DESKTOP_VIEW_CLICKED = 120;
101 const int IDA_SAVE_CLICKED = 121;
102 const int IDA_PRINT_CLICKED = 122;
104 const int IDA_FINDWORD_SEARCH_CLICKED = 201;
105 const int IDA_FINDWORD_NEXT_CLICKED = 202;
106 const int IDA_FINDWORD_PREV_CLICKED = 203;
107 const int IDA_FINDWORD_CLEAR_CLICKED = 204;
108 const int IDA_FINDWORD_CANCEL_CLICKED = 205;
110 const int IDA_COPY_IMAGE_CLICKED = 206;
111 const int IDA_VIEW_IMAGE_CLICKED = 207;
112 const int IDA_SAVE_IMAGE_CLICKED = 208;
113 const int IDA_SHARE_IMAGE_CLICKED = 209;
115 const int IDA_COPY_TEXT_CLICKED = 210;
116 const int IDA_PASTE_TEXT_CLICKED = 211;
117 const int IDA_FIND_TEXT__CLICKED = 212;
118 const int IDA_SHARE_TEXT_CLICKED = 213;
120 const int IDA_GO_BACK = 214;
121 const int IDA_GO_FORWARD = 215;
122 const int IDA_REFRESH_BTN_CLICKED = 216;
123 const int IDA_STOP_BTN_CLICKED = 217;
124 const int IDA_CLEAR_URL = 218;
125 const int IDA_READER_BTN_CLICKED = 219;
128 const int IDA_HYPERLINK_OPEN_CLICKED = 220;
129 const int IDA_HYPERLINK_COPY_LINK_CLICKED = 221;
130 const int IDA_HYPERLINK_SAVE_IMAGE_CLICKED = 222;
131 const int IDA_HYPERLINK_SHARE_IMAGE_CLICKED = 223;
133 const int IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED = 224;
135 const int DEFAULT_PROGRESS_PERCENTAGE = 10;
137 const int MainForm::IDA_FORMAT_BITMAP = 500;
138 const int MainForm::IDA_FORMAT_DELETE_BITMAP = 501;
139 const int MainForm::IDA_FORMAT_TITLE_STRING = 502;
140 const int MainForm::IDA_FORMAT_URL_STRING = 503;
141 const int MainForm::IDA_CONTEXT_ITEM_DELETE = 504;
143 static const int WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT = 336;
144 static const int WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE = 800;
145 static const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
147 static const wchar_t* APPCONTROL_OPERATION_ID_IMAGE_VIEWER = L"http://tizen.org/appcontrol/operation/view";
148 MainForm::MainForm(void)
150 __isLongPressedDone = false;
152 __pAddressbar = null;
153 // __pMostVisitedSitesPanel = null;
154 __pMostVisitedListView = null;
155 __pFooterPanel = null;
156 __pHitElementResult = null;
157 __pWindowInfo = null;
160 __pOptionMenu = null;
161 __pFindWordControl = null;
162 __pFindWordPanelLeftToRight = null;
163 __pFindWordPanelRightToLeft = null;
164 __pFindWordBgLabel = null;
165 __pFindWordBgLabelRightToLeft = null;
166 __pFindWordEditField = null;
167 __pFindWordEditFieldRightToLeft = null;
168 __pFindWordClear = null;
169 __pFindWordClearRightToLeft = null;
170 __pFindWordCountLabel = null;
171 __pFindWordClearRightToLeft = null;
172 __pFindWordNext = null;
173 __pFindWordPrev = null;
174 __previousZoomLevel = 1.0;
176 __currentAddMode = ADDRESSBAR_MODE_LOADING_COMPLETE;
179 __currentSearchStr = L"";
180 __currentSelectedStr = L"";
181 __maxOccurrances = 0;
182 __currentWordIndex = 0;
185 //__inputEventToBeSupressed = false;
186 __isLoadingData = false;
187 __isLoadingCompleted = false;
188 __progressPercentage = 0;
189 __touchPoint1 = Point(-1,-1);
190 __touchPoint2 = Point(-1,-1);
191 __longPressPoint = Point(-1,-1);
193 // __pReaderPopup = null;
194 __pReaderData = null;
196 __pReaderCloseBtn = null;
197 //__pNewWindowButton = null;
198 __pMoreButton = null;
199 __pMultiWindowButton = null;
200 __pArticleReaderPanel = null;
201 __pBlankPanel = null;
202 __pArticleReaderLabel = null;
203 __webControlHeight = 0;
204 __prevAddressBarMode = ADDRESSBAR_MODE_INVALID;
205 __curAddressBarMode = ADDRESSBAR_MODE_INVALID;
206 __pMostVisitedSites = null;
207 __pFooterUrlField = null;
209 __pGoForwardBtn = null;
210 __pRefreshBtn = null;
211 __pProgressbarLabel = null;
212 __pFooterLabel = null;
216 __isKeypadOpened = false;
218 __pNotification = null;
221 MainForm::~MainForm(void)
223 SettingPresentationModel::GetInstance()->RemoveSettingsEventListener(*this);
227 __pAddressbar->SetAddressbarEventListener(null);
230 if(__pHistory != null)
236 if (__pReaderData != null)
238 delete __pReaderData;
239 __pReaderData = null;
242 if (__pPopUp != null)
248 if (__pHitElementResult != null)
250 delete __pHitElementResult;
251 __pHitElementResult = null;
255 delete __pOptionMenu;
256 __pOptionMenu = null;
259 String* pSelectedScene = NULL;
260 Object* pValue = NULL;
261 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
262 pSelectedScene = (String*) pValue;
264 /*if (pSelectedScene != null)
266 delete pSelectedScene;
268 MultiWindowPresentationModel::SetValue(SELECTED_SCENE_ID, null);*/
272 MainForm::Initialize(void)
274 Construct(L"IDL_FORM");
276 // SetFormStyle(FORM_STYLE_NORMAL | FORM_STYLE_INDICATOR | FORM_STYLE_FOOTER);
281 MainForm::OnInitializing(void)
283 AppLog("get client area width = %d",GetClientAreaBounds().width);
284 AppLog("get client area height = %d",GetClientAreaBounds().height);
285 const int WIDTH_CONTEXT_MENU_BUTTON = 336;
286 const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
288 __fontSize = CommonUtil::GetFontSize();
289 Panel* pFooterPanel = null;
291 __pSaveImage = new Image();
292 __pSaveImage->Construct();
294 // Setup back event listener
295 SettingPresentationModel::GetInstance()->AddSettingsEventListener(*this);
296 SceneManager::GetInstance()->AddSceneEventListener(IDSCN_MAIN_VIEW, *this);
297 AddOrientationEventListener(*this);
299 AppLogDebug(" MainForm::OnInitializing ended");
300 if (__pMostVisitedSites == null)
302 __pMostVisitedSites = new(std::nothrow) ArrayList();
303 __pMostVisitedSites->Construct();
305 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
307 __pItemContext= new(std::nothrow) ListContextItem();
308 __pItemContext->Construct();
310 __pItemContext->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"),true);
313 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR);
314 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR);
315 __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR);
317 __pItemContextLandscape= new(std::nothrow) ListContextItem();
318 __pItemContextLandscape->Construct();
320 __pItemContextLandscape->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), true);
321 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR);
322 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR);
323 __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR);
324 SetFormMenuEventListener(this);
325 AppLog("SetFormMenuEventListener result %s",GetErrorMessage(GetLastResult()));
330 MainForm::InitAddressbar(void)
332 AppLogDebug("MainForm::InitAddressbar entered");
334 result r = E_SUCCESS;
336 if (__pAddressbar != null)
340 __pAddressbar = new(std::nothrow) Addressbar();
341 AppLog("MainForm::InitAddressbar GetClientAreaBounds().width %d",GetClientAreaBounds().width);
342 r = __pAddressbar->Initialize(Tizen::Graphics::Rectangle(0, 0, GetClientAreaBounds().width, 82));
345 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
348 __pAddressbar->SetAddressbarEventListener(this);
349 AddControl(__pAddressbar);
350 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
351 SetControlAlwaysOnTop(*__pAddressbar, true);
352 __adressPanelPosition = __pAddressbar->GetPosition();
354 AppLogDebug("MainForm::InitAddressbar exit");
360 MainForm::CreateReaderPanel(void)
362 AppLogDebug("CreateReaderPanel() width %d",GetClientAreaBounds().width);
363 result r = E_FAILURE;
365 Button *pSmallFontBtn = null;
366 Button *pLargeFontBtn = null;
368 __pBlankPanel = new (std::nothrow) Panel();
369 __pBlankPanel->Construct(L"IDL_BLANK_PANEL");
371 __pArticleReaderPanel = new (std::nothrow) Panel();
372 __pArticleReaderPanel->Construct(L"IDL_ARTICLE_READER");
374 __pReaderCloseBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_CLOSE_READER",true));
375 if (__pReaderCloseBtn)
377 AppLogDebug("CreateReaderPanel() 6");
378 __pReaderCloseBtn->AddActionEventListener(*this);
379 __pReaderCloseBtn->SetActionId(IDA_READER_CLOSE_CLICKED);
382 __pWebReader = new (std::nothrow) Web();
383 __pWebReader->Construct(Rectangle(2,2, __pArticleReaderPanel->GetWidth()-2,__pArticleReaderPanel->GetHeight() - 96 -2));
385 settings.SetInputStyle(INPUT_STYLE_OVERLAY);
386 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
388 r = __pWebReader->SetSetting(settings);
390 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
393 __pArticleReaderLabel = new Label();
394 __pArticleReaderLabel->Construct(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()),L"");
396 __pBlankPanel->AddControl(__pArticleReaderLabel);
397 __pBlankPanel->AddControl(__pArticleReaderPanel);
398 AddControl(__pBlankPanel);
400 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
401 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
402 __pArticleReaderLabel->SetBounds(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
404 __pArticleReaderPanel->AddControl(__pWebReader);
405 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth()-2,__pArticleReaderPanel->GetHeight() - 96 -2));
406 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
407 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
409 if (pBitmap != null && pSrcBitmap != null)
411 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
413 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
415 pSmallFontBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_SMALL_FONT",true));
418 pSmallFontBtn->AddActionEventListener(*this);
419 pSmallFontBtn->SetActionId(IDA_SMALLFONT_BTN_CLICKED);
422 pLargeFontBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_LARGE_FONT",true));
425 pLargeFontBtn->AddActionEventListener(*this);
426 pLargeFontBtn->SetActionId(IDA_LARGEFONT_BTN_CLICKED);
435 if (pSrcBitmap != null)
441 SetControlAlwaysOnTop(*__pBlankPanel, true);
442 //__pBlankPanel->SetControlAlwaysAtBottom(*__pArticleReaderPanel, true);
449 MainForm::InitWebControl()
451 AppLogDebug("MainForm::InitWebControl enter");
452 result r = E_SUCCESS;
453 AppLogDebug("InitWebControl");
455 if (__pAddressbar == null || __pFooterPanel == null)
458 const int Y_WEBCONTROL_POSITION = 0;
460 __webControlHeight = GetHeight() - __pFooterPanel->GetHeight();
462 if (__pMostVisitedListView)
464 __pMostVisitedListView->SetShowState(false);
466 if (__pWebViewer != null)
468 AppLogDebug("Already initialized");
471 __pWebViewer = new(std::nothrow) Web();
472 if(__pWebViewer == NULL)
474 AppLogDebug("Initialization failed");
477 AppLog("GetClientAreaBounds().width %d",GetClientAreaBounds().width);
478 r = __pWebViewer->Construct(Rectangle(0, Y_WEBCONTROL_POSITION, GetClientAreaBounds().width,__webControlHeight + 12));
482 AppLogDebug("Web construct failed with %s", GetErrorMessage(r));
489 r = AddControl(__pWebViewer);
492 __pWebViewer->Destroy();
494 AppLogDebug("Web addcontrol failed with %s", GetErrorMessage(r));
497 __webControlPosition = __pWebViewer->GetPosition();
498 r = __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
501 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
505 __pWebViewer->SetLoadingListener(this);
506 __pWebViewer->SetWebUiEventListenerF(this);
507 __pWebViewer->SetWebKeypadEventListener(this);
508 __pWebViewer->SetFocus();
509 __pWebViewer->AddTouchEventListener(*this);
511 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
512 __pWebViewer->SetTextSearchListener(this);
515 AppLogDebug("MainForm :before return");
517 AppLogDebug("MainForm::InitWebControl Exit");
523 MainForm::SetJavascriptEnabled()
525 WebSetting settings = __pWebViewer->GetSetting();
526 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
527 __pWebViewer->SetSetting(settings);
531 MainForm::SetImageLoadEnabled()
533 WebSetting settings = __pWebViewer->GetSetting();
534 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
535 __pWebViewer->SetSetting(settings);
539 MainForm::InitFooter(void)
541 AppLogDebug("MainForm::InitFooter entered");
542 Button* pBackButton = null;
543 Button* pBookmarkButton = null;
544 Button* pMultiWindowButton = null;
545 Bitmap *pIconBitmap = null;
546 Bitmap *pBGBitmap = null;
547 Label *pBGLabel = null;
549 if (__pFooterPanel == null)
551 __pFooterPanel = static_cast< Panel* >(GetControl(L"IDC_FOOTER_PANEL", true));
554 if (__pFooterPanel == null)
559 SetControlAlwaysOnTop(*__pFooterPanel, true);
561 __pFooterLabel = static_cast< Label* >(GetControl(L"IDC_FOOTER_LABEL", true));
562 if ( __pFooterLabel == NULL )
566 //__pFooterPanel->SetBackgroundColor(CUSTOM_COLOR_TRANSPARENT);
567 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
570 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
574 __pMultiWindowButton = static_cast< Button* >(GetControl(L"IDC_MULTIWINDOW_BUTTON", true));
576 if ( __pMultiWindowButton == NULL )
582 SetFormBackEventListener(this);
583 AppLog("SetFormBackEventListener result %s",GetErrorMessage(GetLastResult()));
584 if (__pMultiWindowButton != null)
586 Bitmap* pBitmap = null;
587 Bitmap* pPressedBitmap = null;
588 String imagePath = "I01_toolbar_icon_windows_manager_0";
589 String pressedImagePath = "I01_toolbar_icon_windows_manager_0";
590 int totalCount = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount();
591 imagePath.Append(totalCount);
592 imagePath.Append(".png");
594 pressedImagePath.Append(totalCount);
595 pressedImagePath.Append("_press.png");
597 pBitmap = AppResource::GetInstance()->GetBitmapN(imagePath);
598 pPressedBitmap = AppResource::GetInstance()->GetBitmapN(pressedImagePath);
599 if ( pBitmap == null )
604 Point startPoint = Point((__pMultiWindowButton->GetWidth() - pBitmap->GetWidth())/2,(__pMultiWindowButton->GetHeight() - pBitmap->GetHeight())/2);
607 __pMultiWindowButton->SetNormalBitmap(startPoint, *pBitmap);
608 __pMultiWindowButton->SetPressedBitmap(startPoint, *pPressedBitmap);
613 __pMultiWindowButton->AddActionEventListener(*this);
614 __pMultiWindowButton->SetActionId(IDA_MULTIWINDOWBTN_CLICKED);
617 delete pPressedBitmap;
618 pPressedBitmap = null;
624 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE);
625 Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE_PRESS);
628 Point startPoint((__pMoreButton->GetWidth() - pBitmap->GetWidth())/2,(__pMoreButton->GetHeight() - pBitmap->GetHeight())/2 );
629 __pMoreButton->SetNormalBitmap(startPoint, *pBitmap);
630 __pMoreButton->SetPressedBitmap(startPoint, *pPressedBitmap);
634 __pMoreButton->AddActionEventListener(*this);
635 __pMoreButton->SetActionId(IDA_MOREBTN_CLICKED);
638 //Add the editfield for url
639 __pFooterUrlField = static_cast<EditField*> (GetControl(L"IDC_URL_EDIT_FIELD",true));
640 if (__pFooterUrlField == NULL)
642 return E_INVALID_KEY;
645 __pFooterUrlField->SetOverlayKeypadCommandButtonVisible(false);
646 __pFooterUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
647 __pFooterUrlField->AddKeypadEventListener(*this);
648 __pFooterUrlField->SetPropagatedTouchEventListener(this);
649 __pFooterUrlField->AddFocusEventListener(*this);
651 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
653 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
655 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
657 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_BLANK_PAGE"));
661 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
662 __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
666 //Add the go Back Button
667 __pGoBackBtn = static_cast<Button*> (GetControl(L"IDC_PAGEBACK_BUTTON",true));
668 if (__pGoBackBtn == NULL)
670 AppLogDebug("__pGoBackBtn Control not found returning E_INVALID_KEY");
671 return E_INVALID_KEY;
673 __pGoBackBtn->SetActionId(IDA_GO_BACK);
674 __pGoBackBtn->AddActionEventListener(*this);
676 //Add the go forward Button
677 __pGoForwardBtn = static_cast<Button*> (GetControl(L"IDC_PAGEFORWARD_BUTTON",true));
678 if (__pGoForwardBtn == NULL)
680 AppLogDebug("Control not found returning E_INVALID_KEY");
681 return E_INVALID_KEY;
683 __pGoForwardBtn->SetActionId(IDA_GO_FORWARD);
684 __pGoForwardBtn->AddActionEventListener(*this);
685 if (__pWebViewer && __pWebViewer->CanGoForward())
687 SetForwardButtonEnabled(true);
691 SetForwardButtonEnabled(false);
694 __pRefreshBtn = static_cast<Button*> (GetControl(L"IDC_REFRESH_BUTTON",true));
695 if (__pRefreshBtn == NULL)
697 AppLogDebug("Control not found returning E_INVALID_KEY");
698 return E_INVALID_KEY;
701 __pRefreshBtn->SetActionId(IDA_REFRESH_BTN_CLICKED);
702 __pRefreshBtn->AddActionEventListener(*this);
703 __pRefreshBtn->SetShowState(true);
705 //Add the backround label for displaying progressbar
706 __pProgressbarLabel = static_cast<Label*> (GetControl(L"IDC_PROGRESS_BAR_LABEL",true));
707 if (__pProgressbarLabel == NULL)
709 AppLogDebug("__pProgressbarLabel Control not found returning E_INVALID_KEY");
710 return E_INVALID_KEY;
712 __pProgressbarLabel->SetShowState(false);
714 __pStopBtn = static_cast<Button*> (GetControl(L"IDC_STOP_BUTTON",true));
715 if (__pStopBtn == NULL)
717 AppLogDebug("Control not found returning E_INVALID_KEY");
718 return E_INVALID_KEY;
720 __pStopBtn->SetActionId(IDA_STOP_BTN_CLICKED);
721 __pStopBtn->AddActionEventListener(*this);
722 __pStopBtn->SetShowState(false);
724 __pClearBtn = static_cast<Button*> (GetControl(L"IDC_CLEAR_BUTTON",true));
725 if (__pClearBtn == NULL)
727 AppLogDebug("Control not found returning E_INVALID_KEY");
728 return E_INVALID_KEY;
730 __pClearBtn->SetActionId(IDA_CLEAR_URL);
731 __pClearBtn->AddActionEventListener(*this);
732 __pClearBtn->SetShowState(false);
734 __pReaderBtn = static_cast<Button*> (GetControl(L"IDC_READER_BUTTON",true));
735 if (__pReaderBtn == NULL)
737 AppLogDebug("Control not found returning E_INVALID_KEY");
738 return E_INVALID_KEY;
740 __pReaderBtn->SetActionId(IDA_READER_BTN_CLICKED);
741 __pReaderBtn->AddActionEventListener(*this);
742 __pReaderBtn->SetShowState(false);
744 // __pFooterPanel->Invalidate(true);
745 if(__isKeypadOpened == false && __pAddressbar && __pAddressbar->GetShowState() == false)
747 // AppLog("asdasdasdasda");
748 __pFooterPanel->SetShowState(true);
750 else if(__pAddressbar == null)
752 __pFooterPanel->SetShowState(true);
755 __pFooterPanel->SetShowState(false);
757 SetAddressbarMode(GetAddressbarMode());
758 AppLogDebug("MainForm::InitFooter exit");
763 MainForm::InitOptionMenu()
765 result r = E_SUCCESS;
766 bool isPrivateBrowsing = false;
767 Bitmap* pBitmap = null;
769 if (__pOptionMenu != null)
771 __pOptionMenu->SetFocusable(true);
772 __pOptionMenu->Invalidate(true);
776 __pOptionMenu = new(std::nothrow) OptionMenu();
777 r = __pOptionMenu->Construct();
778 TryCatch(!IsFailed(r),,"Contextmenu creation failed with%s",GetErrorMessage(r));
780 __pOptionMenu->SetFocusable(true);
781 isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
784 if (isPrivateBrowsing == true)
786 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
790 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
793 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_BOOKMARK"), IDA_BOOKMARKBTN_CLICKED);
795 if ( pBitmap != NULL)
797 __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"), IDA_PRIVATEON_CLICKED,*pBitmap);
800 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_BR_TAB_HISTORY"), IDA_HISTORY_CLICKED);
801 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_BRIGHTNESS"), IDA_BRIGHTNESS_BTN_CLICKED);
802 r = __pOptionMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_SETTINGS"), IDA_SETTINGS_CLICKED);
805 __pOptionMenu->SetMaxVisibleItemsCount(6);
806 __pOptionMenu->SetShowState(false);
807 __pOptionMenu->AddActionEventListener(*this);
808 SetControlAlwaysOnTop(*__pOptionMenu, true);
814 result MainForm::InitImageContextMenu(Tizen::Graphics::Point p)
816 result r = E_SUCCESS;
817 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
819 AppLog("MainForm::InitImageContextMenu clicked on image");
820 if (__pImageMenu != null)
825 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
830 __pImageMenu = new (std::nothrow) ContextMenu();
831 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
832 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
834 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_IMAGE"),IDA_COPY_IMAGE_CLICKED);
835 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_VIEW_IMAGE"),IDA_VIEW_IMAGE_CLICKED);
836 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_SAVE_IMAGE_CLICKED);
837 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_IMAGE_CLICKED);
838 __pImageMenu->SetMaxVisibleItemsCount(4);
839 __pImageMenu->AddActionEventListener(*this);
840 SetControlAlwaysOnTop(*__pImageMenu, true);
841 __pImageMenu->SetFocusable(true);
847 MainForm::InitImageLinkContextMenu(Tizen::Graphics::Point p)
849 result r = E_SUCCESS;
850 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
852 AppLog("MainForm::InitImageContextMenu clicked on image");
853 if (__pImageMenu != null)
859 // if(__pAddressbar->GetShowState() == true)
860 // p.y = p.y + __pAddressbar->GetHeight();
861 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
866 __pImageMenu = new (std::nothrow) ContextMenu();
867 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
868 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
870 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_OPEN_IN_NEW_WINDOW"),IDA_HYPERLINK_OPEN_CLICKED);
871 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_LINK_URL"),IDA_HYPERLINK_COPY_LINK_CLICKED);
872 //r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_HYPERLINK_SAVE_IMAGE_CLICKED);
873 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_HYPERLINK_SHARE_IMAGE_CLICKED);
875 __pImageMenu->SetMaxVisibleItemsCount(3);
876 __pImageMenu->AddActionEventListener(*this);
877 SetControlAlwaysOnTop(*__pImageMenu, true);
878 __pImageMenu->SetFocusable(true);
885 MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOption = false)
887 result r = E_SUCCESS;
888 bool clipboardAvailable = true;
889 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
891 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
892 if (__pImageMenu != null)
898 // __pWebViewer->GetBlockRange(p,q);
903 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
907 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
911 Clipboard* pClipboard = Clipboard::GetInstance();
913 if(pClipboard == null)
915 clipboardAvailable = false;
919 // Retrieves a latest item
920 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
924 clipboardAvailable = false;
928 //Gets data from the clipboard item
929 String* pString = dynamic_cast<String*>(pItem->GetData());
933 clipboardAvailable = false;
937 if(clipboardAvailable == false && onlyPasteOption == true)
942 __pImageMenu = new (std::nothrow) ContextMenu();
943 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
944 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
946 if(onlyPasteOption == false)
948 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
950 if ((pasteOption || onlyPasteOption) && clipboardAvailable == true)
952 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
954 if(onlyPasteOption == false)
956 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
957 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
960 __pImageMenu->SetMaxVisibleItemsCount(3);
961 __pImageMenu->AddActionEventListener(*this);
962 SetControlAlwaysOnTop(*__pImageMenu, true);
963 __pImageMenu->SetFocusable(true);
970 MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPasteOption = false)
972 result r = E_SUCCESS;
973 bool clipboardAvailable = true;
974 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
976 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
977 if (__pImageMenu != null)
982 // FloatPoint q(0.0,0.0);
983 // __pWebViewer->GetBlockRange(p,q);
987 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
989 else if(__pWebViewer != null && (p.y > (__pWebViewer->GetHeight() + __pWebViewer->GetY())))
991 p.y = __pWebViewer->GetHeight() + __pWebViewer->GetY();
995 if(GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE )
997 AppLog("asdasdafdsfdgfd");
1000 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
1004 Clipboard* pClipboard = Clipboard::GetInstance();
1006 if(pClipboard == null)
1008 clipboardAvailable = false;
1012 // Retrieves a latest item
1013 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
1017 clipboardAvailable = false;
1021 //Gets data from the clipboard item
1022 String* pString = dynamic_cast<String*>(pItem->GetData());
1026 clipboardAvailable = false;
1030 if(clipboardAvailable == false && onlyPasteOption == true)
1034 __pImageMenu = new (std::nothrow) ContextMenu();
1035 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
1036 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
1042 if(onlyPasteOption == false)
1044 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
1046 if ((pasteOption || onlyPasteOption) && clipboardAvailable == true)
1048 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
1050 if(onlyPasteOption == false)
1052 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
1053 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
1056 __pImageMenu->SetMaxVisibleItemsCount(3);
1057 __pImageMenu->AddActionEventListener(*this);
1058 SetControlAlwaysOnTop(*__pImageMenu, true);
1059 __pImageMenu->SetFocusable(true);
1066 MainForm::InitFindWordPanel(void)
1068 result r = E_SUCCESS;
1069 Bitmap *pIconBitmap = null;
1071 if (__pFindWordControl != null)
1073 AppLogDebug("Findword panel already initialized");
1074 if (__pFindWordBgLabel != null)
1076 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1077 if (pBitmap != null)
1079 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
1083 if (__pFindWordBgLabelRightToLeft != null)
1085 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
1086 if (pBitmap != null)
1088 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
1093 __pAddressbar->SetShowState(false);
1095 if(__isKeypadOpened == false)
1096 __pFooterPanel->SetShowState(true);
1100 __pFindWordControl = new (std::nothrow) Panel();
1101 r = __pFindWordControl->Construct(L"IDL_FIND_ON_PAGE");
1104 AppLogException("There is some problem in the xml file. Please check.");
1107 AddControl(__pFindWordControl);
1108 __pFindWordControl->SetBounds(0,0, __pFindWordControl->GetWidth(), __pFindWordControl->GetHeight());
1109 SetControlAlwaysOnTop(*__pFindWordControl,true);
1110 __pFindWordControl->SetShowState(false);
1111 __pFindWordControl->Invalidate(false);
1113 __pFindWordPanelLeftToRight = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1114 __pFindWordPanelLeftToRight->SetShowState(true);
1116 __pFindWordPanelRightToLeft = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL2", true));
1117 __pFindWordPanelRightToLeft->SetShowState(false);
1119 __pFindWordBgLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL1", true));
1120 if (__pFindWordBgLabel != null)
1122 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1123 Rectangle pRect = pPanel1->GetBounds();
1124 pRect.x = pRect.y = 0;
1125 __pFindWordBgLabel->SetBounds(pRect);
1126 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1127 if (pBitmap != null)
1129 AppLogDebug("InitFindWordPanel: Coming here");
1130 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
1135 AppLogDebug("InitFindWordPanel: shouldn't Come here");
1139 __pFindWordBgLabelRightToLeft = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL2", true));
1140 if (__pFindWordBgLabelRightToLeft != null)
1142 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
1143 Rectangle pRect = pPanel1->GetBounds();
1144 pRect.x = pRect.y = 0;
1145 __pFindWordBgLabelRightToLeft->SetBounds(pRect);
1146 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
1147 if (pBitmap != null)
1149 AppLogDebug("InitFindWordPanel: Coming here");
1150 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
1155 AppLogDebug("InitFindWordPanel: shouldn't Come here");
1159 Button* pfindWordCancel = null;
1160 pfindWordCancel = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CANCEL", true));
1161 if (pfindWordCancel == null)
1163 AppLogException("There is some problem in the xml file. Please check.");
1166 pfindWordCancel->SetActionId(IDA_FINDWORD_CANCEL_CLICKED);
1167 pfindWordCancel->AddActionEventListener(*this);
1169 __pFindWordClear = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR", true));
1170 if (__pFindWordClear == null)
1172 AppLogException("There is some problem in the xml file. Please check.");
1176 __pFindWordClearRightToLeft = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR2", true));
1177 if (__pFindWordClearRightToLeft == null)
1179 AppLogException("There is some problem in the xml file. Please check.");
1183 __pFindWordClear->SetActionId(IDA_FINDWORD_CLEAR_CLICKED);
1184 __pFindWordClear->AddActionEventListener(*this);
1186 __pFindWordClearRightToLeft->SetActionId(IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED);
1187 __pFindWordClearRightToLeft->AddActionEventListener(*this);
1189 __pFindWordNext = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_NEXT", true));
1190 if (__pFindWordNext == null)
1192 AppLogException("There is some problem in the xml file. Please check.");
1196 __pFindWordNext->SetActionId(IDA_FINDWORD_NEXT_CLICKED);
1197 __pFindWordNext->AddActionEventListener(*this);
1199 __pFindWordPrev = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_PREV", true));
1200 if (__pFindWordPrev == null)
1202 AppLogException("There is some problem in the xml file. Please check.");
1206 __pFindWordPrev->SetActionId(IDA_FINDWORD_PREV_CLICKED);
1207 __pFindWordPrev->AddActionEventListener(*this);
1209 __pFindWordNext->SetEnabled(false);
1210 __pFindWordPrev->SetEnabled(false);
1212 __pFindWordCountLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL", true));
1213 if (__pFindWordCountLabel == null)
1215 AppLogException("There is some problem in the xml file. Please check.");
1219 __pFindWordCountLabelRightToLeft = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL2", true));
1220 if (__pFindWordCountLabelRightToLeft == null)
1222 AppLogException("There is some problem in the xml file. Please check.");
1226 __pFindWordEditField = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD", true));
1227 if (__pFindWordEditField == null)
1229 AppLogException("There is some problem in the xml file. Please check.");
1232 __pFindWordEditField->AddTextEventListener(*this);
1233 __pFindWordEditField->AddKeypadEventListener(*this);
1234 __pFindWordEditField->SetOverlayKeypadCommandButtonVisible(false);
1235 __pFindWordEditField->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
1237 __pFindWordEditFieldRightToLeft = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD2", true));
1238 if (__pFindWordEditFieldRightToLeft == null)
1240 AppLogException("There is some problem in the xml file. Please check.");
1243 __pFindWordEditFieldRightToLeft->AddTextEventListener(*this);
1244 __pFindWordEditFieldRightToLeft->AddKeypadEventListener(*this);
1245 __pFindWordEditFieldRightToLeft->SetOverlayKeypadCommandButtonVisible(false);
1246 __pFindWordEditFieldRightToLeft->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
1249 __pAddressbar->SetShowState(false);
1251 if(__isKeypadOpened == false)
1252 __pFooterPanel->SetShowState(true);
1257 MainForm::CreateItem (int index, int itemWidth)
1259 Rectangle listImageRect;
1260 Rectangle pagetTitleRect;
1261 Rectangle pageURLRect;
1262 Rectangle deleteImageRect;
1263 String pageTitle(L"");
1264 String pageURL(L"");
1265 result r = E_SUCCESS;
1266 Bitmap* pListIconImage = null;
1269 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1270 if(pHistory == null)
1274 AppResource* pAppResource = Application::GetInstance()->GetAppResource();
1275 if ( pAppResource == NULL )
1279 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
1281 CustomItem* pItem = new(std::nothrow) CustomItem();
1282 pageTitle = pHistory->GetHistoryTitle();
1283 pageURL = pHistory->GetHistoryUrl();
1285 if (pageURL.GetLength() == 0)
1288 pAppResource->GetString(L"IDS_BR_BODY_BLANK_PAGE", nourl);
1289 pageURL = L"<"+ nourl +">";
1293 Rectangle screenBounds = GetBounds();
1296 r = pItem->Construct(Dimension(itemWidth, 128 + (__fontSize - 44)), style);
1305 Bitmap* pBitmap = pHistory->GetFavIconBitmap();
1307 if ( pBitmap != NULL)
1309 pListIconImage = new Bitmap();
1310 pListIconImage->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
1314 if(pListIconImage == null)
1316 pListIconImage = pAppResource->GetBitmapN(L"I01_icon_default_favicon.png");
1319 if ( pListIconImage != NULL)
1321 listImageRect.SetBounds(screenBounds.x + 16, screenBounds.y + 28 + (__fontSize - 44)/2 , 72, 72);
1322 pagetTitleRect.SetBounds(listImageRect.x + 72 + 16,10, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 72 + (__fontSize - 44));
1323 pageURLRect.SetBounds(pagetTitleRect.x, pagetTitleRect.y + pagetTitleRect.height, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 48);
1326 if (pItem != null && pListIconImage != NULL)
1328 pItem->AddElement(listImageRect, IDA_FORMAT_BITMAP, *pListIconImage, null, null);
1332 if (pageTitle.CompareTo(L"") != 0)
1336 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, pageTitle, __fontSize, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, true);
1340 if (pageURL.CompareTo(L"") != 0)
1344 pItem->AddElement(pageURLRect, IDA_FORMAT_URL_STRING, pageURL, 32, CUSTOM_COLOR_GREY, CUSTOM_COLOR_LISTVIEW_TEXT, CUSTOM_COLOR_LISTVIEW_TEXT, true);
1349 if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE)
1351 if ( __pItemContext!= NULL)
1355 pItem->SetContextItem(__pItemContext);
1361 if ( __pItemContextLandscape!= NULL)
1365 pItem->SetContextItem(__pItemContextLandscape);
1369 if( pListIconImage != NULL)
1371 delete pListIconImage;
1372 pListIconImage = null;
1379 MainForm::DeleteItem (int index, Tizen::Ui::Controls::ListItemBase *pItem, int itemWidth)
1386 MainForm::GetItemCount (void)
1388 if(__pMostVisitedSites != null)
1390 __pMostVisitedSites->RemoveAll(true);
1392 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
1393 if(__pMostVisitedSites != null)
1395 return __pMostVisitedSites->GetCount();
1402 MainForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
1404 AppLog("MainForm::OnListViewContextItemStateChanged called");
1405 if(__pMostVisitedSites != null)
1407 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1408 if (pHistory != null)
1410 String url = pHistory->GetHistoryUrl();
1412 HistoryPresentationModel::GetInstance()->DeleteHistory(url);
1413 __pMostVisitedListView->UpdateList();
1419 MainForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
1421 AppLog("MainForm::OnListViewItemStateChanged called");
1422 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
1423 String url = pHistory->GetHistoryUrl();
1431 MainForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
1437 MainForm::OnTerminating(void)
1439 result r = E_SUCCESS;
1441 RemoveOrientationEventListener(*this);
1445 __pAddressbar->SetAddressbarEventListener(null);
1450 __pWebViewer->RemoveTouchEventListener(*this);
1451 __pWebViewer->SetWebUiEventListenerF(null);
1452 __pWebViewer->SetWebKeypadEventListener(null);
1453 __pWebViewer->SetTextSearchListener(null);
1459 delete __pItemContext;
1461 if (__pItemContextLandscape)
1463 delete __pItemContextLandscape;
1467 delete __pSaveImage;
1469 if (__pMostVisitedSites)
1471 __pMostVisitedSites->RemoveAll(true);
1472 delete __pMostVisitedSites;
1478 MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
1480 result r = E_SUCCESS;
1482 AppLogDebug("Clicked : %d", actionId);
1485 case IDA_BACKBTN_CLICKED:
1487 if(__pImageMenu && __pImageMenu->GetShowState() == true)
1489 AppLog("Hiding the menu");
1490 __pImageMenu->SetShowState(false);
1492 if (__pWebViewer && __pWebViewer->CanGoBack())
1494 __pWebViewer->GoBack();
1496 else if(__pWindowInfo->isJavascriptInitiated == false)
1499 pApp = UiApp::GetInstance();
1502 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1505 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1513 WindowInfo* pWindowInfo = null;
1515 SceneManager* pSceneManager = SceneManager::GetInstance();
1516 if (pSceneManager == null)
1520 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
1521 if (pAllWindowList == NULL)
1523 pApp = UiApp::GetInstance();
1526 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1529 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1534 if (pAllWindowList != null)
1536 totalCount = pAllWindowList->GetCount();
1538 for (int count = 0; count < totalCount; count++)
1540 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
1541 if (pWindowInfo == null)
1543 pApp = UiApp::GetInstance();
1546 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1549 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1556 if (pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
1558 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
1561 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1564 r = pAllWindowList->RemoveAt(count, true);
1565 __pWindowInfo = null;
1568 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1573 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
1577 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
1579 if (pWindowInfo == null)
1581 pApp = UiApp::GetInstance();
1584 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
1590 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
1591 // r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1594 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
1606 case IDA_FORWARD_CLICKED:
1607 if (__pWebViewer == null)
1610 if (__pWebViewer->CanGoForward())
1612 __pWebViewer->GoForward();
1614 __pOptionMenu->SetShowState(false);
1615 __pOptionMenu->Invalidate(false);
1618 case IDA_FINDONPAGE_CLICKED:
1620 AppLogDebug("MainForm::OnActionPerformed findword clicked");
1621 __currentSearchStr.Clear();
1623 InitFindWordPanel();
1624 __pOptionMenu->SetShowState(false);
1625 __pOptionMenu->Invalidate(false);
1627 ShowFindWordPanel(true);
1629 if(__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
1631 __pFindWordEditField->SetFocus();
1632 // __pFindWordCountLabel->SetShowState(false);
1636 __pFindWordEditFieldRightToLeft->SetFocus();
1637 __pFindWordCountLabelRightToLeft->SetShowState(false);
1641 case IDA_PRIVATEON_CLICKED:
1643 result r = E_SUCCESS;
1645 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
1646 Bitmap* pBitmap = null;
1647 if (isPrivateBrowsing == true)
1649 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
1652 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
1656 if (__pWebViewer != NULL)
1658 __pWebViewer->SetPrivateBrowsingEnabled(false);
1661 SettingPresentationModel::GetInstance()->SetPrivateOn(false);
1663 if (__pAddressbar != null)
1665 __pAddressbar->UpdateFaviconBitmap(false);
1671 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
1674 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
1678 if (__pWebViewer != NULL)
1680 __pWebViewer->SetPrivateBrowsingEnabled(true);
1683 SettingPresentationModel::GetInstance()->SetPrivateOn(true);
1685 if (__pAddressbar != null)
1687 __pAddressbar->UpdateFaviconBitmap(true);
1691 itemIndex = __pOptionMenu->GetItemIndexFromActionId(IDA_PRIVATEON_CLICKED);
1692 r = __pOptionMenu->SetItemAt(itemIndex,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
1693 AppLog("Result:: %s for index = %d", GetErrorMessage(r),itemIndex);
1694 __pOptionMenu->Invalidate(true);
1695 if ( pBitmap != NULL )
1702 case IDA_SETTINGS_CLICKED:
1705 ArrayList* pArgList = new(std::nothrow) ArrayList();
1708 pArgList->Construct();
1709 pArgList->Add(*__pWindowInfo);
1710 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_SETTINGS), pArgList);
1712 __pOptionMenu->SetShowState(false);
1713 __pOptionMenu->Invalidate(false);
1715 if (pArgList != null)
1724 case IDA_ADDTOBOOKMARK_CLICKED:
1727 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL)
1729 int bookmarkCount=0;
1732 url=__pWindowInfo->pageUrl;
1733 result r = E_SUCCESS;
1734 Bitmap* pBitmap = null;
1735 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
1743 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_REMOVED");
1744 BookmarkPresentationModel::GetInstance()->DeleteBookmark(url);
1745 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
1747 if(__pNotification != null)
1749 RemoveControl(__pNotification);
1750 __pNotification = null;
1752 __pNotification = new (std::nothrow) NotificationPanel(*this);
1753 if (__pNotification != null)
1755 __pNotification->SetText(message);
1756 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
1757 __pNotification->ShowNotification();
1762 String title=__pWindowInfo->pageTitle;
1763 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_ADDED");
1764 BookmarkData* pBookmark=new (std::nothrow) BookmarkData();
1766 pBookmark->SetBookmarkTitle(title);
1767 pBookmark->SetUrl(url);
1768 if (__pWebViewer != null && __pWebViewer->GetFaviconN() != null)
1770 pBookmark->SetFavIconBitmap(*(__pWebViewer->GetFaviconN()));
1772 String id = FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
1773 pBookmark->SetFaviconId(id);
1774 //r = BookmarkPresentationModel::GetInstance()->SaveBookmark(*pBookmark);
1775 r = BookmarkPresentationModel::GetInstance()->SaveTempBookmark(*pBookmark);
1777 if(__pNotification != null)
1779 RemoveControl(__pNotification);
1780 __pNotification = null;
1782 __pNotification = new (std::nothrow) NotificationPanel(*this);
1783 if (__pNotification != null)
1785 __pNotification->SetText(message);
1786 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
1787 __pNotification->ShowNotification();
1788 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
1791 if (pBitmap != null)
1793 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1798 __pOptionMenu->Invalidate(true);
1803 case IDA_PRINT_CLICKED:
1805 r = __pWebViewer->SavePageAsPdf(UiApp::GetInstance()->GetAppRootPath()+"//shared//data//test.pdf");
1806 AppLog("SavePageAsPdf result %s",GetErrorMessage(r));
1808 AppLog("RequestPrint called!");
1809 AppControl* pAc = Tizen::App::AppManager::FindAppControlN(L"org.tizen.mobileprint", L"http://tizen.org/appcontrol/operation/print");
1810 result nResult = E_FAILURE;
1813 AppLog("TestPrint if (pAc) == true");
1818 String fileType = L"service_print_files_type";
1819 String typeVal = L"DOC";
1821 String fileCount = L"service_print_files_count";
1822 String countVal = L"1";
1823 String fileFolder= L"service_print_files_folder_name";
1824 String folderVal = UiApp::GetInstance()->GetAppRootPath()+"//shared//data";
1826 map.Add(&fileCount, &countVal);
1827 map.Add(&fileFolder, &folderVal);
1828 map.Add(&fileType, &typeVal);
1830 String fileName = L"service_print_files_files_name";
1832 ArrayList fileNameList;
1833 fileNameList.Construct();
1834 String file1 = L"test.pdf";
1836 fileNameList.Add(&file1);
1837 map.Add(&fileName, &fileNameList);
1839 nResult = pAc->Start(NULL, NULL, &map, NULL);
1841 if (nResult == E_SUCCESS) AppLog("TestPrint ret == E_SUCCESS");
1842 else if (nResult == E_MAX_EXCEEDED)
1843 AppLog("TestPrint ret == E_MAX_EXCEEDED");
1844 else if (nResult == E_OBJ_NOT_FOUND)
1845 AppLog("TestPrint ret == E_OBJ_NOT_FOUND");
1846 else if (nResult == E_IN_PROGRESS)
1847 AppLog("TestPrint ret == E_IN_PROGRESS");
1848 else if (nResult == E_PRIVILEGE_DENIED)
1849 AppLog("TestPrint ret == E_PRIVILEGE_DENIED");
1850 else if(nResult == E_SYSTEM)
1851 AppLog("TestPrint ret == E_SYSTEM");
1857 int __modalMsgBoxResult;
1858 MessageBox* pMsgBox = new MessageBox();
1859 pMsgBox->Construct("Not Supported","Not Supported",MSGBOX_STYLE_OK,3000);
1860 pMsgBox->ShowAndWait(__modalMsgBoxResult);
1863 __modalMsgBoxResult = 0;
1867 case IDA_SHARE_CLICKED:
1869 if(__pPopUp != null)
1876 __pAddressbar->HideKeypad();
1878 __pPopUp = new(std::nothrow) SharePopup();
1879 __pPopUp->Initialize();
1880 if (__pWindowInfo != null)
1882 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
1883 pShareInfo->SetPageTitle(__pWindowInfo->pageTitle);
1884 pShareInfo->SetPageUrl(__pWindowInfo->pageUrl);
1885 pShareInfo->SetImageAttached(false);
1886 __pPopUp->RemoveAllShareInfo();
1887 __pPopUp->AddShareInfo(pShareInfo);
1889 __pPopUp->SetShowState(true);
1893 case IDA_BOOKMARKBTN_CLICKED:
1895 AppLogDebug("ONACTION_PERFORMED:IDA_BOOKMARKBTN_CLICKED");
1896 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BOOKMARK_VIEW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1899 case IDA_ADD_TO_BOOKMARKBTN_CLICKED:
1904 case IDA_MOREBTN_CLICKED:
1906 AppLog("IDA_MOREBTN_CLICKED");
1908 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer->GetShowState() == true)
1910 int bookmarkCount=0;
1913 url=__pWindowInfo->pageUrl;
1914 result r = E_SUCCESS;
1915 Bitmap* pBitmap = null;
1917 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
1920 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
1925 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
1929 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
1931 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
1933 if (__pOptionMenu->GetItemCount() == 9)
1935 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1939 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
1944 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
1948 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
1949 if (__pOptionMenu->GetItemCount() != 9)
1951 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
1952 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
1953 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
1954 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
1955 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
1956 __pOptionMenu->SetMaxVisibleItemsCount(6);
1958 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
1960 AppLog(" Orientation landscape");
1961 __pOptionMenu->SetMaxVisibleItemsCount(5);
1965 AppLog(" Orientation potrait");
1966 __pOptionMenu->SetMaxVisibleItemsCount(6);
1969 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
1972 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
1973 __pOptionMenu->SetShowState(true);
1974 __pOptionMenu->Invalidate(true);
1975 __pOptionMenu->Show();
1979 case IDA_HISTORY_CLICKED:
1981 AppLogDebug("ONACTION_PERFORMED:IDA_HISTORYBTN_CLICKED");
1982 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_HISTORY_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
1985 case IDA_SAVED_PAGES_CLICKED:
1990 case IDA_DESKTOP_VIEW_CLICKED:
1995 case IDA_SAVE_CLICKED:
2000 case IDA_MULTIWINDOWBTN_CLICKED:
2002 result r = SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_MULTIPLE_WINDOW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
2003 AppLog("IDA_MULTIWINDOWBTN_CLICKED result %s",GetErrorMessage(r));
2007 case IDA_NEWWINDOWBTN_CLICKED:
2009 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
2011 if (pNewWindowInfo == null)
2015 result r = E_SUCCESS;
2016 SceneManager* pSceneManager = SceneManager::GetInstance();
2018 if (pSceneManager == NULL)
2022 ArrayList* pArgList = new(std::nothrow) ArrayList();
2023 if (pArgList == NULL)
2027 r = pArgList->Construct();
2030 pArgList->Add(*pNewWindowInfo);
2031 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
2037 AppLogDebug("MainForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));
2042 case IDA_SMALLFONT_BTN_CLICKED:
2044 WebSetting setting = __pWebReader->GetSetting();
2045 setting.SetFontSize(15);
2046 __pWebReader->SetSetting(setting);
2049 case IDA_LARGEFONT_BTN_CLICKED:
2051 WebSetting setting = __pWebReader->GetSetting();
2052 setting.SetFontSize(25);
2053 __pWebReader->SetSetting(setting);
2056 case IDA_READER_CLOSE_CLICKED:
2058 if (__pArticleReaderPanel != null && __pBlankPanel != null)
2060 RemoveControl(__pBlankPanel);
2061 __pArticleReaderPanel = null;
2062 __pBlankPanel = null;
2063 __pArticleReaderLabel = null;
2065 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2068 case IDA_FINDWORD_CANCEL_CLICKED:
2070 __currentSearchStr = L"";
2071 __currentWordIndex = 0;
2072 __maxOccurrances = 0;
2074 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2076 __pFindWordEditField->SetText(L"");
2077 __pFindWordCountLabel->SetText(L"0/0");
2079 else if (__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2081 __pFindWordEditFieldRightToLeft->SetText(L"");
2082 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
2085 __pFindWordNext->SetEnabled(false);
2086 __pFindWordPrev->SetEnabled(false);
2087 __pFindWordCountLabel->SetText(L"0/0");
2088 __pWebViewer->SearchTextAllAsync(L"",true);
2089 AppLog("akjshdasd 1");
2090 if(__isKeypadOpened == false)
2091 __pFooterPanel->SetShowState(true);
2092 ShowFindWordPanel(false);
2095 case IDA_FINDWORD_SEARCH_CLICKED:
2097 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2099 __currentSearchStr = __pFindWordEditField->GetText();
2101 else if (__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2103 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
2106 if (__currentSearchStr.GetLength() > 0)
2112 AppLogDebug("Enter something");
2116 case IDA_FINDWORD_CLEAR_CLICKED:
2118 __pFindWordCountLabel->SetText(L"0/0");
2119 __pFindWordEditField->SetText(L"");
2120 __currentSearchStr = L"aaaaaabbbbbbccccccc";
2122 __currentSearchStr = L"";
2123 __pFindWordNext->SetEnabled(false);
2124 __pFindWordPrev->SetEnabled(false);
2125 // __pFindWordCountLabel->SetShowState(false);
2126 __pFindWordControl->Invalidate(true);
2129 case IDA_FINDWORD_CLEAR_RIGHT_TO_LEFT_CLICKED:
2131 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
2132 __pFindWordEditFieldRightToLeft->SetText(L"");
2133 __currentSearchStr = L"aaaaaabbbbbbccccccc";
2135 __currentSearchStr = L"";
2136 __pFindWordNext->SetEnabled(false);
2137 __pFindWordPrev->SetEnabled(false);
2138 // __pFindWordCountLabelRightToLeft->SetShowState(false);
2139 __pFindWordControl->Invalidate(true);
2142 case IDA_FINDWORD_NEXT_CLICKED:
2147 case IDA_FINDWORD_PREV_CLICKED:
2149 FindNextWord(false);
2152 case IDA_BRIGHTNESS_BTN_CLICKED:
2154 AppLogDebug("IDA_BRIGHTNESS_BTN_CLICKED");
2155 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BRIGHTNESS, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
2158 case IDA_COPY_IMAGE_CLICKED:
2160 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
2161 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
2163 const Bitmap* pBitmap = null;
2164 if (__pHitElementResult != null && __pHitElementResult->HasImage())
2166 pBitmap = __pHitElementResult->GetImage();
2169 String resourcePath = App::GetInstance()->GetAppResourcePath();
2170 r = item.Construct(CLIPBOARD_DATA_TYPE_IMAGE , *pBitmap);
2171 AppLog("Platofrm construct failed result %s",GetErrorMessage(r));
2172 // copying the item to clipboard
2173 Clipboard* pClipboard = Clipboard::GetInstance();
2174 if (pClipboard != null)
2176 r = pClipboard->CopyItem(item);
2177 AppLog("Platofrm copy failed result %s",GetErrorMessage(r));
2181 case IDA_VIEW_IMAGE_CLICKED:
2183 AppLogDebug("IDA_VIEW_IMAGE_CLICKED");
2184 WindowInfo* pNewWindowInfo = null;
2185 if (__pHitElementResult != null)
2187 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
2188 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
2194 case IDA_SAVE_IMAGE_CLICKED:
2196 AppLogDebug("IDA_SAVE_IMAGE_CLICKED");
2197 const Bitmap* pSaveBitmap = null;
2198 String imageName = GetImagePath();
2199 AppLog("Content manager image name %ls",imageName.GetPointer());
2202 imagePath.Append(imageName);
2203 imagePath.Format(100, L"%ls/Downloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
2204 AppLog("Content manager image path %ls",imagePath.GetPointer());
2205 if (__pHitElementResult != null)
2207 pSaveBitmap = __pHitElementResult->GetImage();
2209 ByteBuffer* pBuffer = __pSaveImage->EncodeToBufferN(*pSaveBitmap, IMG_FORMAT_JPG);
2213 UpdateImageContent(pBuffer, imageName);
2215 if(__pNotification != null)
2217 RemoveControl(__pNotification);
2218 __pNotification = null;
2220 __pNotification = new NotificationPanel(*this);
2222 AppResource::GetInstance()->GetString("IDS_COM_SK_SAVE", msg);
2223 msg.Append(imagePath);
2224 if (__pNotification != null)
2226 __pNotification->SetText(msg);
2227 if (__pFooterPanel->GetShowState() == true)
2229 __pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
2233 __pNotification->SetPositionDiff(0);
2235 __pNotification->ShowNotification();
2240 int __modalMsgBoxResult;
2241 MessageBox* pMsgBox = new MessageBox();
2242 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);
2243 pMsgBox->ShowAndWait(__modalMsgBoxResult);
2246 __modalMsgBoxResult = 0;
2250 case IDA_SHARE_IMAGE_CLICKED:
2252 AppLogDebug("IDA_SHARE_IMAGE_CLICKED");
2253 if (__pPopUp != null)
2260 __pAddressbar->HideKeypad();
2262 __pPopUp = new(std::nothrow) SharePopup();
2263 __pPopUp->Initialize();
2264 if (__pHitElementResult != null)
2266 const Bitmap* pSaveBitmap = null;
2267 String imageName = GetImagePath();
2268 AppLog("Content manager image name %ls",imageName.GetPointer());
2271 imagePath.Append(imageName);
2272 imagePath.Format(100, L"%lsDownloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
2273 AppLog("Content manager image path %ls",imagePath.GetPointer());
2274 if (__pHitElementResult != null)
2276 pSaveBitmap = __pHitElementResult->GetImage();
2278 __pSaveImage->EncodeToFile(*pSaveBitmap, IMG_FORMAT_JPG, imagePath, true);
2280 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
2281 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
2283 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2284 pShareInfo->SetPageTitle(L"");
2285 pShareInfo->SetPageUrl(srcUrl);
2286 pShareInfo->SetImageAttached(true);
2287 pShareInfo->SetImagePath(imagePath);
2288 __pPopUp->RemoveAllShareInfo();
2289 __pPopUp->AddShareInfo(pShareInfo);
2290 __pPopUp->SetShowState(true);
2295 case IDA_HYPERLINK_OPEN_CLICKED:
2297 if (__pHitElementResult != null)
2299 String srcUrl = __pHitElementResult->GetUrl();
2301 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN(srcUrl);
2303 if (pNewWindowInfo == null)
2307 pNewWindowInfo->isJavascriptInitiated = true;
2308 result r = E_SUCCESS;
2309 SceneManager* pSceneManager = SceneManager::GetInstance();
2310 if (pSceneManager == NULL)
2314 ArrayList* pArgList = new(std::nothrow) ArrayList();
2315 if (pArgList == NULL)
2319 pArgList->Construct();
2321 pArgList->Add(*pNewWindowInfo);
2322 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
2323 if (pArgList != null)
2330 AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r));
2336 case IDA_HYPERLINK_SHARE_IMAGE_CLICKED:
2338 if (__pHitElementResult == null)
2343 if(__pPopUp != null)
2350 __pAddressbar->HideKeypad();
2352 __pPopUp = new(std::nothrow) SharePopup();
2353 __pPopUp->Initialize();
2355 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2356 pShareInfo->SetPageUrl(__pHitElementResult->GetUrl());
2357 pShareInfo->SetImageAttached(false);
2358 __pPopUp->RemoveAllShareInfo();
2359 __pPopUp->AddShareInfo(pShareInfo);
2361 __pPopUp->SetShowState(true);
2365 case IDA_HYPERLINK_COPY_LINK_CLICKED:
2369 if (__pHitElementResult != null)
2371 url = __pHitElementResult->GetUrl();
2374 String resourcePath = App::GetInstance()->GetAppResourcePath();
2375 item.Construct(CLIPBOARD_DATA_TYPE_TEXT , url);
2377 // copying the item to clipboard
2378 Clipboard* pClipboard = Clipboard::GetInstance();
2379 if (pClipboard != null)
2381 pClipboard->CopyItem(item);
2385 case IDA_FIND_TEXT__CLICKED:
2387 // AddressBarCancelledClicked(*__pAddressbar);
2388 RelayoutControls(false);
2389 // __pFooterPanel->SetShowState(false);
2390 AppLogDebug("MainForm::OnActionPerformed find word clicked");
2391 __currentSearchStr.Clear();
2392 __currentSearchStr.Append(__currentSelectedStr);
2393 InitFindWordPanel();
2394 __pFindWordEditField->SetText(__currentSearchStr);
2396 if(__pOptionMenu != null)
2398 __pOptionMenu->SetShowState(false);
2399 __pOptionMenu->Invalidate(false);
2401 __adressPanelPosition.y = 0;
2403 if (__pAddressbar != null && __pWebViewer != NULL)
2405 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
2406 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight() - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12);
2408 if (__pFooterPanel->GetShowState() == false)
2409 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12)));
2411 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
2412 __pWebViewer->Invalidate(true);
2415 ShowFindWordPanel(true);
2416 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
2418 __pFindWordEditField->SetText(__currentSearchStr);
2419 __pFindWordEditField->SetFocus();
2421 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
2423 __pFindWordEditFieldRightToLeft->SetText(__currentSearchStr);
2424 __pFindWordEditFieldRightToLeft->SetFocus();
2427 if (__currentSearchStr.GetLength() > 0)
2433 AppLogDebug("Enter something");
2436 if (__pWebViewer != null)
2438 // releasing the set block
2439 __pWebViewer->ReleaseBlock();
2444 case IDA_SHARE_TEXT_CLICKED:
2446 __pWebViewer->ReleaseBlock();
2447 AppLogDebug("IDA_SHARE_TEXT_CLICKED");
2448 if(__pPopUp != null)
2455 __pAddressbar->HideKeypad();
2457 __pPopUp = new(std::nothrow) SharePopup();
2458 __pPopUp->Initialize();
2459 if (__pHitElementResult != null)
2461 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
2462 pShareInfo->SetPageTitle(L"");
2463 pShareInfo->SetPageUrl(__currentSelectedStr);
2464 pShareInfo->SetImageAttached(false);
2465 __pPopUp->RemoveAllShareInfo();
2466 __pPopUp->AddShareInfo(pShareInfo);
2467 __pPopUp->SetShowState(true);
2472 case IDA_COPY_TEXT_CLICKED:
2474 // __pWebViewer->ReleaseBlock();//as per hyunn lee request for issue 53500
2475 // need to implement
2476 //__currentSelectedStr
2477 // Sets data to a clip board item
2479 String resourcePath = App::GetInstance()->GetAppResourcePath();
2480 item.Construct(CLIPBOARD_DATA_TYPE_TEXT, __currentSelectedStr);
2482 // copying the item to clipboard
2483 Clipboard* pClipboard = Clipboard::GetInstance();
2484 if (pClipboard != null)
2486 pClipboard->CopyItem(item);
2490 case IDA_PASTE_TEXT_CLICKED:
2492 Clipboard* pClipboard = Clipboard::GetInstance();
2494 if(pClipboard == null)
2498 // Retrieves a latest item
2499 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
2505 //Gets data from the clipboard item
2506 String* pString = dynamic_cast<String*>(pItem->GetData());
2508 if (pString != null)
2510 String idElement = __pHitElementResult->GetAttributeValue(L"id");
2511 String nameElement = __pHitElementResult->GetAttributeValue(L"name");
2512 String classElement = __pHitElementResult->GetAttributeValue(L"class");
2513 String tagElement = __pHitElementResult->GetTagName();
2514 String contenteditable = __pHitElementResult->GetAttributeValue("contenteditable");
2515 AppLog("MainForm::IDA_PASTE_TEXT_CLICKED id is %ls",idElement.GetPointer());
2516 String str = L"document.getElementsByName('";
2517 str.Append(nameElement);
2518 str.Append("').length");
2519 String* pNameCount = __pWebViewer->EvaluateJavascriptN(str);
2522 str = L"document.getElementsByName('";
2523 str.Append(nameElement);
2524 str.Append("').length");
2525 String* pClassCount = __pWebViewer->EvaluateJavascriptN(str);
2528 if(contenteditable.Equals(L"true",false) == true)
2530 AppLog("gmail paste need to support");
2532 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; } }";
2533 script.Append("replaceSelectedText(");
2534 script.Append("\"");
2535 script.Append(*pString);
2536 script.Append("\");");
2538 else if(idElement.GetLength() != 0)
2540 script = L"function insertAtCursor(myField, myValue) { if (document.selection) { document.getElementById(myField).focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (document.getElementById(myField).selectionStart || document.getElementById(myField).selectionStart == '0'){ var startPos = document.getElementById(myField).selectionStart; var endPos = document.getElementById(myField).selectionEnd; document.getElementById(myField).value = document.getElementById(myField).value.substring(0, startPos)+ myValue + document.getElementById(myField).value.substring(endPos, document.getElementById(myField).value.length); } else { document.getElementById(myField).value += myValue; } } ";
2541 script.Append("insertAtCursor('");
2542 script.Append(idElement);
2543 script.Append("',");
2544 script.Append("\"");
2545 script.Append(*pString);
2546 script.Append("\");");
2548 else if (classElement.GetLength() != 0 && pClassCount->Equals("1",false) == true)
2550 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; } } ";
2551 script.Append("insertAtCursor(document.getElementsByClassName('");
2552 script.Append(classElement);
2553 script.Append("')[0],");
2554 script.Append("\"");
2555 script.Append(*pString);
2556 script.Append("\");");
2558 else if (nameElement.GetLength() != 0 && pNameCount->Equals("1",false) == true)
2560 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; } } ";
2561 script.Append("insertAtCursor(document.getElementsByName('");
2562 script.Append(nameElement);
2563 script.Append("')[0],");
2564 script.Append("\"");
2565 script.Append(*pString);
2566 script.Append("\");");
2568 else if(tagElement.GetLength() != 0) //adding for twitter post page
2570 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; } } ";
2572 script.Append("insertAtCursor(document.activeElement,");
2573 script.Append("\"");
2574 script.Append(*pString);
2575 script.Append("\");");
2577 AppLog("MainForm::OnTouchLongPressed script is %ls",script.GetPointer());
2578 String* pStr = __pWebViewer->EvaluateJavascriptN(script);
2585 __pWebViewer->ReleaseBlock();
2593 case IDA_GO_FORWARD:
2598 case IDA_REFRESH_BTN_CLICKED:
2600 __isLoadingCompleted = false;
2601 __isLoadingData = true;
2602 __progressPercentage = 0;
2603 __displayUrl = __pFooterUrlField->GetText();
2605 String url = __pFooterUrlField->GetText();
2606 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
2608 if (__pWebViewer != null && __pAddressbar != null)
2611 //__pWebViewer->Reload();
2612 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
2616 UpdateProgressBitmap();
2619 case IDA_STOP_BTN_CLICKED:
2621 __isLoadingCompleted = false;
2622 __isLoadingData = false;
2623 __progressPercentage = 0;
2624 __pFooterUrlField->HideKeypad();
2625 __displayUrl = __pFooterUrlField->GetText();
2629 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2630 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
2631 __pWebViewer->StopLoading();
2632 RequestRedraw(true);
2635 UpdateProgressBitmap();
2640 if (__pFooterUrlField->GetText().IsEmpty() == false)
2642 //__displayUrl = __pUrlField->GetText();
2643 __pFooterUrlField->Clear();
2648 case IDA_READER_BTN_CLICKED:
2659 MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
2661 AppLog("MainForm::OnFormBackRequested entered");
2662 result r = E_FAILURE;
2663 if(__pImageMenu && __pImageMenu->GetShowState() == true)
2665 AppLog("Hiding the menu");
2666 __pImageMenu->SetShowState(false);
2668 if (__pWebViewer && __pWebViewer->CanGoBack())
2670 __pWebViewer->GoBack();
2672 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
2675 pApp = UiApp::GetInstance();
2678 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2681 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2689 WindowInfo* pWindowInfo = null;
2691 SceneManager* pSceneManager = SceneManager::GetInstance();
2692 if (pSceneManager == null)
2696 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
2697 if (pAllWindowList == NULL)
2699 pApp = UiApp::GetInstance();
2702 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2705 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2710 if (pAllWindowList != null)
2712 totalCount = pAllWindowList->GetCount();
2714 for (int count = 0; count < totalCount; count++)
2716 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
2717 if (pWindowInfo == null)
2719 pApp = UiApp::GetInstance();
2722 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2725 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2732 if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
2734 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
2737 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2740 r = pAllWindowList->RemoveAt(count, true);
2741 __pWindowInfo = null;
2744 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2749 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
2753 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
2755 if (pWindowInfo == null)
2757 pApp = UiApp::GetInstance();
2760 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2766 if(pWindowInfo != null)
2767 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
2770 AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2776 // else if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == false)
2778 // UiApp* pApp = null;
2779 // pApp = UiApp::GetInstance();
2780 // if (pApp != null)
2782 // r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
2785 // AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r));
2793 AppLog("MainForm::OnFormBackRequested exit");
2797 MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
2798 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
2801 AppLog("MainForm::OnSceneActivatedN called");
2802 String* pSelectedScene = NULL;
2803 Object* pValue = NULL;
2804 String* pUrl = null;
2805 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
2806 pSelectedScene = (String*) pValue;
2808 if (pSelectedScene != null)
2810 delete pSelectedScene;
2812 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, null);
2813 String* selectedSceneID = new(std::nothrow) String(currentSceneId);
2814 AppLogDebug("current scene id is %ls", currentSceneId.GetPointer());
2815 AppLogDebug("selected scene id is %ls", currentSceneId.GetPointer());
2817 // setting the current scene ID
2818 MultipleWindowPresentationModel::GetInstance()->SetCurrentSceneID(currentSceneId);
2820 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, (Object*) selectedSceneID);
2822 if(pArgs != null && pArgs->GetCount() > 0 && pArgs->GetCount() == 2)
2824 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2825 if(__pWindowInfo == null)
2827 // if(__pWindowInfo == null)
2829 pUrl = dynamic_cast< String* >(pArgs->GetAt(1));
2832 else if ( pArgs != null && pArgs->GetCount() == 1)
2834 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
2840 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), GetClientAreaBounds().width, __pFooterPanel->GetHeight());
2842 // hiding the address bar
2843 // __pAddressbar->SetBounds(__pAddressbar->GetX(), __pAddressbar->GetY() - __pAddressbar->GetHeight(), __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
2844 __pAddressbar->SetShowState(false);
2845 // if(__pWebViewer != null)
2847 // __pWebViewer->Resume();
2850 if(pUrl != null && pUrl->GetLength() > 0)
2854 else if(__pWindowInfo != null)
2856 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)
2858 LoadUrl(__pWindowInfo->pageUrl);
2860 else if(__pWindowInfo->pageUrl.GetLength() > 0 && __pWindowInfo->isAppcontrolTriggered == true)
2862 LoadUrl(__pWindowInfo->pageUrl);
2863 __pWindowInfo->isAppcontrolTriggered = false;
2865 else if (__pWindowInfo->isJavascriptInitiated == true && __pWindowInfo->isFirstLaunch == true)
2867 __pWindowInfo->isFirstLaunch = false;
2870 __pWindowInfo->pCurrentWeb = __pWebViewer;
2871 if(__pWindowInfo->pageUrl.GetLength() > 0)
2872 LoadUrl(__pWindowInfo->pageUrl);
2876 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
2877 AppLog("Homepage Value in Onsceneactivated is %ls",homePage.GetPointer());
2878 if(homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
2880 InitMostVisitedSitesView(GetOrientationStatus());
2882 else if (homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
2884 if(__pMostVisitedListView != null)
2886 __pMostVisitedListView->SetShowState(false);
2890 if (__pAddressbar != null && pArgs != null && (previousSceneId == IDSCN_BOOKMARK_VIEW || previousSceneId == IDSCN_HISTORY_LIST))
2892 String* pBookmarkUrl = dynamic_cast< String* >(pArgs->GetAt(0));
2894 if (pBookmarkUrl == null)
2896 AppLogDebug("bookmarkUrl = %ls",pBookmarkUrl->GetPointer());
2897 //__pAddressbar->SetUrl(*pBookmarkUrl);
2898 SetUrl(*pBookmarkUrl);
2900 if (__pWebViewer != null && homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) != 0)
2901 __pWebViewer->LoadUrl(*pBookmarkUrl);
2902 delete pBookmarkUrl;
2905 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
2906 Bitmap* pBitmap = null;
2907 if (isPrivateBrowsing == true)
2909 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
2911 if (__pWebViewer != null)
2913 __pWebViewer->SetPrivateBrowsingEnabled(true);
2916 if (__pAddressbar != null)
2918 // __pAddressbar->UpdateFaviconBitmap(true);
2924 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
2926 if (__pWebViewer != null)
2928 __pWebViewer->SetPrivateBrowsingEnabled(false);
2931 if (__pAddressbar != null)
2933 // __pAddressbar->UpdateFaviconBitmap(false);
2937 if (__pOptionMenu != null && __pOptionMenu->GetItemCount() != 9)
2939 __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2941 else if (__pOptionMenu != null )
2943 __pOptionMenu->SetItemAt(5,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap);
2946 if (pBitmap != null)
2951 RelayoutControls(false);
2952 AppLog("ABC: OnSceneActivatedN started exit");
2954 AppLog("WebControl's width height %d %d,",__pWebViewer->GetWidth(),__pWebViewer->GetHeight());
2959 MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
2960 const Tizen::Ui::Scenes::SceneId& nextSceneId)
2962 Canvas* pWebCanvas = null;
2963 if (__pWebViewer != null)
2965 pWebCanvas = __pWebViewer->GetCanvasN();
2968 if (pWebCanvas == null)
2972 if (__pWindowInfo != null)
2974 if (__pWindowInfo->pWebCanvasBitmap != null)
2976 delete __pWindowInfo->pWebCanvasBitmap;
2978 __pWindowInfo->pWebCanvasBitmap = new(std::nothrow) Bitmap();
2979 result r = __pWindowInfo->pWebCanvasBitmap->Construct(*pWebCanvas,Rectangle(0,0,pWebCanvas->GetBounds().width,pWebCanvas->GetBounds().height));
2980 AppLog("Bitmap Construction result %s",GetErrorMessage(r));
2982 Bitmap* pBitmap = GetCapturedBitmapN();
2983 AppLog("Coming here");
2984 Canvas* pCanvas = new(std::nothrow) Canvas();
2985 pCanvas->Construct(GetClientAreaBounds());
2988 pCanvas->DrawBitmap(Point(0,0),*pBitmap);
2991 if(__pWebViewer != null && __pWindowInfo != null && __pWindowInfo->pWebCanvasBitmap != null)
2992 pCanvas->DrawBitmap(__pWebViewer->GetPosition(),*__pWindowInfo->pWebCanvasBitmap);
2994 WindowInfo::pFormCanvasBitmap = new(std::nothrow) Bitmap();
2997 WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight()));
3002 __pAddressbar->SetShowState(false);
3003 AppLog("Coming here");
3007 MainForm::OnHttpAuthenticationRequestedN(const Tizen::Base::String& host,
3008 const Tizen::Base::String& realm,
3009 const Tizen::Web::Controls::AuthenticationChallenge& authentication)
3015 MainForm::OnHttpAuthenticationCanceled(void)
3020 MainForm::OnLoadingStarted(void)
3022 AppLogDebug("MainForm::OnLoadingStarted entered");
3024 if(__pAddressbar == NULL || __pWebViewer == null)
3029 // this is added in case if menu is opened and user load the page
3030 if(__pOptionMenu != null && __pOptionMenu->GetShowState() == true)
3032 __pOptionMenu->SetShowState(false);
3033 __pOptionMenu->Invalidate(true);
3038 if(__pImageMenu != null && __pImageMenu->GetShowState() == true)
3040 __pImageMenu->SetShowState(false);
3041 __pImageMenu->Invalidate(true);
3043 String url = __pWebViewer->GetUrl();
3044 if(url.Contains(IDS_TIZEN_SERVICE))
3047 String delim(L":;,");
3049 // Creates a StringTokenizer instance
3050 StringTokenizer strTok(url, delim);
3052 int count = strTok.GetTokenCount(); // count == 4
3054 HashMap *pMap = new HashMap();
3059 while (strTok.HasMoreTokens())
3061 AppLog("Token: %ls", token.GetPointer());
3062 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3063 if(token.Contains(IDS_APPID))
3065 token.SubString(6, appId);
3066 AppLog("AppID:%ls", appId.GetPointer());
3068 else if(token.Contains(IDS_KEY))
3070 token.SubString(4, key);
3071 AppLog("key:%ls", key.GetPointer());
3073 else if(token.Contains(IDS_VALUE))
3075 token.SubString(6, value);
3076 AppLog("value:%ls", value.GetPointer());
3079 pMap->Add(key, value);
3083 AppControl *pAppControl = null;
3084 String operationId = L"http://tizen.org/appcontrol/operation/main";
3085 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
3088 AppLog("Starting AppControl");
3089 result r = pAppControl->Start(null, null, pMap, null);
3090 AppLog("Result of Start %s", GetErrorMessage(r));
3094 AppLogException("AppControl not found");
3099 if ( __pAddressbar != null && __pAddressbar->GetShowState() == true)
3101 __pAddressbar->SetShowState(false);
3102 AddressBarCancelledClicked(*__pAddressbar);
3103 __pAddressbar->Invalidate(true);
3105 Bitmap* pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
3108 __pAddressbar->SetFaviconBitmap(*pBitmap);
3111 if (__adressPanelPosition.y < (0 - __pAddressbar->GetHeight() + 12))
3113 // updating the address bar position with respect to web control
3114 __adressPanelPosition.y = 0 - __pAddressbar->GetHeight() + 12; //-12 is for the progress label
3115 __distanceMoved = 0;
3119 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3120 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3121 if (__pWebViewer != null)
3123 AppLog("MainForm::OnLoadingStarted __pWebViewer->GetUrl() %ls",__pWebViewer->GetUrl().GetPointer());
3124 //__pAddressbar->SetUrl(__pWebViewer->GetUrl());
3125 SetUrl(__pWebViewer->GetUrl());
3126 if (__pWindowInfo != NULL)
3128 // resetting the page title to blank, it will be received in OnPageTitleReceived()
3129 // __pWindowInfo->pageTitle = L"";
3130 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3132 __pAddressbar->Invalidate(true);
3138 MainForm::OnLoadingCanceled(void)
3144 MainForm::OnKeypadWillOpen(Tizen::Ui::Control& source)
3146 AppLog("XYZ::MainForm::OnKeypadWillOpen");
3151 MainForm::OnKeypadOpened(Tizen::Ui::Control& source)
3153 AppLog("XYZ::MainForm::OnKeypadOpened");
3154 __isKeypadOpened = true;
3155 __pFooterPanel->SetShowState(false);
3156 RelayoutControls(false);
3160 MainForm::OnKeypadClosed(Tizen::Ui::Control& source)
3162 AppLog("XYZ::MainForm::OnKeypadClosed");
3163 __isKeypadOpened = false;
3164 __pFooterPanel->SetShowState(true);
3165 RelayoutControls(true);
3169 MainForm::OnKeypadBoundsChanged(Tizen::Ui::Control &source)
3171 AppLog("XYZ::KeypadBoundsChanged");
3172 RelayoutControls(false);
3176 MainForm::OnLoadingErrorOccurred(LoadingErrorType error,
3177 const Tizen::Base::String& reason)
3179 AppLogDebug("Error: %d, %ls", error, reason.GetPointer());
3183 MainForm::OnLoadingCompleted(void)
3185 AppLog("MainForm::OnLoadingCompleted start");
3187 result r = E_SUCCESS;
3189 if (__pWebViewer == null)
3194 if (__pAddressbar == null)
3199 if(__pWindowInfo && __pWebViewer)
3200 __pWindowInfo->pageTitle = __pWebViewer->GetTitle();
3201 if(__pImageMenu && __pImageMenu->GetShowState())
3203 __pImageMenu->SetShowState(false);
3204 __pImageMenu->Invalidate(true);
3207 if (__pWebViewer->CanGoForward())
3209 //__pAddressbar->SetForwardButtonEnabled(true);
3210 SetForwardButtonEnabled(true);
3214 //__pAddressbar->SetForwardButtonEnabled(false);
3215 SetForwardButtonEnabled(false);
3218 /*if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3220 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3222 //__pAddressbar->UpdateProgress(0);
3226 if(GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
3228 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3232 AppLog("PrivateBrowsing %d",__pWebViewer->IsPrivateBrowsingEnabled());
3233 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
3234 if (isPrivateBrowsing == false)
3236 if(__pHistory != null)
3242 __pHistory = new(std::nothrow) History;
3243 HistoryPresentationModel::GetCurrentDateTime(date);
3246 __pHistory->SetHistoryTitle(__pWindowInfo->pageTitle);
3247 AppLogDebug("MainForm::OnLoadingCompleted pagetitle = %ls", __pWindowInfo->pageTitle.GetPointer());
3249 __pHistory->SetHistoryUrl(__pWindowInfo->pageUrl);
3250 AppLogDebug("MainForm::OnLoadingCompleted pageUrl = %ls", __pWindowInfo->pageUrl.GetPointer());
3252 __pHistory->SetVisitedTime(date);
3254 if (__pWebViewer != null)
3256 AppLog("MainForm::OnLoadingCompleted setting the fav icon 0");
3258 Bitmap* pTempBitmap = __pWebViewer->GetFaviconN();
3259 if (pTempBitmap != null)
3261 AppLog("MainForm::OnLoadingCompleted setting the fav icon 1");
3262 __pHistory->SetFavIconBitmap(*pTempBitmap);
3267 Canvas* pCanvas = __pWebViewer->GetCanvasN();
3268 Bitmap* pBitmap = new(std::nothrow) Bitmap();
3269 if ( pCanvas != null && pCanvas != null && pBitmap != null)
3271 pBitmap->Construct(*pCanvas, pCanvas->GetBounds());
3272 pBitmap->Scale(Dimension(pBitmap->GetWidth()/4, pBitmap->GetHeight()/4));
3273 __pHistory->SetThumbnail(pBitmap);
3275 Bitmap *pFavIcon = __pWebViewer->GetFaviconN();
3278 Tizen::Graphics::BufferInfo bmpInfo;
3279 pFavIcon->Lock(bmpInfo);
3280 AppLog("rrrr:: width %d height %d of the faviconbitmap from bufferinfo", bmpInfo.width, bmpInfo.height);
3282 AppLog("MainForm::OnLoadingCompleted setting the fav icon 2");
3284 AppLog("rrrr:: width %d height %d of the faviconbitmap",pFavIcon->GetWidth(),pFavIcon->GetHeight());
3285 __pHistory->SetFavIconBitmap(*pFavIcon);
3289 HistoryPresentationModel::GetInstance()->SaveTempHistory(*__pHistory);
3296 // if (__pWindowInfo && __pWindowInfo->faviconUrl == "")
3298 // temperary fixed (webpage can be not loaded)
3302 bool isReaderEnabled = SettingPresentationModel::GetInstance()->IsRunReaderEnabled();
3303 if (isReaderEnabled == true)
3307 delete __pReaderData;
3308 __pReaderData = null;
3310 String filePath = Tizen::App::UiApp::GetInstance()->GetAppRootPath();
3311 filePath.Append(L"data/reader.js");
3317 result r = E_SUCCESS;
3318 FileAttributes attr;
3320 File::GetAttributes(filePath,attr);
3322 r = file.Construct(filePath, L"r+");
3325 AppLogDebug("File construct failed with %s", GetErrorMessage(r));
3328 char* pScript = new(std::nothrow) char[attr.GetFileSize()+1];
3331 AppLogDebug("Memory allocation for file failed %s", GetErrorMessage(r));
3334 // file.Read(pScript,attr.GetFileSize());
3336 // AppLogDebug("scipt length %d",strlen(pScript));
3337 String strScript = L"";
3338 // strScript.Append(pScript);
3339 // for(int i=0; i<25; i++)
3341 file.Read(pScript,attr.GetFileSize());
3342 // AppLog("xyzz tell %d",file.Tell());
3343 // r = strScript.Append(pScript);
3344 // AppLog("xyzz append result %s",GetErrorMessage(r));
3345 // AppLog("xyzz strScript length %d",strScript.GetLength());
3347 // AppLog("xyzz final strScript length %d",strScript.GetLength());
3349 __pReaderData = __pWebViewer->EvaluateJavascriptN(pScript);
3350 if (__pReaderData == null)
3352 AppLog("MainScene::data is null Error :%s",GetErrorMessage(GetLastResult()));
3353 __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>");
3356 AppLogDebug("evaluateJavascript result %s , __pReaderData %ls",GetErrorMessage(GetLastResult()),__pReaderData->GetPointer());
3357 if (__pReaderData->CompareTo(L"undefined") != 0 && __pReaderData->CompareTo(L"") != 0)
3359 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3360 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
3366 AppLog("MainForm::OnLoadingCompleted done");
3370 MainForm::OnEstimatedProgress(int progress)
3372 AppLogDebug("MainForm::OnEstimatedProgress entered %d",progress);
3374 if (progress < DEFAULT_PROGRESS_PERCENTAGE)
3375 progress = DEFAULT_PROGRESS_PERCENTAGE;
3377 // __pAddressbar->UpdateProgress(progress);
3378 UpdateProgress(progress);
3381 void MainForm::OnFaviconReceived(const Tizen::Graphics::Bitmap& favicon)
3383 AppLog("MainForm::OnFaviconReceived");
3384 if (__pWebViewer != null && __pHistory != null && __pWindowInfo != null && (__pWindowInfo->pageUrl.CompareTo(__pHistory->GetHistoryUrl()) == 0))
3386 Bitmap* favIcon = __pWebViewer->GetFaviconN();
3389 HistoryPresentationModel::GetInstance()->UpdateHistoryFavIcon(*__pHistory, *favIcon);
3396 MainForm::OnUrlValueChanged(Addressbar&)
3402 MainForm::OnUrlSubmitted(Addressbar& addBar)
3404 AppLog("MainForm::OnUrlSubmitted");
3405 String url = addBar.GetUrl();
3406 AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer());
3408 if(__pFooterUrlField)
3409 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
3410 AddressBarCancelledClicked(*__pAddressbar);
3415 MainForm::LoadUrl(String& url)
3419 // UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3420 AppLogDebug("MainForm::LoadUrl enter");
3422 if (__pWebViewer != null)
3424 __pWebViewer->SetShowState(true);
3425 __pWebViewer->Invalidate(true);
3428 if (url.CompareTo(L"") == 0)
3432 if(__pFooterPanel != null)
3434 __pFooterPanel->SetShowState(true);
3435 __pFooterPanel->Invalidate(true);
3442 String firstPattern(L"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)");
3443 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)
3445 RegularExpression firstRegex;
3446 RegularExpression secondRegex;
3448 firstRegex.Construct(firstPattern, REGEX_CASELESS);
3449 secondRegex.Construct(secondPattern, REGEX_CASELESS);
3452 ret = firstRegex.Match(url, false); // This returns true value
3453 flag = secondRegex.Match(url, false); // Checks whether URL typed is of type abc.com (i.e without protocol in front of it)
3455 if (ret == true && __pWebViewer != null)
3458 __pWebViewer->LoadUrl(url);
3460 else if(__pWebViewer != null)
3462 String tempUrl = L"http://";
3463 tempUrl.Append(url);
3467 __pWebViewer->LoadUrl(tempUrl);
3471 UrlEncoder::Encode(url, L"UTF-8", encodedUrl);
3472 __pWebViewer->LoadUrl(SettingPresentationModel::GetInstance()->GetSearchUrl(encodedUrl));
3475 if (__pAddressbar != null)
3477 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3478 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
3481 AppLogDebug("MainForm::LoadUrl exit");
3488 MainForm::OnFocusGained(const Tizen::Ui::Control& source)
3490 AppLog("MainForm::OnFocusGained");
3493 __pFooterPanel->SetShowState(false);
3498 __pWebViewer->ReleaseBlock();
3503 __pAddressbar->SetShowState(true);
3504 __pAddressbar->SetAddressbarURLFocus();
3506 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3508 __currentSearchStr = L"";
3509 __currentWordIndex = 0;
3510 __maxOccurrances = 0;
3512 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
3514 __pFindWordEditField->SetText(L"");
3515 __pFindWordEditField->HideKeypad();
3516 __pFindWordControl->SetShowState(false);
3517 __pFindWordCountLabel->SetText(L"0/0");
3519 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
3521 __pFindWordEditFieldRightToLeft->SetText(L"");
3522 __pFindWordEditFieldRightToLeft->HideKeypad();
3523 __pFindWordControl->SetShowState(false);
3524 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
3527 __pFindWordNext->SetEnabled(false);
3528 __pFindWordPrev->SetEnabled(false);
3530 __pWebViewer->SearchTextAllAsync(L"",true);
3531 __pFindWordControl->SetShowState(false);
3533 RelayoutControls(false);
3537 MainForm::OnFocusLost(const Tizen::Ui::Control& source)
3539 AppLog("MainForm::OnFocusLost called");
3543 MainForm::OnStopClicked(Addressbar& addBar)
3545 AppLogDebug("MainForm::OnStopClicked called");
3548 //__pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3549 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
3550 __pWebViewer->StopLoading();
3551 RequestRedraw(true);
3556 MainForm::OnBackClicked(/*const Addressbar& addBar*/)
3558 // AppLog("MainForm::OnBackClicked");
3559 result r = E_FAILURE;
3560 if(__pImageMenu && __pImageMenu->GetShowState() == true)
3562 AppLog("Hiding the menu");
3563 __pImageMenu->SetShowState(false);
3566 if (__pWebViewer && __pWebViewer->CanGoBack())
3568 __pWebViewer->GoBack();
3570 else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false)
3573 pApp = UiApp::GetInstance();
3576 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3579 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3587 WindowInfo* pWindowInfo = null;
3589 SceneManager* pSceneManager = SceneManager::GetInstance();
3590 if (pSceneManager == null)
3594 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
3595 if (pAllWindowList == NULL)
3597 pApp = UiApp::GetInstance();
3600 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3603 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3608 if (pAllWindowList != null)
3610 totalCount = pAllWindowList->GetCount();
3612 for (int count = 0; count < totalCount; count++)
3614 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
3615 if (pWindowInfo == null)
3617 pApp = UiApp::GetInstance();
3620 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3623 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3628 if (pSceneManager != null && pWindowInfo != null && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true)
3630 r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID);
3633 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3636 r = pAllWindowList->RemoveAt(count, true);
3637 __pWindowInfo = null;
3640 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3645 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1));
3647 else if(pAllWindowList->GetCount() > 0)
3649 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
3653 pApp = UiApp::GetInstance();
3656 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3661 if (pWindowInfo == null)
3663 pApp = UiApp::GetInstance();
3666 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
3672 r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
3673 // r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE));
3676 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
3690 MainForm::OnForwardClicked(/*const Addressbar& addBar*/)
3692 AppLog("MainForm::OnForwardClicked");
3693 if (__pWebViewer == null)
3696 if (__pWebViewer->CanGoForward())
3698 __pWebViewer->GoForward();
3703 MainForm::OnAddressBarFocusGained(const Addressbar& addBar)
3705 AppLog("XYZ::MainForm::OnAddressBarFocusGained");
3706 if(__pFooterPanel != null)
3708 __pFooterPanel->SetShowState(false);
3711 if (__pAddressbar != null && __pAddressbar->GetShowState() == false)
3713 __pAddressbar->SetShowState(true);
3714 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3717 RelayoutControls(false);
3721 MainForm::OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadState)
3723 AppLog("XYZ::MainForm::OnAddressBarFocusLost");
3725 int Height = GetClientAreaBounds().height;
3726 AppLog("MainForm::OnAddressBarFocusLost height is %d",Height);
3728 RelayoutControls(false);
3732 MainForm::OnAddressCancelledClicked(const Addressbar& addBar)
3734 AddressBarCancelledClicked(addBar);
3738 MainForm::OnAddressBarModeChanged(/*const Addressbar& addBar*/)
3740 __prevAddressBarMode = __curAddressBarMode;
3742 if (__pAddressbar != null)
3744 __curAddressBarMode = GetAddressbarMode();
3747 if (__curAddressBarMode == ADDRESSBAR_MODE_EDIT)
3749 __adressPanelPosition.y = 0;
3750 if (__pAddressbar != null)
3752 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
3753 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
3754 __pAddressbar->Invalidate(true);
3756 if (__pWebViewer != null)
3758 __pWebViewer->StopLoading();
3761 else if(__curAddressBarMode == ADDRESSBAR_MODE_LOADING)
3763 __adressPanelPosition.y = 0;
3764 if (__pAddressbar != null)
3766 __webControlPosition.y = 0;
3767 __pAddressbar->SetBounds(Rectangle(0, __pAddressbar->GetY() - __pAddressbar->GetHeight(), GetClientAreaBounds().width, __pAddressbar->GetHeight()));
3768 __pAddressbar->Invalidate(true);
3774 MainForm::OnClipboardClosed(const Addressbar& addBar)
3776 AppLog("XYZ::MainForm::OnClipboardClosed");
3777 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3779 AppLog("akjshdasd 3");
3780 __pFooterPanel->SetShowState(true);
3782 __isKeypadOpened = false;
3783 RelayoutControls(false);
3787 MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar, bool footerState)
3789 AppLog("XYZ::MainForm::OnAddressBarKeypadClosed");
3790 if (__pFooterPanel && __pAddressbar->GetShowState() == false)
3792 AppLog("akjshdasd 3");
3793 __pFooterPanel->SetShowState(true);
3795 __isKeypadOpened = false;
3796 if(__pNotification && __pNotification->GetShowState())
3798 __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight());
3801 RelayoutControls(false,footerState);
3805 MainForm::OnAddressBarKeypadOpened(const Addressbar& addBar)
3807 AppLog("XYZ::MainForm::OnAddressBarKeypadOpened");
3808 __isKeypadOpened = true;
3809 if(__pNotification && __pNotification->GetShowState())
3811 __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight());
3813 RelayoutControls(false);
3817 MainForm::OnAddressBarKeypadWillOpen(const Addressbar& addBar)
3819 __isKeypadOpened = true;
3820 __pFooterPanel->SetShowState(false);
3824 MainForm::OnAddressBarKeypadBoundsChanged(const Addressbar& addBar)
3826 AppLog("XYZ::MainForm::OnAddressBarKeypadBoundsChanged");
3827 RelayoutControls(false);
3831 MainForm::OnPageTitleReceived(const Tizen::Base::String& title)
3833 AppLog("MainForm::OnPageTitleReceived %ls",title.GetPointer());
3836 __pWindowInfo->pageTitle = title;
3837 if (__pWebViewer != null)
3839 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
3840 AppLog("MainForm::OnPageTitleReceived url %ls",__pWindowInfo->pageUrl.GetPointer());
3843 if (__pAddressbar != null && __pWebViewer != null)
3845 SetUrl(__pWebViewer->GetUrl());
3846 __pAddressbar->Invalidate(true);
3851 MainForm::UpdateFavicon(void)
3853 bool urlImageType = false;
3854 String *tempPath = null;
3856 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();");
3857 Bitmap* pBitmap = null;
3859 if (tempPath && tempPath->GetLength() > 0 && tempPath->CompareTo(L"undefined") != 0)
3861 if (__pWindowInfo != null)
3864 url.SetUri(*tempPath);
3865 if (url.GetHost().GetLength() == 0)
3869 webUrl.SetUri(__pWebViewer->GetUrl());
3870 result r = url.SetHost(webUrl.GetHost());
3877 if (url.GetScheme().GetLength() == 0)
3881 webUrl.SetUri(__pWebViewer->GetUrl());
3882 url.SetScheme(webUrl.GetScheme());
3884 __pWindowInfo->faviconUrl = url.ToString();
3886 pBitmap = __pWebViewer->GetFaviconN();
3888 if (pBitmap != null)
3890 if (__pWindowInfo->pFavicon != NULL)
3892 __pWindowInfo->pFavicon = null;
3894 __pWindowInfo->pFavicon = new(std::nothrow) Bitmap();
3895 __pWindowInfo->pFavicon->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
3897 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3899 FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
3901 else if(__pWindowInfo->pFavicon != null)
3903 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
3907 Bitmap *pDefaultBmp = FaviconManager::GetInstance()->GetDefaultFaviconN();
3908 if(pDefaultBmp != null)
3910 __pAddressbar->SetFaviconBitmap(*pDefaultBmp);
3924 if(tempPath != null)
3928 AppLogDebug("Error occured: %s", GetErrorMessage(GetLastResult()));
3934 MainForm::OnLoadingRequested(const Tizen::Base::String& url,
3935 Tizen::Web::Controls::WebNavigationType type)
3937 AppLog("urlk %ls",url.GetPointer());
3938 // when load new page if find word panel is open its show state is false
3939 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
3941 __currentSearchStr = L"";
3942 __currentWordIndex = 0;
3943 __maxOccurrances = 0;
3944 __pFindWordEditField->SetText(L"");
3945 __pFindWordNext->SetEnabled(false);
3946 __pFindWordPrev->SetEnabled(false);
3947 __pFindWordCountLabel->SetText(L"0/0");
3948 __pFindWordControl->SetShowState(false);
3949 __pFindWordEditField->HideKeypad();
3950 RelayoutControls(false);
3953 __pFooterPanel->Invalidate(true);
3956 uriInfo.SetUri(url);
3958 if(url.Contains(IDS_TIZEN_SERVICE))
3961 String delim(L":;,");
3963 // Creates a StringTokenizer instance
3964 StringTokenizer strTok(url, delim);
3966 int count = strTok.GetTokenCount(); // count == 4
3968 HashMap *pMap = new HashMap();
3974 while (strTok.HasMoreTokens())
3976 AppLog("Token: %ls", token.GetPointer());
3977 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
3978 if(token.Contains(IDS_APPID))
3980 token.SubString(6, appId);
3981 AppLog("AppID:%ls", appId.GetPointer());
3983 else if(token.Contains(IDS_KEY))
3985 token.SubString(4, key);
3986 AppLog("key:%ls", key.GetPointer());
3988 else if(token.Contains(IDS_VALUE))
3990 token.SubString(6, value);
3991 AppLog("value:%ls", value.GetPointer());
3994 pMap->Add(key, value);
3998 AppControl *pAppControl = null;
3999 String operationId = L"http://tizen.org/appcontrol/operation/main";
4000 pAppControl = dynamic_cast<AppControl*>(AppManager::FindAppControlN(appId, operationId));
4003 result r = pAppControl->Start(null, null, pMap, null);
4007 AppLogException("AppControl not found");
4017 MainForm::OnWebDataReceived(const Tizen::Base::String& mime,
4018 const Tizen::Net::Http::HttpHeader& httpHeader)
4020 return Tizen::Web::Controls::WEB_DECISION_CONTINUE;
4024 MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint& endPoint)
4026 AppLog("LMN::MainForm::OnWebPageBlockSelected");
4027 // if(__isLongPressedDone == false)
4030 if (__pHitElementResult != null)
4032 delete __pHitElementResult;
4033 __pHitElementResult = null;
4036 if (__pWebViewer != null)
4038 AppLog("MainForm::OnWebPageBlockSelected web not null");
4039 __pHitElementResult = __pWebViewer->GetElementByPointN(startPoint);
4041 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
4043 AppLog("datafirst startpoint error %s",GetErrorMessage(GetLastResult()));
4044 __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint);
4045 if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false))
4047 __pHitElementResult = __pWebViewer->GetElementByPointN(__longPressPoint);
4049 AppLog("datafirst endpoint error %s",GetErrorMessage(GetLastResult()));
4053 if (__pHitElementResult == null)
4058 if (__pHitElementResult->HasImage() != true)
4060 String tagName = __pHitElementResult->GetTagName();
4061 String type = __pHitElementResult->GetAttributeValue("type");
4062 String contenteditable = __pHitElementResult->GetAttributeValue("contenteditable");
4065 AppLog("TagName %ls",tagName.GetPointer());
4066 __currentSelectedStr.Clear();
4067 AppLog("__currentSelectedStr after clear %ls",__currentSelectedStr.GetPointer());
4068 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4069 AppLog("__currentSelectedStr after GetTextFromBlock %ls",__currentSelectedStr.GetPointer());
4070 if(tagName.Equals(L"TEXTAREA",false) == true)
4072 AppLog("Tagnameseemstobe TEXTAREA");
4074 else if(tagName.Equals(L"INPUT",false) == true)
4076 AppLog("Tagnameseemstobe INPUT");
4079 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 )
4081 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4083 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),true);
4086 __pImageMenu->SetShowState(true);
4087 __pImageMenu->Show();
4088 __pImageMenu->Invalidate(true);
4091 else /*if(__isLongPressedDone == true)*/
4093 AppLog("MainForm::OnWebPageBlockSelected no paste option");
4095 if(__pHitElementResult->GetUrl().GetLength() > 0)
4097 __currentSelectedStr.Clear();
4098 __currentSelectedStr = __pHitElementResult->GetUrl();
4100 InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),false);
4103 __pImageMenu->SetShowState(true);
4104 __pImageMenu->Show();
4105 __pImageMenu->Invalidate(true);
4109 AppLog("MainForm::OnWebPageBlockSelected block text is %ls",__currentSelectedStr.GetPointer());
4110 AppLog("MainForm::OnWebPageBlockSelected tag name is %ls",tagName.GetPointer());
4111 AppLog("MainForm::OnWebPageBlockSelected type name is %ls",type.GetPointer());
4117 MainForm::OnWebPageShowRequested(Tizen::Web::Controls::Web& source)
4123 MainForm::OnWebWindowCreateRequested(void)
4125 AppLog("MainForm::OnWebWindowCreateRequested entered");
4126 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4128 if (pNewWindowInfo == null)
4132 result r = E_SUCCESS;
4133 SceneManager* pSceneManager = SceneManager::GetInstance();
4134 if (pSceneManager == NULL)
4138 ArrayList* pArgList = new(std::nothrow) ArrayList();
4139 if (pArgList == NULL)
4143 r = pArgList->Construct();
4146 pNewWindowInfo->isJavascriptInitiated = true;
4147 pArgList->Add(*pNewWindowInfo);
4148 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4152 AppLogDebug("EditHistoryListForm::OnFormBackRequested Failed to GoBackward %s",GetErrorMessage(r));
4159 return pNewWindowInfo->pCurrentWeb;
4163 MainForm::OnWebWindowCloseRequested(Tizen::Web::Controls::Web& source)
4165 AppLog("OnWebWindowCloseRequested");
4166 ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList();
4167 SceneManager* pSceneManager = SceneManager::GetInstance();
4168 WindowInfo* pWindowInfo = null;
4169 WindowInfo* pNewWindowInfo = null;
4172 result r = E_FAILURE;
4174 if (pAllWindowList != null)
4176 totalCount = pAllWindowList->GetCount();
4179 for (int count = 0; count < totalCount; count++)
4181 pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count));
4183 if (__pWindowInfo != null && pWindowInfo != null && __pWindowInfo->sceneID == pWindowInfo->sceneID)
4185 r = SceneRegister::DestroyAndUnRegisterScene(__pWindowInfo->sceneID);
4186 r = pAllWindowList->RemoveAt(count, true);
4188 Form* pCurrentForm = null;
4189 if(SceneManager::GetInstance()->GetCurrentScene() != null)
4190 pCurrentForm = (SceneManager::GetInstance()->GetCurrentScene()->GetForm());
4193 pCurrentForm->SendUserEvent(UPDATE_MAINFORM_FOOTER_ON_WINDOWCLOSED, null);
4196 if (pAllWindowList->GetCount() > 0)
4198 pNewWindowInfo = null;
4199 pNewWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1));
4203 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN();
4205 if (pNewWindowInfo == null)
4209 result r = E_SUCCESS;
4210 SceneManager* pSceneManager = SceneManager::GetInstance();
4211 if (pSceneManager == NULL)
4215 ArrayList* pArgList = new(std::nothrow) ArrayList();
4216 if (pArgList == NULL)
4220 r = pArgList->Construct();
4223 pArgList->Add(*pNewWindowInfo);
4224 result r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
4225 if (pArgList != null)
4232 AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r));
4237 pApp = UiApp::GetInstance();
4240 r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED);
4244 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY));
4255 MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter)
4257 AppLog("xyz:: MainForm::RelayoutControls called");
4258 __webControlPosition.y = 0;
4259 __webControlHeight = GetClientAreaBounds().height;
4260 AppLog("Client area height: %d width %d", __webControlHeight,GetClientAreaBounds().width);
4262 AppLog("Client area height: %d", __webControlHeight);
4263 if(__pAddressbar != null && __pAddressbar->GetShowState() == true)
4265 __webControlPosition.y += __pAddressbar->GetHeight();
4266 __webControlHeight -= __pAddressbar->GetHeight();
4267 __pAddressbar->SetBounds(0, 0, __pAddressbar->GetWidth(), __pAddressbar->GetHeight());
4269 else if(__pFindWordControl != null && __pFindWordControl->GetShowState() == true)
4271 __webControlPosition.y += __pFindWordControl->GetHeight();
4272 __webControlHeight -= __pFindWordControl->GetHeight();
4273 __pFindWordControl->SetBounds(0, 0, GetClientAreaBounds().width, __pFindWordControl->GetHeight());
4276 if(__pFooterPanel != null && __pFooterPanel->GetShowState() == true && relayoutFooter == true)
4278 __webControlHeight -= __pFooterPanel->GetHeight();
4280 __pFooterPanel->SetBounds(0, __webControlPosition.y + __webControlHeight, GetClientAreaBounds().width, __pFooterPanel->GetHeight());
4281 __webControlHeight = __webControlHeight + 12;
4283 if (__pWebViewer != null && __pWebViewer->GetShowState() == true)
4285 if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight )
4290 __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight );
4291 AppLog("xyz:: MainForm::RelayoutControls called __webControlHeight %d",__webControlHeight);
4292 __pWebViewer->Invalidate(false);
4295 if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null)
4297 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__webControlPosition.y , GetClientAreaBounds().width, __webControlHeight));
4304 MainForm::ShowFindWordPanel(bool show , bool isTouchPressed)
4306 if (__pFindWordControl == null)
4311 Tizen::Locales::LocaleManager localeManager;
4312 Tizen::Locales::Locale local = localeManager.GetSystemLocale();
4314 String languageCode;
4315 result r = SettingInfo::GetValue(L"Language", languageCode);
4316 // int languagecode = local.GetLanguageCode();
4317 AppLog("rahul language is %S", languageCode.GetPointer());
4321 InitFindWordPanel();
4323 if (languageCode.CompareTo("ara") == 0)
4325 AppLog("rahul language is arabic");
4327 __pFindWordPanelLeftToRight->SetShowState(false);
4328 __pFindWordPanelRightToLeft->SetShowState(true);
4330 __pFindWordClear->SetShowState(false);
4331 __pFindWordCountLabel->SetShowState(false);
4332 __pFindWordEditField->SetShowState(false);
4334 __pFindWordClearRightToLeft->SetShowState(true);
4335 __pFindWordCountLabelRightToLeft->SetShowState(true);
4336 __pFindWordEditFieldRightToLeft->SetShowState(true);
4340 AppLog("rahul language is not arabic");
4343 __pFindWordPanelLeftToRight->SetShowState(true);
4344 __pFindWordPanelRightToLeft->SetShowState(false);
4346 __pFindWordClear->SetShowState(true);
4347 __pFindWordCountLabel->SetShowState(true);
4348 __pFindWordEditField->SetShowState(true);
4350 __pFindWordClearRightToLeft->SetShowState(false);
4351 __pFindWordCountLabelRightToLeft->SetShowState(false);
4352 __pFindWordEditFieldRightToLeft->SetShowState(false);
4354 __pFindWordControl->SetShowState(true);
4358 if(__pFindWordControl != null)
4360 __pFindWordControl->SetShowState(false);
4364 AppLog("MainForm::ShowFindWordPanel %d",show);
4365 if (show && !isTouchPressed)
4367 if (languageCode.CompareTo("ara") == 0)
4369 if (__pFindWordEditFieldRightToLeft)
4371 __pFindWordEditFieldRightToLeft->SetFocus();
4372 __pFindWordEditFieldRightToLeft->ShowKeypad();
4377 if (__pFindWordEditField)
4379 __pFindWordEditField->SetFocus();
4380 __pFindWordEditField->ShowKeypad();
4386 if (languageCode.CompareTo("ara") == 0)
4388 if (__pFindWordEditFieldRightToLeft)
4389 __pFindWordEditFieldRightToLeft->HideKeypad();
4393 if (__pFindWordEditField)
4394 __pFindWordEditField->HideKeypad();
4398 RelayoutControls(false);
4402 MainForm::StartWordSearch()
4404 //Get the count of occurances of the word in the current page
4405 __maxOccurrances = 0;
4406 __currentWordIndex = 0;
4408 __pFindWordPrev->SetEnabled(false);
4409 String *pCountStr = null;
4412 result r = __pWebViewer->SearchTextAllAsync(__currentSearchStr, false);
4413 AppLog("Search Result %s",GetErrorMessage(r));
4416 /*__pWebViewer->EvaluateJavascriptN(L"document.body.textContent.match(/" + __currentSearchStr + "/gi).length;");
4417 if (pCountStr != null)
4419 Integer::Parse(*pCountStr, 10, __maxOccurrances);
4423 AppLogDebug("'%ls' is found %d times", __currentSearchStr.GetPointer(), __maxOccurrances);
4428 void MainForm::OnTextFound(int totalCount, int currentOrdinal)
4430 AppLog("MainForm::OnTextFound totalCount %d",totalCount);
4431 AppLog("MainForm::OnTextFound currentOrdinal %d",currentOrdinal);
4435 if (__pFindWordCountLabel)
4437 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
4439 if (__pFindWordEditField)
4441 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
4444 else if(totalCount >= 100)
4446 if (__pFindWordCountLabel)
4448 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4450 if (__pFindWordEditField)
4452 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4457 if (__pFindWordCountLabel)
4459 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4461 if (__pFindWordEditField)
4463 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
4467 __maxOccurrances = totalCount;
4468 __currentWordIndex = currentOrdinal;
4470 //Reset the UI controls as per the maxOccurrance value
4471 if (totalCount <= 0)
4473 AppLog("Word not found");
4474 //Show error notification to user
4475 __pFindWordNext->SetEnabled(false);
4476 if(__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4478 __pFindWordCountLabel->SetText(L"0/0");
4479 __pFindWordCountLabel->Invalidate(false);
4481 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4483 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4484 __pFindWordCountLabelRightToLeft->Invalidate(false);
4486 __pFindWordNext->Invalidate(false);
4487 __pFindWordPrev->Invalidate(false);
4492 if (totalCount == 1 || totalCount == currentOrdinal)
4494 __pFindWordNext->SetEnabled(false);
4498 __pFindWordNext->SetEnabled(true);
4501 String countStr = L"";
4502 countStr.Append(__currentWordIndex);
4503 countStr.Append(L"/");
4504 countStr.Append(__maxOccurrances);
4505 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4507 __pFindWordCountLabel->SetText(countStr);
4508 __pFindWordCountLabel->Invalidate(false);
4509 __pFindWordCountLabel->Invalidate(false);
4511 else if (__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4513 __pFindWordCountLabelRightToLeft->SetText(countStr);
4514 __pFindWordCountLabelRightToLeft->Invalidate(false);
4515 __pFindWordCountLabelRightToLeft->Invalidate(false);
4517 if (__pFindWordNext)
4519 __pFindWordNext->Invalidate(false);
4521 if (__pFindWordPrev)
4523 __pFindWordPrev->Invalidate(false);
4529 MainForm::FindNextWord(bool next)
4533 //if (__pWebViewer->SearchText(__currentSearchStr, true) == true)
4534 if (__pWebViewer->SearchNextAsync(true) == E_SUCCESS)
4536 if (__currentWordIndex < __maxOccurrances)
4538 __currentWordIndex++;
4544 //if (__pWebViewer->SearchText(__currentSearchStr, false) == true)
4545 if (__pWebViewer->SearchNextAsync(false) == E_SUCCESS)
4547 if(__currentWordIndex > 1)
4549 __currentWordIndex--;
4554 String countStr = L"";
4555 countStr.Append(__currentWordIndex);
4556 countStr.Append(L"/");
4557 countStr.Append(__maxOccurrances);
4559 if (__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true)
4561 __pFindWordCountLabel->SetText(countStr);
4562 __pFindWordCountLabel->Invalidate(false);
4564 else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true)
4566 __pFindWordCountLabelRightToLeft->SetText(countStr);
4567 __pFindWordCountLabelRightToLeft->Invalidate(false);
4570 if (__currentWordIndex >= __maxOccurrances)
4572 __pFindWordNext->SetEnabled(false);
4576 __pFindWordNext->SetEnabled(true);
4578 if (__currentWordIndex <= 1)
4580 __pFindWordPrev->SetEnabled(false);
4584 __pFindWordPrev->SetEnabled(true);
4586 __pFindWordPrev->Invalidate(false);
4587 __pFindWordNext->Invalidate(false);
4589 __pFindWordControl->Invalidate(true);
4593 MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
4595 AppLog("xyz::MainForm::OnWebKeypadWillOpen");
4596 __isKeypadOpened = true;
4597 __pFooterPanel->SetShowState(false);
4598 // OnAddressBarKeypadOpened(*__pAddressbar);
4602 MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source)
4604 __isKeypadOpened = true;
4605 AppLog("xyz::MainForm::OnWebKeypadOpened");
4607 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4609 __currentSearchStr = L"";
4610 __currentWordIndex = 0;
4611 __maxOccurrances = 0;
4612 __pFindWordEditField->SetText(L"");
4613 __pFindWordNext->SetEnabled(false);
4614 __pFindWordPrev->SetEnabled(false);
4615 __pFindWordCountLabel->SetText(L"0/0");
4616 __pWebViewer->SearchTextAllAsync(L"",false);
4617 __pFindWordControl->SetShowState(false);
4618 __pFindWordEditField->HideKeypad();
4622 if (__pWebViewer != null && __pFooterPanel != null)
4624 AppLog("MainForm::OnWebKeypadOpened GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
4625 if(__pAddressbar != null)
4627 __pAddressbar->SetShowState(false);
4629 if(__pFindWordControl != null)
4631 __pFindWordControl->SetShowState(false);
4633 __pFooterPanel->SetShowState(false);
4634 __pWebViewer->SetBounds(Rectangle(0, 0,GetClientAreaBounds().width, GetClientAreaBounds().height));
4636 // if(__pImageMenu && __pImageMenu->GetShowState() == true)
4638 // __pImageMenu->SetAnchorPosition(Point(__pImageMenu->GetAnchorPosition().x/2,__pImageMenu->GetAnchorPosition().y/2));
4639 // AppLog("omgomgomg");
4645 MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source)
4647 AppLog("abcde::MainForm::OnWebKeypadClosed");
4648 AppLog("xyz::MainForm::OnWebKeypadClosed");
4649 AppLog("akjshdasd 4");
4650 __pFooterPanel->SetShowState(true);
4651 // OnAddressBarKeypadClosed(*__pAddressbar);
4652 RelayoutControls(false);
4653 __isKeypadOpened = false;
4656 if(__pImageMenu && __pImageMenu->GetShowState() == true)
4658 AppLog("abcde: imagemenu visible.");
4661 __pWebViewer->GetBlockRange(p,q);
4662 if (p == Point(0,0) && q == Point(0,0))
4670 __pImageMenu->SetAnchorPosition(p);
4671 __pImageMenu->Show();
4677 MainForm::OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source)
4679 // RelativeLayout(false);
4680 if(__pWebViewer != null)
4682 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,GetClientAreaBounds().height));
4687 MainForm::OnTouchDoublePressed(const Control& source, const Point& currentPosition, const TouchEventInfo& touchInfo)
4689 Control* temp = const_cast< Control* >(&source);
4690 Header* pHeader = dynamic_cast< Header* >(temp);
4691 if (pHeader != null)
4693 //Header double - clicked
4694 AppLog("Header double clicked");
4696 if(__pFindWordControl)
4698 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
4699 ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
4703 AppLog("MainScene::OnTouchDoublePressed");
4707 void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4709 AppLog("LMN::abcde::MainForm::OnTouchLongPressed %d, %d" ,currentPosition.x,currentPosition.y);
4710 if(TouchEventManager::GetInstance() && TouchEventManager::GetInstance()->GetTouchInfoListN() && TouchEventManager::GetInstance()->GetTouchInfoListN()->GetCount() >1)
4712 AppLog("Returning because of more than one touch point.");
4716 // __pWebViewer->ReleaseBlock();
4718 __pWebViewer->SetFocus();
4719 __longPressPoint = currentPosition;
4721 if (__pHitElementResult != null)
4723 delete __pHitElementResult;
4724 __pHitElementResult = null;
4727 if (__pWebViewer != null)
4729 AppLog("MainForm::OnTouchLongPressed web not null");
4730 __pHitElementResult = __pWebViewer->GetElementByPointN(currentPosition);
4733 if (__pHitElementResult == null)
4738 if (__pHitElementResult->HasImage() == true)
4740 if(__pWebViewer != null)
4742 __pWebViewer->ReleaseBlock();//N_SE-52389
4743 InitImageContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4745 __pImageMenu->SetShowState(true);
4746 __pImageMenu->Show();
4747 __pImageMenu->Invalidate(true);
4749 else if(__pHitElementResult->HasUrl() == true)
4751 if(__pWebViewer != null)
4752 __pWebViewer->ReleaseBlock();//N_SE-52389
4753 String tempURl = __pHitElementResult->GetUrl();
4754 AppLog("tempURl is %ls", tempURl.GetPointer());
4755 const Bitmap* pBitmap = __pHitElementResult->GetImage();
4756 if (pBitmap != null)
4764 InitImageLinkContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY()));
4765 __pImageMenu->SetShowState(true);
4766 __pImageMenu->Show();
4767 __pImageMenu->Invalidate(true);
4771 String tagName = __pHitElementResult->GetTagName();
4772 String type = __pHitElementResult->GetAttributeValue("type");
4773 String value = __pHitElementResult->GetAttributeValue(L"value");
4774 String innerHtml = __pHitElementResult->GetAttributeValue(L"innerHTML");
4775 result r = E_FAILURE;
4776 __currentSelectedStr.Clear();
4777 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
4779 AppLog("tag name is %ls", tagName.GetPointer());
4780 AppLog("type is %ls", type.GetPointer());
4784 __isLongPressedDone = true;
4785 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)
4786 r =__pWebViewer->SetBlockSelectionPosition(currentPosition);
4787 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)
4789 AppLog("MainForm::OnWebPageBlockSelected show paste option");
4791 InitSelectTextContextMenu(Point(currentPosition.x , currentPosition.y + __pWebViewer->GetY()),true, true);
4794 __pImageMenu->SetShowState(true);
4795 __pImageMenu->Show();
4796 __pImageMenu->Invalidate(true);
4799 AppLog("setselectionselectedornot %s",GetErrorMessage(r));
4802 // __inputEventToBeSupressed = true;
4806 MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
4808 AppLog("xyz:: MainForm::OnTouchReleased called");
4810 if (__pAddressbar && __pAddressbar->GetShowState() == true)
4812 __pAddressbar->SetShowState(false);
4814 if(__pFooterPanel && __isKeypadOpened == false)
4816 __pFooterPanel->SetShowState(true);
4820 /*HitElementResult* pHitElement = __pWebViewer->GetElementByPointN(currentPosition);
4821 if(pHitElement != null && pHitElement->HasUrl() == true && __inputEventToBeSupressed == true)
4823 __pWebViewer->ConsumeInputEvent();
4825 if(pHitElement != null)
4829 __inputEventToBeSupressed = false;*/
4833 MainForm::OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4840 MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4842 if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
4844 __currentSearchStr = L"";
4845 __currentWordIndex = 0;
4846 __maxOccurrances = 0;
4848 if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
4850 __pFindWordEditField->SetText(L"");
4851 __pFindWordEditField->HideKeypad();
4852 __pFindWordControl->SetShowState(false);
4853 __pFindWordCountLabel->SetText(L"0/0");
4855 else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
4857 __pFindWordEditFieldRightToLeft->SetText(L"");
4858 __pFindWordEditFieldRightToLeft->HideKeypad();
4859 __pFindWordControl->SetShowState(false);
4860 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
4863 __pFindWordNext->SetEnabled(false);
4864 __pFindWordPrev->SetEnabled(false);
4866 __pWebViewer->SearchTextAllAsync(L"",true);
4867 __pFindWordControl->SetShowState(false);
4869 AppLog("__pAddressbar->GetShowState() %d",__pAddressbar->GetShowState());
4870 if(__pAddressbar->GetShowState() == false)
4872 __pAddressbar->SetAddressbarURLFocus();
4873 __pFooterPanel->SetShowState(false);
4880 MainForm::OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4886 MainForm::OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4892 MainForm::OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4898 MainForm::OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4904 MainForm::OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
4910 MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
4912 AppLog("MainForm::OnOrientationChanged GetClientAreaBounds %d, %d",GetClientAreaBounds().width,GetClientAreaBounds().height);
4913 int widthContextItem = 0;
4914 if(__pFindWordCountLabel)
4915 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
4916 // As per the platform engineer comment removed this line
4917 /*if(__pWebViewer != null)
4919 // 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
4920 __pWebViewer->ReleaseBlock();
4923 // if(__pFindWordControl != null)
4924 // ShowFindWordPanel(__pFindWordControl->GetShowState(), false);
4926 if(__pOptionMenu && __pOptionMenu->GetShowState() == true)
4928 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4930 AppLog(" Orientation landscape");
4931 __pOptionMenu->SetMaxVisibleItemsCount(5);
4935 AppLog(" Orientation potrait");
4936 __pOptionMenu->SetMaxVisibleItemsCount(6);
4939 if(__pNotification && __pNotification->GetShowState() == true)
4941 __pNotification->SetShowState(false);
4942 __pNotification->Invalidate(false);
4944 if ( __pFooterLabel != null)
4946 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight());
4949 __pFooterLabel->SetBackgroundBitmap(*pBitmap);
4955 if (__pFindWordBgLabel != null)
4957 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
4958 if (pBitmap != null)
4960 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
4965 if (__pFindWordBgLabelRightToLeft != null)
4967 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_FINDWORD_INPUT_FIELD_BG, __pFindWordBgLabelRightToLeft->GetWidth(), __pFindWordBgLabelRightToLeft->GetHeight());
4968 if (pBitmap != null)
4970 __pFindWordBgLabelRightToLeft->SetBackgroundBitmap(*pBitmap);
4976 // if(__pOptionMenu != null)
4977 // __pOptionMenu->SetShowState(false);
4979 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
4981 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE;
4985 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT;
4990 AppLog("__pFooterPanel->GetShowState() is true");
4992 __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), __pFooterPanel->GetWidth(), __pFooterPanel->GetHeight());
4993 __pFooterPanel->Invalidate(true);
4997 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
4998 if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
5000 InitMostVisitedSitesView(orientationStatus);
5003 RelayoutControls(false);
5004 if (__pArticleReaderPanel != null)
5006 if (__pArticleReaderPanel->GetShowState() == true)
5008 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
5010 if (__pBlankPanel != null)
5011 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
5013 if (__pWebReader != null)
5015 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight() - 96));
5017 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
5018 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
5020 if ( pBitmap != null && pSrcBitmap != null)
5022 AppLog("CreateReaderPanel ninepatchbitmap found");
5023 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
5026 __pArticleReaderLabel->SetBounds(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()));
5027 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
5028 if (pBitmap != null)
5033 if (pSrcBitmap != null)
5042 if (__pAddressbar != null)
5044 int width = GetClientAreaBounds().width;
5045 __pAddressbar->OrientationChanged(width);
5050 MainForm::OnSettingsChange(int settingvalue)
5052 AppLogDebug("MainForm::OnSettingsChange entered");
5054 if(settingvalue == (int)REGISTRY_SETTING_HOMEPAGE)
5056 __pAddressbar->ResetGuideText();
5058 if (__pWebViewer == null)
5060 AppLogDebug("Webviewer is not initialized yet.");
5064 if (settingvalue == (int) REGISTRY_SETTING_DEFAULT_VIEW)
5066 WebSetting settings = __pWebViewer->GetSetting();
5067 if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_FIT_TO_WIDTH")) == 0)
5069 settings.SetAutoFittingEnabled(true);
5071 else if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo((L"IDS_BR_BODY_READABLE")) == 0)
5073 settings.SetAutoFittingEnabled(false);
5075 __pWebViewer->SetSetting(settings);
5078 else if (settingvalue == (int) REGISTRY_SETTING_RUN_JAVASCRIPT)
5080 WebSetting settings = __pWebViewer->GetSetting();
5081 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
5082 __pWebViewer->SetSetting(settings);
5084 else if (settingvalue == (int) REGISTRY_SETTING_DISPLAY_IMAGES)
5086 WebSetting settings = __pWebViewer->GetSetting();
5087 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
5088 __pWebViewer->SetSetting(settings);
5089 __pWebViewer->Reload();
5091 else if (settingvalue == (int) REGISTRY_SETTING_BLOCK_POPUP)
5093 WebSetting settings = __pWebViewer->GetSetting();
5094 settings.SetJavaScriptPopupEnabled(SettingPresentationModel::GetInstance()->IsBlockPopUp());
5095 __pWebViewer->SetSetting(settings);
5097 else if (settingvalue == (int) REGISTRY_SETTING_ACCEPT_COOKIES)
5101 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
5104 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_FORM_DATA)
5108 WebSetting settings = __pWebViewer->GetSetting();
5109 settings.SetAutoFormDataShowEnabled(SettingPresentationModel::GetInstance()->IsRememberFormData());
5110 __pWebViewer->SetSetting(settings);
5113 else if(settingvalue == (int) REGISTRY_SETTING_REMEMBER_PASSWORD)
5117 WebSetting settings = __pWebViewer->GetSetting();
5118 settings.SetAutoLoginFormFillEnabled(SettingPresentationModel::GetInstance()->IsRememberPassword());
5119 __pWebViewer->SetSetting(settings);
5122 else if (settingvalue == (int) REGISTRY_SETTING_SHOW_SECURITY_WARNINGS)
5124 WebSetting settings = __pWebViewer->GetSetting();
5125 if (SettingPresentationModel::GetInstance()->IsSecurityWarningsEnabled() == true)
5127 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_USER_CONFIRM);
5131 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_CONTINUE);
5133 __pWebViewer->SetSetting(settings);
5135 else if (settingvalue == (int) REGISTRY_SETTING_READER_FONT_SIZE)
5139 AppLogDebug("IntMainForm fontsize Changed to %d",SettingPresentationModel::GetInstance()->GetReaderFontSize());
5140 WebSetting settings = __pWebReader->GetSetting();
5141 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
5142 __pWebReader->SetSetting(settings);
5148 MainForm::OnSettingsReset()
5152 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
5153 __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
5158 MainForm::OnClearCache()
5160 result r = E_SUCCESS;
5162 if (__pWebViewer != NULL)
5164 r = __pWebViewer->ClearCache();
5167 AppLogDebug("Cache cleared success");
5171 AppLogDebug("Cache cleared fail");
5177 MainForm::OnClearCookie()
5179 result r = E_SUCCESS;
5181 if (__pWebViewer != NULL)
5183 __pWebViewer->ClearCookie();
5187 AppLogDebug("Cookie cleared success");
5191 AppLogDebug("Cache cleared fail");
5196 MainForm::OnClearFormData()
5198 result r = E_SUCCESS;
5200 if (__pWebViewer != NULL)
5202 __pWebViewer->ClearFormData();
5206 AppLogDebug("Cookie cleared success");
5210 AppLogDebug("Cache cleared fail");
5215 MainForm::OnClearPasswords()
5217 result r = E_SUCCESS;
5219 if (__pWebViewer != NULL)
5221 __pWebViewer->ClearLoginFormData();
5225 AppLogDebug("Cookie cleared success");
5229 AppLogDebug("Cache cleared fail");
5235 MainForm::findDistance(int x1,int y1,int x2, int y2)
5237 int deltaX = Math::Abs(x2 - x1);
5238 int deltaY = Math::Abs(y2 - y1);
5239 double num = deltaX*deltaX + deltaY*deltaY;
5245 for (i = 0; i < 20; i++)
5247 x = (((x*x)+ num)/(2*x));
5258 MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5260 AppLog("xyz:: MainForm::OnTouchPressed called");
5261 if(__pFindWordControl)
5263 AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
5264 // ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
5266 __isLongPressedDone = false;
5271 IList* pList = null;
5272 pList = touch.GetTouchInfoListN(source);
5276 int count = pList->GetCount();
5279 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5280 __touchPoint1 = pTouchInfo->position;
5282 /*if (__pAddressbar != null)
5284 if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && __pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5286 if (__pAddressbar->GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5288 __pAddressbar->SaveAddressbarEditText();
5290 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5293 __pAddressbar->Invalidate(true);
5295 if (GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
5297 if (GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
5299 //__pAddressbar->SaveAddressbarEditText();
5301 SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
5304 else if (count == 2)
5306 AppLogDebug("MainForm::OnTouchPressed count is two");
5307 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
5308 __touchPoint1 = pTouchInfo->position;
5310 pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(1));
5311 __touchPoint2 = pTouchInfo->position;
5316 pList->RemoveAll(true);
5321 __pAddressbar->SetShowState(false);
5323 if(__pFooterPanel && __isKeypadOpened == false)
5325 __pFooterPanel->SetShowState(true);
5327 RelayoutControls(false);
5332 MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
5334 AppLog("LMN::MainForm::OnTouchMoved entered");
5335 // __currentWordIndex = 0;
5336 __isLongPressedDone = false;
5341 MainForm::MoveUiControls()
5346 MainForm::OnTextValueChanged (const Tizen::Ui::Control &source)
5348 if(&source == dynamic_cast<Control*>(__pFooterUrlField) && __pFooterUrlField != null)
5350 if(__pFooterUrlField->GetTextLength() == 0)
5352 __pFooterUrlField->SetKeypadActionEnabled(false);
5356 __pFooterUrlField->SetKeypadActionEnabled(true);
5359 if (__pFindWordEditField != null && __pFindWordEditField->GetShowState() == true)
5361 __currentSearchStr = __pFindWordEditField->GetText();
5362 if (__currentSearchStr.GetLength() > 0)
5364 __pFindWordCountLabel->SetShowState(true);
5368 // __pFindWordCountLabel->SetShowState(false);
5369 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
5370 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
5373 __pFindWordNext->SetEnabled(false);
5374 __pFindWordPrev->SetEnabled(false);
5375 __pFindWordNext->Invalidate(true);
5376 __pFindWordPrev->Invalidate(true);
5377 __pFindWordCountLabel->SetText(L"0/0");
5378 __pFindWordCountLabel->Invalidate(true);
5380 else if (__pFindWordEditFieldRightToLeft != null && __pFindWordEditFieldRightToLeft->GetShowState() == true)
5382 __currentSearchStr = __pFindWordEditFieldRightToLeft->GetText();
5383 if (__currentSearchStr.GetLength() > 0)
5385 __pFindWordCountLabelRightToLeft->SetShowState(true);
5389 __pFindWordCountLabelRightToLeft->SetShowState(false);
5392 __pFindWordNext->SetEnabled(false);
5393 __pFindWordPrev->SetEnabled(false);
5394 __pFindWordNext->Invalidate(true);
5395 __pFindWordPrev->Invalidate(true);
5396 __pFindWordCountLabelRightToLeft->SetText(L"0/0");
5397 __pFindWordCountLabelRightToLeft->Invalidate(true);
5399 AppLog("__currentSearchStr %ls",__currentSearchStr.GetPointer());
5400 if (__currentSearchStr.GetLength() > 0)
5406 __currentSearchStr = L"aaaaaaaabbbbbbbccccccc";
5408 __currentSearchStr = L"";
5409 AppLogDebug("Enter something");
5414 MainForm::InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus)
5421 MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus)
5423 if(__pWebViewer != null)
5426 AppLog("MainForm::InitMostVisitedSitesView");
5427 result r = E_SUCCESS;
5430 if (__pMostVisitedListView != null)
5435 if (__pMostVisitedListView != null)
5437 RemoveControl(__pMostVisitedListView);
5439 if(__pMostVisitedSites != null)
5441 __pMostVisitedSites->RemoveAll(true);
5444 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
5446 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
5447 __pMostVisitedListView = new(std::nothrow) ListView();
5449 int height = GetClientAreaBounds().height;
5451 if(__pFooterPanel->GetShowState() == true)
5453 height = height - __pFooterPanel->GetHeight();
5455 if(__pAddressbar->GetShowState() == true)
5457 height -= __pAddressbar->GetHeight();
5460 r = __pMostVisitedListView->Construct(Tizen::Graphics::Rectangle(0,0 , GetClientAreaBounds().width, height),true,false);
5464 delete __pMostVisitedListView;
5465 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
5468 __pMostVisitedListView->SetItemProvider(*this);
5469 __pMostVisitedListView->AddListViewItemEventListener(*this);
5470 __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_VISITED_SITES"));
5471 AddControl(__pMostVisitedListView);
5472 __pMostVisitedListView->UpdateList();
5479 MainForm::GetImagePath(void)
5483 String formattedTime;
5484 DateTime currentTime;
5485 LocaleManager localManager;
5486 SystemTime::GetCurrentTime(TIME_MODE_WALL, currentTime);
5488 localManager.Construct();
5489 Locale locale = localManager.GetSystemLocale();
5490 //Locale locale(LANGUAGE_ENG, COUNTRY_US);
5492 // Get date formatter
5493 DateTimeFormatter* pTimeFormatter = DateTimeFormatter::CreateDateTimeFormatterN(locale, DATE_TIME_STYLE_DEFAULT);
5497 pTimeFormatter->Format(currentTime, formattedTime);
5500 AppLog("current time stamp is %ls", formattedTime.GetPointer());
5501 String delim(L" :");
5502 StringTokenizer strTok(formattedTime, delim);
5505 String str1("GMT+00");
5506 while (strTok.HasMoreTokens())
5508 strTok.GetNextToken(token); // Osp, StringTokenizer, Sample, code
5509 if(token.Equals(str1))
5511 AppLog("token is %ls", token.GetPointer());
5512 imageName.Append(token);
5518 void MainForm::UpdateImageContent(ByteBuffer* aBuffer, String imageName)
5520 result r = E_FAILURE;
5521 AppLog("Content manager 1");
5522 ContentId contentId;
5523 ContentManager contentManager;
5524 r = contentManager.Construct();
5527 AppLog("Content manager update content result %s" ,GetErrorMessage(r));
5530 Tizen::Base::String contentPath = Tizen::System::Environment::GetMediaPath() + L"Downloads/";
5531 Tizen::Io::Directory::Create(contentPath,true);
5532 if(GetLastResult() == E_FILE_ALREADY_EXIST)
5534 AppLog("Already exists");
5536 else if(GetLastResult() == E_SUCCESS)
5538 AppLog("created success");
5540 contentPath.Append(imageName);
5541 contentPath.Append(".jpg");
5542 contentId = contentManager.CreateContent(*aBuffer, contentPath);
5543 ShowIndicatorNotification(L"Download Complete",contentPath);
5544 AppLog("Content manager update content result %s" ,GetErrorMessage(GetLastResult()));
5548 MainForm::ShowIndicatorNotification(const String& messageText, const String& contentPath)
5550 AppLogDebug("ENTER");
5552 NotificationRequest request;
5553 request.SetAlertText(messageText);
5554 request.SetTitleText(L"");
5555 request.SetAppMessage(contentPath);
5556 request.SetOngoingActivityType(ONGOING_ACTIVITY_TYPE_TEXT);
5557 request.SetNotificationStyle(NOTIFICATION_STYLE_THUMBNAIL);
5558 Tizen::App::App* pApp = Tizen::App::App::GetInstance();
5559 String homePath = pApp->GetAppRootPath();
5560 String iconPath = homePath + L"res/screen-density-xhigh/Notification_download_complete.png";
5561 AppLog("The iconPath is : %ls", homePath.GetPointer());
5562 request.SetIconFilePath(iconPath);
5564 Tizen::Shell::NotificationManager notiMgr;
5565 notiMgr.Construct();
5566 notiMgr.NotifyOngoingActivity(request);
5567 AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult()));
5572 MainForm::SetForwardButtonEnabled(bool isEnabled)
5574 __pGoForwardBtn->SetEnabled(isEnabled);
5575 __pGoForwardBtn->Invalidate(true);
5579 MainForm::SetBackButtonEnabled(bool isEnabled)
5581 __pGoBackBtn->SetEnabled(isEnabled);
5582 __pGoBackBtn->Invalidate(true);
5586 MainForm::UpdateProgress(int percentage)
5588 __progressPercentage = percentage;
5589 if (percentage == 0 || percentage == 100)
5591 __isLoadingData = false;
5592 if (percentage == 100)
5594 __isLoadingCompleted = true;
5595 __progressPercentage = 0;
5599 __isLoadingCompleted = false;
5604 __isLoadingData = true;
5606 UpdateProgressBitmap();
5610 MainForm::GetProgress(void)
5612 return __progressPercentage;
5616 MainForm::UpdateProgressBitmap(void)
5618 result r = E_SUCCESS;
5619 if (__pProgressbarLabel == null)
5621 int w = __pProgressbarLabel->GetWidth();
5622 int h = __pProgressbarLabel->GetHeight();
5624 int progressWidth = 0;
5625 Bitmap* pRetBitmap = null;
5627 if (__progressPercentage == 0 || __progressPercentage == 100)
5629 __pProgressbarLabel->SetShowState(false);
5630 __pProgressbarLabel->Invalidate(false);
5635 __pProgressbarLabel->SetShowState(true);
5636 __pProgressbarLabel->Invalidate(false);
5639 r = canvas.Construct(Rectangle(0, 0, w, h));
5643 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
5648 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
5652 pBgBmp->Scale(Dimension(w, h));
5653 canvas.DrawBitmap(Point(0,0), *pBgBmp);
5657 progressWidth = (double) (w) * __progressPercentage / 100;
5658 AppLogDebug("progressWidth: %d", progressWidth);
5659 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
5661 if (pProgressBmp != null)
5663 pProgressBmp->Scale(Dimension(progressWidth, h));
5664 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
5665 delete pProgressBmp;
5668 pRetBitmap = new (std::nothrow) Bitmap();
5670 if (pRetBitmap == null)
5672 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
5676 pRetBitmap->Construct(canvas, canvas.GetBounds());
5678 if (__pProgressbarLabel != null && pRetBitmap != null)
5680 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
5681 __pProgressbarLabel->Invalidate(false);
5684 if (pRetBitmap != null)
5693 MainForm::ReaderClicked()
5695 result r = E_SUCCESS;
5696 ArrayList* pArgList = new(std::nothrow) ArrayList();
5697 if (pArgList != null)
5699 r = pArgList->Construct();
5706 r = pArgList->Add(*new(std::nothrow) String(*__pReaderData));
5713 r = pArgList->Add(*new(std::nothrow) String(__pWebViewer->GetUrl()));
5720 r = pArgList->Add(*new(std::nothrow) String(__pWindowInfo->pageTitle));
5728 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ARTICLE_READER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
5734 void MainForm::SetAddressbarMode(AddressBarMode addMode)
5736 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
5738 __currentAddMode = addMode;
5742 case ADDRESSBAR_MODE_INVALID:
5747 case ADDRESSBAR_MODE_READER:
5749 __pStopBtn->SetShowState(false);
5750 __pRefreshBtn->SetShowState(false);
5751 __pClearBtn->SetShowState(false);
5752 __pReaderBtn->SetShowState(false);
5755 case ADDRESSBAR_MODE_LOADING:
5757 __pRefreshBtn->SetShowState(false);
5758 __pStopBtn->SetShowState(true);
5759 __pClearBtn->SetShowState(false);
5760 __pReaderBtn->SetShowState(false);
5763 case ADDRESSBAR_MODE_LOADING_COMPLETE:
5765 // SetUrl(__pAddressbar->GetUrl());
5767 __pRefreshBtn->SetShowState(true);
5768 __pStopBtn->SetShowState(false);
5769 __pClearBtn->SetShowState(false);
5770 __pReaderBtn->SetShowState(false);
5773 case ADDRESSBAR_MODE_EDIT:
5775 __pRefreshBtn->SetShowState(false);
5776 __pStopBtn->SetShowState(false);
5777 __pReaderBtn->SetShowState(false);
5778 __pClearBtn->SetShowState(true);
5785 OnAddressBarModeChanged();
5788 AddressBarMode MainForm::GetAddressbarMode(void)
5790 return __currentAddMode;
5793 void MainForm::SetUrl(const String& url)
5796 if(__displayUrl.GetLength() > 2048)
5797 __displayUrl.SubString(0,2048,__displayUrl);
5799 if (__pFooterUrlField != NULL)
5801 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
5802 if (removedHttpUrl.IsEmpty() == false)
5804 __pFooterUrlField->SetText(removedHttpUrl);
5805 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5806 __pAddressbar->SetUrl(__displayUrl);
5810 __pFooterUrlField->SetText(__displayUrl);
5811 if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
5812 __pAddressbar->SetUrl(__displayUrl);
5814 if(__pFooterUrlField)
5815 __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
5816 __pFooterUrlField->Invalidate(false);
5817 if(__pAddressbar != NULL && __pAddressbar->HasFocus())
5818 __pAddressbar->Invalidate(true);
5819 // __pFooterUrlField->SetCursorPosition(0);
5824 MainForm::RemoveHttpTextFromDisplayURL(void)
5826 AppLog("MainForm::RemoveHttpTextFromDisplayURL __displayUrl %ls",__displayUrl.GetPointer());
5828 // bool isHttpText = __displayUrl.Contains(L"http://");
5829 String updatedDisplayUrl;
5830 updatedDisplayUrl.Clear();
5831 if(__displayUrl.IndexOf(L"http://",0,index) == E_SUCCESS && index == 0)
5833 __displayUrl.SubString(7,updatedDisplayUrl);
5835 else if(__displayUrl.IndexOf(L"https://",0,index) == E_SUCCESS && index == 0)
5837 __displayUrl.SubString(8,updatedDisplayUrl);
5839 return updatedDisplayUrl;
5842 void MainForm::OnSharePopupControlStarted(void)
5844 __pWebViewer->AddTouchEventListener(*this);
5848 MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
5850 if (requestId == UPDATE_MAINFORM_FOOTER_ON_WINDOWCLOSED)
5852 AppLog("OnWebWindowCloseRequested mainform test 1 OnUserEventReceivedN");
5855 else if (requestId == BACK_GROUND_APP_EVENT)
5857 if(__pWebViewer != null)
5859 __pWebViewer->Pause();
5863 __pImageMenu->SetShowState(false);
5865 if(__pAddressbar != null)
5867 __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL);
5870 else if(requestId == FORE_GROUND_APP_EVENT)
5872 if(__pWebViewer != null)
5874 __pWebViewer->Resume();
5876 if(__pAddressbar != null)
5878 __pAddressbar->SendUserEvent(FORE_GROUND_APP_EVENT,NULL);
5884 MainForm::AddressBarCancelledClicked(const Addressbar& addBar)
5886 AppLog("XYZ::MainForm::AddressBarCancelledClicked");
5887 result r = E_SUCCESS;
5890 __pAddressbar->SetShowState(false);
5892 AppLog("akjshdasd 5");
5893 __pFooterPanel->SetShowState(true);
5896 __pWebViewer->SetFocus();
5897 else if(__pMostVisitedListView)
5898 __pMostVisitedListView->SetFocus();
5899 else if(__pMultiWindowButton)
5900 __pMultiWindowButton->SetFocus();
5901 else if(__pMoreButton)
5902 __pMoreButton->SetFocus();
5904 __pAddressbar->SetShowState(false);
5906 RelayoutControls(false);
5910 MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
5912 AppLog("MainForm::OnFormMenuRequested called");
5914 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer && __pWebViewer->GetShowState() == true)
5916 int bookmarkCount=0;
5919 url=__pWindowInfo->pageUrl;
5920 AppLog("MainForm::OnFormMenuRequested url %ls",url.GetPointer());
5921 result r = E_SUCCESS;
5922 Bitmap* pBitmap = null;
5923 String lastChar = L"";
5924 // if(url.SubString(url.GetLength()-1,lastChar));
5925 // if(lastChar == L"/")
5927 // bool exist1 = false;
5928 // bool exist2 = false;
5929 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist1);
5930 // url.SubString(0,url.GetLength() - 1,url);
5931 // r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist2);
5932 // exist = exist1 | exist2;
5936 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
5939 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
5945 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
5949 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
5951 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
5953 if (__pOptionMenu->GetItemCount() == 9)
5955 r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5959 r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
5964 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
5968 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
5969 if (__pOptionMenu->GetItemCount() != 9)
5971 __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
5972 __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
5973 // __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
5974 __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
5975 __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
5976 __pOptionMenu->SetMaxVisibleItemsCount(6);
5978 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
5980 AppLog(" Orientation landscape");
5981 __pOptionMenu->SetMaxVisibleItemsCount(5);
5985 AppLog(" Orientation potrait");
5986 __pOptionMenu->SetMaxVisibleItemsCount(6);
5989 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
5992 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
5994 __pAddressbar->SetShowState(false);
5996 __pFooterPanel->SetShowState(true);
5997 result r = __pOptionMenu->SetShowState(true);
5998 AppLog("ajsghd %s",GetErrorMessage(r));
5999 RelayoutControls(false);
6000 __pOptionMenu->Invalidate(true);
6001 __pOptionMenu->Show();