Enlightenment CVS committal

Author  : handyande
Project : misc
Module  : enotes

Dir     : misc/enotes/src


Modified Files:
        note.c note.h saveload.c saveload.h 


Log Message:
Merge the two save / load dialogs
This needs more work, but makes things easier to follow.
There will be duplicates for now if you have a saved note visible. Sorting... 
===================================================================
RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -3 -r1.57 -r1.58
--- note.c      12 Mar 2006 17:20:46 -0000      1.57
+++ note.c      15 Mar 2006 01:25:28 -0000      1.58
@@ -91,19 +91,8 @@
        free(p);
        gbl_notes = evas_list_remove_list(gbl_notes, note);
 
-       /** 
-        * FIXME: When you can get the row and its child text, compare
-        * it to the ewl_text_text_get(p->title) value and remove the row
-        * from the tree at this point.  Reporting that you've done so with
-        * dml ("Removed note from save/load list", 2); or something.  When ewl
-        * will let you do these things.
-        */
-
-       if (saveload != NULL) {
-               dml("Removing note entry from saveload list", 2);
-               ewl_tree_row_destroy((Ewl_Tree *) saveload->tree,
-                                    p->saveload_row);
-       }
+  /* FIXME more intelligent things once we have sorted saveload */
+  ewl_saveload_revert(NULL, NULL, NULL);
 
        /*  Check if it was the last note  */
        if (evas_list_next(note) == NULL && evas_list_prev(note) == NULL &&
@@ -317,7 +306,9 @@
        if (saveload != NULL) {
                char *title;
                title = get_title_by_note(*note);
-               setup_saveload_opt(saveload->tree, title, *note);
+
+    /* FIXME more intelligent things once we have sorted saveload */
+               ewl_saveload_revert(NULL, NULL, NULL);
                dml("Added new note to saveload list", 2);
 
                if (title)
===================================================================
RCS file: /cvsroot/enlightenment/misc/enotes/src/note.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- note.h      3 Feb 2006 22:19:15 -0000       1.24
+++ note.h      15 Mar 2006 01:25:28 -0000      1.25
@@ -79,7 +79,6 @@
        Ewl_Widget     *content;
        Ewl_Widget     *pane;
 
-       Ewl_Row        *saveload_row;
        Menu           *menu;
 
        /* Comparison Strings and Timer */
===================================================================
RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- saveload.c  25 Oct 2005 01:07:53 -0000      1.23
+++ saveload.c  15 Mar 2006 01:25:28 -0000      1.24
@@ -16,10 +16,6 @@
 char           *saveload_selected;
 SaveLoad       *saveload = NULL;
 
-char           *load_selected;
-Load           *load = NULL;
-
-
 
 /** SAVE/LOAD WINDOW **/
 
@@ -95,6 +91,7 @@
 
        saveload_setup_button(saveload->hbox, &saveload->savebtn, "Save.");
        saveload_setup_button(saveload->hbox, &saveload->loadbtn, "Load.");
+       saveload_setup_button(saveload->hbox, &saveload->deletebtn, "Delete.");
        saveload_setup_button(saveload->hbox, &saveload->refreshbtn,
                              "Refresh.");
        saveload_setup_button(saveload->hbox, &saveload->closebtn, "Close.");
@@ -112,7 +109,9 @@
        ewl_callback_append(saveload->savebtn, EWL_CALLBACK_CLICKED,
                             ewl_saveload_save, NULL);
        ewl_callback_append(saveload->loadbtn, EWL_CALLBACK_CLICKED,
-                            ewl_saveload_load, NULL);
+                            ewl_load_load, NULL);
+       ewl_callback_append(saveload->deletebtn, EWL_CALLBACK_CLICKED,
+                            ewl_load_delete, NULL);
 
        return;
 }
@@ -155,6 +154,8 @@
                        }
                }
        }
+
+  fill_load_tree();
        return;
 }
 
@@ -171,7 +172,7 @@
 setup_saveload_opt(Ewl_Widget * tree, char *caption, Evas_List * p)
 {
        Ewl_Widget     *capt;
-       Note           *d = evas_list_data(p);
+       Ewl_Row        *row;
 
        capt = (Ewl_Widget *) ewl_text_new();
        ewl_text_text_set(EWL_TEXT(capt), caption);
@@ -179,10 +180,8 @@
                             ewl_saveload_listitem_click, NULL);
        ewl_object_fill_policy_set((Ewl_Object *) capt, EWL_FLAG_FILL_ALL);
        ewl_widget_show(capt);
-       d->saveload_row =
-               (Ewl_Row *) ewl_tree_row_add((Ewl_Tree *) tree, 0, &capt);
-       ewl_object_fill_policy_set((Ewl_Object *) d->saveload_row,
-                                  EWL_FLAG_FILL_ALL);
+       row = (Ewl_Row *) ewl_tree_row_add((Ewl_Tree *) tree, 0, &capt);
+       ewl_object_fill_policy_set((Ewl_Object *) row, EWL_FLAG_FILL_ALL);
        return;
 }
 
@@ -199,10 +198,17 @@
 void
 ewl_saveload_revert(Ewl_Widget * widget, void *ev_data, void * ud)
 {
-       Ewl_Widget *p=ud;
        dml("Refreshing the Saveload List", 2);
 
-       ewl_container_reset((Ewl_Container *) p);
+       ewl_container_reset((Ewl_Container *) saveload->tree);
+  ewl_widget_enable(saveload->savebtn);
+  ewl_widget_state_set(saveload->savebtn, "enabled");
+  ewl_widget_enable(saveload->loadbtn);
+  ewl_widget_state_set(saveload->loadbtn, "enabled");
+
+  saveload_selected = NULL;
+  ewl_text_text_set((Ewl_Text *) saveload->txt_selected, "Selected: N/A");
+  ewl_tree_selected_clear((Ewl_Tree *) saveload->tree);
        fill_saveload_tree();
 
        return;
@@ -237,6 +243,11 @@
 {
        char           *tmp = malloc(MAX_TITLE);
 
+  ewl_widget_enable(saveload->savebtn);
+  ewl_widget_state_set(saveload->savebtn, "enabled");
+  ewl_widget_disable(saveload->loadbtn);
+  ewl_widget_state_set(saveload->loadbtn, "disabled");
+
        saveload_selected = ewl_text_text_get((Ewl_Text *) o);
        snprintf(tmp, MAX_TITLE, "Selected: %s", saveload_selected);
        ewl_text_text_set((Ewl_Text *) saveload->txt_selected, tmp);
@@ -244,20 +255,6 @@
        return;
 }
 
-/**
- * @param o: Widget which was clicked.  We don't use this.
- * @param ev_data: Event data, we don't use this.
- * @param null: A NULL pointer to please the compiler.  We don't use this.
- * @brief: The load button callback, we call the function which does the
- *         work (setup_load) so we get a nice load window up. :-)
- */
-void
-ewl_saveload_load(Ewl_Widget * o, void *ev_data, void *null)
-{
-       setup_load();
-       return;
-}
-
 void
 ewl_saveload_save_by_name(char *p)
 {
@@ -308,105 +305,6 @@
        return;
 }
 
-
-
-/** LOAD WINDOW **/
-
-/**
- * @brief: Checks whether the load window is open and if not, opens it.
- */
-void
-setup_load(void)
-{
-       if (load == NULL) {
-               dml("Opening the Load Note Window", 2);
-               load = malloc(sizeof(Load));
-               setup_load_win();
-               fill_load_tree();
-       } else {
-               ewl_window_raise((Ewl_Window*)load->win);
-       }
-       return;
-}
-
-/**
- * @brief: Sets up the widgets, objects, callbacks and window for the
- *         loading window.
- */
-void
-setup_load_win(void)
-{
-       char           *headers[1];
-
-       /* Setup the Window */
-       load->win = ewl_window_new();
-       ewl_window_title_set((Ewl_Window *) load->win, "E-Notes Load");
-       ewl_object_fill_policy_set((Ewl_Object *) load->win, EWL_FLAG_FILL_ALL);
-       ewl_object_size_request((Ewl_Object *) load->win, 400, 350);
-       ewl_widget_show(load->win);
-
-       load->vbox = ewl_vbox_new();
-       ewl_container_child_append((Ewl_Container *) load->win, load->vbox);
-       ewl_object_fill_policy_set((Ewl_Object *) load->vbox,
-                                  EWL_FLAG_FILL_ALL);
-       ewl_widget_show(load->vbox);
-
-       ewl_callback_append(load->win, EWL_CALLBACK_CONFIGURE,
-                           save_and_load_move_embed, load->vbox);
-
-       load->tree = ewl_tree_new(1);
-       ewl_container_child_append((Ewl_Container *) load->vbox, load->tree);
-
-       headers[0] = strdup("Note Title");
-       ewl_tree_headers_set((Ewl_Tree *) load->tree, headers);
-       free(headers[0]);
-
-       ewl_widget_show(load->tree);
-
-       load->txt_selected = ewl_text_new();
-       ewl_text_text_set(EWL_TEXT(load->txt_selected), "Selected: N/A");
-       ewl_container_child_append((Ewl_Container *) load->vbox,
-                                  load->txt_selected);
-       ewl_widget_show(load->txt_selected);
-
-       load->hbox = ewl_hbox_new();
-       ewl_container_child_append((Ewl_Container *) load->vbox, load->hbox);
-       ewl_object_fill_policy_set((Ewl_Object *) load->hbox,
-                                  EWL_FLAG_FILL_VSHRINK);
-       ewl_object_fill_policy_set((Ewl_Object *) load->hbox,
-                                  EWL_FLAG_FILL_HFILL);
-       ewl_widget_show(load->hbox);
-
-       load_setup_button(load->hbox, &load->loadbtn, "Load.");
-       load_setup_button(load->hbox, &load->deletebtn, "Delete.");
-       load_setup_button(load->hbox, &load->refreshbtn, "Refresh.");
-       load_setup_button(load->hbox, &load->closebtn, "Close.");
-
-       /* EWL Callbacks */
-       ewl_callback_append(load->refreshbtn, EWL_CALLBACK_CLICKED,
-                            ewl_load_revert,  load->tree);
-       ewl_callback_append(load->closebtn, EWL_CALLBACK_CLICKED,
-                            ewl_load_close,  load->win);
-       ewl_callback_append(load->win, EWL_CALLBACK_DELETE_WINDOW,
-                            ewl_load_close,  load->win);
-       ewl_callback_append(load->loadbtn, EWL_CALLBACK_CLICKED,
-                            ewl_load_load, NULL);
-       ewl_callback_append(load->deletebtn, EWL_CALLBACK_CLICKED,
-                            ewl_load_delete, NULL);
-
-       return;
-}
-
-void
-load_setup_button(Ewl_Widget * c, Ewl_Widget ** b, char *label)
-{
-       *b = ewl_button_new();
-       ewl_button_label_set(EWL_BUTTON(*b), label);
-       ewl_container_child_append((Ewl_Container *) c, *b);
-       ewl_widget_show(*b);
-       return;
-}
-
 /**
  * @param: Reads through all of the saved notes in the xml storage file 
  *         and in a cycle appends new rows to the tree.
@@ -428,7 +326,7 @@
                        sprintf(targetf, "%s/%s", target, p->d_name);
                        stat(targetf, &buf);
                        if (S_ISREG(buf.st_mode)) {
-                               setup_load_opt(load->tree, p->d_name);
+                               setup_load_opt(saveload->tree, p->d_name);
                        }
                }
                closedir(dir);
@@ -449,48 +347,16 @@
 setup_load_opt(Ewl_Widget * tree, char *caption)
 {
        Ewl_Widget     *capt;
+  Ewl_Row        *row;
 
        capt = ewl_text_new();
        ewl_text_text_set(EWL_TEXT(capt), caption);
        ewl_callback_append(capt, EWL_CALLBACK_CLICKED,
                             ewl_load_listitem_click, NULL);
+  ewl_object_fill_policy_set((Ewl_Object *) capt, EWL_FLAG_FILL_ALL);
        ewl_widget_show(capt);
-       ewl_tree_row_add((Ewl_Tree *) tree, 0, &capt);
-
-       return;
-}
-
-/**                        
- * @param widget: The widget clicked (we don't use this).
- * @param ev_data: Event data, we don't use this either.
- * @param p: Thats our data, its the tree we're going to empty and refill.
- * @brief: Callback for the refresh button being clicked.  This is the
- *         complete refreshing, so we clear all contents of the tree and
- *         rebuild it from scratch. :)
- */
-void
-ewl_load_revert(Ewl_Widget * widget, void *ev_data, void*ud)
-{
-       dml("Refreshing the Load Note List", 2);
-       ewl_container_reset((Ewl_Container *) load->tree);
-       fill_load_tree();
-       return;
-}
-
-/**
- * @param o: The widget clicked.  We don't use this.
- * @param ev_data: The event data, we don't use this either.
- * @param ee: Our predefined Ecore_Evas (window) which has been closed,
- *            so we can supply it to the ecore close callback. :-)
- * @brief: Ewl close button clicked callback.  So we call the ecore close
- *         callback which does the work. :)
- */
-void
-ewl_load_close(Ewl_Widget * o, void *ev_data, void*ud)
-{
-       ewl_widget_destroy(load->win);
-       free(load);
-       load = NULL;
+  row = (Ewl_Row *) ewl_tree_row_add((Ewl_Tree *) tree, 0, &capt);
+  ewl_object_fill_policy_set((Ewl_Object *) row, EWL_FLAG_FILL_ALL);
        return;
 }
 
@@ -508,11 +374,11 @@
        char           *p = malloc(PATH_MAX);
 
        dml("Loading Saved Note", 2);
-       if (load_selected == NULL) {
+       if (saveload_selected == NULL) {
                free(p);
                return;
        }
-       sprintf(p, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), load_selected);
+       sprintf(p, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), 
saveload_selected);
        note_load(p); /* This function calls the animation */
        free(p);
        return;
