private void CreateNewEntry(bool insertion = false)
        {
            EntryText entry = new EntryText
            {
                key          = "new entry",
                Translations = new List <Translation> ()
            };

            foreach (Language language in manager.languages)
            {
                entry.Add(language.name);
            }

            if (insertion)
            {
                manager.Add(entry, newIndex);
                index = newIndex;
            }
            else
            {
                manager.Add(entry);
                index = manager.entries.Count - 1;
            }

            SetTriggerList();
        }
        /// <summary> Move an Entry from an old Index to an new Index. </summary>
        /// <param name="oldIndex">Old index.</param>
        /// <param name="newIndex">New index.</param>
        public void Move(int oldIndex, int newIndex)
        {
            EntryText entry = entries[oldIndex];

            Remove(oldIndex);
            Insert(entry, newIndex);
        }
        /// <summary> Insert the specified entry with a given index. </summary>
        /// <param name="entry">Entry.</param>
        /// <param name="index">Index.</param>
        private void Insert(EntryText entry, int index)
        {
            if (index > entries.Count)
            {
                return;
            }

            entries.Insert(index, entry);
        }
        /// <summary> Insert the specified entry to the list. </summary>
        /// <param name="entry">Entry.</param>
        /// <param name="add">If set to <c>true</c> add or override.</param>
        private void Insert(EntryText entry, bool add)
        {
            int i = FindEntry(entry.key);

            if (i >= 0)
            {
                if (add)
                {
                    return;
                }

                entries[i] = entry;
            }

            if (add)
            {
                entries.Add(entry);
            }
        }
 /// <summary> Remove the specified entry. </summary>
 /// <param name="entry">Entry.</param>
 public void Remove(EntryText entry)
 {
     entries.Remove(entry);
 }
 /// <summary> Refresh the specified entry. </summary>
 /// <param name="entry">Entry.</param>
 public void Refresh(EntryText entry)
 {
     Insert(entry, false);
 }
 /// <summary> Add the specified entry with a given index. </summary>
 /// <param name="entry">Entry.</param>
 /// <param name="index">Index.</param>
 public void Add(EntryText entry, int index)
 {
     Insert(entry, index);
 }
 /// <summary> Add the specified entry. </summary>
 /// <param name="entry">Entry.</param>
 public void Add(EntryText entry)
 {
     Insert(entry, true);
 }