From: Enlightenment C. <no...@cv...> - 2007-11-29 03:51:22
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/tooltip Modified Files: ewl_tooltip.c Log Message: Fix a bunch of typos =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/tooltip/ewl_tooltip.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ewl_tooltip.c 23 Aug 2007 05:26:49 -0000 1.4 +++ ewl_tooltip.c 29 Nov 2007 03:50:43 -0000 1.5 @@ -24,7 +24,7 @@ Ewl_Widget *button; button = ewl_button_new(); - ewl_button_label_set(EWL_BUTTON(button), "Hoover on this button"); + ewl_button_label_set(EWL_BUTTON(button), "Hover on this button"); ewl_container_child_append(EWL_CONTAINER(box), button); ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_SHRINK); ewl_attach_tooltip_text_set(button, "and see."); |
From: Enlightenment C. <no...@cv...> - 2007-11-29 03:51:22
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/notebook Modified Files: ewl_notebook.c Log Message: Fix a bunch of typos =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/notebook/ewl_notebook.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- ewl_notebook.c 14 Nov 2007 21:15:01 -0000 1.8 +++ ewl_notebook.c 29 Nov 2007 03:50:43 -0000 1.9 @@ -110,15 +110,15 @@ char *pos; pos = data; - if (!strcmp(pos, "top")) + if (!strcmp(pos, "Top")) align = EWL_FLAG_ALIGN_TOP; - else if (!strcmp(pos, "bottom")) + else if (!strcmp(pos, "Bottom")) align = EWL_FLAG_ALIGN_BOTTOM; - else if (!strcmp(pos, "left")) + else if (!strcmp(pos, "Left")) align = EWL_FLAG_ALIGN_LEFT; - else if (!strcmp(pos, "right")) + else if (!strcmp(pos, "Right")) align = EWL_FLAG_ALIGN_RIGHT; - else if (!strcmp(pos, "center")) + else if (!strcmp(pos, "Center")) align = EWL_FLAG_ALIGN_CENTER; n = ewl_widget_name_find("notebook"); @@ -134,13 +134,13 @@ char *pos; pos = data; - if (!strcmp(pos, "top")) + if (!strcmp(pos, "Top")) align = EWL_POSITION_TOP; - else if (!strcmp(pos, "bottom")) + else if (!strcmp(pos, "Bottom")) align = EWL_POSITION_BOTTOM; - else if (!strcmp(pos, "left")) + else if (!strcmp(pos, "Left")) align = EWL_POSITION_LEFT; - else if (!strcmp(pos, "right")) + else if (!strcmp(pos, "Right")) align = EWL_POSITION_RIGHT; n = ewl_widget_name_find("notebook"); @@ -210,8 +210,8 @@ { Ewl_Widget *box2, *o, *o2 = NULL, *body, *border; unsigned int i; - char *alignment[] = {"top", "left", "center", "right", "bottom"}; - char *position[] = {"top", "left", "right", "bottom"}; + char *alignment[] = {"Top", "Left", "Center", "Right", "Bottom"}; + char *position[] = {"Top", "Left", "Right", "Bottom"}; /* box to hold everything */ body = ewl_vbox_new(); @@ -247,7 +247,7 @@ if (o2) ewl_radiobutton_chain_set(EWL_RADIOBUTTON(o), EWL_RADIOBUTTON(o2)); - if (!strcmp(alignment[i], "center")) + if (!strcmp(alignment[i], "Center")) ewl_checkbutton_checked_set(EWL_CHECKBUTTON(o), TRUE); ewl_widget_show(o); @@ -274,7 +274,7 @@ if (o2) ewl_radiobutton_chain_set(EWL_RADIOBUTTON(o), EWL_RADIOBUTTON(o2)); - if (!strcmp(alignment[i], "top")) + if (!strcmp(alignment[i], "Top")) ewl_checkbutton_checked_set(EWL_CHECKBUTTON(o), TRUE); ewl_widget_show(o); @@ -293,7 +293,7 @@ ewl_widget_show(o); o = ewl_checkbutton_new(); - ewl_button_label_set(EWL_BUTTON(o), "homogeneous tabbar"); + ewl_button_label_set(EWL_BUTTON(o), "Homogeneous tabbar"); ewl_container_child_append(EWL_CONTAINER(body), o); ewl_object_fill_policy_set(EWL_OBJECT(o), EWL_FLAG_FILL_SHRINK); ewl_callback_append(o, EWL_CALLBACK_CLICKED, |
From: Enlightenment C. <no...@cv...> - 2007-12-02 03:32:46
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/tools/ewl_config Modified Files: ewl_config.c Log Message: Make ewl_config use .ewl/themes as well =================================================================== RCS file: /cvs/e/e17/libs/ewl/tools/ewl_config/ewl_config.c,v retrieving revision 1.51 retrieving revision 1.52 diff -u -3 -r1.51 -r1.52 --- ewl_config.c 17 Oct 2007 14:51:33 -0000 1.51 +++ ewl_config.c 2 Dec 2007 03:32:44 -0000 1.52 @@ -346,7 +346,7 @@ closedir(rep); home_dir = getenv("HOME"); - snprintf(path, PATH_MAX, "%s/%s", home_dir, ".e/ewl/themes"); + snprintf(path, PATH_MAX, "%s/%s", home_dir, ".ewl/themes"); rep = opendir(path); if (rep) { |
From: Enlightenment C. <no...@cv...> - 2007-12-02 19:06:16
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin Modified Files: main.c Log Message: Model and view need to be freed =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/main.c,v retrieving revision 1.87 retrieving revision 1.88 diff -u -3 -r1.87 -r1.88 --- main.c 29 Nov 2007 03:50:42 -0000 1.87 +++ main.c 2 Dec 2007 19:06:11 -0000 1.88 @@ -78,6 +78,7 @@ static int ewl_test_cb_unit_test_timer(void *data); static void ewl_test_cb_delete_window(Ewl_Widget *w, void *ev, void *data); static void ewl_test_cb_exit(Ewl_Widget *w, void *ev, void *data); +static void ewl_cb_mvc_free(Ewl_Widget *w, void *ev, void *data); static void cb_run_unit_tests(Ewl_Widget *w, void *ev, void *data); static void ewl_test_cb_help(Ewl_Widget *w, void *ev, void *data); @@ -610,6 +611,8 @@ ewl_mvc_data_set(EWL_MVC(tree), categories); ewl_callback_append(tree, EWL_CALLBACK_VALUE_CHANGED, ewl_test_cb_test_selected, NULL); + ewl_callback_append(tree, EWL_CALLBACK_DESTROY, ewl_cb_mvc_free, + NULL); ewl_widget_show(tree); @@ -656,7 +659,7 @@ ewl_model_data_header_fetch_set(model, cb_unit_test_header_data_fetch); ewl_model_data_count_set(model, cb_unit_test_count); - view = ewl_view_clone(ewl_label_view_get()); + view = ewl_label_view_get(); ewl_view_header_fetch_set(view, cb_unit_test_header_fetch); o2 = ewl_tree2_new(); @@ -665,6 +668,8 @@ ewl_mvc_model_set(EWL_MVC(o2), model); ewl_mvc_view_set(EWL_MVC(o2), view); ewl_widget_name_set(o2, "unit_test_tree"); + ewl_callback_append(o2, EWL_CALLBACK_DESTROY, ewl_cb_mvc_free, + NULL); ewl_widget_show(o2); o2 = ewl_hbox_new(); @@ -1338,4 +1343,16 @@ ; return i; +} + +static void +ewl_cb_mvc_free(Ewl_Widget *w, void *ev, void *data) +{ + Ewl_Model *model; + Ewl_View *view; + + model = ewl_mvc_model_get(EWL_MVC(w)); + free(model); + view = ewl_mvc_view_get(EWL_MVC(w)); + free(view); } |
From: Enlightenment C. <no...@cv...> - 2007-12-03 04:16:08
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_filelist_model.h ewl_grid.h ewl_tree2_view_freebox.h ewl_tree2_view_scrolled.h Log Message: Superficial stuff =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist_model.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- ewl_filelist_model.h 29 Nov 2007 03:50:44 -0000 1.5 +++ ewl_filelist_model.h 3 Dec 2007 04:16:06 -0000 1.6 @@ -2,7 +2,7 @@ #define EWL_FILELIST_MODEL_H /** - * @addtogroup Ewl_Filelist_Model: Ewl_Filelist_Model The model for the filelist + * @addtogroup Ewl_Filelist_Model Ewl_Filelist_Model: The model for the filelist * @brief A model for the filelist * * @{ =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_grid.h,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- ewl_grid.h 29 Nov 2007 03:50:44 -0000 1.31 +++ ewl_grid.h 3 Dec 2007 04:16:06 -0000 1.32 @@ -3,7 +3,7 @@ #define EWL_GRID_H /** - * @addtogroup Ewl_Grid: Ewl_Grid The ewl grid widget + * @addtogroup Ewl_Grid Ewl_Grid: The ewl grid widget * @brief The Ewl Grid widget * * @remarks Inherits from Ewl_Container. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_tree2_view_freebox.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ewl_tree2_view_freebox.h 29 Nov 2007 03:50:44 -0000 1.4 +++ ewl_tree2_view_freebox.h 3 Dec 2007 04:16:06 -0000 1.5 @@ -5,7 +5,7 @@ #include "ewl_tree2_view.h" /** - * @addtogroup Ewl_Tree2_View_Freebox: Ewl_Tree2_View_Freebox The freebox tree view + * @addtogroup Ewl_Tree2_View_Freebox Ewl_Tree2_View_Freebox: The freebox tree view * @brief A freebox view for the tree * @remarks Inherits from Ewl_Tree2_View * =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_tree2_view_scrolled.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- ewl_tree2_view_scrolled.h 29 Nov 2007 03:50:44 -0000 1.10 +++ ewl_tree2_view_scrolled.h 3 Dec 2007 04:16:06 -0000 1.11 @@ -5,7 +5,7 @@ #include "ewl_tree2_view.h" /** - * @addtogroup Ewl_Tree2_View_Scrolled: Ewl_Tree2_View_Scrolled The scrolled tree view + * @addtogroup Ewl_Tree2_View_Scrolled Ewl_Tree2_View_Scrolled: The scrolled tree view * @brief A scrolled view for the tree * * @remarks Inherits from Ewl_Box. |
From: Enlightenment C. <no...@cv...> - 2007-12-03 04:16:38
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin Modified Files: main.c Log Message: Superficial stuff =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/main.c,v retrieving revision 1.88 retrieving revision 1.89 diff -u -3 -r1.88 -r1.89 --- main.c 2 Dec 2007 19:06:11 -0000 1.88 +++ main.c 3 Dec 2007 04:16:06 -0000 1.89 @@ -11,6 +11,7 @@ #include "ewl_statusbar.h" #include "ewl_text.h" #include "ewl_tree2.h" +#include "ewl_icon_theme.h" #include <stdio.h> #include <string.h> @@ -530,6 +531,7 @@ return strcasecmp(test1->name, test2->name); } +#define ET_ICON(icon) ewl_icon_theme_icon_path_get(EWL_ICON_ ## icon, EWL_ICON_SIZE_SMALL) static int create_main_test_window(Ewl_Container *box) { @@ -541,13 +543,13 @@ Ewl_View *view; Ewl_Menu_Info file_menu[] = { - {"Exit",NULL, ewl_test_cb_exit}, + {"Exit",ET_ICON(APPLICATION_EXIT), ewl_test_cb_exit}, {NULL, NULL, NULL} }; Ewl_Menu_Info help_menu[] = { - {"About Ewl_Test ...", NULL, ewl_test_cb_about}, - {"Ewl Test Help ...", NULL, ewl_test_cb_help}, + {"About Ewl_Test ...", ET_ICON(HELP_ABOUT), ewl_test_cb_about}, + {"Ewl Test Help ...", ET_ICON(HELP_FAQ), ewl_test_cb_help}, {NULL, NULL, NULL} }; |
From: Enlightenment C. <no...@cv...> - 2007-12-06 02:53:27
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_statusbar.c Log Message: Fix bug 291 and a typo =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_statusbar.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- ewl_statusbar.c 12 Nov 2007 22:42:22 -0000 1.16 +++ ewl_statusbar.c 6 Dec 2007 02:53:21 -0000 1.17 @@ -1,7 +1,7 @@ /* vim: set sw=8 ts=8 sts=8 noexpandtab: */ #include "ewl_base.h" #include "ewl_statusbar.h" -#include "ewl_text.h" +#include "ewl_label.h" #include "ewl_macros.h" #include "ewl_private.h" #include "ewl_debug.h" @@ -282,8 +282,8 @@ // ewl_container_child_remove(EWL_CONTAINER(sb->status), sb->current); } - sb->current = ewl_text_new(); - ewl_text_text_set(EWL_TEXT(sb->current), txt); + sb->current = ewl_label_new(); + ewl_label_text_set(EWL_LABEL(sb->current), txt); ewl_container_child_append(EWL_CONTAINER(sb->status), sb->current); ewl_widget_show(sb->current); @@ -295,7 +295,7 @@ /** * @param sb: the status bar to remove the status mesasge from * @return Returns no value - * @brief Removes the most recient status message and displays the one + * @brief Removes the most recent status message and displays the one * before it. */ void |
From: Enlightenment C. <no...@cv...> - 2007-12-09 04:33:45
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_filedialog.c ewl_filedialog.h ewl_filelist.c ewl_filelist.h ewl_filelist_model.c ewl_filelist_model.h ewl_filepicker.c ewl_filepicker.h Log Message: Implement filtering in the file choosing widgets =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filedialog.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- ewl_filedialog.c 14 Nov 2007 20:07:58 -0000 1.40 +++ ewl_filedialog.c 9 Dec 2007 04:33:39 -0000 1.41 @@ -405,7 +405,8 @@ */ void ewl_filedialog_filter_add(Ewl_Filedialog *fd, const char *name, - const char *filter) + const char *filter, + Ecore_List *mime_types) { DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(fd); @@ -413,7 +414,7 @@ DCHECK_PARAM_PTR(filter); DCHECK_TYPE(fd, EWL_FILEDIALOG_TYPE); - ewl_filepicker_filter_add(EWL_FILEPICKER(fd->fp), name, filter); + ewl_filepicker_filter_add(EWL_FILEPICKER(fd->fp), name, filter, mime_types); DLEAVE_FUNCTION(DLEVEL_STABLE); } =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filedialog.h,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- ewl_filedialog.h 14 Nov 2007 20:07:58 -0000 1.23 +++ ewl_filedialog.h 9 Dec 2007 04:33:39 -0000 1.24 @@ -89,7 +89,8 @@ void ewl_filedialog_filter_add(Ewl_Filedialog *fd, const char *name, - const char *filter); + const char *filter, + Ecore_List *mime_types); /* * Internally used callbacks, override at your own risk. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- ewl_filelist.c 9 Dec 2007 01:00:40 -0000 1.44 +++ ewl_filelist.c 9 Dec 2007 04:33:39 -0000 1.45 @@ -77,8 +77,8 @@ fl->multiselect = FALSE; fl->skip_hidden = TRUE; - ewl_filelist_filter_set(fl, NULL); - ewl_filelist_directory_set(fl, NULL); + fl->directory = NULL; + fl->filter = NULL; ewl_filelist_setup(fl); DRETURN_INT(TRUE, DLEVEL_STABLE); @@ -279,7 +279,7 @@ if (data) ewl_filelist_model_data_unref(data); data = ewl_filelist_model_directory_new(fl->directory, - fl->skip_hidden, TRUE); + fl->skip_hidden, TRUE, fl->filter); ewl_mvc_data_set(EWL_MVC(fl->controller), data); ewl_mvc_dirty_set(EWL_MVC(fl->controller), TRUE); @@ -313,17 +313,25 @@ * @brief Sets the given filter into the filelist */ void -ewl_filelist_filter_set(Ewl_Filelist *fl, const char *filter) +ewl_filelist_filter_set(Ewl_Filelist *fl, Ewl_Filelist_Filter *filter) { + Ewl_Filelist_Directory *dir; + int ret = 0; + DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(fl); + DCHECK_PARAM_PTR(filter); DCHECK_TYPE(fl, EWL_FILELIST_TYPE); - IF_FREE(fl->filter); - fl->filter = (filter ? strdup(filter) : NULL); + fl->filter = NULL; + fl->filter = filter; + dir = ewl_mvc_data_get(EWL_MVC(fl->controller)); - /* Model does not do filtering yet */ - DWARNING("Filtering not yet implemented"); + /* Set the filelist and test if there is any change in data */ + if (dir) + ret = ewl_filelist_model_filter_set(dir, filter); + if (ret) + ewl_mvc_dirty_set(EWL_MVC(fl->controller), TRUE); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -333,7 +341,7 @@ * @return Returns the current filter * @brief Retrieves the current filter set on the filelist */ -const char * +Ewl_Filelist_Filter * ewl_filelist_filter_get(Ewl_Filelist *fl) { DENTER_FUNCTION(DLEVEL_STABLE); @@ -406,7 +414,8 @@ void ewl_filelist_show_dot_files_set(Ewl_Filelist *fl, unsigned int dot) { - Ewl_Filelist_Directory *data; + Ewl_Filelist_Directory *dir; + int ret = 0; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(fl); @@ -416,13 +425,13 @@ DRETURN(DLEVEL_STABLE); fl->skip_hidden = !!dot; - data = ewl_mvc_data_get(EWL_MVC(fl->controller)); - if (data) ewl_filelist_model_data_unref(data); - - data = ewl_filelist_model_directory_new(fl->directory, - fl->skip_hidden, TRUE); - ewl_mvc_data_set(EWL_MVC(fl->controller), data); - ewl_mvc_dirty_set(EWL_MVC(fl->controller), TRUE); + dir = ewl_mvc_data_get(EWL_MVC(fl->controller)); + + /* check if data and then call the model function */ + if (dir) + ret = ewl_filelist_model_show_dot_files_set(dir, dot); + if (ret) + ewl_mvc_dirty_set(EWL_MVC(fl->controller), TRUE); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -1150,12 +1159,12 @@ DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(w); DCHECK_TYPE(w, EWL_FILELIST_TYPE); - + fl = EWL_FILELIST(w); IF_FREE(fl->directory); - IF_FREE(fl->filter); IF_FREE(fl->view); IF_FREE(fl->model); + fl->filter = NULL; DLEAVE_FUNCTION(DLEVEL_STABLE); } =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- ewl_filelist.h 14 Nov 2007 20:07:58 -0000 1.21 +++ ewl_filelist.h 9 Dec 2007 04:33:39 -0000 1.22 @@ -20,6 +20,30 @@ * * @{ */ + + /** + * * @def EWL_FILELIST_FILTER_TYPE + * * The type name + * **/ +#define EWL_FILELIST_FILTER_TYPE "filelist_filter" + +typedef struct Ewl_Filelist_Filter Ewl_Filelist_Filter; + +/** + * * @def EWL_FILELIST_FILTER(ff) + * * Typecasts a pointer to an Ewl_Filelist_Filter + * **/ +#define EWL_FILELIST_FILTER(ff), ((Ewl_Filelist_Filter *)ff) + +/** + * * @brief The data structure for Ewl_Filelist_Filter + * **/ +struct Ewl_Filelist_Filter +{ + char *name; + char *extension; + Ecore_List *mime_list; +}; /** * @def EWL_FILELIST_TYPE @@ -56,7 +80,7 @@ Ewl_Model *model; /**< The model for the mvc */ char *directory; /**< The directory to display */ - char *filter; /**< The file filter to employ */ + Ewl_Filelist_Filter *filter; /**< The file filter to employ */ unsigned char multiselect:1; /**< Allow multiple file selctions */ unsigned char skip_hidden:1; /**< Show . files */ @@ -69,6 +93,65 @@ } scroll_flags; /**< Flags to modify a containing scrollpane */ }; +/** + * @def EWL_FILELIST_FILE_TYPE + * The type name + */ +#define EWL_FILELIST_FILE_TYPE "filelist_file" + +typedef struct Ewl_Filelist_File Ewl_Filelist_File; + +/** + * @def EWL_FILELIST_FILE(fl) + * Typecasts a pointer to an Ewl_Filelist_File pointer + */ +#define EWL_FILELIST_FILE(fl) ((Ewl_Filelist_File *)fl) + +/** + * @brief The data structure for Ewl_Filelist_File + */ +struct Ewl_Filelist_File +{ + const char *name; + off_t size; + mode_t mode; + uid_t username; + gid_t groupname; + time_t modtime; + unsigned char readable:1; + unsigned char writeable:1; + unsigned char is_dir:1; +}; + +/** + * * @def EWL_FILELIST_DIRECTORY_TYPE + * * The type name + * */ +#define EWL_FILELIST_DIRECTORY_TYPE "filelist_directory" + +typedef struct Ewl_Filelist_Directory Ewl_Filelist_Directory; + +/** + * * @def EWL_FILELIST_DIRECTORY(fl) + * * Typecasts a pointer to an Ewl_Filelist_Directory pointer + * */ +#define EWL_FILELIST_DIRECTORY(fl) ((Ewl_Filelist_Directory *)fl) + +/** + * * @brief The data structure for Ewl_Filelist_Directory + * */ +struct Ewl_Filelist_Directory +{ + const char *name; + Ecore_List *rfiles; + Ecore_List *rdirs; + Ecore_List *files; + Ecore_List *dirs; + Ewl_Filelist_Filter *filter; + unsigned char skip_hidden:1; + unsigned int num_dirs; + unsigned int num_files; +}; Ewl_Widget *ewl_filelist_new(void); @@ -79,8 +162,8 @@ const char *ewl_filelist_directory_get(Ewl_Filelist *fl); void ewl_filelist_filter_set(Ewl_Filelist *fl, - const char *filter); -const char *ewl_filelist_filter_get(Ewl_Filelist *fl); + Ewl_Filelist_Filter *filter); +Ewl_Filelist_Filter *ewl_filelist_filter_get(Ewl_Filelist *fl); void ewl_filelist_view_set(Ewl_Filelist *fl, Ewl_Filelist_View view); @@ -126,21 +209,6 @@ const char *ewl_filelist_stock_icon_get(const char *path); char *ewl_filelist_expand_path(Ewl_Filelist *fl, const char *dir); -void ewl_filelist_directory_read(Ewl_Filelist *fl, - const char *dir, - unsigned int skip_dot_dot, - void (*func)(Ewl_Filelist *fl, - const char *dir, - char *file, void *data), - void *data); -void ewl_filelist_handle_click(Ewl_Filelist *fl, Ewl_Widget *w, - Ewl_Event_Mouse_Up *ev, - const char *select_state, - const char *unselect_state); -void ewl_filelist_container_shift_handle(Ewl_Filelist *fl, - Ewl_Container *c, Ewl_Widget *clicked, - const char *select_signal, - const char *unselect_signal); /* * Internally used functions, override at your own risk =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist_model.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- ewl_filelist_model.c 14 Nov 2007 20:07:59 -0000 1.5 +++ ewl_filelist_model.c 9 Dec 2007 04:33:39 -0000 1.6 @@ -5,6 +5,7 @@ #include "ewl_debug.h" #include "ewl_model.h" #include "ewl_filelist.h" +#include "ewl_io_manager.h" #include <dirent.h> static int ewl_filelist_model_data_name_sort(Ewl_Filelist_File *file1, @@ -12,21 +13,28 @@ static int ewl_filelist_model_data_size_sort(Ewl_Filelist_File *file1, Ewl_Filelist_File *file2); static void free_file(Ewl_Filelist_File *file); +void ewl_filelist_model_filter(Ewl_Filelist_Directory *dir); +static unsigned int ewl_filelist_model_filter_main + (Ewl_Filelist_Directory *dir, + Ewl_Filelist_File *file); /** * @param path: The path to the directory to read - * @param skip_hidden: TRUE skips hidden files, FALSE does not + * @param skip_hidden: TRUE shows hidden files, FALSE does not * @param show_dot_dot: TRUE shows .. for navigating upwards, FALSE does not + * @param filter: The Ewl_Filelist_Filter to use * @return Returns an Ewl_Filelist_Directory structure * @brief Retrieves all files in a directory */ Ewl_Filelist_Directory * -ewl_filelist_model_directory_new(const char *path, +ewl_filelist_model_directory_new(const char *path, unsigned char skip_hidden, - unsigned int show_dot_dot) + unsigned int show_dot_dot, + Ewl_Filelist_Filter *filter) { Ewl_Filelist_Directory *dir; Ewl_Filelist_File *file; + struct stat st; char filename[PATH_MAX], *file_temp; int nf = 0, nd = 0; @@ -48,13 +56,6 @@ while ((file_temp = ecore_list_first_remove(all_files))) { - /* Handle hidden files */ - if ((skip_hidden) && (file_temp[0] == '.')) - { - FREE(file_temp); - continue; - } - /* allocate the memory for the file structure */ file = NEW(Ewl_Filelist_File, 1); @@ -100,12 +101,18 @@ /* create the new directory structure */ dir = NEW(Ewl_Filelist_Directory, 1); - dir->files = files; - dir->dirs = dirs; + dir->rfiles = files; + dir->rdirs = dirs; + dir->files = ecore_list_new(); + dir->dirs = ecore_list_new(); dir->name = ecore_string_instance(path); dir->skip_hidden = !!skip_hidden; + dir->filter = filter; dir->num_dirs = nd; dir->num_files = nf; + + /* Filter the directory */ + ewl_filelist_model_filter(dir); IF_FREE_LIST(all_files); DRETURN_PTR(dir, DLEVEL_STABLE); @@ -339,8 +346,8 @@ file = ecore_list_index_goto(fld->dirs, parent); snprintf(path, PATH_MAX, "%s/%s", fld->name, file->name); subdir = ewl_filelist_model_directory_new - (path, fld->skip_hidden, - FALSE); + (path, fld->skip_hidden, + FALSE, fld->filter); DRETURN_PTR(subdir, DLEVEL_STABLE); } @@ -360,6 +367,8 @@ ecore_string_release(dir->name); ecore_list_destroy(dir->files); ecore_list_destroy(dir->dirs); + ecore_list_destroy(dir->rfiles); + ecore_list_destroy(dir->rdirs); FREE(dir); DRETURN_INT(TRUE, DLEVEL_STABLE); @@ -377,5 +386,201 @@ FREE(file); DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** + * @param data: The model to work with + * @param hidden: TRUE shows hidden files, FALSE does not + * @return Returns TRUE if a change in data, FALSE if not + * @brief This function sets whether the filelist should contain hidden files + */ +unsigned int +ewl_filelist_model_show_dot_files_set(Ewl_Filelist_Directory *dir, + unsigned int skip_hidden) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR_RET(dir, FALSE); + + /* If nothing has changed, leave */ + if (skip_hidden == !!dir->skip_hidden) + DRETURN_INT(FALSE, DLEVEL_STABLE); + + /* Else set value in */ + dir->skip_hidden = !!skip_hidden; + + /* Refilter the files */ + ewl_filelist_model_filter(dir); + + DRETURN_INT(TRUE, DLEVEL_STABLE); +} + +/** + * @param data: The model to work with + * @return Returns if the model shows dot files + * @brief Returns if the model shows dot files + */ +unsigned int +ewl_filelist_model_show_dot_files_get(Ewl_Filelist_Directory *dir) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR_RET(dir, FALSE); + DRETURN_INT((unsigned int)dir->skip_hidden, DLEVEL_STABLE); +} + +/** + * @param dir: The directory to filter + * @return Does not return a value + * @brief Filters a directory + */ +void +ewl_filelist_model_filter(Ewl_Filelist_Directory *dir) +{ + Ewl_Filelist_File *file; + int ret = 0; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR(dir); + + /* Set up temporary filelist */ + ecore_list_clear(dir->files); + ecore_list_clear(dir->dirs); + + + /* Hidden files first */ + if (dir->skip_hidden) + { + + /* Run through files and filter hidden first, then others */ + ecore_list_first_goto(dir->rfiles); + while ((file = ecore_list_next(dir->rfiles))) + { + ret = ewl_filelist_model_filter_main(dir, file); + if ((file->name[0] != '.') && (ret)) + ecore_list_append(dir->files, file); + + } + + /* Now directories */ + ecore_list_first_goto(dir->rdirs); + while ((file = ecore_list_next(dir->rdirs))) + { + if ((file->name[0] != '.') || + (!strcmp(file->name, ".."))) + ecore_list_append(dir->dirs, file); + } + } + + /* If showing hidden */ + else + { + /* Still loop through to check if pass filter */ + ecore_list_first_goto(dir->rfiles); + while ((file = ecore_list_next(dir->rfiles))) + { + ret = ewl_filelist_model_filter_main(dir, file); + if (ret) + ecore_list_append(dir->files, file); + } + + ecore_list_first_goto(dir->rdirs); + while ((file = ecore_list_next(dir->rdirs))) + ecore_list_append(dir->dirs, file); + } + + + /* Set numbers into directory data */ + dir->num_dirs = ecore_list_count(dir->dirs); + dir->num_files = ecore_list_count(dir->files); + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** + * @param dir: The directory to set a filter upon + * @param filter: The Ewl_Filelist_Filter to use + * @returns: Returns TRUE on data change, FALSE if not + * @brief Sets a filter onto a directory + */ +unsigned int +ewl_filelist_model_filter_set(Ewl_Filelist_Directory *dir, + Ewl_Filelist_Filter *filter) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR_RET(dir, FALSE); + DCHECK_PARAM_PTR_RET(filter, FALSE); + + /* If nothing has changed, leave */ + if ((dir->filter) && (!memcmp(dir->filter, filter, + sizeof(dir->filter)))) + DRETURN_INT(FALSE, DLEVEL_STABLE); + + /* Set the filter and call the function */ + dir->filter = filter; + ewl_filelist_model_filter(dir); + + DRETURN_INT(TRUE, DLEVEL_STABLE); +} + +/** + * @param dir: The directory to get the filter for + * @returns: Returns the Ewl_Filelist_Filter used + * @brief Gets the filter used on a directory + */ +Ewl_Filelist_Filter * +ewl_filelist_model_filter_get(Ewl_Filelist_Directory *dir) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR_RET(dir, NULL); + DRETURN_PTR(dir->filter, DLEVEL_STABLE); +} + +/** + * @internal + * @param dir: The directory to get the filter from + * @param file: The file to test + * @returns: Returns TRUE if passes the filter, FALSE otherwise + * @brief Tests a file against a filter + */ +static unsigned int +ewl_filelist_model_filter_main(Ewl_Filelist_Directory *dir, + Ewl_Filelist_File *file) +{ + Ewl_Filelist_Filter *filter = dir->filter; + const char *mime_check; + char *mime_given; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR_RET(dir, FALSE); + DCHECK_PARAM_PTR_RET(file, FALSE); + + if (!filter) + DRETURN_INT(FALSE, DLEVEL_STABLE); + + /* First check mime types */ + if (filter->mime_list) + { + mime_check = ewl_io_manager_uri_mime_type_get(file->name); + ecore_list_first_goto(filter->mime_list); + while ((mime_given = ecore_list_next(filter->mime_list))) + { + if (!strcmp(mime_given, mime_check)) + DRETURN_INT(TRUE, DLEVEL_STABLE); + } + } + + /* Next check extension */ + else if (filter->extension) + { + if (!fnmatch(filter->extension, file->name, 0)) + DRETURN_INT(TRUE, DLEVEL_STABLE); + } + + /* If no filter at all is in effect */ + else if ((!filter->extension) && (!filter->mime_list)) + { + DRETURN_INT(TRUE, DLEVEL_STABLE); + } + + DRETURN_INT(FALSE, DLEVEL_STABLE); } =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist_model.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ewl_filelist_model.h 3 Dec 2007 04:16:06 -0000 1.6 +++ ewl_filelist_model.h 9 Dec 2007 04:33:39 -0000 1.7 @@ -1,5 +1,6 @@ #ifndef EWL_FILELIST_MODEL_H #define EWL_FILELIST_MODEL_H +#include "ewl_filelist.h" /** * @addtogroup Ewl_Filelist_Model Ewl_Filelist_Model: The model for the filelist @@ -8,66 +9,10 @@ * @{ */ -/** - * @def EWL_FILELIST_FILE_TYPE - * The type name - */ -#define EWL_FILELIST_FILE_TYPE "filelist_file" - -typedef struct Ewl_Filelist_File Ewl_Filelist_File; - -/** - * @def EWL_FILELIST_FILE(fl) - * Typecasts a pointer to an Ewl_Filelist_File pointer - */ -#define EWL_FILELIST_FILE(fl) ((Ewl_Filelist_File *)fl) - -/** - * @brief The data structure for Ewl_Filelist_File - */ -struct Ewl_Filelist_File -{ - const char *name; - off_t size; - mode_t mode; - uid_t username; - gid_t groupname; - time_t modtime; - unsigned char readable:1; - unsigned char writeable:1; - unsigned char is_dir:1; -}; - -/** - * * @def EWL_FILELIST_DIRECTORY_TYPE - * * The type name - * */ -#define EWL_FILELIST_DIRECTORY_TYPE "filelist_directory" - -typedef struct Ewl_Filelist_Directory Ewl_Filelist_Directory; - -/** - * * @def EWL_FILELIST_DIRECTORY(fl) - * * Typecasts a pointer to an Ewl_Filelist_Directory pointer - * */ -#define EWL_FILELIST_DIRECTORY(fl) ((Ewl_Filelist_Directory *)fl) - -/** - * * @brief The data structure for Ewl_Filelist_Directory - * */ -struct Ewl_Filelist_Directory -{ - const char *name; - Ecore_List *files; - Ecore_List *dirs; - unsigned char skip_hidden:1; - unsigned int num_dirs; - unsigned int num_files; -}; - Ewl_Filelist_Directory *ewl_filelist_model_directory_new(const char *path, - unsigned char skip_hidden, - unsigned int show_dot_dot); + unsigned char skip_hidden, + unsigned int show_dot_dot, + Ewl_Filelist_Filter *filter); unsigned int ewl_filelist_model_data_count(void *data); void *ewl_filelist_model_data_fetch(void *data, unsigned int row, unsigned int column); @@ -80,6 +25,15 @@ unsigned int ewl_filelist_model_data_unref(void *data); int ewl_filelist_model_column_sortable(void *data, unsigned int column); + +unsigned int ewl_filelist_model_show_dot_files_set(Ewl_Filelist_Directory *dir, + unsigned int skip_hidden); +unsigned int ewl_filelist_model_show_dot_files_get(Ewl_Filelist_Directory *dir); + +unsigned int ewl_filelist_model_filter_set(Ewl_Filelist_Directory *dir, + Ewl_Filelist_Filter *filter); +Ewl_Filelist_Filter *ewl_filelist_model_filter_get + (Ewl_Filelist_Directory *dir); /** * @} =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filepicker.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- ewl_filepicker.c 17 Nov 2007 16:57:56 -0000 1.39 +++ ewl_filepicker.c 9 Dec 2007 04:33:39 -0000 1.40 @@ -12,20 +12,6 @@ #include "ewl_private.h" #include "ewl_debug.h" -/** - * Ewl_Filepicker_Filter - */ -typedef struct Ewl_Filepicker_Filter Ewl_Filepicker_Filter; - -/** - * @brief Contains information on a filepicker filter - */ -struct Ewl_Filepicker_Filter -{ - char *name; - char *filter; -}; - static void ewl_filepicker_favorites_populate(Ewl_Filepicker *fp); static void ewl_filepicker_cb_list_value_changed(Ewl_Widget *w, void *ev, void *data); @@ -46,7 +32,7 @@ static unsigned int ewl_filepicker_cb_type_count(void *data); static Ewl_Widget *ewl_filepicker_cb_type_header(void *data, unsigned int col); -static void ewl_filepicker_filter_free_cb(Ewl_Filepicker_Filter *filter); +static void ewl_filepicker_filter_free_cb(Ewl_Filelist_Filter *filter); /** * @return Returns a new Ewl_Filepicker widget or NULL on failure @@ -133,6 +119,15 @@ fp->file_list_box = ewl_scrollpane_new(); ewl_container_child_append(EWL_CONTAINER(o), fp->file_list_box); ewl_widget_show(fp->file_list_box); + + fp->file_list = ewl_filelist_new(); + ewl_container_child_append(EWL_CONTAINER(fp->file_list_box), + fp->file_list); + ewl_callback_append(EWL_WIDGET(fp->file_list), + EWL_CALLBACK_VALUE_CHANGED, + ewl_filepicker_cb_list_value_changed, + fp); + ewl_widget_show(fp->file_list); o = ewl_hbox_new(); ewl_container_child_append(EWL_CONTAINER(fp), o); @@ -152,7 +147,6 @@ fp->filters = ecore_list_new(); ecore_list_free_cb_set(fp->filters, ECORE_FREE_CB(ewl_filepicker_filter_free_cb)); - ewl_filepicker_filter_add(fp, "All files", NULL); fp->mvc_filters.model = ewl_model_new(); ewl_model_data_fetch_set(fp->mvc_filters.model, @@ -170,8 +164,6 @@ ewl_mvc_view_set(EWL_MVC(fp->mvc_filters.combo), fp->mvc_filters.view); ewl_mvc_data_set(EWL_MVC(fp->mvc_filters.combo), fp); - ewl_mvc_selected_set(EWL_MVC(fp->mvc_filters.combo), - NULL, fp, 0, 0); ewl_combo_editable_set(EWL_COMBO(fp->mvc_filters.combo), TRUE); ewl_callback_append(fp->mvc_filters.combo, EWL_CALLBACK_VALUE_CHANGED, @@ -203,17 +195,12 @@ ewl_filepicker_cb_button_clicked, fp); ewl_object_fill_policy_set(EWL_OBJECT(o), EWL_FLAG_FILL_SHRINK); ewl_widget_show(o); - - /* do this last so all the other widgets are set correctly */ - fp->file_list = ewl_filelist_new(); - ewl_container_child_append(EWL_CONTAINER(fp->file_list_box), - fp->file_list); - ewl_callback_append(EWL_WIDGET(fp->file_list), - EWL_CALLBACK_VALUE_CHANGED, - ewl_filepicker_cb_list_value_changed, - fp); - ewl_widget_show(fp->file_list); + + /* Set up filelist */ + ewl_filepicker_filter_add(fp, "All files", NULL, NULL); ewl_filepicker_directory_set(fp, NULL); + ewl_mvc_selected_set(EWL_MVC(fp->mvc_filters.combo), + NULL, fp, 0, 0); DRETURN_INT(TRUE, DLEVEL_STABLE); } @@ -361,7 +348,7 @@ * @brief Set the given filter into the file picker */ void -ewl_filepicker_filter_set(Ewl_Filepicker *fp, const char *filter) +ewl_filepicker_filter_set(Ewl_Filepicker *fp, Ewl_Filelist_Filter *filter) { DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(fp); @@ -377,7 +364,7 @@ * @return Returns the current filter used in the filepicker * @brief Retrieves the current filter used in the filepicker */ -const char * +Ewl_Filelist_Filter * ewl_filepicker_filter_get(Ewl_Filepicker *fp) { DENTER_FUNCTION(DLEVEL_STABLE); @@ -542,18 +529,22 @@ */ void ewl_filepicker_filter_add(Ewl_Filepicker *fp, const char *name, - const char *filter) + const char *extension, + Ecore_List *mime_types) { - Ewl_Filepicker_Filter *f; + Ewl_Filelist_Filter *f; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(fp); DCHECK_PARAM_PTR(name); DCHECK_TYPE(fp, EWL_FILEPICKER_TYPE); - f= NEW(Ewl_Filepicker_Filter, 1); + f= NEW(Ewl_Filelist_Filter, 1); f->name = strdup(name); - f->filter = (filter ? strdup(filter) : NULL); + if (extension) f->extension = strdup(extension); + else f->extension = NULL; + if (mime_types) f->mime_list = mime_types; + else f->mime_list = NULL; ecore_list_prepend(fp->filters, f); @@ -652,7 +643,7 @@ unsigned int col __UNUSED__) { Ewl_Filepicker *fp; - Ewl_Filepicker_Filter *filter; + Ewl_Filelist_Filter *filter; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR_RET(data, NULL); @@ -681,7 +672,7 @@ ewl_filepicker_cb_type_header(void *data, unsigned int col) { Ewl_Filepicker *fp; - Ewl_Filepicker_Filter *filter; + Ewl_Filelist_Filter *filter; Ewl_Widget *w; DENTER_FUNCTION(DLEVEL_STABLE); @@ -761,6 +752,7 @@ ewl_filepicker_cb_filter_change(Ewl_Widget *w, void *ev __UNUSED__, void *data) { Ewl_Filepicker *fp; + const char *name; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(w); @@ -768,7 +760,13 @@ DCHECK_TYPE(w, EWL_WIDGET_TYPE); fp = data; - ewl_filepicker_filter_set(fp, ewl_text_text_get(EWL_TEXT(w))); + name = ewl_text_text_get(EWL_TEXT(w)); + + if (!name) + DRETURN(DLEVEL_STABLE); + + ewl_filepicker_filter_add(fp, name, name, NULL); + ewl_filepicker_cb_type_change(fp->mvc_filters.combo, NULL, fp); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -778,7 +776,7 @@ void *data) { Ewl_Filepicker *fp; - Ewl_Filepicker_Filter *filter; + Ewl_Filelist_Filter *filter; Ewl_Selection_Idx *idx; DENTER_FUNCTION(DLEVEL_STABLE); @@ -792,8 +790,10 @@ { ecore_list_index_goto(fp->filters, idx->row); filter = ecore_list_current(fp->filters); - ewl_filepicker_filter_set(fp, filter->filter); + ewl_filepicker_filter_set(fp, filter); } + + FREE(idx); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -821,14 +821,15 @@ } static void -ewl_filepicker_filter_free_cb(Ewl_Filepicker_Filter *filter) +ewl_filepicker_filter_free_cb(Ewl_Filelist_Filter *filter) { DENTER_FUNCTION(DLEVEL_STABLE); if (!filter) DRETURN(DLEVEL_STABLE); IF_FREE(filter->name); - IF_FREE(filter->filter); + IF_FREE(filter->extension); + IF_FREE_LIST(filter->mime_list); FREE(filter); =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filepicker.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- ewl_filepicker.h 17 Nov 2007 00:01:55 -0000 1.13 +++ ewl_filepicker.h 9 Dec 2007 04:33:39 -0000 1.14 @@ -5,6 +5,7 @@ #include "ewl_box.h" #include "ewl_view.h" #include "ewl_model.h" +#include "ewl_filelist.h" /** * @addtogroup Ewl_Filepicker Ewl_Filepicker: Allows selecting files from a list @@ -77,8 +78,8 @@ const char *ewl_filepicker_directory_get(Ewl_Filepicker *fp); void ewl_filepicker_filter_set(Ewl_Filepicker *fp, - const char *filter); -const char *ewl_filepicker_filter_get(Ewl_Filepicker *fp); + Ewl_Filelist_Filter *filter); +Ewl_Filelist_Filter *ewl_filepicker_filter_get(Ewl_Filepicker *fp); void ewl_filepicker_multiselect_set(Ewl_Filepicker *fp, unsigned int ms); @@ -106,7 +107,8 @@ void ewl_filepicker_filter_add(Ewl_Filepicker *fp, const char *name, - const char *filter); + const char *extension, + Ecore_List *mime_types); /** * @} */ |
From: Enlightenment C. <no...@cv...> - 2007-12-09 04:34:09
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/filedialog Modified Files: ewl_filedialog_test.c Log Message: Implement filtering in the file choosing widgets =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/filedialog/ewl_filedialog_test.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ewl_filedialog_test.c 4 Dec 2007 05:27:59 -0000 1.1 +++ ewl_filedialog_test.c 9 Dec 2007 04:33:38 -0000 1.2 @@ -69,8 +69,8 @@ Ewl_Widget *fd; fd = ewl_filedialog_new(); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "C Files", "*.c"); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "D Files", "*.d"); + ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "C Files", "*.c", NULL); + ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "D Files", "*.d", NULL); ewl_callback_append(fd, EWL_CALLBACK_DELETE_WINDOW, fd_cb_delete, NULL); ewl_callback_append(fd, EWL_CALLBACK_VALUE_CHANGED, |
From: Enlightenment C. <no...@cv...> - 2007-12-09 04:34:09
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/filepicker Modified Files: ewl_filepicker_test.c Log Message: Implement filtering in the file choosing widgets =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/filepicker/ewl_filepicker_test.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_filepicker_test.c 8 Dec 2007 06:43:08 -0000 1.2 +++ ewl_filepicker_test.c 9 Dec 2007 04:33:38 -0000 1.3 @@ -99,8 +99,8 @@ Ewl_Widget *w; w = ewl_filepicker_new(); - ewl_filepicker_filter_add(EWL_FILEPICKER(w), "C Files", "*.c"); - ewl_filepicker_filter_add(EWL_FILEPICKER(w), "D Files", "*.d"); + ewl_filepicker_filter_add(EWL_FILEPICKER(w), "C Files", "*.c", NULL); + ewl_filepicker_filter_add(EWL_FILEPICKER(w), "D Files", "*.d", NULL); ewl_container_child_append(box, w); ewl_callback_append(w, EWL_CALLBACK_VALUE_CHANGED, ewl_filepicker_cb_value_changed, NULL); |
From: Enlightenment C. <no...@cv...> - 2007-12-09 04:34:09
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/io_manager Modified Files: ewl_io_manager_test.c Log Message: Implement filtering in the file choosing widgets =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/io_manager/ewl_io_manager_test.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ewl_io_manager_test.c 4 Dec 2007 05:28:00 -0000 1.1 +++ ewl_io_manager_test.c 9 Dec 2007 04:33:38 -0000 1.2 @@ -52,9 +52,9 @@ Ewl_Widget *fd; fd = ewl_filedialog_new(); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "txt", "*.txt"); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "png", "*.png"); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "jpg", "*.jpg"); + ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "txt", "*.txt", NULL); + ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "png", "*.png", NULL); + ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "jpg", "*.jpg", NULL); ewl_callback_append(fd, EWL_CALLBACK_DELETE_WINDOW, cb_fd_delete, NULL); ewl_callback_append(fd, EWL_CALLBACK_VALUE_CHANGED, cb_open, NULL); ewl_widget_show(fd); |
From: Enlightenment C. <no...@cv...> - 2007-12-09 06:21:44
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_filedialog.c ewl_filelist_model.c ewl_filelist_view.c Log Message: Bunch of small fixes =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filedialog.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- ewl_filedialog.c 9 Dec 2007 04:33:39 -0000 1.41 +++ ewl_filedialog.c 9 Dec 2007 06:21:43 -0000 1.42 @@ -411,7 +411,6 @@ DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(fd); DCHECK_PARAM_PTR(name); - DCHECK_PARAM_PTR(filter); DCHECK_TYPE(fd, EWL_FILEDIALOG_TYPE); ewl_filepicker_filter_add(EWL_FILEPICKER(fd->fp), name, filter, mime_types); =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist_model.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ewl_filelist_model.c 9 Dec 2007 04:33:39 -0000 1.6 +++ ewl_filelist_model.c 9 Dec 2007 06:21:43 -0000 1.7 @@ -7,6 +7,7 @@ #include "ewl_filelist.h" #include "ewl_io_manager.h" #include <dirent.h> +#include <fnmatch.h> static int ewl_filelist_model_data_name_sort(Ewl_Filelist_File *file1, Ewl_Filelist_File *file2); @@ -563,7 +564,8 @@ ecore_list_first_goto(filter->mime_list); while ((mime_given = ecore_list_next(filter->mime_list))) { - if (!strcmp(mime_given, mime_check)) + if ((mime_check) && (!strcmp(mime_given, + mime_check))) DRETURN_INT(TRUE, DLEVEL_STABLE); } } =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist_view.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_filelist_view.c 18 Nov 2007 21:43:35 -0000 1.2 +++ ewl_filelist_view.c 9 Dec 2007 06:21:43 -0000 1.3 @@ -13,7 +13,7 @@ unsigned int row __UNUSED__, unsigned int column) { Ewl_Widget *ret; - const char *img, *stock, *filename; + const char *img = NULL, *stock, *filename; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR_RET(data, NULL); @@ -28,10 +28,16 @@ /* Get and set data into icon */ if (column == 0) { - stock = ewl_filelist_stock_icon_get(data); - img = ewl_icon_theme_icon_path_get(stock, 0); + if (!strcmp(data, "..")) + img = ewl_icon_theme_icon_path_get + (EWL_ICON_GO_UP, 0); + else + { + stock = ewl_filelist_stock_icon_get(data); + img = ewl_icon_theme_icon_path_get(stock, 0); + } if (img) ewl_icon_image_set(EWL_ICON(ret), - img, stock); + img, NULL); filename = ecore_file_file_get(data); ewl_icon_label_set(EWL_ICON(ret), filename); |
From: Enlightenment C. <no...@cv...> - 2007-12-09 06:22:15
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/io_manager Modified Files: ewl_io_manager_test.c Log Message: Bunch of small fixes =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/io_manager/ewl_io_manager_test.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_io_manager_test.c 9 Dec 2007 04:33:38 -0000 1.2 +++ ewl_io_manager_test.c 9 Dec 2007 06:21:42 -0000 1.3 @@ -8,6 +8,8 @@ #include <stdio.h> #include <stdlib.h> +#include <Ecore_Data.h> +#include <string.h> static int create_test(Ewl_Container *box); @@ -50,11 +52,16 @@ void *data __UNUSED__) { Ewl_Widget *fd; + Ecore_List *filters; + + filters = ecore_list_new(); + ecore_list_append(filters, strdup("image/jpeg")); + ecore_list_append(filters, strdup("image/png")); + ecore_list_append(filters, strdup("image/gif")); fd = ewl_filedialog_new(); ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "txt", "*.txt", NULL); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "png", "*.png", NULL); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "jpg", "*.jpg", NULL); + ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "Images", NULL, filters); ewl_callback_append(fd, EWL_CALLBACK_DELETE_WINDOW, cb_fd_delete, NULL); ewl_callback_append(fd, EWL_CALLBACK_VALUE_CHANGED, cb_open, NULL); ewl_widget_show(fd); |
From: Enlightenment C. <no...@cv...> - 2007-12-09 17:00:03
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_filelist_model.c ewl_filepicker.c Log Message: Don't need fnmatch twice, return needs to be freed =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist_model.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- ewl_filelist_model.c 9 Dec 2007 06:29:03 -0000 1.8 +++ ewl_filelist_model.c 9 Dec 2007 16:59:58 -0000 1.9 @@ -6,7 +6,6 @@ #include "ewl_model.h" #include "ewl_filelist.h" #include "ewl_io_manager.h" -#include <fnmatch.h> #include <dirent.h> #include <fnmatch.h> =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filepicker.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- ewl_filepicker.c 9 Dec 2007 04:33:39 -0000 1.40 +++ ewl_filepicker.c 9 Dec 2007 16:59:58 -0000 1.41 @@ -752,7 +752,7 @@ ewl_filepicker_cb_filter_change(Ewl_Widget *w, void *ev __UNUSED__, void *data) { Ewl_Filepicker *fp; - const char *name; + char *name; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(w); @@ -767,6 +767,7 @@ ewl_filepicker_filter_add(fp, name, name, NULL); ewl_filepicker_cb_type_change(fp->mvc_filters.combo, NULL, fp); + FREE(name); DLEAVE_FUNCTION(DLEVEL_STABLE); } |
From: Enlightenment C. <no...@cv...> - 2007-12-10 21:46:23
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/combo Modified Files: ewl_combo_test.c Log Message: Add button to show how combo reacts with items removed, can also see this behaviour in the path combo of filepicker. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/combo/ewl_combo_test.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ewl_combo_test.c 4 Dec 2007 05:27:58 -0000 1.1 +++ ewl_combo_test.c 10 Dec 2007 21:46:18 -0000 1.2 @@ -91,6 +91,7 @@ unsigned int col); static unsigned int combo_test_data_count_get(void *data); static void combo_cb_add(Ewl_Widget *w, void *ev, void *data); +static void combo_cb_clear(Ewl_Widget *w, void *ev, void *data); static void combo_cb_entry_changed(Ewl_Widget *w, void *ev, void *data); static Ewl_Widget *combo_test_editable_cb_header_fetch(void *data, @@ -199,6 +200,13 @@ ewl_object_fill_policy_set(EWL_OBJECT(o), EWL_FLAG_FILL_NONE); ewl_widget_show(o); + o = ewl_button_new(); + ewl_button_label_set(EWL_BUTTON(o), "Clear items"); + ewl_container_child_append(EWL_CONTAINER(hbox), o); + ewl_callback_append(o, EWL_CALLBACK_CLICKED, combo_cb_clear, NULL); + ewl_object_fill_policy_set(EWL_OBJECT(o), EWL_FLAG_FILL_NONE); + ewl_widget_show(o); + return 1; } @@ -309,6 +317,26 @@ d->data[s] = strdup(PACKAGE_DATA_DIR "/images/Package.png"); d->data[s + 1] = strdup(PACKAGE_DATA_DIR "/images/Open.png"); + + ewl_mvc_dirty_set(EWL_MVC(c), 1); + + c = ewl_widget_name_find("combo_image"); + ewl_mvc_dirty_set(EWL_MVC(c), 1); +} + +static void +combo_cb_clear(Ewl_Widget *w __UNUSED__, void *ev __UNUSED__, + void *data __UNUSED__) +{ + Ewl_Widget *c; + Combo_Test_Data *d; + + c = ewl_widget_name_find("combo_label"); + d = ewl_mvc_data_get(EWL_MVC(c)); + + d->count = 0; + free(d->data); + d->data = NULL; ewl_mvc_dirty_set(EWL_MVC(c), 1); |
From: Enlightenment C. <no...@cv...> - 2007-12-15 00:52:25
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_filelist.c Log Message: Check if the given path is actually a directory =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -3 -r1.46 -r1.47 --- ewl_filelist.c 11 Dec 2007 05:51:22 -0000 1.46 +++ ewl_filelist.c 15 Dec 2007 00:52:20 -0000 1.47 @@ -267,7 +267,8 @@ fl->directory = NULL; } else if (((!fl->directory) || (strcmp(dir, fl->directory))) - && (ecore_file_can_read(dir))) + && (ecore_file_is_dir(dir)) + && (ecore_file_can_read(dir))) { Ewl_Filelist_Directory *data; Ewl_Event_Action_Response ev_data; |
From: Enlightenment C. <no...@cv...> - 2007-12-16 05:53:38
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_checkbutton.c ewl_checkbutton.h Log Message: Add view_get for checkbutton =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_checkbutton.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- ewl_checkbutton.c 13 Nov 2007 22:19:25 -0000 1.20 +++ ewl_checkbutton.c 16 Dec 2007 05:53:33 -0000 1.21 @@ -7,6 +7,12 @@ #include "ewl_private.h" #include "ewl_debug.h" +static Ewl_Widget *ewl_checkbutton_view_cb_widget_fetch(void *data, + unsigned int row, + unsigned int col); +static Ewl_Widget *ewl_checkbutton_view_cb_header_fetch(void *data, + unsigned int col); + /** * @return Returns the newly allocated checkbutton on success, NULL on failure. * @brief Allocate and initialize a new check button @@ -182,6 +188,51 @@ ewl_callback_call(w, EWL_CALLBACK_VALUE_CHANGED); DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +/** + * @return Returns a view that can be used to display Ewl_Checkbutton widgets + * @brief Creates and returns a view to be used by Ewl_Checkbutton widgets + */ +Ewl_View * +ewl_checkbutton_view_get(void) +{ + Ewl_View *view; + + DENTER_FUNCTION(DLEVEL_STABLE); + + view = ewl_view_new(); + ewl_view_widget_fetch_set(view, ewl_checkbutton_view_cb_widget_fetch); + ewl_view_header_fetch_set(view, ewl_checkbutton_view_cb_header_fetch); + + DRETURN_PTR(view, DLEVEL_STABLE); +} + +static Ewl_Widget * +ewl_checkbutton_view_cb_widget_fetch(void *data, unsigned int row __UNUSED__, + unsigned int col __UNUSED__) +{ + Ewl_Widget *check; + + DENTER_FUNCTION(DLEVEL_STABLE); + + check = ewl_checkbutton_new(); + ewl_button_label_set(EWL_BUTTON(check), data); + + DRETURN_PTR(check, DLEVEL_STABLE); +} + +static Ewl_Widget * +ewl_checkbutton_view_cb_header_fetch(void *data, unsigned int col __UNUSED__) +{ + Ewl_Widget *check; + + DENTER_FUNCTION(DLEVEL_STABLE); + + check = ewl_checkbutton_new(); + ewl_button_label_set(EWL_BUTTON(check), data); + + DRETURN_PTR(check, DLEVEL_STABLE); } =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_checkbutton.h,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- ewl_checkbutton.h 11 Nov 2007 06:07:46 -0000 1.20 +++ ewl_checkbutton.h 16 Dec 2007 05:53:33 -0000 1.21 @@ -3,6 +3,7 @@ #define EWL_CHECKBUTTON_H #include "ewl_button.h" +#include "ewl_view.h" /** * @addtogroup Ewl_Checkbutton Ewl_Checkbutton: An Ewl_Checkbutton with Label @@ -64,6 +65,7 @@ void ewl_checkbutton_label_position_set(Ewl_Checkbutton *cb, Ewl_Position p); +Ewl_View *ewl_checkbutton_view_get(void); /* * Internally used callbacks, override at your own risk |
From: Enlightenment C. <no...@cv...> - 2007-12-16 05:54:04
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/filedialog Modified Files: ewl_filedialog_test.c Log Message: Add view_get for checkbutton =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/filedialog/ewl_filedialog_test.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ewl_filedialog_test.c 9 Dec 2007 04:33:38 -0000 1.2 +++ ewl_filedialog_test.c 16 Dec 2007 05:53:33 -0000 1.3 @@ -67,8 +67,13 @@ void *data __UNUSED__) { Ewl_Widget *fd; + Ecore_List *list; + + list = ecore_list_new(); + ecore_list_append(list, "text/directory"); fd = ewl_filedialog_new(); + ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "Directories", NULL, list); ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "C Files", "*.c", NULL); ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "D Files", "*.d", NULL); ewl_callback_append(fd, EWL_CALLBACK_DELETE_WINDOW, |
From: Enlightenment C. <no...@cv...> - 2007-12-17 01:37:32
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_filelist.c ewl_filelist.h ewl_filelist_model.c ewl_filelist_model.h Log Message: Some logic corrections =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- ewl_filelist.c 15 Dec 2007 00:52:20 -0000 1.47 +++ ewl_filelist.c 17 Dec 2007 01:37:29 -0000 1.48 @@ -75,7 +75,7 @@ fl->view_flag = EWL_FILELIST_VIEW_ICON; fl->multiselect = FALSE; - fl->skip_hidden = TRUE; + fl->show_dot = FALSE; fl->directory = NULL; fl->filter = NULL; @@ -280,7 +280,7 @@ if (data) ewl_filelist_model_data_unref(data); data = ewl_filelist_model_directory_new(fl->directory, - fl->skip_hidden, TRUE, fl->filter); + fl->show_dot, TRUE, fl->filter); ewl_mvc_data_set(EWL_MVC(fl->controller), data); ewl_mvc_dirty_set(EWL_MVC(fl->controller), TRUE); @@ -422,10 +422,10 @@ DCHECK_PARAM_PTR(fl); DCHECK_TYPE(fl, EWL_FILELIST_TYPE); - if (fl->skip_hidden == !!dot) + if (fl->show_dot == !!dot) DRETURN(DLEVEL_STABLE); - fl->skip_hidden = !!dot; + fl->show_dot = !!dot; dir = ewl_mvc_data_get(EWL_MVC(fl->controller)); /* check if data and then call the model function */ @@ -449,7 +449,7 @@ DCHECK_PARAM_PTR_RET(fl, FALSE); DCHECK_TYPE_RET(fl, EWL_FILELIST_TYPE, FALSE); - DRETURN_INT((unsigned int)fl->skip_hidden, DLEVEL_STABLE); + DRETURN_INT((unsigned int)fl->show_dot, DLEVEL_STABLE); } /** =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist.h,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- ewl_filelist.h 9 Dec 2007 04:33:39 -0000 1.22 +++ ewl_filelist.h 17 Dec 2007 01:37:29 -0000 1.23 @@ -83,7 +83,7 @@ Ewl_Filelist_Filter *filter; /**< The file filter to employ */ unsigned char multiselect:1; /**< Allow multiple file selctions */ - unsigned char skip_hidden:1; /**< Show . files */ + unsigned char show_dot:1; /**< Show . files */ Ewl_Filelist_View view_flag; /**< The view to use for controller */ @@ -148,7 +148,7 @@ Ecore_List *files; Ecore_List *dirs; Ewl_Filelist_Filter *filter; - unsigned char skip_hidden:1; + unsigned char show_dot:1; unsigned int num_dirs; unsigned int num_files; }; =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist_model.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ewl_filelist_model.c 9 Dec 2007 16:59:58 -0000 1.9 +++ ewl_filelist_model.c 17 Dec 2007 01:37:29 -0000 1.10 @@ -29,7 +29,7 @@ */ Ewl_Filelist_Directory * ewl_filelist_model_directory_new(const char *path, - unsigned char skip_hidden, + unsigned char show_dot, unsigned int show_dot_dot, Ewl_Filelist_Filter *filter) { @@ -107,7 +107,7 @@ dir->files = ecore_list_new(); dir->dirs = ecore_list_new(); dir->name = ecore_string_instance(path); - dir->skip_hidden = !!skip_hidden; + dir->show_dot = !!show_dot; dir->filter = filter; dir->num_dirs = nd; dir->num_files = nf; @@ -347,7 +347,7 @@ file = ecore_list_index_goto(fld->dirs, parent); snprintf(path, PATH_MAX, "%s/%s", fld->name, file->name); subdir = ewl_filelist_model_directory_new - (path, fld->skip_hidden, + (path, fld->show_dot, FALSE, fld->filter); DRETURN_PTR(subdir, DLEVEL_STABLE); @@ -397,17 +397,17 @@ */ unsigned int ewl_filelist_model_show_dot_files_set(Ewl_Filelist_Directory *dir, - unsigned int skip_hidden) + unsigned int show_dot) { DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR_RET(dir, FALSE); /* If nothing has changed, leave */ - if (skip_hidden == !!dir->skip_hidden) + if (show_dot == !!dir->show_dot) DRETURN_INT(FALSE, DLEVEL_STABLE); /* Else set value in */ - dir->skip_hidden = !!skip_hidden; + dir->show_dot = !!show_dot; /* Refilter the files */ ewl_filelist_model_filter(dir); @@ -425,7 +425,7 @@ { DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR_RET(dir, FALSE); - DRETURN_INT((unsigned int)dir->skip_hidden, DLEVEL_STABLE); + DRETURN_INT((unsigned int)dir->show_dot, DLEVEL_STABLE); } /** @@ -448,7 +448,7 @@ /* Hidden files first */ - if (dir->skip_hidden) + if (!dir->show_dot) { /* Run through files and filter hidden first, then others */ @@ -554,8 +554,9 @@ DCHECK_PARAM_PTR_RET(dir, FALSE); DCHECK_PARAM_PTR_RET(file, FALSE); + /* If there's no filter return all files */ if (!filter) - DRETURN_INT(FALSE, DLEVEL_STABLE); + DRETURN_INT(TRUE, DLEVEL_STABLE); /* First check mime types */ if (filter->mime_list) =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist_model.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- ewl_filelist_model.h 9 Dec 2007 04:33:39 -0000 1.7 +++ ewl_filelist_model.h 17 Dec 2007 01:37:29 -0000 1.8 @@ -10,7 +10,7 @@ */ Ewl_Filelist_Directory *ewl_filelist_model_directory_new(const char *path, - unsigned char skip_hidden, + unsigned char show_dot, unsigned int show_dot_dot, Ewl_Filelist_Filter *filter); unsigned int ewl_filelist_model_data_count(void *data); @@ -27,7 +27,7 @@ unsigned int column); unsigned int ewl_filelist_model_show_dot_files_set(Ewl_Filelist_Directory *dir, - unsigned int skip_hidden); + unsigned int show_dot); unsigned int ewl_filelist_model_show_dot_files_get(Ewl_Filelist_Directory *dir); unsigned int ewl_filelist_model_filter_set(Ewl_Filelist_Directory *dir, |
From: Enlightenment C. <no...@cv...> - 2007-12-26 04:46:35
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/bin/tests/media Modified Files: ewl_media_test.c Log Message: Fix sizing in media test, and fix pathname returned in filelist =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/media/ewl_media_test.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ewl_media_test.c 4 Dec 2007 05:28:02 -0000 1.1 +++ ewl_media_test.c 26 Dec 2007 04:46:25 -0000 1.2 @@ -246,14 +246,14 @@ ewl_window_class_set(EWL_WINDOW(win), "EWL_Media_test"); ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW, del_cb, NULL); ewl_callback_append(win, EWL_CALLBACK_KEY_UP, key_up_cb, NULL); - ewl_object_size_request(EWL_OBJECT(win), 320, 280); - ewl_object_fill_policy_set(EWL_OBJECT(win), EWL_FLAG_FILL_ALL); + ewl_object_h_request(EWL_OBJECT(win), 280); + ewl_object_fill_policy_set(EWL_OBJECT(win), EWL_FLAG_FILL_FILL); ewl_widget_show(win); /* box to contain everything */ b = ewl_vbox_new(); ewl_container_child_append(EWL_CONTAINER(win), b); - ewl_object_fill_policy_set(EWL_OBJECT(b), EWL_FLAG_FILL_ALL); + ewl_object_fill_policy_set(EWL_OBJECT(b), EWL_FLAG_FILL_FILL); ewl_widget_show(b); /* create the time widget now so we can pass it to the video as data */ |
From: Enlightenment C. <no...@cv...> - 2007-12-26 04:46:35
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_filelist.c Log Message: Fix sizing in media test, and fix pathname returned in filelist =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -3 -r1.48 -r1.49 --- ewl_filelist.c 17 Dec 2007 01:37:29 -0000 1.48 +++ ewl_filelist.c 26 Dec 2007 04:46:25 -0000 1.49 @@ -937,7 +937,17 @@ file = ecore_list_index_goto(data->files, (idx->row - data->num_dirs)); - snprintf(path, PATH_MAX, "%s/%s", data->name, file->name); + if (!strcmp(file->name, "..")) + snprintf(path, PATH_MAX, "%s", data->name); + + else if (!strcmp(data->name, "/")) + snprintf(path, PATH_MAX, "%s%s", + data->name, file->name); + + else + snprintf(path, PATH_MAX, "%s/%s", + data->name, file->name); + ecore_list_append(ret, strdup(path)); } @@ -957,8 +967,17 @@ file = ecore_list_index_goto(data->files, (i - data->num_dirs)); - snprintf(path, PATH_MAX, "%s/%s", + if (!strcmp(file->name, "..")) + snprintf(path, PATH_MAX, "%s", data->name); + + else if (!strcmp(data->name, "/")) + snprintf(path, PATH_MAX, "%s%s", + data->name, file->name); + + else + snprintf(path, PATH_MAX, "%s/%s", data->name, file->name); + ecore_list_append(ret, strdup(path)); } } |
From: Enlightenment C. <no...@cv...> - 2007-12-28 22:06:35
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_theme.c Log Message: Try to fall back to default theme before failing. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_theme.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- ewl_theme.c 1 Dec 2007 22:43:18 -0000 1.49 +++ ewl_theme.c 28 Dec 2007 22:06:28 -0000 1.50 @@ -16,6 +16,8 @@ static char *ewl_theme_path_find(const char *name); static void ewl_theme_data_free(void *data); +#define DEFAULT_THEME "e17" + /** * @internal * @return Returns TRUE on success, FALSE on failure. @@ -28,13 +30,19 @@ int ewl_theme_init(void) { + const char *theme; + DENTER_FUNCTION(DLEVEL_STABLE); - if (!ewl_theme_theme_set(ewl_config_string_get(ewl_config, - EWL_CONFIG_THEME_NAME))) + theme = ewl_config_string_get(ewl_config, EWL_CONFIG_THEME_NAME); + if (!ewl_theme_theme_set(theme)) { - DWARNING("No usable theme found, exiting."); - DRETURN_INT(FALSE, DLEVEL_STABLE); + if ((!strcmp(theme, DEFAULT_THEME)) || + (!ewl_theme_theme_set(DEFAULT_THEME))) + { + DWARNING("No usable theme found, exiting."); + DRETURN_INT(FALSE, DLEVEL_STABLE); + } } DRETURN_INT(TRUE, DLEVEL_STABLE); |
From: Enlightenment C. <no...@cv...> - 2007-12-30 19:34:44
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_filepicker.c Log Message: Now when you change the directory the path combo actually updates to show it. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filepicker.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -3 -r1.42 -r1.43 --- ewl_filepicker.c 11 Dec 2007 21:38:33 -0000 1.42 +++ ewl_filepicker.c 30 Dec 2007 19:34:40 -0000 1.43 @@ -718,6 +718,7 @@ ecore_list_prepend(fp->path, strdup(path)); ewl_mvc_dirty_set(EWL_MVC(fp->mvc_path.combo), TRUE); + ewl_mvc_selected_set(EWL_MVC(fp->mvc_path.combo), NULL, fp->path, 0, 0); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -736,9 +737,16 @@ fp = data; idx = ewl_mvc_selected_get(EWL_MVC(w)); - ecore_list_index_goto(fp->path, idx->row); + if (idx->row == 0) + { + free(idx); + DRETURN(DLEVEL_STABLE); + } + + ecore_list_index_goto(fp->path, idx->row); ewl_filepicker_directory_set(fp, ecore_list_current(fp->path)); + free(idx); DLEAVE_FUNCTION(DLEVEL_STABLE); } |
From: Enlightenment C. <no...@cv...> - 2007-12-31 05:56:22
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_image.c Log Message: Fix bug 243 =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_image.c,v retrieving revision 1.70 retrieving revision 1.71 diff -u -3 -r1.70 -r1.71 --- ewl_image.c 12 Nov 2007 22:42:22 -0000 1.70 +++ ewl_image.c 31 Dec 2007 05:56:17 -0000 1.71 @@ -14,6 +14,7 @@ static Ecore_Event_Handler *ewl_image_epsilon_handler = NULL; static int ewl_image_thumbnail_cb_complete(void *data, int type, void *event); +static void ewl_image_thumbnail_cb_value_changed(Ewl_Widget *w, void *ev, void *data); #endif @@ -637,12 +638,37 @@ ewl_image_thumbnail_request(EWL_IMAGE_THUMBNAIL(thumb), (char *)ewl_image_file_path_get(i)); EWL_IMAGE_THUMBNAIL(thumb)->orig = EWL_WIDGET(i); + ewl_callback_append(EWL_WIDGET(i), + EWL_CALLBACK_VALUE_CHANGED, + ewl_image_thumbnail_cb_value_changed, + thumb); } } #endif DRETURN_PTR(thumb, DLEVEL_STABLE); } + +#ifdef BUILD_EPSILON_SUPPORT +static void +ewl_image_thumbnail_cb_value_changed(Ewl_Widget *w, void *ev, void *data) +{ + Ewl_Widget *thumb; + Ewl_Widget *image; + + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR(w); + DCHECK_PARAM_PTR(data); + + thumb = data; + image = w; + + ewl_image_thumbnail_request(EWL_IMAGE_THUMBNAIL(thumb), + (char *)ewl_image_file_path_get(EWL_IMAGE(image))); + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} +#endif /** * @return Returns a new Ewl_Image_Thumbnail widget |
From: Enlightenment C. <no...@cv...> - 2007-12-31 06:50:36
|
Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl Dir : e17/libs/ewl/src/lib Modified Files: ewl_image.c Log Message: Remove unnecessary cast =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_image.c,v retrieving revision 1.71 retrieving revision 1.72 diff -u -3 -r1.71 -r1.72 --- ewl_image.c 31 Dec 2007 05:56:17 -0000 1.71 +++ ewl_image.c 31 Dec 2007 06:50:32 -0000 1.72 @@ -664,7 +664,7 @@ image = w; ewl_image_thumbnail_request(EWL_IMAGE_THUMBNAIL(thumb), - (char *)ewl_image_file_path_get(EWL_IMAGE(image))); + ewl_image_file_path_get(EWL_IMAGE(image))); DLEAVE_FUNCTION(DLEVEL_STABLE); } |