2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (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::Ui;
32 using namespace Tizen::Ui::Controls;
33 using namespace Tizen::Graphics;
35 static const wchar_t* IDB_SEARCH_INPUT_FIELD_BG = L"I01_toolbar_input_field.9.png";
36 static const wchar_t* IDB_TITLE_PROGRESS_BAR_BG = L"I01_title_progress_bar_bg.png";
37 static const wchar_t* IDB_TITLE_PROGRESS_BAR = L"I01_title_progress_bar.png";
38 static const wchar_t* IDB_ICON_PRIVATE = L"I01_icon_private.png";
41 const int Addressbar::IDA_REFRESH_BTN_CLICKED = 101;
42 const int Addressbar::IDA_READER_BTN_CLICKED = 102;
43 const int Addressbar::IDA_STOP_BTN_CLICKED = 103;
44 const int Addressbar::IDA_GO_BACK = 104;
45 const int Addressbar::IDA_GO_FORWARD = 105;
46 const int Addressbar::IDA_CANCEL = 106;
47 const int Addressbar::IDA_CLEAR_URL = 107;
49 Addressbar::Addressbar(void)
51 //__currentAddMode = ADDRESSBAR_MODE_LOADING_COMPLETE;
54 __isLoadingData = false;
55 __isLoadingCompleted = false;
56 __progressPercentage = 0;
57 __pAddressbarBg = null;
59 //__pCancelBtn = null;
61 __pFavIcon = FaviconManager::GetInstance()->GetDefaultFaviconN();
62 __pFaviconLabel = null;
63 //__pGoBackBtn = null;
64 //__pGoForwardBtn = null;
65 __pLabelPrivateOn = null;
67 __pPrivateIconLabel = null;
68 __pProgressbarLabel = null;
69 __pPrivateIconLabel = null ;
70 //__pReaderBtn = null;
71 //__pRefreshBtn = null;
74 __pSearchLabel = null;
75 __pAddressbarUrlField = null;
76 __pToolBarLabel = null;
77 __pAddressbarURLLabel = null;
78 __pAddressBackBtn = null;
81 Addressbar::~Addressbar(void)
83 if (__pFavIcon != null)
91 Addressbar::Initialize(const Rectangle& rect)
95 AppLogDebug("Addressbar::Initialize entered");
96 //Construct the base first
97 r = Construct(L"IDL_ADDRESSBAR");
99 //Add background label
100 Label* pBgLabel = static_cast<Label*> (GetControl(L"IDC_BG_LABEL",true));
101 if (pBgLabel == NULL)
103 AppLogDebug("Control not found returning E_INVALID_KEY");
104 return E_INVALID_KEY;
107 //Add inner panel for border
108 __pBgPanel = static_cast<Panel*> (GetControl(L"IDC_BG_PANEL",true));
109 if (__pBgPanel == NULL)
111 AppLogDebug("Control not found returning E_INVALID_KEY");
112 return E_INVALID_KEY;
115 __pAddressbarBg = static_cast<Label*> (GetControl(L"IDC_ADDRESSBAR_BG_LABEL",true));
116 if (__pAddressbarBg == NULL)
118 AppLogDebug("Control not found returning E_INVALID_KEY");
119 return E_INVALID_KEY;
121 __pBgPanel->SetBackgroundColor(CUSTOM_COLOR_TRANSPARENT);
122 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
125 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
129 //Add the backround label for displaying progressbar
130 /*__pProgressbarLabel = static_cast<Label*> (GetControl(L"IDC_PROGRESS_BAR_LABEL",true));
131 if (__pProgressbarLabel == NULL)
133 AppLogDebug("Control not found returning E_INVALID_KEY");
134 return E_INVALID_KEY;
136 __pProgressbarLabel->SetShowState(false);*/
138 //Add the stop button
139 __pStopBtn = static_cast<Button*> (GetControl(L"IDC_STOP_BUTTON",true));
140 if (__pStopBtn == NULL)
142 AppLogDebug("Control not found returning E_INVALID_KEY");
143 return E_INVALID_KEY;
145 __pStopBtn->SetActionId(IDA_STOP_BTN_CLICKED);
146 __pStopBtn->AddActionEventListener(*this);
147 __pStopBtn->SetShowState(false);
150 __pClearBtn = static_cast<Button*> (GetControl(L"IDC_CLEAR_BUTTON",true));
151 if (__pClearBtn == NULL)
153 AppLogDebug("Control not found returning E_INVALID_KEY");
154 return E_INVALID_KEY;
156 __pClearBtn->SetActionId(IDA_CLEAR_URL);
157 __pClearBtn->AddActionEventListener(*this);
158 __pClearBtn->SetShowState(true);
160 //Add the editfield for url
161 __pAddressbarUrlField = static_cast<EditField*> (GetControl(L"IDC_URL_EDITFIELD",true));
162 if (__pAddressbarUrlField == NULL)
164 AppLogDebug("Control not found returning E_INVALID_KEY");
165 return E_INVALID_KEY;
168 __pAddressbarUrlField->SetOverlayKeypadCommandButtonVisible(false);
169 __pAddressbarUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
170 __pAddressbarUrlField->AddFocusEventListener(*this);
171 __pAddressbarUrlField->AddTextEventListener(*this);
172 if(__pAddressbarUrlField->GetTextLength() == 0)
174 __pAddressbarUrlField->SetKeypadActionEnabled(false);
178 __pAddressbarUrlField->SetKeypadActionEnabled(true);
181 __pToolBarLabel = static_cast<Label*> (GetControl(L"IDC_TOOLBAR_LABEL",true));
182 if (__pToolBarLabel == NULL)
184 AppLogDebug("Control not found returning E_INVALID_KEY");
185 return E_INVALID_KEY;
187 __pToolBarLabel->SetShowState(true);
189 __pAddressbarURLLabel = static_cast<Label*> (GetControl(L"IDC_URL_LABEL",true));
190 if (__pAddressbarURLLabel == NULL)
192 AppLogDebug("__pURLLabel Control not found returning E_INVALID_KEY");
193 return E_INVALID_KEY;
195 __pAddressbarURLLabel->SetShowState(true);
197 __pAddressBackBtn = static_cast<Button*> (GetControl(L"IDC_ADDRESS_BACK_BUTTON",true));
198 if (__pAddressBackBtn == NULL)
200 AppLogDebug("__pAddressBackBtn Control not found returning E_INVALID_KEY");
201 return E_INVALID_KEY;
203 __pAddressBackBtn->SetActionId(IDA_CANCEL);
204 __pAddressBackBtn->AddActionEventListener(*this);
205 __pAddressBackBtn->SetShowState(true);
206 //IDC_ADDRESS_BACK_BUTTON
208 // Added to get the favorite url if not set then address bar is about blank
210 if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
212 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
214 else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
216 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_ABOUT_C_BLANK"));
220 //__pUrlField->SetText(SettingPresentationModel::GetInstance()->GetFavoriteURL());
221 __pAddressbarUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_SEARCH_OR_ENTER_URL"));
223 __pAddressbarUrlField->AddKeypadEventListener(*this);
225 AppLogDebug("Addressbar::Initialize exit");
230 Addressbar::UpdateProgressBitmap(void)
232 result r = E_SUCCESS;
233 if (__pProgressbarLabel == null)
235 int w = __pProgressbarLabel->GetWidth();
236 int h = __pProgressbarLabel->GetHeight();
238 int progressWidth = 0;
239 Bitmap* pRetBitmap = null;
241 if (__progressPercentage == 0 || __progressPercentage == 100)
243 __pProgressbarLabel->SetShowState(false);
244 __pProgressbarLabel->Invalidate(false);
249 __pProgressbarLabel->SetShowState(true);
250 __pProgressbarLabel->Invalidate(false);
253 r = canvas.Construct(Rectangle(0, 0, w, h));
257 AppLogException("Canvas construction failed with %s", GetErrorMessage(r));
262 Bitmap *pBgBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR_BG);
266 pBgBmp->Scale(Dimension(w, h));
267 canvas.DrawBitmap(Point(0,0), *pBgBmp);
271 progressWidth = (double) (w) * __progressPercentage / 100;
272 AppLogDebug("progressWidth: %d", progressWidth);
273 Bitmap *pProgressBmp = AppResource::GetInstance()->GetBitmapN(IDB_TITLE_PROGRESS_BAR);
275 if (pProgressBmp != null)
277 pProgressBmp->Scale(Dimension(progressWidth, h));
278 canvas.DrawBitmap(Point(0,0), *pProgressBmp);
282 pRetBitmap = new (std::nothrow) Bitmap();
284 if (pRetBitmap == null)
286 AppLogException("Bitmap creation failed with %s", GetErrorMessage(r));
290 pRetBitmap->Construct(canvas, canvas.GetBounds());
292 if (__pProgressbarLabel != null && pRetBitmap != null)
294 __pProgressbarLabel->SetBackgroundBitmap(*pRetBitmap);
295 __pProgressbarLabel->Invalidate(false);
299 if (pRetBitmap != null)
308 Addressbar::SetUrl(const String& url)
311 String updatedDisplayUrl;
312 updatedDisplayUrl.Clear();
314 if (__pAddressbarUrlField != NULL)
316 String removedHttpUrl = RemoveHttpTextFromDisplayURL();
317 if (removedHttpUrl.IsEmpty() == false)
319 __pAddressbarUrlField->SetText(removedHttpUrl);
323 __pAddressbarUrlField->SetText(__displayUrl);
326 __pAddressbarUrlField->Invalidate(false);
327 __pAddressbarUrlField->SetCursorPosition(0);
332 Addressbar::GetUrl(void)
338 Addressbar::GetAddressbarMode(void)
340 return __currentAddMode;
344 Addressbar::SetAddressbarMode(AddressBarMode addMode)
346 AppLogDebug("AddressBar::setAddressbarMode to %d",addMode);
348 __currentAddMode = addMode;
352 case ADDRESSBAR_MODE_INVALID:
357 case ADDRESSBAR_MODE_READER:
359 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
360 // __pSearchLabel->SetShowState(false);
361 // __pFaviconLabel->SetShowState(true);
362 // __pCancelBtn->SetShowState(false);
363 // __pRefreshBtn->SetShowState(false);
364 __pStopBtn->SetShowState(false);
365 // __pReaderBtn->SetShowState(true);
366 // __pReaderBtn->Invalidate(true);
367 // __pGoForwardBtn->SetShowState(true);
368 // __pGoBackBtn->SetShowState(true);
369 __pClearBtn->SetShowState(false);
372 case ADDRESSBAR_MODE_LOADING:
374 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
375 // __pSearchLabel->SetShowState(false);
376 // __pFaviconLabel->SetShowState(true);
377 // __pCancelBtn->SetShowState(false);
378 // __pRefreshBtn->SetShowState(false);
379 __pStopBtn->SetShowState(true);
380 // __pReaderBtn->SetShowState(false);
381 // __pGoForwardBtn->SetShowState(true);
382 // __pGoBackBtn->SetShowState(true);
383 __pClearBtn->SetShowState(false);
387 case ADDRESSBAR_MODE_LOADING_COMPLETE:
389 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x + 2* __pGoBackBtn->GetWidth() + 13,__pBgPanel->GetPosition().y);
390 // __pCancelBtn->SetShowState(false);
392 if (__pAddressbarUrlField && __pAddressbarUrlField->GetText().IsEmpty() == false)
394 // __pSearchLabel->SetShowState(false);
395 // __pFaviconLabel->SetShowState(true);
399 // __pSearchLabel->SetShowState(true);
400 // __pFaviconLabel->SetShowState(false);
403 if (__pAddressbarUrlField != NULL)
405 __pAddressbarUrlField->SetText(__displayUrl);
406 __pAddressbarUrlField->HideKeypad();
409 // __pRefreshBtn->SetShowState(true);
410 __pStopBtn->SetShowState(false);
411 // __pReaderBtn->SetShowState(false);
412 // __pGoForwardBtn->SetShowState(true);
413 // __pGoBackBtn->SetShowState(true);
414 __pClearBtn->SetShowState(false);
417 case ADDRESSBAR_MODE_EDIT:
419 Form *pForm = static_cast<Form*>(GetParent());
420 if (pForm!= null && (pForm->GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT ||pForm->GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE ))
422 // __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 30,__pBgPanel->GetHeight());
423 // __pAddressbarBg->SetBounds(__pAddressbarBg->GetX(),__pAddressbarBg->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 30,__pAddressbarBg->GetHeight());
424 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth(),__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
428 // __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 48,__pBgPanel->GetHeight());
429 // __pAddressbarBg->SetBounds(__pAddressbarBg->GetX(),__pAddressbarBg->GetY(),static_cast<Form*>(GetParent())->GetClientAreaBounds().width - __pCancelBtn->GetWidth() - 48,__pAddressbarBg->GetHeight());
430 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth(),__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
433 // __pBgPanel->SetPosition(__pGoBackBtn->GetPosition().x,__pBgPanel->GetPosition().y);
434 // __pCancelBtn->SetShowState(true);
435 // __pRefreshBtn->SetShowState(false);
436 __pStopBtn->SetShowState(false);
437 // __pReaderBtn->SetShowState(false);
438 // __pGoForwardBtn->SetShowState(false);
439 // __pGoBackBtn->SetShowState(false);
440 __pClearBtn->SetShowState(true);
443 // __pCancelBtn->SetBounds(__pBgPanel->GetWidth(), __pCancelBtn->GetY(), GetWidth() - 48 - __pBgPanel->GetWidth(), __pCancelBtn->GetHeight());
445 if (__pAddressbarUrlField && __pAddressbarUrlField->GetText().IsEmpty() == true)
447 // __pSearchLabel->SetShowState(true);
448 // __pFaviconLabel->SetShowState(false);
452 // __pSearchLabel->SetShowState(false);
453 // __pFaviconLabel->SetShowState(true);
455 if (__pAddressbarUrlField != NULL)
457 __pAddressbarUrlField->SetCursorPosition(__pAddressbarUrlField->GetTextLength());
464 if (__pAddressbarBg->GetWidth() != __pBgPanel->GetWidth())
466 __pAddressbarBg->SetBounds(Rectangle(0, 0, __pBgPanel->GetWidth(), __pBgPanel->GetHeight()));
467 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(L"I01_search_input_field_bg.9.png", __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
470 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
477 if (__pListener != null)
479 __pListener->OnAddressBarModeChanged(*this);
484 Addressbar::SetFaviconBitmap(const Tizen::Graphics::Bitmap& favicon)
487 String url =__pAddressbarUrlField->GetText();
488 String secureSiteText = "https://";
490 flag = url.StartsWith(secureSiteText,0);
492 if (__pFavIcon != null)
497 __pFavIcon = new(std::nothrow) Bitmap();
498 __pFavIcon->Construct(favicon,Rectangle(0,0,favicon.GetWidth(),favicon.GetHeight()));
501 void Addressbar::SaveAddressbarEditText()
503 __editTextUrl = __pAddressbarUrlField->GetText();
507 Addressbar::UpdateFaviconBitmap(bool isPrivateOn)
510 String url =__pAddressbarUrlField->GetText();
511 String secureSiteText = "https://";
513 flag = url.StartsWith(secureSiteText,0);
515 __pAddressbarBg->Invalidate(true);
519 Addressbar::SetForwardButtonEnabled(bool isEnabled)
521 // __pGoForwardBtn->SetEnabled(isEnabled);
522 // __pGoBackBtn->Invalidate(true);
526 Addressbar::SetBackButtonEnabled(bool isEnabled)
528 // __pGoBackBtn->SetEnabled(isEnabled);
529 // __pGoBackBtn->Invalidate(true);
533 Addressbar::SetAddressbarEventListener(IAddressbarEventListener* plistener)
535 __pListener = plistener;
539 Addressbar::UpdateProgress(int percentage)
541 __progressPercentage = percentage;
542 if (percentage == 0 || percentage == 100)
544 __isLoadingData = false;
545 if (percentage == 100)
547 __isLoadingCompleted = true;
548 __progressPercentage = 0;
552 __isLoadingCompleted = false;
557 __isLoadingData = true;
559 UpdateProgressBitmap();
563 Addressbar::GetProgress(void)
565 return __progressPercentage;
569 Addressbar::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
571 AppLogDebug("Addressbar::OnActionPerformed action %d",actionId);
575 case IDA_REFRESH_BTN_CLICKED:
576 __isLoadingCompleted = false;
577 __isLoadingData = true;
578 __progressPercentage = 0;
579 __pAddressbarUrlField->HideKeypad();
580 __displayUrl = __pAddressbarUrlField->GetText();
582 /*if (__pListener != NULL)
584 __pListener->OnUrlSubmitted(*this);
587 UpdateProgressBitmap();
590 case IDA_STOP_BTN_CLICKED:
591 __isLoadingCompleted = false;
592 __isLoadingData = false;
593 __progressPercentage = 0;
594 __pAddressbarUrlField->HideKeypad();
595 __displayUrl = __pAddressbarUrlField->GetText();
597 if (__pListener != NULL)
599 __pListener->OnStopClicked(*this);
602 UpdateProgressBitmap();
604 case IDA_READER_BTN_CLICKED:
605 __pAddressbarUrlField->HideKeypad();
606 __displayUrl = __pAddressbarUrlField->GetText();
608 if (__pListener != NULL)
610 __pListener->OnReaderClicked(*this);
617 if (__pListener != NULL)
619 __pListener->OnBackClicked(*this);
627 if (__pListener != NULL )
628 __pListener->OnForwardClicked(*this);
635 __pAddressbarUrlField->SetText(__displayUrl);
637 __pAddressbarUrlField->HideKeypad();
638 __pListener->OnAddressCancelledClicked(*this);
639 //SetAddressbarMode(ADDRESSBAR_MODE_LOADING_COMPLETE);
645 if (__pAddressbarUrlField->GetText().IsEmpty() == false)
647 //__displayUrl = __pUrlField->GetText();
648 __pAddressbarUrlField->Clear();
649 __pAddressbarUrlField->Invalidate(true);
659 Addressbar::OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction)
661 AppLog("Addressbar::OnKeypadActionPerformed keypadAction %d",keypadAction);
662 switch (keypadAction)
664 case KEYPAD_ACTION_GO:
665 case KEYPAD_ACTION_ENTER:
666 case KEYPAD_ACTION_SEND:
668 if (__pAddressbarUrlField->GetText().IsEmpty() == false)
670 //SetAddressbarMode(ADDRESSBAR_MODE_LOADING);
671 __displayUrl = __pAddressbarUrlField->GetText();
673 __isLoadingCompleted = false;
674 __isLoadingData = true;
675 __progressPercentage = 0;
676 __pAddressbarUrlField->HideKeypad();
678 if (__pListener != NULL)
680 __pListener->OnUrlSubmitted(*this);
683 //UpdateProgressBitmap();
694 Addressbar::OnKeypadClosed(Tizen::Ui::Control& source)
697 if(__pListener != null)
699 __pListener->OnAddressBarKeypadClosed(*this);
704 Addressbar::OnKeypadOpened(Tizen::Ui::Control& source)
706 if(__pListener != null)
708 __pListener->OnAddressBarKeypadOpened(*this);
713 Addressbar::OnKeypadWillOpen(Tizen::Ui::Control& source)
715 if(__pListener != null)
717 __pListener->OnAddressBarKeypadWillOpen(*this);
722 Addressbar::OnKeypadBoundsChanged(Tizen::Ui::Control &source)
724 AppLog("Coming here");
725 if(__pListener != null)
727 __pListener->OnAddressBarKeypadBoundsChanged(*this);
732 Addressbar::OrientationChanged( int& width)
735 __pBgPanel->SetBounds(__pBgPanel->GetX(),__pBgPanel->GetY(), width - __pAddressBackBtn->GetWidth() - gap -__pBgPanel->GetX() ,__pBgPanel->GetHeight());
736 __pAddressBackBtn->SetBounds(width - __pAddressBackBtn->GetWidth() - 6,__pAddressBackBtn->GetY(),__pAddressBackBtn->GetWidth(),__pAddressBackBtn->GetHeight());
737 __pStopBtn->SetBounds(__pBgPanel->GetWidth() - __pStopBtn->GetWidth(),__pStopBtn->GetY(),__pStopBtn->GetWidth(),__pStopBtn->GetHeight());
738 __pClearBtn->SetBounds(__pBgPanel->GetWidth() - __pClearBtn->GetWidth() ,__pClearBtn->GetY(),__pClearBtn->GetWidth(),__pClearBtn->GetHeight());
739 __pAddressbarUrlField->SetBounds(__pToolBarLabel->GetWidth(),__pAddressbarUrlField->GetY(),__pBgPanel->GetWidth() - __pStopBtn->GetWidth()- __pToolBarLabel->GetWidth() ,__pAddressbarUrlField->GetHeight());
741 Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pAddressbarBg->GetWidth(), __pAddressbarBg->GetHeight());
744 __pAddressbarBg->SetBackgroundBitmap(*pBitmap);
751 Addressbar::RemoveHttpTextFromDisplayURL(void)
753 bool isHttpText = __displayUrl.Contains(L"http://");
754 String updatedDisplayUrl;
755 updatedDisplayUrl.Clear();
757 if (isHttpText == true)
759 __displayUrl.SubString(7,updatedDisplayUrl);
761 return updatedDisplayUrl;
765 Addressbar::GetLockedImageN(void)
767 Bitmap* pIconImage = null;
769 AppResource* pAppResource = Application::GetInstance()->GetAppResource();
772 pIconImage = pAppResource->GetBitmapN(IDB_ICON_PRIVATE);
775 Bitmap* pLockImage = new (std::nothrow) Bitmap();
777 Canvas* pCanvas = new (std::nothrow) Canvas();
778 pCanvas->Construct(Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()));
780 if(__pFavIcon != null)
782 pCanvas->DrawBitmap(Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()),*__pFavIcon);
784 if(pIconImage != null)
786 pCanvas->DrawBitmap(Rectangle(__pFaviconLabel->GetWidth()/2,__pFaviconLabel->GetHeight()/2,__pFaviconLabel->GetWidth()/2,__pFaviconLabel->GetHeight()/2),*pIconImage);
788 pLockImage->Construct(*pCanvas,Rectangle(0,0,__pFaviconLabel->GetWidth(),__pFaviconLabel->GetHeight()));
795 Addressbar::OnFocusGained(const Control& source)
797 //SetAddressbarMode(ADDRESSBAR_MODE_EDIT);
798 // SetAddressbarMode(__prevAddMode);
799 __pAddressbarUrlField->SetCursorPosition(__pAddressbarUrlField->GetTextLength());
800 if (__pListener != null)
802 __pListener->OnAddressBarKeypadWillOpen(*this);
803 __pListener->OnAddressBarKeypadOpened(*this);
808 Addressbar::OnTextValueChanged(const Control& source)
810 if(__pAddressbarUrlField != null)
812 if(__pAddressbarUrlField->GetTextLength() == 0)
814 __pAddressbarUrlField->SetKeypadActionEnabled(false);
818 __pAddressbarUrlField->SetKeypadActionEnabled(true);
825 Addressbar::SetAddressbarURLFocus()
827 __pAddressbarUrlField->SetFocus();
831 Addressbar::GetAddressbarURL()
833 return __pAddressbarUrlField->GetText();