TODO-- Fsel now displays the current directory. Should we allow the user to browse the fsel using this current directory entry?

SVN revision: 25161
This commit is contained in:
titan 2006-08-27 16:16:57 +00:00 committed by titan
parent 8bded715c7
commit 043e1be03d
2 changed files with 20 additions and 4 deletions

1
TODO
View File

@ -34,7 +34,6 @@ Some of the things (in very short form) that need to be done to E17...
* fm2 .desktop parser needs to handle i18n
* fm2 needs a mime filter
* fm2 needs to have a mime & filetype -> icon mapping
* fsel needs to display the current dir (for better context) somewhere
* eap editor is broken - segv in advanced mode
* use .desktop files and move eap editor to edit them etc. etc. instead to fix
* if we want to do icons on the desktop - and as part of efm, i am thinking

View File

@ -28,8 +28,10 @@ struct _E_Widget_Data
Evas_Object *o_favorites_add;
Evas_Object *o_files_frame;
Evas_Object *o_files_fm;
Evas_Object *o_directory_entry;
Evas_Object *o_entry;
Evas_Coord preview_w, preview_h;
char *directory_entry_text;
char *entry_text;
char *preview_size_text;
char *preview_owner_text;
@ -62,6 +64,8 @@ _e_wid_fsel_button_up(void *data1, void *data2)
e_fm2_parent_go(wd->o_files_fm);
if (wd->o_files_frame)
e_widget_scrollframe_child_pos_set(wd->o_files_frame, 0, 0);
e_widget_entry_text_set(wd->o_directory_entry,
e_fm2_real_path_get(wd->o_files_fm));
}
static void
@ -128,6 +132,7 @@ _e_wid_fsel_favorites_files_changed(void *data, Evas_Object *obj, void *event_in
}
}
done:
e_widget_entry_text_set(wd->o_directory_entry, realpath);
E_FREE(p1);
evas_list_free(icons);
}
@ -151,12 +156,15 @@ _e_wid_fsel_favorites_selected(void *data, Evas_Object *obj, void *event_info)
e_fm2_path_set(wd->o_files_fm, NULL, ici->link);
evas_list_free(selected);
e_widget_scrollframe_child_pos_set(wd->o_files_frame, 0, 0);
e_widget_entry_text_set(wd->o_directory_entry,
e_fm2_real_path_get(wd->o_files_fm));
}
static void
_e_wid_fsel_files_changed(void *data, Evas_Object *obj, void *event_info)
{
E_Widget_Data *wd;
struct stat st;
wd = data;
if (!wd->o_files_fm) return;
@ -172,9 +180,11 @@ _e_wid_fsel_files_changed(void *data, Evas_Object *obj, void *event_info)
}
if (wd->o_files_frame)
e_widget_scrollframe_child_pos_set(wd->o_files_frame, 0, 0);
if (stat(wd->path, &st) == 0)
e_widget_entry_text_set(wd->o_directory_entry, wd->path);
e_widget_entry_text_set(wd->o_entry, " ");
E_FREE(wd->path);
if (wd->chg_func) wd->chg_func(wd->chg_data, wd->obj);
e_widget_entry_text_set(wd->o_entry, " ");
}
static void
@ -430,6 +440,10 @@ e_widget_fsel_add(Evas *evas, const char *dev, const char *path, char *selected,
e_widget_min_size_set(o, 128, 128);
e_widget_table_object_append(wd->o_table2, o, 1, 1, 1, 1, 1, 1, 1, 1);
o = e_widget_entry_add(evas, &(wd->directory_entry_text));
wd->o_directory_entry = o;
e_widget_sub_object_add(obj, o);
o = e_widget_entry_add(evas, &(wd->entry_text));
wd->o_entry = o;
e_widget_sub_object_add(obj, o);
@ -447,10 +461,12 @@ e_widget_fsel_add(Evas *evas, const char *dev, const char *path, char *selected,
2, 1, 1, 1, 0, 1, 0, 1);
}
e_widget_table_object_append(wd->o_table, wd->o_directory_entry,
0, 0, 1, 1, 1, 0, 1, 0);
e_widget_table_object_append(wd->o_table, wd->o_table2,
0, 0, 1, 1, 1, 1, 1, 1);
0, 1, 1, 1, 1, 1, 1, 1);
e_widget_table_object_append(wd->o_table, wd->o_entry,
0, 1, 1, 1, 1, 0, 1, 0);
0, 2, 1, 1, 1, 0, 1, 0);
e_widget_min_size_get(wd->o_table, &mw, &mh);
e_widget_min_size_set(obj, mw, mh);
@ -461,6 +477,7 @@ e_widget_fsel_add(Evas *evas, const char *dev, const char *path, char *selected,
evas_object_show(wd->o_favorites_fm);
evas_object_show(wd->o_files_frame);
evas_object_show(wd->o_files_fm);
evas_object_show(wd->o_directory_entry);
evas_object_show(wd->o_entry);
if (preview)
{