summaryrefslogtreecommitdiff
path: root/src/modules/conf_dialogs
diff options
context:
space:
mode:
authorHannes Janetzek <hannes.janetzek@gmail.com>2009-09-21 20:36:35 +0000
committerHannes Janetzek <hannes.janetzek@gmail.com>2009-09-21 20:36:35 +0000
commit91211ef9c40a090325734e8783ccc2b6a51e0dc4 (patch)
tree9d7954c668b10e50f7dffafbc981f5287e77d339 /src/modules/conf_dialogs
parent74c9efaa78a4b31285fd1e173796dadf117d85b0 (diff)
downloadenlightenment-91211ef9c40a090325734e8783ccc2b6a51e0dc4.tar.gz
reopen fileman and dialog windows after restart of e.
- modules using e_configure_registry_add must be modified to use registry path as window class for this to work - fileman now uses e_remember to remember position instead of handling it separately - added option to window remember for remembering dialogs and fileman windows automatically SVN revision: 42607
Diffstat (limited to 'src/modules/conf_dialogs')
-rw-r--r--src/modules/conf_dialogs/e_int_config_dialogs.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/modules/conf_dialogs/e_int_config_dialogs.c b/src/modules/conf_dialogs/e_int_config_dialogs.c
index 530106a51c..85d68ffdc0 100644
--- a/src/modules/conf_dialogs/e_int_config_dialogs.c
+++ b/src/modules/conf_dialogs/e_int_config_dialogs.c
@@ -15,6 +15,7 @@ struct _E_Config_Dialog_Data
int cfgdlg_auto_apply;
int cfgdlg_default_mode;
int cfgdlg_normal_wins;
+ int remember_windows;
};
EAPI E_Config_Dialog *
@@ -23,7 +24,7 @@ e_int_config_dialogs(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_config_dialog_dialog")) return NULL;
+ if (e_config_dialog_find("E", "settings/dialogs")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -34,7 +35,7 @@ e_int_config_dialogs(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Dialog Settings"),
- "E", "_config_config_dialog_dialog",
+ "E", "settings/dialogs",
"preferences-dialogs", 0, v, NULL);
return cfd;
}
@@ -46,6 +47,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->cfgdlg_auto_apply = e_config->cfgdlg_auto_apply;
cfdata->cfgdlg_default_mode = e_config->cfgdlg_default_mode;
cfdata->cfgdlg_normal_wins = e_config->cfgdlg_normal_wins;
+ cfdata->remember_windows = (e_config->remember_internal_windows & E_REMEMBER_INTERNAL_DIALOGS);
}
static void *
@@ -72,6 +74,11 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
/* (e_config->cfgdlg_auto_apply = cfdata->cfgdlg_auto_apply; */
e_config->cfgdlg_default_mode = cfdata->cfgdlg_default_mode;
e_config->cfgdlg_normal_wins = cfdata->cfgdlg_normal_wins;
+ if (cfdata->remember_windows)
+ e_config->remember_internal_windows |= E_REMEMBER_INTERNAL_DIALOGS;
+ else
+ e_config->remember_internal_windows &= ~E_REMEMBER_INTERNAL_DIALOGS;
+
e_config_save_queue();
return 1;
}
@@ -105,6 +112,11 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_list_object_append(o, of, 1, 1, 0.5);
+ of = e_widget_framelist_add(evas, _("Remember"), 0);
+ ob = e_widget_check_add(evas, _("Remember size and position of dialogs"), &(cfdata->remember_windows));
+ e_widget_framelist_object_append(of, ob);
+ e_widget_list_object_append(o, of, 1, 1, 0.5);
+
return o;
}