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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs