Enlightenment CVS committal Author : codewarrior Project : e17 Module : proto
Dir : e17/proto/exhibit/src/bin Modified Files: exhibit.h exhibit_main.c exhibit_menus.c exhibit_options.c exhibit_slideshow.c exhibit_tab.c Log Message: more work on options - balony =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit.h,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- exhibit.h 10 Aug 2006 04:01:10 -0000 1.25 +++ exhibit.h 10 Aug 2006 17:05:48 -0000 1.26 @@ -35,7 +35,8 @@ #define EX_DEFAULT_SHARPEN_THRESH 2 #define EX_DEFAULT_BRIGHTEN_THRESH 100 #define EX_DEFAULT_SLIDE_INTERVAL 5.0 -#define EX_DEFAULT_COMMENTS_VISIBLE 0 +#define EX_DEFAULT_COMMENTS_HIDDEN 0 +#define EX_DEFAULT_COMMENTS_VISIBLE 1 #define EX_DEFAULT_WINDOW_WIDTH 700 #define EX_DEFAULT_WINDOW_HEIGHT 500 @@ -91,6 +92,9 @@ Etk_Widget *blur_thresh; Etk_Widget *sharpen_thresh; Etk_Widget *brighten_thresh; + + Etk_Widget *slide_interval; + Etk_Widget *comments_visible; }; struct _Ex_Tab =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_main.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -3 -r1.61 -r1.62 --- exhibit_main.c 10 Aug 2006 04:01:10 -0000 1.61 +++ exhibit_main.c 10 Aug 2006 17:05:48 -0000 1.62 @@ -140,6 +140,9 @@ E_FREE(data2); etk_object_data_set(ETK_OBJECT(e->cur_tab->image), "undo", NULL); + + if (e->options->comments_visible) + _ex_comment_show(e); if(e->cur_tab->comment.visible) _ex_comment_load(e); =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_menus.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- exhibit_menus.c 10 Aug 2006 04:01:10 -0000 1.25 +++ exhibit_menus.c 10 Aug 2006 17:05:48 -0000 1.26 @@ -386,24 +386,42 @@ void _ex_menu_comments_cb(Etk_Object *obj, void *data) { - Exhibit *e; - Etk_Tree_Row *r; - char *icol_string; + Exhibit *e = data; EX_MENU_ITEM_GET_RETURN(obj); - e = data; - r = etk_tree_selected_row_get(ETK_TREE(e->cur_tab->itree)); - if(!r) return; - - etk_tree_row_fields_get(r, etk_tree_nth_col_get(ETK_TREE(e->cur_tab->itree), 0), NULL, &icol_string, etk_tree_nth_col_get(ETK_TREE(e->cur_tab->itree), 1),NULL); - + if (!e->cur_tab->image_loaded) + return; + if(!e->cur_tab->comment.visible) { + e->options->comments_visible = EX_DEFAULT_COMMENTS_VISIBLE; _ex_comment_show(e); - _ex_comment_load(e); + _ex_comment_load(e); + + if(e->opt_dialog) + { + /* If the options dialog is open, toggle the checkbox */ + if (!etk_toggle_button_active_get + (ETK_TOGGLE_BUTTON(e->opt_dialog->comments_visible))) + etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(e->opt_dialog->comments_visible)); + } } else - _ex_comment_hide(e); + { + e->options->comments_visible = EX_DEFAULT_COMMENTS_HIDDEN; + _ex_comment_hide(e); + + if(e->opt_dialog) + { + /* If the options dialog is open, toggle the checkbox */ + if (etk_toggle_button_active_get + (ETK_TOGGLE_BUTTON(e->opt_dialog->comments_visible))) + etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(e->opt_dialog->comments_visible)); + } + } + + /* Save this as settings since we want "remember state" for this */ + _ex_options_save(e); } void =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_options.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- exhibit_options.c 10 Aug 2006 04:01:10 -0000 1.7 +++ exhibit_options.c 10 Aug 2006 17:05:48 -0000 1.8 @@ -183,7 +183,7 @@ e->options->sharpen_thresh = EX_DEFAULT_SHARPEN_THRESH; e->options->brighten_thresh = EX_DEFAULT_BRIGHTEN_THRESH; e->options->slide_interval = EX_DEFAULT_SLIDE_INTERVAL; - e->options->comments_visible = EX_DEFAULT_COMMENTS_VISIBLE; + e->options->comments_visible = EX_DEFAULT_COMMENTS_HIDDEN; e->options->default_view = EX_IMAGE_ONE_TO_ONE; e->options->default_sort = 0; /* TODO: enumerate sort types */ e->options->last_w = EX_DEFAULT_WINDOW_WIDTH; @@ -334,6 +334,7 @@ { Ex_Options_Dialog *dialog = e->opt_dialog; const char *string; + double ss_int; /* STANDARD VIEW */ @@ -349,6 +350,21 @@ e->options->default_view = EX_IMAGE_FIT_TO_WINDOW; _ex_tab_current_fit_to_window(e); } + + /* COMMENTS */ + if (IS_SELECTED(dialog->comments_visible)) + { + D(("Comments EX_DEFAULT_COMMENTS_VISIBLE\n")); + e->options->comments_visible = EX_DEFAULT_COMMENTS_VISIBLE; + _ex_comment_show(e); + _ex_comment_load(e); + } + else + { + D(("Comments EX_DEFAULT_COMMENTS_HIDDEN\n")); + e->options->comments_visible = EX_DEFAULT_COMMENTS_HIDDEN; + _ex_comment_hide(e); + } /* BLUR */ string = etk_entry_text_get(ETK_ENTRY(dialog->blur_thresh)); @@ -404,13 +420,34 @@ "saving the other options!", ETK_MESSAGE_DIALOG_WARNING); } + /* SLIDESHOW */ + string = etk_entry_text_get(ETK_ENTRY(dialog->slide_interval)); + if (string) + { + ss_int = atof(string); + + if (ss_int <= 0) + _ex_main_dialog_show("Zero or negative value for slideshow interval " \ + "is not possible, skipping! ", ETK_MESSAGE_DIALOG_WARNING); + else + { + D(("Setting slide_interval: %f\n", ss_int)); + e->options->slide_interval = ss_int; + } + } + else + { + _ex_main_dialog_show("Missing value for slideshow interval, but still " \ + "saving the other options!", ETK_MESSAGE_DIALOG_WARNING); + + } } static Etk_Widget * _ex_options_page_1_create() { - Etk_Widget *vbox; + Etk_Widget *vbox, *hbox; Etk_Widget *vbox2; Etk_Widget *frame; Etk_Widget *table; @@ -433,6 +470,55 @@ 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("Slideshow"); + etk_box_pack_start(ETK_BOX(vbox), frame, ETK_FALSE, ETK_FALSE, 5); + hbox = etk_hbox_new(ETK_FALSE, 0); + etk_container_add(ETK_CONTAINER(frame), hbox); + + label = etk_label_new("Interval"); + etk_box_pack_start(ETK_BOX(hbox), label, ETK_FALSE, ETK_FALSE, 0); + + dialog->slide_interval = etk_entry_new(); + etk_box_pack_start(ETK_BOX(hbox), dialog->slide_interval, ETK_FALSE, ETK_FALSE, 0); + + + frame = etk_frame_new("Comments"); + 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->comments_visible = etk_check_button_new_with_label("Visible"); + etk_box_pack_start(ETK_BOX(vbox2), dialog->comments_visible, ETK_FALSE, ETK_FALSE, 0); + + /* + * Start toggling/setting 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)); + + if (e->options->comments_visible == EX_DEFAULT_COMMENTS_VISIBLE) + etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(dialog->comments_visible)); + + sprintf(string, "%.2f", e->options->slide_interval); + D(("Entry gets texts for slide_interval: %s\n", string)); + etk_entry_text_set(ETK_ENTRY(dialog->slide_interval), string); + + return vbox; +} + +static Etk_Widget * +_ex_options_page_2_create() +{ + Etk_Widget *vbox, *vbox2; + Etk_Widget *label; + Etk_Widget *frame, *table; + Ex_Options_Dialog *dialog = e->opt_dialog; + char string[256]; + + vbox = etk_vbox_new(ETK_FALSE, 3); + 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); @@ -461,14 +547,7 @@ 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); @@ -480,17 +559,18 @@ 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() +_ex_options_page_3_create() { Etk_Widget *vbox; - + Ex_Options_Dialog *dialog = e->opt_dialog; + vbox = etk_vbox_new(ETK_FALSE, 3); - + return vbox; } @@ -524,7 +604,9 @@ 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_notebook_page_append(ETK_NOTEBOOK(notebook), "Effects", page); + page = _ex_options_page_3_create(); + etk_notebook_page_append(ETK_NOTEBOOK(notebook), "Exec commands", page); etk_box_pack_start(ETK_BOX(vbox), etk_hseparator_new(), ETK_FALSE, ETK_FALSE, 5); =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_slideshow.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- exhibit_slideshow.c 3 Aug 2006 13:12:17 -0000 1.3 +++ exhibit_slideshow.c 10 Aug 2006 17:05:48 -0000 1.4 @@ -14,6 +14,9 @@ void _ex_slideshow_start(Exhibit *e) { + if (e->options->slide_interval) + e->slideshow.interval = e->options->slide_interval; + if(!e->slideshow.active) { etk_statusbar_push(ETK_STATUSBAR(e->statusbar[3]), "Slideshow running", 0); =================================================================== RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_tab.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- exhibit_tab.c 3 Aug 2006 13:12:17 -0000 1.21 +++ exhibit_tab.c 10 Aug 2006 17:05:48 -0000 1.22 @@ -26,6 +26,7 @@ tab->e = e; tab->fit_window = ETK_FALSE; tab->comment.visible = ETK_FALSE; + tab->image_loaded = ETK_FALSE; tab->dtree = etk_tree_new(); ------------------------------------------------------------------------- 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