Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes
Dir : misc/enotes/src Modified Files: ipc.c main.c main.h note.c note.h saveload.c storage.c storage.h Log Message: Title is gone, x and y added. Bugs may exist. =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/ipc.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ipc.c 26 Aug 2004 20:50:24 -0000 1.6 +++ ipc.c 9 Sep 2004 10:38:15 -0000 1.7 @@ -114,9 +114,8 @@ p-> data); content = fix_newlines(note->content); - new_note_with_values(note->width, + new_note_with_values(note->x,note->y,note->width, note->height, - note->title, content); free(content); free_note_stor(note); @@ -129,16 +128,14 @@ free(controlcentre); controlcentre = NULL; } else { - new_note_with_values(325, 0, - "No Control Centre to Close", + new_note_with_values(0,0,325, 0, "An IPC command was recieved which\nwants to close the controlcentre.\n\nSince the control centre isn't currently\nopen, it wasn't possible to do so!"); } } else if (p->cmd == CONTROLCENTREOPEN) { if (controlcentre == NULL) { setup_cc(); } else { - new_note_with_values(325, 0, - "Control Centre Already Open", + new_note_with_values(0,0,325, 0, "An IPC command was recieved which\nwants to open the control centre, but the\ncontrol centre is already open!"); } } =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- main.c 8 Sep 2004 10:54:02 -0000 1.11 +++ main.c 9 Sep 2004 10:38:15 -0000 1.12 @@ -96,14 +96,13 @@ fgets(tmpstr, MAX_TEMPLATE_SIZE, file); if ((tmpn = get_notestor_from_value(tmpstr)) != NULL) - new_note_with_values(tmpn->width, + new_note_with_values(tmpn->x, + tmpn->y,tmpn->width, tmpn->height, - tmpn->title, tmpn->content); } else { dml("Using default note template", 2); - new_note_with_values(0, 0, INTRO_TITLE, - INTRO_CONTENT); + new_note_with_values(0,0,0, 0, INTRO_CONTENT); } dml("Introduction Note Created", 1); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- main.h 26 Aug 2004 20:50:24 -0000 1.6 +++ main.h 9 Sep 2004 10:38:15 -0000 1.7 @@ -34,7 +34,6 @@ #define MAX_TEMPLATE_SIZE 999 #define TEMPLATE_LOC "%s/.e/notes/defnote" -#define INTRO_TITLE "Welcome to E-Notes" #define INTRO_CONTENT "Welcome to E-Notes\nBy Thomas Fletcher.\n\nReport bugs to:[EMAIL PROTECTED]" /* The Main Function */ =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- note.c 5 Sep 2004 15:06:56 -0000 1.21 +++ note.c 9 Sep 2004 10:38:15 -0000 1.22 @@ -30,7 +30,7 @@ dml("Creating a Note", 2); new = append_note(); - setup_note(&new, 0, 0, DEF_TITLE, DEF_CONTENT); + setup_note(&new, 0,0,0, 0, DEF_CONTENT); return; } @@ -42,14 +42,14 @@ * @brief: Opens a new note. */ void -new_note_with_values(int width, int height, char *title, char *content) +new_note_with_values(int x,int y,int width, int height, char *content) { Evas_List *new; dml("Creating a Note", 2); new = append_note(); - setup_note(&new, width, height, title, content); + setup_note(&new, x,y,width, height, content); return; } @@ -122,7 +122,7 @@ * @brief: Sets up the note objects, window, callbacks, etc... */ void -setup_note(Evas_List ** note, int width, int height, char *title, char *content) +setup_note(Evas_List ** note, int x,int y,int width, int height, char *content) { Evas_List *pl; Note *p; @@ -141,14 +141,18 @@ pl = *note; p = evas_list_data(pl); + /* Setup the Window */ - p->win = ecore_evas_software_x11_new(NULL, 0, 0, 0, width, height); + p->win = ecore_evas_software_x11_new(NULL, 0, x, y, width, height); ecore_evas_title_set(p->win, "An E-Note"); ecore_evas_name_class_set(p->win, "Enotes", "Enotes"); ecore_evas_borderless_set(p->win, 1); ecore_evas_shaped_set(p->win, 1); ecore_evas_show(p->win); + /* Move the damn window */ + ecore_x_window_prop_xy_set(ecore_evas_software_x11_window_get(p->win), x, y); + /* Setup the Canvas, fonts, etc... */ p->evas = ecore_evas_get(p->win); evas_output_method_set(p->evas, @@ -205,28 +209,13 @@ ecore_evas_software_x11_window_get(p->win)); evas_object_layer_set(p->eo, 2); edje_object_part_swallow(p->edje, EDJE_EWL_CONTAINER, p->eo); - evas_object_show(p->eo); - evas_object_focus_set(p->eo, TRUE); ewl_embed_focus_set((Ewl_Embed *) p->emb, TRUE); - - p->vbox = ewl_vbox_new(); - ewl_object_fill_policy_set((Ewl_Object *) p->vbox, EWL_FLAG_FILL_FILL); - ewl_container_child_append((Ewl_Container *) p->emb, p->vbox); - ewl_widget_show(p->vbox); - - ewl_callback_append(p->emb, EWL_CALLBACK_CONFIGURE, note_move_embed, - p->vbox); - - p->title = ewl_entry_new(title); - ewl_container_child_append((Ewl_Container *) p->vbox, p->title); - ewl_widget_show(p->title); - p->content = ewl_text_new(fcontent); - ewl_container_child_append((Ewl_Container *) p->vbox, p->content); + ewl_container_child_append((Ewl_Container *) p->emb, p->content); ewl_widget_show(p->content); /* Ecore Callbacks */ @@ -397,23 +386,27 @@ timer_val_compare(void *data) { Note *p = (Note *) data; + char *tmp; if (p->timcomp == NULL) return (0); if (p->txt_title != NULL) { + tmp=get_title_by_note_struct(p); if (strcmp - (p->txt_title, - ewl_entry_text_get((Ewl_Entry *) p->title))) { + (p->txt_title,tmp)) { if (saveload != NULL) ewl_saveload_revert(NULL, NULL, saveload->tree); - free(p->txt_title); + if (p->txt_title!=NULL) + free(p->txt_title); p->txt_title = - ewl_entry_text_get((Ewl_Entry *) p->title); + get_title_by_note_struct(p); } + if(tmp!=NULL) + free(tmp); } else { - p->txt_title = ewl_entry_text_get((Ewl_Entry *) p->title); + p->txt_title = get_title_by_note_struct(p); } return (1); } @@ -473,9 +466,18 @@ char * get_title_by_note(Evas_List * note) { - Note *p = evas_list_data(note); + return (get_title_by_content(get_content_by_note(note))); +} - return (ewl_entry_text_get((Ewl_Entry *) p->title)); +/** + * @param note: The note to grab the title from (actual). + * @return: Returns the title of the supplied note. + * @brief: Returns the title text of the supplied note. + */ +char * +get_title_by_note_struct(Note * note) +{ + return (get_title_by_content(get_content_by_note_struct(note))); } /** @@ -491,6 +493,45 @@ return ((char *) ewl_text_text_get((Ewl_Text *) p->content)); } +/** + * @param note: The note to grab the content from (actual). + * @return: Returns the content of the supplied note. + * @brief: Returns the content text of the supplied note. + */ +char * +get_content_by_note_struct(Note * note) +{ + return ((char *) ewl_text_text_get((Ewl_Text *) note->content)); +} + +/** + * @param content: The content of the note. + * @return: The title from the content. + * @brief: Takes TITLE_LENGTH worth of characters + * from the front (or newline). + */ +char* +get_title_by_content(char *content) +{ + char *cont=content; + int a=0; + int newlength=0; + + if (strlen(content)>TITLE_LENGTH) + while (a<TITLE_LENGTH&&cont!=NULL){ + if (!strncmp(cont,"\n",1)){ + newlength=a; + break; + } + a++; + cont++; + } a=0; + + if (newlength==0) + newlength=TITLE_LENGTH; + + return((char*)strndup(content,newlength)); +} /** * @return: Returns the beginning node of the note list cycle. =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- note.h 5 May 2004 18:59:26 -0000 1.6 +++ note.h 9 Sep 2004 10:38:15 -0000 1.7 @@ -34,8 +34,8 @@ #define EDJE_EWL_CONTAINER "EnotesContainer" #define COMPARE_INTERVAL 0.01 +#define TITLE_LENGTH 20 -#define DEF_TITLE "New Note" #define DEF_CONTENT "Edit me. :-)\nYou know you want to!" typedef struct _note Note; @@ -48,8 +48,6 @@ Evas_Object *eo; Ewl_Widget *emb; - Ewl_Widget *vbox; - Ewl_Widget *title; Ewl_Widget *content; Ewl_Row *saveload_row; @@ -63,16 +61,15 @@ /* High Level */ void new_note(void); -void new_note_with_values(int width, int height, char *title, - char *content); +void new_note_with_values(int x, int y, int width, int height, char *content); /* Lists and Allocation */ Evas_List *append_note(void); void remove_note(Evas_List * note); /* GUI Setup */ -void setup_note(Evas_List ** note, int width, int height, - char *title, char *content); +void setup_note(Evas_List ** note, int x,int y,int width, int height, + char *content); /* Ecore Callbacks */ void note_ecore_close(Ecore_Evas * ee); @@ -96,7 +93,10 @@ Evas_List *get_note_by_content(char *content); char *get_title_by_note(Evas_List * note); +char *get_title_by_note_struct (Note *note); char *get_content_by_note(Evas_List * note); +char *get_content_by_note_struct (Note *note); +char *get_title_by_content(char *content); Evas_List *get_cycle_begin(void); Evas_List *get_cycle_next_note(Evas_List * note); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- saveload.c 28 Aug 2004 13:09:08 -0000 1.14 +++ saveload.c 9 Sep 2004 10:38:15 -0000 1.15 @@ -284,7 +284,8 @@ ecore_evas_geometry_get(note->win, &x, &y, &w, &h); n->width = w; n->height = h; - n->title = strdup(get_title_by_note(p)); + n->x=x; + n->y=y; n->content = strdup(get_content_by_note(p)); append_note_stor(n); @@ -405,7 +406,7 @@ if (r != NULL) { while (r->cur != NULL) { p = stor_cycle_get_notestor(r); - setup_load_opt(load->tree, p->title); + setup_load_opt(load->tree, get_title_by_content(p->content)); free_note_stor(p); stor_cycle_next(r); } @@ -480,6 +481,7 @@ { NoteStor *p; XmlReadHandle *r; + char *tmp; dml("Loading Saved Note", 2); @@ -488,9 +490,11 @@ if (r != NULL) { while (r->cur != NULL) { p = stor_cycle_get_notestor(r); - if (!strcmp(p->title, load_selected)) - new_note_with_values(p->width, p->height, - p->title, p->content); + tmp=get_title_by_content(p->content); + if (!strcmp(tmp, load_selected)) + new_note_with_values(p->x,p->y,p->width, p->height, + p->content); + if(tmp!=NULL) free(tmp); free_note_stor(p); stor_cycle_next(r); } @@ -529,6 +533,7 @@ { NoteStor *p; XmlReadHandle *r; + char *tmp=NULL; dml("Deleting Saved Note", 2); @@ -536,9 +541,12 @@ if (r != NULL) { while (r->cur != NULL) { p = stor_cycle_get_notestor(r); - if (!strcmp(p->title, load_selected)) { + tmp=get_title_by_content(p->content); + if (!strcmp(tmp, load_selected)){ + if(tmp!=NULL)free(tmp); break; } + if(tmp!=NULL)free(tmp); free_note_stor(p); stor_cycle_next(r); } =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- storage.c 8 Sep 2004 10:54:02 -0000 1.7 +++ storage.c 9 Sep 2004 10:38:15 -0000 1.8 @@ -23,8 +23,6 @@ free_note_stor(NoteStor * p) { if (p != NULL) { - if (p->title != NULL) - free(p->title); if (p->content != NULL) free(p->content); free(p); @@ -42,7 +40,6 @@ { NoteStor *p = malloc(sizeof(NoteStor)); - p->title = NULL; p->content = NULL; return (p); } @@ -203,7 +200,7 @@ tmpstr = strdup(e->value); tmp = get_notestor_from_value(tmpstr); free(tmpstr); - if (strcmp(p->title, tmp->title)) { + if (strcmp(p->content, tmp->content)) { list = evas_list_append(list, strdup(e->value)); } free_note_stor(tmp); @@ -343,8 +340,7 @@ if (r != NULL) { while (r->cur != NULL) { p = stor_cycle_get_notestor(r); - new_note_with_values(p->width, p->height, p->title, - p->content); + new_note_with_values(p->x,p->y,p->width, p->height, p->content); free_note_stor(p); stor_cycle_next(r); } @@ -379,7 +375,8 @@ n = alloc_note_stor(); n->width = w; n->height = h; - n->title = strdup(get_title_by_note(tmp)); + n->x=x; + n->y=y; n->content = strdup(get_content_by_note(tmp)); append_autosave_note_stor(n); free_note_stor(n); @@ -434,23 +431,30 @@ return (NULL); } - p->title = strdup(strsep(&e, DEF_VALUE_SEPERATION)); + p->content = strdup(strsep(&e, DEF_VALUE_SEPERATION)); if (&e == NULL) { free_note_stor(p); return (NULL); } - p->content = strdup(strsep(&e, DEF_VALUE_SEPERATION)); + p->width = atoi(strsep(&e, DEF_VALUE_SEPERATION)); if (&e == NULL) { free_note_stor(p); return (NULL); } - p->width = atoi(strsep(&e, DEF_VALUE_SEPERATION)); + + p->height = atoi(strsep(&e, DEF_VALUE_SEPERATION)); if (&e == NULL) { free_note_stor(p); return (NULL); } - p->height = atoi(strsep(&e, DEF_VALUE_SEPERATION)); + p->x = atoi(strsep(&e, DEF_VALUE_SEPERATION)); + if (&e == NULL) { + free_note_stor(p); + return (NULL); + } + + p->y = atoi(strsep(&e, DEF_VALUE_SEPERATION)); if (&e == NULL) { free_note_stor(p); return (NULL); @@ -470,9 +474,8 @@ { char *retval = malloc(MAX_VALUE); - snprintf(retval, MAX_VALUE, "%s%s%s%s%d%s%d", p->title, - DEF_VALUE_SEPERATION, p->content, DEF_VALUE_SEPERATION, - p->width, DEF_VALUE_SEPERATION, p->height); + snprintf(retval, MAX_VALUE, "%s%s%d%s%d%s%d%s%d", p->content, DEF_VALUE_SEPERATION, + p->width, DEF_VALUE_SEPERATION, p->height,DEF_VALUE_SEPERATION,p->x,DEF_VALUE_SEPERATION,p->y); return (retval); } =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- storage.h 17 Feb 2004 12:07:29 -0000 1.3 +++ storage.h 9 Sep 2004 10:38:15 -0000 1.4 @@ -31,8 +31,9 @@ #define MAX_VALUE 2000 typedef struct { - char *title; char *content; + int x; + int y; int width; int height; } NoteStor; ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs