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

Reply via email to