fileman config dialog improvements.
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Sun, 19 Apr 2009 08:57:01 +0000 (08:57 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Sun, 19 Apr 2009 08:57:01 +0000 (08:57 +0000)
 * comment non-implemented/non-working layout modes.

 * implement check_changed.

SVN revision: 40219

src/modules/fileman/e_mod_config.c

index c29c49e..330a7ab 100644 (file)
@@ -74,6 +74,7 @@ static void *_create_data(E_Config_Dialog *cfd);
 static void  _fill_data(E_Config_Dialog_Data *cfdata);
 static void  _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
 static int   _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
+static int   _basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
 static Evas_Object *_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
 
 EAPI E_Config_Dialog *
@@ -88,6 +89,7 @@ e_int_config_fileman(E_Container *con, const char *params __UNUSED__)
    v->free_cfdata = _free_data;
    v->basic.apply_cfdata = _basic_apply;
    v->basic.create_widgets = _basic_create;
+   v->basic.check_changed = _basic_check_changed;
    cfd = e_config_dialog_new(con, _("Fileman Settings"), "E", 
                             "_config_fileman_dialog",
                             "system-file-manager", 0, v, NULL);
@@ -165,6 +167,26 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
    return 1;
 }
 
+static int
+_basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
+{
+   return
+     ((fileman_config->view.mode != cfdata->view.mode) ||
+      (fileman_config->view.open_dirs_in_place != cfdata->view.open_dirs_in_place) ||
+      (fileman_config->view.single_click != cfdata->view.single_click) ||
+      (fileman_config->view.show_full_path != cfdata->view.show_full_path) ||
+      (fileman_config->view.show_desktop_icons != cfdata->view.show_desktop_icons) ||
+      (fileman_config->view.show_toolbar != cfdata->view.show_toolbar) ||
+      (fileman_config->icon.extension.show != cfdata->icon.extension.show) ||
+      (fileman_config->selection.windows_modifiers != cfdata->selection.windows_modifiers) ||
+      (fileman_config->icon.icon.w != cfdata->icon.icon.w) ||
+      (fileman_config->icon.icon.h != cfdata->icon.icon.w) ||
+      (fileman_config->list.sort.dirs.first != cfdata->list.sort.dirs.first) ||
+      (fileman_config->list.sort.dirs.last != !(cfdata->list.sort.dirs.first)) ||
+      (fileman_config->list.sort.no_case != !(cfdata->list.sort.case_sen)) ||
+      (e_config->hal_desktop != cfdata->hal.desktop));
+}
+
 static Evas_Object *
 _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) 
 {
@@ -176,19 +198,19 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
    o = e_widget_list_add(evas, 0, 0);
    of = e_widget_framelist_add(evas, _("View Mode"), 0);
    rg = e_widget_radio_group_new(&(cfdata->view.mode));
-   ob = e_widget_radio_add(evas, _("Icons"), 0, rg);
-   e_widget_disabled_set(ob, 1);
-   e_widget_framelist_object_append(of, ob);
+/*    ob = e_widget_radio_add(evas, _("Icons"), 0, rg); */
+/*    e_widget_disabled_set(ob, 1); */
+/*    e_widget_framelist_object_append(of, ob); */
    ob = e_widget_radio_add(evas, _("Grid Icons"), 1, rg);
    e_widget_framelist_object_append(of, ob);
    ob = e_widget_radio_add(evas, _("Custom Icons"), 2, rg);
    e_widget_framelist_object_append(of, ob);
-   ob = e_widget_radio_add(evas, _("Custom Grid Icons"), 3, rg);
-   e_widget_disabled_set(ob, 1);
-   e_widget_framelist_object_append(of, ob);
-   ob = e_widget_radio_add(evas, _("Custom Smart Grid Icons"), 4, rg);
-   e_widget_disabled_set(ob, 1);
-   e_widget_framelist_object_append(of, ob);
+/*    ob = e_widget_radio_add(evas, _("Custom Grid Icons"), 3, rg); */
+/*    e_widget_disabled_set(ob, 1); */
+/*    e_widget_framelist_object_append(of, ob); */
+/*    ob = e_widget_radio_add(evas, _("Custom Smart Grid Icons"), 4, rg); */
+/*    e_widget_disabled_set(ob, 1); */
+/*    e_widget_framelist_object_append(of, ob); */
    ob = e_widget_radio_add(evas, _("List"), 5, rg);
    e_widget_framelist_object_append(of, ob);
    e_widget_list_object_append(o, of, 1, 1, 0.5);