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