@@ -522,7 +388,7 @@
  * @param o: Ewl widget which was clicked.  We don't use this.
  * @param ev_data: The event data.  We don't use this either.
  * @param null: A NULL pointer to please the compiler.  We don't use this.
- * @brief: When a row from the tree is clicked, we set the load_selected
+ * @brief: When a row from the tree is clicked, we set the saveload_selected
  *         string so when we wanna do soemthing, we know what to do it to.
  */
 void
@@ -530,9 +396,14 @@
 {
        char           *tmp = malloc(MAX_TITLE);
 
-       load_selected = ewl_text_text_get((Ewl_Text *) o);
-       snprintf(tmp, MAX_TITLE, "Selected: %s", load_selected);
-       ewl_text_text_set((Ewl_Text *) load->txt_selected, tmp);
+  ewl_widget_disable(saveload->savebtn);
+  ewl_widget_state_set(saveload->savebtn, "disabled");
+  ewl_widget_enable(saveload->loadbtn);
+  ewl_widget_state_set(saveload->loadbtn, "enabled");
+
+       saveload_selected = ewl_text_text_get((Ewl_Text *) o);
+       snprintf(tmp, MAX_TITLE, "Selected: %s", saveload_selected);
+       ewl_text_text_set((Ewl_Text *) saveload->txt_selected, tmp);
        free(tmp);
        return;
 }
@@ -549,10 +420,10 @@
        char           *p = malloc(PATH_MAX);
 
        dml("Deleting Saved Note", 2);
-       sprintf(p, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), load_selected);
+       sprintf(p, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), 
saveload_selected);
        unlink(p);
 
-       ewl_load_revert(NULL, NULL, NULL);
+       ewl_saveload_revert(NULL, NULL, NULL);
        free(p);
        return;
 }
===================================================================
RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- saveload.h  25 Oct 2005 01:07:53 -0000      1.11
+++ saveload.h  15 Mar 2006 01:25:28 -0000      1.12
@@ -43,25 +43,13 @@
        Ewl_Widget     *hbox;
        Ewl_Widget     *savebtn;
        Ewl_Widget     *loadbtn;
+  Ewl_Widget     *deletebtn;
        Ewl_Widget     *refreshbtn;
        Ewl_Widget     *closebtn;
 } SaveLoad;
 
-typedef struct {
-       Ewl_Widget     *win;
-       Ewl_Widget     *vbox;
-       Ewl_Widget     *txt_selected;
-       Ewl_Widget     *tree;
-       Ewl_Widget     *hbox;
-       Ewl_Widget     *loadbtn;
-       Ewl_Widget     *refreshbtn;
-       Ewl_Widget     *deletebtn;
-       Ewl_Widget     *closebtn;
-} Load;
-
 extern MainConfig *main_config;
 extern SaveLoad *saveload;
-extern Load    *load;
 
 
 /** SAVE/LOAD **/
@@ -76,7 +64,6 @@
                                    void *ud);
 void            ewl_saveload_close(Ewl_Widget * o, void *ev_data,
                                   void *ud);
-void            ewl_saveload_load(Ewl_Widget * o, void *ev_data, void *null);
 void            ewl_saveload_save(Ewl_Widget * o, void *ev_data, void *null);
 void            ewl_saveload_save_by_name(char *p);
 void            ewl_saveload_listitem_click(Ewl_Widget * o, void *ev_data,
@@ -84,14 +71,8 @@
 
 
 /** LOAD **/
-void            setup_load(void);
-void            setup_load_win(void);
-void            load_setup_button(Ewl_Widget * c, Ewl_Widget ** b, char 
*label);
 void            fill_load_tree(void);
 void            setup_load_opt(Ewl_Widget * tree, char *caption);
-void            ewl_load_revert(Ewl_Widget * widget, void *ev_data,
-                               void*ud);
-void            ewl_load_close(Ewl_Widget * o, void *ev_data, void*ud);
 void            ewl_load_load(Ewl_Widget * o, void *ev_data, void *null);
 void            ewl_load_delete(Ewl_Widget * o, void *ev_data, void *null);
 void            ewl_load_listitem_click(Ewl_Widget * o, void *ev_data,




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to