Enlightenment CVS committal Author : codewarrior Project : e17 Module : proto
Dir : e17/proto/estickies/src/bin Modified Files: stickies.c stickies.h Log Message: - confirmation dialog when the [x] button is pressed (which deletes, not closes, need to change image soon) =================================================================== RCS file: /cvs/e/e17/proto/estickies/src/bin/stickies.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- stickies.c 2 Aug 2006 05:53:59 -0000 1.3 +++ stickies.c 3 Aug 2006 02:40:11 -0000 1.4 @@ -15,6 +15,7 @@ static void _e_sticky_focus_in_cb(Etk_Object *object, void *data); static void _e_sticky_focus_out_cb(Etk_Object *object, void *data); static void _e_sticky_sticky_cb(Etk_Object *object, const char *property_name, void *data); +static void _e_sticky_delete_confirm_cb(Etk_Object *obj, int response_id, void *data); static void _e_sticky_key_down_cb(Etk_Object *object, void *event, void *data) @@ -209,7 +210,7 @@ menu = etk_menu_new(); _etk_menu_stock_item_new("New", ETK_STOCK_DOCUMENT_OPEN, ETK_MENU_SHELL(menu), ETK_CALLBACK(_e_sticky_new_show_append), NULL); _etk_menu_stock_item_new("Save", ETK_STOCK_DOCUMENT_SAVE, ETK_MENU_SHELL(menu), ETK_CALLBACK(_e_config_save), ss); - _etk_menu_stock_item_new("Delete", ETK_STOCK_EDIT_DELETE, ETK_MENU_SHELL(menu), ETK_CALLBACK(_e_sticky_delete), s); + _etk_menu_stock_item_new("Delete", ETK_STOCK_EDIT_DELETE, ETK_MENU_SHELL(menu), ETK_CALLBACK(_e_sticky_delete_confirm), s); _etk_menu_stock_item_new("Options", ETK_STOCK_PREFERENCES_DESKTOP_THEME, ETK_MENU_SHELL(menu), ETK_CALLBACK(_e_theme_chooser_show), s); _etk_menu_stock_item_new("Quit", ETK_STOCK_NO_STOCK, ETK_MENU_SHELL(menu), ETK_CALLBACK(etk_main_quit), NULL); etk_menu_popup(ETK_MENU(menu)); @@ -290,7 +291,7 @@ ETK_IMAGE(etk_image_new_from_edje(theme, "button_close"))); etk_signal_connect_swapped("clicked", ETK_OBJECT(s->close_button), - ETK_CALLBACK(_e_sticky_delete), s); + ETK_CALLBACK(_e_sticky_delete_confirm), s); //etk_tooltips_tip_set(button, "Delete this sticky"); etk_box_pack_start(ETK_BOX(hbox), s->close_button, ETK_FALSE, ETK_FALSE, 0); @@ -335,6 +336,24 @@ } void +_e_sticky_delete_confirm(E_Sticky *s) +{ + Etk_Widget *dialog; + + dialog = etk_message_dialog_new(ETK_MESSAGE_DIALOG_QUESTION, + ETK_MESSAGE_DIALOG_YES_NO, + "Are you sure you want to delete this sticky?"); + etk_signal_connect_swapped("delete_event", ETK_OBJECT(dialog), + ETK_CALLBACK(etk_object_destroy), dialog); + etk_signal_connect("response", ETK_OBJECT(dialog), + ETK_CALLBACK(_e_sticky_delete_confirm_cb), s); + etk_container_border_width_set(ETK_CONTAINER(dialog), 4); + + etk_window_title_set(ETK_WINDOW(dialog), "Confirm Deletion"); + etk_widget_show_all(dialog); +} + +void _e_sticky_move(E_Sticky *s, int x, int y) { etk_window_move(ETK_WINDOW(s->win), x, y); @@ -425,6 +444,23 @@ for(l = ss->stickies; l; l = l->next) _e_sticky_theme_apply(l->data, theme); +} + +static void +_e_sticky_delete_confirm_cb(Etk_Object *obj, int response_id, void *data) +{ + switch(response_id) + { + case ETK_RESPONSE_YES: + if(data) + _e_sticky_delete(data); + break; + + default: + break; + } + + etk_object_destroy(obj); } int main(int argc, char **argv) =================================================================== RCS file: /cvs/e/e17/proto/estickies/src/bin/stickies.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- stickies.h 31 Jul 2006 00:31:45 -0000 1.2 +++ stickies.h 3 Aug 2006 02:40:11 -0000 1.3 @@ -104,5 +104,6 @@ void _e_sticky_load_from(E_Sticky *s); void _e_sticky_theme_apply(E_Sticky *s, char *theme); void _e_sticky_theme_apply_all(char *theme); - +void _e_sticky_delete_confirm(E_Sticky *s); + #endif ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs