jaehyun pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=e1991b63ff8fe6cee45e07e7287f4c832551bbad

commit e1991b63ff8fe6cee45e07e7287f4c832551bbad
Author: Jaehyun Cho <[email protected]>
Date:   Tue Feb 3 13:46:43 2015 +0900

    Revert "setting: Add the Text Editor mode in setting."
    
    This reverts commit 799fd32e13b5cf3e313badb73572821d22974064.
    
    The previous commit("config: Add config_syntax_color_set()/get() 
functions.")
    is not applied correctly.
---
 data/color/Makefile.am                 |   3 +-
 data/color/syntax_template.dat         |   1 -
 data/themes/default/layout_setting.edc | 278 ++++-------
 src/bin/Makefile.am                    |   1 -
 src/bin/config_data.c                  |  36 ++
 src/bin/main.c                         |  56 +++
 src/bin/setting.c                      | 293 ++++++-----
 src/bin/text_setting.c                 | 853 ---------------------------------
 src/include/Makefile.am                |   1 -
 src/include/config_data.h              |   2 +
 src/include/text_setting.h             |  35 --
 11 files changed, 329 insertions(+), 1230 deletions(-)

diff --git a/data/color/Makefile.am b/data/color/Makefile.am
index d1d438a..aa8f3d3 100644
--- a/data/color/Makefile.am
+++ b/data/color/Makefile.am
@@ -7,8 +7,7 @@ color.src
 
 filesdir = $(datadir)/$(PACKAGE)/color
 files_DATA = \
-color.eet \
-syntax_template.dat
+color.eet
 
 %.eet: %.src
        $(EET_EET) -e \
diff --git a/data/color/syntax_template.dat b/data/color/syntax_template.dat
deleted file mode 100644
index d5ec66a..0000000
--- a/data/color/syntax_template.dat
+++ /dev/null
@@ -1 +0,0 @@
-   <font_size=%d><color=#%s>//comment</color><br/>   <color=#%s>#define 
RECT_COLOR</color> 0 136 170 255<br/>   <color=#%s>part</color> 
<color=#%s>{</color> <color=#%s>name</color><color=#%s>:</color> 
<color=#%s>&quot;rect&quot;</color><color=#%s>;</color><br/>      
<color=#%s>type</color><color=#%s>:</color> 
<color=#%s>RECT</color><color=#%s>;</color><br/>      
<color=#%s>description</color> <color=#%s>{</color> 
<color=#%s>state</color><color=#%s>:</color> <color=#%s>&quot;default&quot; 
[...]
diff --git a/data/themes/default/layout_setting.edc 
b/data/themes/default/layout_setting.edc
index 44e1ba9..4081bb9 100644
--- a/data/themes/default/layout_setting.edc
+++ b/data/themes/default/layout_setting.edc
@@ -28,8 +28,8 @@ group { name: "setting_layout";
          scale: 1;
          clip_to: "clipper";
          description {
-            min: 600 380;
-            max: 600 380;
+            min: 600 350;
+            max: 600 350;
             fixed: 1 1;
             image.normal: "frame_bg.png";
             image.border: 10 10 10 10;
@@ -104,143 +104,11 @@ group { name: "setting_layout";
             color: COL_HI;
          }
       }
-      part { name: "elm.swallow.tabbar";
-         type: SWALLOW;
-         scale: 1;
-         clip_to: "clipper";
-         description { state: "default" 0.0;
-            min: 0 25;
-            max: -1 25;
-            align: 0.5 0.0;
-            fixed: 0 1;
-            rel1 {to: "title_frame"; relative: 0.0 1.0; offset: 0 5;}
-            rel2.to: "title_frame";
-         }
-      }
-      part { name: "elm.swallow.content";
-         type: SWALLOW;
-         scale: 1;
-         clip_to: "clipper";
-         description { state: "default" 0.0;
-            rel1 {
-               to: "elm.swallow.tabbar";
-               relative: 0.0 1.0;
-            }
-            rel2 {
-               to_x: "base_frame";
-               to_y: "elm.swallow.reset_btn";
-               relative: 1.0 0.0;
-               offset: -1 -11;
-            }
-         }
-      }
-      part { name: "elm.swallow.apply_btn";
-         type: SWALLOW;
-         scale: 1;
-         description {
-            align: 1 0.5;
-            min: 50 25;
-            fixed: 1 1;
-            rel1.to: "elm.swallow.reset_btn";
-            rel1.relative: 0 0;
-            rel2.to: "elm.swallow.reset_btn";
-            rel2.relative: 0 1;
-         }
-      }
-      part { name: "elm.swallow.reset_btn";
-         type: SWALLOW;
-         scale: 1;
-         description {
-            align: 0.5 1;
-            min: 50 25;
-            fixed: 1 1;
-            rel1.to: "base_frame";
-            rel1.relative: 0.5 1;
-            rel2.to: "base_frame";
-            rel2.relative: 0.5 1;
-         }
-      }
-      part { name: "elm.swallow.cancel_btn";
-         type: SWALLOW;
-         scale: 1;
-         description {
-            align: 0 0.5;
-            min: 50 25;
-            fixed: 1 1;
-            rel1.to: "elm.swallow.reset_btn";
-            rel1.relative: 1 0;
-            rel2.to: "elm.swallow.reset_btn";
-            rel2.relative: 1 1;
-         }
-      }
-      part { name: "event_blocker";
-         type: RECT;
-         description { state: "default" 0.0;
-            color: 0 0 0 0;
-            visible: 1;
-         }
-         description { state: "hide" 0.0;
-            inherit: "default" 0.0;
-            visible: 0;
-         }
-      }
-      part { name: "over_img";
-         type: IMAGE;
-         scale: 1;
-         clip_to: "clipper";
-         mouse_events: 0;
-         description {
-            rel1 { to: "base_frame_img"; relative: 0 0; }
-            rel2 { to: "base_frame_img"; relative: 1 1; }
-            image.normal: "bub_over_bot.png";
-         }
-      }
-   }
-   programs {
-      program { name: "load";
-         signal: "load";
-         action: STATE_SET "show" 0.0;
-         transition: "DECELERATE" 0.5;
-         target: "clipper";
-         after: "event_blocker_hide";
-      }
-      program { name: "dismiss";
-         signal: "elm,state,dismiss";
-         source: "";
-         action: STATE_SET "default" 0.0;
-//         transition: "DECELERATE" 0.125;
-         target: "clipper";
-         target: "event_blocker";
-         after: "dismiss_done";
-      }
-      program { name: "event_blocker_hide";
-         signal: "elm,state,event_blocker,hide";
-         source: "";
-         action: STATE_SET "hide" 0.0;
-         target: "event_blocker";
-      }
-      program { name: "dismiss_done";
-         action: SIGNAL_EMIT "elm,state,dismiss,done" "";
-      }
-   }
-}
-
-group { name: "general_layout";
-   parts {
-      part { name: "base_frame";
-         type: SPACER;
-         scale: 1;
-         description {
-            min: 580 265;
-            max: 580 265;
-            fixed: 1 1;
-         }
-      }
       part { name: "img_path_frame";
          type: SPACER;
          description {
-            rel1 {to: "base_frame"; relative: 0 0;}
-            rel2 {to: "base_frame"; relative: 1 0;}
+            rel1 {to: "title_frame"; relative: 0 1;}
+            rel2 {to: "title_frame"; relative: 1 1;}
             align: 0.5 0;
             min: 0 30;
             fixed: 0 1;
@@ -293,6 +161,7 @@ group { name: "general_layout";
       part { name: "img_path_icon";
          type: IMAGE;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0.5;
             min: 20 20;
@@ -306,6 +175,7 @@ group { name: "general_layout";
       part { name: "img_path_guide";
          type: TEXT;
          scale: 1;
+         clip_to: "clipper";
          effect: SHADOW BOTTOM;
          description {
             rel1 {to: "img_path_icon"; relative: 1 0; offset: 5 1;}
@@ -326,6 +196,7 @@ group { name: "general_layout";
       part { name: "elm.swallow.img_path_entry";
          type: SWALLOW;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0;
             fixed: 1 1;
@@ -339,6 +210,7 @@ group { name: "general_layout";
       part { name: "snd_path_icon";
          type: IMAGE;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0.5;
             min: 20 20;
@@ -353,6 +225,7 @@ group { name: "general_layout";
          type: TEXT;
          effect: SHADOW BOTTOM;
          scale: 1;
+         clip_to: "clipper";
          description {
             rel1 {to: "snd_path_icon"; relative: 1 0; offset: 5 1;}
             rel2 {to: "snd_path_icon"; relative: 1 1;}
@@ -372,6 +245,7 @@ group { name: "general_layout";
       part { name: "elm.swallow.snd_path_entry";
          type: SWALLOW;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0;
             fixed: 1 1;
@@ -385,6 +259,7 @@ group { name: "general_layout";
       part { name: "fnt_path_icon";
          type: IMAGE;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0.5;
             min: 20 20;
@@ -399,6 +274,7 @@ group { name: "general_layout";
          type: TEXT;
          effect: SHADOW BOTTOM;
          scale: 1;
+         clip_to: "clipper";
          description {
             rel1 {to: "fnt_path_icon"; relative: 1 0; offset: 5 1;}
             rel2 {to: "fnt_path_icon"; relative: 1 1;}
@@ -418,6 +294,7 @@ group { name: "general_layout";
       part { name: "elm.swallow.fnt_path_entry";
          type: SWALLOW;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0;
             fixed: 1 1;
@@ -431,6 +308,7 @@ group { name: "general_layout";
       part { name: "dat_path_icon";
          type: IMAGE;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0.5;
             min: 20 20;
@@ -445,6 +323,7 @@ group { name: "general_layout";
          type: TEXT;
          effect: SHADOW BOTTOM;
          scale: 1;
+         clip_to: "clipper";
          description {
             rel1 {to: "dat_path_icon"; relative: 1 0; offset: 5 1;}
             rel2 {to: "dat_path_icon"; relative: 1 1;}
@@ -464,6 +343,7 @@ group { name: "general_layout";
       part { name: "elm.swallow.dat_path_entry";
          type: SWALLOW;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0;
             fixed: 1 1;
@@ -477,6 +357,7 @@ group { name: "general_layout";
       part { name: "preference_icon";
          type: IMAGE;
          scale: 1;
+         clip_to: "clipper";
          description {
             align: 0 0;
             min: 20 20;
@@ -491,6 +372,7 @@ group { name: "general_layout";
          type: TEXT;
          effect: SHADOW BOTTOM;
          scale: 1;
+         clip_to: "clipper";
          description {
             rel1 {to: "preference_icon"; relative: 1 0; offset: 5 1;}
             rel2 {to: "preference_icon"; relative: 1 1;}
@@ -510,6 +392,7 @@ group { name: "general_layout";
       part { name: "elm.swallow.preference";
          type: SWALLOW;
          scale: 1;
+         clip_to: "clipper";
          description {
             rel1.to_x: "preference_guide";
             rel1.to_y: "preference_guide";
@@ -518,79 +401,96 @@ group { name: "general_layout";
             rel2.to: "preference_frame";
          }
       }
-   }
-}
-
-group { name: "text_setting_layout";
-   parts {
-      part { name: "base_frame";
-         type: SPACER;
+      part { name: "elm.swallow.apply_btn";
+         type: SWALLOW;
          scale: 1;
+         clip_to: "clipper";
          description {
-            min: 580 265;
-            max: 580 265;
+            align: 1 0.5;
+            min: 50 25;
             fixed: 1 1;
+            rel1.to: "elm.swallow.reset_btn";
+            rel1.relative: 0 0;
+            rel2.to: "elm.swallow.reset_btn";
+            rel2.relative: 0 1;
          }
       }
-      part { name: "text_setting_guide";
-         type: TEXT;
+      part { name: "elm.swallow.reset_btn";
+         type: SWALLOW;
          scale: 1;
-         effect: SHADOW BOTTOM;
+         clip_to: "clipper";
          description {
-            rel1 {to: "base_frame"; relative: 0 0; offset: 5 0;}
-            rel2 {to: "base_frame"; relative: 0.5 0;}
-            color: COL_NM;
-            min: 0 20;
-            align: 0 0;
-            fixed: 0 1;
-            text {
-               font: FN;
-               text: "Double click a keyword to change its color :";
-               size: 11;
-               align: 0 0.5;
-               min: 1 0;
-               ellipsis: -1;
-            }
+            align: 0.5 1;
+            min: 50 25;
+            fixed: 1 1;
+            rel1.to: "base_frame";
+            rel1.relative: 0.5 1;
+            rel2.to: "base_frame";
+            rel2.relative: 0.5 1;
          }
       }
-      part { name: "text_setting_frame";
-         type: SPACER;
+      part { name: "elm.swallow.cancel_btn";
+         type: SWALLOW;
          scale: 1;
+         clip_to: "clipper";
          description {
-            rel1 {to_x: "base_frame"; to_y: "text_setting_guide"; relative: 0 
1;}
-            rel2 {to: "base_frame"; relative: 0.5 0;}
-            align: 0.5 0;
-            min: 0 245;
-            fixed: 0 1;
+            align: 0 0.5;
+            min: 50 25;
+            fixed: 1 1;
+            rel1.to: "elm.swallow.reset_btn";
+            rel1.relative: 1 0;
+            rel2.to: "elm.swallow.reset_btn";
+            rel2.relative: 1 1;
          }
       }
-      part { name: "elm.swallow.text_setting";
-         type: SWALLOW;
-         scale: 1;
+      part { name: "event_blocker";
+         type: RECT;
          description { state: "default" 0.0;
-            fixed: 0 1;
-            rel1.to: "text_setting_frame";
-            rel2.to: "text_setting_frame";
+            color: 0 0 0 0;
+            visible: 1;
          }
-      }
-      part { name: "preference_frame";
-         type: SPACER;
-         scale: 1;
-         description {
-            rel1 {to: "base_frame"; relative: 0.5 0; offset: 5 0;}
-            rel2 {to: "base_frame"; relative: 1 0;}
-            align: 0.5 0;
-            min: 0 90;
-            fixed: 0 1;
+         description { state: "hide" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
          }
       }
-      part { name: "elm.swallow.preference";
-         type: SWALLOW;
+      part { name: "over_img";
+         type: IMAGE;
          scale: 1;
+         clip_to: "clipper";
+         mouse_events: 0;
          description {
-            rel1.to: "preference_frame";
-            rel2.to: "preference_frame";
+            rel1 { to: "base_frame_img"; relative: 0 0; }
+            rel2 { to: "base_frame_img"; relative: 1 1; }
+            image.normal: "bub_over_bot.png";
          }
       }
    }
+   programs {
+      program { name: "load";
+         signal: "load";
+         action: STATE_SET "show" 0.0;
+         transition: "DECELERATE" 0.5;
+         target: "clipper";
+         after: "event_blocker_hide";
+      }
+      program { name: "dismiss";
+         signal: "elm,state,dismiss";
+         source: "";
+         action: STATE_SET "default" 0.0;
+//         transition: "DECELERATE" 0.125;
+         target: "clipper";
+         target: "event_blocker";
+         after: "dismiss_done";
+      }
+      program { name: "event_blocker_hide";
+         signal: "elm,state,event_blocker,hide";
+         source: "";
+         action: STATE_SET "hide" 0.0;
+         target: "event_blocker";
+      }
+      program { name: "dismiss_done";
+         action: SIGNAL_EMIT "elm,state,dismiss,done" "";
+      }
+   }
 }
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 2a27e4f..711d685 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -22,7 +22,6 @@ enventor_SOURCES = \
        goto.c \
        newfile.c \
        setting.c \
-       text_setting.c \
        globals.c \
        live_edit.c \
        console.c \
diff --git a/src/bin/config_data.c b/src/bin/config_data.c
index 75f2edb..27dd93d 100644
--- a/src/bin/config_data.c
+++ b/src/bin/config_data.c
@@ -14,6 +14,8 @@ typedef struct config_s
    Eina_Strbuf *edc_fnt_path_buf; //pre-stored font paths for edc compile.
    Eina_Strbuf *edc_dat_path_buf; //pre-stored data paths for edc compile.
 
+   Eina_List *syntax_color_list;
+
    float font_scale;
    double view_scale;
    double console_size;
@@ -36,6 +38,7 @@ typedef struct config_s
 
 static config_data *g_cd = NULL;
 static Eet_Data_Descriptor *edd_base = NULL;
+static Eet_Data_Descriptor *edd_color = NULL;
 
 static void
 config_edj_path_update(config_data *cd)
@@ -186,6 +189,13 @@ config_load(void)
    else cd->edc_dat_path_buf =
      config_paths_buf_set(cd->edc_dat_path_list, " -dd ");
 
+   if (!cd->syntax_color_list)
+     {
+        Enventor_Syntax_Color_Type color_type = ENVENTOR_SYNTAX_COLOR_STRING;
+        for (; color_type < ENVENTOR_SYNTAX_COLOR_LAST; color_type++)
+          cd->syntax_color_list = eina_list_append(cd->syntax_color_list, 
NULL);
+     }
+
    return cd;
 }
 
@@ -205,6 +215,8 @@ eddc_init(void)
                                        "edc_fnt_path_list", edc_fnt_path_list);
    EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd_base, config_data,
                                        "edc_dat_path_list", edc_dat_path_list);
+   EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd_base, config_data,
+                                       "syntax_color_list", syntax_color_list);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "font_scale", 
font_scale,
                                  EET_T_FLOAT);
    EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "view_scale",
@@ -279,6 +291,8 @@ config_term(void)
    EINA_LIST_FREE(cd->edc_fnt_path_list, str) eina_stringshare_del(str);
    EINA_LIST_FREE(cd->edc_dat_path_list, str) eina_stringshare_del(str);
 
+   EINA_LIST_FREE(cd->syntax_color_list, str) eina_stringshare_del(str);
+
    if (cd->edc_img_path_buf) eina_strbuf_free(cd->edc_img_path_buf);
    if (cd->edc_snd_path_buf) eina_strbuf_free(cd->edc_snd_path_buf);
    if (cd->edc_fnt_path_buf) eina_strbuf_free(cd->edc_fnt_path_buf);
@@ -537,6 +551,28 @@ config_edj_path_get(void)
    return cd->edj_path;
 }
 
+void
+config_syntax_color_set(Enventor_Syntax_Color_Type color_type,
+                        const char *val)
+{
+   config_data *cd = g_cd;
+   Eina_List *target_list;
+
+   target_list = eina_list_nth_list(cd->syntax_color_list, color_type);
+   if (!target_list) return;
+
+   eina_stringshare_del(eina_list_data_get(target_list));
+   if (val)
+     eina_list_data_set(target_list, eina_stringshare_add(val));
+}
+
+const char *
+config_syntax_color_get(Enventor_Syntax_Color_Type color_type)
+{
+   config_data *cd = g_cd;
+   return (const char *) eina_list_nth(cd->syntax_color_list, color_type);
+}
+
 Eina_Bool
 config_linenumber_get(void)
 {
diff --git a/src/bin/main.c b/src/bin/main.c
index 1b68e55..82b8a37 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -110,6 +110,56 @@ template_insert_patch(app_data *ad, const char *key)
 }
 
 static void
+syntax_color_update(Evas_Object *enventor)
+{
+   const char *config_color;
+   const char *enventor_color;
+   Eina_Bool color_changed = EINA_FALSE;
+   Enventor_Syntax_Color_Type color_type;
+
+   color_type = ENVENTOR_SYNTAX_COLOR_STRING;
+   for (; color_type < ENVENTOR_SYNTAX_COLOR_LAST; color_type++)
+     {
+        config_color = config_syntax_color_get(color_type);
+        if (config_color)
+          {
+             enventor_color = enventor_object_syntax_color_get(enventor,
+                                                               color_type);
+             if (strcmp(config_color, enventor_color))
+               {
+                  enventor_object_syntax_color_set(enventor, color_type,
+                                                   config_color);
+                  color_changed = EINA_TRUE;
+               }
+          }
+     }
+
+   if (color_changed)
+     enventor_object_syntax_color_full_apply(enventor, EINA_TRUE);
+}
+
+static void
+syntax_color_init(Evas_Object *enventor)
+{
+   const char *config_color;
+   const char *enventor_color;
+   Eina_Bool color_changed = EINA_FALSE;
+   Enventor_Syntax_Color_Type color_type;
+
+   color_type = ENVENTOR_SYNTAX_COLOR_STRING;
+   for (; color_type < ENVENTOR_SYNTAX_COLOR_LAST; color_type++)
+     {
+        config_color = config_syntax_color_get(color_type);
+        if (!config_color)
+          {
+             enventor_color = enventor_object_syntax_color_get(enventor,
+                                                               color_type);
+             config_syntax_color_set(color_type, enventor_color);
+          }
+     }
+}
+
+static void
 config_update_cb(void *data)
 {
    app_data *ad = data;
@@ -133,6 +183,8 @@ config_update_cb(void *data)
    enventor_object_part_highlight_set(enventor, config_part_highlight_get());
    enventor_object_live_view_scale_set(enventor, config_view_scale_get());
 
+   syntax_color_update(enventor);
+
    Evas_Coord w, h;
    if (config_view_size_configurable_get())
      config_view_size_get(&w, &h);
@@ -840,6 +892,10 @@ init(app_data *ad, int argc, char **argv)
 
    template_show(ad);
 
+   //Initialize syntax color.
+   syntax_color_init(ad->enventor);
+   syntax_color_update(ad->enventor);
+
    return EINA_TRUE;
 }
 
diff --git a/src/bin/setting.c b/src/bin/setting.c
index 804c000..3ef0339 100644
--- a/src/bin/setting.c
+++ b/src/bin/setting.c
@@ -1,25 +1,26 @@
 #include "common.h"
-#include "text_setting.h"
 
 struct setting_s
 {
    Evas_Object *setting_layout;
-
-   Evas_Object *general_layout;
-
    Evas_Object *img_path_entry;
    Evas_Object *snd_path_entry;
    Evas_Object *fnt_path_entry;
    Evas_Object *dat_path_entry;
 
+   Evas_Object *slider_font;
    Evas_Object *slider_view;
+   Evas_Object *toggle_tools;
+   Evas_Object *toggle_stats;
+   Evas_Object *toggle_linenum;
+   Evas_Object *toggle_highlight;
+   Evas_Object *toggle_swallow;
+   Evas_Object *toggle_indent;
+   Evas_Object *toggle_autocomp;
+
    Evas_Object *view_size_w_entry;
    Evas_Object *view_size_h_entry;
    Evas_Object *toggle_view_size;
-   Evas_Object *toggle_highlight;
-   Evas_Object *toggle_swallow;
-   Evas_Object *toggle_stats;
-   Evas_Object *toggle_tools;
 };
 
 typedef struct setting_s setting_data;
@@ -88,9 +89,6 @@ setting_dismiss_done_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
                         const char *source EINA_UNUSED)
 {
    setting_data *sd = data;
-
-   text_setting_term();
-
    evas_object_del(sd->setting_layout);
    sd->setting_layout = NULL;
    menu_deactivate_request();
@@ -109,20 +107,21 @@ setting_apply_btn_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
    config_edc_snd_path_set(elm_object_text_get(sd->snd_path_entry));
    config_edc_fnt_path_set(elm_object_text_get(sd->fnt_path_entry));
    config_edc_dat_path_set(elm_object_text_get(sd->dat_path_entry));
+   config_font_scale_set((float) elm_slider_value_get(sd->slider_font));
    config_view_scale_set(elm_slider_value_get(sd->slider_view));
    config_tools_set(elm_check_state_get(sd->toggle_tools));
    config_stats_bar_set(elm_check_state_get(sd->toggle_stats));
+   config_linenumber_set(elm_check_state_get(sd->toggle_linenum));
    config_part_highlight_set(elm_check_state_get(sd->toggle_highlight));
    config_dummy_swallow_set(elm_check_state_get(sd->toggle_swallow));
+   config_auto_indent_set(elm_check_state_get(sd->toggle_indent));
+   config_auto_complete_set(elm_check_state_get(sd->toggle_autocomp));
    
config_view_size_configurable_set(elm_check_state_get(sd->toggle_view_size));
-   text_setting_config_set();
 
    Evas_Coord w = (Evas_Coord)atoi(elm_entry_entry_get(sd->view_size_w_entry));
    Evas_Coord h = (Evas_Coord)atoi(elm_entry_entry_get(sd->view_size_h_entry));
    config_view_size_set(w, h);
 
-   text_setting_syntax_color_save();
-
    config_apply();
 
    setting_close();
@@ -150,19 +149,16 @@ setting_reset_btn_cb(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
    dat_path_entry_update(sd->dat_path_entry,
                          (Eina_List *)config_edc_dat_path_list_get());
 
+   elm_slider_value_set(sd->slider_font, (double) config_font_scale_get());
    elm_slider_value_set(sd->slider_view, (double) config_view_scale_get());
 
    elm_check_state_set(sd->toggle_tools, config_tools_get());
    elm_check_state_set(sd->toggle_stats, config_stats_bar_get());
+   elm_check_state_set(sd->toggle_linenum, config_linenumber_get());
    elm_check_state_set(sd->toggle_highlight, config_part_highlight_get());
    elm_check_state_set(sd->toggle_swallow, config_dummy_swallow_get());
-
-   text_setting_font_scale_set((double) config_font_scale_get());
-   text_setting_linenumber_set(config_linenumber_get());
-   text_setting_auto_indent_set(config_auto_indent_get());
-   text_setting_auto_complete_set(config_auto_complete_get());
-
-   text_setting_syntax_color_reset();
+   elm_check_state_set(sd->toggle_indent, config_auto_indent_get());
+   elm_check_state_set(sd->toggle_autocomp, config_auto_complete_get());
 }
 
 static Evas_Object *
@@ -201,17 +197,33 @@ toggle_view_size_changed_cb(void *data, Evas_Object *obj,
    elm_object_disabled_set(sd->view_size_h_entry, !toggle_on);
 }
 
-static Evas_Object *
-general_layout_create(setting_data *sd, Evas_Object *parent)
+void
+setting_open(void)
 {
    static Elm_Entry_Filter_Accept_Set digits_filter_data;
    static Elm_Entry_Filter_Limit_Size limit_filter_data;
+   setting_data *sd = g_sd;
+   if (sd) return;
+
+   sd = calloc(1, sizeof(setting_data));
+   if (!sd)
+     {
+        EINA_LOG_ERR("Failed to allocate Memory!");
+        return;
+     }
+   g_sd = sd;
+
+   search_close();
+   goto_close();
 
    //Layout
-   Evas_Object *layout = elm_layout_add(parent);
-   elm_layout_file_set(layout, EDJE_PATH, "general_layout");
+   Evas_Object *layout = elm_layout_add(base_win_get());
+   elm_layout_file_set(layout, EDJE_PATH, "setting_layout");
+   elm_object_signal_callback_add(layout, "elm,state,dismiss,done", "",
+                                  setting_dismiss_done_cb, sd);
    evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
    evas_object_show(layout);
+   base_win_resize_object_add(layout);
 
    //Image Path Entry
    Evas_Object *img_path_entry = entry_create(layout);
@@ -247,14 +259,91 @@ general_layout_create(setting_data *sd, Evas_Object 
*parent)
 
    //Box
    Evas_Object *box = elm_box_add(scroller);
+   elm_box_horizontal_set(box, EINA_TRUE);
    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_show(box);
 
    elm_object_content_set(scroller, box);
 
+   //Left Box
+   Evas_Object *box2 = elm_box_add(box);
+   elm_box_padding_set(box2, 1, 1);
+   evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0);
+   evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, 0);
+   evas_object_show(box2);
+   elm_box_pack_end(box, box2);
+
+   Evas_Object *box3;
+
+   //Font Size
+   box3 = elm_box_add(box2);
+   elm_box_horizontal_set(box3, EINA_TRUE);
+   evas_object_size_hint_weight_set(box3, EVAS_HINT_EXPAND, 0);
+   evas_object_size_hint_align_set(box3, EVAS_HINT_FILL, 0);
+   evas_object_show(box3);
+
+   elm_box_pack_end(box2, box3);
+
+   //Font Size (Slider)
+   Evas_Object *slider_font = elm_slider_add(box3);
+   evas_object_size_hint_weight_set(slider_font, EVAS_HINT_EXPAND, 0);
+   evas_object_size_hint_align_set(slider_font, 0, 0);
+   elm_slider_span_size_set(slider_font, 190);
+   elm_slider_indicator_show_set(slider_font, EINA_FALSE);
+   elm_slider_unit_format_set(slider_font, "%1.1fx");
+   elm_slider_min_max_set(slider_font, MIN_FONT_SCALE, MAX_FONT_SCALE);
+   elm_slider_value_set(slider_font, (double) config_font_scale_get());
+   elm_object_text_set(slider_font, "Font Size");
+   evas_object_show(slider_font);
+
+   elm_box_pack_end(box3, slider_font);
+
+   //Toggle (Line Number)
+   Evas_Object *toggle_linenum = toggle_create(box2, "Line Number",
+                                               config_linenumber_get());
+   elm_box_pack_end(box2, toggle_linenum);
+
+   //Toggle (Auto Indentation)
+   Evas_Object *toggle_indent = toggle_create(box2, "Auto Indentation",
+                                config_auto_indent_get());
+   elm_box_pack_end(box2, toggle_indent);
+
+   //Toggle (Auto Complete)
+   Evas_Object *toggle_autocomp = toggle_create(box2, "Auto Completion",
+                                  config_auto_complete_get());
+   elm_box_pack_end(box2, toggle_autocomp);
+
+   //Toggle (Tools)
+   Evas_Object *toggle_tools = toggle_create(box2, "Tools",
+                                             config_tools_get());
+   elm_box_pack_end(box2, toggle_tools);
+
+   Evas_Object *separator = elm_separator_add(box);
+   evas_object_show(separator);
+   elm_box_pack_end(box, separator);
+
+   //Right Box
+   box2 = elm_box_add(box);
+   elm_box_padding_set(box2, 1, 1);
+   evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, 0);
+   evas_object_show(box2);
+
+   elm_box_pack_end(box, box2);
+
+   //View Scale
+   box3 = elm_box_add(box2);
+   elm_box_padding_set(box2, 1, 1);
+   elm_box_horizontal_set(box3, EINA_TRUE);
+   evas_object_size_hint_weight_set(box3, EVAS_HINT_EXPAND, 0);
+   evas_object_size_hint_align_set(box3, EVAS_HINT_FILL, 0);
+   evas_object_show(box3);
+
+   elm_box_pack_end(box2, box3);
+
    //View Scale (Slider)
-   Evas_Object *slider_view = elm_slider_add(box);
+   Evas_Object *slider_view = elm_slider_add(box2);
    evas_object_size_hint_weight_set(slider_view, EVAS_HINT_EXPAND, 0);
    evas_object_size_hint_align_set(slider_view, 0, 0);
    elm_slider_span_size_set(slider_view, 190);
@@ -265,19 +354,10 @@ general_layout_create(setting_data *sd, Evas_Object 
*parent)
    elm_object_text_set(slider_view, "View Scale");
    evas_object_show(slider_view);
 
-   elm_box_pack_end(box, slider_view);
+   elm_box_pack_end(box3, slider_view);
 
    //View Size
-   Evas_Object *box2 = elm_box_add(box);
-   elm_box_horizontal_set(box2, EINA_TRUE);
-   evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, 0);
-   evas_object_show(box2);
-
-   elm_box_pack_end(box, box2);
-
-   //Box for View Size Entries
-   Evas_Object *box3 = elm_box_add(box2);
+   box3 = elm_box_add(box2);
    elm_box_horizontal_set(box3, EINA_TRUE);
    evas_object_size_hint_weight_set(box3, EVAS_HINT_EXPAND, 0);
    evas_object_size_hint_align_set(box3, EVAS_HINT_FILL, 0);
@@ -286,7 +366,7 @@ general_layout_create(setting_data *sd, Evas_Object *parent)
    elm_box_pack_end(box2, box3);
 
    //Entry (View Size)
-   Evas_Object *entry_view_size = entry_create(box2);
+   Evas_Object *entry_view_size = entry_create(box3);
    elm_object_text_set(entry_view_size, "View Size");
    elm_entry_scrollable_set(entry_view_size, EINA_FALSE);
    elm_entry_editable_set(entry_view_size, EINA_FALSE);
@@ -345,126 +425,26 @@ general_layout_create(setting_data *sd, Evas_Object 
*parent)
 
    //Toggle (View Size)
    Evas_Object *toggle_view_size;
-   toggle_view_size = toggle_create(box2, NULL,
+   toggle_view_size = toggle_create(box3, NULL,
                                     config_view_size_configurable_get());
    evas_object_smart_callback_add(toggle_view_size, "changed",
                                   toggle_view_size_changed_cb, sd);
-   elm_box_pack_end(box2, toggle_view_size);
+   elm_box_pack_end(box3, toggle_view_size);
 
    //Toggle (Part Highlighting)
-   Evas_Object *toggle_highlight = toggle_create(box, "Part Highlighting",
-                                                 config_part_highlight_get());
-   elm_box_pack_end(box, toggle_highlight);
+   Evas_Object *toggle_highlight = toggle_create(box2, "Part Highlighting",
+                                   config_part_highlight_get());
+   elm_box_pack_end(box2, toggle_highlight);
 
    //Toggle (Dummy Swallow)
-   Evas_Object *toggle_swallow = toggle_create(box, "Dummy Swallow",
-                                               config_dummy_swallow_get());
-   elm_box_pack_end(box, toggle_swallow);
+   Evas_Object *toggle_swallow = toggle_create(box2, "Dummy Swallow",
+                                 config_dummy_swallow_get());
+   elm_box_pack_end(box2, toggle_swallow);
 
    //Toggle (Status)
-   Evas_Object *toggle_stats = toggle_create(box, "Status",
+   Evas_Object *toggle_stats = toggle_create(box2, "Status",
                                              config_stats_bar_get());
-   elm_box_pack_end(box, toggle_stats);
-
-   //Toggle (Tools)
-   Evas_Object *toggle_tools = toggle_create(box, "Tools",
-                                             config_tools_get());
-   elm_box_pack_end(box, toggle_tools);
-
-   sd->general_layout = layout;
-   sd->img_path_entry = img_path_entry;
-   sd->snd_path_entry = snd_path_entry;
-   sd->fnt_path_entry = fnt_path_entry;
-   sd->dat_path_entry = dat_path_entry;
-   sd->slider_view = slider_view;
-   sd->view_size_w_entry = entry_view_size_w;
-   sd->view_size_h_entry = entry_view_size_h;
-   sd->toggle_view_size = toggle_view_size;
-   sd->toggle_highlight = toggle_highlight;
-   sd->toggle_swallow = toggle_swallow;
-   sd->toggle_stats = toggle_stats;
-   sd->toggle_tools = toggle_tools;
-
-   return layout;
-}
-
-static void
-general_tab_cb(void *data, Evas_Object *obj EINA_UNUSED,
-               void *event_info EINA_UNUSED)
-{
-   setting_data *sd = data;
-   Evas_Object *content;
-
-   if (!sd->setting_layout) return;
-
-   content = elm_object_part_content_get(sd->setting_layout,
-                                         "elm.swallow.content");
-
-   if (content == sd->general_layout) return;
-
-   elm_object_part_content_unset(sd->setting_layout, "elm.swallow.content");
-   evas_object_hide(content);
-
-   elm_object_part_content_set(sd->setting_layout, "elm.swallow.content",
-                               sd->general_layout);
-   elm_object_focus_set(sd->img_path_entry, EINA_TRUE);
-}
-
-static void
-text_setting_tab_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                   void *event_info EINA_UNUSED)
-{
-   setting_data *sd = data;
-   text_setting_layout_show(sd->setting_layout);
-}
-
-void
-setting_open(void)
-{
-   setting_data *sd = g_sd;
-   if (sd) return;
-
-   sd = calloc(1, sizeof(setting_data));
-   if (!sd)
-     {
-        EINA_LOG_ERR("Failed to allocate Memory!");
-        return;
-     }
-   g_sd = sd;
-
-   text_setting_init();
-
-   search_close();
-   goto_close();
-
-   //Layout
-   Evas_Object *layout = elm_layout_add(base_win_get());
-   elm_layout_file_set(layout, EDJE_PATH, "setting_layout");
-   elm_object_signal_callback_add(layout, "elm,state,dismiss,done", "",
-                                  setting_dismiss_done_cb, sd);
-   evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-   evas_object_show(layout);
-   base_win_resize_object_add(layout);
-
-   //Tabbar
-   Evas_Object *tabbar = elm_toolbar_add(layout);
-   elm_toolbar_shrink_mode_set(tabbar, ELM_TOOLBAR_SHRINK_EXPAND);
-   elm_toolbar_select_mode_set(tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
-   evas_object_size_hint_weight_set(tabbar, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-
-   elm_toolbar_item_append(tabbar, NULL, "General", general_tab_cb, sd);
-   elm_toolbar_item_append(tabbar, NULL, "Text Editor", text_setting_tab_cb, 
sd);
-
-   elm_object_part_content_set(layout, "elm.swallow.tabbar", tabbar);
-
-   //General layout
-   Evas_Object *general_layout = general_layout_create(sd, layout);
-   elm_object_part_content_set(layout, "elm.swallow.content", general_layout);
-
-   //Text setting layout
-   Evas_Object *text_setting_layout;
-   text_setting_layout = text_setting_layout_create(layout);
-   evas_object_hide(text_setting_layout);
+   elm_box_pack_end(box2, toggle_stats);
 
    Evas_Object *btn;
 
@@ -487,6 +467,23 @@ setting_open(void)
    elm_object_part_content_set(layout, "elm.swallow.cancel_btn", btn);
 
    sd->setting_layout = layout;
+   sd->setting_layout = layout;
+   sd->img_path_entry = img_path_entry;
+   sd->snd_path_entry = snd_path_entry;
+   sd->fnt_path_entry = fnt_path_entry;
+   sd->dat_path_entry = dat_path_entry;
+   sd->slider_font = slider_font;
+   sd->slider_view = slider_view;
+   sd->toggle_tools = toggle_tools;
+   sd->toggle_stats = toggle_stats;
+   sd->toggle_linenum = toggle_linenum;
+   sd->toggle_highlight = toggle_highlight;
+   sd->toggle_swallow = toggle_swallow;
+   sd->toggle_indent = toggle_indent;
+   sd->toggle_autocomp = toggle_autocomp;
+   sd->view_size_w_entry = entry_view_size_w;
+   sd->view_size_h_entry = entry_view_size_h;
+   sd->toggle_view_size = toggle_view_size;
 
    menu_activate_request();
 }
diff --git a/src/bin/text_setting.c b/src/bin/text_setting.c
deleted file mode 100644
index 84369e0..0000000
--- a/src/bin/text_setting.c
+++ /dev/null
@@ -1,853 +0,0 @@
-#include "common.h"
-#include "text_setting.h"
-
-#define COLOR_KEYWORD_MAX_CNT 76
-#define SYNTAX_TEMPLATE_MAX_LEN 3072
-#define SYNTAX_TEMPLATE_FONT_SIZE 10
-#define SYNTAX_COLOR_LEN 7
-
-static char color_val[ENVENTOR_SYNTAX_COLOR_LAST][SYNTAX_COLOR_LEN] = {0};
-
-static int color_type_list[COLOR_KEYWORD_MAX_CNT] =
-{
-   ENVENTOR_SYNTAX_COLOR_COMMENT,        ENVENTOR_SYNTAX_COLOR_MACRO,
-   ENVENTOR_SYNTAX_COLOR_MAIN_KEYWORD,   ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_STRING,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_CONSTANT,       ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_MAIN_KEYWORD,   ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_STRING,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_MAIN_KEYWORD,   ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_MAIN_KEYWORD,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_MACRO,          ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_MAIN_KEYWORD,   ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_STRING,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_STRING,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_STRING,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_CONSTANT,       ENVENTOR_SYNTAX_COLOR_STRING,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_STRING,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SUB_KEYWORD,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SCRIPT_KEYWORD, ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SCRIPT_KEYWORD,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SCRIPT_KEYWORD,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SCRIPT_FUNC,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SCRIPT_FUNC,    ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SYMBOL,
-   ENVENTOR_SYNTAX_COLOR_SYMBOL,         ENVENTOR_SYNTAX_COLOR_SYMBOL
-};
-
-static text_setting_data *g_tsd = NULL;
-
-static void
-syntax_template_set(char *syntax_template_str, char *syntax_template_format,
-                    double font_scale)
-{
-   if (!syntax_template_str || !syntax_template_format) return;
-
-   snprintf(syntax_template_str, SYNTAX_TEMPLATE_MAX_LEN, 
syntax_template_format,
-            (int) ((SYNTAX_TEMPLATE_FONT_SIZE * font_scale) + 0.5),
-            color_val[color_type_list[0]],  color_val[color_type_list[1]],
-            color_val[color_type_list[2]],  color_val[color_type_list[3]],
-            color_val[color_type_list[4]],  color_val[color_type_list[5]],
-            color_val[color_type_list[6]],  color_val[color_type_list[7]],
-            color_val[color_type_list[8]],  color_val[color_type_list[9]],
-            color_val[color_type_list[10]], color_val[color_type_list[11]],
-            color_val[color_type_list[12]], color_val[color_type_list[13]],
-            color_val[color_type_list[14]], color_val[color_type_list[15]],
-            color_val[color_type_list[16]], color_val[color_type_list[17]],
-            color_val[color_type_list[18]], color_val[color_type_list[19]],
-            color_val[color_type_list[20]], color_val[color_type_list[21]],
-            color_val[color_type_list[22]], color_val[color_type_list[23]],
-            color_val[color_type_list[24]], color_val[color_type_list[25]],
-            color_val[color_type_list[26]], color_val[color_type_list[27]],
-            color_val[color_type_list[28]], color_val[color_type_list[29]],
-            color_val[color_type_list[30]], color_val[color_type_list[31]],
-            color_val[color_type_list[32]], color_val[color_type_list[33]],
-            color_val[color_type_list[34]], color_val[color_type_list[35]],
-            color_val[color_type_list[36]], color_val[color_type_list[37]],
-            color_val[color_type_list[38]], color_val[color_type_list[39]],
-            color_val[color_type_list[40]], color_val[color_type_list[41]],
-            color_val[color_type_list[42]], color_val[color_type_list[43]],
-            color_val[color_type_list[44]], color_val[color_type_list[45]],
-            color_val[color_type_list[46]], color_val[color_type_list[47]],
-            color_val[color_type_list[48]], color_val[color_type_list[49]],
-            color_val[color_type_list[50]], color_val[color_type_list[51]],
-            color_val[color_type_list[52]], color_val[color_type_list[53]],
-            color_val[color_type_list[54]], color_val[color_type_list[55]],
-            color_val[color_type_list[56]], color_val[color_type_list[57]],
-            color_val[color_type_list[58]], color_val[color_type_list[59]],
-            color_val[color_type_list[60]], color_val[color_type_list[61]],
-            color_val[color_type_list[62]], color_val[color_type_list[63]],
-            color_val[color_type_list[64]], color_val[color_type_list[65]],
-            color_val[color_type_list[66]], color_val[color_type_list[67]],
-            color_val[color_type_list[68]], color_val[color_type_list[69]],
-            color_val[color_type_list[70]], color_val[color_type_list[71]],
-            color_val[color_type_list[72]], color_val[color_type_list[73]],
-            color_val[color_type_list[74]], color_val[color_type_list[75]]);
-}
-
-static void
-syntax_template_apply(void)
-{
-   text_setting_data *tsd = g_tsd;
-   Evas_Object *layout = tsd->text_setting_layout;
-   if (!layout) return;
-
-   Evas_Object *entry = elm_object_part_content_get(layout,
-                                                    
"elm.swallow.text_setting");
-   syntax_template_set(tsd->syntax_template_str, tsd->syntax_template_format,
-                       tsd->font_scale);
-   elm_entry_entry_set(entry, tsd->syntax_template_str);
-}
-
-static void
-text_setting_syntax_color_load(void)
-{
-   const char *color;
-   Enventor_Syntax_Color_Type color_type = ENVENTOR_SYNTAX_COLOR_STRING;
-   for (; color_type < ENVENTOR_SYNTAX_COLOR_LAST; color_type++)
-     {
-        color = config_syntax_color_get(color_type);
-        if (color) strncpy(color_val[color_type], color, 6);
-        else strncpy(color_val[color_type], "FFFFFF", 6);
-     }
-}
-
-void
-text_setting_syntax_color_reset(void)
-{
-   text_setting_syntax_color_load();
-
-   syntax_template_apply();
-}
-
-void
-text_setting_syntax_color_save(void)
-{
-   Enventor_Syntax_Color_Type color_type = ENVENTOR_SYNTAX_COLOR_STRING;
-   for (; color_type < ENVENTOR_SYNTAX_COLOR_LAST; color_type++)
-     {
-        config_syntax_color_set(color_type, color_val[color_type]);
-     }
-}
-
-static void
-text_setting_syntax_color_update(Evas_Object *ctxpopup,
-                                 color_keyword *selected_color_keyword)
-{
-   Evas_Object *box = elm_object_content_get(ctxpopup);
-   Evas_Object *layout;
-   Evas_Object *slider;
-   Eina_List *box_children = elm_box_children_get(box);
-   Eina_List *l;
-   char color[SYNTAX_COLOR_LEN] = {0};
-   char buf[3];
-
-   if (eina_list_count(box_children) == 0) return;
-
-   //Extract color value from sliders
-   EINA_LIST_FOREACH(box_children, l, layout)
-     {
-        slider = elm_object_part_content_get(layout,
-                                             "elm.swallow.slider");
-        snprintf(buf, sizeof(buf), "%02X",
-                 (int) roundf(elm_slider_value_get(slider)));
-        strcat(color, buf);
-     }
-   color[SYNTAX_COLOR_LEN - 1] = '\0';
-
-   //Set the extracted color value to the selected color keyword
-   strncpy(color_val[selected_color_keyword->color_type], color, 7);
-}
-
-static void
-color_btn_up_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                void *event_info EINA_UNUSED)
-{
-   Evas_Object *layout = data;
-   Evas_Object *slider = elm_object_part_content_get(layout,
-                                                     "elm.swallow.slider");
-   Evas_Object *entry = elm_object_part_content_get(layout,
-                                                    "elm.swallow.entry");
-   double value = elm_slider_value_get(slider);
-   char buf[128];
-
-   value += 1;
-
-   snprintf(buf, sizeof(buf), "%1.0f", value);
-   elm_object_text_set(entry, buf);
-}
-
-static void
-color_btn_down_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                  void *event_info EINA_UNUSED)
-{
-   Evas_Object *layout = data;
-   Evas_Object *slider = elm_object_part_content_get(layout,
-                                                     "elm.swallow.slider");
-   Evas_Object *entry = elm_object_part_content_get(layout,
-                                                    "elm.swallow.entry");
-   double value = elm_slider_value_get(slider);
-   char buf[128];
-
-   value -= 1;
-
-   snprintf(buf, sizeof(buf), "%1.0f", value);
-   elm_object_text_set(entry, buf);
-}
-
-static void
-color_ctxpopup_dismiss_cb(void *data, Evas_Object *obj,
-                          void *event_info EINA_UNUSED)
-{
-   evas_object_del(obj);
-}
-
-static void
-color_ctxpopup_del_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
-                      Evas_Object *obj, void *event_info EINA_UNUSED)
-{
-   text_setting_data *tsd = g_tsd;
-   color_keyword *selected_color_keyword;
-   selected_color_keyword = evas_object_data_get(obj, "color_keyword");
-
-   elm_object_disabled_set(tsd->text_setting_layout, EINA_FALSE);
-   elm_object_focus_set(tsd->slider_font, EINA_TRUE);
-
-   text_setting_syntax_color_update(obj, selected_color_keyword);
-   syntax_template_apply();
-
-   elm_config_focus_autoscroll_mode_set(ELM_FOCUS_AUTOSCROLL_MODE_SHOW);
-
-   tsd->color_ctxpopup = NULL;
-}
-
-static void
-color_slider_changed_cb(void *data, Evas_Object *obj,
-                        void *event_info EINA_UNUSED)
-{
-   Evas_Object *entry = data;
-   double val = elm_slider_value_get(obj);
-   char buf[128];
-
-   snprintf(buf, sizeof(buf), "%1.0f", val);
-   elm_object_text_set(entry, buf);
-
-   Evas_Object *ctxpopup = evas_object_data_get(obj, "ctxpopup");
-   color_keyword *selected_color_keyword;
-   selected_color_keyword = evas_object_data_get(ctxpopup, "color_keyword");
-
-   text_setting_syntax_color_update(ctxpopup, selected_color_keyword);
-   syntax_template_apply();
-}
-
-static void
-color_entry_changed_cb(void *data, Evas_Object *obj,
-                       void *event_info EINA_UNUSED)
-{
-   Evas_Object *slider = data;
-   double text_val, val, min_val, max_val;
-   char buf[128];
-
-   text_val = atof(elm_object_text_get(obj));
-   elm_slider_min_max_get(slider, &min_val, &max_val);
-
-   if (text_val < min_val) val = min_val;
-   else if (text_val > max_val) val = max_val;
-   else val = text_val;
-
-   if (val != text_val)
-     {
-        snprintf(buf, sizeof(buf), "%1.0f", val);
-        elm_object_text_set(obj, buf);
-     }
-   else
-     elm_slider_value_set(slider, val);
-}
-
-static Evas_Object *
-color_slider_layout_create(Evas_Object *parent, Evas_Object *ctxpopup,
-                           const char *type, double slider_val)
-{
-   //Layout
-   Evas_Object *layout = elm_layout_add(parent);
-   elm_layout_file_set(layout, EDJE_PATH, "slider_layout");
-   evas_object_show(layout);
-
-   //Type
-   if (type)
-     elm_object_part_text_set(layout, "elm.text.type", type);
-
-   //Slider
-   Evas_Object *slider = elm_slider_add(layout);
-   evas_object_data_set(slider, "ctxpopup", ctxpopup);
-   elm_slider_span_size_set(slider, 120);
-   elm_slider_indicator_show_set(slider, EINA_FALSE);
-   elm_slider_min_max_set(slider, 0, 255);
-   elm_slider_value_set(slider, slider_val);
-
-   char slider_min[16];
-   char slider_max[16];
-   snprintf(slider_min, sizeof(slider_min), "%1.0f", 0.0);
-   snprintf(slider_max, sizeof(slider_max), "%1.0f", 255.0);
-   elm_object_part_text_set(layout, "elm.text.slider_min", slider_min);
-   elm_object_part_text_set(layout, "elm.text.slider_max", slider_max);
-   elm_object_part_content_set(layout, "elm.swallow.slider", slider);
-
-   //Entry
-   char buf[128];
-   Evas_Object *entry = elm_entry_add(layout);
-   elm_entry_context_menu_disabled_set(entry, EINA_TRUE);
-   elm_entry_single_line_set(entry, EINA_TRUE);
-   evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   snprintf(buf, sizeof(buf), "%1.0f", slider_val);
-   elm_object_text_set(entry, buf);
-   elm_object_part_content_set(layout, "elm.swallow.entry", entry);
-
-   Elm_Entry_Filter_Accept_Set digits_filter_data;
-   Elm_Entry_Filter_Limit_Size limit_filter_data;
-   digits_filter_data.accepted = "0123456789";
-   digits_filter_data.rejected = NULL;
-   limit_filter_data.max_char_count = 4;
-   elm_entry_markup_filter_append(entry, elm_entry_filter_accept_set,
-                                  &digits_filter_data);
-   elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
-                                  &limit_filter_data);
-
-   evas_object_smart_callback_add(slider, "changed", color_slider_changed_cb,
-                                  entry);
-   evas_object_smart_callback_add(entry, "changed", color_entry_changed_cb,
-                                  slider);
-
-   Evas_Object *btn;
-   Evas_Object *img;
-
-   //Up Button
-   btn = elm_button_add(layout);
-   evas_object_smart_callback_add(btn, "clicked", color_btn_up_cb, layout);
-   elm_object_part_content_set(layout, "elm.swallow.up", btn);
-
-   //Up Image
-   img = elm_image_add(btn);
-   elm_image_file_set(img, EDJE_PATH, "up");
-   elm_object_content_set(btn, img);
-
-   //Down Button
-   btn = elm_button_add(layout);
-   evas_object_smart_callback_add(btn, "clicked", color_btn_down_cb, layout);
-   elm_object_part_content_set(layout, "elm.swallow.down", btn);
-
-   //Down Image
-   img = elm_image_add(btn);
-   elm_image_file_set(img, EDJE_PATH, "down");
-   elm_object_content_set(btn, img);
-
-   return layout;
-}
-
-static int
-convert_hexadecimal_to_decimal(char *hexadecimal)
-{
-   int i;
-   int len;
-   int decimal = 0;
-   char digit;
-
-   if (!hexadecimal) return 0;
-
-   len = strlen(hexadecimal);
-   if (len == 0) return 0;
-
-   for (i = 0; i < len; i++)
-     {
-        digit = hexadecimal[i];
-
-        if ((digit >= 'a') && (digit <= 'f'))
-          decimal += ((digit - 'a') + 10) * pow(16, (len - i - 1));
-        else if ((digit >= 'A') && (digit <= 'F'))
-          decimal += ((digit - 'A') + 10) * pow(16, (len - i - 1));
-        else if ((digit >= '0') && (digit <= '9'))
-          decimal += atoi(&digit) * pow(16, (len - i - 1));
-     }
-   return decimal;
-}
-
-static void
-color_slider_layout_set(Evas_Object *ctxpopup)
-{
-   text_setting_data *tsd = g_tsd;
-   Eina_Array *type_array;
-   Eina_Stringshare *type;
-   Eina_Array_Iterator itr;
-   unsigned int i;
-   const char *color;
-   char color_rgb_str[3][3] = {0};
-   int color_rgb_val[3];
-   color_keyword *selected_color_keyword;
-   selected_color_keyword = evas_object_data_get(ctxpopup, "color_keyword");
-
-   //Box
-   Evas_Object *box = elm_box_add(ctxpopup);
-   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND,
-                                    EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_show(box);
-
-   //Layout
-   Evas_Object *layout;
-
-   type_array = eina_array_new(3);
-   eina_array_push(type_array, eina_stringshare_add("R"));
-   eina_array_push(type_array, eina_stringshare_add("G"));
-   eina_array_push(type_array, eina_stringshare_add("B"));
-
-   color = config_syntax_color_get(selected_color_keyword->color_type);
-
-   for (i = 0; i < 3; i++)
-     {
-        strncpy(color_rgb_str[i], &color[i * 2], 2);
-        color_rgb_val[i] = convert_hexadecimal_to_decimal(color_rgb_str[i]);
-     }
-
-   EINA_ARRAY_ITER_NEXT(type_array, i, type, itr)
-     {
-        layout = color_slider_layout_create(box, ctxpopup, type,
-                                            color_rgb_val[i]);
-        if (i % 2) elm_object_signal_emit(layout, "odd,item,set", "");
-        elm_box_pack_end(box, layout);
-     }
-
-   while (eina_array_count(type_array))
-     eina_stringshare_del(eina_array_pop(type_array));
-   eina_array_free(type_array);
-
-   elm_object_content_set(ctxpopup, box);
-}
-
-static Evas_Object *
-color_ctxpopup_create(Evas_Object *parent,
-                      color_keyword *selected_color_keyword)
-{
-   Evas_Object *ctxpopup = elm_ctxpopup_add(parent);
-   if (!ctxpopup) return NULL;
-
-   elm_config_focus_autoscroll_mode_set(ELM_FOCUS_AUTOSCROLL_MODE_NONE);
-
-   elm_object_style_set(ctxpopup, "enventor");
-   evas_object_data_set(ctxpopup, "color_keyword", selected_color_keyword);
-   elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_RIGHT,
-                                       ELM_CTXPOPUP_DIRECTION_LEFT,
-                                       ELM_CTXPOPUP_DIRECTION_UP,
-                                       ELM_CTXPOPUP_DIRECTION_DOWN);
-   color_slider_layout_set(ctxpopup);
-
-   evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL,
-                                  color_ctxpopup_del_cb, NULL);
-   evas_object_smart_callback_add(ctxpopup, "dismissed",
-                                  color_ctxpopup_dismiss_cb, NULL);
-   return ctxpopup;
-}
-
-static color_keyword *
-color_keyword_list_create(char *syntax_template_str)
-{
-   char *cur = syntax_template_str;
-   char *next = NULL;
-   int i;
-
-   color_keyword *color_keyword_list = calloc(COLOR_KEYWORD_MAX_CNT,
-                                              sizeof(color_keyword));
-   if (!color_keyword_list)
-     {
-        EINA_LOG_ERR("Failed to allocate Memory!");
-        return NULL;
-     }
-
-   for (i = 0; i < COLOR_KEYWORD_MAX_CNT; i++)
-     {
-        next = strstr(cur, "<color=#");
-        cur = next + 15; //Move position to first character of keyword
-        (color_keyword_list + i)->pos_begin = cur - syntax_template_str;
-
-        next = strstr(cur, "</color>");
-        cur = next - 1; //Move position to last character of keyword
-        (color_keyword_list + i)->pos_end = cur - syntax_template_str;
-
-        (color_keyword_list + i)->color_type = color_type_list[i];
-     }
-
-   return color_keyword_list;
-}
-
-static char *
-syntax_template_format_create(void)
-{
-   text_setting_data *tsd = g_tsd;
-
-   text_setting_syntax_color_load();
-
-   char file_path[PATH_MAX];
-   snprintf(file_path, sizeof(file_path), "%s/color/syntax_template.dat",
-            elm_app_data_dir_get());
-
-   Eina_File *file = NULL;
-   file = eina_file_open(file_path, EINA_FALSE);
-   if (!file)
-     {
-        EINA_LOG_ERR("Failed to open file \"%s\"", file_path);
-        return NULL;
-     }
-
-   char *utf8 = eina_file_map_all(file, EINA_FILE_POPULATE);
-   if (!utf8) goto syntax_template_format_create_err;
-
-   char *syntax_template_format = calloc(1, sizeof(char) * (strlen(utf8) + 1));
-   if (!syntax_template_format) goto syntax_template_format_create_err;
-   strcpy(syntax_template_format, utf8);
-
-   tsd->syntax_template_format = syntax_template_format;
-
-   eina_file_close(file);
-
-   return tsd->syntax_template_format;
-
-syntax_template_format_create_err:
-   EINA_LOG_ERR("Failed to allocate Memory!");
-   if (utf8) free(utf8);
-
-   eina_file_close(file);
-
-   return NULL;
-}
-
-static char *
-syntax_template_create(double font_scale)
-{
-   text_setting_data *tsd = g_tsd;
-   char *syntax_template_format = syntax_template_format_create();
-   if (!syntax_template_format) goto syntax_template_create_err;
-
-   char *syntax_template_str = NULL;
-   syntax_template_str = calloc(1, sizeof(char) * SYNTAX_TEMPLATE_MAX_LEN);
-   if (!syntax_template_str) goto syntax_template_create_err;
-
-   syntax_template_set(syntax_template_str, syntax_template_format, 
font_scale);
-
-   color_keyword *color_keyword_list;
-   color_keyword_list = color_keyword_list_create(syntax_template_str);
-   if (!color_keyword_list) goto syntax_template_create_err;
-
-   tsd->syntax_template_str = syntax_template_str;
-   tsd->color_keyword_list = color_keyword_list;
-
-   return tsd->syntax_template_str;
-
-syntax_template_create_err:
-   EINA_LOG_ERR("Failed to allocate Memory!");
-   if (syntax_template_format)
-     {
-        free(syntax_template_format);
-        tsd->syntax_template_format = NULL;
-     }
-   if (syntax_template_str) free(syntax_template_str);
-
-   return NULL;
-}
-
-static int
-color_keyword_pos_get(const char *syntax_template_str, const char 
*selected_str)
-{
-   Eina_Bool left_arrow_found = EINA_FALSE;
-   char *cur;
-   int i;
-   int len = 0;
-   int pos = 0;
-
-   cur = strstr(syntax_template_str, selected_str);
-   len = strlen(cur);
-   for (i = 0; i < len; i++)
-     {
-        if (left_arrow_found)
-          {
-             if (*(cur + i) == '>')
-               left_arrow_found = EINA_FALSE;
-             continue;
-          }
-
-        if (*(cur + i) == '<')
-          {
-             left_arrow_found = EINA_TRUE;
-          }
-        else
-          {
-             pos = (cur + i) - syntax_template_str;
-             break;
-          }
-     }
-
-   return pos;
-}
-
-static void
-text_setting_double_clicked_cb(void *data, Evas_Object *obj,
-                               void *event_info EINA_UNUSED)
-{
-   text_setting_data *tsd = data;
-   color_keyword *selected_color_keyword;
-   Evas_Object *ctxpopup;
-   const char *syntax_template_str;
-   const char *selected_str;
-   int i;
-   int pos;
-   int x, y;
-
-   syntax_template_str = elm_entry_entry_get(obj);
-   if (!syntax_template_str) return;
-
-   selected_str = elm_entry_selection_get(obj);
-   if (!selected_str) return;
-
-   pos = color_keyword_pos_get(syntax_template_str, selected_str);
-
-   for (i = 0; i < COLOR_KEYWORD_MAX_CNT; i++)
-     {
-        selected_color_keyword = tsd->color_keyword_list + i;
-        if ((pos >= selected_color_keyword->pos_begin) &&
-            (pos <= selected_color_keyword->pos_end))
-          {
-             ctxpopup = color_ctxpopup_create(tsd->text_setting_layout,
-                                              selected_color_keyword);
-             if (!ctxpopup) return;
-
-             evas_pointer_output_xy_get(evas_object_evas_get(obj), &x, &y);
-             evas_object_move(ctxpopup, x, y);
-             evas_object_show(ctxpopup);
-             tsd->color_ctxpopup = ctxpopup;
-             break;
-          }
-     }
-}
-
-static Evas_Object *
-toggle_create(Evas_Object *parent, const char *text, Eina_Bool state)
-{
-   Evas_Object *toggle = elm_check_add(parent);
-   elm_object_style_set(toggle, "toggle");
-   elm_check_state_set(toggle, state);
-   evas_object_size_hint_weight_set(toggle, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(toggle, EVAS_HINT_FILL, 0);
-   elm_object_text_set(toggle, text);
-   evas_object_show(toggle);
-
-   return toggle;
-}
-
-static void
-font_scale_slider_changed_cb(void *data, Evas_Object *obj,
-                             void *event_info EINA_UNUSED)
-{
-   text_setting_data *tsd = data;
-   double val = elm_slider_value_get(obj);
-   tsd->font_scale = val;
-
-   syntax_template_apply();
-}
-
-Evas_Object *
-text_setting_layout_create(Evas_Object *parent)
-{
-   text_setting_data *tsd = g_tsd;
-
-   //Layout
-   Evas_Object *layout = elm_layout_add(parent);
-   elm_layout_file_set(layout, EDJE_PATH, "text_setting_layout");
-   evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-   evas_object_show(layout);
-
-   //Text Editor
-   Evas_Object *entry = elm_entry_add(layout);
-   elm_entry_context_menu_disabled_set(entry, EINA_TRUE);
-   elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
-   elm_entry_scrollable_set(entry, EINA_TRUE);
-   elm_entry_editable_set(entry, EINA_FALSE);
-   evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
-   tsd->font_scale = (double) config_font_scale_get();
-   char *syntax_template_str = syntax_template_create(tsd->font_scale);
-   elm_entry_entry_set(entry, syntax_template_str);
-   evas_object_smart_callback_add(entry, "clicked,double",
-                                  text_setting_double_clicked_cb, tsd);
-   elm_object_focus_set(entry, EINA_TRUE);
-   elm_object_part_content_set(layout, "elm.swallow.text_setting", entry);
-
-   //Preference
-   Evas_Object *scroller = elm_scroller_add(layout);
-   elm_object_part_content_set(layout, "elm.swallow.preference", scroller);
-
-   //Box
-   Evas_Object *box = elm_box_add(scroller);
-   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0);
-   evas_object_show(box);
-
-   elm_object_content_set(scroller, box);
-
-   //Font Size (Box)
-   Evas_Object *box2 = elm_box_add(box);
-   elm_box_horizontal_set(box2, EINA_TRUE);
-   evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, 0);
-   evas_object_show(box2);
-
-   elm_box_pack_end(box, box2);
-
-   //Font Size (Slider)
-   Evas_Object *slider_font = elm_slider_add(box2);
-   evas_object_size_hint_weight_set(slider_font, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(slider_font, 0, 0);
-   elm_slider_span_size_set(slider_font, 190);
-   elm_slider_indicator_show_set(slider_font, EINA_FALSE);
-   elm_slider_unit_format_set(slider_font, "%1.1fx");
-   elm_slider_min_max_set(slider_font, MIN_FONT_SCALE, MAX_FONT_SCALE);
-   elm_slider_value_set(slider_font, tsd->font_scale);
-   elm_object_text_set(slider_font, "Font Size");
-   evas_object_smart_callback_add(slider_font, "changed",
-                                  font_scale_slider_changed_cb, tsd);
-   evas_object_show(slider_font);
-   elm_object_focus_set(slider_font, EINA_TRUE);
-
-   elm_box_pack_end(box2, slider_font);
-
-   //Toggle (Line Number)
-   Evas_Object *toggle_linenum = toggle_create(box, "Line Number",
-                                               config_linenumber_get());
-   elm_box_pack_end(box, toggle_linenum);
-
-   //Toggle (Auto Indentation)
-   Evas_Object *toggle_indent = toggle_create(box, "Auto Indentation",
-                                              config_auto_indent_get());
-   elm_box_pack_end(box, toggle_indent);
-
-   //Toggle (Auto Completion)
-   Evas_Object *toggle_autocomp = toggle_create(box, "Auto Completion",
-                                                config_auto_complete_get());
-   elm_box_pack_end(box, toggle_autocomp);
-
-   tsd->text_setting_layout = layout;
-   tsd->slider_font = slider_font;
-   tsd->toggle_linenum = toggle_linenum;
-   tsd->toggle_indent = toggle_indent;
-   tsd->toggle_autocomp = toggle_autocomp;
-
-   return layout;
-}
-
-void
-text_setting_layout_show(Evas_Object *setting_layout)
-{
-   text_setting_data *tsd = g_tsd;
-   Evas_Object *content;
-
-   if (!setting_layout) return;
-
-   content = elm_object_part_content_get(setting_layout,
-                                         "elm.swallow.content");
-
-   if (content == tsd->text_setting_layout) return;
-
-   elm_object_part_content_unset(setting_layout, "elm.swallow.content");
-   evas_object_hide(content);
-
-   elm_object_part_content_set(setting_layout, "elm.swallow.content",
-                               tsd->text_setting_layout);
-   elm_object_focus_set(tsd->slider_font, EINA_TRUE);
-}
-
-void
-text_setting_config_set(void)
-{
-   text_setting_data *tsd = g_tsd;
-
-   config_font_scale_set((float) elm_slider_value_get(tsd->slider_font));
-   config_linenumber_set(elm_check_state_get(tsd->toggle_linenum));
-   config_auto_indent_set(elm_check_state_get(tsd->toggle_indent));
-   config_auto_complete_set(elm_check_state_get(tsd->toggle_autocomp));
-}
-
-void
-text_setting_font_scale_set(double font_scale)
-{
-   text_setting_data *tsd = g_tsd;
-   tsd->font_scale = font_scale;
-   elm_slider_value_set(tsd->slider_font, tsd->font_scale);
-}
-
-void
-text_setting_linenumber_set(Eina_Bool enabled)
-{
-   text_setting_data *tsd = g_tsd;
-   elm_check_state_set(tsd->toggle_linenum, enabled);
-}
-
-void
-text_setting_auto_indent_set(Eina_Bool enabled)
-{
-   text_setting_data *tsd = g_tsd;
-   elm_check_state_set(tsd->toggle_indent, enabled);
-}
-
-void
-text_setting_auto_complete_set(Eina_Bool enabled)
-{
-   text_setting_data *tsd = g_tsd;
-   elm_check_state_set(tsd->toggle_autocomp, enabled);
-}
-
-void
-text_setting_init(void)
-{
-   text_setting_data *tsd = g_tsd;
-   if (tsd) return;
-
-   tsd = calloc(1, sizeof(text_setting_data));
-   if (!tsd)
-     {
-        EINA_LOG_ERR("Failed to allocate Memory!");
-        return;
-     }
-   g_tsd = tsd;
-}
-
-void
-text_setting_term(void)
-{
-   text_setting_data *tsd = g_tsd;
-   if (!tsd) return;
-
-   if (tsd->color_ctxpopup)
-     evas_object_del(tsd->color_ctxpopup);
-
-   if (tsd->color_keyword_list)
-     free(tsd->color_keyword_list);
-   if (tsd->syntax_template_format)
-     free(tsd->syntax_template_format);
-   if (tsd->syntax_template_str)
-     free(tsd->syntax_template_str);
-   free(tsd);
-   g_tsd = NULL;
-}
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
index 2875f75..c38884c 100644
--- a/src/include/Makefile.am
+++ b/src/include/Makefile.am
@@ -11,7 +11,6 @@ EXTRA_DIST = common.h \
        newfile.h \
        goto.h \
        setting.h \
-       text_setting.h \
        search.h \
        live_edit.h \
        console.h \
diff --git a/src/include/config_data.h b/src/include/config_data.h
index 3d6e521..f40ac65 100644
--- a/src/include/config_data.h
+++ b/src/include/config_data.h
@@ -19,6 +19,8 @@ Eina_List *config_edc_img_path_list_get(void);
 Eina_List *config_edc_snd_path_list_get(void);
 Eina_List *config_edc_fnt_path_list_get(void);
 Eina_List *config_edc_dat_path_list_get(void);
+void config_syntax_color_set(Enventor_Syntax_Color_Type color_type, const char 
*val);
+const char *config_syntax_color_get(Enventor_Syntax_Color_Type color_type);
 void config_update_cb_set(void (*cb)(void *data), void *data);
 void config_stats_bar_set(Eina_Bool enabled);
 void config_linenumber_set(Eina_Bool enabled);
diff --git a/src/include/text_setting.h b/src/include/text_setting.h
deleted file mode 100644
index 1910f1b..0000000
--- a/src/include/text_setting.h
+++ /dev/null
@@ -1,35 +0,0 @@
-typedef struct color_keyword_s
-{
-   int pos_begin;
-   int pos_end;
-   int color_type;
-} color_keyword;
-
-struct text_setting_s
-{
-   Evas_Object *text_setting_layout;
-   Evas_Object *color_ctxpopup;
-
-   Evas_Object *slider_font;
-   Evas_Object *toggle_linenum;
-   Evas_Object *toggle_indent;
-   Evas_Object *toggle_autocomp;
-
-   color_keyword *color_keyword_list;
-   char *syntax_template_format;
-   char *syntax_template_str;
-
-   double font_scale;
-};
-
-typedef struct text_setting_s text_setting_data;
-
-Evas_Object *text_setting_layout_create(Evas_Object *parent);
-void text_setting_layout_show(Evas_Object *setting_layout);
-void text_setting_syntax_color_reset(void);
-void text_setting_syntax_color_save(void);
-void text_setting_config_set(void);
-void text_setting_font_scale_set(double font_scale);
-void text_setting_linenumber_set(Eina_Bool enabled);
-void text_setting_auto_indent_set(Eina_Bool enabled);
-void text_setting_auto_complete_set(Eina_Bool enabled);

-- 


Reply via email to