diff options
author | Hannes Janetzek <hannes.janetzek@gmail.com> | 2009-09-21 20:36:35 +0000 |
---|---|---|
committer | Hannes Janetzek <hannes.janetzek@gmail.com> | 2009-09-21 20:36:35 +0000 |
commit | 91211ef9c40a090325734e8783ccc2b6a51e0dc4 (patch) | |
tree | 9d7954c668b10e50f7dffafbc981f5287e77d339 /src/modules/conf_dialogs | |
parent | 74c9efaa78a4b31285fd1e173796dadf117d85b0 (diff) | |
download | enlightenment-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.c | 16 |
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; } |