billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=7c4a98927966d8abaef3fdef407f065bac7721b6

commit 7c4a98927966d8abaef3fdef407f065bac7721b6
Author: Markus Törnqvist <m...@fadconsulting.com>
Date:   Sat Jan 11 16:22:18 2014 +0200

    Settings option for login_shell
---
 src/bin/options_behavior.c | 39 +++++++++++++++++++++++++++++----------
 1 file changed, 29 insertions(+), 10 deletions(-)

diff --git a/src/bin/options_behavior.c b/src/bin/options_behavior.c
index 3cd06b3..1e671fa 100644
--- a/src/bin/options_behavior.c
+++ b/src/bin/options_behavior.c
@@ -252,6 +252,15 @@ _cb_op_behavior_cg_height(void *data, Evas_Object *obj, 
void *event EINA_UNUSED)
      }
 }
 
+static void
+_cb_op_behavior_login_shell_chg(void *data, Evas_Object *obj, void *event 
EINA_UNUSED)
+{
+   Evas_Object *term = data;
+   Config *config = termio_config_get(term);
+   config->login_shell = elm_check_state_get(obj);
+   config_save(config, NULL);
+}
+
 void
 options_behavior(Evas_Object *opbox, Evas_Object *term)
 {
@@ -268,20 +277,20 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
    elm_object_text_set(o, "Behavior");
    elm_box_pack_end(opbox, o);
    evas_object_show(o);
-   
+
    sc = o = elm_scroller_add(opbox);
    elm_scroller_content_min_limit(sc, EINA_TRUE, EINA_FALSE);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
    elm_object_content_set(fr, o);
    evas_object_show(o);
-   
+
    bx = o = elm_box_add(opbox);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.0);
    elm_object_content_set(sc, o);
    evas_object_show(o);
-   
+
    o = elm_check_add(bx);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.5);
@@ -321,7 +330,7 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
    evas_object_show(o);
    evas_object_smart_callback_add(o, "changed",
                                   _cb_op_behavior_cursor_blink_chg, term);
-   
+
    o = elm_check_add(bx);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.5);
@@ -331,7 +340,7 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
    evas_object_show(o);
    evas_object_smart_callback_add(o, "changed",
                                   _cb_op_behavior_visual_bell_chg, term);
-   
+
    o = elm_check_add(bx);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.5);
@@ -341,7 +350,7 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
    evas_object_show(o);
    evas_object_smart_callback_add(o, "changed",
                                   _cb_op_behavior_urg_bell_chg, term);
-   
+
    o = elm_check_add(bx);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.5);
@@ -399,6 +408,16 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
    o = elm_check_add(bx);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, "Start as login shell");
+   elm_check_state_set(o, config->login_shell);
+   elm_box_pack_end(bx, o);
+   evas_object_show(o);
+   evas_object_smart_callback_add(o, "changed",
+                                  _cb_op_behavior_login_shell_chg, term);
+
+   o = elm_check_add(bx);
+   evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.5);
    elm_object_text_set(o, "Always open at size:");
    elm_check_state_set(o, config->custom_geometry);
    elm_box_pack_end(bx, o);
@@ -450,7 +469,7 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
    elm_separator_horizontal_set(o, EINA_TRUE);
    elm_box_pack_end(bx, o);
    evas_object_show(o);
-   
+
    o = elm_label_add(bx);
    evas_object_size_hint_weight_set(o, 0.0, 0.0);
    evas_object_size_hint_align_set(o, 0.0, 0.5);
@@ -481,14 +500,14 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
    elm_separator_horizontal_set(o, EINA_TRUE);
    elm_box_pack_end(bx, o);
    evas_object_show(o);
-   
+
    o = elm_label_add(bx);
    evas_object_size_hint_weight_set(o, 0.0, 0.0);
    evas_object_size_hint_align_set(o, 0.0, 0.5);
    elm_object_text_set(o, "Scrollback:");
    elm_box_pack_end(bx, o);
    evas_object_show(o);
-   
+
    o = elm_slider_add(bx);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.0);
@@ -521,7 +540,7 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
    evas_object_show(o);
    evas_object_smart_callback_add(o, "delay,changed",
                                   _cb_op_behavior_tab_zoom_slider_chg, term);
-   
+
    evas_object_size_hint_weight_set(opbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(opbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_show(o);

-- 


Reply via email to