X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2FIntMainForm.cpp;h=0005ffc25c33a2414e1cae8b51540617633c08da;hb=9114d6d784c530bd296d3ec90f573e69c0c8eb90;hp=88e4eee71a8bd32bc3ea9f4b54c15a5d032e24cc;hpb=9c0005098a8eeb90574cb0c2324b548d2ce739b6;p=apps%2Fosp%2FInternet.git diff --git a/src/IntMainForm.cpp b/src/IntMainForm.cpp index 88e4eee..0005ffc 100644 --- a/src/IntMainForm.cpp +++ b/src/IntMainForm.cpp @@ -55,8 +55,8 @@ using namespace Tizen::System; using namespace Tizen::Web; using namespace Tizen::Web::Controls; -static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.9.png"; -static const wchar_t* IDB_FINDWORD_INPUT_FIELD_BG = L"I01_toolbar_input_field_findword.9.png"; +static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.#.png"; +static const wchar_t* IDB_FINDWORD_INPUT_FIELD_BG = L"I01_toolbar_input_field_findword.#.png"; static const wchar_t* IDB_BTN_BACK = L"I01_icon_Back.png"; static const wchar_t* IDB_BTN_BACK_PRESS = L"I01_icon_Back_press.png"; static const wchar_t* IDB_CONTRLBAR_ICON_BOOKMARK = L"I01_search_list_icon_favorite.png"; @@ -68,8 +68,8 @@ static const wchar_t* IDB_CONTRLBAR_ICON_NEW_WINDOW_PRESS = L"I01_icon_plus_pres static const wchar_t* IDB_CONTROLBAR_ICON_CREATE_DISABLE = L"I01_controlbar_icon_create_disable.png"; static const wchar_t* IDB_BUTTON_ON = L"00_button_on.png"; static const wchar_t* IDB_BUTTON_OFF = L"00_button_off.png"; -static const wchar_t* IDB_ICON_BOOKMARK_OFF_TEMP = L"I01_icon_bookmark_off_temp.png"; -static const wchar_t* IDB_ICON_BOOKMARK_ON_TEMP = L"I01_icon_bookmark_on_temp.png"; +static const wchar_t* IDB_ICON_BOOKMARK_OFF_TEMP =L"00_icon_favorite_off_74x74.png"; +static const wchar_t* IDB_ICON_BOOKMARK_ON_TEMP = L"00_icon_favorite_on_74x74.png"; static const wchar_t* IDS_TIZEN_SERVICE = L"tizen-service"; static const wchar_t* IDS_APPID = L"AppID"; static const wchar_t* IDS_KEY = L"key"; @@ -144,6 +144,7 @@ static const int WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT = 336; static const int WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE = 800; static const int HEIGHT_CONTEXT_MENU_BUTTON = 72; +static const wchar_t* APPCONTROL_OPERATION_ID_IMAGE_VIEWER = L"http://tizen.org/appcontrol/operation/view"; MainForm::MainForm(void) { __isLongPressedDone = false; @@ -200,6 +201,7 @@ MainForm::MainForm(void) __pBlankPanel = null; __pArticleReaderLabel = null; __webControlHeight = 0; + __webControlHeightF = 0; __prevAddressBarMode = ADDRESSBAR_MODE_INVALID; __curAddressBarMode = ADDRESSBAR_MODE_INVALID; __pMostVisitedSites = null; @@ -457,6 +459,7 @@ MainForm::InitWebControl() const int Y_WEBCONTROL_POSITION = 0; __webControlHeight = GetHeight() - __pFooterPanel->GetHeight(); + __webControlHeightF = GetHeightF() - __pFooterPanel->GetHeightF(); if (__pMostVisitedListView) { @@ -473,6 +476,7 @@ MainForm::InitWebControl() AppLogDebug("Initialization failed"); return E_FAILURE; } + AppLog("GetClientAreaBounds().width %d",GetClientAreaBounds().width); r = __pWebViewer->Construct(Rectangle(0, Y_WEBCONTROL_POSITION, GetClientAreaBounds().width,__webControlHeight + 12)); if (IsFailed(r)) @@ -485,15 +489,15 @@ MainForm::InitWebControl() else { r = AddControl(__pWebViewer); - if (IsFailed(r)) { - delete __pWebViewer; + __pWebViewer->Destroy(); __pWebViewer = null; AppLogDebug("Web addcontrol failed with %s", GetErrorMessage(r)); return r; } __webControlPosition = __pWebViewer->GetPosition(); + __webControlPositionF = __pWebViewer->GetPositionF(); r = __pWebViewer->SetSetting(SettingPresentationModel::GetInstance()->GetWebSettings()); if (IsFailed(r)) { @@ -562,6 +566,7 @@ MainForm::InitFooter(void) { return E_FAILURE; } +// __pFooterPanel->SetBackgroundColor(Color(255,0,0)); //__pFooterPanel->SetBackgroundColor(CUSTOM_COLOR_TRANSPARENT); Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight()); if (pBitmap != null) @@ -741,6 +746,19 @@ MainForm::InitFooter(void) __pReaderBtn->SetShowState(false); // __pFooterPanel->Invalidate(true); + if(__isKeypadOpened == false && __pAddressbar && __pAddressbar->GetShowState() == false) + { +// AppLog("asdasdasdasda"); + __pFooterPanel->SetShowState(true); + } + else if(__pAddressbar == null) + { + __pFooterPanel->SetShowState(true); + } + else + __pFooterPanel->SetShowState(false); + + SetAddressbarMode(GetAddressbarMode()); AppLogDebug("MainForm::InitFooter exit"); return E_SUCCESS; } @@ -801,6 +819,7 @@ result MainForm::InitImageContextMenu(Tizen::Graphics::Point p) { result r = E_SUCCESS; ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO; + String srcUrl = __pHitElementResult->GetAttributeValue(L"src"); AppLog("MainForm::InitImageContextMenu clicked on image"); if (__pImageMenu != null) @@ -817,13 +836,18 @@ result MainForm::InitImageContextMenu(Tizen::Graphics::Point p) r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction); TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r)); + r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_IMAGE"),IDA_COPY_IMAGE_CLICKED); - r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_VIEW_IMAGE"),IDA_VIEW_IMAGE_CLICKED); + AppLog("srcUrl %ls __pWebViewer->GetUrl() %ls",srcUrl.GetPointer(),__pWebViewer->GetUrl().GetPointer()); + + if(__pWebViewer && srcUrl.Equals(__pWebViewer->GetUrl(),false) == false) + r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_VIEW_IMAGE"),IDA_VIEW_IMAGE_CLICKED); r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_SAVE_IMAGE_CLICKED); r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_IMAGE_CLICKED); __pImageMenu->SetMaxVisibleItemsCount(4); __pImageMenu->AddActionEventListener(*this); SetControlAlwaysOnTop(*__pImageMenu, true); + __pImageMenu->SetFocusable(true); CATCH: return r; } @@ -860,6 +884,7 @@ MainForm::InitImageLinkContextMenu(Tizen::Graphics::Point p) __pImageMenu->SetMaxVisibleItemsCount(3); __pImageMenu->AddActionEventListener(*this); SetControlAlwaysOnTop(*__pImageMenu, true); + __pImageMenu->SetFocusable(true); CATCH: return r; @@ -869,6 +894,7 @@ result MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOption = false) { result r = E_SUCCESS; + bool clipboardAvailable = true; ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO; AppLog("MainForm::InitSelectTextContextMenu clicked on text"); @@ -877,6 +903,8 @@ MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOpt delete __pImageMenu; __pImageMenu = null; } +// Point q(0,0); +// __pWebViewer->GetBlockRange(p,q); if(p.y < 150) { @@ -887,6 +915,39 @@ MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOpt { direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD; } + + + Clipboard* pClipboard = Clipboard::GetInstance(); + + if(pClipboard == null) + { + clipboardAvailable = false; + } + else + { + // Retrieves a latest item + ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML); + + if(pItem == null) + { + clipboardAvailable = false; + } + else + { + //Gets data from the clipboard item + String* pString = dynamic_cast(pItem->GetData()); + + if(pString == null) + { + clipboardAvailable = false; + } + } + } + if(clipboardAvailable == false && onlyPasteOption == true) + { + return E_FAILURE; + } + __pImageMenu = new (std::nothrow) ContextMenu(); r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction); TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r)); @@ -895,7 +956,7 @@ MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOpt { r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED); } - if (pasteOption || onlyPasteOption) + if ((pasteOption || onlyPasteOption) && clipboardAvailable == true) { r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED); } @@ -908,6 +969,7 @@ MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOpt __pImageMenu->SetMaxVisibleItemsCount(3); __pImageMenu->AddActionEventListener(*this); SetControlAlwaysOnTop(*__pImageMenu, true); + __pImageMenu->SetFocusable(true); CATCH: return r; @@ -917,6 +979,7 @@ result MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPasteOption = false) { result r = E_SUCCESS; + bool clipboardAvailable = true; ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO; AppLog("MainForm::InitSelectTextContextMenu clicked on text"); @@ -925,29 +988,77 @@ MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPa delete __pImageMenu; __pImageMenu = null; } - +// FloatPoint q(0.0,0.0); +// __pWebViewer->GetBlockRange(p,q); + if(p.y < 0) + p.y =0; if(p.y < 150) { - p.y = p.y + 50; + p.y = p.y + 100; + if(GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE ) + { + p.y = p.y - 50; + } direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD; } + else if(__pWebViewer != null && (p.y > (__pWebViewer->GetHeight() + __pWebViewer->GetY()))) + { + p.y = __pWebViewer->GetHeight() + __pWebViewer->GetY(); + } else { + if(GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE ) + { + AppLog("asdasdafdsfdgfd"); + p.y = p.y - 50; + } direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD; } + + + Clipboard* pClipboard = Clipboard::GetInstance(); + + if(pClipboard == null) + { + clipboardAvailable = false; + } + else + { + // Retrieves a latest item + ClipboardItem* pItem = pClipboard->RetrieveLatestItemN(CLIPBOARD_DATA_TYPE_TEXT | CLIPBOARD_DATA_TYPE_HTML); + + if(pItem == null) + { + clipboardAvailable = false; + } + else + { + //Gets data from the clipboard item + String* pString = dynamic_cast(pItem->GetData()); + + if(pString == null) + { + clipboardAvailable = false; + } + } + } + if(clipboardAvailable == false && (onlyPasteOption == true || __pHitElementResult->GetAttributeValue("type").Equals(L"password",false) == true)) + { + return E_FAILURE; + } __pImageMenu = new (std::nothrow) ContextMenu(); r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_GRID, direction); TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r)); - if(onlyPasteOption == false) + if(onlyPasteOption == false && __pHitElementResult->GetAttributeValue("type").Equals(L"password",false) == false) { r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED); } - if (pasteOption || onlyPasteOption) + if ((pasteOption || onlyPasteOption) && clipboardAvailable == true) { r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED); } - if(onlyPasteOption == false) + if(onlyPasteOption == false && __pHitElementResult->GetAttributeValue("type").Equals(L"password",false) == false) { r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"),IDA_FIND_TEXT__CLICKED); r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_SHARE_TEXT_CLICKED); @@ -956,6 +1067,7 @@ MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPa __pImageMenu->SetMaxVisibleItemsCount(3); __pImageMenu->AddActionEventListener(*this); SetControlAlwaysOnTop(*__pImageMenu, true); + __pImageMenu->SetFocusable(true); CATCH: return r; @@ -988,6 +1100,11 @@ MainForm::InitFindWordPanel(void) delete pBitmap; } } + if(__pAddressbar) + __pAddressbar->SetShowState(false); + + if(__isKeypadOpened == false) + __pFooterPanel->SetShowState(true); return r; } @@ -1017,7 +1134,7 @@ MainForm::InitFindWordPanel(void) Rectangle pRect = pPanel1->GetBounds(); pRect.x = pRect.y = 0; __pFindWordBgLabel->SetBounds(pRect); - Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight()); + Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.#.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight()); if (pBitmap != null) { AppLogDebug("InitFindWordPanel: Coming here"); @@ -1037,7 +1154,7 @@ MainForm::InitFindWordPanel(void) Rectangle pRect = pPanel1->GetBounds(); pRect.x = pRect.y = 0; __pFindWordBgLabelRightToLeft->SetBounds(pRect); - Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight()); + Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.#.png", __pFindWordBgLabel->GetWidth(), __pFindWordBgLabel->GetHeight()); if (pBitmap != null) { AppLogDebug("InitFindWordPanel: Coming here"); @@ -1109,13 +1226,15 @@ MainForm::InitFindWordPanel(void) AppLogException("There is some problem in the xml file. Please check."); return E_FAILURE; } + __pFindWordCountLabel->SetText(L"0/0"); __pFindWordCountLabelRightToLeft = static_cast(__pFindWordControl->GetControl(L"IDC_FIND_COUNT_LABEL2", true)); - if (__pFindWordCountLabel == null) + if (__pFindWordCountLabelRightToLeft == null) { AppLogException("There is some problem in the xml file. Please check."); return E_FAILURE; } + __pFindWordCountLabelRightToLeft->SetText(L"0/0"); __pFindWordEditField = static_cast(__pFindWordControl->GetControl(L"IDC_FIND_WORD_EDITFIELD", true)); if (__pFindWordEditField == null) @@ -1235,7 +1354,7 @@ MainForm::CreateItem (int index, int itemWidth) { if (pItem != null) { - pItem->AddElement(pageURLRect, IDA_FORMAT_URL_STRING, pageURL, 32, CUSTOM_COLOR_GREY, CUSTOM_COLOR_GREY, CUSTOM_COLOR_GREY, true); + pItem->AddElement(pageURLRect, IDA_FORMAT_URL_STRING, pageURL, 32, CUSTOM_COLOR_GREY, CUSTOM_COLOR_LISTVIEW_TEXT, CUSTOM_COLOR_LISTVIEW_TEXT, true); } } @@ -1312,6 +1431,7 @@ MainForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listV void MainForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status) { + AppLog("MainForm::OnListViewItemStateChanged called"); History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index)); String url = pHistory->GetHistoryUrl(); if (url != null) @@ -1392,22 +1512,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r)); @@ -1431,22 +1536,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r)); @@ -1466,22 +1556,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r)); @@ -1519,29 +1594,14 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) pApp = UiApp::GetInstance(); if (pApp != null) { - - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); return; } } else { - r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE)); + r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY)); +// r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE)); if (IsFailed(r)) { AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r)); @@ -1582,12 +1642,10 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) if(__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true) { __pFindWordEditField->SetFocus(); - __pFindWordCountLabel->SetShowState(false); } else { __pFindWordEditFieldRightToLeft->SetFocus(); - __pFindWordCountLabelRightToLeft->SetShowState(false); } } break; @@ -1908,7 +1966,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED); __pOptionMenu->SetMaxVisibleItemsCount(6); } - if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE) + if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE) { AppLog(" Orientation landscape"); __pOptionMenu->SetMaxVisibleItemsCount(5); @@ -2038,7 +2096,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) __pFindWordNext->SetEnabled(false); __pFindWordPrev->SetEnabled(false); __pFindWordCountLabel->SetText(L"0/0"); - __pWebViewer->SearchText(L"aaaabbbbcccc",true); + __pWebViewer->SearchTextAllAsync(L"",true); AppLog("akjshdasd 1"); if(__isKeypadOpened == false) __pFooterPanel->SetShowState(true); @@ -2075,7 +2133,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) __currentSearchStr = L""; __pFindWordNext->SetEnabled(false); __pFindWordPrev->SetEnabled(false); - __pFindWordCountLabel->SetShowState(false); +// __pFindWordCountLabel->SetShowState(false); __pFindWordControl->Invalidate(true); } break; @@ -2088,7 +2146,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) __currentSearchStr = L""; __pFindWordNext->SetEnabled(false); __pFindWordPrev->SetEnabled(false); - __pFindWordCountLabelRightToLeft->SetShowState(false); +// __pFindWordCountLabelRightToLeft->SetShowState(false); __pFindWordControl->Invalidate(true); } break; @@ -2139,8 +2197,22 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { String srcUrl = __pHitElementResult->GetAttributeValue(L"src"); AppLog("MainForm::OnTouchLongPressed srcUrl is %ls",srcUrl.GetPointer()); - LoadUrl(srcUrl); + Uri currentUri; + currentUri.SetUri(__pWebViewer->GetUrl()); + + String newUrl; + Uri newUri; + newUri.SetUri(srcUrl); + AppLog("newuri gethost %ls",newUri.GetHost().GetPointer()); + if(newUri.GetHost().GetLength() == 0) + { + newUrl = currentUri.GetHost(); + newUrl.Append(srcUrl); + srcUrl = newUrl; + } + + LoadUrl(srcUrl); } } break; @@ -2185,7 +2257,6 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { __pNotification->SetPositionDiff(0); } - __pNotification->ShowNotification(); } } @@ -2193,7 +2264,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { int __modalMsgBoxResult; MessageBox* pMsgBox = new MessageBox(); - pMsgBox->Construct(CommonUtil::GetString(L"IDS_COM_FAILED_TO_SAVE_IMAGE"),CommonUtil::GetString(L"IDS_COM_FAILED_TO_SAVE_IMAGE"),MSGBOX_STYLE_OK,3000); + pMsgBox->Construct(CommonUtil::GetString(L"IDS_IMGE_POP_UNABLE_TO_SAVE_IMAGE"),CommonUtil::GetString(L"IDS_IMGE_POP_UNABLE_TO_SAVE_IMAGE"),MSGBOX_STYLE_OK,3000); pMsgBox->ShowAndWait(__modalMsgBoxResult); delete pMsgBox; pMsgBox = null; @@ -2258,6 +2329,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { return; } + pNewWindowInfo->isJavascriptInitiated = true; result r = E_SUCCESS; SceneManager* pSceneManager = SceneManager::GetInstance(); if (pSceneManager == NULL) @@ -2356,7 +2428,9 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) if (__pAddressbar != null && __pWebViewer != NULL) { __webControlPosition.y = __pAddressbar->GetHeight() - 12; + __webControlPositionF.y = __pAddressbar->GetHeightF() - 12.0f; __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight() - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12); + __webControlHeightF = GetClientAreaBoundsF().height - __pFooterPanel->GetHeightF() - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeightF() - 12.0f); if (__pFooterPanel->GetShowState() == false) __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width, GetClientAreaBounds().height - ( /*__pAddressbar->GetY() +*/ __pAddressbar->GetHeight() - 12))); @@ -2424,7 +2498,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) break; case IDA_COPY_TEXT_CLICKED: { - __pWebViewer->ReleaseBlock(); +// __pWebViewer->ReleaseBlock();//as per hyunn lee request for issue 53500 // need to implement //__currentSelectedStr // Sets data to a clip board item @@ -2462,23 +2536,55 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { String idElement = __pHitElementResult->GetAttributeValue(L"id"); String nameElement = __pHitElementResult->GetAttributeValue(L"name"); + String classElement = __pHitElementResult->GetAttributeValue(L"class"); String tagElement = __pHitElementResult->GetTagName(); + String contenteditable = __pHitElementResult->GetAttributeValue("contenteditable"); AppLog("MainForm::IDA_PASTE_TEXT_CLICKED id is %ls",idElement.GetPointer()); + String str = L"document.getElementsByName('"; + str.Append(nameElement); + str.Append("').length"); + String* pNameCount = __pWebViewer->EvaluateJavascriptN(str); + + str.Clear(); + str = L"document.getElementsByClassName('"; + str.Append(classElement); + str.Append("').length"); + String* pClassCount = __pWebViewer->EvaluateJavascriptN(str); String script; - if(idElement.GetLength() != 0) + if(contenteditable.Equals(L"true",false) == true) { - script = L"function insertAtCursor(myField, myValue) { if (document.selection) { document.getElementById(myField).focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (document.getElementById(myField).selectionStart || document.getElementById(myField).selectionStart == '0'){ var startPos = document.getElementById(myField).selectionStart; var endPos = document.getElementById(myField).selectionEnd; document.getElementById(myField).value = document.getElementById(myField).value.substring(0, startPos)+ myValue + document.getElementById(myField).value.substring(endPos, document.getElementById(myField).value.length); } else { document.getElementById(myField).value += myValue; } } "; - script.Append("insertAtCursor('"); - script.Append(idElement); - script.Append("',"); + AppLog("gmail paste need to support"); + + script = L"function replaceSelectedText(replacementText) { var sel, range; if (window.getSelection) { sel = window.getSelection(); if (sel.rangeCount) { range = sel.getRangeAt(0); range.deleteContents(); range.insertNode(document.createTextNode(replacementText)); } } else if (document.selection && document.selection.createRange) { range = document.selection.createRange(); range.text = replacementText; } }"; + script.Append("replaceSelectedText("); script.Append("\""); script.Append(*pString); script.Append("\");"); } - else if (nameElement.GetLength() != 0) + else if(idElement.GetLength() != 0) { - script = L"function insertAtCursor(myField, myValue) { if (document.selection) { document.getElementByName(myField)[0].focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (myField.selectionStart || myField.selectionStart == '0'){ var startPos = myField.selectionStart; var endPos = myField.selectionEnd; myField.value = myField.value.substring(0, startPos)+ myValue + myField.value.substring(endPos, myField.value.length); } else { document.getElementByName(myField)[0].value += myValue; } } "; + 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; } } "; + script.Append("insertAtCursor("); + script.Append(L"document.activeElement"); + script.Append(","); + script.Append("\""); + script.Append(*pString); + script.Append("\");"); + } + else if (classElement.GetLength() != 0 && pClassCount->Equals("1",false) == true) + { + 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; } } "; + script.Append("insertAtCursor(document.getElementsByClassName('"); + script.Append(classElement); + script.Append("')[0],"); + script.Append("\""); + script.Append(*pString); + script.Append("\");"); + } + else if (nameElement.GetLength() != 0 && pNameCount->Equals("1",false) == true) + { + 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; } } "; script.Append("insertAtCursor(document.getElementsByName('"); script.Append(nameElement); script.Append("')[0],"); @@ -2486,12 +2592,11 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) script.Append(*pString); script.Append("\");"); } - else//adding for twitter post page + else if(tagElement.GetLength() != 0) //adding for twitter post page { - script = L"function insertAtCursor(myField, myValue) { if (document.selection) { document.getElementsByTagName(myField)[0].focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (myField.selectionStart || myField.selectionStart == '0'){ var startPos = myField.selectionStart; var endPos = myField.selectionEnd; myField.value = myField.value.substring(0, startPos)+ myValue + myField.value.substring(endPos, myField.value.length); } else { document.getElementsByTagName(myField)[0].value += myValue; } } "; - script.Append("insertAtCursor(document.getElementsByTagName('"); - script.Append(tagElement); - script.Append("')[0],"); + 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; } } "; + + script.Append("insertAtCursor(document.activeElement,"); script.Append("\""); script.Append(*pString); script.Append("\");"); @@ -2499,8 +2604,12 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) AppLog("MainForm::OnTouchLongPressed script is %ls",script.GetPointer()); String* pStr = __pWebViewer->EvaluateJavascriptN(script); delete pStr; + delete pNameCount; + delete pClassCount; } delete pItem; + if(__pWebViewer) + __pWebViewer->ReleaseBlock(); } break; case IDA_GO_BACK: @@ -2525,7 +2634,8 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) // LoadUrl(url); if (__pWebViewer != null && __pAddressbar != null) { - __pWebViewer->Reload(); + LoadUrl(url); + //__pWebViewer->Reload(); SetAddressbarMode((AddressBarMode)ADDRESSBAR_MODE_LOADING); } @@ -2575,6 +2685,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) void MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) { + AppLog("MainForm::OnFormBackRequested entered"); result r = E_FAILURE; if(__pImageMenu && __pImageMenu->GetShowState() == true) { @@ -2585,28 +2696,13 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) { __pWebViewer->GoBack(); } - else if(__pWindowInfo->isJavascriptInitiated == false) + else if(__pWindowInfo && __pWindowInfo->isJavascriptInitiated == false) { UiApp* pApp = null; pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r)); @@ -2630,22 +2726,7 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r)); @@ -2665,22 +2746,7 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r)); @@ -2690,7 +2756,7 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) } else { - if (pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true) + if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == true) { r = SceneRegister::DestroyAndUnRegisterScene(pWindowInfo->sceneID); if (IsFailed(r)) @@ -2718,28 +2784,14 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); return; } } else { - r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE)); + if(pWindowInfo != null) + r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY)); if (IsFailed(r)) { AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r)); @@ -2748,9 +2800,24 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) } break; } +// else if (pWindowInfo && pSceneManager->GetCurrentSceneId() == pWindowInfo->sceneID && pWindowInfo->isJavascriptInitiated == false) +// { +// UiApp* pApp = null; +// pApp = UiApp::GetInstance(); +// if (pApp != null) +// { +// r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); +// if (IsFailed(r)) +// { +// AppLogException("MainForm::OnFormBackRequested failed with %s", GetErrorMessage(r)); +// return; +// } +// } +// } } } } + AppLog("MainForm::OnFormBackRequested exit"); } void @@ -2797,7 +2864,8 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, InitFooter(); InitAddressbar(); - __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), GetClientAreaBounds().width, __pFooterPanel->GetHeight()); + FloatRectangle footerPanelBounds = FloatRectangle(0.0f, (GetClientAreaBoundsF().height) - __pFooterPanel->GetHeightF(), GetClientAreaBoundsF().width, __pFooterPanel->GetHeightF()); + __pFooterPanel->SetBounds(CoordinateSystem::AlignToDevice(footerPanelBounds)); // hiding the address bar // __pAddressbar->SetBounds(__pAddressbar->GetX(), __pAddressbar->GetY() - __pAddressbar->GetHeight(), __pAddressbar->GetWidth(), __pAddressbar->GetHeight()); @@ -2820,12 +2888,16 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, else if(__pWindowInfo->pageUrl.GetLength() > 0 && __pWindowInfo->isAppcontrolTriggered == true) { LoadUrl(__pWindowInfo->pageUrl); + __pWindowInfo->isAppcontrolTriggered = false; } - else if (__pWindowInfo->isJavascriptInitiated == true) + else if (__pWindowInfo->isJavascriptInitiated == true && __pWindowInfo->isFirstLaunch == true) { + __pWindowInfo->isFirstLaunch = false; AppLog("Called"); InitWebControl(); __pWindowInfo->pCurrentWeb = __pWebViewer; + if(__pWindowInfo->pageUrl.GetLength() > 0) + LoadUrl(__pWindowInfo->pageUrl); } } @@ -2835,7 +2907,7 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, { InitMostVisitedSitesView(GetOrientationStatus()); } - else if (homePage.CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0) + else { if(__pMostVisitedListView != null) { @@ -2843,6 +2915,10 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, } } + if(__pMostVisitedListView && __pMostVisitedListView->GetShowState() == true) + { + __pMostVisitedListView->UpdateList(); + } if (__pAddressbar != null && pArgs != null && (previousSceneId == IDSCN_BOOKMARK_VIEW || previousSceneId == IDSCN_HISTORY_LIST)) { String* pBookmarkUrl = dynamic_cast< String* >(pArgs->GetAt(0)); @@ -2906,6 +2982,11 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, RelayoutControls(false); AppLog("ABC: OnSceneActivatedN started exit"); + if(__pWebViewer) + { + AppLog("WebControl's width height %d %d,",__pWebViewer->GetWidth(),__pWebViewer->GetHeight()); + __pWebViewer->Resume(); + } } @@ -2942,13 +3023,22 @@ MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, pCanvas->DrawBitmap(Point(0,0),*pBitmap); delete pBitmap; } - if(__pWebViewer != null && __pWindowInfo != null) + if(__pWebViewer != null && __pWindowInfo != null && __pWindowInfo->pWebCanvasBitmap != null) pCanvas->DrawBitmap(__pWebViewer->GetPosition(),*__pWindowInfo->pWebCanvasBitmap); WindowInfo::pFormCanvasBitmap = new(std::nothrow) Bitmap(); - WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight())); + if (__pFooterPanel) + { + WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight())); + } delete pCanvas; delete pWebCanvas; + if(__pAddressbar) + __pAddressbar->SetShowState(false); + if(__pWebViewer) + { + __pWebViewer->Pause(); + } AppLog("Coming here"); } @@ -3075,7 +3165,7 @@ MainForm::OnLoadingStarted(void) if (__pWindowInfo != NULL) { // resetting the page title to blank, it will be received in OnPageTitleReceived() - __pWindowInfo->pageTitle = L""; +// __pWindowInfo->pageTitle = L""; __pWindowInfo->pageUrl = __pWebViewer->GetUrl(); } __pAddressbar->Invalidate(true); @@ -3089,7 +3179,6 @@ MainForm::OnLoadingCanceled(void) } - void MainForm::OnKeypadWillOpen(Tizen::Ui::Control& source) { @@ -3103,7 +3192,7 @@ MainForm::OnKeypadOpened(Tizen::Ui::Control& source) AppLog("XYZ::MainForm::OnKeypadOpened"); __isKeypadOpened = true; __pFooterPanel->SetShowState(false); - + RelayoutControls(false); } void @@ -3146,6 +3235,8 @@ MainForm::OnLoadingCompleted(void) return; } + if(__pWindowInfo && __pWebViewer) + __pWindowInfo->pageTitle = __pWebViewer->GetTitle(); if(__pImageMenu && __pImageMenu->GetShowState()) { __pImageMenu->SetShowState(false); @@ -3210,7 +3301,6 @@ MainForm::OnLoadingCompleted(void) __pHistory->SetFavIconBitmap(*pTempBitmap); } - AppLog("MainForm::OnLoadingCompleted setting the fav icon 2"); } Canvas* pCanvas = __pWebViewer->GetCanvasN(); @@ -3224,6 +3314,13 @@ MainForm::OnLoadingCompleted(void) Bitmap *pFavIcon = __pWebViewer->GetFaviconN(); if (pFavIcon) { + Tizen::Graphics::BufferInfo bmpInfo; + pFavIcon->Lock(bmpInfo); + AppLog("rrrr:: width %d height %d of the faviconbitmap from bufferinfo", bmpInfo.width, bmpInfo.height); + + AppLog("MainForm::OnLoadingCompleted setting the fav icon 2"); + + AppLog("rrrr:: width %d height %d of the faviconbitmap",pFavIcon->GetWidth(),pFavIcon->GetHeight()); __pHistory->SetFavIconBitmap(*pFavIcon); delete pFavIcon; } @@ -3311,7 +3408,7 @@ MainForm::OnLoadingCompleted(void) void MainForm::OnEstimatedProgress(int progress) { - AppLogDebug("MainForm::OnEstimatedProgress entered"); + AppLogDebug("MainForm::OnEstimatedProgress entered %d",progress); if (progress < DEFAULT_PROGRESS_PERCENTAGE) progress = DEFAULT_PROGRESS_PERCENTAGE; @@ -3347,8 +3444,12 @@ MainForm::OnUrlSubmitted(Addressbar& addBar) String url = addBar.GetUrl(); AppLog("MainForm::OnUrlSubmitted url is %ls", url.GetPointer()); + if(__pFooterUrlField) + { + AppLog("Position:: %d, %ls",__pFooterUrlField->GetTextLength(),__pFooterUrlField->GetText().GetPointer()); __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength()); + } AddressBarCancelledClicked(*__pAddressbar); LoadUrl(url); } @@ -3394,6 +3495,8 @@ MainForm::LoadUrl(String& url) ret = firstRegex.Match(url, false); // This returns true value flag = secondRegex.Match(url, false); // Checks whether URL typed is of type abc.com (i.e without protocol in front of it) + + if (ret == true && __pWebViewer != null) { SetUrl(url); @@ -3410,7 +3513,7 @@ MainForm::LoadUrl(String& url) } else { - UrlEncoder::Encode(url, L"UTF-8", encodedUrl); + UrlEncoder::Encode(url, L"UTF-8", encodedUrl); __pWebViewer->LoadUrl(SettingPresentationModel::GetInstance()->GetSearchUrl(encodedUrl)); } } @@ -3435,11 +3538,44 @@ MainForm::OnFocusGained(const Tizen::Ui::Control& source) __pFooterPanel->SetShowState(false); } + if(__pWebViewer) + { + __pWebViewer->ReleaseBlock(); + } + if(__pAddressbar) { __pAddressbar->SetShowState(true); __pAddressbar->SetAddressbarURLFocus(); } + if(__pFindWordControl && __pFindWordControl->GetShowState() == true) + { + __currentSearchStr = L""; + __currentWordIndex = 0; + __maxOccurrances = 0; + + if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true) + { + __pFindWordEditField->SetText(L""); + __pFindWordEditField->HideKeypad(); + __pFindWordControl->SetShowState(false); + __pFindWordCountLabel->SetText(L"0/0"); + } + else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true) + { + __pFindWordEditFieldRightToLeft->SetText(L""); + __pFindWordEditFieldRightToLeft->HideKeypad(); + __pFindWordControl->SetShowState(false); + __pFindWordCountLabelRightToLeft->SetText(L"0/0"); + } + + __pFindWordNext->SetEnabled(false); + __pFindWordPrev->SetEnabled(false); + + if(__pWebViewer) + __pWebViewer->SearchTextAllAsync(L"",true); + __pFindWordControl->SetShowState(false); + } RelayoutControls(false); } @@ -3483,25 +3619,7 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/) pApp = UiApp::GetInstance(); if (pApp != null) { - - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - - - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r)); @@ -3525,24 +3643,7 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - - - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r)); @@ -3562,24 +3663,7 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - - - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); if (IsFailed(r)) { AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r)); @@ -3615,24 +3699,7 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - - - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); return; } @@ -3642,30 +3709,14 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/) pApp = UiApp::GetInstance(); if (pApp != null) { - RemoveOrientationEventListener(*this); - - if(__pAddressbar) - { - __pAddressbar->SetAddressbarEventListener(null); - } - - if(__pWebViewer) - { - __pWebViewer->RemoveTouchEventListener(*this); - __pWebViewer->SetWebUiEventListenerF(null); - __pWebViewer->SetWebKeypadEventListener(null); - __pWebViewer->SetTextSearchListener(null); - __pWebViewer->SetLoadingListener(null); - } - - - r = pApp->Terminate(); + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); return; } } else { - r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE)); + r = pSceneManager->GoForward(ForwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY)); +// r = pSceneManager->GoBackward(BackwardSceneTransition(pWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE)); if (IsFailed(r)) { AppLogException("OnActionPerformed failed with %s", GetErrorMessage(r)); @@ -3745,6 +3796,7 @@ MainForm::OnAddressBarModeChanged(/*const Addressbar& addBar*/) if (__pAddressbar != null) { __webControlPosition.y = __pAddressbar->GetHeight() - 12; + __webControlPositionF.y = __pAddressbar->GetHeightF() - 12.0f; __pAddressbar->SetBounds(Rectangle(0,0,GetClientAreaBounds().width,__pAddressbar->GetHeight())); __pAddressbar->Invalidate(true); } @@ -3759,6 +3811,7 @@ MainForm::OnAddressBarModeChanged(/*const Addressbar& addBar*/) if (__pAddressbar != null) { __webControlPosition.y = 0; + __webControlPositionF.y = 0.0f; __pAddressbar->SetBounds(Rectangle(0, __pAddressbar->GetY() - __pAddressbar->GetHeight(), GetClientAreaBounds().width, __pAddressbar->GetHeight())); __pAddressbar->Invalidate(true); } @@ -3769,6 +3822,12 @@ void MainForm::OnClipboardClosed(const Addressbar& addBar) { AppLog("XYZ::MainForm::OnClipboardClosed"); + if (__pFooterPanel && __pAddressbar->GetShowState() == false) + { + AppLog("akjshdasd 3"); + __pFooterPanel->SetShowState(true); + } + __isKeypadOpened = false; RelayoutControls(false); } @@ -3781,6 +3840,11 @@ MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar, bool footerState) AppLog("akjshdasd 3"); __pFooterPanel->SetShowState(true); } + __isKeypadOpened = false; + if(__pNotification && __pNotification->GetShowState()) + { + __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight()); + } RelayoutControls(false,footerState); } @@ -3789,12 +3853,18 @@ void MainForm::OnAddressBarKeypadOpened(const Addressbar& addBar) { AppLog("XYZ::MainForm::OnAddressBarKeypadOpened"); + __isKeypadOpened = true; + if(__pNotification && __pNotification->GetShowState()) + { + __pNotification->SetPosition(0,GetClientAreaBounds().height - __pNotification->GetHeight()); + } RelayoutControls(false); } void MainForm::OnAddressBarKeypadWillOpen(const Addressbar& addBar) { + __isKeypadOpened = true; __pFooterPanel->SetShowState(false); } @@ -3815,6 +3885,7 @@ MainForm::OnPageTitleReceived(const Tizen::Base::String& title) if (__pWebViewer != null) { __pWindowInfo->pageUrl = __pWebViewer->GetUrl(); + AppLog("MainForm::OnPageTitleReceived url %ls",__pWindowInfo->pageUrl.GetPointer()); } } if (__pAddressbar != null && __pWebViewer != null) @@ -3827,6 +3898,7 @@ MainForm::OnPageTitleReceived(const Tizen::Base::String& title) void MainForm::UpdateFavicon(void) { + AppLog("MainForm::UpdateFavicon called"); bool urlImageType = false; String *tempPath = null; if(__pWebViewer) @@ -3842,7 +3914,8 @@ MainForm::UpdateFavicon(void) if (url.GetHost().GetLength() == 0) { Uri webUrl; - webUrl.SetUri(__pWebViewer->GetUrl()); + if(__pWebViewer) + webUrl.SetUri(__pWebViewer->GetUrl()); result r = url.SetHost(webUrl.GetHost()); if(IsFailed(r)) { @@ -3853,7 +3926,8 @@ MainForm::UpdateFavicon(void) if (url.GetScheme().GetLength() == 0) { Uri webUrl; - webUrl.SetUri(__pWebViewer->GetUrl()); + if(__pWebViewer) + webUrl.SetUri(__pWebViewer->GetUrl()); url.SetScheme(webUrl.GetScheme()); } __pWindowInfo->faviconUrl = url.ToString(); @@ -3862,6 +3936,7 @@ MainForm::UpdateFavicon(void) if (pBitmap != null) { + AppLog("__pWindowInfo->pFavicon updating favicon"); if (__pWindowInfo->pFavicon != NULL) { __pWindowInfo->pFavicon = null; @@ -3998,9 +4073,10 @@ MainForm::OnWebDataReceived(const Tizen::Base::String& mime, void MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint& endPoint) { - if(__isLongPressedDone == false) - return; - AppLog("MainForm::OnWebPageBlockSelected"); + AppLog("LMN::MainForm::OnWebPageBlockSelected"); +// if(__isLongPressedDone == false) +// return; + if (__pHitElementResult != null) { delete __pHitElementResult; @@ -4012,13 +4088,17 @@ MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint AppLog("MainForm::OnWebPageBlockSelected web not null"); __pHitElementResult = __pWebViewer->GetElementByPointN(startPoint); - if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().CompareTo(L"INPUT") != 0 && __pHitElementResult->GetTagName().CompareTo(L"TEXTAREA") != 0)) + if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false)) { AppLog("datafirst startpoint error %s",GetErrorMessage(GetLastResult())); __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint); - if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().CompareTo(L"INPUT") != 0 && __pHitElementResult->GetTagName().CompareTo(L"TEXTAREA") != 0)) + if(GetLastResult() == E_INVALID_ARG || (__pHitElementResult->GetTagName().Equals(L"INPUT",false) == false && __pHitElementResult->GetTagName().Equals(L"TEXTAREA",false) == false)) { __pHitElementResult = __pWebViewer->GetElementByPointN(__longPressPoint); + if(__pHitElementResult == null) + { + __pHitElementResult = __pWebViewer->GetElementByPointN(endPoint); + } } AppLog("datafirst endpoint error %s",GetErrorMessage(GetLastResult())); } @@ -4033,6 +4113,7 @@ MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint { String tagName = __pHitElementResult->GetTagName(); String type = __pHitElementResult->GetAttributeValue("type"); + String contenteditable = __pHitElementResult->GetAttributeValue("contenteditable"); AppLog("TagName %ls",tagName.GetPointer()); @@ -4040,15 +4121,26 @@ MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint AppLog("__currentSelectedStr after clear %ls",__currentSelectedStr.GetPointer()); __currentSelectedStr = __pWebViewer->GetTextFromBlock(); AppLog("__currentSelectedStr after GetTextFromBlock %ls",__currentSelectedStr.GetPointer()); + if(tagName.Equals(L"TEXTAREA",false) == true) + { + AppLog("Tagnameseemstobe TEXTAREA"); + } + else if(tagName.Equals(L"INPUT",false) == true) + { + AppLog("Tagnameseemstobe INPUT"); + } - if (((tagName.CompareTo(L"INPUT") == 0) || tagName.CompareTo(L"TEXTAREA") == 0) /*&& __isLongPressedDone == true*/ && __currentSelectedStr.CompareTo(L"") !=0) + if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) || contenteditable.Equals(L"true",false) == true/*&& __isLongPressedDone == true*/ && __currentSelectedStr.CompareTo(L"") !=0 ) { AppLog("MainForm::OnWebPageBlockSelected show paste option"); - InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),true); - __pImageMenu->SetShowState(true); - __pImageMenu->Show(); - __pImageMenu->Invalidate(true); + InitSelectTextContextMenuF(FloatPoint(startPoint.x,startPoint.y + __pWebViewer->GetY()),true); + if(__pImageMenu) + { + __pImageMenu->SetShowState(true); + __pImageMenu->Show(); + __pImageMenu->Invalidate(true); + } } else /*if(__isLongPressedDone == true)*/ { @@ -4059,10 +4151,13 @@ MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint __currentSelectedStr.Clear(); __currentSelectedStr = __pHitElementResult->GetUrl(); } - InitSelectTextContextMenuF(FloatPoint(endPoint.x,endPoint.y + __pWebViewer->GetY()),false); - __pImageMenu->SetShowState(true); - __pImageMenu->Show(); - __pImageMenu->Invalidate(true); + InitSelectTextContextMenuF(FloatPoint(startPoint.x,startPoint.y + __pWebViewer->GetY()),false); + if(__pImageMenu) + { + __pImageMenu->SetShowState(true); + __pImageMenu->Show(); + __pImageMenu->Invalidate(true); + } } AppLog("MainForm::OnWebPageBlockSelected block text is %ls",__currentSelectedStr.GetPointer()); @@ -4081,6 +4176,7 @@ MainForm::OnWebPageShowRequested(Tizen::Web::Controls::Web& source) Web* MainForm::OnWebWindowCreateRequested(void) { + AppLog("MainForm::OnWebWindowCreateRequested entered"); WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN(); if (pNewWindowInfo == null) @@ -4118,45 +4214,151 @@ MainForm::OnWebWindowCreateRequested(void) } void +MainForm::OnWebWindowCloseRequested(Tizen::Web::Controls::Web& source) +{ + AppLog("OnWebWindowCloseRequested"); + ArrayList* pAllWindowList = MultipleWindowPresentationModel::GetInstance()->GetAllWindowArrayList(); + SceneManager* pSceneManager = SceneManager::GetInstance(); + WindowInfo* pWindowInfo = null; + WindowInfo* pNewWindowInfo = null; + int totalCount = 0; + UiApp* pApp = null; + result r = E_FAILURE; + + if (pAllWindowList != null) + { + totalCount = pAllWindowList->GetCount(); + } + + for (int count = 0; count < totalCount; count++) + { + pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count)); + + if (__pWindowInfo != null && pWindowInfo != null && __pWindowInfo->sceneID == pWindowInfo->sceneID) + { + r = SceneRegister::DestroyAndUnRegisterScene(__pWindowInfo->sceneID); + r = pAllWindowList->RemoveAt(count, true); + + Form* pCurrentForm = null; + if(SceneManager::GetInstance()->GetCurrentScene() != null) + pCurrentForm = (SceneManager::GetInstance()->GetCurrentScene()->GetForm()); + if (pCurrentForm) + { + pCurrentForm->SendUserEvent(UPDATE_MAINFORM_FOOTER_ON_WINDOWCLOSED, null); + } + + if (pAllWindowList->GetCount() > 0) + { + pNewWindowInfo = null; + pNewWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1)); + } + else + { + WindowInfo* pNewWindowInfo = MultipleWindowPresentationModel::GetInstance()->CreateNewMainViewSceneN(); + + if (pNewWindowInfo == null) + { + return; + } + result r = E_SUCCESS; + SceneManager* pSceneManager = SceneManager::GetInstance(); + if (pSceneManager == NULL) + { + return; + } + ArrayList* pArgList = new(std::nothrow) ArrayList(); + if (pArgList == NULL) + { + return; + } + r = pArgList->Construct(); + if (r == E_SUCCESS) + { + pArgList->Add(*pNewWindowInfo); + result r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList); + if (pArgList != null) + { + delete pArgList; + pArgList = null; + } + if(IsFailed(r)) + { + AppLogDebug("MultipleWindowForm::OnActionPerformed GoForward failed %s",GetErrorMessage(r)); + return; + } + } + + pApp = UiApp::GetInstance(); + if (pApp != null) + { + r = pApp->GetFrameAt(0)->SetShowMode(FRAME_SHOW_MODE_MINIMIZED); + return; + } + } + if(pNewWindowInfo) + r = pSceneManager->GoForward(ForwardSceneTransition(pNewWindowInfo->sceneID ,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_HISTORY_OPTION_ADD_HISTORY,SCENE_DESTROY_OPTION_DESTROY)); + + break; + } + + } + + +} + +void MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter) { AppLog("xyz:: MainForm::RelayoutControls called"); __webControlPosition.y = 0; + __webControlPositionF.y = 0.0f; __webControlHeight = GetClientAreaBounds().height; - AppLog("Client area height: %d", __webControlHeight); + __webControlHeightF = GetClientAreaBoundsF().height; + AppLog("Client area height: %d width %d", __webControlHeight,GetClientAreaBounds().width); AppLog("Client area height: %d", __webControlHeight); if(__pAddressbar != null && __pAddressbar->GetShowState() == true) { __webControlPosition.y += __pAddressbar->GetHeight(); + __webControlPositionF.y += __pAddressbar->GetHeightF(); __webControlHeight -= __pAddressbar->GetHeight(); + __webControlHeightF -= __pAddressbar->GetHeightF(); __pAddressbar->SetBounds(0, 0, __pAddressbar->GetWidth(), __pAddressbar->GetHeight()); } else if(__pFindWordControl != null && __pFindWordControl->GetShowState() == true) { __webControlPosition.y += __pFindWordControl->GetHeight(); + __webControlPositionF.y += __pFindWordControl->GetHeightF(); __webControlHeight -= __pFindWordControl->GetHeight(); + __webControlHeightF -= __pFindWordControl->GetHeightF(); __pFindWordControl->SetBounds(0, 0, GetClientAreaBounds().width, __pFindWordControl->GetHeight()); } if(__pFooterPanel != null && __pFooterPanel->GetShowState() == true && relayoutFooter == true) { __webControlHeight -= __pFooterPanel->GetHeight(); + __webControlHeightF -= __pFooterPanel->GetHeightF(); - __pFooterPanel->SetBounds(0, __webControlPosition.y + __webControlHeight, GetClientAreaBounds().width, __pFooterPanel->GetHeight()); + __pFooterPanel->SetBounds(CoordinateSystem::AlignToDevice(FloatRectangle(0.0F, __webControlPositionF.y + __webControlHeightF, GetClientAreaBoundsF().width, __pFooterPanel->GetHeightF()))); + __webControlHeight = __webControlHeight + 12; + __webControlHeightF = __webControlHeightF + 12.0f; } + + + if (__pWebViewer != null && __pWebViewer->GetShowState() == true) { - if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight + 12 ) + if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight ) { } else { - __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight + 12); + __pWebViewer->SetBounds(CoordinateSystem::AlignToDevice(FloatRectangle(0.0f, __webControlPositionF.y, GetClientAreaBoundsF().width, __webControlHeightF))); AppLog("xyz:: MainForm::RelayoutControls called __webControlHeight %d",__webControlHeight); __pWebViewer->Invalidate(false); } } + if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null) { __pMostVisitedListView->SetBounds(Tizen::Graphics::Rectangle(0,__webControlPosition.y , GetClientAreaBounds().width, __webControlHeight)); @@ -4272,8 +4474,12 @@ MainForm::StartWordSearch() __pFindWordPrev->SetEnabled(false); String *pCountStr = null; - result r = __pWebViewer->SearchTextAllAsync(__currentSearchStr, false); - AppLog("Search Result %s",GetErrorMessage(r)); + if (__pWebViewer) + { + result r = __pWebViewer->SearchTextAllAsync(__currentSearchStr, false); + AppLog("Search Result %s",GetErrorMessage(r)); + } + /*__pWebViewer->EvaluateJavascriptN(L"document.body.textContent.match(/" + __currentSearchStr + "/gi).length;"); if (pCountStr != null) { @@ -4291,21 +4497,38 @@ void MainForm::OnTextFound(int totalCount, int currentOrdinal) AppLog("MainForm::OnTextFound totalCount %d",totalCount); AppLog("MainForm::OnTextFound currentOrdinal %d",currentOrdinal); - if(totalCount == -1 || totalCount == 0) + if(totalCount <= 9) { - __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight()); - __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight()); -// return; + if (__pFindWordCountLabel) + { + __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight()); + } + if (__pFindWordEditField) + { + __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight()); + } } - else if(totalCount > 100) + else if(totalCount >= 100) { - __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight()); - __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight()); + if (__pFindWordCountLabel) + { + __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight()); + } + if (__pFindWordEditField) + { + __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight()); + } } else { - __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight()); - __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight()); + if (__pFindWordCountLabel) + { + __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight()); + } + if (__pFindWordEditField) + { + __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),174,__pFindWordEditField->GetHeight()); + } } __maxOccurrances = totalCount; @@ -4316,7 +4539,8 @@ void MainForm::OnTextFound(int totalCount, int currentOrdinal) { AppLog("Word not found"); //Show error notification to user - __pFindWordNext->SetEnabled(false); + if(__pFindWordNext) + __pFindWordNext->SetEnabled(false); if(__pFindWordCountLabel && __pFindWordCountLabel->GetShowState() == true) { __pFindWordCountLabel->SetText(L"0/0"); @@ -4327,19 +4551,22 @@ void MainForm::OnTextFound(int totalCount, int currentOrdinal) __pFindWordCountLabelRightToLeft->SetText(L"0/0"); __pFindWordCountLabelRightToLeft->Invalidate(false); } - __pFindWordNext->Invalidate(false); + if(__pFindWordNext) + __pFindWordNext->Invalidate(false); __pFindWordPrev->Invalidate(false); return; } - if (totalCount == 1) + if (totalCount == 1 || totalCount == currentOrdinal) { - __pFindWordNext->SetEnabled(false); + if(__pFindWordNext) + __pFindWordNext->SetEnabled(false); } else { - __pFindWordNext->SetEnabled(true); + if(__pFindWordNext) + __pFindWordNext->SetEnabled(true); } String countStr = L""; @@ -4352,16 +4579,20 @@ void MainForm::OnTextFound(int totalCount, int currentOrdinal) __pFindWordCountLabel->Invalidate(false); __pFindWordCountLabel->Invalidate(false); } - else if(__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true) + else if (__pFindWordCountLabelRightToLeft && __pFindWordCountLabelRightToLeft->GetShowState() == true) { __pFindWordCountLabelRightToLeft->SetText(countStr); __pFindWordCountLabelRightToLeft->Invalidate(false); __pFindWordCountLabelRightToLeft->Invalidate(false); } - //FindNextWord(true); - //Update the controls - __pFindWordNext->Invalidate(false); - __pFindWordPrev->Invalidate(false); + if (__pFindWordNext) + { + __pFindWordNext->Invalidate(false); + } + if (__pFindWordPrev) + { + __pFindWordPrev->Invalidate(false); + } } @@ -4484,12 +4715,33 @@ MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source) void MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source) { + AppLog("abcde::MainForm::OnWebKeypadClosed"); AppLog("xyz::MainForm::OnWebKeypadClosed"); AppLog("akjshdasd 4"); __pFooterPanel->SetShowState(true); // OnAddressBarKeypadClosed(*__pAddressbar); RelayoutControls(false); __isKeypadOpened = false; + + + if(__pImageMenu && __pImageMenu->GetShowState() == true) + { + AppLog("abcde: imagemenu visible."); + Point p(0,0); + Point q(0,0); + __pWebViewer->GetBlockRange(p,q); + if (p == Point(0,0) && q == Point(0,0)) + return; + if(p.y < 150) + { + p.y = p.y + 100; + + } + + __pImageMenu->SetAnchorPosition(p); + __pImageMenu->Show(); + Invalidate(true); + } } void @@ -4525,12 +4777,16 @@ MainForm::OnTouchDoublePressed(const Control& source, const Point& currentPositi void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo) { - AppLog("abcde::MainForm::OnTouchLongPressed %d, %d" ,currentPosition.x,currentPosition.y); - if(TouchEventManager::GetInstance()->GetTouchInfoListN()->GetCount() >1) + AppLog("LMN::abcde::MainForm::OnTouchLongPressed %d, %d" ,currentPosition.x,currentPosition.y); + if(TouchEventManager::GetInstance() && TouchEventManager::GetInstance()->GetTouchInfoListN() && TouchEventManager::GetInstance()->GetTouchInfoListN()->GetCount() >1) { AppLog("Returning because of more than one touch point."); return; } +// if(__pWebViewer) +// __pWebViewer->ReleaseBlock(); + if(__pWebViewer) + __pWebViewer->SetFocus(); __longPressPoint = currentPosition; if (__pHitElementResult != null) @@ -4553,13 +4809,18 @@ void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen: if (__pHitElementResult->HasImage() == true) { if(__pWebViewer != null) + { + __pWebViewer->ReleaseBlock();//N_SE-52389 InitImageContextMenu(Point(currentPosition.x,currentPosition.y + __pWebViewer->GetY())); + } __pImageMenu->SetShowState(true); __pImageMenu->Show(); __pImageMenu->Invalidate(true); } else if(__pHitElementResult->HasUrl() == true) { + if(__pWebViewer != null) + __pWebViewer->ReleaseBlock();//N_SE-52389 String tempURl = __pHitElementResult->GetUrl(); AppLog("tempURl is %ls", tempURl.GetPointer()); const Bitmap* pBitmap = __pHitElementResult->GetImage(); @@ -4582,7 +4843,7 @@ void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen: String type = __pHitElementResult->GetAttributeValue("type"); String value = __pHitElementResult->GetAttributeValue(L"value"); String innerHtml = __pHitElementResult->GetAttributeValue(L"innerHTML"); - + result r = E_FAILURE; __currentSelectedStr.Clear(); __currentSelectedStr = __pWebViewer->GetTextFromBlock(); @@ -4592,8 +4853,9 @@ void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen: __isLongPressedDone = true; - result r =__pWebViewer->SetBlockSelectionPosition(currentPosition); - if (((tagName.CompareTo(L"INPUT") == 0) || tagName.CompareTo(L"TEXTAREA") == 0) && innerHtml.GetLength() == 0 && type.CompareTo(L"submit") !=0/*&& __isWebKeypadOpened == true*/ && __currentSelectedStr.CompareTo(L"") == 0 && r == E_INVALID_ARG) + if( type.Equals(L"submit",false) !=true && type.Equals(L"checkbox",false) !=true && type.Equals(L"range",false) !=true && type.Equals(L"file",false) !=true) + r =__pWebViewer->SetBlockSelectionPosition(currentPosition); + if (((tagName.Equals(L"INPUT",false) == true) || tagName.Equals(L"TEXTAREA",false) == true) && innerHtml.GetLength() == 0 && type.Equals(L"submit",false) !=true && type.Equals(L"checkbox",false) !=true && type.Equals(L"range",false) !=true && type.Equals(L"file",false) !=true/*&& __isWebKeypadOpened == true*/ && __currentSelectedStr.Equals(L"",false) == true && r == E_INVALID_ARG) { AppLog("MainForm::OnWebPageBlockSelected show paste option"); @@ -4672,7 +4934,7 @@ MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEven __pFindWordNext->SetEnabled(false); __pFindWordPrev->SetEnabled(false); - __pWebViewer->SearchText(L"aaaabbbbcccc",true); + __pWebViewer->SearchTextAllAsync(L"",true); __pFindWordControl->SetShowState(false); } AppLog("__pAddressbar->GetShowState() %d",__pAddressbar->GetShowState()); @@ -4720,8 +4982,8 @@ MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::Ori { AppLog("MainForm::OnOrientationChanged GetClientAreaBounds %d, %d",GetClientAreaBounds().width,GetClientAreaBounds().height); int widthContextItem = 0; - if(__pFindWordCountLabel) - __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight()); + //if(__pFindWordCountLabel) + // __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),124,__pFindWordCountLabel->GetHeight()); // As per the platform engineer comment removed this line /*if(__pWebViewer != null) { @@ -4734,7 +4996,7 @@ MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::Ori if(__pOptionMenu && __pOptionMenu->GetShowState() == true) { - if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE) + if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE) { AppLog(" Orientation landscape"); __pOptionMenu->SetMaxVisibleItemsCount(5); @@ -4798,7 +5060,7 @@ MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::Ori { AppLog("__pFooterPanel->GetShowState() is true"); InitFooter(); - __pFooterPanel->SetBounds(0, GetClientAreaBounds().height - __pFooterPanel->GetHeight(), __pFooterPanel->GetWidth(), __pFooterPanel->GetHeight()); + __pFooterPanel->SetBounds(CoordinateSystem::AlignToDevice(FloatRectangle(0, GetClientAreaBoundsF().height - __pFooterPanel->GetHeightF(), __pFooterPanel->GetWidthF(), __pFooterPanel->GetHeightF()))); __pFooterPanel->Invalidate(true); } InitAddressbar(); @@ -4882,6 +5144,7 @@ MainForm::OnSettingsChange(int settingvalue) settings.SetAutoFittingEnabled(false); } __pWebViewer->SetSetting(settings); + } else if (settingvalue == (int) REGISTRY_SETTING_RUN_JAVASCRIPT) { @@ -5139,6 +5402,7 @@ MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics void MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo) { + AppLog("LMN::MainForm::OnTouchMoved entered"); // __currentWordIndex = 0; __isLongPressedDone = false; @@ -5172,7 +5436,7 @@ MainForm::OnTextValueChanged (const Tizen::Ui::Control &source) } else { - __pFindWordCountLabel->SetShowState(false); +// __pFindWordCountLabel->SetShowState(false); __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight()); __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight()); @@ -5234,8 +5498,9 @@ MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatu result r = E_SUCCESS; - if (__pWebViewer != null && __pMostVisitedListView != null) + if (__pMostVisitedListView != null) { + __pMostVisitedListView->SetShowState(true); return E_SUCCESS; } @@ -5251,6 +5516,7 @@ MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatu HistoryPresentationModel::GetInstance()->GetMostVisitedSites(*__pMostVisitedSites); __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight(); + __webControlHeightF = GetClientAreaBoundsF().height - __pFooterPanel->GetHeightF(); __pMostVisitedListView = new(std::nothrow) ListView(); int height = GetClientAreaBounds().height; @@ -5360,8 +5626,7 @@ MainForm::ShowIndicatorNotification(const String& messageText, const String& con request.SetAlertText(messageText); request.SetTitleText(L""); request.SetAppMessage(contentPath); - request.SetOngoingActivityType(ONGOING_ACTIVITY_TYPE_TEXT); - request.SetNotificationStyle(NOTIFICATION_STYLE_THUMBNAIL); + Tizen::App::App* pApp = Tizen::App::App::GetInstance(); String homePath = pApp->GetAppRootPath(); String iconPath = homePath + L"res/screen-density-xhigh/Notification_download_complete.png"; @@ -5370,8 +5635,7 @@ MainForm::ShowIndicatorNotification(const String& messageText, const String& con Tizen::Shell::NotificationManager notiMgr; notiMgr.Construct(); - notiMgr.NotifyOngoingActivity(request); - + notiMgr.Notify(request); AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult())); return; } @@ -5620,7 +5884,10 @@ void MainForm::SetUrl(const String& url) __pAddressbar->SetUrl(__displayUrl); } if(__pFooterUrlField) + { + AppLog("Position:: %d, %ls",__pFooterUrlField->GetTextLength(),__pFooterUrlField->GetText().GetPointer()); __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength()); + } __pFooterUrlField->Invalidate(false); if(__pAddressbar != NULL && __pAddressbar->HasFocus()) __pAddressbar->Invalidate(true); @@ -5655,7 +5922,12 @@ void MainForm::OnSharePopupControlStarted(void) void MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs) { - if (requestId == BACK_GROUND_APP_EVENT) + if (requestId == UPDATE_MAINFORM_FOOTER_ON_WINDOWCLOSED) + { + AppLog("OnWebWindowCloseRequested mainform test 1 OnUserEventReceivedN"); + InitFooter(); + } + else if (requestId == BACK_GROUND_APP_EVENT) { if(__pWebViewer != null) { @@ -5778,7 +6050,7 @@ MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source) __pOptionMenu->InsertItemAt(4,CommonUtil::GetString(L"IDS_BR_OPT_FIND_ON_PAGE_ABB"), IDA_FINDONPAGE_CLICKED); __pOptionMenu->SetMaxVisibleItemsCount(6); } - if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE) + if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE) { AppLog(" Orientation landscape"); __pOptionMenu->SetMaxVisibleItemsCount(5); @@ -5793,8 +6065,13 @@ MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source) delete pBitmap; } AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end"); + if(__pAddressbar) + __pAddressbar->SetShowState(false); + SetFocus(); + __pFooterPanel->SetShowState(true); result r = __pOptionMenu->SetShowState(true); AppLog("ajsghd %s",GetErrorMessage(r)); + RelayoutControls(false); __pOptionMenu->Invalidate(true); __pOptionMenu->Show();