2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
\r
4 // Licensed under the Flora License, Version 1.0 (the License);
\r
5 // you may not use this file except in compliance with the License.
\r
6 // You may obtain a copy of the License at
\r
8 // http://floralicense.org/license/
\r
10 // Unless required by applicable law or agreed to in writing, software
\r
11 // distributed under the License is distributed on an AS IS BASIS,
\r
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 // See the License for the specific language governing permissions and
\r
14 // limitations under the License.
\r
17 //!Internet MainForm class
\r
18 /*@file: MainForm.cpp
\r
19 *@brief: The %MainForm provides the common functionalities for the Main View of the Browser including the addressbar,
\r
20 * loading,handling events etc.
\r
24 #include <FGraphics.h>
\r
27 #include <FContent.h>
\r
29 #include "IntBookmarkData.h"
\r
30 #include "IntBookmarkPresentationModel.h"
\r
31 #include "IntCommonLib.h"
\r
32 #include "IntFaviconManager.h"
\r
33 #include "IntMainForm.h"
\r
34 #include "IntNotificationPanel.h"
\r
35 #include "IntSceneRegister.h"
\r
36 #include "IntSettingPresentationModel.h"
\r
38 using namespace Tizen::App;
\r
39 using namespace Tizen::Base;
\r
40 using namespace Tizen::Base::Collection;
\r
41 using namespace Tizen::Base::Runtime;
\r
42 using namespace Tizen::Base::Utility;
\r
43 using namespace Tizen::Graphics;
\r
44 using namespace Tizen::Io;
\r
45 using namespace Tizen::Locales;
\r
46 using namespace Tizen::Media;
\r
47 using namespace Tizen::Ui;
\r
48 using namespace Tizen::Ui::Controls;
\r
49 using namespace Tizen::Content;
\r
50 using namespace Tizen::Ui::Scenes;
\r
51 using namespace Tizen::System;
\r
52 using namespace Tizen::Web;
\r
53 using namespace Tizen::Web::Controls;
\r
55 static const wchar_t* IDB_BTN_BACK = L"I01_icon_Back.png";
\r
56 static const wchar_t* IDB_BTN_BACK_PRESS = L"I01_icon_Back_press.png";
\r
57 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK = L"I01_search_list_icon_favorite.png";
\r
58 static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK_PRESS = L"I01_search_list_icon_favorite_press.png";
\r
59 static const wchar_t* IDB_CONTRLBAR_ICON_MORE = L"I01_icon_more.png";
\r
60 static const wchar_t* IDB_CONTRLBAR_ICON_MORE_PRESS = L"I01_icon_more_press.png";
\r
61 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW = L"I01_icon_plus.png";
\r
62 static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW_PRESS = L"I01_icon_plus_press.png";
\r
63 static const wchar_t* IDB_CONTROLBAR_ICON_CREATE_DISABLE = L"I01_controlbar_icon_create_disable.png";
\r
64 static const wchar_t* IDB_BUTTON_ON = L"00_button_on.png";
\r
65 static const wchar_t* IDB_BUTTON_OFF = L"00_button_off.png";
\r
66 static const wchar_t* IDB_ICON_BOOKMARK_OFF_TEMP = L"I01_icon_bookmark_off_temp.png";
\r
67 static const wchar_t* IDB_ICON_BOOKMARK_ON_TEMP = L"I01_icon_bookmark_on_temp.png";
\r
68 static const wchar_t* IDS_TIZEN_SERVICE = L"tizen-service";
\r
69 static const wchar_t* IDS_APPID = L"AppID";
\r
71 const int IDA_BACKBTN_CLICKED = 101;
\r
72 const int IDA_BOOKMARKBTN_CLICKED = 102;
\r
73 const int IDA_MOREBTN_CLICKED = 103;
\r
74 const int IDA_MULTIWINDOWBTN_CLICKED = 104;
\r
75 const int IDA_NEWWINDOWBTN_CLICKED = 105;
\r
76 const int IDA_FORWARD_CLICKED = 106;
\r
77 const int IDA_ADDTOBOOKMARK_CLICKED = 107;
\r
78 const int IDA_SHARE_CLICKED = 108;
\r
79 const int IDA_FINDONPAGE_CLICKED = 109;
\r
80 const int IDA_PRIVATEON_CLICKED = 110;
\r
81 const int IDA_SETTINGS_CLICKED = 111;
\r
82 const int IDA_READER_CLOSE_CLICKED = 112;
\r
83 const int IDA_SMALLFONT_BTN_CLICKED = 113;
\r
84 const int IDA_LARGEFONT_BTN_CLICKED = 114;
\r
85 const int IDA_BRIGHTNESS_BTN_CLICKED = 115;
\r
86 const int IDA_FINDWORD_SEARCH_CLICKED = 201;
\r
87 const int IDA_FINDWORD_NEXT_CLICKED = 202;
\r
88 const int IDA_FINDWORD_PREV_CLICKED = 203;
\r
89 const int IDA_FINDWORD_CLEAR_CLICKED = 204;
\r
90 const int IDA_FINDWORD_CANCEL_CLICKED = 205;
\r
92 const int IDA_COPY_IMAGE_CLICKED = 206;
\r
93 const int IDA_VIEW_IMAGE_CLICKED = 207;
\r
94 const int IDA_SAVE_IMAGE_CLICKED = 208;
\r
95 const int IDA_SHARE_IMAGE_CLICKED = 209;
\r
97 const int IDA_COPY_TEXT_CLICKED = 210;
\r
98 const int IDA_PASTE_TEXT_CLICKED = 211;
\r
99 const int IDA_FIND_TEXT__CLICKED = 212;
\r
100 const int IDA_SHARE_TEXT_CLICKED = 213;
\r
101 const int DEFAULT_PROGRESS_PERCENTAGE = 10;
\r
103 const int MainForm::IDA_FORMAT_BITMAP = 500;
\r
104 const int MainForm::IDA_FORMAT_DELETE_BITMAP = 501;
\r
105 const int MainForm::IDA_FORMAT_TITLE_STRING = 502;
\r
106 const int MainForm::IDA_FORMAT_URL_STRING = 503;
\r
107 const int MainForm::IDA_CONTEXT_ITEM_DELETE = 504;
\r
109 static const int WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT = 336;
\r
110 static const int WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE = 800;
\r
111 static const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
\r
113 MainForm::MainForm(void)
\r
115 __pAddressbar = null;
\r
116 // __pMostVisitedSitesPanel = null;
\r
117 __pMostVisitedListView = null;
\r
118 __pFooterPanel = null;
\r
119 __pHitElementResult = null;
\r
120 __pWindowInfo = null;
\r
121 __pWebViewer = null;
\r
122 __pImageMenu = null;
\r
124 __pFindWordControl = null;
\r
125 __pFindWordPanel = null;
\r
126 __pFindWordBgLabel = null;
\r
127 __pFindWordEditField = null;
\r
128 __pFindWordClear = null;
\r
129 __pFindWordCountLabel = null;
\r
130 __pFindWordNext = null;
\r
131 __pFindWordPrev = null;
\r
132 __previousZoomLevel = 1.0;
\r
133 __pSaveImage = null;
\r
134 __currentSearchStr = L"";
\r
135 __currentSelectedStr = L"";
\r
136 __maxOccurrances = 0;
\r
137 __currentWordIndex = 0;
\r
138 __distanceMoved = 0;
\r
139 __isLoaded = false;
\r
140 __inputEventToBeSupressed = false;
\r
141 __touchPoint1 = Point(-1,-1);
\r
142 __touchPoint2 = Point(-1,-1);
\r
143 __pWebReader = null;
\r
144 // __pReaderPopup = null;
\r
145 __pReaderData = null;
\r
147 __pReaderCloseBtn = null;
\r
148 __pNewWindowButton = null;
\r
149 __pMoreButton = null;
\r
150 __pMultiWindowButton = null;
\r
151 __pArticleReaderPanel = null;
\r
152 __pBlankPanel = null;
\r
153 __pArticleReaderLabel = null;
\r
154 __webControlHeight = 0;
\r
155 __prevAddressBarMode = ADDRESSBAR_MODE_INVALID;
\r
156 __curAddressBarMode = ADDRESSBAR_MODE_INVALID;
\r
157 __pMostVisitedSites = null;
\r
160 MainForm::~MainForm(void)
\r
162 SettingPresentationModel::GetInstance()->RemoveSettingsEventListener(*this);
\r
166 __pAddressbar->SetAddressbarEventListener(null);
\r
168 if (__pReaderData != null)
\r
170 delete __pReaderData;
\r
171 __pReaderData = null;
\r
174 if (__pPopUp != null)
\r
180 if (__pHitElementResult != null)
\r
182 delete __pHitElementResult;
\r
183 __pHitElementResult = null;
\r
185 String* pSelectedScene = NULL;
\r
186 Object* pValue = NULL;
\r
187 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
\r
188 pSelectedScene = (String*) pValue;
\r
190 /*if (pSelectedScene != null)
\r
192 delete pSelectedScene;
\r
194 MultiWindowPresentationModel::SetValue(SELECTED_SCENE_ID, null);*/
\r
198 MainForm::Initialize(void)
\r
200 Construct(L"IDL_FORM");
\r
205 MainForm::OnInitializing(void)
\r
207 const int WIDTH_CONTEXT_MENU_BUTTON = 336;
\r
208 const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
\r
210 Panel* pFooterPanel = null;
\r
212 __pSaveImage = new Image();
\r
213 __pSaveImage->Construct();
\r
215 // Setup back event listener
\r
216 SettingPresentationModel::GetInstance()->AddSettingsEventListener(*this);
\r
217 SceneManager::GetInstance()->AddSceneEventListener(IDSCN_MAIN_VIEW, *this);
\r
218 AddOrientationEventListener(*this);
\r
219 AppLogDebug(" MainForm::OnInitializing ended");
\r
220 if (__pMostVisitedSites == null)
\r
222 __pMostVisitedSites = new(std::nothrow) ArrayList();
\r
223 __pMostVisitedSites->Construct();
\r
225 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
\r
227 __pItemContext= new(std::nothrow) ListContextItem();
\r
228 __pItemContext->Construct();
\r
229 Bitmap* pBitmapNormal = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete.9.png", WIDTH_CONTEXT_MENU_BUTTON,HEIGHT_CONTEXT_MENU_BUTTON);
\r
230 Bitmap* pBitmapPressed = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete_press.9.png", WIDTH_CONTEXT_MENU_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON);
\r
232 if (pBitmapNormal != null && pBitmapPressed != null)
\r
234 __pItemContext->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), *pBitmapNormal, *pBitmapPressed, pBitmapPressed);
\r
237 if (pBitmapNormal != null)
\r
239 delete pBitmapNormal;
\r
242 if (pBitmapPressed != null)
\r
244 delete pBitmapPressed;
\r
251 MainForm::InitAddressbar(void)
\r
253 AppLogDebug("MainForm::InitAddressbar entered");
\r
255 result r = E_SUCCESS;
\r
257 if (__pAddressbar != null)
\r
261 __pAddressbar = new(std::nothrow) Addressbar();
\r
262 AppLog("MainForm::InitAddressbar GetClientAreaBounds().width %d",GetClientAreaBounds().width);
\r
263 r = __pAddressbar->Initialize(Tizen::Graphics::Rectangle(0, 0, GetClientAreaBounds().width, 82));
\r
264 if (r != E_SUCCESS)
\r
266 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
\r
269 __pAddressbar->SetAddressbarEventListener(this);
\r
270 AddControl(*__pAddressbar);
\r
271 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
\r
272 SetControlAlwaysOnTop(*__pAddressbar, true);
\r
273 __adressPanelPosition = __pAddressbar->GetPosition();
\r
275 AppLogDebug("MainForm::InitAddressbar exit");
\r
281 MainForm::CreateReaderPanel(void)
\r
283 AppLogDebug("CreateReaderPanel() width %d",GetClientAreaBounds().width);
\r
284 result r = E_FAILURE;
\r
285 WebSetting settings;
\r
286 Button *pSmallFontBtn = null;
\r
287 Button *pLargeFontBtn = null;
\r
289 __pBlankPanel = new (std::nothrow) Panel();
\r
290 __pBlankPanel->Construct(L"IDL_BLANK_PANEL");
\r
292 __pArticleReaderPanel = new (std::nothrow) Panel();
\r
293 __pArticleReaderPanel->Construct(L"IDL_ARTICLE_READER");
\r
295 __pReaderCloseBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_CLOSE_READER",true));
\r
296 if (__pReaderCloseBtn)
\r
298 AppLogDebug("CreateReaderPanel() 6");
\r
299 __pReaderCloseBtn->AddActionEventListener(*this);
\r
300 __pReaderCloseBtn->SetActionId(IDA_READER_CLOSE_CLICKED);
\r
303 __pWebReader = new (std::nothrow) Web();
\r
304 __pWebReader->Construct(Rectangle(2,2, __pArticleReaderPanel->GetWidth()-2,__pArticleReaderPanel->GetHeight() - 96 -2));
\r
306 settings.SetInputStyle(INPUT_STYLE_OVERLAY);
\r
307 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
\r
309 r = __pWebReader->SetSetting(settings);
\r
311 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
\r
314 __pArticleReaderLabel = new Label();
\r
315 __pArticleReaderLabel->Construct(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()),L"");
\r
317 __pBlankPanel->AddControl(*__pArticleReaderLabel);
\r
318 __pBlankPanel->AddControl(*__pArticleReaderPanel);
\r
319 AddControl(*__pBlankPanel);
\r
321 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
\r
322 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
\r
323 __pArticleReaderLabel->SetBounds(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
\r
325 __pArticleReaderPanel->AddControl(*__pWebReader);
\r
326 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth()-2,__pArticleReaderPanel->GetHeight() - 96 -2));
\r
327 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
\r
328 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
\r
330 if (pBitmap != null && pSrcBitmap != null)
\r
332 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
\r
334 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
\r
336 pSmallFontBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_SMALL_FONT",true));
\r
339 pSmallFontBtn->AddActionEventListener(*this);
\r
340 pSmallFontBtn->SetActionId(IDA_SMALLFONT_BTN_CLICKED);
\r
343 pLargeFontBtn = static_cast<Button*>(__pArticleReaderPanel->GetControl(L"IDC_LARGE_FONT",true));
\r
346 pLargeFontBtn->AddActionEventListener(*this);
\r
347 pLargeFontBtn->SetActionId(IDA_LARGEFONT_BTN_CLICKED);
\r
351 if (pBitmap != null)
\r
356 if (pSrcBitmap != null)
\r
362 SetControlAlwaysOnTop(*__pBlankPanel, true);
\r
363 //__pBlankPanel->SetControlAlwaysAtBottom(*__pArticleReaderPanel, true);
\r
370 MainForm::InitWebControl()
\r
372 AppLogDebug("MainForm::InitWebControl enter");
\r
373 result r = E_SUCCESS;
\r
374 AppLogDebug("InitWebControl");
\r
376 if (__pAddressbar == null || __pFooterPanel == null)
\r
379 const int Y_WEBCONTROL_POSITION = __pAddressbar->GetY() + __pAddressbar->GetHeight() - 12;
\r
380 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
\r
381 if (__pMostVisitedListView)
\r
383 __pMostVisitedListView->SetShowState(false);
\r
385 if (__pWebViewer != null)
\r
387 AppLogDebug("Already initialized");
\r
390 __pWebViewer = new(std::nothrow) Web();
\r
391 if(__pWebViewer == NULL)
\r
393 AppLogDebug("Initialization failed");
\r
396 r = __pWebViewer->Construct(Rectangle(0, Y_WEBCONTROL_POSITION, GetClientAreaBounds().width,__webControlHeight));
\r
400 AppLogDebug("Web construct failed with %s", GetErrorMessage(r));
\r
405 r = AddControl(*__pWebViewer);
\r
409 AppLogDebug("Web addcontrol failed with %s", GetErrorMessage(r));
\r
412 __webControlPosition = __pWebViewer->GetPosition();
\r
413 r = __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
\r
416 AppLogDebug("Web setting add failed with %s", GetErrorMessage(r));
\r
420 __pWebViewer->SetLoadingListener(this);
\r
421 __pWebViewer->SetWebUiEventListener(this);
\r
422 __pWebViewer->SetWebKeypadEventListener(this);
\r
423 __pWebViewer->SetFocus();
\r
424 __pWebViewer->AddTouchEventListener(*this);
\r
426 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
\r
427 __pWebViewer->SetTextSearchListener(this);
\r
430 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,__webControlHeight));
\r
431 AppLogDebug("MainForm :before return");
\r
433 AppLogDebug("MainForm::InitWebControl Exit");
\r
439 MainForm::SetJavascriptEnabled()
\r
441 WebSetting settings = __pWebViewer->GetSetting();
\r
442 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
\r
443 __pWebViewer->SetSetting(settings);
\r
447 MainForm::SetImageLoadEnabled()
\r
449 WebSetting settings = __pWebViewer->GetSetting();
\r
450 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
\r
451 __pWebViewer->SetSetting(settings);
\r
455 MainForm::InitFooter(void)
\r
457 AppLogDebug("MainForm::InitFooter entered");
\r
458 Button* pBackButton = null;
\r
459 Button* pBookmarkButton = null;
\r
460 Button* pMultiWindowButton = null;
\r
461 Bitmap *pIconBitmap = null;
\r
462 Bitmap *pBGBitmap = null;
\r
463 Label *pBGLabel = null;
\r
465 if (__pFooterPanel == null)
\r
467 __pFooterPanel = static_cast< Panel* >(GetControl(L"IDC_FOOTER_PANEL", true));
\r
470 if (__pFooterPanel == null)
\r
475 SetControlAlwaysOnTop(*__pFooterPanel, true);
\r
477 __pMultiWindowButton = static_cast< Button* >(GetControl(L"IDC_MULTIWINDOW_BUTTON", true));
\r
479 if ( __pMultiWindowButton == NULL )
\r
484 pBackButton = static_cast< Button* >(GetControl(L"IDC_PAGEBACK_BUTTON", true));
\r
486 if ( pBackButton == NULL )
\r
491 pBookmarkButton = static_cast< Button* >(GetControl(L"IDC_BOOKMARK_BUTTON", true));
\r
493 if ( pBookmarkButton == NULL )
\r
498 __pMoreButton = static_cast<Button*>(GetControl(L"IDC_MORE_BUTTON",true));
\r
500 if ( __pMoreButton == NULL )
\r
505 __pNewWindowButton = static_cast< Button* >(GetControl(L"IDC_NEW_WINDOW",true));
\r
507 if ( __pNewWindowButton == NULL )
\r
512 if (__pMultiWindowButton != null)
\r
514 Bitmap* pBitmap = null;
\r
515 Bitmap* pPressedBitmap = null;
\r
516 String imagePath = "I01_toolbar_icon_windows_manager_0";
\r
517 String pressedImagePath = "I01_toolbar_icon_windows_manager_0";
\r
518 int totalCount = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount();
\r
519 imagePath.Append(totalCount);
\r
520 imagePath.Append(".png");
\r
522 pressedImagePath.Append(totalCount);
\r
523 pressedImagePath.Append("_press.png");
\r
525 pBitmap = AppResource::GetInstance()->GetBitmapN(imagePath);
\r
526 pPressedBitmap = AppResource::GetInstance()->GetBitmapN(pressedImagePath);
\r
527 if ( pBitmap == null )
\r
532 Point startPoint = Point((__pMultiWindowButton->GetWidth() - pBitmap->GetWidth())/2,(__pMultiWindowButton->GetHeight() - pBitmap->GetHeight())/2);
\r
533 if (pBitmap != null)
\r
535 __pMultiWindowButton->SetNormalBitmap(startPoint, *pBitmap);
\r
536 __pMultiWindowButton->SetPressedBitmap(startPoint, *pPressedBitmap);
\r
541 __pMultiWindowButton->AddActionEventListener(*this);
\r
542 __pMultiWindowButton->SetActionId(IDA_MULTIWINDOWBTN_CLICKED);
\r
548 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BTN_BACK);
\r
549 Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BTN_BACK_PRESS);
\r
550 if (pBitmap != null)
\r
552 // pBitmap->Scale(Dimension(56,56));
\r
554 Point startPoint((pBackButton->GetWidth() - pBitmap->GetWidth())/2,(pBackButton->GetHeight() - pBitmap->GetHeight())/2 );
\r
555 AppLog("startPoint %d,%d pBitmap width height %d %d",startPoint.x,startPoint.y,pBitmap->GetWidth(),pBitmap->GetHeight());
\r
556 pBackButton->SetNormalBitmap(startPoint, *pBitmap);
\r
557 pBackButton->SetPressedBitmap(startPoint, *pPressedBitmap);
\r
560 pBackButton->AddActionEventListener(*this);
\r
561 pBackButton->SetActionId(IDA_BACKBTN_CLICKED);
\r
564 if (pBookmarkButton)
\r
566 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_BOOKMARK);
\r
567 Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_BOOKMARK_PRESS);
\r
568 if (pBitmap != null)
\r
570 Point startPoint((pBookmarkButton->GetWidth() - pBitmap->GetWidth())/2,(pBookmarkButton->GetHeight() - pBitmap->GetHeight())/2 );
\r
571 pBookmarkButton->SetNormalBitmap(startPoint, *pBitmap);
\r
572 pBookmarkButton->SetPressedBitmap(startPoint, *pPressedBitmap);
\r
575 pBookmarkButton->AddActionEventListener(*this);
\r
576 pBookmarkButton->SetActionId(IDA_BOOKMARKBTN_CLICKED);
\r
581 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE);
\r
582 Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_MORE_PRESS);
\r
583 if (pBitmap != null)
\r
585 Point startPoint((__pMoreButton->GetWidth() - pBitmap->GetWidth())/2,(__pMoreButton->GetHeight() - pBitmap->GetHeight())/2 );
\r
586 __pMoreButton->SetNormalBitmap(startPoint, *pBitmap);
\r
587 __pMoreButton->SetPressedBitmap(startPoint, *pPressedBitmap);
\r
591 __pMoreButton->AddActionEventListener(*this);
\r
592 __pMoreButton->SetActionId(IDA_MOREBTN_CLICKED);
\r
597 if (__pNewWindowButton)
\r
599 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_NEW_WINDOW);
\r
600 Bitmap* pPressedBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTRLBAR_ICON_NEW_WINDOW_PRESS);
\r
601 if (pBitmap != null)
\r
603 Point startPoint((__pNewWindowButton->GetWidth() - pBitmap->GetWidth())/2,(__pNewWindowButton->GetHeight() - pBitmap->GetHeight())/2 );
\r
604 __pNewWindowButton->SetNormalBitmap(startPoint, *pBitmap);
\r
605 __pNewWindowButton->SetPressedBitmap(startPoint, *pPressedBitmap);
\r
608 __pNewWindowButton->AddActionEventListener(*this);
\r
609 __pNewWindowButton->SetActionId(IDA_NEWWINDOWBTN_CLICKED);
\r
610 __pNewWindowButton->SetEnabled(true);
\r
611 // __pNewWindowButton->Invalidate(true);
\r
614 AppLog("checkingwindow count %d",MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount());
\r
616 if (__pNewWindowButton != null && MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList()->GetCount() >= 9)
\r
618 Bitmap* pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_CONTROLBAR_ICON_CREATE_DISABLE);
\r
619 if (pBitmap != null)
\r
621 Point startPoint = Point((__pNewWindowButton->GetWidth() - pBitmap->GetWidth())/2,(__pNewWindowButton->GetHeight() - pBitmap->GetHeight())/2 );
\r
622 __pNewWindowButton->SetDisabledBitmap(startPoint,*pBitmap);
\r
625 __pNewWindowButton->SetEnabled(false);
\r
628 // __pFooterPanel->Invalidate(true);
\r
629 AppLogDebug("MainForm::InitFooter exit");
\r
635 MainForm::InitContextMenu(Point& p)
\r
637 result r = E_SUCCESS;
\r
638 bool isPrivateBrowsing = false;
\r
639 Bitmap* pBitmap = null;
\r
641 if (__pMenu != null)
\r
643 __pMenu->SetAnchorPosition(p);
\r
644 __pMenu->Invalidate(true);
\r
648 __pMenu = new(std::nothrow) ContextMenu();
\r
649 r = __pMenu->Construct(p, CONTEXT_MENU_STYLE_LIST);
\r
650 TryCatch(!IsFailed(r),,"Contextmenu creation failed with%s",GetErrorMessage(r));
\r
652 isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
\r
655 if (isPrivateBrowsing == true)
\r
657 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
\r
661 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
\r
664 if ( pBitmap != NULL)
\r
666 __pMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY"), IDA_PRIVATEON_CLICKED,*pBitmap);
\r
669 r = __pMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_BRIGHTNESS"), IDA_BRIGHTNESS_BTN_CLICKED);
\r
670 r = __pMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_SETTINGS"), IDA_SETTINGS_CLICKED);
\r
671 __pMenu->SetMaxVisibleItemsCount(3);
\r
672 __pMenu->SetShowState(false);
\r
673 __pMenu->AddActionEventListener(*this);
\r
674 SetControlAlwaysOnTop(*__pMenu, true);
\r
680 result MainForm::InitImageContextMenu(Tizen::Graphics::Point p)
\r
682 result r = E_SUCCESS;
\r
683 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
\r
685 AppLog("MainForm::InitImageContextMenu clicked on image");
\r
686 if (__pImageMenu != null)
\r
688 delete __pImageMenu;
\r
689 __pImageMenu = null;
\r
692 p.y = p.y + __pAddressbar->GetHeight() + 12;
\r
695 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
\r
699 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
\r
701 __pImageMenu = new (std::nothrow) ContextMenu();
\r
702 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
\r
703 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
\r
705 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_IMAGE"),IDA_COPY_IMAGE_CLICKED);
\r
706 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_VIEW_IMAGE"),IDA_VIEW_IMAGE_CLICKED);
\r
707 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_SAVE_IMAGE_CLICKED);
\r
708 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_DLNA_BODY_SHARE_IMAGE_ABB"),IDA_SHARE_IMAGE_CLICKED);
\r
709 __pImageMenu->SetMaxVisibleItemsCount(4);
\r
710 __pImageMenu->AddActionEventListener(*this);
\r
711 SetControlAlwaysOnTop(*__pImageMenu, true);
\r
716 result MainForm::InitSelectTextContextMenu(Tizen::Graphics::Point p, bool pasteOption, bool onlyPasteOption = false)
\r
718 result r = E_SUCCESS;
\r
719 ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO;
\r
721 AppLog("MainForm::InitSelectTextContextMenu clicked on text");
\r
722 if (__pImageMenu != null)
\r
724 delete __pImageMenu;
\r
725 __pImageMenu = null;
\r
727 p.y = p.y + __pAddressbar->GetHeight() + 12;
\r
730 direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD;
\r
734 direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD;
\r
736 __pImageMenu = new (std::nothrow) ContextMenu();
\r
737 r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction);
\r
738 TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
\r
740 if(onlyPasteOption == false)
\r
742 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED);
\r
744 if (pasteOption || onlyPasteOption)
\r
746 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED);
\r
748 if(onlyPasteOption == false)
\r
750 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED);
\r
751 r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED);
\r
754 __pImageMenu->SetMaxVisibleItemsCount(3);
\r
755 __pImageMenu->AddActionEventListener(*this);
\r
756 SetControlAlwaysOnTop(*__pImageMenu, true);
\r
763 MainForm::InitFindWordPanel(void)
\r
765 result r = E_SUCCESS;
\r
766 Bitmap *pIconBitmap = null;
\r
768 if (__pFindWordPanel != null)
\r
770 AppLogDebug("Findword panel already initialized");
\r
771 if (__pFindWordBgLabel != null)
\r
773 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
\r
774 if (pBitmap != null)
\r
776 AppLogDebug("InitFindWordPanel: Coming here");
\r
777 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
\r
784 __pFindWordPanel = static_cast<Panel*>(GetControl(L"IDC_FIND_ON_PAGE_PANEL"));
\r
785 if (__pFindWordPanel == null)
\r
787 AppLogException("There is some problem in the xml file. Please check.");
\r
791 __pFindWordControl = new (std::nothrow) Panel();
\r
792 r = __pFindWordControl->Construct(L"IDL_FIND_ON_PAGE");
\r
795 AppLogException("There is some problem in the xml file. Please check.");
\r
798 __pFindWordPanel->AddControl(*__pFindWordControl);
\r
799 __pFindWordControl->SetBounds(0,0, __pFindWordPanel->GetWidth(), __pFindWordPanel->GetHeight());
\r
800 SetControlAlwaysOnTop(*__pFindWordPanel,true);
\r
801 __pFindWordPanel->SetShowState(false);
\r
802 __pFindWordPanel->Invalidate(false);
\r
804 __pFindWordBgLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_LABEL1", true));
\r
805 if (__pFindWordBgLabel != null)
\r
807 Panel* pPanel1 = static_cast<Panel*>(__pFindWordControl->GetControl(L"IDC_PANEL1", true));
\r
808 Rectangle pRect = pPanel1->GetBounds();
\r
809 pRect.x = pRect.y = 0;
\r
810 __pFindWordBgLabel->SetBounds(pRect);
\r
811 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
\r
812 if (pBitmap != null)
\r
814 AppLogDebug("InitFindWordPanel: Coming here");
\r
815 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
\r
820 AppLogDebug("InitFindWordPanel: shouldn't Come here");
\r
824 Button* pfindWordCancel = null;
\r
825 pfindWordCancel = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CANCEL", true));
\r
826 if (pfindWordCancel == null)
\r
828 AppLogException("There is some problem in the xml file. Please check.");
\r
831 pfindWordCancel->SetActionId(IDA_FINDWORD_CANCEL_CLICKED);
\r
832 pfindWordCancel->AddActionEventListener(*this);
\r
834 __pFindWordClear = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_CLEAR", true));
\r
835 if (__pFindWordClear == null)
\r
837 AppLogException("There is some problem in the xml file. Please check.");
\r
841 __pFindWordClear->SetActionId(IDA_FINDWORD_CLEAR_CLICKED);
\r
842 __pFindWordClear->AddActionEventListener(*this);
\r
844 __pFindWordNext = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_NEXT", true));
\r
845 if (__pFindWordNext == null)
\r
847 AppLogException("There is some problem in the xml file. Please check.");
\r
851 __pFindWordNext->SetActionId(IDA_FINDWORD_NEXT_CLICKED);
\r
852 __pFindWordNext->AddActionEventListener(*this);
\r
854 __pFindWordPrev = static_cast<Button*>(__pFindWordControl->GetControl(L"IDC_FIND_PREV", true));
\r
855 if (__pFindWordPrev == null)
\r
857 AppLogException("There is some problem in the xml file. Please check.");
\r
861 __pFindWordPrev->SetActionId(IDA_FINDWORD_PREV_CLICKED);
\r
862 __pFindWordPrev->AddActionEventListener(*this);
\r
864 __pFindWordNext->SetEnabled(false);
\r
865 __pFindWordPrev->SetEnabled(false);
\r
867 __pFindWordCountLabel = static_cast<Label*>(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL", true));
\r
868 if (__pFindWordCountLabel == null)
\r
870 AppLogException("There is some problem in the xml file. Please check.");
\r
874 __pFindWordEditField = static_cast<EditField*>(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD", true));
\r
875 if (__pFindWordEditField == null)
\r
877 AppLogException("There is some problem in the xml file. Please check.");
\r
880 __pFindWordEditField->AddTextEventListener(*this);
\r
881 __pFindWordEditField->AddKeypadEventListener(*this);
\r
882 __pFindWordEditField->SetOverlayKeypadCommandButtonVisible(false);
\r
888 MainForm::CreateItem (int index, int itemWidth)
\r
890 Rectangle listImageRect;
\r
891 Rectangle pagetTitleRect;
\r
892 Rectangle pageURLRect;
\r
893 Rectangle deleteImageRect;
\r
894 String pageTitle(L"");
\r
895 String pageURL(L"");
\r
896 result r = E_SUCCESS;
\r
897 Bitmap* pListIconImage = null;
\r
900 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
\r
901 if(pHistory == null)
\r
905 AppResource* pAppResource = Application::GetInstance()->GetAppResource();
\r
906 if ( pAppResource == NULL )
\r
910 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
\r
912 CustomItem* pItem = new(std::nothrow) CustomItem();
\r
913 pageTitle = pHistory->GetHistoryTitle();
\r
914 pageURL = pHistory->GetHistoryUrl();
\r
916 if (pageURL.GetLength() == 0)
\r
919 pAppResource->GetString(L"IDS_BR_BODY_ABOUT_C_BLANK", nourl);
\r
920 pageURL = L"<"+ nourl +">";
\r
924 Rectangle screenBounds = GetBounds();
\r
927 r = pItem->Construct(Dimension(itemWidth, 128), style);
\r
935 if (pHistory->GetFaviconId().GetLength() > 0)
\r
937 String bitmapId = pHistory->GetFaviconId();
\r
938 Bitmap* pBitmap = FaviconManager::GetInstance()->GetFaviconN(bitmapId);
\r
940 if ( pBitmap != NULL)
\r
942 pListIconImage = new Bitmap();
\r
943 pListIconImage->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
\r
948 if(pListIconImage == null)
\r
950 pListIconImage = pAppResource->GetBitmapN(L"I01_icon_default_favicon.png");
\r
953 if ( pListIconImage != NULL)
\r
955 listImageRect.SetBounds(screenBounds.x + 16, screenBounds.y + 28,72, 72);
\r
956 pagetTitleRect.SetBounds(listImageRect.x + 72 + 16,10, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 60);
\r
957 pageURLRect.SetBounds(pagetTitleRect.x, pagetTitleRect.y + pagetTitleRect.height, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 48);
\r
960 if (pItem != null && pListIconImage != NULL)
\r
962 pItem->AddElement(listImageRect, IDA_FORMAT_BITMAP, *pListIconImage, null, null);
\r
966 if (pageTitle.CompareTo(L"") != 0)
\r
970 pItem->AddElement(pagetTitleRect, IDA_FORMAT_TITLE_STRING, pageTitle, 44, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, true);
\r
974 if (pageURL.CompareTo(L"") != 0)
\r
978 pItem->AddElement(pageURLRect, IDA_FORMAT_URL_STRING, pageURL, 32, CUSTOM_COLOR_GREY, CUSTOM_COLOR_GREY, CUSTOM_COLOR_GREY, true);
\r
983 if ( __pItemContext!= NULL)
\r
987 pItem->SetContextItem(__pItemContext);
\r
990 if( pListIconImage != NULL)
\r
992 delete pListIconImage;
\r
993 pListIconImage = null;
\r
1000 MainForm::DeleteItem (int index, Tizen::Ui::Controls::ListItemBase *pItem, int itemWidth)
\r
1007 MainForm::GetItemCount (void)
\r
1009 if(__pMostVisitedSites != null)
\r
1011 __pMostVisitedSites->RemoveAll(true);
\r
1013 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
\r
1014 if(__pMostVisitedSites != null)
\r
1016 return __pMostVisitedSites->GetCount();
\r
1023 MainForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
\r
1025 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
\r
1026 String url = pHistory->GetHistoryUrl();
\r
1027 HistoryPresentationModel::GetInstance()->DeleteHistory(url);
\r
1028 __pMostVisitedListView->UpdateList();
\r
1032 MainForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
\r
1034 History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
\r
1035 String url = pHistory->GetHistoryUrl();
\r
1043 MainForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
\r
1049 MainForm::OnTerminating(void)
\r
1051 result r = E_SUCCESS;
\r
1052 if(__pItemContext)
\r
1054 delete __pItemContext;
\r
1060 MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
\r
1062 result r = E_SUCCESS;
\r
1064 AppLogDebug("Clicked : %d", actionId);
\r
1067 case IDA_BACKBTN_CLICKED:
\r
1069 if (__pWebViewer && __pWebViewer->CanGoBack())
\r
1071 __pWebViewer->GoBack();
\r
1075 UiApp* pApp = null;
\r
1076 pApp = UiApp::GetInstance();
\r
1079 r = pApp->Terminate();
\r
1082 AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r));
\r
1090 case IDA_FORWARD_CLICKED:
\r
1091 if (__pWebViewer == null)
\r
1094 if (__pWebViewer->CanGoForward())
\r
1096 __pWebViewer->GoForward();
\r
1098 __pMenu->SetShowState(false);
\r
1099 __pMenu->Invalidate(false);
\r
1102 case IDA_FINDONPAGE_CLICKED:
\r
1104 AppLogDebug("MainForm::OnActionPerformed findword clicked");
\r
1105 __currentSearchStr.Clear();
\r
1107 InitFindWordPanel();
\r
1108 __pMenu->SetShowState(false);
\r
1109 __pMenu->Invalidate(false);
\r
1111 __adressPanelPosition.y = 0;
\r
1113 if (__pAddressbar != null && __pWebViewer != NULL)
\r
1115 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
\r
1116 __pAddressbar->SetBounds(0,__adressPanelPosition.y,GetClientAreaBounds().width,__pAddressbar->GetHeight());
\r
1117 __pAddressbar->Invalidate(true);
\r
1118 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,__webControlHeight));
\r
1119 __pWebViewer->Invalidate(true);
\r
1121 if (__pWebViewer != null)
\r
1123 // releasing the set block
\r
1124 __pWebViewer->ReleaseBlock();
\r
1126 ShowFindWordPanel(true);
\r
1129 case IDA_PRIVATEON_CLICKED:
\r
1131 result r = E_SUCCESS;
\r
1132 int itemIndex = 0;
\r
1133 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
\r
1134 Bitmap* pBitmap = null;
\r
1135 if (isPrivateBrowsing == true)
\r
1137 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
\r
1140 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
\r
1144 if (__pWebViewer != NULL)
\r
1146 __pWebViewer->SetPrivateBrowsingEnabled(false);
\r
1149 SettingPresentationModel::GetInstance()->SetPrivateOn(false);
\r
1151 if (__pAddressbar != null)
\r
1153 __pAddressbar->UpdateFaviconBitmap(false);
\r
1159 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
\r
1162 AppLogException("Contextmenu additem:Find on page failed with %s", GetErrorMessage(r));
\r
1166 if (__pWebViewer != NULL)
\r
1168 __pWebViewer->SetPrivateBrowsingEnabled(true);
\r
1171 SettingPresentationModel::GetInstance()->SetPrivateOn(true);
\r
1173 if (__pAddressbar != null)
\r
1175 __pAddressbar->UpdateFaviconBitmap(true);
\r
1180 itemIndex = __pMenu->GetItemIndexFromActionId(IDA_PRIVATEON_CLICKED);
\r
1181 r = __pMenu->SetItemAt(itemIndex,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY"),IDA_PRIVATEON_CLICKED,*pBitmap);
\r
1182 AppLog("Result:: %s for index = %d", GetErrorMessage(r),itemIndex);
\r
1183 __pMenu->Invalidate(true);
\r
1185 if ( pBitmap != NULL )
\r
1192 case IDA_SETTINGS_CLICKED:
\r
1195 ArrayList* pArgList = new(std::nothrow) ArrayList();
\r
1198 pArgList->Construct();
\r
1199 pArgList->Add(*__pWindowInfo);
\r
1200 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_SETTINGS), pArgList);
\r
1202 __pMenu->SetShowState(false);
\r
1203 __pMenu->Invalidate(false);
\r
1204 if (pArgList != null)
\r
1213 case IDA_ADDTOBOOKMARK_CLICKED:
\r
1216 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL)
\r
1218 int bookmarkCount=0;
\r
1219 bool exist = false;
\r
1221 url=__pWindowInfo->pageUrl;
\r
1222 result r = E_SUCCESS;
\r
1223 Bitmap* pBitmap = null;
\r
1224 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
\r
1230 if ( exist == true)
\r
1232 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_REMOVED");
\r
1233 BookmarkPresentationModel::GetInstance()->DeleteBookmark(url);
\r
1234 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
\r
1236 NotificationPanel* pNotification = new (std::nothrow) NotificationPanel(*this);
\r
1237 if (pNotification != null)
\r
1239 pNotification->SetText(message);
\r
1240 pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
\r
1241 pNotification->ShowNotification();
\r
1246 String title=__pWindowInfo->pageTitle;
\r
1247 String message = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_ADDED");
\r
1248 BookmarkData* pBookmark=new (std::nothrow) BookmarkData();
\r
1250 pBookmark->SetBookmarkTitle(title);
\r
1251 pBookmark->SetUrl(url);
\r
1252 String id = FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
\r
1253 pBookmark->SetFaviconId(id);
\r
1254 r = BookmarkPresentationModel::GetInstance()->SaveBookmark(*pBookmark);
\r
1257 NotificationPanel* pNotification = new (std::nothrow) NotificationPanel(*this);
\r
1258 if(pNotification != null)
\r
1260 pNotification->SetText(message);
\r
1261 pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
\r
1262 pNotification->ShowNotification();
\r
1263 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
\r
1266 if (pBitmap != null)
\r
1268 r = __pMenu->SetItemAt(0,CommonUtil::GetString(L"IDS_BR_OPT_BOOKMARK"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
\r
1272 __pMenu->Invalidate(true);
\r
1276 case IDA_SHARE_CLICKED:
\r
1278 if(__pPopUp != null)
\r
1283 __pPopUp = new(std::nothrow) SharePopup();
\r
1284 __pPopUp->Initialize();
\r
1285 if (__pWindowInfo != null)
\r
1287 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
\r
1288 pShareInfo->SetPageTitle(__pWindowInfo->pageTitle);
\r
1289 pShareInfo->SetPageUrl(__pWindowInfo->pageUrl);
\r
1290 pShareInfo->SetImageAttached(false);
\r
1291 __pPopUp->RemoveAllShareInfo();
\r
1292 __pPopUp->AddShareInfo(pShareInfo);
\r
1294 __pPopUp->SetShowState(true);
\r
1298 case IDA_BOOKMARKBTN_CLICKED:
\r
1300 AppLogDebug("ONACTION_PERFORMED:IDA_BOOKMARKBTN_CLICKED");
\r
1301 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BOOKMARK_VIEW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
\r
1304 case IDA_MOREBTN_CLICKED:
\r
1306 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 1");
\r
1307 Point p = Point(__pMoreButton->GetX() + __pMoreButton->GetWidth() / 2, GetClientAreaBounds().y + GetClientAreaBounds().height - __pMoreButton->GetHeight());
\r
1308 AppLog("Anchot pos: %d %d", p.x, p.y);
\r
1309 InitContextMenu(p);
\r
1310 if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL)
\r
1312 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 2");
\r
1313 int bookmarkCount=0;
\r
1314 bool exist = false;
\r
1316 url=__pWindowInfo->pageUrl;
\r
1317 result r = E_SUCCESS;
\r
1318 Bitmap* pBitmap = null;
\r
1320 r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
\r
1323 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
\r
1326 if ( exist == true)
\r
1328 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
\r
1332 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
\r
1334 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
\r
1336 if (__pMenu->GetItemCount() == 6)
\r
1338 r = __pMenu->SetItemAt(0,CommonUtil::GetString(L"IDS_BR_OPT_BOOKMARK"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
\r
1342 r = __pMenu->InsertItemAt(0,CommonUtil::GetString(L"IDS_BR_OPT_BOOKMARK"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
\r
1347 AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
\r
1351 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
\r
1352 if (__pMenu->GetItemCount() != 6)
\r
1354 __pMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
\r
1355 __pMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED);
\r
1356 __pMenu->SetMaxVisibleItemsCount(6);
\r
1358 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE)
\r
1360 AppLog(" Orientation landscape");
\r
1361 __pMenu->SetMaxVisibleItemsCount(5);
\r
1365 AppLog(" Orientation potrait");
\r
1366 __pMenu->SetMaxVisibleItemsCount(6);
\r
1369 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
\r
1372 AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
\r
1373 __pMenu->SetShowState(true);
\r
1374 __pMenu->Invalidate(true);
\r
1380 case IDA_MULTIWINDOWBTN_CLICKED:
\r
1382 result r = SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_MULTIPLE_WINDOW, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
\r
1383 AppLog("IDA_MULTIWINDOWBTN_CLICKED result %s",GetErrorMessage(r));
\r
1387 case IDA_NEWWINDOWBTN_CLICKED:
\r
1389 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewScene();
\r
1391 if (pNewWindowInfo == null)
\r
1395 result r = E_SUCCESS;
\r
1396 SceneManager* pSceneManager = SceneManager::GetInstance();
\r
1398 if (pSceneManager == NULL)
\r
1402 ArrayList* pArgList = new(std::nothrow) ArrayList();
\r
1403 if (pArgList == NULL)
\r
1407 r = pArgList->Construct();
\r
1408 if (r == E_SUCCESS)
\r
1410 pArgList->Add(*pNewWindowInfo);
\r
1411 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
\r
1417 AppLogDebug("MainForm::OnActionPerformed Failed to GoBackward %s",GetErrorMessage(r));
\r
1422 case IDA_SMALLFONT_BTN_CLICKED:
\r
1424 WebSetting setting = __pWebReader->GetSetting();
\r
1425 setting.SetFontSize(15);
\r
1426 __pWebReader->SetSetting(setting);
\r
1429 case IDA_LARGEFONT_BTN_CLICKED:
\r
1431 WebSetting setting = __pWebReader->GetSetting();
\r
1432 setting.SetFontSize(25);
\r
1433 __pWebReader->SetSetting(setting);
\r
1436 case IDA_READER_CLOSE_CLICKED:
\r
1438 if (__pArticleReaderPanel != null && __pBlankPanel != null)
\r
1440 //__pArticleReaderPanel->SetShowState(false);
\r
1441 //__pArticleReaderPanel->Show();
\r
1442 RemoveControl(*__pBlankPanel);
\r
1443 //RemoveControl(*__pArticleReaderPanel);
\r
1444 __pArticleReaderPanel = null;
\r
1445 __pBlankPanel = null;
\r
1446 __pArticleReaderLabel = null;
\r
1448 if (__pAddressbar)
\r
1449 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
\r
1452 case IDA_FINDWORD_CANCEL_CLICKED:
\r
1454 __currentSearchStr = L"";
\r
1455 __currentWordIndex = 0;
\r
1456 __maxOccurrances = 0;
\r
1457 __pFindWordEditField->SetText(L"");
\r
1458 __pFindWordNext->SetEnabled(false);
\r
1459 __pFindWordPrev->SetEnabled(false);
\r
1460 __pFindWordCountLabel->SetText(L"0/0");
\r
1461 __pWebViewer->SearchText(L"aaaabbbbcccc",true);
\r
1462 ShowFindWordPanel(false);
\r
1465 case IDA_FINDWORD_SEARCH_CLICKED:
\r
1467 __currentSearchStr = __pFindWordEditField->GetText();
\r
1468 if (__currentSearchStr.GetLength() > 0)
\r
1470 StartWordSearch();
\r
1474 AppLogDebug("Enter something");
\r
1478 case IDA_FINDWORD_CLEAR_CLICKED:
\r
1480 __pFindWordCountLabel->SetText(L"0/0");
\r
1481 __pFindWordEditField->SetText(L"");
\r
1482 __currentSearchStr = L"aaaaaabbbbbbccccccc";
\r
1483 StartWordSearch();
\r
1484 __pFindWordNext->SetEnabled(false);
\r
1485 __pFindWordPrev->SetEnabled(false);
\r
1486 __pFindWordPanel->Invalidate(true);
\r
1489 case IDA_FINDWORD_NEXT_CLICKED:
\r
1491 FindNextWord(true);
\r
1494 case IDA_FINDWORD_PREV_CLICKED:
\r
1496 FindNextWord(false);
\r
1499 case IDA_BRIGHTNESS_BTN_CLICKED:
\r
1501 AppLogDebug("IDA_BRIGHTNESS_BTN_CLICKED");
\r
1502 SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_BRIGHTNESS, SCENE_TRANSITION_ANIMATION_TYPE_NONE));
\r
1505 case IDA_COPY_IMAGE_CLICKED:
\r
1507 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
\r
1508 AppLogDebug("IDA_COPY_IMAGE_CLICKED");
\r
1509 ClipboardItem item;
\r
1510 const Bitmap* pBitmap = null;
\r
1511 if (__pHitElementResult != null)
\r
1513 pBitmap = __pHitElementResult->GetImage();
\r
1516 String resourcePath = App::GetInstance()->GetAppResourcePath();
\r
1517 item.Construct(CLIPBOARD_DATA_TYPE_IMAGE , *pBitmap);
\r
1519 // copying the item to clipboard
\r
1520 Clipboard* pClipboard = Clipboard::GetInstance();
\r
1521 if (pClipboard != null)
\r
1523 pClipboard->CopyItem(item);
\r
1527 case IDA_VIEW_IMAGE_CLICKED:
\r
1529 AppLogDebug("IDA_VIEW_IMAGE_CLICKED");
\r
1530 WindowInfo* pNewWindowInfo = null;
\r
1531 if (__pHitElementResult != null)
\r
1533 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
\r
1534 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
\r
1540 case IDA_SAVE_IMAGE_CLICKED:
\r
1542 AppLogDebug("IDA_SAVE_IMAGE_CLICKED");
\r
1543 const Bitmap* pSaveBitmap = null;
\r
1544 String imageName = GetImagePath();
\r
1545 AppLog("Content manager image name %ls",imageName.GetPointer());
\r
1547 imagePath.Clear();
\r
1548 imagePath.Append(imageName);
\r
1549 imagePath.Format(100, L"%ls/Downloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
\r
1550 AppLog("Content manager image path %ls",imagePath.GetPointer());
\r
1551 if (__pHitElementResult != null)
\r
1553 pSaveBitmap = __pHitElementResult->GetImage();
\r
1555 ByteBuffer* pBuffer = __pSaveImage->EncodeToBufferN(*pSaveBitmap, IMG_FORMAT_JPG);
\r
1559 UpdateImageContent(pBuffer, imageName);
\r
1561 NotificationPanel *pNotification = new NotificationPanel(*this);
\r
1563 AppResource::GetInstance()->GetString("IDS_COM_SK_SAVE", msg);
\r
1564 msg.Append(imagePath);
\r
1565 if (pNotification != null)
\r
1567 pNotification->SetText(msg);
\r
1568 pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
\r
1569 pNotification->ShowNotification();
\r
1574 int __modalMsgBoxResult;
\r
1575 MessageBox* pMsgBox = new MessageBox();
\r
1576 pMsgBox->Construct(CommonUtil::GetString(L"IDS_COM_FAILED_TO_SAVE_IMAGE"),CommonUtil::GetString(L"IDS_COM_FAILED_TO_SAVE_IMAGE"),MSGBOX_STYLE_OK,3000);
\r
1577 pMsgBox->ShowAndWait(__modalMsgBoxResult);
\r
1580 __modalMsgBoxResult = 0;
\r
1584 case IDA_SHARE_IMAGE_CLICKED:
\r
1586 AppLogDebug("IDA_SHARE_IMAGE_CLICKED");
\r
1587 if (__pPopUp != null)
\r
1592 __pPopUp = new(std::nothrow) SharePopup();
\r
1593 __pPopUp->Initialize();
\r
1594 if (__pHitElementResult != null)
\r
1596 const Bitmap* pSaveBitmap = null;
\r
1597 String imageName = GetImagePath();
\r
1598 AppLog("Content manager image name %ls",imageName.GetPointer());
\r
1600 imagePath.Clear();
\r
1601 imagePath.Append(imageName);
\r
1602 imagePath.Format(100, L"%lsDownloads/%ls.jpg",Tizen::System::Environment::GetMediaPath().GetPointer(), imageName.GetPointer());
\r
1603 AppLog("Content manager image path %ls",imagePath.GetPointer());
\r
1604 if (__pHitElementResult != null)
\r
1606 pSaveBitmap = __pHitElementResult->GetImage();
\r
1608 __pSaveImage->EncodeToFile(*pSaveBitmap, IMG_FORMAT_JPG, imagePath, true);
\r
1610 String srcUrl = __pHitElementResult->GetAttributeValue(L"src");
\r
1611 AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer());
\r
1613 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
\r
1614 pShareInfo->SetPageTitle(L"");
\r
1615 pShareInfo->SetPageUrl(srcUrl);
\r
1616 pShareInfo->SetImageAttached(true);
\r
1617 pShareInfo->SetImagePath(imagePath);
\r
1618 __pPopUp->RemoveAllShareInfo();
\r
1619 __pPopUp->AddShareInfo(pShareInfo);
\r
1620 __pPopUp->SetShowState(true);
\r
1625 case IDA_FIND_TEXT__CLICKED:
\r
1627 AppLogDebug("MainForm::OnActionPerformed find word clicked");
\r
1628 __currentSearchStr.Clear();
\r
1629 __currentSearchStr.Append(__currentSelectedStr);
\r
1630 InitFindWordPanel();
\r
1631 if(__pMenu != null)
\r
1633 __pMenu->SetShowState(false);
\r
1634 __pMenu->Invalidate(false);
\r
1637 __adressPanelPosition.y = 0;
\r
1639 if (__pAddressbar != null && __pWebViewer != NULL)
\r
1641 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
\r
1642 __pAddressbar->SetBounds(0,__adressPanelPosition.y,GetClientAreaBounds().width,__pAddressbar->GetHeight());
\r
1643 __pAddressbar->Invalidate(true);
\r
1644 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,__webControlHeight));
\r
1645 __pWebViewer->Invalidate(true);
\r
1648 ShowFindWordPanel(true);
\r
1649 if (__currentSearchStr.GetLength() > 0)
\r
1651 StartWordSearch();
\r
1655 AppLogDebug("Enter something");
\r
1658 if (__pWebViewer != null)
\r
1660 // releasing the set block
\r
1661 __pWebViewer->ReleaseBlock();
\r
1666 case IDA_SHARE_TEXT_CLICKED:
\r
1668 AppLogDebug("IDA_SHARE_TEXT_CLICKED");
\r
1669 if(__pPopUp != null)
\r
1674 __pPopUp = new(std::nothrow) SharePopup();
\r
1675 __pPopUp->Initialize();
\r
1676 if (__pHitElementResult != null)
\r
1678 ShareInfo* pShareInfo = new(std::nothrow) ShareInfo();
\r
1679 pShareInfo->SetPageTitle(L"");
\r
1680 pShareInfo->SetPageUrl(__currentSelectedStr);
\r
1681 pShareInfo->SetImageAttached(false);
\r
1682 __pPopUp->RemoveAllShareInfo();
\r
1683 __pPopUp->AddShareInfo(pShareInfo);
\r
1684 __pPopUp->SetShowState(true);
\r
1689 case IDA_COPY_TEXT_CLICKED:
\r
1691 // need to implement
\r
1692 //__currentSelectedStr
\r
1693 // Sets data to a clip board item
\r
1694 ClipboardItem item;
\r
1695 String resourcePath = App::GetInstance()->GetAppResourcePath();
\r
1696 item.Construct(CLIPBOARD_DATA_TYPE_TEXT, __currentSelectedStr);
\r
1698 // copying the item to clipboard
\r
1699 Clipboard* pClipboard = Clipboard::GetInstance();
\r
1700 if (pClipboard != null)
\r
1702 pClipboard->CopyItem(item);
\r
1706 case IDA_PASTE_TEXT_CLICKED:
\r
1708 Clipboard* pClipboard = Clipboard::GetInstance();
\r
1710 if(pClipboard == null)
\r
1714 // Retrieves a latest item
\r
1715 ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML);
\r
1721 //Gets data from the clipboard item
\r
1722 String* pString = dynamic_cast<String*>(pItem->GetData());
\r
1724 if (pString != null)
\r
1726 String idElement = __pHitElementResult->GetAttributeValue(L"id");
\r
1727 AppLog("MainForm::IDA_PASTE_TEXT_CLICKED id is %ls",idElement.GetPointer());
\r
1728 String 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; } } insertAtCursor(";
\r
1729 script.Append(idElement);
\r
1730 script.Append(",");
\r
1731 script.Append("\"");
\r
1732 script.Append(*pString);
\r
1733 script.Append("\");");
\r
1734 AppLog("MainForm::OnTouchLongPressed script is %ls",script.GetPointer());
\r
1735 String* pStr = __pWebViewer->EvaluateJavascriptN(script);
\r
1747 MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
\r
1750 UiApp* pApp = UiApp::GetInstance();
\r
1755 pApp->Terminate();
\r
1759 MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
\r
1760 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
\r
1762 String* pSelectedScene = NULL;
\r
1763 Object* pValue = NULL;
\r
1764 String* pUrl = null;
\r
1765 MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
\r
1766 pSelectedScene = (String*) pValue;
\r
1768 if (pSelectedScene != null)
\r
1770 delete pSelectedScene;
\r
1772 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, null);
\r
1773 String* selectedSceneID = new(std::nothrow) String(currentSceneId);
\r
1774 AppLogDebug("current scene id is %ls", currentSceneId.GetPointer());
\r
1775 AppLogDebug("selected scene id is %ls", currentSceneId.GetPointer());
\r
1777 // setting the current scene ID
\r
1778 MultipleWindowPresentationModel::GetInstance()->SetCurrentSceneID(currentSceneId);
\r
1780 MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, (Object*) selectedSceneID);
\r
1782 if(pArgs != null && pArgs->GetCount() > 0 && pArgs->GetCount() == 2)
\r
1784 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
\r
1785 if(__pWindowInfo == null)
\r
1787 // if(__pWindowInfo == null)
\r
1789 pUrl = dynamic_cast< String* >(pArgs->GetAt(1));
\r
1792 else if ( pArgs != null && pArgs->GetCount() == 1)
\r
1794 __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
\r
1800 if(__pWebViewer != null)
\r
1802 __pWebViewer->Resume();
\r
1805 if(pUrl != null && pUrl->GetLength() > 0)
\r
1809 else if(__pWindowInfo != null)
\r
1811 if(__pWindowInfo->pageUrl.GetLength() > 0 && previousSceneId != IDSCN_MULTIPLE_WINDOW && previousSceneId != IDSCN_MULTIPLE_WINDOW_GRID && previousSceneId != IDSCN_BOOKMARK_VIEW && previousSceneId != IDSCN_SETTINGS && previousSceneId != IDSCN_MAIN_VIEW)
\r
1813 LoadUrl(__pWindowInfo->pageUrl);
\r
1815 else if (__pWindowInfo->isJavascriptInitiated == true)
\r
1819 __pWindowInfo->pCurrentWeb = __pWebViewer;
\r
1823 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
\r
1824 AppLog("Homepage Value in Onsceneactivated is %ls",homePage.GetPointer());
\r
1825 if(homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
\r
1827 InitMostVisitedSitesView(GetOrientationStatus());
\r
1830 if (__pAddressbar != null && pArgs != null && (previousSceneId == IDSCN_BOOKMARK_VIEW || previousSceneId == IDSCN_HISTORY_LIST))
\r
1832 String* pBookmarkUrl = dynamic_cast< String* >(pArgs->GetAt(0));
\r
1834 if (pBookmarkUrl == null)
\r
1836 AppLogDebug("bookmarkUrl = %ls",pBookmarkUrl->GetPointer());
\r
1837 __pAddressbar->SetUrl(*pBookmarkUrl);
\r
1839 if (__pWebViewer != null && homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) != 0)
\r
1840 __pWebViewer->LoadUrl(*pBookmarkUrl);
\r
1841 delete pBookmarkUrl;
\r
1844 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
\r
1845 Bitmap* pBitmap = null;
\r
1846 if (isPrivateBrowsing == true)
\r
1848 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_ON);
\r
1850 if (__pWebViewer != null)
\r
1852 __pWebViewer->SetPrivateBrowsingEnabled(true);
\r
1855 if (__pAddressbar != null)
\r
1857 __pAddressbar->UpdateFaviconBitmap(true);
\r
1863 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_OFF);
\r
1865 if (__pWebViewer != null)
\r
1867 __pWebViewer->SetPrivateBrowsingEnabled(false);
\r
1870 if (__pAddressbar != null)
\r
1872 __pAddressbar->UpdateFaviconBitmap(false);
\r
1876 if (__pMenu != null && __pMenu->GetItemCount() == 3)
\r
1878 __pMenu->SetItemAt(0,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY"),IDA_PRIVATEON_CLICKED,*pBitmap);
\r
1880 else if (__pMenu != null )
\r
1882 __pMenu->SetItemAt(3,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY"),IDA_PRIVATEON_CLICKED,*pBitmap);
\r
1885 if (pBitmap != null)
\r
1890 AppLog("ABC: OnSceneActivatedN started exit");
\r
1895 MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
\r
1896 const Tizen::Ui::Scenes::SceneId& nextSceneId)
\r
1898 Canvas* pWebCanvas = null;
\r
1899 if (__pWebViewer != null)
\r
1901 pWebCanvas = __pWebViewer->GetCanvasN();
\r
1902 __pWebViewer->Pause();
\r
1905 if (pWebCanvas == null)
\r
1909 if (__pWindowInfo != null)
\r
1911 if (__pWindowInfo->pWebCanvasBitmap != null)
\r
1913 delete __pWindowInfo->pWebCanvasBitmap;
\r
1915 __pWindowInfo->pWebCanvasBitmap = new(std::nothrow) Bitmap();
\r
1916 result r = __pWindowInfo->pWebCanvasBitmap->Construct(*pWebCanvas,Rectangle(0,0,pWebCanvas->GetBounds().width,pWebCanvas->GetBounds().height));
\r
1917 AppLog("Bitmap Construction result %s",GetErrorMessage(r));
\r
1919 Bitmap* pBitmap = GetCapturedBitmapN();
\r
1920 AppLog("Coming here");
\r
1921 Canvas* pCanvas = new(std::nothrow) Canvas();
\r
1922 pCanvas->Construct(GetClientAreaBounds());
\r
1923 if(pBitmap != null)
\r
1925 pCanvas->DrawBitmap(Point(0,0),*pBitmap);
\r
1928 if(__pWebViewer != null && __pWindowInfo != null)
\r
1929 pCanvas->DrawBitmap(__pWebViewer->GetPosition(),*__pWindowInfo->pWebCanvasBitmap);
\r
1931 WindowInfo::pFormCanvasBitmap = new(std::nothrow) Bitmap();
\r
1932 WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight()));
\r
1934 AppLog("Coming here");
\r
1938 MainForm::OnHttpAuthenticationRequestedN(const Tizen::Base::String& host,
\r
1939 const Tizen::Base::String& realm,
\r
1940 const Tizen::Web::Controls::AuthenticationChallenge& authentication)
\r
1946 MainForm::OnHttpAuthenticationCanceled(void)
\r
1951 MainForm::OnLoadingStarted(void)
\r
1953 AppLogDebug("MainForm::OnLoadingStarted entered");
\r
1954 __isLoaded = true;
\r
1955 if(__pAddressbar == NULL)
\r
1959 String url = __pWebViewer->GetUrl();
\r
1960 if(url.Contains(IDS_TIZEN_SERVICE))
\r
1963 String delim(L":;");
\r
1965 // Creates a StringTokenizer instance
\r
1966 StringTokenizer strTok(url, delim);
\r
1968 int count = strTok.GetTokenCount(); // count == 4
\r
1970 ArrayList *pArgList = new(std::nothrow) ArrayList();
\r
1971 pArgList->Construct();
\r
1975 while (strTok.HasMoreTokens())
\r
1977 AppLog("Token: %ls", token.GetPointer());
\r
1978 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
\r
1979 if(token.Contains(IDS_APPID))
\r
1981 token.SubString(6, appId);
\r
1982 AppLog("AppID:%ls", appId.GetPointer());
\r
1984 else if(token.Contains("="))
\r
1986 pArgList->Add(* new(std::nothrow) String(token));
\r
1991 AppManager::GetInstance()->LaunchApplication(appId, pArgList);
\r
1995 Bitmap* pBitmap = FaviconManager::GetInstance()->GetDefaultFaviconN();
\r
1996 __pAddressbar->SetFaviconBitmap(*pBitmap);
\r
1998 if (__adressPanelPosition.y < (0 - __pAddressbar->GetHeight() + 12))
\r
2000 // updating the address bar position with respect to web control
\r
2001 __adressPanelPosition.y = 0 - __pAddressbar->GetHeight() + 12; //-12 is for the progress label
\r
2002 __distanceMoved = 0;
\r
2006 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
\r
2009 AppLog("MainForm::OnLoadingStarted __pWebViewer->GetUrl() %ls",__pWebViewer->GetUrl().GetPointer());
\r
2010 __pAddressbar->SetUrl(__pWebViewer->GetUrl());
\r
2011 if (__pWindowInfo != NULL)
\r
2013 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
\r
2015 __pAddressbar->Invalidate(true);
\r
2021 MainForm::OnLoadingCanceled(void)
\r
2028 MainForm::OnKeypadWillOpen(Tizen::Ui::Control& source)
\r
2030 if(__pAddressbar != null)
\r
2032 OnAddressBarKeypadOpened(*__pAddressbar);
\r
2037 MainForm::OnKeypadClosed(Tizen::Ui::Control& source){
\r
2038 if(__pAddressbar != null)
\r
2040 OnAddressBarKeypadClosed(*__pAddressbar);
\r
2045 MainForm::OnLoadingErrorOccurred(LoadingErrorType error,
\r
2046 const Tizen::Base::String& reason)
\r
2048 AppLogDebug("Error: %d, %ls", error, reason.GetPointer());
\r
2052 MainForm::OnLoadingCompleted(void)
\r
2055 result r = E_SUCCESS;
\r
2057 if (__pWebViewer == null)
\r
2062 if (__pAddressbar == null)
\r
2066 if (__pWebViewer->CanGoForward())
\r
2068 __pAddressbar->SetForwardButtonEnabled(true);
\r
2072 __pAddressbar->SetForwardButtonEnabled(false);
\r
2075 if (__pWebViewer->CanGoBack())
\r
2077 __pAddressbar->SetBackButtonEnabled(true);
\r
2081 __pAddressbar->SetBackButtonEnabled(false);
\r
2083 if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_EDIT)
\r
2085 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
\r
2087 __pAddressbar->UpdateProgress(0);
\r
2090 AppLog("PrivateBrowsing %d",__pWebViewer->IsPrivateBrowsingEnabled());
\r
2091 bool isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
\r
2092 if (isPrivateBrowsing == false)
\r
2094 History* pHistory = new(std::nothrow) History;
\r
2096 HistoryPresentationModel::GetCurrentDateTime(date);
\r
2099 pHistory->SetHistoryTitle(__pWindowInfo->pageTitle);
\r
2100 AppLogDebug("MainForm::OnLoadingCompleted pagetitle = %ls", __pWindowInfo->pageTitle.GetPointer());
\r
2102 pHistory->SetHistoryUrl(__pWindowInfo->pageUrl);
\r
2103 AppLogDebug("MainForm::OnLoadingCompleted pageUrl = %ls", __pWindowInfo->pageUrl.GetPointer());
\r
2105 pHistory->SetVisitedTime(date);
\r
2108 id = FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
\r
2109 pHistory->SetFaviconId(id);
\r
2110 Canvas* pCanvas = __pWebViewer->GetCanvasN();
\r
2111 Bitmap* pBitmap = new(std::nothrow) Bitmap();
\r
2112 if ( pCanvas != null && pCanvas != null && pBitmap != null)
\r
2114 pBitmap->Construct(*pCanvas, pCanvas->GetBounds());
\r
2115 pBitmap->Scale(Dimension(pBitmap->GetWidth()/4, pBitmap->GetHeight()/4));
\r
2116 pHistory->SetThumbnail(pBitmap);
\r
2118 HistoryPresentationModel::GetInstance()->SaveHistory(*pHistory);
\r
2125 if (__pWindowInfo && __pWindowInfo->faviconUrl == "")
\r
2127 // temperary fixed (webpage can be not loaded)
\r
2133 MainForm::OnEstimatedProgress(int progress)
\r
2135 AppLogDebug("MainForm::OnEstimatedProgress entered");
\r
2136 if (progress < DEFAULT_PROGRESS_PERCENTAGE)
\r
2137 progress = DEFAULT_PROGRESS_PERCENTAGE;
\r
2139 __pAddressbar->UpdateProgress(progress);
\r
2143 MainForm::OnUrlSubmitted(Addressbar& addBar)
\r
2145 String url = addBar.GetUrl();
\r
2147 __pFooterPanel->SetShowState(true);
\r
2148 __pFooterPanel->Invalidate(true);
\r
2149 RequestRedraw(true);
\r
2153 MainForm::LoadUrl(String& url)
\r
2155 AppLogDebug("MainForm::LoadUrl enter");
\r
2157 if (url.CompareTo(L"") == 0)
\r
2161 if(__pFooterPanel != null)
\r
2163 __pFooterPanel->SetShowState(true);
\r
2164 __pFooterPanel->Invalidate(true);
\r
2169 bool flag = false;
\r
2171 String firstPattern(L"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)");
\r
2172 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)
\r
2174 RegularExpression firstRegex;
\r
2175 RegularExpression secondRegex;
\r
2177 firstRegex.Construct(firstPattern, REGEX_CASELESS);
\r
2178 secondRegex.Construct(secondPattern, REGEX_CASELESS);
\r
2181 ret = firstRegex.Match(url, false); // This returns true value
\r
2182 flag = secondRegex.Match(url, false); // Checks whether URL typed is of type abc.com (i.e without protocol in front of it)
\r
2184 if (ret == true && __pWebViewer != null)
\r
2186 __pWebViewer->LoadUrl(url);
\r
2188 else if(__pWebViewer != null)
\r
2190 String tempUrl = L"http://";
\r
2191 tempUrl.Append(url);
\r
2195 __pWebViewer->LoadUrl(tempUrl);
\r
2199 __pWebViewer->LoadUrl(SettingPresentationModel::GetInstance()->GetSearchUrl(url));
\r
2202 if (__pAddressbar != null)
\r
2204 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING);
\r
2207 AppLogDebug("MainForm::LoadUrl exit");
\r
2214 MainForm::OnStopClicked(Addressbar& addBar)
\r
2216 AppLogDebug("MainForm::OnStopClicked called");
\r
2219 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
\r
2220 __pWebViewer->StopLoading();
\r
2221 RequestRedraw(true);
\r
2226 MainForm::OnReaderClicked(const Addressbar& addBar)
\r
2228 int bodyWidth = ((double)(GetClientAreaBounds().width))*0.73;
\r
2230 CreateReaderPanel();
\r
2231 AppLogDebug("MainScene::OnReaderClicked entered");
\r
2234 /*if (__pArticleReaderPanel)
\r
2236 AppLogDebug("showstate true for reader panel");
\r
2237 __pArticleReaderPanel->SetShowState(true);
\r
2238 __pArticleReaderPanel->Show();
\r
2240 int xPos = __pArticleReaderPanel->GetX();
\r
2241 int yPos = __pArticleReaderPanel->GetY();
\r
2242 AppLog("OnReaderClicked() xPos = %d",xPos);
\r
2243 AppLog("OnReaderClicked() yPos = %d",yPos);
\r
2245 if (__pReaderData == null)
\r
2250 String loadData = L"<html>\
\r
2252 <meta name='viewport' content='width=device-width*0.73,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no'>\
\r
2256 font-weight:bold;\
\r
2257 background-color: transparent;\
\r
2269 margin-left:auto;\
\r
2270 margin-right:auto;\
\r
2276 <body style='width:'";
\r
2277 loadData.Append(bodyWidth);
\r
2278 loadData.Append(L"px'>");
\r
2279 AppLogDebug("data->GetLength %d",__pReaderData->GetLength());
\r
2280 loadData.Append(*__pReaderData);
\r
2281 loadData.Append(L"</body></html>");
\r
2284 buf.Construct(loadData.GetLength());
\r
2285 AppLogDebug("data->GetLength %d",loadData.GetLength());
\r
2286 for (int z=0;z<loadData.GetLength();z++)
\r
2289 loadData.GetCharAt(z,b);
\r
2290 buf.SetByte((byte)b);
\r
2294 if (__pWebReader != null)
\r
2296 __pWebReader->LoadData(L"",buf,L"text/html");
\r
2297 AppLogDebug("LoadData result %s",GetErrorMessage(GetLastResult()));
\r
2301 AppLogDebug("cannot LoadData __pWebReader is null");
\r
2307 MainForm::OnBackClicked(const Addressbar& addBar)
\r
2309 if (__pWebViewer == null)
\r
2312 if (__pWebViewer->CanGoBack())
\r
2314 __pWebViewer->GoBack();
\r
2320 MainForm::OnForwardClicked(const Addressbar& addBar)
\r
2322 if (__pWebViewer == null)
\r
2325 if (__pWebViewer->CanGoForward())
\r
2327 __pWebViewer->GoForward();
\r
2332 MainForm::OnAddressCancelledClicked(const Addressbar& addBar)
\r
2334 __pFooterPanel->SetShowState(true);
\r
2335 __pFooterPanel->Invalidate(false);
\r
2339 MainForm::OnAddressBarModeChanged(const Addressbar& addBar)
\r
2341 __prevAddressBarMode = __curAddressBarMode;
\r
2343 if (__pAddressbar != null)
\r
2345 __curAddressBarMode = __pAddressbar->GetAddressbarMode();
\r
2348 if (__curAddressBarMode == ADDRESSBAR_MODE_EDIT)
\r
2350 __adressPanelPosition.y = 0;
\r
2351 if (__pAddressbar != null)
\r
2353 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
\r
2354 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
\r
2355 __pAddressbar->Invalidate(true);
\r
2357 if (__pWebViewer != null)
\r
2359 __pWebViewer->StopLoading();
\r
2364 if (__pWebViewer != null)
\r
2366 if(__pFooterPanel->GetShowState() == false)
\r
2367 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height));
\r
2369 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
\r
2370 __pWebViewer->Invalidate(true);
\r
2375 MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar)
\r
2378 if(__pFooterPanel != null)
\r
2380 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
\r
2381 if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
\r
2383 InitMostVisitedSitesView(GetOrientationStatus());
\r
2385 __pFooterPanel->SetShowState(true);
\r
2386 __pFooterPanel->Invalidate(false);
\r
2391 //AppLogDebug("MainForm::OnAddressBarKeypadClosed enterd");
\r
2393 if (__pWebViewer != null && __pFooterPanel != null)
\r
2395 AppLog("MainForm::OnAddressBarKeypadClosed GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
\r
2396 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
\r
2398 if(__pFooterPanel->GetShowState() == false)
\r
2399 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height));
\r
2401 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
\r
2402 __pWebViewer->Invalidate(false);
\r
2403 //__pWebViewer->SetBounds(Rectangle(0, 82, GetClientAreaBounds().width,webControlHeight));
\r
2405 if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null)
\r
2406 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__pAddressbar->GetBounds().y + __pAddressbar->GetHeight()-12 , GetClientAreaBounds().width, GetClientAreaBounds().height - __pAddressbar->GetHeight() - __pFooterPanel->GetHeight() + 14));
\r
2411 MainForm::OnAddressBarKeypadOpened(const Addressbar& addBar)
\r
2413 __pFooterPanel->SetShowState(false);
\r
2414 __pFooterPanel->Invalidate(false);
\r
2418 MainForm::OnAddressBarKeypadWillOpen(const Addressbar& addBar)
\r
2420 __pFooterPanel->SetShowState(false);
\r
2421 __pFooterPanel->Invalidate(false);
\r
2425 MainForm::OnPageTitleReceived(const Tizen::Base::String& title)
\r
2427 if (__pWindowInfo)
\r
2429 __pWindowInfo->pageTitle = title;
\r
2430 if (__pWebViewer != null)
\r
2432 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
\r
2435 if (__pAddressbar != null && __pWebViewer != null)
\r
2437 __pAddressbar->SetUrl(__pWebViewer->GetUrl());
\r
2438 __pAddressbar->UpdateFaviconBitmap(SettingPresentationModel::GetInstance()->GetPrivateOn());
\r
2439 __pAddressbar->Invalidate(true);
\r
2445 MainForm::UpdateFavicon(void)
\r
2447 bool urlImageType = false;
\r
2448 String *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();");
\r
2449 Bitmap* pBitmap = null;
\r
2451 if (tempPath && tempPath->GetLength() > 0 && tempPath->CompareTo(L"undefined") != 0)
\r
2453 if (__pWindowInfo != null)
\r
2456 url.SetUri(*tempPath);
\r
2457 if (url.GetHost().GetLength() == 0)
\r
2460 webUrl.SetUri(__pWebViewer->GetUrl());
\r
2461 result r = url.SetHost(webUrl.GetHost());
\r
2468 if (url.GetScheme().GetLength() == 0)
\r
2471 webUrl.SetUri(__pWebViewer->GetUrl());
\r
2472 url.SetScheme(webUrl.GetScheme());
\r
2474 __pWindowInfo->faviconUrl = url.ToString();
\r
2476 pBitmap = __pWebViewer->GetFaviconN();
\r
2478 if (pBitmap != null)
\r
2480 if (__pWindowInfo->pFavicon != NULL)
\r
2482 // delete __pWindowInfo->pFavicon;
\r
2483 __pWindowInfo->pFavicon = null;
\r
2485 __pWindowInfo->pFavicon = new(std::nothrow) Bitmap();
\r
2486 __pWindowInfo->pFavicon->Construct(*pBitmap,Rectangle(0,0,pBitmap->GetWidth(),pBitmap->GetHeight()));
\r
2487 //bool isPrivateBrowsing = __pWebViewer->IsPrivateBrowsingEnabled();
\r
2489 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
\r
2491 FaviconManager::GetInstance()->SaveFavicon(*__pWindowInfo->pFavicon, __pWindowInfo->faviconUrl);
\r
2493 else if(__pWindowInfo->pFavicon != null)
\r
2495 __pAddressbar->SetFaviconBitmap(*__pWindowInfo->pFavicon);
\r
2499 __pAddressbar->SetFaviconBitmap(*FaviconManager::GetInstance()->GetDefaultFaviconN());
\r
2502 AppLogDebug("Favicon download requested: url: %ls", url.ToString().GetPointer());
\r
2509 AppLogDebug("Error occured: %s", GetErrorMessage(GetLastResult()));
\r
2516 MainForm::OnLoadingRequested(const Tizen::Base::String& url,
\r
2517 Tizen::Web::Controls::WebNavigationType type)
\r
2519 // when load new page if find word panel is open its show state is false
\r
2520 ShowFindWordPanel(false);
\r
2523 uriInfo.SetUri(url);
\r
2525 if(url.Contains(IDS_TIZEN_SERVICE))
\r
2528 String delim(L":;");
\r
2530 // Creates a StringTokenizer instance
\r
2531 StringTokenizer strTok(url, delim);
\r
2533 int count = strTok.GetTokenCount(); // count == 4
\r
2535 ArrayList *pArgList = new(std::nothrow) ArrayList();
\r
2536 pArgList->Construct();
\r
2540 while (strTok.HasMoreTokens())
\r
2542 AppLog("Token: %ls", token.GetPointer());
\r
2543 strTok.GetNextToken(token); // Tizen, StringTokenizer, Sample, code
\r
2544 if(token.Contains(IDS_APPID))
\r
2546 token.SubString(6, appId);
\r
2547 AppLog("AppID:%ls", appId.GetPointer());
\r
2549 else if(token.Contains("="))
\r
2551 pArgList->Add(* new(std::nothrow) String(token));
\r
2556 DateTime dateTime;
\r
2557 SystemTime::GetCurrentTime(dateTime);
\r
2558 dateTime.AddSeconds(1);
\r
2559 String condition = "DateTime='" + dateTime.ToString() + "'";
\r
2560 result r = AppManager::GetInstance()->LaunchApplication(appId, pArgList, AppManager::LAUNCH_OPTION_DEFAULT);
\r
2561 AppLog("Launch res: %s", GetErrorMessage(r));
\r
2566 if (__pWebViewer && __pAddressbar)
\r
2568 AppLog("__pWebViewer->GetUrl() %ls",__pWebViewer->GetUrl().GetPointer());
\r
2569 __pAddressbar->SetUrl(__pWebViewer->GetUrl());
\r
2570 __pAddressbar->UpdateProgress(DEFAULT_PROGRESS_PERCENTAGE);
\r
2572 if (__pWindowInfo)
\r
2574 __pWindowInfo->pageTitle = CommonUtil::GetString(L"IDS_BR_BODY_ABOUT_C_BLANK");
\r
2575 __pWindowInfo->pageUrl = __pWebViewer->GetUrl();
\r
2576 __pWindowInfo->faviconUrl = "";
\r
2577 __pWindowInfo->faviconFilePath = "";
\r
2579 if (__pWindowInfo->pFavicon != NULL)
\r
2581 // delete __pWindowInfo->pFavicon;
\r
2582 __pWindowInfo->pFavicon = null ;
\r
2584 __pWindowInfo->pFavicon = FaviconManager::GetInstance()->GetDefaultFaviconN();
\r
2588 __pAddressbar->Invalidate(true);
\r
2594 MainForm::OnWebDataReceived(const Tizen::Base::String& mime,
\r
2595 const Tizen::Net::Http::HttpHeader& httpHeader)
\r
2597 return Tizen::Web::Controls::WEB_DECISION_CONTINUE;
\r
2602 MainForm::OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graphics::Point& startPoint, Tizen::Graphics::Point& endPoint)
\r
2604 AppLog("MainForm::OnWebPageBlockSelected");
\r
2606 if (__pHitElementResult != null)
\r
2608 delete __pHitElementResult;
\r
2609 __pHitElementResult = null;
\r
2612 if (__pWebViewer != null)
\r
2614 AppLog("MainForm::OnWebPageBlockSelected web not null");
\r
2615 __pHitElementResult = __pWebViewer->GetElementByPointN(startPoint);
\r
2618 if (__pHitElementResult == null)
\r
2623 if (__pHitElementResult->HasImage() != true)
\r
2625 String tagName = __pHitElementResult->GetTagName();
\r
2626 String type = __pHitElementResult->GetAttributeValue("type");
\r
2628 __currentSelectedStr.Clear();
\r
2629 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
\r
2631 if ((tagName.CompareTo(L"INPUT") == 0) || tagName.CompareTo(L"TEXTAREA") == 0)
\r
2633 AppLog("MainForm::OnWebPageBlockSelected show paste option");
\r
2635 InitSelectTextContextMenu(startPoint,true);
\r
2636 __pImageMenu->SetShowState(true);
\r
2637 __pImageMenu->Show();
\r
2638 __pImageMenu->Invalidate(true);
\r
2640 else if (__pHitElementResult->HasUrl() == true || __currentSelectedStr.GetLength() > 0)
\r
2642 AppLog("MainForm::OnWebPageBlockSelected no paste option");
\r
2644 if(__pHitElementResult->GetUrl().GetLength() > 0)
\r
2646 __currentSelectedStr.Clear();
\r
2647 __currentSelectedStr = __pHitElementResult->GetUrl();
\r
2649 InitSelectTextContextMenu(startPoint,false);
\r
2650 __pImageMenu->SetShowState(true);
\r
2651 __pImageMenu->Show();
\r
2652 __pImageMenu->Invalidate(true);
\r
2655 AppLog("MainForm::OnWebPageBlockSelected block text is %ls",__currentSelectedStr.GetPointer());
\r
2656 AppLog("MainForm::OnWebPageBlockSelected tag name is %ls",tagName.GetPointer());
\r
2657 AppLog("MainForm::OnWebPageBlockSelected type name is %ls",type.GetPointer());
\r
2662 MainForm::OnWebPageShowRequested(Tizen::Web::Controls::Web& source)
\r
2668 MainForm::OnWebWindowCreateRequested(void)
\r
2670 WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewScene();
\r
2672 if (pNewWindowInfo == null)
\r
2676 result r = E_SUCCESS;
\r
2677 SceneManager* pSceneManager = SceneManager::GetInstance();
\r
2678 if (pSceneManager == NULL)
\r
2682 ArrayList* pArgList = new(std::nothrow) ArrayList();
\r
2683 if (pArgList == NULL)
\r
2687 r = pArgList->Construct();
\r
2688 if (r == E_SUCCESS)
\r
2690 pNewWindowInfo->isJavascriptInitiated = true;
\r
2691 pArgList->Add(*pNewWindowInfo);
\r
2692 r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
\r
2696 AppLogDebug("EditHistoryListForm::OnFormBackRequested Failed to GoBackward %s",GetErrorMessage(r));
\r
2703 return pNewWindowInfo->pCurrentWeb;
\r
2707 MainForm::RelayoutControls(bool showAddressbar)
\r
2709 if (showAddressbar == false)
\r
2711 __pAddressbar->SetShowState(false);
\r
2712 __pWebViewer->SetBounds(__pWebViewer->GetX(), 0, __pWebViewer->GetWidth(), __webControlHeight);
\r
2713 __pFooterPanel->SetBounds(__pFooterPanel->GetX(), GetClientAreaBounds().height - __pFooterPanel->GetHeight(), __pFooterPanel->GetWidth(), __pFooterPanel->GetHeight());
\r
2717 __pAddressbar->SetShowState(true);
\r
2718 __pWebViewer->SetBounds(__pWebViewer->GetX(), __pWebViewer->GetY(), __pWebViewer->GetWidth(), __webControlHeight);
\r
2719 __pFooterPanel->SetBounds(__pFooterPanel->GetX(), GetClientAreaBounds().height - __pFooterPanel->GetHeight(), __pFooterPanel->GetWidth(), __pFooterPanel->GetHeight());
\r
2721 RequestRedraw(true);
\r
2724 void MainForm::ShowFindWordPanel(bool show , bool isTouchPressed)
\r
2726 if (__pFindWordPanel == null)
\r
2732 InitFindWordPanel();
\r
2733 __pFindWordEditField->SetText(__currentSearchStr);
\r
2734 //__pFindWordCountLabel->SetText(L"");
\r
2735 __pFindWordCountLabel->SetText(L"0/0");
\r
2739 AppLog("MainForm::ShowFindWordPanel %d",show);
\r
2740 if (show && !isTouchPressed)
\r
2742 if (__pFindWordEditField)
\r
2743 __pFindWordEditField->ShowKeypad();
\r
2747 if (__pFindWordEditField)
\r
2748 __pFindWordEditField->HideKeypad();
\r
2751 if (__pAddressbar != null)
\r
2753 __pAddressbar->SetShowState(!show);
\r
2754 __pAddressbar->Invalidate(true);
\r
2756 if (__pFindWordPanel != null)
\r
2758 __pFindWordPanel->SetShowState(show);
\r
2759 __pFindWordPanel->Invalidate(true);
\r
2765 MainForm::StartWordSearch()
\r
2767 //Get the count of occurances of the word in the current page
\r
2768 __maxOccurrances = 0;
\r
2769 __currentWordIndex = 0;
\r
2771 __pFindWordPrev->SetEnabled(false);
\r
2772 String *pCountStr = null;
\r
2773 __pWebViewer->SearchTextAllAsync(__currentSearchStr, false);
\r
2774 /*__pWebViewer->EvaluateJavascriptN(L"document.body.textContent.match(/" + __currentSearchStr + "/gi).length;");
\r
2775 if (pCountStr != null)
\r
2777 Integer::Parse(*pCountStr, 10, __maxOccurrances);
\r
2781 AppLogDebug("'%ls' is found %d times", __currentSearchStr.GetPointer(), __maxOccurrances);
\r
2786 void MainForm::OnTextFound(int totalCount, int currentOrdinal)
\r
2788 AppLog("MainForm::OnTextFound totalCount %d",totalCount);
\r
2789 AppLog("MainForm::OnTextFound currentOrdinal %d",currentOrdinal);
\r
2791 /* if(totalCount == -1 || totalCount == 0)
\r
2793 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),4,__pFindWordCountLabel->GetHeight());
\r
2794 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
\r
2797 else if(totalCount > 100)
\r
2799 __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight());
\r
2800 __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight());
\r
2803 __maxOccurrances = totalCount;
\r
2804 __currentWordIndex = currentOrdinal;
\r
2806 //Reset the UI controls as per the maxOccurrance value
\r
2807 if (totalCount <= 0)
\r
2809 AppLog("Word not found");
\r
2810 //Show error notification to user
\r
2811 __pFindWordNext->SetEnabled(false);
\r
2812 __pFindWordCountLabel->SetText(L"0/0");
\r
2813 __pFindWordNext->Invalidate(false);
\r
2814 __pFindWordPrev->Invalidate(false);
\r
2815 __pFindWordCountLabel->Invalidate(false);
\r
2819 if (totalCount == 1)
\r
2821 __pFindWordNext->SetEnabled(false);
\r
2825 __pFindWordNext->SetEnabled(true);
\r
2828 String countStr = L"";
\r
2829 countStr.Append(__currentWordIndex);
\r
2830 countStr.Append(L"/");
\r
2831 countStr.Append(__maxOccurrances);
\r
2832 __pFindWordCountLabel->SetText(countStr);
\r
2833 // __pFindWordCountLabel->SetShowState(true);
\r
2834 __pFindWordCountLabel->Invalidate(false);
\r
2836 //FindNextWord(true);
\r
2837 //Update the controls
\r
2838 __pFindWordNext->Invalidate(false);
\r
2839 __pFindWordPrev->Invalidate(false);
\r
2840 __pFindWordCountLabel->Invalidate(false);
\r
2844 MainForm::FindNextWord(bool next)
\r
2848 if (__pWebViewer->SearchText(__currentSearchStr, true) == true)
\r
2850 if(__currentWordIndex < __maxOccurrances)
\r
2852 __currentWordIndex++;
\r
2858 if (__pWebViewer->SearchText(__currentSearchStr, false) == true)
\r
2860 if(__currentWordIndex > 1)
\r
2862 __currentWordIndex--;
\r
2867 String countStr = L"";
\r
2868 countStr.Append(__currentWordIndex);
\r
2869 countStr.Append(L"/");
\r
2870 countStr.Append(__maxOccurrances);
\r
2871 __pFindWordCountLabel->SetText(countStr);
\r
2872 // __pFindWordCountLabel->SetShowState(true);
\r
2873 __pFindWordCountLabel->Invalidate(false);
\r
2874 if (__currentWordIndex >= __maxOccurrances)
\r
2876 __pFindWordNext->SetEnabled(false);
\r
2880 __pFindWordNext->SetEnabled(true);
\r
2882 if (__currentWordIndex <= 1)
\r
2884 __pFindWordPrev->SetEnabled(false);
\r
2888 __pFindWordPrev->SetEnabled(true);
\r
2890 __pFindWordPrev->Invalidate(false);
\r
2891 __pFindWordNext->Invalidate(false);
\r
2892 __pFindWordCountLabel->Invalidate(false);
\r
2893 __pFindWordPanel->Invalidate(true);
\r
2896 MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
\r
2898 OnAddressBarKeypadOpened(*__pAddressbar);
\r
2902 MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source)
\r
2905 if (__pWebViewer != null && __pFooterPanel != null)
\r
2907 AppLog("MainForm::OnOrientationChanged GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
\r
2908 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
\r
2910 if(__pFooterPanel->GetShowState() == false)
\r
2911 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height));
\r
2913 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
\r
2915 //__pWebViewer->SetBounds(Rectangle(0, 82, GetClientAreaBounds().width,webControlHeight));
\r
2920 MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source)
\r
2922 OnAddressBarKeypadClosed(*__pAddressbar);
\r
2926 MainForm::OnTouchDoublePressed(const Control& source, const Point& currentPosition, const TouchEventInfo& touchInfo)
\r
2928 Control* temp = const_cast< Control* >(&source);
\r
2929 Header* pHeader = dynamic_cast< Header* >(temp);
\r
2930 if (pHeader != null)
\r
2932 //Header double - clicked
\r
2933 AppLog("Header double clicked");
\r
2935 if(__pFindWordPanel)
\r
2937 AppLog("MainForm::OnTouchPressed %d",__pFindWordPanel->GetShowState());
\r
2938 ShowFindWordPanel(__pFindWordPanel->GetShowState(), true);
\r
2942 AppLog("MainScene::OnTouchDoublePressed");
\r
2943 bool isReaderEnabled = SettingPresentationModel::GetInstance()->IsRunReaderEnabled();
\r
2944 if (isReaderEnabled == true)
\r
2946 if (__pReaderData)
\r
2948 delete __pReaderData;
\r
2949 __pReaderData = null;
\r
2951 String filePath = Tizen::App::UiApp::GetInstance()->GetAppRootPath();
\r
2952 filePath.Append(L"data/reader.js");
\r
2958 result r = E_SUCCESS;
\r
2959 FileAttributes attr;
\r
2961 File::GetAttributes(filePath,attr);
\r
2963 r = file.Construct(filePath, L"r+");
\r
2966 AppLogDebug("File construct failed with %s", GetErrorMessage(r));
\r
2969 char* pScript = new(std::nothrow) char[attr.GetFileSize()+1];
\r
2970 if(pScript == null)
\r
2972 AppLogDebug("Memory allocation for file failed %s", GetErrorMessage(r));
\r
2975 file.Read(pScript,attr.GetFileSize());
\r
2977 AppLogDebug("scipt length %d",strlen(pScript));
\r
2978 String strScript = L"";
\r
2979 strScript.Append(pScript);
\r
2980 __pReaderData = __pWebViewer->EvaluateJavascriptN(strScript);
\r
2981 if (!__pReaderData)
\r
2983 AppLog("MainScene::data is null Error :%s",GetErrorMessage(GetLastResult()));
\r
2986 AppLogDebug("evaluateJavascript result %s , __pReaderData %ls",GetErrorMessage(GetLastResult()),__pReaderData->GetPointer());
\r
2987 if (__pReaderData->CompareTo(L"undefined") != 0 && __pReaderData->CompareTo(L"") != 0)
\r
2989 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_READER);
\r
2995 void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
\r
2997 AppLog("MainForm::OnTouchLongPressed");
\r
2999 if (__pHitElementResult != null)
\r
3001 delete __pHitElementResult;
\r
3002 __pHitElementResult = null;
\r
3005 if (__pWebViewer != null)
\r
3007 AppLog("MainForm::OnTouchLongPressed web not null");
\r
3008 __pHitElementResult = __pWebViewer->GetElementByPointN(currentPosition);
\r
3011 if (__pHitElementResult == null)
\r
3016 if (__pHitElementResult->HasImage() == true)
\r
3018 InitImageContextMenu(currentPosition);
\r
3019 __pImageMenu->SetShowState(true);
\r
3020 __pImageMenu->Show();
\r
3021 __pImageMenu->Invalidate(true);
\r
3025 String tagName = __pHitElementResult->GetTagName();
\r
3026 String type = __pHitElementResult->GetAttributeValue("type");
\r
3027 String value = __pHitElementResult->GetAttributeValue(L"value");
\r
3028 String innerHtml = __pHitElementResult->GetAttributeValue(L"innerHTML");
\r
3030 __currentSelectedStr.Clear();
\r
3031 __currentSelectedStr = __pWebViewer->GetTextFromBlock();
\r
3033 if (((tagName.CompareTo(L"INPUT") == 0) || tagName.CompareTo(L"TEXTAREA") == 0) && value.GetLength() == 0 && innerHtml.GetLength() == 0)
\r
3035 AppLog("MainForm::OnWebPageBlockSelected show paste option");
\r
3037 InitSelectTextContextMenu(currentPosition,true, true);
\r
3038 __pImageMenu->SetShowState(true);
\r
3039 __pImageMenu->Show();
\r
3040 __pImageMenu->Invalidate(true);
\r
3042 __pWebViewer->SetBlockSelectionPosition(currentPosition);
\r
3045 __inputEventToBeSupressed = true;
\r
3049 MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
\r
3051 AppLog("MainForm::OnTouchReleased");
\r
3053 HitElementResult* pHitElement = __pWebViewer->GetElementByPointN(currentPosition);
\r
3054 if(pHitElement != null && pHitElement->HasUrl() == true && __inputEventToBeSupressed == true)
\r
3056 __pWebViewer->ConsumeInputEvent();
\r
3058 if(pHitElement != null)
\r
3060 delete pHitElement;
\r
3062 __inputEventToBeSupressed = false;
\r
3066 MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
\r
3068 int widthContextItem = 0;
\r
3070 if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
\r
3073 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE;
\r
3077 widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT;
\r
3080 if( __pItemContext != NULL)
\r
3082 delete __pItemContext;
\r
3083 __pItemContext = null;
\r
3087 __pItemContext= new(std::nothrow) ListContextItem();
\r
3088 __pItemContext->Construct();
\r
3089 Bitmap* pBitmapNormal = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete.9.png", widthContextItem,HEIGHT_CONTEXT_MENU_BUTTON);
\r
3090 Bitmap* pBitmapPressed = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete_press.9.png", widthContextItem, HEIGHT_CONTEXT_MENU_BUTTON);
\r
3092 if (pBitmapNormal != null && pBitmapPressed != null)
\r
3094 __pItemContext->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), *pBitmapNormal, *pBitmapPressed, pBitmapPressed);
\r
3097 if (pBitmapNormal != null)
\r
3099 delete pBitmapNormal;
\r
3102 if (pBitmapPressed != null)
\r
3104 delete pBitmapPressed;
\r
3108 if (__pFindWordPanel != null && __pFindWordPanel->GetShowState() == true)
\r
3110 __pFindWordPanel->SetBounds(0,0,GetClientAreaBounds().width,__pFindWordPanel->GetHeight());
\r
3111 __pFindWordControl->SetBounds(0,0, __pFindWordPanel->GetWidth(), __pFindWordPanel->GetHeight());
\r
3112 __pFindWordControl->SetShowState(true);
\r
3113 __pFindWordControl->Invalidate(true);
\r
3114 __pFindWordPanel->SetShowState(true);
\r
3115 __pFindWordPanel->Invalidate(true);
\r
3118 if (__pWebViewer != null && __pFooterPanel != null)
\r
3120 AppLog("MainForm::OnOrientationChanged GetClientAreaBounds().height %d ", GetClientAreaBounds().height);
\r
3121 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
\r
3123 if(__pFooterPanel->GetShowState() == false)
\r
3124 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height));
\r
3126 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
\r
3127 __pWebViewer->Invalidate(true);
\r
3129 //__pWebViewer->SetBounds(Rectangle(0, 82, GetClientAreaBounds().width,webControlHeight));
\r
3131 if (__pAddressbar != null)
\r
3133 __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight()));
\r
3134 __pAddressbar->SetAddressbarMode(__pAddressbar->GetAddressbarMode());
\r
3135 __pAddressbar->UpdateFaviconBitmap(SettingPresentationModel::GetInstance()->GetPrivateOn());
\r
3137 if (__pFindWordBgLabel != null)
\r
3139 // __pFindWordBgLabel->SetSize(GetClientAreaBounds().width,GetClientAreaBounds().height);
\r
3140 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight());
\r
3141 if (pBitmap != null)
\r
3143 __pFindWordBgLabel->SetBackgroundBitmap(*pBitmap);
\r
3147 if (__pFooterPanel /*&& __pFooterPanel->GetShowState() == true*/)
\r
3149 AppLog("__pFooterPanel->GetShowState() is true");
\r
3154 if(__pMoreButton && __pMenu)
\r
3156 Point p = Point(__pMoreButton->GetX() + __pMoreButton->GetWidth() / 2, GetBounds().height - __pMoreButton->GetHeight());
\r
3157 __pMenu->SetAnchorPosition(p);
\r
3158 __pMenu->Invalidate(true);
\r
3161 if (__pFooterPanel)
\r
3163 __pFooterPanel->Invalidate(true);
\r
3165 String homePage = SettingPresentationModel::GetInstance()->GetHomepage();
\r
3166 if (homePage.CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
\r
3168 InitMostVisitedSitesView(orientationStatus);
\r
3171 if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null)
\r
3173 __pMostVisitedListView->SetBounds(__pAddressbar->GetX(),__pAddressbar->GetY()+__pAddressbar->GetHeight(),GetClientAreaBounds().width,GetClientAreaBounds().height - __pAddressbar->GetHeight()- __pFooterPanel->GetHeight());
\r
3176 AppLog("OnOrientationChanged 0");
\r
3177 if (__pArticleReaderPanel != null)
\r
3179 if (__pArticleReaderPanel->GetShowState() == true)
\r
3181 __pArticleReaderPanel->SetBounds((GetClientAreaBounds().width - __pArticleReaderPanel->GetWidth())/2,(GetClientAreaBounds().height - __pArticleReaderPanel->GetHeight())/2, __pArticleReaderPanel->GetWidth(), __pArticleReaderPanel->GetHeight());
\r
3183 if (__pBlankPanel != null)
\r
3184 __pBlankPanel->SetBounds(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height);
\r
3186 if (__pWebReader != null)
\r
3188 __pWebReader->SetBounds(Rectangle(2,2, __pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight() - 96));
\r
3190 Bitmap* pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
\r
3191 Bitmap* pSrcBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_popup_bottom_bg.9.png",__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight());
\r
3193 if ( pBitmap != null && pSrcBitmap != null)
\r
3195 AppLog("CreateReaderPanel ninepatchbitmap found");
\r
3196 pBitmap->Merge(Point(0,__pArticleReaderPanel->GetHeight() - 96),*pSrcBitmap,Rectangle(0,0,pSrcBitmap->GetWidth(),pSrcBitmap->GetHeight()));
\r
3199 __pArticleReaderLabel->SetBounds(Rectangle(__pArticleReaderPanel->GetX(),__pArticleReaderPanel->GetY(),__pArticleReaderPanel->GetWidth(),__pArticleReaderPanel->GetHeight()));
\r
3200 __pArticleReaderLabel->SetBackgroundBitmap(*pBitmap);
\r
3201 if (pBitmap != null)
\r
3206 if (pSrcBitmap != null)
\r
3208 delete pSrcBitmap;
\r
3209 pSrcBitmap = null;
\r
3214 if(__pAddressbar != null)
\r
3216 __pAddressbar->OrientationChanged();
\r
3221 MainForm::OnSettingsChange(int settingvalue)
\r
3223 AppLogDebug("MainForm::OnSettingsChange entered");
\r
3224 if (__pWebViewer == null)
\r
3226 AppLogDebug("Webviewer is not initialized yet.");
\r
3229 if (settingvalue == (int) REGISTRY_SETTING_DEFAULT_VIEW)
\r
3231 WebSetting settings = __pWebViewer->GetSetting();
\r
3232 if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo(CommonUtil::GetString(L"IDS_BR_BODY_FIT_TO_WIDTH")) == 0)
\r
3234 settings.SetAutoFittingEnabled(true);
\r
3236 else if (SettingPresentationModel::GetInstance()->GetDefaultView().CompareTo(CommonUtil::GetString(L"IDS_BR_BODY_READABLE")) == 0)
\r
3238 settings.SetAutoFittingEnabled(false);
\r
3240 __pWebViewer->SetSetting(settings);
\r
3242 else if (settingvalue == (int) REGISTRY_SETTING_RUN_JAVASCRIPT)
\r
3244 WebSetting settings = __pWebViewer->GetSetting();
\r
3245 settings.SetJavascriptEnabled(SettingPresentationModel::GetInstance()->IsRunJavascriptEnabled());
\r
3246 __pWebViewer->SetSetting(settings);
\r
3248 else if (settingvalue == (int) REGISTRY_SETTING_DISPLAY_IMAGES)
\r
3250 WebSetting settings = __pWebViewer->GetSetting();
\r
3251 settings.SetAutoImageLoadEnabled(SettingPresentationModel::GetInstance()->IsDisplayImagesEnabled());
\r
3252 __pWebViewer->SetSetting(settings);
\r
3254 else if (settingvalue == (int) REGISTRY_SETTING_BLOCK_POPUP)
\r
3256 WebSetting settings = __pWebViewer->GetSetting();
\r
3257 settings.SetJavaScriptPopupEnabled(SettingPresentationModel::GetInstance()->IsBlockPopUp());
\r
3258 __pWebViewer->SetSetting(settings);
\r
3260 else if (settingvalue == (int) REGISTRY_SETTING_ACCEPT_COOKIES)
\r
3264 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
\r
3268 else if (settingvalue == (int) REGISTRY_SETTING_SHOW_SECURITY_WARNINGS)
\r
3270 WebSetting settings = __pWebViewer->GetSetting();
\r
3271 if (SettingPresentationModel::GetInstance()->IsSecurityWarningsEnabled() == true)
\r
3273 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_USER_CONFIRM);
\r
3277 settings.SetCertificateErrorHandlingMode(WEB_CERTIFICATE_ERROR_HANDLING_MODE_CONTINUE);
\r
3279 __pWebViewer->SetSetting(settings);
\r
3281 else if (settingvalue == (int) REGISTRY_SETTING_READER_FONT_SIZE)
\r
3285 AppLogDebug("IntMainForm fontsize Changed to %d",SettingPresentationModel::GetInstance()->GetReaderFontSize());
\r
3286 WebSetting settings = __pWebReader->GetSetting();
\r
3287 settings.SetFontSize(SettingPresentationModel::GetInstance()->GetReaderFontSize());
\r
3288 __pWebReader->SetSetting(settings);
\r
3294 MainForm::OnSettingsReset()
\r
3298 __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled());
\r
3299 __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings());
\r
3304 MainForm::OnClearCache()
\r
3306 result r = E_SUCCESS;
\r
3308 if (__pWebViewer != NULL)
\r
3310 r = __pWebViewer->ClearCache();
\r
3311 if (r == E_SUCCESS)
\r
3313 AppLogDebug("Cache cleared success");
\r
3317 AppLogDebug("Cache cleared fail");
\r
3323 MainForm::OnClearCookie()
\r
3325 result r = E_SUCCESS;
\r
3327 if (__pWebViewer != NULL)
\r
3329 __pWebViewer->ClearCookie();
\r
3331 if (r == E_SUCCESS)
\r
3333 AppLogDebug("Cookie cleared success");
\r
3337 AppLogDebug("Cache cleared fail");
\r
3342 MainForm::findDistance(int x1,int y1,int x2, int y2)
\r
3344 int deltaX = Math::Abs(x2 - x1);
\r
3345 int deltaY = Math::Abs(y2 - y1);
\r
3346 double num = deltaX*deltaX + deltaY*deltaY;
\r
3352 for (i = 0; i < 20; i++)
\r
3354 x = (((x*x)+ num)/(2*x));
\r
3365 MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
\r
3367 if(__pFindWordPanel)
\r
3369 AppLog("MainForm::OnTouchPressed %d",__pFindWordPanel->GetShowState());
\r
3370 ShowFindWordPanel(__pFindWordPanel->GetShowState(), true);
\r
3374 IList* pList = null;
\r
3375 pList = touch.GetTouchInfoListN(source);
\r
3377 if (pList != null)
\r
3379 int count = pList->GetCount();
\r
3382 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
\r
3383 __touchPoint1 = pTouchInfo->position;
\r
3385 if (__pAddressbar != null)
\r
3387 if (__pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING_COMPLETE && __pAddressbar->GetAddressbarMode() != ADDRESSBAR_MODE_LOADING)
\r
3389 if (__pAddressbar->GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
\r
3391 __pAddressbar->SaveAddressbarEditText();
\r
3393 __pAddressbar->SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING_COMPLETE);
\r
3396 __pAddressbar->Invalidate(true);
\r
3399 else if (count == 2)
\r
3401 AppLogDebug("MainForm::OnTouchPressed count is two");
\r
3402 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
\r
3403 __touchPoint1 = pTouchInfo->position;
\r
3405 pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(1));
\r
3406 __touchPoint2 = pTouchInfo->position;
\r
3409 if( pList != NULL)
\r
3412 pList->RemoveAll(true);
\r
3419 MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
\r
3421 AppLog("Start MainForm::OnTouchMoved MoveUiControls");
\r
3422 if(__pFindWordPanel)
\r
3424 AppLog("MainForm::OnTouchPressed %d",__pFindWordPanel->GetShowState());
\r
3425 ShowFindWordPanel(__pFindWordPanel->GetShowState(), true);
\r
3428 if (__pFindWordEditField != null)
\r
3430 __pFindWordEditField->HideKeypad();
\r
3433 if (__pAddressbar->GetAddressbarMode() == ADDRESSBAR_MODE_EDIT)
\r
3437 static int Count=0;
\r
3439 IList* pList = null;
\r
3440 pList = touch.GetTouchInfoListN(source);
\r
3442 if (pList != null)
\r
3444 int count = pList->GetCount();
\r
3447 AppLogDebug("MainForm::OnTouchMoved count 1");
\r
3448 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
\r
3450 if( pTouchInfo == NULL )
\r
3454 pTouchInfo->position.y += __pWebViewer->GetY();
\r
3455 AppLog("MainForm::OnTouchMoved MoveUiControls %d,%d",pTouchInfo->position.x,pTouchInfo->position.y);
\r
3457 if (__isLoaded == false)
\r
3460 __distanceMoved = pTouchInfo->position.y - __touchPoint1.y;
\r
3461 __touchPoint1 = pTouchInfo->position;
\r
3463 // move the address bar and web control according to distance moved
\r
3466 else if (count == 2)
\r
3468 AppLogDebug("MainForm::OnTouchMoved count 2");
\r
3472 TouchInfo* pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(0));
\r
3474 if( pTouchInfo == NULL )
\r
3478 Point firstPoint = pTouchInfo->position;
\r
3480 pTouchInfo = static_cast<TouchInfo*>(pList->GetAt(1));
\r
3481 if( pTouchInfo == NULL )
\r
3485 Point secondPoint = pTouchInfo->position;
\r
3487 if (__touchPoint1 == Point(-1,-1) || __touchPoint2 == Point(-1,-1))
\r
3489 __touchPoint1 = firstPoint;
\r
3490 __touchPoint2 = secondPoint;
\r
3495 int currX1 = firstPoint.x;
\r
3496 int currY1 = firstPoint.y;
\r
3497 int currX2 = secondPoint.x;
\r
3498 int currY2 = secondPoint.y;
\r
3500 double prevDist = findDistance(__touchPoint1.x,__touchPoint1.y,__touchPoint2.x,__touchPoint2.y);
\r
3501 double dist = findDistance(currX1, currY1, currX2, currY2);
\r
3502 __distanceMoved = prevDist - dist;
\r
3504 __touchPoint1 = firstPoint;
\r
3505 __touchPoint2 = secondPoint;
\r
3517 MainForm::MoveUiControls()
\r
3519 __adressPanelPosition.y = __adressPanelPosition.y + __distanceMoved;
\r
3520 if(__pAddressbar == NULL)
\r
3525 if (__adressPanelPosition.y > 0)
\r
3527 __adressPanelPosition.y = 0;
\r
3528 __webControlPosition.y = __pAddressbar->GetHeight() - 12;
\r
3530 else if (__adressPanelPosition.y < (0-(__pAddressbar->GetHeight() - 12))) // -12 is for the progress label
\r
3532 __adressPanelPosition.y = 0-(__pAddressbar->GetHeight() - 12);
\r
3533 __webControlPosition.y = 0;
\r
3537 __webControlPosition.y = __adressPanelPosition.y + (__pAddressbar->GetHeight() - 12);
\r
3540 AppLogDebug("__adressPanelPosition.y = %d, __webControlPosition.y = %d", __adressPanelPosition.y, __webControlPosition.y);
\r
3542 __pAddressbar->SetBounds(0,__adressPanelPosition.y,__pAddressbar->GetWidth(),__pAddressbar->GetHeight());
\r
3543 __pAddressbar->Invalidate(false);
\r
3545 if (__pWebViewer != NULL)
\r
3547 if(__pFooterPanel->GetShowState() == true)
\r
3548 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
\r
3550 __webControlHeight = GetClientAreaBounds().height;
\r
3551 __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, __webControlHeight));
\r
3552 __pWebViewer->Invalidate(false);
\r
3557 MainForm::OnTextValueChanged (const Tizen::Ui::Control &source)
\r
3559 if (__pFindWordEditField != null)
\r
3561 __currentSearchStr = __pFindWordEditField->GetText();
\r
3562 __pFindWordNext->SetEnabled(false);
\r
3563 __pFindWordPrev->SetEnabled(false);
\r
3564 __pFindWordNext->Invalidate(true);
\r
3565 __pFindWordPrev->Invalidate(true);
\r
3566 __pFindWordCountLabel->SetText(L"0/0");
\r
3567 __pFindWordCountLabel->Invalidate(true);
\r
3569 AppLog("__currentSearchStr %ls",__currentSearchStr.GetPointer());
\r
3570 if (__currentSearchStr.GetLength() > 0)
\r
3572 StartWordSearch();
\r
3576 __currentSearchStr = L"aaaaaaaabbbbbbbccccccc";
\r
3577 StartWordSearch();
\r
3578 AppLogDebug("Enter something");
\r
3583 MainForm::InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus)
\r
3590 MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus)
\r
3592 if(__pWebViewer != null)
\r
3595 AppLog("MainForm::InitMostVisitedSitesView");
\r
3596 result r = E_SUCCESS;
\r
3599 if (__pWebViewer != null && __pMostVisitedListView != null)
\r
3604 if (__pMostVisitedListView != null)
\r
3606 RemoveControl(*__pMostVisitedListView);
\r
3608 if(__pMostVisitedSites != null)
\r
3610 __pMostVisitedSites->RemoveAll(true);
\r
3613 HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites);
\r
3615 __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight();
\r
3616 __pMostVisitedListView = new(std::nothrow) ListView();
\r
3617 if(__pFooterPanel->GetShowState() == false)
\r
3619 r = __pMostVisitedListView->Construct(Tizen::Graphics::Rectangle(0,__pAddressbar->GetBounds().y + __pAddressbar->GetHeight() , GetClientAreaBounds().width, GetClientAreaBounds().height),true,false);
\r
3623 r = __pMostVisitedListView->Construct(Tizen::Graphics::Rectangle(0,__pAddressbar->GetBounds().y + __pAddressbar->GetHeight() , GetClientAreaBounds().width, __webControlHeight),true,false);
\r
3626 if (r != E_SUCCESS)
\r
3628 delete __pMostVisitedListView;
\r
3629 AppLogDebug("Addressbar init failed with %s", GetErrorMessage(r));
\r
3632 __pMostVisitedListView->SetItemProvider(*this);
\r
3633 __pMostVisitedListView->AddListViewItemEventListener(*this);
\r
3634 __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_RECENTLY_VISITED_SITES"));
\r
3635 AddControl(*__pMostVisitedListView);
\r
3636 AppLog("__pMostVisitedSitesPanel addcontrol %s",GetErrorMessage(r));
\r
3637 if(__pFooterPanel->GetShowState() == false)
\r
3638 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__pAddressbar->GetBounds().y + __pAddressbar->GetHeight()-12 , GetClientAreaBounds().width, GetClientAreaBounds().height - __pAddressbar->GetHeight() + 14));
\r
3640 __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__pAddressbar->GetBounds().y + __pAddressbar->GetHeight()-12 , GetClientAreaBounds().width, GetClientAreaBounds().height - __pAddressbar->GetHeight() - __pFooterPanel->GetHeight() + 14));
\r
3642 __pMostVisitedListView->UpdateList();
\r
3649 MainForm::GetImagePath(void)
\r
3653 String formattedTime;
\r
3654 DateTime currentTime;
\r
3655 LocaleManager localManager;
\r
3656 SystemTime::GetCurrentTime(TIME_MODE_WALL, currentTime);
\r
3658 localManager.Construct();
\r
3659 Locale locale = localManager.GetSystemLocale();
\r
3660 //Locale locale(LANGUAGE_ENG, COUNTRY_US);
\r
3662 // Get date formatter
\r
3663 DateTimeFormatter* pTimeFormatter = DateTimeFormatter::CreateDateTimeFormatterN(locale, DATE_TIME_STYLE_DEFAULT);
\r
3665 if (pTimeFormatter)
\r
3667 pTimeFormatter->Format(currentTime, formattedTime);
\r
3670 AppLog("current time stamp is %ls", formattedTime.GetPointer());
\r
3671 String delim(L" :");
\r
3672 StringTokenizer strTok(formattedTime, delim);
\r
3675 String str1("GMT+00");
\r
3676 while (strTok.HasMoreTokens())
\r
3678 strTok.GetNextToken(token); // Osp, StringTokenizer, Sample, code
\r
3679 if(token.Equals(str1))
\r
3681 AppLog("token is %ls", token.GetPointer());
\r
3682 imageName.Append(token);
\r
3688 void MainForm::UpdateImageContent(ByteBuffer* aBuffer, String imageName)
\r
3690 result r = E_FAILURE;
\r
3691 AppLog("Content manager 1");
\r
3692 ContentId contentId;
\r
3693 ContentManager contentManager;
\r
3694 r = contentManager.Construct();
\r
3697 AppLog("Content manager update content result %s" ,GetErrorMessage(r));
\r
3700 Tizen::Base::String contentPath = Tizen::System::Environment::GetMediaPath() + L"Downloads/";
\r
3701 contentPath.Append(imageName);
\r
3702 contentPath.Append(".jpg");
\r
3703 contentId = contentManager.CreateContent(*aBuffer, contentPath);
\r
3704 AppLog("Content manager update content result %s" ,GetErrorMessage(GetLastResult()));
\r