Enlightenment CVS committal Author : codewarrior Project : e17 Module : proto
Dir : e17/proto/exhibit/src/bin Modified Files: exhibit.h exhibit_image.c exhibit_main.c exhibit_main.h exhibit_menus.c exhibit_options.c exhibit_options.h Log Message: - AUTHORS++ - patch from balony for options dialog - x will fit / unfit image - s will start / stop slideshow - some cleanups and removal of unused stuff - TODO updates =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- exhibit.h 3 Aug 2006 13:12:17 -0000 1.24 +++ exhibit.h 10 Aug 2006 04:01:10 -0000 1.25 @@ -47,6 +47,7 @@ typedef struct _Exhibit Exhibit; typedef struct _Ex_Options Ex_Options; +typedef struct _Ex_Options_Dialog Ex_Options_Dialog; typedef struct _Ex_Tab Ex_Tab; typedef struct _Ex_Thumb Ex_Thumb; typedef struct _Ex_Filedialog Ex_Filedialog; @@ -82,6 +83,16 @@ int last_h; }; +struct _Ex_Options_Dialog +{ + Etk_Widget *dv_btn_1; + Etk_Widget *dv_btn_2; + + Etk_Widget *blur_thresh; + Etk_Widget *sharpen_thresh; + Etk_Widget *brighten_thresh; +}; + struct _Ex_Tab { char *dir; @@ -157,6 +168,7 @@ Ex_Tab *cur_tab; Ex_Options *options; + Ex_Options_Dialog *opt_dialog; Ex_Config_Version *version; struct { =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_image.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- exhibit_image.c 3 Aug 2006 13:12:17 -0000 1.28 +++ exhibit_image.c 10 Aug 2006 04:01:10 -0000 1.29 @@ -353,15 +353,18 @@ int x, y, mx, my, mw, mh, mt, xx, yy; int a, r, g, b; int *as, *rs, *gs, *bs; - int rad = 2; /* maybe make this configurable later */ + int rad = 2; unsigned int *p1, *p2; if(im->use_edje) return; - + etk_image_size_get(im, &w, &h); data2 = evas_object_image_data_get(im->image_object, ETK_TRUE); _ex_image_data_copy(im, data2, w, h); /* for undo */ + + rad = e->options->blur_thresh; + D(("_ex_image_blur: using rad: %d\n", rad)); if (rad < 1) return; @@ -454,7 +457,7 @@ int w, h; int x, y; int a, r, g, b; - int rad = 2; /* maybe make this configurable later */ + int rad = 2; unsigned int *p1, *p2; if(im->use_edje) @@ -465,6 +468,11 @@ _ex_image_data_copy(im, data2, w, h); /* for undo */ data = malloc(w * h * sizeof(unsigned int)); + + /* FIXME I cant see any difference with this changed?? -- Balony */ + rad = e->options->sharpen_thresh; + D(("_ex_image_sharpen: using rad: %d\n", rad)); + if (rad == 0) return; else =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_main.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- exhibit_main.c 3 Aug 2006 13:12:17 -0000 1.60 +++ exhibit_main.c 10 Aug 2006 04:01:10 -0000 1.61 @@ -10,12 +10,6 @@ Exhibit *e; Evas_List *event_handlers; - - -static void _ex_main_button_zoom_in_cb(Etk_Object *obj, void *data); -static void _ex_main_button_zoom_out_cb(Etk_Object *obj, void *data); -static void _ex_main_button_zoom_one_to_one_cb(Etk_Object *obj, void *data); -static void _ex_main_button_fit_to_window_cb(Etk_Object *obj, void *data); static int _ex_main_dtree_compare_cb(Etk_Tree *tree, Etk_Tree_Row *row1, Etk_Tree_Row *row2, Etk_Tree_Col *col, void *data); static void _ex_main_goto_dir_clicked_cb(Etk_Object *object, void *data); static void _ex_main_entry_dir_key_down_cb(Etk_Object *object, void *event, void *data); @@ -52,46 +46,6 @@ } } -static void -_ex_main_button_zoom_in_cb(Etk_Object *obj, void *data) -{ - Exhibit *e; - - e = data; - - _ex_tab_current_zoom_in(e); -} - -static void -_ex_main_button_zoom_out_cb(Etk_Object *obj, void *data) -{ - Exhibit *e; - - e = data; - - _ex_tab_current_zoom_out(e); -} - -static void -_ex_main_button_zoom_one_to_one_cb(Etk_Object *obj, void *data) -{ - Exhibit *e; - - e = data; - - _ex_tab_current_zoom_one_to_one(e); -} - -static void -_ex_main_button_fit_to_window_cb(Etk_Object *obj, void *data) -{ - Exhibit *e; - - e = data; - - _ex_tab_current_fit_to_window(e); -} - void _ex_main_image_unset() { @@ -149,17 +103,18 @@ else { etk_image_set_from_file(ETK_IMAGE(e->cur_tab->image), image); - - if (e->cur_tab->fit_window) - { - _ex_main_button_fit_to_window_cb(NULL, e); - e->options->default_view = EX_IMAGE_FIT_TO_WINDOW; - } - else - { - _ex_main_button_zoom_one_to_one_cb(NULL, e); - e->options->default_view = EX_IMAGE_ONE_TO_ONE; - } + + if (e->options->default_view == EX_IMAGE_FIT_TO_WINDOW) + { + _ex_tab_current_fit_to_window(e); + D(("Setting EX_IMAGE_FIT_TO_WINDOW loaded and used\n")); + + } + else if (e->options->default_view == EX_IMAGE_ONE_TO_ONE) + { + _ex_tab_current_zoom_one_to_one(e); + D(("Setting EX_IMAGE_ONE_TO_ONE loaded and used\n")); + } } bytes = ecore_file_size(image); @@ -456,10 +411,6 @@ { etk_main_quit(); } - else if(!strcmp(ev->key, "s")) - { - _ex_main_window_slideshow_toggle(e); - } else if(!strcmp(ev->key, "d")) { Etk_Tree_Row *r; @@ -472,6 +423,17 @@ _ex_favorites_add(e, icol_string); } } + else if(!strcmp(ev->key, "x")) + { + if(!e->cur_tab->fit_window) + _ex_tab_current_fit_to_window(e); + else + _ex_tab_current_zoom_one_to_one(e); + } + else if(!strcmp(ev->key, "s")) + { + _ex_main_window_slideshow_toggle(e); + } } static void @@ -805,7 +767,7 @@ e->zoom_in[0] = etk_button_new(); e->zoom_in[1] = etk_image_new_from_edje(PACKAGE_DATA_DIR"/images/images.edj", "zoom_in"); etk_button_image_set(ETK_BUTTON(e->zoom_in[0]), ETK_IMAGE(e->zoom_in[1])); - etk_signal_connect("clicked", ETK_OBJECT(e->zoom_in[0]), ETK_CALLBACK(_ex_main_button_zoom_in_cb), e); + etk_signal_connect_swapped("clicked", ETK_OBJECT(e->zoom_in[0]), ETK_CALLBACK(_ex_tab_current_zoom_in), e); etk_table_attach(ETK_TABLE(e->table), e->zoom_in[0], 0, 0, 1, 1, 0, 0, ETK_FILL_POLICY_NONE); @@ -813,7 +775,7 @@ e->zoom_out[0] = etk_button_new(); e->zoom_out[1] = etk_image_new_from_edje(PACKAGE_DATA_DIR"/images/images.edj", "zoom_out"); etk_button_image_set(ETK_BUTTON(e->zoom_out[0]), ETK_IMAGE(e->zoom_out[1])); - etk_signal_connect("clicked", ETK_OBJECT(e->zoom_out[0]), ETK_CALLBACK(_ex_main_button_zoom_out_cb), e); + etk_signal_connect_swapped("clicked", ETK_OBJECT(e->zoom_out[0]), ETK_CALLBACK(_ex_tab_current_zoom_out), e); etk_table_attach(ETK_TABLE(e->table), e->zoom_out[0], 1, 1, 1, 1, 0, 0, ETK_FILL_POLICY_NONE); @@ -821,7 +783,7 @@ e->fit[0] = etk_button_new(); e->fit[1] = etk_image_new_from_edje(PACKAGE_DATA_DIR"/images/images.edj", "fit_to_window"); etk_button_image_set(ETK_BUTTON(e->fit[0]), ETK_IMAGE(e->fit[1])); - etk_signal_connect("clicked", ETK_OBJECT(e->fit[0]), ETK_CALLBACK(_ex_main_button_fit_to_window_cb), e); + etk_signal_connect_swapped("clicked", ETK_OBJECT(e->fit[0]), ETK_CALLBACK(_ex_tab_current_fit_to_window), e); etk_table_attach(ETK_TABLE(e->table), e->fit[0], 2, 2, 1, 1, 0, 0, ETK_FILL_POLICY_NONE); @@ -829,7 +791,7 @@ e->original[0] = etk_button_new(); e->original[1] = etk_image_new_from_edje(PACKAGE_DATA_DIR"/images/images.edj", "one_to_one"); etk_button_image_set(ETK_BUTTON(e->original[0]), ETK_IMAGE(e->original[1])); - etk_signal_connect("clicked", ETK_OBJECT(e->original[0]), ETK_CALLBACK(_ex_main_button_zoom_one_to_one_cb), e); + etk_signal_connect_swapped("clicked", ETK_OBJECT(e->original[0]), ETK_CALLBACK(_ex_tab_current_zoom_one_to_one), e); etk_table_attach(ETK_TABLE(e->table), e->original[0], 3, 3, 1, 1, 0, 0, ETK_FILL_POLICY_NONE); @@ -902,8 +864,12 @@ e->statusbar[2] = etk_statusbar_new(); etk_statusbar_has_resize_grip_set(ETK_STATUSBAR(e->statusbar[2]), ETK_FALSE); - etk_box_pack_start(ETK_BOX(e->hbox), e->statusbar[2], ETK_TRUE, ETK_TRUE, 0); - etk_statusbar_push(ETK_STATUSBAR(e->statusbar[2]), "1:1", 0); + etk_box_pack_start(ETK_BOX(e->hbox), e->statusbar[2], ETK_TRUE, ETK_TRUE, 0); + + if (e->options->default_view == EX_IMAGE_ONE_TO_ONE) + etk_statusbar_push(ETK_STATUSBAR(e->statusbar[2]), "1:1", 0); + else if (e->options->default_view == EX_IMAGE_FIT_TO_WINDOW) + etk_statusbar_push(ETK_STATUSBAR(e->statusbar[2]), "Fit to window", 0); e->statusbar[3] = etk_statusbar_new(); etk_box_pack_start(ETK_BOX(e->hbox), e->statusbar[3], ETK_TRUE, ETK_TRUE, 0); =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_main.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- exhibit_main.h 3 Aug 2006 13:12:17 -0000 1.11 +++ exhibit_main.h 10 Aug 2006 04:01:10 -0000 1.12 @@ -14,6 +14,8 @@ void _ex_main_window_show(char *dir); void _ex_main_image_unset(); void _ex_main_image_set(Exhibit *e, char *image); +void _ex_main_button_fit_to_window_cb(Etk_Object *obj, void *data); +void _ex_main_button_zoom_one_to_one_cb(Etk_Object *obj, void *data); =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_menus.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- exhibit_menus.c 3 Aug 2006 13:12:17 -0000 1.24 +++ exhibit_menus.c 10 Aug 2006 04:01:10 -0000 1.25 @@ -302,10 +302,16 @@ if (!e->cur_tab->image_loaded) return; + + e->brightness = e->options->brighten_thresh; + + /* What is this for? FIXME -- Balony */ + e->brightness += 10; - e->brightness += 10; if(e->brightness > 255) e->brightness = 255; + + D(("Using brightness %d\n", e->brightness)); _ex_image_brightness(ETK_IMAGE(e->cur_tab->image), e->brightness); } =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_options.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- exhibit_options.c 2 Aug 2006 19:23:22 -0000 1.6 +++ exhibit_options.c 10 Aug 2006 04:01:10 -0000 1.7 @@ -1,3 +1,6 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ #include "exhibit.h" #define NEWD(str, typ) \ @@ -21,9 +24,17 @@ #define VER_NEWI(str, it, type) EET_DATA_DESCRIPTOR_ADD_BASIC(_ex_config_version_edd, Ex_Config_Version, str, it, type) +#define IS_SELECTED(w) etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(w)) + static Eet_Data_Descriptor *_ex_config_options_edd = NULL; static Eet_Data_Descriptor *_ex_config_version_edd = NULL; +static void _ex_options_set(); +static void _ex_options_set_cancel_cb(Etk_Object *object, void *data); +static void _ex_options_set_apply_cb(Etk_Object *object, void *data); +static void _ex_options_set_ok_cb(Etk_Object *object, void *data); +static Etk_Bool _ex_options_window_delete_cb(void *data); + int _ex_options_init() @@ -278,49 +289,265 @@ e->options = eet_data_read(ef, _ex_config_options_edd, "config/options"); D(("Config: Loaded saved options (%s)\n", e->options->fav_path)); + + D(("Default view: %d\n", e->options->default_view)); eet_close(ef); return 1; } +static void +_ex_options_set_cancel_cb(Etk_Object *object, void *data) +{ + etk_object_destroy(ETK_OBJECT(object)); + E_FREE(e->opt_dialog); +} + +static void +_ex_options_set_apply_cb(Etk_Object *object, void *data) +{ + _ex_options_set(); + _ex_options_save(e); +} + +static void +_ex_options_set_ok_cb(Etk_Object *object, void *data) +{ + _ex_options_set(); + _ex_options_save(e); + etk_object_destroy(ETK_OBJECT(object)); + + E_FREE(e->opt_dialog); +} + +static Etk_Bool +_ex_options_window_delete_cb(void *data) +{ + etk_object_destroy(ETK_OBJECT(data)); + E_FREE(e->opt_dialog); + return ETK_TRUE; +} + +static void +_ex_options_set() +{ + Ex_Options_Dialog *dialog = e->opt_dialog; + const char *string; + + + /* STANDARD VIEW */ + if (IS_SELECTED(dialog->dv_btn_1)) + { + D(("Zoom 1:1 is checked\n")); + e->options->default_view = EX_IMAGE_ONE_TO_ONE; + _ex_tab_current_zoom_one_to_one(e); + } + else if (IS_SELECTED(dialog->dv_btn_2)) + { + D(("Fit to window is checked\n")); + e->options->default_view = EX_IMAGE_FIT_TO_WINDOW; + _ex_tab_current_fit_to_window(e); + } + + /* BLUR */ + string = etk_entry_text_get(ETK_ENTRY(dialog->blur_thresh)); + if (string) + { + D(("Setting blur thresh: %f\n", atof(string))); + e->options->blur_thresh = atof(string); + + if (e->options->blur_thresh <= 1) + _ex_main_dialog_show("One, Zero or negative value for blur tresh " \ + "is not recommended! ", ETK_MESSAGE_DIALOG_WARNING); + } + else + { + _ex_main_dialog_show("Missing value for blur thresh, but still " \ + "saving the other options!", ETK_MESSAGE_DIALOG_WARNING); + } + + /* SHARPEN */ + string = etk_entry_text_get(ETK_ENTRY(dialog->sharpen_thresh)); + if (string) + { + D(("Setting sharpen thresh: %f\n", atof(string))); + e->options->sharpen_thresh = atof(string); + + if (e->options->sharpen_thresh <= 0) + _ex_main_dialog_show("Zero or negative value for sharpen tresh " \ + "is not recommended! ", ETK_MESSAGE_DIALOG_WARNING); + } + else + { + _ex_main_dialog_show("Missing value for sharpen thresh, but still " \ + "saving the other options!", ETK_MESSAGE_DIALOG_WARNING); + } + + /* BRIGHTEN */ + string = etk_entry_text_get(ETK_ENTRY(dialog->brighten_thresh)); + if (string) + { + D(("Setting brighten thresh: %f\n", atof(string))); + e->options->brighten_thresh = atof(string); + + if (e->options->brighten_thresh <= 0) + _ex_main_dialog_show("Zero or negative value for brighten tresh " \ + "is not recommended! ", ETK_MESSAGE_DIALOG_WARNING); + else if (e->options->brighten_thresh > 255) + _ex_main_dialog_show("Bigger then 255 value for brighten tresh " \ + "is not recommended! ", ETK_MESSAGE_DIALOG_WARNING); + } + else + { + _ex_main_dialog_show("Missing value for brighten thresh, but still " \ + "saving the other options!", ETK_MESSAGE_DIALOG_WARNING); + } + + +} + +static Etk_Widget * +_ex_options_page_1_create() +{ + Etk_Widget *vbox; + Etk_Widget *vbox2; + Etk_Widget *frame; + Etk_Widget *table; + Etk_Widget *label; + char string[256]; + + Ex_Options_Dialog *dialog = e->opt_dialog; + vbox = etk_vbox_new(ETK_FALSE, 3); + + frame = etk_frame_new("Choose standard view"); + etk_box_pack_start(ETK_BOX(vbox), frame, ETK_FALSE, ETK_FALSE, 5); + + vbox2 = etk_vbox_new(ETK_FALSE, 0); + etk_container_add(ETK_CONTAINER(frame), vbox2); + + dialog->dv_btn_1 = etk_radio_button_new_with_label("Zoom 1:1", NULL); + etk_box_pack_start(ETK_BOX(vbox2), dialog->dv_btn_1, ETK_FALSE, ETK_FALSE, 0); + + dialog->dv_btn_2 = etk_radio_button_new_with_label_from_widget("Fit to window", + ETK_RADIO_BUTTON(dialog->dv_btn_1)); + etk_box_pack_start(ETK_BOX(vbox2), dialog->dv_btn_2, ETK_FALSE, ETK_FALSE, 0); + + frame = etk_frame_new("Effect thresh"); + etk_box_pack_start(ETK_BOX(vbox), frame, ETK_FALSE, ETK_FALSE, 5); + vbox2 = etk_vbox_new(ETK_FALSE, 0); + etk_container_add(ETK_CONTAINER(frame), vbox2); + + table = etk_table_new(2, 3, ETK_FALSE); + etk_box_pack_start(ETK_BOX(vbox2), table, ETK_FALSE, ETK_FALSE, 0); + + label = etk_label_new("Blur thresh"); + etk_table_attach(ETK_TABLE(table), label, 0, 0, 0, 0, 0, 0, + ETK_FILL_POLICY_NONE); + dialog->blur_thresh = etk_entry_new(); + etk_table_attach(ETK_TABLE(table), dialog->blur_thresh, 1, 1, 0, 0, 0, 0, + ETK_FILL_POLICY_NONE); + + label = etk_label_new("Sharpen thresh"); + etk_table_attach(ETK_TABLE(table), label, 0, 0, 1, 1, 0, 0, + ETK_FILL_POLICY_NONE); + dialog->sharpen_thresh = etk_entry_new(); + etk_table_attach(ETK_TABLE(table), dialog->sharpen_thresh, 1, 1, 1, 1, 0, 0, + ETK_FILL_POLICY_NONE); + + label = etk_label_new("Brighten thresh"); + etk_table_attach(ETK_TABLE(table), label, 0, 0, 2, 2, 0, 0, + ETK_FILL_POLICY_NONE); + dialog->brighten_thresh = etk_entry_new(); + etk_table_attach(ETK_TABLE(table), dialog->brighten_thresh, 1, 1, 2, 2, 0, 0, + ETK_FILL_POLICY_NONE); + /* + * Start toggling the correct values from loaded options + */ + if (e->options->default_view == EX_IMAGE_ONE_TO_ONE) + etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(dialog->dv_btn_1)); + else if (e->options->default_view == EX_IMAGE_FIT_TO_WINDOW) + etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(dialog->dv_btn_2)); + + sprintf(string, "%.2f", e->options->blur_thresh); + D(("Entry gets texts for blur tresh: %s\n", string)); + etk_entry_text_set(ETK_ENTRY(dialog->blur_thresh), string); + + sprintf(string, "%.2f", e->options->sharpen_thresh); + D(("Entry gets texts for sharpen tresh: %s\n", string)); + etk_entry_text_set(ETK_ENTRY(dialog->sharpen_thresh), string); + + sprintf(string, "%.2f", e->options->brighten_thresh); + D(("Entry gets texts for brighten tresh: %s\n", string)); + etk_entry_text_set(ETK_ENTRY(dialog->brighten_thresh), string); + + return vbox; +} + +static Etk_Widget * +_ex_options_page_2_create() +{ + Etk_Widget *vbox; + + vbox = etk_vbox_new(ETK_FALSE, 3); + + return vbox; +} + void _ex_options_window_show(Exhibit *e) { Etk_Widget *win; - Etk_Widget *vbox, *vbox2; - Etk_Widget *btn, *btn2; - Etk_Widget *frame; + Etk_Widget *vbox; + Etk_Widget *hbox; + Etk_Widget *notebook; + Etk_Widget *page; + Etk_Widget *button; + + if(e->opt_dialog) + return; + + e->opt_dialog = calloc(1, sizeof(Ex_Options_Dialog)); win = etk_window_new(); etk_window_title_set(ETK_WINDOW(win), "Exhibit options"); - etk_window_resize(ETK_WINDOW(win), 200, 150); - etk_container_border_width_set(ETK_CONTAINER(win), 10); + etk_container_border_width_set(ETK_CONTAINER(win), 5); etk_signal_connect("delete_event", ETK_OBJECT(win), ETK_CALLBACK(_ex_options_window_delete_cb), win); - vbox = etk_vbox_new(ETK_FALSE, 0); + vbox = etk_vbox_new(ETK_FALSE, 3); etk_container_add(ETK_CONTAINER(win), vbox); - frame = etk_frame_new("Choose standard view"); - etk_box_pack_start(ETK_BOX(vbox), frame, ETK_TRUE, ETK_FALSE, 0); - - vbox2 = etk_vbox_new(ETK_FALSE, 0); - etk_container_add(ETK_CONTAINER(frame), vbox2); - - btn = etk_radio_button_new_with_label("Zoom 1:1", NULL); - etk_box_pack_start(ETK_BOX(vbox2), btn, ETK_TRUE, ETK_FALSE, 0); + notebook = etk_notebook_new(); + etk_box_pack_start(ETK_BOX(vbox), notebook, ETK_TRUE, ETK_TRUE, 0); - btn2 = etk_radio_button_new_with_label_from_widget("Fit to window", - ETK_RADIO_BUTTON(btn)); - etk_box_pack_start(ETK_BOX(vbox2), btn2, ETK_TRUE, ETK_FALSE, 0); - + page = _ex_options_page_1_create(); + etk_notebook_page_append(ETK_NOTEBOOK(notebook), "General", page); + page = _ex_options_page_2_create(); + etk_notebook_page_append(ETK_NOTEBOOK(notebook), "Slideshow", page); + + etk_box_pack_start(ETK_BOX(vbox), etk_hseparator_new(), + ETK_FALSE, ETK_FALSE, 5); + + hbox = etk_hbox_new(ETK_FALSE, 3); + etk_box_pack_start(ETK_BOX(vbox), hbox, ETK_FALSE, ETK_FALSE, 0); + + button = etk_button_new_from_stock(ETK_STOCK_DIALOG_OK); + etk_box_pack_start(ETK_BOX(hbox), button, ETK_FALSE, ETK_FALSE, 0); + etk_signal_connect_swapped("clicked", ETK_OBJECT(button), + ETK_CALLBACK(_ex_options_set_ok_cb), win); + + button = etk_button_new_from_stock(ETK_STOCK_DOCUMENT_SAVE); + etk_button_label_set(ETK_BUTTON(button), "Apply"); + etk_box_pack_start(ETK_BOX(hbox), button, ETK_FALSE, ETK_FALSE, 0); + etk_signal_connect("clicked", ETK_OBJECT(button), + ETK_CALLBACK(_ex_options_set_apply_cb), NULL); + + button = etk_button_new_from_stock(ETK_STOCK_DIALOG_CANCEL); + etk_box_pack_start(ETK_BOX(hbox), button, ETK_FALSE, ETK_FALSE, 0); + etk_signal_connect_swapped("clicked", ETK_OBJECT(button), + ETK_CALLBACK(_ex_options_set_cancel_cb), win); + etk_widget_show_all(ETK_WIDGET(win)); } -Etk_Bool -_ex_options_window_delete_cb(void *data) -{ - etk_object_destroy(ETK_OBJECT(data)); - return ETK_TRUE; -} =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_options.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- exhibit_options.h 29 Jul 2006 19:50:04 -0000 1.3 +++ exhibit_options.h 10 Aug 2006 04:01:10 -0000 1.4 @@ -1,3 +1,6 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ #ifndef _EX_OPTIONS_H #define _EX_OPTIONS_H @@ -9,6 +12,5 @@ int _ex_options_save(Exhibit *e); int _ex_options_load(Exhibit *e); void _ex_options_window_show(Exhibit *e); -Etk_Bool _ex_options_window_delete_cb(void *data); - + #endif ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs