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

Reply via email to