From 98db53443a3db33718e0b540ec28818c65fb234d Mon Sep 17 00:00:00 2001 From: Vinay Sachdeva Date: Fri, 21 Jun 2013 01:31:41 +0530 Subject: [PATCH] Fixed Nabi Issues, Fone Changes Change-Id: Iad034f2adc47a12ffab47960a22bac43f7006006 Signed-off-by: Vinay Sachdeva --- inc/IntAddressbar.h | 5 +- inc/IntDefaultCustomItem.h | 1 + inc/IntDropDownCustomItem.h | 1 + inc/IntEditHistoryListForm.h | 3 + inc/IntInternetApp.h | 2 + inc/IntMainForm.h | 14 +- inc/IntRadioCustomItem.h | 1 + inc/IntSettingToggleCustomItem.h | 1 + inc/IntTypes.h | 1 + res/eng-GB.xml | 3 + res/eng-US.xml | 2 + .../00_button_expand_closed.png | Bin 0 -> 3863 bytes .../00_button_expand_closed_press.png | Bin 0 -> 3030 bytes .../00_button_expand_opened.png | Bin 0 -> 3469 bytes .../00_button_expand_opened_press.png | Bin 0 -> 2987 bytes .../00_button_sweep_delete.9.png | Bin 980 -> 1437 bytes .../00_button_sweep_delete_press.9.png | Bin 762 -> 1555 bytes res/screen-density-xhigh/00_circle_button.png | Bin 0 -> 7659 bytes res/screen-density-xhigh/00_circle_button_dim.png | Bin 0 -> 7659 bytes .../00_circle_button_press.png | Bin 0 -> 6247 bytes .../I01_field_btn_Clear_Press.png | Bin 0 -> 3318 bytes res/screen-density-xhigh/I01_page_button_left.png | Bin 0 -> 3810 bytes res/screen-density-xhigh/I01_page_button_right.png | Bin 0 -> 3817 bytes res/screen-size-normal/IDL_ADDRESSBAR.xml | 5 +- res/screen-size-normal/IDL_ADD_BOOKMARK.xml | 146 ++++---- res/screen-size-normal/IDL_SETTING_FORM.xml | 6 +- src/IntAddBookmarkForm.cpp | 8 +- src/IntAddressbar.cpp | 63 ++-- src/IntBookmarkListForm.cpp | 54 +-- src/IntBookmarkPresentationModel.cpp | 26 +- src/IntCommonLib.cpp | 1 - src/IntDefaultCustomItem.cpp | 4 +- src/IntDropDownCustomItem.cpp | 22 +- src/IntEditBookmarkListForm.cpp | 30 +- src/IntEditHistoryListForm.cpp | 56 ++- src/IntHistoryListForm.cpp | 19 +- src/IntHistoryPresentationModel.cpp | 82 +++-- src/IntInternetApp.cpp | 46 ++- src/IntMainForm.cpp | 401 ++++++++++++--------- src/IntPresentationModelBase.cpp | 4 +- src/IntRadioCustomItem.cpp | 7 +- src/IntSettingForm.cpp | 6 +- src/IntSettingToggleCustomItem.cpp | 4 +- 43 files changed, 628 insertions(+), 396 deletions(-) create mode 100644 res/screen-density-xhigh/00_button_expand_closed.png create mode 100644 res/screen-density-xhigh/00_button_expand_closed_press.png create mode 100644 res/screen-density-xhigh/00_button_expand_opened.png create mode 100644 res/screen-density-xhigh/00_button_expand_opened_press.png create mode 100644 res/screen-density-xhigh/00_circle_button.png create mode 100644 res/screen-density-xhigh/00_circle_button_dim.png create mode 100644 res/screen-density-xhigh/00_circle_button_press.png create mode 100644 res/screen-density-xhigh/I01_field_btn_Clear_Press.png create mode 100644 res/screen-density-xhigh/I01_page_button_left.png create mode 100644 res/screen-density-xhigh/I01_page_button_right.png mode change 100755 => 100644 res/screen-size-normal/IDL_ADD_BOOKMARK.xml diff --git a/inc/IntAddressbar.h b/inc/IntAddressbar.h index 89820b7..b09b60e 100644 --- a/inc/IntAddressbar.h +++ b/inc/IntAddressbar.h @@ -172,7 +172,8 @@ class Addressbar Tizen::Base::String GetAddressbarURL(); bool HasCurrentFocus(void); - void OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs); + void HideKeypad(void); + void OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs); private: /** * @brief Updates the progressbar Value. @@ -214,7 +215,7 @@ class Addressbar Tizen::Ui::Controls::Label* __pToolBarLabel; Tizen::Ui::Controls::Label* __pAddressbarURLLabel; Tizen::Ui::Controls::Button* __pAddressBackBtn; - bool __isAppBackGround; + bool __isAppBackGround; }; #endif /* _INT_ADDRESSBAR_H_ */ diff --git a/inc/IntDefaultCustomItem.h b/inc/IntDefaultCustomItem.h index b3f063e..3da811e 100644 --- a/inc/IntDefaultCustomItem.h +++ b/inc/IntDefaultCustomItem.h @@ -74,6 +74,7 @@ private: int __height; ///Height of the SettingToggleCustomItem Instance Tizen::Base::String __text; ///The Text for the Toggle Button int __width; ///Width of the SettingToggleCustomItem Instance + int __fontSize; ///fontsize from settings }; #endif /* _INT_DEFAULT_CUSTOM_ITEM_H_ */ diff --git a/inc/IntDropDownCustomItem.h b/inc/IntDropDownCustomItem.h index 2a8666f..b8f70ba 100644 --- a/inc/IntDropDownCustomItem.h +++ b/inc/IntDropDownCustomItem.h @@ -106,6 +106,7 @@ private: Tizen::Base::String __mainText; ///The MainText for the Toggle Button Tizen::Base::String __subText; ///The SubText for the Toggle Button + int __fontSize; ///fontsize from settings }; #endif /* _INT_DROPDOWN_CUSTOM_ITEM_H_ */ diff --git a/inc/IntEditHistoryListForm.h b/inc/IntEditHistoryListForm.h index 899668a..1057032 100644 --- a/inc/IntEditHistoryListForm.h +++ b/inc/IntEditHistoryListForm.h @@ -26,6 +26,7 @@ #include #include +#include "IntConfirmationPopup.h" class EditHistoryListForm @@ -129,6 +130,7 @@ class EditHistoryListForm Tizen::Ui::Controls::Label* __pSelectedLabel; int __selectedCount; int __fontSize; + ConfirmationPopup* __pConfirmationPopup; class GroupItemClass :public Tizen::Base::Object @@ -144,6 +146,7 @@ class EditHistoryListForm Tizen::Base::DateTime __startTime; Tizen::Base::String __titleText; + }; }; diff --git a/inc/IntInternetApp.h b/inc/IntInternetApp.h index b52c35c..287c585 100644 --- a/inc/IntInternetApp.h +++ b/inc/IntInternetApp.h @@ -81,6 +81,8 @@ public: //IAppControlProviderEventListener void OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String &operationId, const Tizen::Base::String *pDataType, const Tizen::Base::String *pUriScheme, const Tizen::Base::Collection::IMap *pArgs); + + long long GetAvailableMemory(void); private: MultipleWindowPresentationModel* __pMultiWindowManager; WindowInfo* __pNewWindowInfo;//the new window object to be created either by the normal launch of application or as an appcontrol launch diff --git a/inc/IntMainForm.h b/inc/IntMainForm.h index 239470b..ef419ab 100644 --- a/inc/IntMainForm.h +++ b/inc/IntMainForm.h @@ -34,6 +34,7 @@ #include "IntIAddressbarEventListener.h" #include "IntISettingChangeListener.h" #include "IntMultipleWindowPresentationModel.h" +#include "IntNotificationPanel.h" #include "IntSharePopup.h" @@ -53,7 +54,6 @@ class MainForm , public Tizen::Ui::Controls::IListViewItemProvider , public Tizen::Ui::IActionEventListener , public IAddressbarEventListener - , public Tizen::Ui::IFocusEventListener , public Tizen::Ui::Controls::IFormBackEventListener , public Tizen::Ui::IKeypadEventListener , public Tizen::Web::Controls::ILoadingListener @@ -64,7 +64,7 @@ class MainForm , public Tizen::Ui::Scenes::ISceneEventListener , public ISettingChangeEventListener , public Tizen::Web::Controls::IWebKeypadEventListener - , public Tizen::Web::Controls::IWebUiEventListener + , public Tizen::Web::Controls::IWebUiEventListenerF , public Tizen::Web::Controls::ITextSearchListener { public: @@ -187,9 +187,6 @@ public: void SetJavascriptEnabled(void); - virtual void OnFocusGained(const Tizen::Ui::Control& source); - virtual void OnFocusLost(const Tizen::Ui::Control& source); - // IListViewItemEventListener /** *Called when the state of an element in the ListContextItem is changed. @@ -218,7 +215,7 @@ public: virtual int GetItemCount (void); //IWebUiEventListener - virtual void OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graphics::Point& startPoint, Tizen::Graphics::Point& endPoint); + virtual void OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graphics::FloatPoint& startPoint, Tizen::Graphics::FloatPoint& endPoint); virtual void OnWebPageShowRequested(Tizen::Web::Controls::Web& source); virtual Tizen::Web::Controls::Web* OnWebWindowCreateRequested(void); virtual void OnWebWindowCloseRequested(Tizen::Web::Controls::Web& source) {AppLog("acdaqsc");} @@ -292,6 +289,7 @@ private: result InitImageContextMenu(Tizen::Graphics::Point p); result InitImageLinkContextMenu(Tizen::Graphics::Point p); result InitSelectTextContextMenu(Tizen::Graphics::Point p, bool pasteOption, bool onlyPasteOption); + result InitSelectTextContextMenuF(Tizen::Graphics::FloatPoint p, bool pasteOption, bool onlyPasteOption); result InitMostVisitedSitesPanel(Tizen::Ui::OrientationStatus orientationStatus); result InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatus); void MoveUiControls(void); @@ -358,7 +356,7 @@ private: Tizen::Ui::Controls::Panel* __pFooterPanel; Tizen::Web::Controls::HitElementResult* __pHitElementResult; Tizen::Ui::Controls::ContextMenu* __pImageMenu; -// Tizen::Ui::Controls::ContextMenu* __pMenu; +// Tizen::Ui::Controls::ContextMenu* __pMenu; Tizen::Ui::Controls::OptionMenu* __pOptionMenu; Tizen::Ui::Controls::Button* __pMoreButton; @@ -392,8 +390,10 @@ private: Tizen::Ui::Controls::Button* __pClearBtn; Tizen::Ui::Controls::Button* __pReaderBtn; Tizen::Graphics::Point __longPressPoint; + NotificationPanel* __pNotification; int __fontSize; bool __isHwKeySupported; }; #endif //_INT_MAIN_FORM_H_ + diff --git a/inc/IntRadioCustomItem.h b/inc/IntRadioCustomItem.h index f268081..821575d 100644 --- a/inc/IntRadioCustomItem.h +++ b/inc/IntRadioCustomItem.h @@ -109,6 +109,7 @@ private: int __height; ///Height of the SettingToggleCustomItem Instance Tizen::Base::String __text; ///The Text for the Toggle Button int __width; ///Width of the SettingToggleCustomItem Instance + int __fontSize; ///fontsize from settings }; #endif /* _INT_RADIO_CUSTOM_ITEM_H_ */ diff --git a/inc/IntSettingToggleCustomItem.h b/inc/IntSettingToggleCustomItem.h index def1329..a30622e 100644 --- a/inc/IntSettingToggleCustomItem.h +++ b/inc/IntSettingToggleCustomItem.h @@ -97,6 +97,7 @@ private: int __width; ///Width of the SettingToggleCustomItem Instance Tizen::Base::String __text; ///The Text for the Toggle Button + int __fontSize; ///fontsize from settings }; diff --git a/inc/IntTypes.h b/inc/IntTypes.h index 7e61506..3fea6df 100644 --- a/inc/IntTypes.h +++ b/inc/IntTypes.h @@ -52,6 +52,7 @@ static const unsigned int CUSTOM_COLOR_SETTINGS_TEXT = Tizen::Graphics::Color32< static const unsigned int CUSTOM_COLOR_SETTINGS_LISTITEM_BACKGROUND = Tizen::Graphics::Color32<248, 246, 239>::Value; static const unsigned int CUSTOM_COLOR_SETTINGS_LISTITEM_RADIO_BACKGROUND = Tizen::Graphics::Color32<220, 218, 211>::Value; static const unsigned int CUSTOM_COLOR_SETTINGS_GROUPTITLE = Tizen::Graphics::Color32<59, 115, 182>::Value; +static const unsigned int CONTEXT_ITEM_DELETE_COLOR = Tizen::Graphics::Color32<208, 82, 82>::Value; enum BrowserDbTableTypes { diff --git a/res/eng-GB.xml b/res/eng-GB.xml index eb248ff..779f7b0 100644 --- a/res/eng-GB.xml +++ b/res/eng-GB.xml @@ -342,4 +342,7 @@ cannot open more than 9 windows No Recently Visited Sites. about: blank + Low Memory + Memory Low, Delete some data + diff --git a/res/eng-US.xml b/res/eng-US.xml index 765018b..5887a4c 100644 --- a/res/eng-US.xml +++ b/res/eng-US.xml @@ -342,4 +342,6 @@ cannot open more than 9 windows No Recently Visited Sites. about: blank + Low Memory + Memory Low, Delete some data diff --git a/res/screen-density-xhigh/00_button_expand_closed.png b/res/screen-density-xhigh/00_button_expand_closed.png new file mode 100644 index 0000000000000000000000000000000000000000..41ee73f8db8ea78ed1bdbdb91ab21d9955dd8d91 GIT binary patch literal 3863 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 Y018^;!)8E_9{>OV07*qoM6N<$g0>l(xBvhE literal 0 HcmV?d00001 diff --git a/res/screen-density-xhigh/00_button_expand_opened.png b/res/screen-density-xhigh/00_button_expand_opened.png new file mode 100644 index 0000000000000000000000000000000000000000..547f884ddab046247d2e58b16e5efc18442f2a94 GIT binary patch literal 3469 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 literal 0 HcmV?d00001 diff --git a/res/screen-density-xhigh/00_button_expand_opened_press.png b/res/screen-density-xhigh/00_button_expand_opened_press.png new file mode 100644 index 0000000000000000000000000000000000000000..d539fd0749b6da320bf59f49852c5e2d49e18676 GIT binary patch literal 2987 zcmV;c3sm%pP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002iNkl9-bEJGPB2- z;Ji{#gSP@x;Vr>5cxx~P{txia@K1|Ig15rIM%Q5Q8oVymunz$`BML3F&_W9>w9rBe heI)b~009600{}R8I`MB6U^M^$002ovPDHLkV1kHuj6MJW literal 0 HcmV?d00001 diff --git a/res/screen-density-xhigh/00_button_sweep_delete.9.png b/res/screen-density-xhigh/00_button_sweep_delete.9.png index ad7b154ab011ae280b3e03067e7d32bd9f647f66..8c69b41bacec1a19922db85de43958bab041d427 100644 GIT binary patch literal 1437 zcmV;O1!DS%P)2J-lO12=J4sq-e>eV`GO0`y($7_suU3Gm7@j z7{eT55Q`k-!UJBlU>{Q*WHM>N>)o-X_jbo+h-}VukV}m~>M_J17CFd;2fW}}4R#t& zmC5V}1%aP@o|i^T0ZIBM(r7lFD3dgbIrRe|7as6Z-t=@O;4m#k5>F??G73xvrT3y^ ziMTi(-wjwIqJLsH60qPNW0;e{siTs^175jYHVN-?SS!^l-nIP@C3*K|fF(wyggBmz z3)Wav_(6(=e@P@Fa}e$^hB?F_7C9^*URYCjgP{g~@$zLM7Yw?rY-8YQVUUcA7HT>j z7X3dve!9Q5{>@PKsmb*Bn#uGR?lFcr#89wBhRSaWFKnde^6oXMflJud)O-TvkYQ5s z&0yqvw)S9Ua4_rc?&eV>&RPl(MxH^=nSnECPc#f!x^5-FgPQp3Zlm4F{%>3lCOS zmveK5GX7Kp2|hL0Vq+b!1HGOd+k(*$69)#W!k9udhU+p${d8v{7anZK@~+J(FiLn{(pwscx%C)tAlF07S0(RJb;LbC~pDbiS5ga zR_^m|?~2h#P~PGxKb5<$k6?`J?cwdqOE&e}F<`Yu$(MyfArlNbt*opJ%1Vp1Ssc4F z%NY$}>_%w5+Ze(a<`9EeH4I*81?BU(W38Z8c^&O@)tX%>6$7h5Yu4!wP zcAmpl+B=k?SQnUL2cnh7+Ibk0+j*rhxt-^*Dc#cHY7NU^Hk%F{Z&)Tr7`T$ye0jqX zUP?o{MXM!S$Yl2XcsjWyTi$xDF2u?$S%(cC@T%I9RYA`lHJv@%v#jZir>+FY80L_Q63;ii88JA;G)gu&>>d+v=NBP_eB}$1sN~!)cHM3D3V$59 rO0`TSlIoYJ#9VFYj{_g_uMz(MR2|E9SKos800000NkvXXu0mjftaPab literal 980 zcmV;_11tQAP){x)+Vq0ei`4rTb_8mGUD;b$kwegx^0_`?c6D+a&jijtSyAM;6Cc}jT`9co;@;> zlk?Xeqn?Zm@n>a?n>BXW(XqpazrHFiwuOGzpOq!eZueKS#_lb4y>D&(Ho9ZS&u4dP z7&WD(eKTw9URn1Coamnmva{71Qc}dMvBlmuHOVjrnRKkNQHF6on4*sjZP`Lqzh+Go zv3H@63}$9h=~zR94C3l$s!vXK#@+%Oz#vml#p>&2VDn}w6?+4$AA?L3*0*UBRo&{< z3Kk4X-^PtpD)t)KBMdU>SY4ew+OUDDZq+Jh>=m$w>(^7&GFUGLnRKkSR(joTs@jz+ zow1iSHS%EHI;t8Cdjae|2AMc4J)Np%#R>(hu9kai*HTq$*z>9?xto?oRh^U+MeG@{ zJE^HuRVr3lDYx-khp8$tQNaQMxs7`}lZrhBb_;_{l^PZSb`y6{rpo2ZXJIk}tEiA3 z+^3iVGclQsm6uBo?gmVOgoIhxjJG)s>;?vz{=jCRv$3)=xsDGoQw4?LGsjdBAMcEf zmX^vjT-i(%){Q}?auvhh{@u73naYE_ zha|;(z6$5m{`hj&| zkV(giiliepmWsm8E?7Wi;nhVC>jQQMgG@TMf4`iWKc7m+3JWQy9r+Zj^Ik#0lo@QF zH_x#Xm??^jn=)(cu$Bwkw}0ut-9W>_IA?oZt}kYd9hMTv$cUWBExCQ}T-%NTvv8f| zr>95E8pmzIP(s2)8y1|z!qd|_j<20000((7GRtDT={(Ys3pLjGE*7IXzuZx0Wpnq8F#h6JDP8dA{HGJnz${ zd%kUG*xO6h?d85yRoyS_w6Lf!Mc7~J_SYZ!9x)#Y+qV~@*M)Tod%pZl@rSAKtxPaD zny_5{B4m{=2FfN0vsf-&V~?1XmF1`82>TR_-IBd2ET<^>@7#TkD8O!)eZ=SW41GE5 z^^N+6yurZm0LB_0d&CfX<%;t*xnO{`6WLqBp2>3d(WQ%@2VE}5FrbqY*F4ebn|<+_ zX=mcj?cTeIr~_k-FEVw*MGUdzkP8M_!rrJy_8O;dzK@tBdrS+y?#1KmkxnO_=rocY8m297|U$`?$!YN5y%4Mvp%X!P{a;|H2d8w?uAludV6c@gZ@&Q}P+DyySub7MO#B1Gfdo z6C>esr=xp<_Y|d|^Gb~%OCx8`jQ5MD05~BC<~lmmuXSUc&`F6IJ$LpxIfa6}SynK? zhQmmxQtQCz)dAjHv^yP0Q}A>lQM$NJHh7-yfmLq=tq1@-T%qC(3Qi7YYy4(iBgt_>>d#lI^XFh zr?@#}4?DrEHDuoyx$2GiyzZgM)VMAq$eISRD5oR@k-?@W4fsxLt44yc#^*yuXlr{! zY)R{obs1sY1?HgFgSPl|i%@b?7fOO#gpx%|Dn8ZYJatOZoT8YJ1DGnx5SPUqQ_WP_gQ^h6(kytgWnY@`<-d&Ja{WOvko-!6;JeNOvyS#%!s zc?SJ{pO+7ZvgphjA5T;ko#}&Ji_TkQ_471RvH0-&$;q4PKwu=!$&Io)hA$ZOCx}6U z*Jbt2UCZh9?sHp~=J+o1599(a0XRx3i~RU2M9$yUJb75Vqi$35T~fQz^FG*S8Uq~H_9-Xb;)k%HXV8^kU_q;P@~y9kkj+}LZxE;Kcf zIBquU$5s$K50QfW*g1$4j)`Kg5SxNXL2m3NVv`Ul9F-nB3z32_wv1Q?A_cG1*bBtY zK%^i)b{ZlDRcdSru~QH!$c;TmEDe#u5xFs+j}%JrnBW~ye59)NG+q{|g8?nZjYc-s z*;(f^TCw@rk&*38TbnQzYHek%o}O(!qZPBq1_vvXcour0L`%#5^RnA3d`9<}Fl4n> zqb3s@$99t#{z(E`3t~k)MeP3`E|^I(`WrYL*P-rgEt5$OQ) s(9voZtTi01^3PfF(dxf_k&f_x07q}F_v6x0BLDyZ07*qoM6N<$g1drNhyVZp diff --git a/res/screen-density-xhigh/00_circle_button.png b/res/screen-density-xhigh/00_circle_button.png new file mode 100644 index 0000000000000000000000000000000000000000..38283e28f659fe7c5e5192b0ffe4149956416c16 GIT binary patch literal 7659 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 K4BV{i8v9?Nqdw;V literal 0 HcmV?d00001 diff --git a/res/screen-density-xhigh/I01_field_btn_Clear_Press.png b/res/screen-density-xhigh/I01_field_btn_Clear_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d4c03d179e147b38c1f4ffbfb2923eeefcb6ab GIT binary patch literal 3318 zcmVjzP)004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( 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 bNeg8Am5w&g5>82f31FaOs@ - + + @@ -45,7 +46,7 @@ diff --git a/res/screen-size-normal/IDL_ADD_BOOKMARK.xml b/res/screen-size-normal/IDL_ADD_BOOKMARK.xml old mode 100755 new mode 100644 index 0919e02..c6dbac9 --- a/res/screen-size-normal/IDL_ADD_BOOKMARK.xml +++ b/res/screen-size-normal/IDL_ADD_BOOKMARK.xml @@ -1,73 +1,73 @@ - - - - - - 720 -
- - - - -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ + + + + + 720 +
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/res/screen-size-normal/IDL_SETTING_FORM.xml b/res/screen-size-normal/IDL_SETTING_FORM.xml index 40da3c7..ec57f7d 100644 --- a/res/screen-size-normal/IDL_SETTING_FORM.xml +++ b/res/screen-size-normal/IDL_SETTING_FORM.xml @@ -4,7 +4,7 @@ --> - + 720
@@ -12,11 +12,11 @@
- +
- +
diff --git a/src/IntAddBookmarkForm.cpp b/src/IntAddBookmarkForm.cpp index d2cd781..98847a1 100644 --- a/src/IntAddBookmarkForm.cpp +++ b/src/IntAddBookmarkForm.cpp @@ -44,7 +44,7 @@ using namespace Tizen::Ui::Scenes; static const int LIST_ITEM_HEIGHT = 112; static const int H_ITEM_HEIGHT = 112; -static const int H_TITLE_ITEM_HEIGHT = 150; +static const int H_TITLE_ITEM_HEIGHT = 150; static const wchar_t* IDB_LIST_LEFT_SIDE = L"ListLeftSide.png"; const int AddBookmarkForm::IDA_CREATE_BOOKMARK_FOLDER = 101; @@ -361,7 +361,7 @@ AddBookmarkForm::OnActionPerformed(const Control& source, int actionId) AppLog("AddBookmarkForm::OnActionPerformed does url exist 2"); if ( exist == true) { - String msg = CommonUtil::GetString(L"IDS_BR_POP_ALREADY_EXISTS"); + String msg = CommonUtil::GetString(L"IDS_BR_POP_BOOKMARK_ALREADY_EXISTS"); CreateMessage(msg); AppLogDebug("Bookmark already exists"); @@ -633,8 +633,8 @@ AddBookmarkForm::CreateItem(int index, int itemWidth) pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, CUSTOM_COLOR_SETTINGS_LISTITEM_BACKGROUND); - pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, ITEM_BACKGROUND_COLOR_HIGHLIGHTED); - pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_HIGHLIGHTED, ITEM_BACKGROUND_COLOR_HIGHLIGHTED); + pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, ITEM_BACKGROUND_COLOR_HIGHLIGHTED); + pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_HIGHLIGHTED, ITEM_BACKGROUND_COLOR_HIGHLIGHTED); pItem->SetMainText(CommonUtil::GetString(L"IDS_BR_HEADER_FOLDER")); pItem->SetSubText(__folderName); pItem->Make(); diff --git a/src/IntAddressbar.cpp b/src/IntAddressbar.cpp index 4bfdb7f..e8efe0e 100644 --- a/src/IntAddressbar.cpp +++ b/src/IntAddressbar.cpp @@ -73,7 +73,7 @@ Addressbar::Addressbar(void) __isClipboardOpen = false; __isKeyboardConnected = false; __isKeyPadOpened = false; - __isAppBackGround = false; + __isAppBackGround = false; } Addressbar::~Addressbar(void) @@ -624,19 +624,19 @@ void Addressbar::OnFocusGained(const Control& source) { AppLog("XYZ::Addressbar::OnFocusGained"); - if(__pAddressbarUrlField && __isAppBackGround == false) - { - String removedHttpUrl = RemoveHttpTextFromDisplayURL(); - if (removedHttpUrl.IsEmpty() == false) - { - __pAddressbarUrlField->SetText(removedHttpUrl); - } - else - { - __pAddressbarUrlField->SetText(__displayUrl); - } - } - + if(__pAddressbarUrlField && __isAppBackGround == false) + { + String removedHttpUrl = RemoveHttpTextFromDisplayURL(); + if (removedHttpUrl.IsEmpty() == false) + { + __pAddressbarUrlField->SetText(removedHttpUrl); + } + else + { + __pAddressbarUrlField->SetText(__displayUrl); + } + } + if(__pAddressbarUrlField != null) { __pAddressbarUrlField->SetCursorPosition(__pAddressbarUrlField->GetTextLength()); @@ -659,7 +659,7 @@ void Addressbar::OnFocusLost(const Tizen::Ui::Control& source) { AppLog("XYZ::Addressbar::OnFocusLost"); - + // __editTextUrl = L""; if(__pListener != null) { @@ -708,18 +708,23 @@ bool Addressbar::HasCurrentFocus() { return __pAddressbarUrlField->HasFocus(); -} - - -void -Addressbar::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs) -{ - if (requestId == BACK_GROUND_APP_EVENT) - { - __isAppBackGround = true; - } - else if(requestId == FORE_GROUND_APP_EVENT) - { - __isAppBackGround = false; - } +} + +void +Addressbar::HideKeypad() +{ + __pAddressbarUrlField->HideKeypad(); +} + +void +Addressbar::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs) +{ + if (requestId == BACK_GROUND_APP_EVENT) + { + __isAppBackGround = true; + } + else if(requestId == FORE_GROUND_APP_EVENT) + { + __isAppBackGround = false; + } } diff --git a/src/IntBookmarkListForm.cpp b/src/IntBookmarkListForm.cpp index a78af94..bff61d5 100644 --- a/src/IntBookmarkListForm.cpp +++ b/src/IntBookmarkListForm.cpp @@ -135,8 +135,6 @@ BookmarkListForm::OnInitializing(void) result r = E_SUCCESS; HeaderItem bookmark; HeaderItem history; - Bitmap *pBitmapNormal = null; - Bitmap *pBitmapPressed = null; Header *pHeader = GetHeader(); Bitmap *pIconBitmap = null; AppResource* pAppResource = UiApp::GetInstance()->GetAppResource(); @@ -163,45 +161,22 @@ BookmarkListForm::OnInitializing(void) __pItemContextFolder = new(std::nothrow) ListContextItem(); __pItemContextFolder->Construct(); __pItemContextFolder->AddElement(IDA_CONTEXT_ITEM_FOLDER_EDIT, CommonUtil::GetString(L"IDS_BR_SK_EDIT")); - pBitmapNormal = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete.9.png", WIDTH_CONTEXT_MENU_TWO_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON); - pBitmapPressed = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete_press.9.png", WIDTH_CONTEXT_MENU_TWO_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON); - if (pBitmapNormal != null && pBitmapPressed != null) - { - __pItemContextFolder->AddElement(IDA_CONTEXT_ITEM_FOLDER_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), *pBitmapNormal, *pBitmapPressed, pBitmapPressed); - } - - if (pBitmapNormal != null) - { - delete pBitmapNormal; - } - - if (pBitmapPressed != null) - { - delete pBitmapPressed; - } + __pItemContextFolder->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR); + __pItemContextFolder->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR); + __pItemContextFolder->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR); + __pItemContextFolder->AddElement(IDA_CONTEXT_ITEM_FOLDER_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), true); __pItemContextSite = new(std::nothrow) ListContextItem(); __pItemContextSite->Construct(); __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_EDIT, CommonUtil::GetString(L"IDS_BR_SK_EDIT")); __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_SHARE, CommonUtil::GetString(L"IDS_BR_OPT_SHARE")); - pBitmapNormal = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete.9.png", WIDTH_CONTEXT_MENU_THREE_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON); - pBitmapPressed = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete_press.9.png", WIDTH_CONTEXT_MENU_THREE_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON); - if (pBitmapNormal != null && pBitmapPressed != null) - { - __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), *pBitmapNormal, *pBitmapPressed, pBitmapPressed); - } + __pItemContextSite->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), true); + __pItemContextSite->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR); + __pItemContextSite->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR); + __pItemContextSite->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR); - if (pBitmapNormal != null) - { - delete pBitmapNormal; - } - - if (pBitmapPressed != null) - { - delete pBitmapPressed; - } __pListview = static_cast< ListView* >(GetControl("IDC_LISTVIEW1")); if (__pListview == null) @@ -357,8 +332,8 @@ BookmarkListForm::OnActionPerformed(const Tizen::Ui::Control& source, int action break; case IDA_TABBAR_ITEM_2: { - GetHeader()->SetItemSelected(0); - GetHeader()->Invalidate(true); + // GetHeader()->SetItemSelected(0); + // GetHeader()->Invalidate(true); SceneManager* pSceneManager = SceneManager::GetInstance(); @@ -720,11 +695,16 @@ BookmarkListForm::GetItemCount(void) } else { + if (__searchText.GetLength() > 0) + { + __searchText.Replace(L"%", L"/%"); + __searchText.Replace(L"_", L"/_"); + } BookmarkPresentationModel::GetInstance()->GetSearchFolderBookmarkCount(count,__searchText); BookmarkPresentationModel::GetInstance()->GetSearchFoldersBookmarks(0, count, *__pData, __searchText); } - AppLogDebug("Count = %d parentId = %ls", count, __parentID.GetPointer()); + AppLogDebug("Count = %d parentId = %ls __searchText %ls", count, __parentID.GetPointer() , __searchText.GetPointer()); if (count <= 0) { @@ -1103,7 +1083,7 @@ BookmarkListForm::OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui: } __searchText = __pSearchBar->GetText(); - AppLog("SearchbarGettext result %s",GetErrorMessage(GetLastResult())); + AppLog("SearchbarGettext result %s %ls",GetErrorMessage(GetLastResult()),__searchText.GetPointer()); __searchBookmark = true; __pListview->SetShowState(false); __pSearchListView->SetEnabled(true); diff --git a/src/IntBookmarkPresentationModel.cpp b/src/IntBookmarkPresentationModel.cpp index c08130b..65d269a 100644 --- a/src/IntBookmarkPresentationModel.cpp +++ b/src/IntBookmarkPresentationModel.cpp @@ -725,7 +725,8 @@ BookmarkPresentationModel::GetSearchBookmarkCount(int& searchBookmarkCount, Stri query.Append(" OR "); query.Append(L"ADDRESS LIKE '%"); query.Append(text); - query.Append("%')"); + query.Append("%'"); + query.Append(" ESCAPE '/')"); query.Append(" AND ADDRESS != ''"); r = BookmarkPresentationModel::ExecuteQuery(query, count); @@ -740,7 +741,10 @@ BookmarkPresentationModel::GetSearchBookmarkCount(int& searchBookmarkCount, Stri } searchBookmarkCount = intVal; - CATCH: return r; + CATCH: + text.Replace(L"''", L"'"); + return r; + } @@ -761,6 +765,7 @@ BookmarkPresentationModel::GetSearchFolderCount(int& searchFolderCount, String& query.Append(L" WHERE TITLE LIKE '%"); query.Append(text); query.Append("%'"); + query.Append(" ESCAPE '/'"); query.Append(" AND ADDRESS = ''"); r = BookmarkPresentationModel::ExecuteQuery(query, count); @@ -775,7 +780,9 @@ BookmarkPresentationModel::GetSearchFolderCount(int& searchFolderCount, String& } searchFolderCount = intVal; - CATCH: return r; + CATCH: + text.Replace(L"''", L"'"); + return r; } @@ -811,11 +818,11 @@ BookmarkPresentationModel::GetSearchBookmark(int startIndex, int limit, ArrayLis query.Append(bookmarkTable); query.Append(L" WHERE ((TITLE LIKE '%"); query.Append(text); - query.Append("%')"); + query.Append("%' ESCAPE '/')"); query.Append(" OR "); query.Append(L"(ADDRESS LIKE '%"); query.Append(text); - query.Append("%'))"); + query.Append("%' ESCAPE '/') )"); query.Append(" AND (ADDRESS != '')"); //Append LIMIT if (limit > 0) @@ -837,7 +844,9 @@ BookmarkPresentationModel::GetSearchBookmark(int startIndex, int limit, ArrayLis r = CreateBookmarkList(count, pBookmarkList); TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r)); - CATCH: return r; + CATCH: + text.Replace(L"''", L"'"); + return r; } result @@ -855,6 +864,7 @@ BookmarkPresentationModel::GetSearchFolder(int startIndex, int limit, ArrayList& query.Append(text); //query.Append("%')"); query.Append("%'"); + query.Append(" ESCAPE '/'"); query.Append(" AND ADDRESS = ''"); //Append LIMIT @@ -877,7 +887,9 @@ BookmarkPresentationModel::GetSearchFolder(int startIndex, int limit, ArrayList& r = CreateFolderList(count, pFolderList); TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r)); - CATCH: return r; + CATCH: + text.Replace(L"''", L"'"); + return r; } result diff --git a/src/IntCommonLib.cpp b/src/IntCommonLib.cpp index 5995da8..7a63024 100644 --- a/src/IntCommonLib.cpp +++ b/src/IntCommonLib.cpp @@ -209,7 +209,6 @@ int CommonUtil::GetFontSize(void) { int fontSize = FONT_MAIN_TEXT_SIZE_NORMAL; - return fontSize; String fontSizeValue; if (SettingInfo::GetValue(SETTING_INFO_KEY_FONT_SIZE, fontSizeValue) == E_SUCCESS) diff --git a/src/IntDefaultCustomItem.cpp b/src/IntDefaultCustomItem.cpp index c8a6d52..53209c0 100644 --- a/src/IntDefaultCustomItem.cpp +++ b/src/IntDefaultCustomItem.cpp @@ -22,6 +22,7 @@ */ #include +#include "IntCommonLib.h" #include "IntDefaultCustomItem.h" #include "IntTypes.h" @@ -47,6 +48,7 @@ result DefaultCustomItem::Construct(int width, int height) { result r = E_FAILURE; + __fontSize = CommonUtil::GetFontSize(); __width = width; __height = height; const Dimension dim(width, height); @@ -78,7 +80,7 @@ DefaultCustomItem::Make(void) const int y_Margin_Element = 26; const int width_Element = __width - 60; - r = AddElement(Rectangle(x_Margin_Element, y_Margin_Element, width_Element,60), IDA_FORMAT_STRING, __text, textSize, CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true); + r = AddElement(Rectangle(x_Margin_Element, y_Margin_Element, width_Element,60 + (__fontSize - 44)), IDA_FORMAT_STRING, __text, __fontSize , CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,CUSTOM_COLOR_TRANSPARENT,true); TryCatch( !IsFailed(r),,"DefaultCustomItem::Make %s",GetErrorMessage(r)); // SetElementSelectionEnabled(IDA_FORMAT_STRING, true); diff --git a/src/IntDropDownCustomItem.cpp b/src/IntDropDownCustomItem.cpp index 17c10c6..760dab3 100644 --- a/src/IntDropDownCustomItem.cpp +++ b/src/IntDropDownCustomItem.cpp @@ -24,6 +24,7 @@ #include #include +#include "IntCommonLib.h" #include "IntDropDownCustomItem.h" #include "IntTypes.h" @@ -32,10 +33,10 @@ using namespace Tizen::Base; using namespace Tizen::Graphics; using namespace Tizen::Ui::Controls; -static const wchar_t* IDB_LIST_EXPAND_CLOSED = L"00_circle_button_Expand_closed.png"; -static const wchar_t* IDB_LIST_EXPAND_CLOSED_PRESS = L"00_list_expand_closed_press.png"; -static const wchar_t* IDB_LIST_EXPAND_OPENED = L"00_circle_button_Expand_open.png"; -static const wchar_t* IDB_LIST_EXPAND_OPENED_PRESS = L"00_list_expand_opened_press.png"; +static const wchar_t* IDB_LIST_EXPAND_CLOSED = L"00_button_expand_closed.png"; +static const wchar_t* IDB_LIST_EXPAND_CLOSED_PRESS = L"00_button_expand_closed_press.png"; +static const wchar_t* IDB_LIST_EXPAND_OPENED = L"00_button_expand_opened.png"; +static const wchar_t* IDB_LIST_EXPAND_OPENED_PRESS = L"00_button_expand_opened_press.png"; const int DropDownCustomItem::IDA_FORMAT_BITMAP = 101; const int DropDownCustomItem::IDA_FORMAT_MAIN_STRING = 102; @@ -62,7 +63,8 @@ DropDownCustomItem::Construct(int width) { result r = E_SUCCESS; __width = width; - __height = 140; + __fontSize = CommonUtil::GetFontSize(); + __height = 140 + (__fontSize - 44); Dimension dim(__width, __height); r = CustomItem::Construct(dim, LIST_ANNEX_STYLE_NORMAL); return r; @@ -107,7 +109,7 @@ DropDownCustomItem::Make() Tizen::Graphics::Bitmap* pDropperBitmapPressed = null; pMainEnText = new(std::nothrow) EnrichedText(); - r = pMainEnText->Construct(Dimension(__width - 80, 54)); + r = pMainEnText->Construct(Dimension(__width - 80, 54 + (__fontSize - 44))); if(IsFailed(r)) { delete pMainEnText; @@ -117,7 +119,7 @@ DropDownCustomItem::Make() pMainTextElement = new(std::nothrow) TextElement(); pMainTextElement->Construct(__mainText); - mainTextFont.Construct(FONT_STYLE_BOLD, 44); + mainTextFont.Construct(FONT_STYLE_BOLD, __fontSize); Color pressedTextColor = CUSTOM_COLOR_LISTVIEW_TEXT; pMainTextElement->SetFont(mainTextFont); @@ -144,8 +146,8 @@ DropDownCustomItem::Make() pSubTextElement->SetTextColor(CUSTOM_COLOR_GREY); pSubEnText->Add(*pSubTextElement); - r = AddElement(Rectangle(26, 22, __width - 126, 54), IDA_FORMAT_MAIN_STRING, *pMainEnText); - r = AddElement(Rectangle(26, 76, __width - 126, 42), IDA_FORMAT_SUB_STRING, *pSubEnText); + r = AddElement(Rectangle(26, 22, __width - 126, 54 + (__fontSize - 44)), IDA_FORMAT_MAIN_STRING, *pMainEnText); + r = AddElement(Rectangle(26, 76 + (__fontSize - 44), __width - 126, 42), IDA_FORMAT_SUB_STRING, *pSubEnText); if(IsFailed(r)) { pMainEnText->RemoveAll(true); @@ -168,7 +170,7 @@ DropDownCustomItem::Make() pDropperBitmapPressed = pAppResource->GetBitmapN(IDB_LIST_EXPAND_OPENED_PRESS, BITMAP_PIXEL_FORMAT_ARGB8888); } - AddElement(Rectangle(__width - pDropperBitmapNormal->GetWidth() - 12, (__height - 74) / 2, 74, 74), IDA_FORMAT_DROPPER, *pDropperBitmapNormal, pDropperBitmapNormal, pDropperBitmapNormal); + AddElement(Rectangle(__width - pDropperBitmapNormal->GetWidth() - 12, (__height - pDropperBitmapNormal->GetHeight()) / 2 + (__fontSize - 44)/2, pDropperBitmapNormal->GetWidth(), pDropperBitmapNormal->GetHeight()), IDA_FORMAT_DROPPER, *pDropperBitmapNormal, pDropperBitmapNormal, pDropperBitmapNormal); delete pDropperBitmapNormal; delete pDropperBitmapPressed; } diff --git a/src/IntEditBookmarkListForm.cpp b/src/IntEditBookmarkListForm.cpp index db4a3f8..f9dbe6e 100644 --- a/src/IntEditBookmarkListForm.cpp +++ b/src/IntEditBookmarkListForm.cpp @@ -192,6 +192,28 @@ EditBookmarkListForm::OnActionPerformed(const Tizen::Ui::Control& source, int ac switch (actionId) { case IDA_DELETEITEM_CLICKED: + if (!__pConfirmationPopup) + { + String closeWarning = CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"); + __pConfirmationPopup = new(std::nothrow) ConfirmationPopup(); + __pConfirmationPopup->Initialize(); + + __pConfirmationPopup->RemoveActionListener(*this); + __pConfirmationPopup->AddActionListener(*this); + __pConfirmationPopup->setMessage(closeWarning); + __pConfirmationPopup->Show(); + } + break; + case IDA_BUTTON_NO: + __pConfirmationPopup->SetShowState(false); + __pConfirmationPopup->Show(); + if(__pConfirmationPopup) + { + delete __pConfirmationPopup; + __pConfirmationPopup = null; + } + break; + case IDA_BUTTON_YES: { String labelString; int count = 0; @@ -282,7 +304,11 @@ EditBookmarkListForm::OnActionPerformed(const Tizen::Ui::Control& source, int ac pNotification->SetText(notification); pNotification->ShowNotification(); - + if(__pConfirmationPopup) + { + delete __pConfirmationPopup; + __pConfirmationPopup = null; + } if( __pListview->GetItemCount() == 0) { __pTimer->Start(1000); @@ -707,8 +733,6 @@ EditBookmarkListForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& labelString.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , __selectedItemCount); } - - __pInfoLabel->SetText(labelString); __pInfoPanel->Draw(); __pInfoPanel->Show(); diff --git a/src/IntEditHistoryListForm.cpp b/src/IntEditHistoryListForm.cpp index 514eb6a..c9a6425 100644 --- a/src/IntEditHistoryListForm.cpp +++ b/src/IntEditHistoryListForm.cpp @@ -63,6 +63,7 @@ EditHistoryListForm::EditHistoryListForm(void) ,__selectedCount(0) ,__isNoHistoryPresent(true) ,__fontSize(44) +,__pConfirmationPopup(null) { } @@ -205,7 +206,16 @@ EditHistoryListForm::OnActionPerformed(const Tizen::Ui::Control& source, int act selectedText.Append(L"("); selectedText.Append(selectedCount); selectedText.Append(L")");*/ - selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , selectedCount); + + if (selectedCount >1) + { + selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_POP_PD_ITEMS_SELECTED").GetPointer() , selectedCount); + } + else + { + selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , selectedCount); + } + __selectedCount = selectedCount; __pSelectedLabel->SetText(selectedText); @@ -250,8 +260,30 @@ EditHistoryListForm::OnActionPerformed(const Tizen::Ui::Control& source, int act } break; case IDA_DELETE_HISTORY: - { + if (!__pConfirmationPopup) + { + String closeWarning = CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"); + __pConfirmationPopup = new(std::nothrow) ConfirmationPopup(); + __pConfirmationPopup->Initialize(); + + __pConfirmationPopup->RemoveActionListener(*this); + __pConfirmationPopup->AddActionListener(*this); + __pConfirmationPopup->setMessage(closeWarning); + __pConfirmationPopup->Show(); + } + break; + case IDA_BUTTON_NO: + __pConfirmationPopup->SetShowState(false); + __pConfirmationPopup->Show(); + if(__pConfirmationPopup) + { + delete __pConfirmationPopup; + __pConfirmationPopup = null; + } + break; + case IDA_BUTTON_YES: + { ArrayList* pArrayList = new(std::nothrow) ArrayList(); int itemCount = 0; int count = 0; @@ -318,7 +350,7 @@ EditHistoryListForm::OnActionPerformed(const Tizen::Ui::Control& source, int act GetFooter()->SetItemEnabled(0,false); GetFooter()->Invalidate(true); //selectedText.Append(L"\x200E"); // LEFT-TO-RIGHT MARK - // selectedText.Append(L"(0)"); + // selectedText.Append(L"(0)"); selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , 0); __pSelectedLabel->SetText(selectedText); __selectedCount = 0; @@ -332,6 +364,12 @@ EditHistoryListForm::OnActionPerformed(const Tizen::Ui::Control& source, int act String notification = CommonUtil::GetString(L"IDS_BR_POP_DELETED"); pNotification->SetText(notification); pNotification->ShowNotification(); + if(__pConfirmationPopup) + { + delete __pConfirmationPopup; + __pConfirmationPopup = null; + } + } break; case IDA_CANCEL: @@ -784,7 +822,15 @@ EditHistoryListForm::OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::Grou } GetFooter()->Invalidate(true); - selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , __selectedCount); + + if (__selectedCount >1) + { + selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_POP_PD_ITEMS_SELECTED").GetPointer() , __selectedCount); + } + else + { + selectedText.Format(25, CommonUtil::GetString(L"IDS_BR_BODY_PD_ITEM_SELECTED").GetPointer() , __selectedCount); + } __pSelectedLabel->SetText(selectedText); __pSelectedLabel->Invalidate(true); @@ -1159,7 +1205,7 @@ EditHistoryListForm::CreateGroupItems(void) } pGroupItemClass = new(std::nothrow) GroupItemClass(); - pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_EMAIL_BODY_LAST_MONTH"); + pGroupItemClass->__titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_MONTH"); pGroupItemClass->__endTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1); pGroupItemClass->__endTime.AddDays(-1); pGroupItemClass->__startTime.SetValue(currentTime.GetYear(), 1, 1); diff --git a/src/IntHistoryListForm.cpp b/src/IntHistoryListForm.cpp index 5fe41f4..8f6cef6 100644 --- a/src/IntHistoryListForm.cpp +++ b/src/IntHistoryListForm.cpp @@ -276,9 +276,9 @@ HistoryListForm::OnActionPerformed(const Control& source, int actionId) break; case IDA_TABBAR_ITEM_1: { - result r = GetHeader()->SetItemSelected(1); - AppLog("SetItemSelected result %s",GetErrorMessage(r)); - GetHeader()->Invalidate(true); + // result r = GetHeader()->SetItemSelected(1); + // AppLog("SetItemSelected result %s",GetErrorMessage(r)); + // GetHeader()->Invalidate(true); if (pSceneManager != null) { @@ -468,7 +468,7 @@ HistoryListForm::CreateGroupItem(int groupIndex, int itemWidth) if (pGroupItemClass->GetTitleText() == CommonUtil::GetString(L"IDS_BR_BODY_LAST_WEEK") || pGroupItemClass->GetTitleText() == weeksAgo2 - || pGroupItemClass->GetTitleText() == weeksAgo3 || pGroupItemClass->GetTitleText() == weeksAgo4 || pGroupItemClass->GetTitleText() == CommonUtil::GetString(L"IDS_BR_EARLIER_THIS_MONTH") || pGroupItemClass->GetTitleText() == CommonUtil::GetString(L"IDS_EMAIL_BODY_LAST_MONTH") || pGroupItemClass->GetTitleText() == CommonUtil::GetString(L"IDS_BR_BODY_OLDER")) + || pGroupItemClass->GetTitleText() == weeksAgo3 || pGroupItemClass->GetTitleText() == weeksAgo4 || pGroupItemClass->GetTitleText() == CommonUtil::GetString(L"IDS_BR_EARLIER_THIS_MONTH") || pGroupItemClass->GetTitleText() == CommonUtil::GetString(L"IDS_BR_BODY_LAST_MONTH") || pGroupItemClass->GetTitleText() == CommonUtil::GetString(L"IDS_BR_BODY_OLDER")) { text.Append(L" - "); text.Append(pGroupItemClass->GetEndTime().GetDay()); @@ -677,7 +677,7 @@ HistoryListForm::GetGroupCount(void) int count = 0; DateTime startTime; DateTime endTime; - HistoryPresentationModel::GetCurrentDateTime(endTime);; + HistoryPresentationModel::GetCurrentDateTime(endTime); startTime.SetValue(0,0,0); @@ -835,7 +835,12 @@ HistoryListForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId } int count = 0; - HistoryPresentationModel::GetInstance()->GetHistoryCount(count); + DateTime startTime; + DateTime endTime; + HistoryPresentationModel::GetCurrentDateTime(endTime);; + + startTime.SetValue(0,0,0); + HistoryPresentationModel::GetInstance()->GetHistoryCountWithTimeRange(startTime,endTime,count); if (count == 0) { __pSearchBar->SetShowState(false); @@ -1824,7 +1829,7 @@ HistoryListForm::CreateGroupItems() { return; } - titleText = CommonUtil::GetString(L"IDS_EMAIL_BODY_LAST_MONTH"); + titleText = CommonUtil::GetString(L"IDS_BR_BODY_LAST_MONTH"); pGroupItemClass->SetTitleText(titleText); dateTime.SetValue(currentTime.GetYear(),currentTime.GetMonth(), 1); dateTime.AddDays(-1); diff --git a/src/IntHistoryPresentationModel.cpp b/src/IntHistoryPresentationModel.cpp index 6c592c6..07d7f58 100644 --- a/src/IntHistoryPresentationModel.cpp +++ b/src/IntHistoryPresentationModel.cpp @@ -948,6 +948,9 @@ HistoryPresentationModel::CreateHistoryList(int historyCount, ArrayList& history result HistoryPresentationModel::GetSearchHistory(const int startIndex,const int limit, ArrayList& pHistoryList, String& text) { + DateTime endTime; + SystemTime::GetCurrentTime(endTime); + text.Replace(L"'", L"''"); int count = -1; @@ -973,24 +976,33 @@ HistoryPresentationModel::GetSearchHistory(const int startIndex,const int limit, query.Append("%')"); query.Append(" ORDER BY VISITDATE DESC"); - //Append LIMIT - if (limit > 0) - { - query.Append(" LIMIT "); - query.Append(limit); - //Append OFFESET - if (startIndex >= 0) + r = HistoryPresentationModel::ExecuteQuery(query, count); +// TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchHistory query failed %s",GetErrorMessage(r)); + + ArrayList pAllSearchList; + + r = CreateHistoryList(count, pAllSearchList); + + int itemsFoundIndex = -1; + for (int counter = 0 ; counter < count; counter++) + { + History *pHistory = dynamic_cast(pAllSearchList.GetAt(counter)); + if(pHistory != null && pHistory->GetVisitedTime().CompareTo(endTime) < 0) { - query.Append(" OFFSET "); - query.Append(startIndex); + itemsFoundIndex++; + if(itemsFoundIndex >= startIndex && itemsFoundIndex < (limit + startIndex)) + { + pHistoryList.Add(*pHistory); + } + else if(itemsFoundIndex > (limit + startIndex)) + { + break; + } } } - r = HistoryPresentationModel::ExecuteQuery(query, count); - TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchHistory query failed %s",GetErrorMessage(r)); - r = CreateHistoryList(count, pHistoryList); if (IsFailed(r)) { AppLogDebug("Error:CreateNoteList:failed:%s", GetErrorMessage(r)); @@ -1001,41 +1013,55 @@ HistoryPresentationModel::GetSearchHistory(const int startIndex,const int limit, result HistoryPresentationModel::GetSearchHistoryCount(int& historyCount, String& text) { + DateTime endTime; + SystemTime::GetCurrentTime(endTime); + text.Replace(L"'", L"''"); + int count = -1; - int intVal = -1; String query; String historyTable(HISTORY_DATA_TABLE); result r = E_FAILURE; - bool nextRowPresent = false; - text.Replace(L"'", L"''"); - query.Append(L"SELECT COUNT(ID) FROM "); + query.Append(L"SELECT "); + query.Append(historyTable); + query.Append(L".* "); + query.Append(L"FROM "); query.Append(historyTable); - query.Append(L" WHERE (TITLE LIKE '%"); + query.Append(L" WHERE ("); + query.Append(historyTable); + query.Append(L".TITLE LIKE '%"); query.Append(text); query.Append("%')"); query.Append(" OR "); - query.Append(L"(ADDRESS LIKE '%"); + query.Append(L"("); + query.Append(historyTable); + query.Append(L".ADDRESS LIKE '%"); query.Append(text); query.Append("%')"); + query.Append(" ORDER BY VISITDATE DESC"); r = HistoryPresentationModel::ExecuteQuery(query, count); - TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchHistoryCount query failed %s",GetErrorMessage(r)); +// TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchHistory query failed %s",GetErrorMessage(r)); - r = HistoryPresentationModel::DbIsNextRowPresent(nextRowPresent); - if (IsFailed(r) != null) - return r; - if (nextRowPresent == true) + ArrayList pAllSearchList; + + r = CreateHistoryList(count, pAllSearchList); + + historyCount = 0; + for (int counter = 0 ; counter < count; counter++) { - r = HistoryPresentationModel::GetColumn(0, intVal); - if (IsFailed(r) != null) + History *pHistory = dynamic_cast(pAllSearchList.GetAt(counter)); + if(pHistory != null && pHistory->GetVisitedTime().CompareTo(endTime) < 0) { - AppLogDebug("Error:HistoryPresentationModel::DbGetColumn:%s", GetErrorMessage(r)); - return r; + historyCount++; } } - historyCount = intVal; + + if (IsFailed(r)) + { + AppLogDebug("Error:CreateNoteList:failed:%s", GetErrorMessage(r)); + } CATCH: return r; } diff --git a/src/IntInternetApp.cpp b/src/IntInternetApp.cpp index 72f8294..d0a380a 100644 --- a/src/IntInternetApp.cpp +++ b/src/IntInternetApp.cpp @@ -40,6 +40,8 @@ using namespace Tizen::Ui; using namespace Tizen::Ui::Controls; using namespace Tizen::Ui::Scenes; +const int MIN_MEMORY_NEEDED = 1048576; + InternetApp::InternetApp(void) : __pMultiWindowManager(NULL),__pNewWindowInfo(null) { @@ -107,6 +109,20 @@ InternetApp::OnAppInitialized(void) { result r = E_SUCCESS; + long long mem = GetAvailableMemory(); + AppLogDebug("%lld",mem); + if(mem < MIN_MEMORY_NEEDED) + { + MessageBox LowMemory; + String msg = L""; + LowMemory.Construct(CommonUtil::GetString(L"IDS_LOW_MEMORY_MSG_TITLE"), CommonUtil::GetString(L"IDS_LOW_MEMORY_MSG"), MSGBOX_STYLE_NONE,1000); + int modalResult = 0; + // Calls ShowAndWait() : Draws and Shows itself and processes events + LowMemory.ShowAndWait(modalResult); + + return false; + + } String title1 = L"URL1"; String title2 = L"URL2"; String folder1 = L"Folder 1"; @@ -123,18 +139,21 @@ InternetApp::OnAppInitialized(void) __pMultiWindowManager = MultipleWindowPresentationModel::GetInstance(); AppLogDebug("window count %d",__pMultiWindowManager->GetAllWindowArrayList()->GetCount()); + + + // Create a Frame + MainFrame* pSceneManagementFrame = new(std::nothrow) MainFrame(); + pSceneManagementFrame->Construct(); + pSceneManagementFrame->SetName(L"SceneManagement"); + AddFrame(*pSceneManagementFrame); // Goto the first scene. + SceneManager* pSceneManager = SceneManager::GetInstance(); if (pSceneManager == null) { AppLogDebug("pSceneManager is null returning"); return false; } - // Create a Frame - MainFrame* pSceneManagementFrame = new(std::nothrow) MainFrame(); - pSceneManagementFrame->Construct(); - pSceneManagementFrame->SetName(L"SceneManagement"); - AddFrame(*pSceneManagementFrame); String homePage = SettingPresentationModel::GetInstance()->GetHomepage(); if (homePage == (L"IDS_BR_BODY_MOST_VISITED_SITES") || homePage == (L"IDS_BR_BODY_BLANK_PAGE")) @@ -339,3 +358,20 @@ InternetApp::OnAppControlRequestReceived(RequestId reqId, const String &operatio return; } + +long long +InternetApp::GetAvailableMemory(void) +{ + result r = E_SUCCESS; + + String key(L"http://tizen.org/runtime/storage.available.internal"); + long long allocatedMemory = 0; + + r = RuntimeInfo::GetValue(key, allocatedMemory); + TryCatch(r == E_SUCCESS, , "MyRuntimeInfo: Failed to get value"); + + return allocatedMemory; + + CATCH: + return 0; +} diff --git a/src/IntMainForm.cpp b/src/IntMainForm.cpp index 56d277a..8586605 100644 --- a/src/IntMainForm.cpp +++ b/src/IntMainForm.cpp @@ -32,7 +32,6 @@ #include "IntFaviconManager.h" #include "IntInternetApp.h" #include "IntMainForm.h" -#include "IntNotificationPanel.h" #include "IntSceneRegister.h" #include "IntSettingPresentationModel.h" @@ -213,7 +212,7 @@ MainForm::MainForm(void) __isWebKeypadOpened = false; __fontSize = 44; __isHwKeySupported = false; - + __pNotification = null; } MainForm::~MainForm(void) @@ -312,43 +311,21 @@ MainForm::OnInitializing(void) __pItemContext= new(std::nothrow) ListContextItem(); __pItemContext->Construct(); - Bitmap* pBitmapNormal = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete.9.png", WIDTH_CONTEXT_MENU_BUTTON,HEIGHT_CONTEXT_MENU_BUTTON); - Bitmap* pBitmapPressed = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete_press.9.png", WIDTH_CONTEXT_MENU_BUTTON, HEIGHT_CONTEXT_MENU_BUTTON); - if (pBitmapNormal != null && pBitmapPressed != null) - { - __pItemContext->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), *pBitmapNormal, *pBitmapPressed, pBitmapPressed); - } + __pItemContext->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"),true); - if (pBitmapNormal != null) - { - delete pBitmapNormal; - } - if (pBitmapPressed != null) - { - delete pBitmapPressed; - } + __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR); + __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR); + __pItemContext->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR); __pItemContextLandscape= new(std::nothrow) ListContextItem(); __pItemContextLandscape->Construct(); - pBitmapNormal = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete.9.png", WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE,HEIGHT_CONTEXT_MENU_BUTTON); - pBitmapPressed = CommonUtil::GetNinepatchedBitmapN(L"00_button_sweep_delete_press.9.png", WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE, HEIGHT_CONTEXT_MENU_BUTTON); - if (pBitmapNormal != null && pBitmapPressed != null) - { - __pItemContextLandscape->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), *pBitmapNormal, *pBitmapPressed, pBitmapPressed); - } - - if (pBitmapNormal != null) - { - delete pBitmapNormal; - } - - if (pBitmapPressed != null) - { - delete pBitmapPressed; - } + __pItemContextLandscape->AddElement(IDA_CONTEXT_ITEM_DELETE, CommonUtil::GetString(L"IDS_BR_SK_DELETE_ABB"), true); + __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL , CONTEXT_ITEM_DELETE_COLOR); + __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED , CONTEXT_ITEM_DELETE_COLOR); + __pItemContextLandscape->SetElementBackgroundColor(IDA_CONTEXT_ITEM_DELETE,LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED , CONTEXT_ITEM_DELETE_COLOR); SetFormMenuEventListener(this); return E_SUCCESS; } @@ -483,7 +460,9 @@ MainForm::InitWebControl() return E_FAILURE; const int Y_WEBCONTROL_POSITION = 0; - __webControlHeight = GetClientAreaBounds().height - __pFooterPanel->GetHeight(); + + __webControlHeight = GetHeight() - __pFooterPanel->GetHeight(); + if (__pMostVisitedListView) { __pMostVisitedListView->SetShowState(false); @@ -528,11 +507,11 @@ MainForm::InitWebControl() } __pWebViewer->SetLoadingListener(this); - __pWebViewer->SetWebUiEventListener(this); + __pWebViewer->SetWebUiEventListenerF(this); __pWebViewer->SetWebKeypadEventListener(this); __pWebViewer->SetFocus(); __pWebViewer->AddTouchEventListener(*this); - __pWebViewer->AddFocusEventListener(*this); + __pWebViewer->SetCookieEnabled(SettingPresentationModel::GetInstance()->IsCookiesEnabled()); __pWebViewer->SetTextSearchListener(this); } @@ -545,19 +524,6 @@ MainForm::InitWebControl() } void -MainForm::OnFocusGained(const Control& source) -{ - AppLog("MainForm::OnFocusGained"); - RelayoutControls(false); -} - -void -MainForm::OnFocusLost(const Control& source) -{ - AppLog("MainForm::OnFocusLost"); -} - -void MainForm::SetJavascriptEnabled() { WebSetting settings = __pWebViewer->GetSetting(); @@ -881,6 +847,10 @@ MainForm::InitImageLinkContextMenu(Tizen::Graphics::Point p) if(__pAddressbar->GetShowState() == true) p.y = p.y + __pAddressbar->GetHeight(); + if(GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT || GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT_REVERSE) + { + p.y = p.y + 54; + } __pImageMenu = new (std::nothrow) ContextMenu(); r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction); @@ -900,7 +870,57 @@ MainForm::InitImageLinkContextMenu(Tizen::Graphics::Point p) } result -MainForm::InitSelectTextContextMenu(Tizen::Graphics::Point p, bool pasteOption, bool onlyPasteOption = false) +MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOption = false) +{ + result r = E_SUCCESS; + ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO; + + AppLog("MainForm::InitSelectTextContextMenu clicked on text"); + if (__pImageMenu != null) + { + delete __pImageMenu; + __pImageMenu = null; + } + + if(p.y < 150) + { + p.y = p.y + 50; + direction = CONTEXT_MENU_ANCHOR_DIRECTION_DOWNWARD; + } + else + { + direction = CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD; + } + __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) + { + r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_OPT_COPY"),IDA_COPY_TEXT_CLICKED); + } + if (pasteOption || onlyPasteOption) + { + r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_COM_BODY_PASTE"),IDA_PASTE_TEXT_CLICKED); + } + if(onlyPasteOption == 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); + } + + __pImageMenu->SetMaxVisibleItemsCount(3); + __pImageMenu->AddActionEventListener(*this); + SetControlAlwaysOnTop(*__pImageMenu, true); + + CATCH: return r; + +} + + + +result +MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPasteOption = false) { result r = E_SUCCESS; ContextMenuAnchorDirection direction = CONTEXT_MENU_ANCHOR_DIRECTION_AUTO; @@ -1463,8 +1483,8 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { __pWebViewer->GoForward(); } - __pOptionMenu->SetShowState(false); - __pOptionMenu->Invalidate(false); + __pOptionMenu->SetShowState(false); + __pOptionMenu->Invalidate(false); break; case IDA_FINDONPAGE_CLICKED: @@ -1473,8 +1493,8 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) __currentSearchStr.Clear(); InitFindWordPanel(); - __pOptionMenu->SetShowState(false); - __pOptionMenu->Invalidate(false); + __pOptionMenu->SetShowState(false); + __pOptionMenu->Invalidate(false); ShowFindWordPanel(true); @@ -1539,11 +1559,11 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) __pAddressbar->UpdateFaviconBitmap(true); } } - - itemIndex = __pOptionMenu->GetItemIndexFromActionId(IDA_PRIVATEON_CLICKED); - r = __pOptionMenu->SetItemAt(itemIndex,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap); - AppLog("Result:: %s for index = %d", GetErrorMessage(r),itemIndex); - __pOptionMenu->Invalidate(true); + + itemIndex = __pOptionMenu->GetItemIndexFromActionId(IDA_PRIVATEON_CLICKED); + r = __pOptionMenu->SetItemAt(itemIndex,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap); + AppLog("Result:: %s for index = %d", GetErrorMessage(r),itemIndex); + __pOptionMenu->Invalidate(true); if ( pBitmap != NULL ) { delete pBitmap; @@ -1561,9 +1581,9 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) pArgList->Add(*__pWindowInfo); SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_SETTINGS), pArgList); } - __pOptionMenu->SetShowState(false); - __pOptionMenu->Invalidate(false); - + __pOptionMenu->SetShowState(false); + __pOptionMenu->Invalidate(false); + if (pArgList != null) { delete pArgList; @@ -1596,12 +1616,17 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) BookmarkPresentationModel::GetInstance()->DeleteBookmark(url); pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_OFF_TEMP); - NotificationPanel* pNotification = new (std::nothrow) NotificationPanel(*this); - if (pNotification != null) + if(__pNotification != null) + { + delete __pNotification; + __pNotification = null; + } + __pNotification = new (std::nothrow) NotificationPanel(*this); + if (__pNotification != null) { - pNotification->SetText(message); - pNotification->SetPositionDiff(__pFooterPanel->GetHeight()); - pNotification->ShowNotification(); + __pNotification->SetText(message); + __pNotification->SetPositionDiff(__pFooterPanel->GetHeight()); + __pNotification->ShowNotification(); } } else @@ -1621,24 +1646,28 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) //r = BookmarkPresentationModel::GetInstance()->SaveBookmark(*pBookmark); r = BookmarkPresentationModel::GetInstance()->SaveTempBookmark(*pBookmark); delete pBookmark; - - NotificationPanel* pNotification = new (std::nothrow) NotificationPanel(*this); - if (pNotification != null) + if(__pNotification != null) { - pNotification->SetText(message); - pNotification->SetPositionDiff(__pFooterPanel->GetHeight()); - pNotification->ShowNotification(); + delete __pNotification; + __pNotification = null; + } + __pNotification = new (std::nothrow) NotificationPanel(*this); + if (__pNotification != null) + { + __pNotification->SetText(message); + __pNotification->SetPositionDiff(__pFooterPanel->GetHeight()); + __pNotification->ShowNotification(); pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP); } } - if (pBitmap != null) + if (pBitmap != null) { - r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap); - delete pBitmap; + r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap); + delete pBitmap; } - - - __pOptionMenu->Invalidate(true); + + + __pOptionMenu->Invalidate(true); } } @@ -1714,6 +1743,10 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) delete __pPopUp; __pPopUp = null; } + if(__pAddressbar) + { + __pAddressbar->HideKeypad(); + } __pPopUp = new(std::nothrow) SharePopup(); __pPopUp->Initialize(); if (__pWindowInfo != null) @@ -1742,8 +1775,8 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) break; case IDA_MOREBTN_CLICKED: { - AppLog("IDA_MOREBTN_CLICKED"); - InitOptionMenu(); + AppLog("IDA_MOREBTN_CLICKED"); + InitOptionMenu(); if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer->GetShowState() == true) { int bookmarkCount=0; @@ -1769,13 +1802,13 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) } AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 3"); - if (__pOptionMenu->GetItemCount() == 9) + if (__pOptionMenu->GetItemCount() == 9) { - r = __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap); + 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); + r = __pOptionMenu->InsertItemAt(1,CommonUtil::GetString(L"IDS_BR_OPT_ADDTOBOOKMARKS"), IDA_ADDTOBOOKMARK_CLICKED,*pBitmap); } if (IsFailed(r)) @@ -1785,35 +1818,35 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) return ; } AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 4"); - if (__pOptionMenu->GetItemCount() != 9) + 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); + __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) { AppLog(" Orientation landscape"); - __pOptionMenu->SetMaxVisibleItemsCount(5); + __pOptionMenu->SetMaxVisibleItemsCount(5); } else { AppLog(" Orientation potrait"); - __pOptionMenu->SetMaxVisibleItemsCount(6); + __pOptionMenu->SetMaxVisibleItemsCount(6); } AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED 5"); delete pBitmap; } AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end"); - __pOptionMenu->SetShowState(true); - __pOptionMenu->Invalidate(true); - __pOptionMenu->Show(); - -} + __pOptionMenu->SetShowState(true); + __pOptionMenu->Invalidate(true); + __pOptionMenu->Show(); + +} break; case IDA_HISTORY_CLICKED: { @@ -1923,7 +1956,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); AppLog("akjshdasd 1"); __pFooterPanel->SetShowState(true); @@ -1999,20 +2032,20 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) AppLogDebug("IDA_COPY_IMAGE_CLICKED"); ClipboardItem item; const Bitmap* pBitmap = null; - if (__pHitElementResult != null && __pHitElementResult->HasImage()) + if (__pHitElementResult != null && __pHitElementResult->HasImage()) { pBitmap = __pHitElementResult->GetImage(); } String resourcePath = App::GetInstance()->GetAppResourcePath(); - r = item.Construct(CLIPBOARD_DATA_TYPE_IMAGE , *pBitmap); - AppLog("Platofrm construct failed result %s",GetErrorMessage(r)); + r = item.Construct(CLIPBOARD_DATA_TYPE_IMAGE , *pBitmap); + AppLog("Platofrm construct failed result %s",GetErrorMessage(r)); // copying the item to clipboard Clipboard* pClipboard = Clipboard::GetInstance(); if (pClipboard != null) { - r = pClipboard->CopyItem(item); - AppLog("Platofrm copy failed result %s",GetErrorMessage(r)); + r = pClipboard->CopyItem(item); + AppLog("Platofrm copy failed result %s",GetErrorMessage(r)); } } break; @@ -2050,23 +2083,28 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { UpdateImageContent(pBuffer, imageName); delete pBuffer; - NotificationPanel *pNotification = new NotificationPanel(*this); + if(__pNotification != null) + { + delete __pNotification; + __pNotification = null; + } + __pNotification = new NotificationPanel(*this); String msg; AppResource::GetInstance()->GetString("IDS_COM_SK_SAVE", msg); msg.Append(imagePath); - if (pNotification != null) + if (__pNotification != null) { - pNotification->SetText(msg); + __pNotification->SetText(msg); if (__pFooterPanel->GetShowState() == true) { - pNotification->SetPositionDiff(__pFooterPanel->GetHeight()); + __pNotification->SetPositionDiff(__pFooterPanel->GetHeight()); } else { - pNotification->SetPositionDiff(0); + __pNotification->SetPositionDiff(0); } - pNotification->ShowNotification(); + __pNotification->ShowNotification(); } } else @@ -2089,6 +2127,10 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) delete __pPopUp; __pPopUp = null; } + if(__pAddressbar) + { + __pAddressbar->HideKeypad(); + } __pPopUp = new(std::nothrow) SharePopup(); __pPopUp->Initialize(); if (__pHitElementResult != null) @@ -2174,6 +2216,10 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) delete __pPopUp; __pPopUp = null; } + if(__pAddressbar) + { + __pAddressbar->HideKeypad(); + } __pPopUp = new(std::nothrow) SharePopup(); __pPopUp->Initialize(); @@ -2216,13 +2262,13 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) __currentSearchStr.Clear(); __currentSearchStr.Append(__currentSelectedStr); InitFindWordPanel(); + __pFindWordEditField->SetText(__currentSearchStr); - if(__pOptionMenu != null) + if(__pOptionMenu != null) { - __pOptionMenu->SetShowState(false); - __pOptionMenu->Invalidate(false); + __pOptionMenu->SetShowState(false); + __pOptionMenu->Invalidate(false); } - __adressPanelPosition.y = 0; if (__pAddressbar != null && __pWebViewer != NULL) @@ -2275,6 +2321,10 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) delete __pPopUp; __pPopUp = null; } + if(__pAddressbar) + { + __pAddressbar->HideKeypad(); + } __pPopUp = new(std::nothrow) SharePopup(); __pPopUp->Initialize(); if (__pHitElementResult != null) @@ -2677,15 +2727,15 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, } } - if (__pOptionMenu != null && __pOptionMenu->GetItemCount() != 9) + if (__pOptionMenu != null && __pOptionMenu->GetItemCount() != 9) { - __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap); + __pOptionMenu->SetItemAt(1,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap); } - else if (__pOptionMenu != null ) + else if (__pOptionMenu != null ) { - __pOptionMenu->SetItemAt(5,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap); + __pOptionMenu->SetItemAt(5,CommonUtil::GetString(L"IDS_BR_BODY_PRIVACY_AND_SECURITY_ABB"),IDA_PRIVATEON_CLICKED,*pBitmap); } - + if (pBitmap != null) { delete pBitmap; @@ -2761,14 +2811,14 @@ MainForm::OnLoadingStarted(void) } // this is added in case if menu is opened and user load the page - if(__pOptionMenu != null && __pOptionMenu->GetShowState() == true) + if(__pOptionMenu != null && __pOptionMenu->GetShowState() == true) { - __pOptionMenu->SetShowState(false); - __pOptionMenu->Invalidate(true); + __pOptionMenu->SetShowState(false); + __pOptionMenu->Invalidate(true); } - - - + + + if(__pImageMenu != null && __pImageMenu->GetShowState() == true) { __pImageMenu->SetShowState(false); @@ -2901,7 +2951,7 @@ MainForm::OnKeypadClosed(Tizen::Ui::Control& source) void MainForm::OnKeypadBoundsChanged(Tizen::Ui::Control &source) { - AppLog("KeypadBoundsChanged"); + AppLog("XYZ::KeypadBoundsChanged"); RelayoutControls(false); } @@ -3301,10 +3351,20 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/) { pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(count - 1)); } - else + else if(pAllWindowList->GetCount() > 0) { pWindowInfo = dynamic_cast< WindowInfo* >(pAllWindowList->GetAt(pAllWindowList->GetCount() - 1)); } + else + { + pApp = UiApp::GetInstance(); + if (pApp != null) + { + r = pApp->Terminate(); + return; + } + + } if (pWindowInfo == null) { pApp = UiApp::GetInstance(); @@ -3371,8 +3431,8 @@ MainForm::OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadS int Height = GetClientAreaBounds().height; AppLog("MainForm::OnAddressBarFocusLost height is %d",Height); - //if(__pAddressbar) - // __pAddressbar->SetShowState(false); + if(__pAddressbar) + __pAddressbar->SetShowState(false); if (__pFooterPanel != null && addressbarKeyPadState == false) { @@ -3380,7 +3440,7 @@ MainForm::OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadS __pFooterPanel->SetShowState(true); } - //RelayoutControls(false); + RelayoutControls(false); } void @@ -3428,12 +3488,14 @@ MainForm::OnAddressBarModeChanged(/*const Addressbar& addBar*/) void MainForm::OnClipboardClosed(const Addressbar& addBar) { + AppLog("XYZ::MainForm::OnClipboardClosed"); RelayoutControls(false); } void MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar, bool footerState) { + AppLog("XYZ::MainForm::OnAddressBarKeypadClosed"); if (__pFooterPanel && __pAddressbar->GetShowState() == false) { AppLog("akjshdasd 3"); @@ -3446,6 +3508,7 @@ MainForm::OnAddressBarKeypadClosed(const Addressbar& addBar, bool footerState) void MainForm::OnAddressBarKeypadOpened(const Addressbar& addBar) { + AppLog("XYZ::MainForm::OnAddressBarKeypadOpened"); RelayoutControls(false); } @@ -3458,7 +3521,7 @@ MainForm::OnAddressBarKeypadWillOpen(const Addressbar& addBar) void MainForm::OnAddressBarKeypadBoundsChanged(const Addressbar& addBar) { - AppLog("KeypadBoundsChanged"); + AppLog("XYZ::MainForm::OnAddressBarKeypadBoundsChanged"); RelayoutControls(false); } @@ -3651,7 +3714,7 @@ MainForm::OnWebDataReceived(const Tizen::Base::String& mime, void -MainForm::OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graphics::Point& startPoint, Tizen::Graphics::Point& endPoint) +MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint& endPoint) { AppLog("MainForm::OnWebPageBlockSelected"); if (__pHitElementResult != null) @@ -3688,6 +3751,7 @@ MainForm::OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graph String type = __pHitElementResult->GetAttributeValue("type"); + AppLog("TagName %ls",tagName.GetPointer()); __currentSelectedStr.Clear(); AppLog("__currentSelectedStr after clear %ls",__currentSelectedStr.GetPointer()); __currentSelectedStr = __pWebViewer->GetTextFromBlock(); @@ -3697,7 +3761,7 @@ MainForm::OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graph { AppLog("MainForm::OnWebPageBlockSelected show paste option"); - InitSelectTextContextMenu(endPoint,true); + InitSelectTextContextMenuF(endPoint,true); __pImageMenu->SetShowState(true); __pImageMenu->Show(); __pImageMenu->Invalidate(true); @@ -3711,7 +3775,7 @@ MainForm::OnWebPageBlockSelected(Tizen::Web::Controls::Web& source, Tizen::Graph __currentSelectedStr.Clear(); __currentSelectedStr = __pHitElementResult->GetUrl(); } - InitSelectTextContextMenu(endPoint,false); + InitSelectTextContextMenuF(endPoint,false); __pImageMenu->SetShowState(true); __pImageMenu->Show(); __pImageMenu->Invalidate(true); @@ -3772,6 +3836,7 @@ MainForm::OnWebWindowCreateRequested(void) void MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter) { + AppLog("xyz:: MainForm::RelayoutControls called"); __webControlPosition.y = 0; __webControlHeight = GetClientAreaBounds().height; AppLog("Client area height: %d", __webControlHeight); @@ -3798,14 +3863,14 @@ MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter) } if (__pWebViewer != null && __pWebViewer->GetShowState() == true) { - if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight + 12 ) - { - } - else - { - __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight + 12); - __pWebViewer->Invalidate(false); - } + if(__pWebViewer->GetX() == 0 && __pWebViewer->GetY() == __webControlPosition.y &&__pWebViewer->GetWidth() == GetClientAreaBounds().width &&__pWebViewer->GetHeight() == __webControlHeight + 12 ) + { + } + else + { + __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight + 12); + __pWebViewer->Invalidate(false); + } } if(__pMostVisitedListView != null && __pAddressbar != null && __pFooterPanel != null) { @@ -4144,11 +4209,11 @@ MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source) void MainForm::OnWebKeypadBoundsChanged(Tizen::Web::Controls::Web& source) { - // RelativeLayout(false); - if(__pWebViewer != null) - { - __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,GetClientAreaBounds().height)); - } + // RelativeLayout(false); + if(__pWebViewer != null) + { + __pWebViewer->SetBounds(Rectangle(0,__webControlPosition.y,GetClientAreaBounds().width,GetClientAreaBounds().height)); + } } void @@ -4257,7 +4322,7 @@ void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen: void MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo) { - AppLog("MainForm::OnTouchReleased"); + AppLog("xyz:: MainForm::OnTouchReleased called"); if (__pAddressbar && __pAddressbar->GetShowState() == true) { @@ -4368,6 +4433,11 @@ MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::Ori // if(__pFindWordControl != null) // ShowFindWordPanel(__pFindWordControl->GetShowState(), false); + if(__pNotification && __pNotification->GetShowState() == true) + { + __pNotification->SetShowState(false); + __pNotification->Invalidate(false); + } if ( __pFooterLabel != null) { Bitmap *pBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_SEARCH_INPUT_FIELD_BG, __pFooterLabel->GetWidth(), __pFooterLabel->GetHeight()); @@ -4399,10 +4469,10 @@ MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::Ori } } - - if(__pOptionMenu != null) - __pOptionMenu->SetShowState(false); - + + if(__pOptionMenu != null) + __pOptionMenu->SetShowState(false); + if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE) { widthContextItem = WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE; @@ -4683,11 +4753,15 @@ MainForm::findDistance(int x1,int y1,int x2, int y2) void MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo) { + AppLog("xyz:: MainForm::OnTouchPressed called"); if(__pFindWordControl) { AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState()); // ShowFindWordPanel(__pFindWordControl->GetShowState(), true); } + //__isLongPressedDone = false; + + Touch touch; IList* pList = null; @@ -5305,18 +5379,18 @@ void MainForm::OnSharePopupControlStarted(void) __pWebViewer->AddTouchEventListener(*this); } -void -MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs) +void +MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs) { if (requestId == BACK_GROUND_APP_EVENT) { if(__pWebViewer != null) { __pWebViewer->Pause(); - } - if(__pAddressbar != null) - { - __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL); + } + if(__pAddressbar != null) + { + __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL); } } else if(requestId == FORE_GROUND_APP_EVENT) @@ -5325,16 +5399,17 @@ MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IL { __pWebViewer->Resume(); } - if(__pAddressbar != null) - { - __pAddressbar->SendUserEvent(FORE_GROUND_APP_EVENT,NULL); - } + 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) @@ -5430,5 +5505,5 @@ MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source) __pOptionMenu->SetShowState(true); __pOptionMenu->Invalidate(true); __pOptionMenu->Show(); - -} \ No newline at end of file + +} diff --git a/src/IntPresentationModelBase.cpp b/src/IntPresentationModelBase.cpp index f2b95ec..a8b9260 100644 --- a/src/IntPresentationModelBase.cpp +++ b/src/IntPresentationModelBase.cpp @@ -996,8 +996,8 @@ PresentationModelBase::GetCurrentDateTime(DateTime& dt) result r = E_FAILURE; TimeZone tz; - r = SystemTime::GetCurrentTime(dt); - return true; + r = SystemTime::GetCurrentTime(dt); + return true; if (IsFailed(r)) { return false; diff --git a/src/IntRadioCustomItem.cpp b/src/IntRadioCustomItem.cpp index b360b4b..69892b6 100644 --- a/src/IntRadioCustomItem.cpp +++ b/src/IntRadioCustomItem.cpp @@ -22,6 +22,7 @@ #include #include +#include "IntCommonLib.h" #include "IntRadioCustomItem.h" using namespace Tizen::App; @@ -52,7 +53,7 @@ result RadioCustomItem::Construct(int width, int height) { result r = E_FAILURE; - + __fontSize = CommonUtil::GetFontSize(); __width = width; __height = height; const Dimension dim(width, height); @@ -92,10 +93,10 @@ RadioCustomItem::Make(void) if ( pBitmap != NULL) { - AddElement(Rectangle(26, (__height-pBitmap->GetHeight())/2, pBitmap->GetWidth(), pBitmap->GetHeight()), IDA_FORMAT_RADIO_BUTTON, *pBitmap, null); + AddElement(Rectangle(26, (__height-pBitmap->GetHeight())/2 + (__fontSize - 44)/2, pBitmap->GetWidth(), pBitmap->GetHeight()), IDA_FORMAT_RADIO_BUTTON, *pBitmap, null); AppLogDebug("RadioCustomItem::the text is %ls",__text.GetPointer()); - r = AddElement(Rectangle(26 + pBitmap->GetWidth() + 10, 5, __width - 26 - 10 - pBitmap->GetWidth(), __height), IDA_FORMAT_STRING, __text, 40, textColor, textColor, textColor, true); + r = AddElement(Rectangle(26 + pBitmap->GetWidth() + 10, 5, __width - 26 - 10 - pBitmap->GetWidth(), __height), IDA_FORMAT_STRING, __text, __fontSize, textColor, textColor, textColor, true); delete pBitmap; } TryCatch(!IsFailed(r),,"RadioCustomItem::the value is %s",GetErrorMessage(r)); diff --git a/src/IntSettingForm.cpp b/src/IntSettingForm.cpp index 7c611c5..ac83cb3 100644 --- a/src/IntSettingForm.cpp +++ b/src/IntSettingForm.cpp @@ -585,7 +585,7 @@ SettingForm::CreateItem(int groupIndex, int itemIndex, int itemWidth) if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_TOGGLE) { SettingToggleCustomItem* pItem = new(std::nothrow) SettingToggleCustomItem(); - r = pItem->Construct(itemWidth, 112); + r = pItem->Construct(itemWidth, 112 + (__fontSize - 44)); if (IsFailed(r)) { delete pItem; @@ -681,7 +681,7 @@ SettingForm::CreateItem(int groupIndex, int itemIndex, int itemWidth) } else { - pItem->Construct(itemWidth, 112); + pItem->Construct(itemWidth, 112 + (__fontSize - 44)); } /* Bitmap* pNormalBackgroundBitmap = CommonUtil::GetNinepatchedBitmapN(IDB_LIST_GROUP_BG9,itemWidth,112); @@ -718,7 +718,7 @@ SettingForm::CreateItem(int groupIndex, int itemIndex, int itemWidth) { DefaultCustomItem* pItem = new(std::nothrow) DefaultCustomItem(); - r = pItem->Construct(itemWidth, 112); + r = pItem->Construct(itemWidth, 112 + (__fontSize - 44)); if (IsFailed(r)) { delete pItem; diff --git a/src/IntSettingToggleCustomItem.cpp b/src/IntSettingToggleCustomItem.cpp index bafe20f..caf8e94 100644 --- a/src/IntSettingToggleCustomItem.cpp +++ b/src/IntSettingToggleCustomItem.cpp @@ -23,6 +23,7 @@ #include +#include "IntCommonLib.h" #include "IntSettingToggleCustomItem.h" using namespace Tizen::App; @@ -49,6 +50,7 @@ SettingToggleCustomItem::Construct(int width, int height) { result r = E_FAILURE; + __fontSize = CommonUtil::GetFontSize(); __width = width; __height = height; const Dimension dim(width, height); @@ -78,7 +80,7 @@ SettingToggleCustomItem::Make(void) const int Y_Margin = 26; const int textSize = 40; - AddElement(Rectangle(X_Margin, Y_Margin, __width - 180, 60), IDA_FORMAT_STRING, __text, textSize, textColor, pressedTextColor, pressedTextColor, true); + AddElement(Rectangle(X_Margin, Y_Margin, __width - 180, 60 + (__fontSize - 44)), IDA_FORMAT_STRING, __text, __fontSize, textColor, pressedTextColor, pressedTextColor, true); // SetElementSelectionEnabled(IDA_FORMAT_STRING, false); return E_SUCCESS; -- 2.7.4