2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 /*@file: IntAddressbar
19 *@brief: This class defines common behaviour of Addressbar control.
22 #include "IntAddressbar.h"
23 #include "IntCommonLib.h"
25 #include "IntMultipleWindowPresentationModel.h"
26 #include "IntSettingPresentationModel.h"
27 #include "IntMultipleWindowPresentationModel.h"
29 using namespace Tizen::App;
30 using namespace Tizen::Base;
31 using namespace Tizen::Graphics;
32 using namespace Tizen::System;
33 using namespace Tizen::Ui;
34 using namespace Tizen::Ui::Controls;
36 static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.9.png";
37 static const wchar_t* IDB_TITLE_PROGRESS_BAR_BG = L"I01_title_progress_bar_bg.png";
38 static const wchar_t* IDB_TITLE_PROGRESS_BAR = L"I01_title_progress_bar.png";
39 static const wchar_t* IDB_ICON_PRIVATE = L"I01_icon_private.png";
42 const int Addressbar::IDA_REFRESH_BTN_CLICKED = 101;
43 const int Addressbar::IDA_READER_BTN_CLICKED = 102;
44 const int Addressbar::IDA_STOP_BTN_CLICKED = 103;
45 const int Addressbar::IDA_GO_BACK = 104;
46 const int Addressbar::IDA_GO_FORWARD = 105;
47 const int Addressbar::IDA_CANCEL = 106;
48 const int Addressbar::IDA_CLEAR_URL = 107;
50 Addressbar::Addressbar(void)
52 //__currentAddMode = ADDRESSBAR_MODE_LOADING_COMPLETE;
55 __isLoadingData = false;
56 __isLoadingCompleted = false;
57 __progressPercentage = 0;
58 __pAddressbarBg = null;
60 //__pCancelBtn = null;
62 __pFavIcon = FaviconManager::GetInstance()->GetDefaultFaviconN();
63 __pFaviconLabel = null;
64 //__pGoBackBtn = null;
65 //__pGoForwardBtn = null;
66 __pLabelPrivateOn = null;
68 __pPrivateIconLabel = null;
69 __pProgressbarLabel = null;
70 __pPrivateIconLabel = null ;
71 //__pReaderBtn = null;
72 //__pRefreshBtn = null;
75 __pSearchLabel = null;
76 __pAddressbarUrlField = null;
77 __pToolBarLabel = null;
78 __pAddressbarURLLabel = null;
79 __pAddressBackBtn = null;
80 __isClipboardOpen = false;
81 __isKeyboardConnected = false;
82 __isCancelledClicked = false;
85 Addressbar::~Addressbar(void)
87 if (__pFavIcon != null)
95 Addressbar::Initialize(const Rectangle& rect)
99 AppLogDebug("Addressbar::Initialize entered");
100 //Construct the base first
101 r = Construct(L"IDL_ADDRESSBAR");
103 //Add background label
104 Label* pBgLabel = static_cast<Label*> (GetControl(L"IDC_BG_LABEL",true));
105 if (pBgLabel == NULL)
107 AppLogDebug("Control not found returning E_INVALID_KEY");
108 return E_INVALID_KEY;
111 //Add inner panel for border
112 __pBgPanel = static_cast<Panel*> (GetControl(L"IDC_BG_PANEL",true));
113 if (__pBgPanel == NULL)
115 AppLogDebug("Control not found returning E_INVALID_KEY");
116 return E_INVALID_KEY;
119 __pAddressbarBg = static_cast<Label*> (GetControl(L"IDC_ADDRESSBAR_BG_LABEL",true));
120 if (__pAddressbarBg == NULL)
122 AppLogDebug("Control not found returning E_INVALID_KEY");
123 return E_INVALID_KEY;
125 __pBgPanel->SetBackgroundColor(CUSTOM_COLOR_TRANSPARENT);
126 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
129 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
133 //Add the backround label for displaying progressbar
134 /*__pProgressbarLabel = static_cast<Label*> (GetControl(L"IDC_PROGRESS_BAR_LABEL",true));
135 if (__pProgressbarLabel == NULL)
137 AppLogDebug("Control not found returning E_INVALID_KEY");
138 return E_INVALID_KEY;
140 __pProgressbarLabel->SetShowState(false);*/
142 //Add the stop button
143 __pStopBtn = static_cast<Button*> (GetControl(L"IDC_STOP_BUTTON",true));
144 if (__pStopBtn == NULL)
146 AppLogDebug("Control not found returning E_INVALID_KEY");
147 return E_INVALID_KEY;
149 __pStopBtn->SetActionId(IDA_STOP_BTN_CLICKED);
150 __pStopBtn->AddActionEventListener(*this);
151 __pStopBtn->SetShowState(false);
154 __pClearBtn = static_cast<Button*> (GetControl(L"IDC_CLEAR_BUTTON",true));
155 if (__pClearBtn == NULL)
157 AppLogDebug("Control not found returning E_INVALID_KEY");
158 return E_INVALID_KEY;
160 __pClearBtn->SetActionId(IDA_CLEAR_URL);
161 __pClearBtn->AddActionEventListener(*this);
162 __pClearBtn->SetShowState(true);
164 //Add the editfield for url
165 __pAddressbarUrlField = static_cast<EditField*> (GetControl(L"IDC_URL_EDITFIELD",true));
166 if (__pAddressbarUrlField == NULL)
168 AppLogDebug("Control not found returning E_INVALID_KEY");
169 return E_INVALID_KEY;
172 __pAddressbarUrlField->SetOverlayKeypadCommandButtonVisible(false);
173 __pAddressbarUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
174 __pAddressbarUrlField->AddFocusEventListener(*this);
175 __pAddressbarUrlField->AddTextEventListener(*this);
176 if(__pAddressbarUrlField->GetTextLength() == 0)
178 __pAddressbarUrlField->SetKeypadActionEnabled(false);
182 __pAddressbarUrlField->SetKeypadActionEnabled(true);
185 __pToolBarLabel = static_cast<Label*> (GetControl(L"IDC_TOOLBAR_LABEL",true));
186 if (__pToolBarLabel == NULL)
188 AppLogDebug("Control not found returning E_INVALID_KEY");
189 return E_INVALID_KEY;
191 __pToolBarLabel->SetShowState(true);
193 __pAddressbarURLLabel = static_cast<Label*> (GetControl(L"IDC_URL_LABEL",true));
194 if (__pAddressbarURLLabel == NULL)
196 AppLogDebug("__pURLLabel Control not found returning E_INVALID_KEY");
197 return E_INVALID_KEY;
199 __pAddressbarURLLabel->SetShowState(true);
201 __pAddressBackBtn = static_cast<Button*> (GetControl(L"IDC_ADDRESS_BACK_BUTTON",true));
202 if (__pAddressBackBtn == NULL)
204 AppLogDebug("__pAddressBackBtn Control not found returning E_INVALID_KEY");
205 return E_INVALID_KEY;
207 __pAddressBackBtn->SetActionId(IDA_CANCEL);
208 __pAddressBackBtn->AddActionEventListener(*this);
209 __pAddressBackBtn->SetShowState(true);
210 //IDC_ADDRESS_BACK_BUTTON
212 // Added to get the favorite url if not set then address bar is about blank
214 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
216 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
218 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
220 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_ABOUT_C_BLANK"));
224 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
225 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
227 __pAddressbarUrlField->AddKeypadEventListener(*this);
229 r = DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT,*this);
230 AppLog("1234:: DeviceManager::AddDeviceEventListener result %s",GetErrorMessage(r));
231 AppLogDebug("Addressbar::Initialize exit");
236 Addressbar::UpdateProgressBitmap(void)
238 result r = E_SUCCESS;
239 if (__pProgressbarLabel == null)
241 int w = __pProgressbarLabel->GetWidth();
242 int h = __pProgressbarLabel->GetHeight();
244 int progressWidth = 0;
245 Bitmap* pRetBitmap = null;
247 if (__progressPercentage == 0 || __progressPercentage == 100)
249 __pProgressbarLabel->SetShowState(false);
250 __pProgressbarLabel->Invalidate(false);
255 __pProgressbarLabel->SetShowState(true);
256 __pProgressbarLabel->Invalidate(false);
259 r = canvas.Construct(Rectangle(0, 0, w, h));
263 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
268 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
272 pBgBmp->Scale(Dimension(w, h));
273 canvas.DrawBitmap(Point(0,0), *pBgBmp);
277 progressWidth = (double) (w) * __progressPercentage / 100;
278 AppLogDebug("progressWidth: %d", progressWidth);
279 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
281 if (pProgressBmp != null)
283 pProgressBmp->Scale(Dimension(progressWidth, h));
284 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
288 pRetBitmap = new (std::nothrow) Bitmap();
290 if (pRetBitmap == null)
292 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
296 pRetBitmap->Construct(canvas, canvas.GetBounds());
298 if (__pProgressbarLabel != null && pRetBitmap != null)
300 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
301 __pProgressbarLabel->Invalidate(false);
305 if (pRetBitmap != null)
314 Addressbar::ResetGuideText(void)
316 AppLog("Addressbar::ResetGuideText called");
318 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
320 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
322 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
324 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_ABOUT_C_BLANK"));
328 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
329 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
331 __pAddressbarUrlField->Invalidate(true);
335 Addressbar::SetUrl(const String& url)
338 String updatedDisplayUrl;
339 updatedDisplayUrl.Clear();
341 if (__pAddressbarUrlField != NULL)
343 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
344 if (removedHttpUrl.IsEmpty() == false)
346 __pAddressbarUrlField->SetText(removedHttpUrl);
350 __pAddressbarUrlField->SetText(__displayUrl);
353 __pAddressbarUrlField->Invalidate(false);
354 __pAddressbarUrlField->SetCursorPosition(0);
359 Addressbar::GetUrl(void)
365 Addressbar::GetAddressbarMode(void)
367 return __currentAddMode;
371 Addressbar::SetAddressbarMode(AddressBarMode addMode)
373 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
375 __currentAddMode = addMode;
379 case ADDRESSBAR_MODE_INVALID:
384 case ADDRESSBAR_MODE_READER:
386 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
387 // __pSearchLabel->SetShowState(false);
388 // __pFaviconLabel->SetShowState(true);
389 // __pCancelBtn->SetShowState(false);
390 // __pRefreshBtn->SetShowState(false);
391 __pStopBtn->SetShowState(false);
392 // __pReaderBtn->SetShowState(true);
393 // __pReaderBtn->Invalidate(true);
394 // __pGoForwardBtn->SetShowState(true);
395 // __pGoBackBtn->SetShowState(true);
396 __pClearBtn->SetShowState(false);
399 case ADDRESSBAR_MODE_LOADING:
401 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
402 // __pSearchLabel->SetShowState(false);
403 // __pFaviconLabel->SetShowState(true);
404 // __pCancelBtn->SetShowState(false);
405 // __pRefreshBtn->SetShowState(false);
406 __pStopBtn->SetShowState(true);
407 // __pReaderBtn->SetShowState(false);
408 // __pGoForwardBtn->SetShowState(true);
409 // __pGoBackBtn->SetShowState(true);
410 __pClearBtn->SetShowState(false);
414 case ADDRESSBAR_MODE_LOADING_COMPLETE:
416 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
417 // __pCancelBtn->SetShowState(false);
419 if (__pAddressbarUrlField && __pAddressbarUrlField->GetText().IsEmpty() == false)
421 // __pSearchLabel->SetShowState(false);
422 // __pFaviconLabel->SetShowState(true);
426 // __pSearchLabel->SetShowState(true);
427 // __pFaviconLabel->SetShowState(false);
430 if (__pAddressbarUrlField != NULL)
432 __pAddressbarUrlField->SetText(__displayUrl);
433 __pAddressbarUrlField->HideKeypad();
436 // __pRefreshBtn->SetShowState(true);
437 __pStopBtn->SetShowState(false);
438 // __pReaderBtn->SetShowState(false);
439 // __pGoForwardBtn->SetShowState(true);
440 // __pGoBackBtn->SetShowState(true);
441 __pClearBtn->SetShowState(false);
444 case ADDRESSBAR_MODE_EDIT:
446 Form *pForm = static_cast<Form*>(GetParent());
447 if (pForm!= null && (pForm->GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT ||pForm->GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE ))
449 // __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 30,__pBgPanel->GetHeight());
450 // __pAddressbarBg->SetBounds(__pAddressbarBg->GetX(),__pAddressbarBg->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 30,__pAddressbarBg->GetHeight());
451 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth(),__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
455 // __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 48,__pBgPanel->GetHeight());
456 // __pAddressbarBg->SetBounds(__pAddressbarBg->GetX(),__pAddressbarBg->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 48,__pAddressbarBg->GetHeight());
457 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth(),__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
460 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x,__pBgPanel->GetPosition().y);
461 // __pCancelBtn->SetShowState(true);
462 // __pRefreshBtn->SetShowState(false);
463 __pStopBtn->SetShowState(false);
464 // __pReaderBtn->SetShowState(false);
465 // __pGoForwardBtn->SetShowState(false);
466 // __pGoBackBtn->SetShowState(false);
467 __pClearBtn->SetShowState(true);
470 // __pCancelBtn->SetBounds(__pBgPanel->GetWidth(), __pCancelBtn->GetY(), GetWidth() - 48 - __pBgPanel->GetWidth(), __pCancelBtn->GetHeight());
472 if (__pAddressbarUrlField && __pAddressbarUrlField->GetText().IsEmpty() == true)
474 // __pSearchLabel->SetShowState(true);
475 // __pFaviconLabel->SetShowState(false);
479 // __pSearchLabel->SetShowState(false);
480 // __pFaviconLabel->SetShowState(true);
482 if (__pAddressbarUrlField != NULL)
484 __pAddressbarUrlField->SetCursorPosition(__pAddressbarUrlField->GetTextLength());
491 if (__pAddressbarBg->GetWidth() != __pBgPanel->GetWidth())
493 __pAddressbarBg->SetBounds(Rectangle(0, 0, __pBgPanel->GetWidth(), __pBgPanel->GetHeight()));
494 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
497 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
504 if (__pListener != null)
506 __pListener->OnAddressBarModeChanged(*this);
511 Addressbar::SetFaviconBitmap(const Tizen::Graphics::Bitmap& favicon)
514 String url =__pAddressbarUrlField->GetText();
515 String secureSiteText = "https://";
517 flag = url.StartsWith(secureSiteText,0);
519 if (__pFavIcon != null)
524 __pFavIcon = new(std::nothrow) Bitmap();
525 __pFavIcon->Construct(favicon,Rectangle(0,0,favicon.GetWidth(),favicon.GetHeight()));
528 void Addressbar::SaveAddressbarEditText()
530 __editTextUrl = __pAddressbarUrlField->GetText();
534 Addressbar::UpdateFaviconBitmap(bool isPrivateOn)
537 String url =__pAddressbarUrlField->GetText();
538 String secureSiteText = "https://";
540 flag = url.StartsWith(secureSiteText,0);
542 __pAddressbarBg->Invalidate(true);
546 Addressbar::SetForwardButtonEnabled(bool isEnabled)
548 // __pGoForwardBtn->SetEnabled(isEnabled);
549 // __pGoBackBtn->Invalidate(true);
553 Addressbar::SetBackButtonEnabled(bool isEnabled)
555 // __pGoBackBtn->SetEnabled(isEnabled);
556 // __pGoBackBtn->Invalidate(true);
560 Addressbar::SetAddressbarEventListener(IAddressbarEventListener* plistener)
562 __pListener = plistener;
566 Addressbar::UpdateProgress(int percentage)
568 __progressPercentage = percentage;
569 if (percentage == 0 || percentage == 100)
571 __isLoadingData = false;
572 if (percentage == 100)
574 __isLoadingCompleted = true;
575 __progressPercentage = 0;
579 __isLoadingCompleted = false;
584 __isLoadingData = true;
586 UpdateProgressBitmap();
590 Addressbar::GetProgress(void)
592 return __progressPercentage;
596 Addressbar::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
598 AppLogDebug("Addressbar::OnActionPerformed action %d",actionId);
602 case IDA_REFRESH_BTN_CLICKED:
603 __isLoadingCompleted = false;
604 __isLoadingData = true;
605 __progressPercentage = 0;
606 __pAddressbarUrlField->HideKeypad();
607 __displayUrl = __pAddressbarUrlField->GetText();
609 /*if (__pListener != NULL)
611 __pListener->OnUrlSubmitted(*this);
614 UpdateProgressBitmap();
617 case IDA_STOP_BTN_CLICKED:
618 __isLoadingCompleted = false;
619 __isLoadingData = false;
620 __progressPercentage = 0;
621 __pAddressbarUrlField->HideKeypad();
622 __displayUrl = __pAddressbarUrlField->GetText();
624 if (__pListener != NULL)
626 __pListener->OnStopClicked(*this);
629 UpdateProgressBitmap();
631 case IDA_READER_BTN_CLICKED:
632 __pAddressbarUrlField->HideKeypad();
633 __displayUrl = __pAddressbarUrlField->GetText();
635 if (__pListener != NULL)
637 __pListener->OnReaderClicked(*this);
644 if (__pListener != NULL)
646 __pListener->OnBackClicked(*this);
654 if (__pListener != NULL )
655 __pListener->OnForwardClicked(*this);
661 __pAddressbarUrlField->HideKeypad();
662 __pListener->OnAddressCancelledClicked(*this);
663 __isCancelledClicked = true;
664 //SetAddressbarMode(ADDRESSBAR_MODE_LOADING_COMPLETE);
670 if (__pAddressbarUrlField->GetText().IsEmpty() == false)
672 //__displayUrl = __pUrlField->GetText();
673 __pAddressbarUrlField->Clear();
674 __pAddressbarUrlField->SetKeypadActionEnabled(false);
675 __pAddressbarUrlField->Invalidate(true);
685 Addressbar::OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction)
687 AppLog("Addressbar::OnKeypadActionPerformed keypadAction %d",keypadAction);
688 switch (keypadAction)
690 case KEYPAD_ACTION_GO:
691 case KEYPAD_ACTION_ENTER:
692 case KEYPAD_ACTION_SEND:
694 if (__pAddressbarUrlField->GetText().IsEmpty() == false)
696 //SetAddressbarMode(ADDRESSBAR_MODE_LOADING);
697 __displayUrl = __pAddressbarUrlField->GetText();
699 __isLoadingCompleted = false;
700 __isLoadingData = true;
701 __progressPercentage = 0;
702 __pAddressbarUrlField->HideKeypad();
704 if (__pListener != NULL)
706 __pListener->OnUrlSubmitted(*this);
709 //UpdateProgressBitmap();
720 Addressbar::OnKeypadClosed(Tizen::Ui::Control& source)
722 // String state = L"";
723 // result r = DeviceManager::GetState(DEVICE_TYPE_KEYBOARD,state);
724 // AppLog("Device State %S error %s",state.GetPointer(),GetErrorMessage(r));
726 if(__isKeyboardConnected == true)
730 if (__isClipboardOpen == true)
732 __isClipboardOpen = false;
733 __pListener->OnClipboardClosed(*this);
737 // if(__isCancelledClicked == true)
739 if(__pAddressbarUrlField)
741 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
742 if (removedHttpUrl.IsEmpty() == false)
744 __pAddressbarUrlField->SetText(removedHttpUrl);
748 __pAddressbarUrlField->SetText(__displayUrl);
751 // __pAddressbarUrlField->SetText(__displayUrl);
754 if(__pListener != null)
756 __pListener->OnAddressBarKeypadClosed(*this,false);
759 __isCancelledClicked = false;
763 Addressbar::OnKeypadOpened(Tizen::Ui::Control& source)
765 // String state = L"";
766 // result r = DeviceManager::GetState(DEVICE_TYPE_KEYBOARD,state);
767 // AppLog("Device State %S error %s",state.GetPointer(),GetErrorMessage(r));
768 AppLog("Addressbar::OnKeypadOpened %d",Clipboard::GetInstance()->IsPopupVisible());
769 __isClipboardOpen = Clipboard::GetInstance()->IsPopupVisible();
774 Addressbar::OnKeypadWillOpen(Tizen::Ui::Control& source)
776 if(__pListener != null)
778 __pListener->OnAddressBarKeypadWillOpen(*this);
783 Addressbar::OnKeypadBoundsChanged(Tizen::Ui::Control &source)
785 AppLog("Coming here");
786 if(__pListener != null)
788 __pListener->OnAddressBarKeypadBoundsChanged(*this);
793 Addressbar::OrientationChanged( int& width)
796 __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(), width - __pAddressBackBtn->GetWidth() - gap -__pBgPanel->GetX() ,__pBgPanel->GetHeight());
797 __pAddressBackBtn->SetBounds(width - __pAddressBackBtn->GetWidth() - 6,__pAddressBackBtn->GetY(),__pAddressBackBtn->GetWidth(),__pAddressBackBtn->GetHeight());
798 __pStopBtn->SetBounds(__pBgPanel->GetWidth() - __pStopBtn->GetWidth(),__pStopBtn->GetY(),__pStopBtn->GetWidth(),__pStopBtn->GetHeight());
799 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth() ,__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
800 // __pAddressbarUrlField->SetBounds(__pToolBarLabel->GetWidth(),__pAddressbarUrlField->GetY(),__pBgPanel->GetWidth() - __pStopBtn->GetWidth()- __pToolBarLabel->GetWidth() ,__pAddressbarUrlField->GetHeight());
802 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
805 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
812 Addressbar::RemoveHttpTextFromDisplayURL(void)
814 bool isHttpText = __displayUrl.Contains(L"http://");
815 String updatedDisplayUrl;
816 updatedDisplayUrl.Clear();
818 if (isHttpText == true)
820 __displayUrl.SubString(7,updatedDisplayUrl);
822 return updatedDisplayUrl;
826 Addressbar::GetLockedImageN(void)
828 Bitmap* pIconImage = null;
830 AppResource* pAppResource = Application::GetInstance()->GetAppResource();
833 pIconImage = pAppResource->GetBitmapN(IDB_ICON_PRIVATE);
836 Bitmap* pLockImage = new (std::nothrow) Bitmap();
838 Canvas* pCanvas = new (std::nothrow) Canvas();
839 pCanvas->Construct(Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()));
841 if(__pFavIcon != null)
843 pCanvas->DrawBitmap(Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()),*__pFavIcon);
845 if(pIconImage != null)
847 pCanvas->DrawBitmap(Rectangle(__pFaviconLabel->GetWidth()/2,__pFaviconLabel->GetHeight()/2,__pFaviconLabel->GetWidth()/2,__pFaviconLabel->GetHeight()/2),*pIconImage);
849 pLockImage->Construct(*pCanvas,Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()));
856 Addressbar::OnFocusGained(const Control& source)
858 //SetAddressbarMode(ADDRESSBAR_MODE_EDIT);
859 // SetAddressbarMode(__prevAddMode);
860 AppLog("Focus:: Addressbar::OnFocusGained called");
861 if(__pAddressbarUrlField != null)
863 __pAddressbarUrlField->SetCursorPosition(__pAddressbarUrlField->GetTextLength());
864 if(__pAddressbarUrlField->GetTextLength() == 0)
866 __pAddressbarUrlField->SetKeypadActionEnabled(false);
870 __pAddressbarUrlField->SetKeypadActionEnabled(true);
873 if (__pListener != null)
875 __pListener->OnAddressBarKeypadWillOpen(*this);
876 __pListener->OnAddressBarKeypadOpened(*this);
881 Addressbar::OnFocusLost(const Tizen::Ui::Control& source)
883 AppLog("Focus::Addressbar::OnFocusLost");
884 if(__pAddressbarUrlField)
886 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
887 if (removedHttpUrl.IsEmpty() == false)
889 __pAddressbarUrlField->SetText(removedHttpUrl);
893 __pAddressbarUrlField->SetText(__displayUrl);
896 // __pAddressbarUrlField->SetText(__displayUrl);
899 if(__pListener != null)
901 __pListener->OnAddressBarKeypadClosed(*this,false);
906 Addressbar::OnTextValueChanged(const Control& source)
908 if(__pAddressbarUrlField != null)
910 if(__pAddressbarUrlField->GetTextLength() == 0)
912 __pAddressbarUrlField->SetKeypadActionEnabled(false);
916 __pAddressbarUrlField->SetKeypadActionEnabled(true);
922 Addressbar::OnDeviceStateChanged(DeviceType deviceType, const String &state)
924 AppLog("1234:: Addressbar::OnDeviceStateChanged %ls %d",state.GetPointer(),(int)deviceType);
925 if(deviceType == DEVICE_TYPE_KEYBOARD && state.Equals(L"Closed",true) == 0)
927 __isKeyboardConnected = true;
931 Addressbar::SetAddressbarURLFocus()
933 __pAddressbarUrlField->SetFocus();
937 Addressbar::GetAddressbarURL()
939 return __pAddressbarUrlField->GetText();