+
+void
+MainForm::ShowIndicatorNotification(const String& messageText, const String& contentPath)
+{
+ AppLogDebug("ENTER");
+
+ NotificationRequest request;
+ 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";
+ AppLog("The iconPath is : %ls", homePath.GetPointer());
+ request.SetIconFilePath(iconPath);
+
+ Tizen::Shell::NotificationManager notiMgr;
+ notiMgr.Construct();
+ notiMgr.NotifyOngoingActivity(request);
+ AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult()));
+ return;
+}
+
+void
+MainForm::SetForwardButtonEnabled(bool isEnabled)
+{
+ __pGoForwardBtn->SetEnabled(isEnabled);
+ __pGoForwardBtn->Invalidate(true);
+}
+
+void
+MainForm::SetBackButtonEnabled(bool isEnabled)
+{
+ __pGoBackBtn->SetEnabled(isEnabled);
+ __pGoBackBtn->Invalidate(true);
+}
+
+void
+MainForm::UpdateProgress(int percentage)
+{
+ __progressPercentage = percentage;
+ if (percentage == 0 || percentage == 100)
+ {
+ __isLoadingData = false;
+ if (percentage == 100)
+ {
+ __isLoadingCompleted = true;
+ __progressPercentage = 0;
+ }
+ else
+ {
+ __isLoadingCompleted = false;
+ }
+ }
+ else
+ {
+ __isLoadingData = true;
+ }
+ UpdateProgressBitmap();
+}
+
+int
+MainForm::GetProgress(void)
+{
+ return __progressPercentage;
+}
+
+void
+MainForm::UpdateProgressBitmap(void)
+{
+ result r = E_SUCCESS;
+ if (__pProgressbarLabel == null)
+ return;
+ int w = __pProgressbarLabel->GetWidth();
+ int h = __pProgressbarLabel->GetHeight();
+ Canvas canvas;
+ int progressWidth = 0;
+ Bitmap* pRetBitmap = null;
+
+ if (__progressPercentage == 0 || __progressPercentage == 100)
+ {
+ __pProgressbarLabel->SetShowState(false);
+ __pProgressbarLabel->Invalidate(false);
+ return;
+ }
+ else
+ {
+ __pProgressbarLabel->SetShowState(true);
+ __pProgressbarLabel->Invalidate(false);
+ }
+
+ r = canvas.Construct(Rectangle(0, 0, w, h));
+
+ if (r != E_SUCCESS)
+ {
+ AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
+ return;
+ }
+
+ canvas.Clear();
+ Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
+
+ if (pBgBmp != null)
+ {
+ pBgBmp->Scale(Dimension(w, h));
+ canvas.DrawBitmap(Point(0,0), *pBgBmp);
+ delete pBgBmp;
+ }
+
+ progressWidth = (double) (w) * __progressPercentage / 100;
+ AppLogDebug("progressWidth: %d", progressWidth);
+ Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
+
+ if (pProgressBmp != null)
+ {
+ pProgressBmp->Scale(Dimension(progressWidth, h));
+ canvas.DrawBitmap(Point(0,0), *pProgressBmp);
+ delete pProgressBmp;
+ }
+
+ pRetBitmap = new (std::nothrow) Bitmap();
+
+ if (pRetBitmap == null)
+ {
+ AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
+ return;
+ }
+
+ pRetBitmap->Construct(canvas, canvas.GetBounds());
+
+ if (__pProgressbarLabel != null && pRetBitmap != null)
+ {
+ __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
+ __pProgressbarLabel->Invalidate(false);
+ }
+
+ if (pRetBitmap != null)
+ {
+ delete pRetBitmap;
+ pRetBitmap = null;
+ }
+ return;
+}
+
+void
+MainForm::ReaderClicked()
+{
+ result r = E_SUCCESS;
+ ArrayList* pArgList = new(std::nothrow) ArrayList();
+ if (pArgList != null)
+ {
+ r = pArgList->Construct();
+ if (IsFailed(r))
+ {
+ delete pArgList;
+ return;
+ }
+
+ r = pArgList->Add(*new(std::nothrow) String(*__pReaderData));
+ if (IsFailed(r))
+ {
+ delete pArgList;
+ return;
+ }
+
+ r = pArgList->Add(*new(std::nothrow) String(__pWebViewer->GetUrl()));
+ if (IsFailed(r))
+ {
+ delete pArgList;
+ return;
+ }
+
+ r = pArgList->Add(*new(std::nothrow) String(__pWindowInfo->pageTitle));
+ if (IsFailed(r))
+ {
+ delete pArgList;
+ return;
+ }
+ }
+
+ SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ARTICLE_READER, SCENE_TRANSITION_ANIMATION_TYPE_NONE),pArgList);
+ return;
+
+
+}
+
+void MainForm::SetAddressbarMode(AddressBarMode addMode)
+{
+ AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
+
+ __currentAddMode = addMode;
+
+ switch(addMode)
+ {
+ case ADDRESSBAR_MODE_INVALID:
+ {
+ // do nothing
+ }
+ break;
+ case ADDRESSBAR_MODE_READER:
+ {
+ __pStopBtn->SetShowState(false);
+ __pRefreshBtn->SetShowState(false);
+ __pClearBtn->SetShowState(false);
+ __pReaderBtn->SetShowState(false);
+ }
+ break;
+ case ADDRESSBAR_MODE_LOADING:
+ {
+ __pRefreshBtn->SetShowState(false);
+ __pStopBtn->SetShowState(true);
+ __pClearBtn->SetShowState(false);
+ __pReaderBtn->SetShowState(false);
+ }
+ break;
+ case ADDRESSBAR_MODE_LOADING_COMPLETE:
+ {
+// SetUrl(__pAddressbar->GetUrl());
+
+ __pRefreshBtn->SetShowState(true);
+ __pStopBtn->SetShowState(false);
+ __pClearBtn->SetShowState(false);
+ __pReaderBtn->SetShowState(false);
+ }
+ break;
+ case ADDRESSBAR_MODE_EDIT:
+ {
+ __pRefreshBtn->SetShowState(false);
+ __pStopBtn->SetShowState(false);
+ __pReaderBtn->SetShowState(false);
+ __pClearBtn->SetShowState(true);
+ }
+ break;
+ }
+
+ Invalidate(true);
+
+ OnAddressBarModeChanged();
+}
+
+AddressBarMode MainForm::GetAddressbarMode(void)
+{
+ return __currentAddMode;
+}
+
+void MainForm::SetUrl(const String& url)
+{
+ __displayUrl = url;
+ if(__displayUrl.GetLength() > 2048)
+ __displayUrl.SubString(0,2048,__displayUrl);
+
+ if (__pFooterUrlField != NULL)
+ {
+ String removedHttpUrl = RemoveHttpTextFromDisplayURL();
+ if (removedHttpUrl.IsEmpty() == false)
+ {
+ __pFooterUrlField->SetText(removedHttpUrl);
+ if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
+ __pAddressbar->SetUrl(__displayUrl);
+ }
+ else
+ {
+ __pFooterUrlField->SetText(__displayUrl);
+ if(__pAddressbar != NULL && __pAddressbar->HasCurrentFocus() == false)
+ __pAddressbar->SetUrl(__displayUrl);
+ }
+ if(__pFooterUrlField)
+ __pFooterUrlField->SetCursorPosition(__pFooterUrlField->GetTextLength());
+ __pFooterUrlField->Invalidate(false);
+ if(__pAddressbar != NULL && __pAddressbar->HasFocus())
+ __pAddressbar->Invalidate(true);
+// __pFooterUrlField->SetCursorPosition(0);
+ }
+}
+
+String
+MainForm::RemoveHttpTextFromDisplayURL(void)
+{
+ AppLog("MainForm::RemoveHttpTextFromDisplayURL __displayUrl %ls",__displayUrl.GetPointer());
+ int index = -1;
+// bool isHttpText = __displayUrl.Contains(L"http://");
+ String updatedDisplayUrl;
+ updatedDisplayUrl.Clear();
+ if(__displayUrl.IndexOf(L"http://",0,index) == E_SUCCESS && index == 0)
+ {
+ __displayUrl.SubString(7,updatedDisplayUrl);
+ }
+ else if(__displayUrl.IndexOf(L"https://",0,index) == E_SUCCESS && index == 0)
+ {
+ __displayUrl.SubString(8,updatedDisplayUrl);
+ }
+ return updatedDisplayUrl;
+}
+
+void MainForm::OnSharePopupControlStarted(void)
+{
+ __pWebViewer->AddTouchEventListener(*this);
+}
+
+void
+MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs)
+{
+ if (requestId == UPDATE_MAINFORM_FOOTER_ON_WINDOWCLOSED)
+ {
+ AppLog("OnWebWindowCloseRequested mainform test 1 OnUserEventReceivedN");
+ InitFooter();
+ }
+ else if (requestId == BACK_GROUND_APP_EVENT)
+ {
+ if(__pWebViewer != null)
+ {
+ __pWebViewer->Pause();
+ }
+ if(__pImageMenu)
+ {
+ __pImageMenu->SetShowState(false);
+ }
+ if(__pAddressbar != null)
+ {
+ __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL);
+ }
+ }
+ else if(requestId == FORE_GROUND_APP_EVENT)
+ {
+ if(__pWebViewer != null)
+ {
+ __pWebViewer->Resume();
+ }
+ if(__pAddressbar != null)
+ {
+ __pAddressbar->SendUserEvent(FORE_GROUND_APP_EVENT,NULL);
+ }
+ }
+}
+
+void
+MainForm::AddressBarCancelledClicked(const Addressbar& addBar)
+{
+ AppLog("XYZ::MainForm::AddressBarCancelledClicked");
+ result r = E_SUCCESS;
+
+ if (__pAddressbar)
+ __pAddressbar->SetShowState(false);
+
+ AppLog("akjshdasd 5");
+ __pFooterPanel->SetShowState(true);
+
+ if(__pWebViewer)
+ __pWebViewer->SetFocus();
+ else if(__pMostVisitedListView)
+ __pMostVisitedListView->SetFocus();
+ else if(__pMultiWindowButton)
+ __pMultiWindowButton->SetFocus();
+ else if(__pMoreButton)
+ __pMoreButton->SetFocus();
+
+ __pAddressbar->SetShowState(false);
+
+ RelayoutControls(false);
+}
+
+void
+MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
+{
+ AppLog("MainForm::OnFormMenuRequested called");
+ InitOptionMenu();
+ if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer && __pWebViewer->GetShowState() == true)
+ {
+ int bookmarkCount=0;
+ bool exist = false;
+ String url=L"";
+ url=__pWindowInfo->pageUrl;
+ AppLog("MainForm::OnFormMenuRequested url %ls",url.GetPointer());
+ result r = E_SUCCESS;
+ Bitmap* pBitmap = null;
+ String lastChar = L"";
+// if(url.SubString(url.GetLength()-1,lastChar));
+// if(lastChar == L"/")
+// {
+// bool exist1 = false;
+// bool exist2 = false;
+// r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist1);
+// url.SubString(0,url.GetLength() - 1,url);
+// r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist2);
+// exist = exist1 | exist2;
+// }
+// else
+// {
+ r=BookmarkPresentationModel::GetInstance()->DoesBookmarkExist(url,exist);
+ if (IsFailed(r))
+ {
+ AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED failed");
+ return;
+ }
+// }
+ if ( exist == true)
+ {
+ pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
+ }
+ else
+ {
+ pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP);
+ }
+ AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3");
+
+ if (__pOptionMenu->GetItemCount() == 9)
+ {
+ r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
+ }
+ else
+ {
+ r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap);
+ }
+
+ if (IsFailed(r))
+ {
+ AppLogException("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED Add to Bookmark failed with %s", GetErrorMessage(r));
+ delete pBitmap;
+ return ;
+ }
+ AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4");
+ if (__pOptionMenu->GetItemCount() != 9)
+ {
+ __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED);
+ __pOptionMenu->InsertItemAt(2,CommonUtil::GetString(L"IDS_BR_BODY_PRINT"), IDA_PRINT_CLICKED);
+// __pOptionMenu->InsertItemAt(2,L"Add to Home"/*CommonUtil::GetString(L"IDS_BR_OPT_SHARE")*/, IDA_ADD_TO_HOME_CLICKED);
+ __pOptionMenu->InsertItemAt(3,CommonUtil::GetString(L"IDS_BR_OPT_SHARE"), IDA_SHARE_CLICKED);
+ __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_REVERSE)
+ {
+ AppLog(" Orientation landscape");
+ __pOptionMenu->SetMaxVisibleItemsCount(5);
+ }
+ else
+ {
+ AppLog(" Orientation potrait");
+ __pOptionMenu->SetMaxVisibleItemsCount(6);
+ }
+
+ AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5");
+ 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();
+
+}