Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/dialogs


Modified Files:
        etk_options_dialog.c 


Log Message:
* More config dialog

===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/dialogs/etk_options_dialog.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- etk_options_dialog.c        1 Sep 2006 11:07:51 -0000       1.8
+++ etk_options_dialog.c        1 Sep 2006 11:59:45 -0000       1.9
@@ -14,9 +14,13 @@
 Entropy_Etk_Options_Object* entropy_etk_options_object_create(char* name) 
 {
        Entropy_Etk_Options_Object* obj;
+       char* val;
 
        obj = calloc(1, sizeof(Entropy_Etk_Options_Object));
        obj->name = strdup(name);
+       if ( (val = entropy_config_misc_item_str_get(name))) {
+               obj->value = strdup(val);
+       }
 
        ecore_hash_set(_entropy_global_options_hash, obj->name, obj);
 
@@ -97,9 +101,11 @@
                keys = ecore_hash_keys(_entropy_global_options_hash);
                while ((key = ecore_list_remove_first(keys))) {
                        c_obj = ecore_hash_get(_entropy_global_options_hash, 
key);
-                       printf("'%s' -> '%s'\n", key, c_obj->value);
-
-                       entropy_config_misc_item_str_set(key,c_obj->value, 
ENTROPY_CONFIG_LOC_HASH);
+                       
+                       if (c_obj->value) {
+                               printf("'%s' -> '%s'\n", key, c_obj->value);
+                               
entropy_config_misc_item_str_set(key,c_obj->value, ENTROPY_CONFIG_LOC_HASH);
+                       }
                }
                ecore_list_destroy(keys);
        }
@@ -117,6 +123,42 @@
        
 }
 
+Etk_Widget* etk_options_dialog_checkbox_new(char* label, char* config_item)
+{
+       Etk_Widget* check;
+       
+        check = etk_check_button_new_with_label(label);
+       etk_signal_connect("toggled", ETK_OBJECT(check), 
+               ETK_CALLBACK(entropy_etk_options_radio_generic_cb), 
config_item);
+
+       if (entropy_config_misc_is_set(config_item))
+               etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(check), 
ETK_TRUE);
+       else
+               etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(check), 
ETK_FALSE);
+
+       return check;
+}
+
+Etk_Widget* etk_options_dialog_radiobutton_new(char* label, char* config_item, 
Etk_Widget* from)
+{
+       Etk_Widget* radio;
+       
+        if (!from) 
+               radio = etk_radio_button_new_with_label(label,NULL);
+       else
+               radio = etk_radio_button_new_with_label_from_widget(label, 
ETK_RADIO_BUTTON(from));
+       
+       etk_signal_connect("toggled", ETK_OBJECT(radio), 
+               ETK_CALLBACK(entropy_etk_options_radio_generic_cb), 
config_item);
+
+       if (entropy_config_misc_is_set(config_item))
+               etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(radio), 
ETK_TRUE);
+       else
+               etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(radio), 
ETK_FALSE);
+
+       return radio;
+}
+
 void entropy_etk_options_dialog_create()
 {
        Etk_Widget* toolbar;
@@ -127,7 +169,6 @@
        Etk_Widget* ivbox;
        Etk_Widget* iivbox;
        Etk_Widget* radio;
-       Etk_Widget* check;
        Etk_Widget* hbox;
        Etk_Widget* slider;
        Etk_Widget* label;
@@ -161,29 +202,24 @@
              iivbox = etk_vbox_new(ETK_FALSE,0);
              etk_container_add(ETK_CONTAINER(iframe), iivbox);
 
-             radio = etk_radio_button_new_with_label("List view", NULL);
-             etk_box_append(ETK_BOX(iivbox), radio, ETK_BOX_START, 
ETK_BOX_NONE, 0);
-             etk_signal_connect("toggled", ETK_OBJECT(radio), 
-                 ETK_CALLBACK(entropy_etk_options_radio_generic_cb), 
"general.listviewer" );
-             radio = etk_radio_button_new_with_label_from_widget("Icon view", 
ETK_RADIO_BUTTON(radio));
-             etk_box_append(ETK_BOX(iivbox), radio, ETK_BOX_START, 
ETK_BOX_NONE, 0);
-             etk_signal_connect("toggled", ETK_OBJECT(radio), 
-                 ETK_CALLBACK(entropy_etk_options_radio_generic_cb), 
"general.iconviewer" );
-            
-           check = etk_check_button_new_with_label("Show trackback viewer");
-          etk_box_append(ETK_BOX(ivbox), check, ETK_BOX_START, ETK_BOX_NONE, 
0);
-          etk_signal_connect("toggled", ETK_OBJECT(check), 
-               ETK_CALLBACK(entropy_etk_options_radio_generic_cb), 
"general.trackback");
+          radio=etk_options_dialog_radiobutton_new("Icon view", 
"general.iconviewer", NULL);
+          etk_box_append(ETK_BOX(iivbox),radio , ETK_BOX_START, ETK_BOX_NONE, 
0);
+          etk_box_append(ETK_BOX(iivbox), etk_options_dialog_radiobutton_new(
+                       "List view", "general.listviewer", radio), 
ETK_BOX_START, ETK_BOX_NONE, 0);
+          
+          etk_box_append(ETK_BOX(ivbox), 
+                          etk_options_dialog_checkbox_new("Show trackback 
viewer", "general.trackback"), 
+                          ETK_BOX_START, ETK_BOX_NONE, 0); 
+
+          etk_box_append(ETK_BOX(ivbox), 
+                          etk_options_dialog_checkbox_new("Show folders before 
files", "general.presortfolders"), 
+                          ETK_BOX_START, ETK_BOX_NONE, 0); 
              
-           check = etk_check_button_new_with_label("Sort folders before 
files");
-          etk_box_append(ETK_BOX(ivbox), check, ETK_BOX_START, ETK_BOX_NONE, 
0);
-          etk_signal_connect("toggled", ETK_OBJECT(check), 
-               ETK_CALLBACK(entropy_etk_options_radio_generic_cb), 
"general.presortfolders");
-           check = etk_check_button_new_with_label("Show hidden and backup 
files");
-          etk_box_append(ETK_BOX(ivbox), check, ETK_BOX_START, ETK_BOX_NONE, 
0);
-          etk_signal_connect("toggled", ETK_OBJECT(check), 
-               ETK_CALLBACK(entropy_etk_options_radio_generic_cb), 
"general.hiddenbackup");
-
+           
+          etk_box_append(ETK_BOX(ivbox), 
+                          etk_options_dialog_checkbox_new("Show hidden and 
backup files", "general.hiddenbackup"), 
+                          ETK_BOX_START, ETK_BOX_NONE, 0); 
+                          
           iframe = etk_frame_new("Icon View Settings");
           etk_box_append(ETK_BOX(ivbox), iframe, ETK_BOX_START, ETK_BOX_NONE, 
0);
              iivbox = etk_vbox_new(ETK_FALSE,0);



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to