using System.Collections.Generic;
using System.Text;
using Tizen;
+using Tizen.Applications;\r
using Tizen.NUI;
using Tizen.NUI.BaseComponents;
using Tizen.NUI.Components;
private static int landscapeRow = 3;
private static int landscapeCol = 13;
private View rootView;
- private ScrollableBase scroll;
+ private ScrollableBase scroll;\r
+ private const string RECENT_EMOTICONS = "RecentEmoticons";
private void DisplayCurrentEmoticonGroup()\r
{\r
Log.Info("NUIIME", "current group : " + currentGroup);\r
if (currentGroup == EmoticonGroup.RecentlyUsed)
{
-
+ foreach (int emoticonCode in recentEmoticons)
+ {\r
+ AddEmoticon(emoticonCode);
+ }
}
else
{
for (int i = 0; i < EmoticonList[(int)currentGroup].Length; i++)
{
- TextLabel emoticon = new TextLabel();\r
- emoticon.Text = Char.ConvertFromUtf32(EmoticonList[(int)currentGroup][i]);
- emoticon.Margin = new Extents(margin, margin, margin, margin);\r
- emoticon.HorizontalAlignment = HorizontalAlignment.Center;
- emoticon.VerticalAlignment = VerticalAlignment.Center;
- emoticon.PointSize = pointSize;
- emoticon.Size2D = new Size2D(itemSize, itemSize);\r
+ AddEmoticon(EmoticonList[(int)currentGroup][i]);
+ }
+ }\r
\r
- emoticon.TouchEvent += (object sender, TouchEventArgs e) =>
- {
- if (e.Touch.GetState(0) == PointStateType.Up)
- {
- Log.Info("NUIIME", "text: " + emoticon.Text);
- InputMethodEditor.CommitString(emoticon.Text);
- }
-
- return true;
- };\r
+ void AddEmoticon(int emoticonCode)\r
+ {\r
+ TextLabel emoticon = new TextLabel();\r
+ emoticon.Text = Char.ConvertFromUtf32(emoticonCode);\r
+ emoticon.Margin = new Extents(margin, margin, margin, margin);\r
+ emoticon.HorizontalAlignment = HorizontalAlignment.Center;\r
+ emoticon.VerticalAlignment = VerticalAlignment.Center;\r
+ emoticon.PointSize = pointSize;\r
+ emoticon.Size2D = new Size2D(itemSize, itemSize);\r
\r
- scroll.Add(emoticon);
- }
+ emoticon.TouchEvent += (object sender, TouchEventArgs e) =>\r
+ {\r
+ if (e.Touch.GetState(0) == PointStateType.Up)\r
+ {\r
+ Log.Info("NUIIME", "text: " + emoticon.Text);\r
+ InputMethodEditor.CommitString(emoticon.Text);\r
+ UpdateRecentEmoticon(emoticonCode);\r
+ }\r
+\r
+ return true;\r
+ };\r
+\r
+ scroll.Add(emoticon);\r
}\r
}\r
\r
{\r
Size2D windowSize = NUIApplication.GetDefaultWindow().Size;
- recentEmoticons = IseConfig.Instance.RecentEmoticons;
if (recentEmoticons != null && recentEmoticons.Count > 0)
{
//Need to Add the code
public EmoticonPage()
{
+ recentEmoticons = IseConfig.Instance.RecentEmoticons;
+
+ ReadRecentEmoticonList();
+
CreateEmoticonView();
}
\r
DisplayCurrentEmoticonGroup();\r
}\r
+\r
+ private bool RemoveFromEmoticonList(int emoticonCode)\r
+ {\r
+ return recentEmoticons.Remove(emoticonCode);\r
+ }\r
+\r
+ private void UpdateRecentEmoticon(int emoticonCode)\r
+ {\r
+ // remove from recent emoticon list\r
+ RemoveFromEmoticonList(emoticonCode);\r
+\r
+ recentEmoticons.Insert(0, emoticonCode);\r
+\r
+ WriteRecentEmoticonList();\r
+ }\r
+\r
+ private void ReadRecentEmoticonList()\r
+ {\r
+ string recentEmoticonString;\r
+ if (Preference.Contains(RECENT_EMOTICONS))\r
+ {\r
+ recentEmoticonString = Preference.Get<string>(RECENT_EMOTICONS);\r
+ Log.Info("NUIIME", "Read recent Emoticon string(" + recentEmoticonString + ")");\r
+ }\r
+ else {\r
+ Log.Info("NUIIME", "Failed to read recent Emoticon string");\r
+ return;\r
+ }\r
+\r
+ recentEmoticons.Clear();\r
+\r
+ string[] emoticon_list = recentEmoticonString.Split(" ");\r
+ foreach (string emoticon in emoticon_list)\r
+ {\r
+ if (String.IsNullOrEmpty(emoticon))\r
+ continue;\r
+\r
+ int emoticonCode = Int32.Parse(emoticon);\r
+ recentEmoticons.Add(emoticonCode);\r
+ }\r
+ }\r
+\r
+ private void WriteRecentEmoticonList()\r
+ {\r
+ string recentEmoticonString = "";\r
+\r
+ foreach (int emoticonCode in recentEmoticons)\r
+ {\r
+ recentEmoticonString += emoticonCode + " ";\r
+ }\r
+\r
+ Preference.Set(RECENT_EMOTICONS, recentEmoticonString);\r
+ }\r
}
}