Enlightenment CVS committal Author : davemds Project : e17 Module : libs/etk
Dir : e17/libs/etk/src/lib Modified Files: etk_filechooser_widget.c etk_filechooser_widget.h Log Message: Apply patch #292. Filechooser selected event. =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_filechooser_widget.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -3 -r1.33 -r1.34 --- etk_filechooser_widget.c 30 Sep 2007 02:18:34 -0000 1.33 +++ etk_filechooser_widget.c 18 Dec 2007 15:10:07 -0000 1.34 @@ -46,6 +46,8 @@ #define ETK_FILECHOOSER_FAVS_FILE ".gtk-bookmarks" +int ETK_FILECHOOSER_SELECTED_SIGNAL; + enum _Etk_Filechooser_Widget_Property_Id { ETK_FILECHOOSER_WIDGET_PATH_PROPERTY, @@ -116,10 +118,16 @@ if (!filechooser_widget_type) { + const Etk_Signal_Description signals[] = { + ETK_SIGNAL_DESC_HANDLER(ETK_FILECHOOSER_SELECTED_SIGNAL, + "selected", Etk_Filechooser_Widget, selected_handler, etk_marshaller_VOID), + ETK_SIGNAL_DESCRIPTION_SENTINEL + }; + filechooser_widget_type = etk_type_new("Etk_Filechooser_Widget", ETK_WIDGET_TYPE, sizeof(Etk_Filechooser_Widget), ETK_CONSTRUCTOR(_etk_filechooser_widget_constructor), - ETK_DESTRUCTOR(_etk_filechooser_widget_destructor), NULL); + ETK_DESTRUCTOR(_etk_filechooser_widget_destructor), signals); etk_type_property_add(filechooser_widget_type, "path", ETK_FILECHOOSER_WIDGET_PATH_PROPERTY, ETK_PROPERTY_STRING, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_string(NULL)); etk_type_property_add(filechooser_widget_type, "select-multiple", ETK_FILECHOOSER_WIDGET_SELECT_MULTIPLE_PROPERTY, ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_FALSE)); @@ -500,6 +508,8 @@ etk_signal_connect_by_code(ETK_TREE_ROW_ACTIVATED_SIGNAL, ETK_OBJECT(fcw->files_tree), ETK_CALLBACK(_etk_filechooser_widget_file_activated_cb), fcw); etk_signal_connect_by_code(ETK_TREE_ROW_SELECTED_SIGNAL, ETK_OBJECT(fcw->files_tree), ETK_CALLBACK(_etk_filechooser_widget_file_selected_cb), fcw); + fcw->selected_handler = NULL; + _etk_filechooser_widget_places_tree_fill(ETK_FILECHOOSER_WIDGET(fcw)); _etk_filechooser_widget_favs_tree_fill(ETK_FILECHOOSER_WIDGET(fcw)); @@ -634,8 +644,8 @@ { if (ecore_file_is_dir(file_path)) etk_filechooser_widget_current_folder_set(filechooser_widget, file_path); - else /* TODO */ - ; + else + etk_signal_emit(ETK_FILECHOOSER_SELECTED_SIGNAL, ETK_OBJECT(filechooser_widget)); } return ETK_TRUE; =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_filechooser_widget.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- etk_filechooser_widget.h 26 Sep 2007 04:58:04 -0000 1.11 +++ etk_filechooser_widget.h 18 Dec 2007 15:10:07 -0000 1.12 @@ -23,6 +23,8 @@ /** Checks if the object is an Etk_Filechooser_Widget */ #define ETK_IS_FILECHOOSER_WIDGET(obj) (ETK_OBJECT_CHECK_TYPE((obj), ETK_FILECHOOSER_WIDGET_TYPE)) +extern int ETK_FILECHOOSER_SELECTED_SIGNAL; + /** * @struct Etk_Filechooser_Widget * @brief An Etk_Filechooser_Widget is a widget used to select one or more files @@ -45,6 +47,8 @@ Etk_Widget *files_tree; Etk_Tree_Col *files_name_col; Etk_Tree_Col *files_date_col; + + Etk_Bool (*selected_handler)(Etk_Filechooser_Widget *filechooser); char *current_folder; ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs