Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_filelist.c ewl_filepicker.c ewl_filepicker.h Log Message: Fix bug 434. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist.c,v retrieving revision 1.51 retrieving revision 1.52 diff -u -3 -r1.51 -r1.52 --- ewl_filelist.c 11 Feb 2008 03:00:31 -0000 1.51 +++ ewl_filelist.c 12 Apr 2008 18:59:26 -0000 1.52 @@ -337,7 +337,7 @@ /** * @param fl: The filelist to get the filter from - * @return Returns the current filter + * @return Returns the current filter. Do not free returned filter! * @brief Retrieves the current filter set on the filelist */ Ewl_Filelist_Filter * =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filepicker.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- ewl_filepicker.c 26 Feb 2008 06:21:21 -0000 1.49 +++ ewl_filepicker.c 12 Apr 2008 18:59:26 -0000 1.50 @@ -405,16 +405,24 @@ * @param fp: The filepicker to set the filter on * @param filter: The filter to set on the filepicker * @return Returns no value. - * @brief Set the given filter into the file picker + * @brief Set the given filter into the file picker and updates the combo */ void -ewl_filepicker_filter_set(Ewl_Filepicker *fp, Ewl_Filelist_Filter *filter) +ewl_filepicker_filter_set(Ewl_Filepicker *fp, + Ewl_Filelist_Filter *filter) { + int idx; + DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(fp); DCHECK_TYPE(fp, EWL_FILEPICKER_TYPE); - ewl_filelist_filter_set(EWL_FILELIST(fp->file_list), filter); + if (filter == ewl_filepicker_filter_get(fp)) + DRETURN(DLEVEL_STABLE); + + ecore_list_goto(fp->filters, filter); + idx = ecore_list_index(fp->filters); + ewl_mvc_selected_set(EWL_MVC(fp->mvc_filters.combo), NULL, fp, idx, 0); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -422,7 +430,7 @@ /** * @param fp: The filepicker to get the filter from * @return Returns the current filter used in the filepicker - * @brief Retrieves the current filter used in the filepicker + * @brief Retrieves the current filter used in the filepicker. Do not free the filter! */ Ewl_Filelist_Filter * ewl_filepicker_filter_get(Ewl_Filepicker *fp) @@ -585,10 +593,10 @@ * @param name: The name to display for the filter * @param extension: The extension to filter for * @param mime_types: The mime types to filter for - * @return Returns no value + * @return Returns the filter created. Do not free the returned filter. * @brief Add the filter named @a name to the combo box in the filepicker. */ -void +Ewl_Filelist_Filter * ewl_filepicker_filter_add(Ewl_Filepicker *fp, const char *name, const char *extension, Ecore_List *mime_types) @@ -596,11 +604,14 @@ Ewl_Filelist_Filter *f; DENTER_FUNCTION(DLEVEL_STABLE); - DCHECK_PARAM_PTR(fp); - DCHECK_PARAM_PTR(name); - DCHECK_TYPE(fp, EWL_FILEPICKER_TYPE); + DCHECK_PARAM_PTR_RET(fp, NULL); + DCHECK_PARAM_PTR_RET(name, NULL); + DCHECK_TYPE_RET(fp, EWL_FILEPICKER_TYPE, NULL); f= NEW(Ewl_Filelist_Filter, 1); + if (!f) + DRETURN_PTR(NULL, DLEVEL_STABLE); + f->name = strdup(name); if (extension) f->extension = strdup(extension); else f->extension = NULL; @@ -608,8 +619,10 @@ else f->mime_list = NULL; ecore_list_prepend(fp->filters, f); + ewl_mvc_dirty_set(EWL_MVC(fp->mvc_filters.combo), TRUE); + ewl_mvc_selected_set(EWL_MVC(fp->mvc_filters.combo), NULL, fp, 0, 0); - DLEAVE_FUNCTION(DLEVEL_STABLE); + DRETURN_PTR(f, DLEVEL_STABLE); } static void @@ -936,7 +949,7 @@ { ecore_list_index_goto(fp->filters, idx->row); filter = ecore_list_current(fp->filters); - ewl_filepicker_filter_set(fp, filter); + ewl_filelist_filter_set(EWL_FILELIST(fp->file_list), filter); } FREE(idx); =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filepicker.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- ewl_filepicker.h 16 Jan 2008 22:03:17 -0000 1.16 +++ ewl_filepicker.h 12 Apr 2008 18:59:26 -0000 1.17 @@ -105,7 +105,7 @@ Ewl_Filelist_View view); Ewl_Filelist_View *ewl_filepicker_list_view_get(Ewl_Filepicker *fp); -void ewl_filepicker_filter_add(Ewl_Filepicker *fp, +Ewl_Filelist_Filter *ewl_filepicker_filter_add(Ewl_Filepicker *fp, const char *name, const char *extension, Ecore_List *mime_types); ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs