From: <enl...@li...> - 2004-10-06 17:12:44
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/data Removed Files: config.xml example_defnote Log Message: Ecore_Config use, bug fixes, new bugs - updated TODO |
From: <enl...@li...> - 2004-10-06 17:12:59
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/src Modified Files: Makefile.am config.c config.h controlcentre.c controlcentre.h ipc.h main.c main.h note.c note.h welcome.c Added Files: menu.c menu.h Removed Files: settings.c settings.h usage.c usage.h Log Message: Ecore_Config use, bug fixes, new bugs - updated TODO =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 27 Aug 2004 20:40:37 -0000 1.4 +++ Makefile.am 6 Oct 2004 17:12:34 -0000 1.5 @@ -16,14 +16,10 @@ controlcentre.h \ storage.c \ storage.h \ -usage.c \ -usage.h \ msgbox.c \ msgbox.h \ saveload.c \ saveload.h \ -settings.h \ -settings.c \ ipc.c \ ipc.h \ xml.c \ @@ -31,6 +27,8 @@ debug.c \ debug.h \ welcome.c \ -welcome.h +welcome.h \ +menu.c \ +menu.h enotes_LDADD = @ewl_libs@ @ecore_libs@ @evas_libs@ @edje_libs@ @edb_libs@ @imlib2_libs@ @libxml2_libs@ @esmart_libs@ -lesmart_draggies =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/config.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- config.c 24 Sep 2004 13:59:56 -0000 1.12 +++ config.c 6 Oct 2004 17:12:34 -0000 1.13 @@ -56,33 +56,14 @@ return; } -/** - * @param p: The MainConfig variable to store the read settings into. - * @brief: Reads the global configuration settings and stores them into p. - */ -void -read_global_configuration(MainConfig * p) -{ - char *locfn = malloc(PATH_MAX); - - snprintf(locfn, PATH_MAX, "%s/config.xml", PACKAGE_DATA_DIR); - read_configuration(p, locfn); - free(locfn); - return; -} +/* LISTENERS */ -/** - * @param p: The MainConfig variable to store the read settings into. - * @brief: Reads the local configuration and stores the settings into p. - */ -void -read_local_configuration(MainConfig * p) +theme_listener(const char *key, const Ecore_Config_Type type, const int tag, + void *data) { - char *locfn = malloc(PATH_MAX); - - snprintf(locfn, PATH_MAX, DEF_CONFIG_LOC, getenv("HOME")); - read_configuration(p, locfn); - free(locfn); + main_config->theme = ecore_config_theme_get(key); + cc_update_theme(); + notes_update_themes(); return; } @@ -92,103 +73,49 @@ * @brief: Reads the configuration file pointed to by fn, and stores the * settings into p. */ -void -read_configuration(MainConfig * p, char *fn) +int +read_configuration(MainConfig * p) { - XmlReadHandle *h; - XmlEntry *tmp; + ecore_config_int_create("enotes.debug", 0, 'd', "debug", + "Debugging Level [0-2]"); + ecore_config_string_create("enotes.engine", "software", 'r', + "render-method", + "Rendering Method [GL/Software]"); + ecore_config_boolean_create("enotes.autosave", 0, 'A', "auto-save", + "Use the Autosave Feature?"); + ecore_config_boolean_create("enotes.controlcentre", 1, 'C', + "control-centre", + "Use the Control Centre?"); + ecore_config_boolean_create("enotes.welcome", 1, 'w', "welcome", + "Display the Welcome Message?"); + ecore_config_boolean_create("enotes.ontop", 1, 'o', "ontop", + "Keep Enotes Windows Ontop?"); + ecore_config_boolean_create("enotes.sticky", 1, 's', "sticky", + "Make E-Notes Sticky?"); + + ecore_config_theme_create("enotes.theme", "postit", 't', "theme", + "GUI Theme"); + ecore_config_theme_preview_group_set("enotes.theme", "preview"); + ecore_config_theme_search_path_append(PACKAGE_DATA_DIR "/themes/"); - h = xml_read(fn); - while (h->cur != NULL) { - tmp = xml_read_entry_get_entry(h); - processopt(tmp, p); - free_xmlentry(tmp); - xml_read_next_entry(h); - } - xml_read_end(h); - return; -} + ecore_config_load(); -/** - * @param info: The xml tag to process. - * @param p: The MainConfig variable to apply the value to. - * @brief: Processed an xml tag and applies the individual setting - * it reads to p. - */ -void -processopt(XmlEntry * info, MainConfig * p) -{ - if (!strcmp(info->name, "render_method")) { - if (p->render_method != NULL) - free(p->render_method); - p->render_method = strdup(info->value); - } else if (!strcmp(info->name, "theme")) { - if (p->theme != NULL) - free(p->theme); - p->theme = strdup(info->value); - } else if (!strcmp(info->name, "controlcentre")) { - if (info->value != NULL) - p->controlcentre = atoi(info->value); - } else if (!strcmp(info->name, "debug")) { - if (info->value != NULL) - p->debug = atoi(info->value); - } else if (!strcmp(info->name, "autosave")) { - if (info->value != NULL) - p->autosave = atoi(info->value); - } else if (!strcmp(info->name, "welcome")) { - if (info->value != NULL) - p->welcome = atoi(info->value); - } else if (!strcmp(info->name, "sticky")) { - if (info->value != NULL) - p->sticky = atoi(info->value); - } else if (!strcmp(info->name, "ontop")) { - if (info->value != NULL) - p->ontop = atoi(info->value); + if (ecore_config_args_parse() != ECORE_CONFIG_PARSE_CONTINUE) { + return (-1); } - return; -} + p->render_method = ecore_config_string_get("enotes.engine"); + p->theme = ecore_config_theme_get("enotes.theme"); + p->controlcentre = ecore_config_boolean_get("enotes.controlcentre"); + p->debug = ecore_config_boolean_get("enotes.debug"); + p->autosave = ecore_config_boolean_get("enotes.autosave"); + p->welcome = ecore_config_boolean_get("enotes.welcome"); + p->ontop = ecore_config_boolean_get("enotes.ontop"); + p->sticky = ecore_config_boolean_get("enotes.sticky"); -/** - * @brief: Check whether a local configuration exists, and if not it - * will create the necessary files and folders so the user can - * immediately begin to edit his/her configuration. - */ -void -check_local_configuration(void) -{ - char *homedir_e = malloc(PATH_MAX); - char *homedir_e_notes = malloc(PATH_MAX); - char *homedir_e_notes_config = malloc(PATH_MAX); - char *global_config = malloc(PATH_MAX); - char *execstr = malloc(PATH_MAX * 2); - FILE *input; - char buf; - XmlReadHandle *p; - - snprintf(homedir_e, PATH_MAX, "%s/.e", getenv("HOME")); - snprintf(homedir_e_notes, PATH_MAX, "%s/.e/notes", getenv("HOME")); - snprintf(homedir_e_notes_config, PATH_MAX, - "%s/.e/notes/config.xml", getenv("HOME")); - snprintf(global_config, PATH_MAX, "%s/config.xml", PACKAGE_DATA_DIR); - - mkdir(homedir_e, 0700); - mkdir(homedir_e_notes, 0700); - - snprintf(execstr, PATH_MAX * 2, "%s %s %s", COPY_COMMAND, - global_config, homedir_e_notes_config); - - if ((input = fopen(homedir_e_notes_config, "r")) == NULL) { - system(execstr); - } else { - fclose(input); - } + printf("Welcome: %d\n", p->welcome); - free(homedir_e); - free(homedir_e_notes); - free(homedir_e_notes_config); - free(global_config); - free(execstr); + ecore_config_listen("theme", "enotes.theme", theme_listener, 0, NULL); - return; + return (0); } =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/config.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- config.h 15 Sep 2004 21:01:22 -0000 1.8 +++ config.h 6 Oct 2004 17:12:34 -0000 1.9 @@ -18,14 +18,13 @@ #include <string.h> #include <limits.h> +#include <Ecore.h> +#include <Ecore_Config.h> + #include "debug.h" #include "../config.h" #include "xml.h" - -#define DEF_CONFIG_LOC "%s/.e/notes/config.xml" -#define COPY_COMMAND "cp" - typedef struct { char *render_method; char *theme; @@ -37,22 +36,11 @@ int sticky; } MainConfig; -#ifndef XMLENTRY_DEF -#define XMLENTRY_DEF 1 -typedef struct { - char *name; - char *value; -} XmlEntry; -#endif +extern MainConfig *main_config; MainConfig *mainconfig_new(void); void mainconfig_free(MainConfig * p); -void read_global_configuration(MainConfig * p); -void read_local_configuration(MainConfig * p); -void read_configuration(MainConfig * p, char *fn); -void check_local_configuration(void); - -void processopt(XmlEntry * info, MainConfig * p); +int read_configuration(MainConfig * p); #endif =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/controlcentre.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- controlcentre.c 24 Sep 2004 13:59:56 -0000 1.16 +++ controlcentre.c 6 Oct 2004 17:12:34 -0000 1.17 @@ -22,6 +22,13 @@ void setup_cc(void) { + setup_cc_with_pos(-1, -1); + return; +} + +void +setup_cc_with_pos(int x, int y) +{ ControlCentre *cc; char *edjefn = malloc(PATH_MAX); char *fontpath = malloc(PATH_MAX); @@ -33,6 +40,11 @@ pos = get_cc_pos(); + if (x >= 0 || y >= 0) { + pos->x = x; + pos->y = y; + } + /* Setup the Window */ if (!strcmp(main_config->render_method, "gl")) { #ifdef HAVE_ECORE_EVAS_GL @@ -302,7 +314,7 @@ void cc_newnote(void *data) { - new_note(NOTE_CONTENT); + new_note(); return; } @@ -315,7 +327,8 @@ void cc_settings(void *data) { - setup_settings(); + if (!ecore_exe_run("examine enotes", NULL)) + msgbox("No Examine", "Please Install Examine for Settings!"); return; } @@ -334,3 +347,31 @@ ecore_evas_iconified_set((Ecore_Evas *) data, 1); return; } + +/* Theme Change */ +void +cc_update_theme() +{ + int edje_w, edje_h; + char *edjefn; + + if (controlcentre == NULL) + return; + + edjefn = malloc(PATH_MAX); + snprintf(edjefn, + PATH_MAX, NOTE_EDJE, PACKAGE_DATA_DIR, main_config->theme); + edje_object_file_set(controlcentre->edje, edjefn, CC_PART); + free(edjefn); + + /* EDJE and ECORE min, max and resizing */ + edje_object_size_max_get(controlcentre->edje, &edje_w, &edje_h); + ecore_evas_size_max_set(controlcentre->win, edje_w, edje_h); + edje_object_size_min_get(controlcentre->edje, &edje_w, &edje_h); + ecore_evas_size_min_set(controlcentre->win, edje_w, edje_h); + ecore_evas_resize(controlcentre->win, (int) edje_w, (int) edje_h); + evas_object_resize(controlcentre->edje, edje_w, edje_h); + evas_object_resize(controlcentre->dragger, edje_w, edje_h); + + return; +} =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/controlcentre.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- controlcentre.h 14 Sep 2004 21:03:04 -0000 1.9 +++ controlcentre.h 6 Oct 2004 17:12:34 -0000 1.10 @@ -28,6 +28,7 @@ #include "debug.h" #include "config.h" +#include "note.h" #include "../config.h" @@ -67,6 +68,7 @@ /* Setting the Control Centre up */ void setup_cc(void); +void setup_cc_with_pos(int x, int y); /* Configuration */ CCPos *get_cc_pos(); @@ -80,4 +82,7 @@ void cc_settings(void *data); void cc_minimize(void *data); +/* Theme Change */ +void cc_update_theme(); + #endif =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/ipc.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ipc.h 24 Sep 2004 13:59:56 -0000 1.6 +++ ipc.h 6 Oct 2004 17:12:34 -0000 1.7 @@ -27,7 +27,8 @@ #include "controlcentre.h" #define IPC_NAME "enotes" -#define IPC_PORT 2323 +//#define IPC_PORT 2323 +#define IPC_PORT 1234 typedef enum { /* More to come. :-) */ NOTE, =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- main.c 24 Sep 2004 16:19:47 -0000 1.17 +++ main.c 6 Oct 2004 17:12:34 -0000 1.18 @@ -13,6 +13,8 @@ #include "main.h" +MainConfig *main_config; + /* The Main Function */ /** @@ -31,25 +33,23 @@ ecore_ipc_init(); dml("IPC Initiated Successfully", 1); /* autoload (if on) will increment this if there are notes - if not we may need to create a blank one */ + * if not we may need to create a blank one */ note_count = 0; - /* Read the Usage and Configurations */ - main_config = mainconfig_new(); - spec_conf = read_usage_for_configuration_fn(argc, argv); - if (spec_conf != NULL) { - read_configuration(main_config, spec_conf); - free(spec_conf); - } else { - read_global_configuration(main_config); - check_local_configuration(); - read_local_configuration(main_config); + if ((ecore_config_init("enotes")) == ECORE_CONFIG_ERR_FAIL) { + ecore_ipc_shutdown(); + return (-1); } - read_usage_configuration(main_config, argc, argv); + ecore_app_args_set(argc, (const char **) argv); - if (dispusage == 1) { + /* Read the Usage and Configurations */ + main_config = mainconfig_new(); + if (read_configuration(main_config) == -1) { + ecore_config_shutdown(); + ecore_ipc_shutdown(); + ecore_shutdown(); mainconfig_free(main_config); - return (0); + return (-1); } dml("Successfully Read Configurations and Usage", 1); @@ -57,17 +57,17 @@ if (find_server() == 0) { dml("Server wasn't found.. Creating one", 1); /* Setup Server */ - setup_server(); +// setup_server(); /* Initialise the E-Libs */ ecore_init(); ecore_x_init(NULL); ecore_app_args_set(argc, (const char **) argv); - if (!ecore_evas_init()) { /* Initialises Evas.. I hope. :) */ + if (!ecore_evas_init()) { mainconfig_free(main_config); return -1; } - ewl_init(&argc, argv); /* Initialises Edje.. I hope. :) */ + ewl_init(&argc, argv); edje_init(); dml("Efl Successfully Initiated", 1); @@ -119,7 +119,9 @@ ecore_ipc_shutdown(); dml("IPC Shutdown", 1); - /* Free the Configuration */ + /* Save and Free the Configuration */ + ecore_config_save(); + dml("Configuration Saved", 1); mainconfig_free(main_config); dml("Configuration Structure Free'd", 1); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- main.h 15 Sep 2004 21:01:23 -0000 1.8 +++ main.h 6 Oct 2004 17:12:34 -0000 1.9 @@ -21,12 +21,12 @@ #include <Ecore.h> #include <Ecore_Evas.h> #include <Ecore_Ipc.h> +#include <Ecore_Config.h> #include <Edje.h> #include "config.h" #include "note.h" #include "storage.h" -#include "usage.h" #include "debug.h" #include "welcome.h" @@ -39,6 +39,6 @@ /* External Variables */ extern int dispusage; -MainConfig *main_config; +extern MainConfig *main_config; #endif =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -3 -r1.37 -r1.38 --- note.c 24 Sep 2004 13:59:56 -0000 1.37 +++ note.c 6 Oct 2004 17:12:34 -0000 1.38 @@ -165,8 +165,9 @@ p->win = ecore_evas_software_x11_new(NULL, 0, x, y, width, height); + ecore_evas_borderless_set(p->win, 1); + ecore_evas_shaped_set(p->win, 1); ecore_evas_title_set(p->win, "An E-Note"); - ecore_evas_name_class_set(p->win, "Enotes", "Enotes"); if (main_config->ontop == 1) if (!strcmp(main_config->render_method, "gl")) { @@ -184,8 +185,6 @@ else ecore_evas_sticky_set(p->win, 0); - ecore_evas_borderless_set(p->win, 1); - ecore_evas_shaped_set(p->win, 1); ecore_evas_show(p->win); @@ -215,6 +214,17 @@ esmart_draggies_button_set(p->dragger, 1); evas_object_show(p->dragger); + p->eventer = evas_object_rectangle_add(p->win); + evas_object_color_set(p->eventer, 0, 0, 0, 0); + evas_object_resize(p->eventer, width, height); + evas_object_move(p->eventer, 0.0, 0.0); + evas_object_layer_set(p->eventer, 9999); + evas_object_repeat_events_set(p->eventer, 1); + evas_object_show(p->eventer); + + evas_object_event_callback_add(p->eventer, EVAS_CALLBACK_MOUSE_DOWN, + (void *) cb_menu_rightclick, p); + /* Setup the Edje */ p->edje = edje_object_add(p->evas); snprintf(edjefn, @@ -263,52 +273,7 @@ ewl_container_child_append((Ewl_Container *) p->emb, p->pane); if (edje_object_data_get(p->edje, EDJE_INFO_SCROLLBARS) != NULL) { - ewl_theme_data_str_set(p->pane, - "/vscrollbar/button_increment/file", - edjefn); - ewl_theme_data_str_set(p->pane, - "/vscrollbar/button_decrement/file", - edjefn); - ewl_theme_data_str_set(p->pane, "/vscrollbar/vseeker/file", - edjefn); - ewl_theme_data_str_set(p->pane, - "/vscrollbar/vseeker/button/file", - edjefn); - ewl_theme_data_str_set(p->pane, - "/hscrollbar/button_increment/file", - edjefn); - ewl_theme_data_str_set(p->pane, - "/hscrollbar/button_decrement/file", - edjefn); - ewl_theme_data_str_set(p->pane, "/hscrollbar/hseeker/file", - edjefn); - ewl_theme_data_str_set(p->pane, - "/hscrollbar/hseeker/button/file", - edjefn); - - ewl_theme_data_str_set(p->pane, - "/vscrollbar/button_increment/group", - EDJE_VSCROLLBAR_BTN_INCR); - ewl_theme_data_str_set(p->pane, - "/vscrollbar/button_decrement/group", - EDJE_VSCROLLBAR_BTN_DECR); - ewl_theme_data_str_set(p->pane, "/vscrollbar/vseeker/group", - EDJE_VSCROLLBAR_SEEKER); - ewl_theme_data_str_set(p->pane, - "/vscrollbar/vseeker/button/group", - EDJE_SCROLLBAR_BUTTON); - ewl_theme_data_str_set(p->pane, - "/hscrollbar/button_increment/group", - EDJE_HSCROLLBAR_BTN_INCR); - ewl_theme_data_str_set(p->pane, - "/hscrollbar/button_decrement/group", - EDJE_HSCROLLBAR_BTN_DECR); - ewl_theme_data_str_set(p->pane, "/hscrollbar/hseeker/group", - EDJE_HSCROLLBAR_SEEKER); - ewl_theme_data_str_set(p->pane, - "/hscrollbar/hseeker/button/group", - EDJE_SCROLLBAR_BUTTON); - + configure_scrollbars(p->pane, edjefn); } ewl_widget_show(p->pane); @@ -373,6 +338,64 @@ return; } +void +configure_scrollbars(Ewl_Widget * pane, char *edjefn) +{ + ewl_theme_data_str_set(pane, + "/vscrollbar/button_increment/file", edjefn); + ewl_theme_data_str_set(pane, + "/vscrollbar/button_decrement/file", edjefn); + ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/file", edjefn); + ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/button/file", edjefn); + ewl_theme_data_str_set(pane, + "/hscrollbar/button_increment/file", edjefn); + ewl_theme_data_str_set(pane, + "/hscrollbar/button_decrement/file", edjefn); + ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/file", edjefn); + ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/button/file", edjefn); + + ewl_theme_data_str_set(pane, + "/vscrollbar/button_increment/group", + EDJE_VSCROLLBAR_BTN_INCR); + ewl_theme_data_str_set(pane, + "/vscrollbar/button_decrement/group", + EDJE_VSCROLLBAR_BTN_DECR); + ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/group", + EDJE_VSCROLLBAR_SEEKER); + ewl_theme_data_str_set(pane, + "/vscrollbar/vseeker/button/group", + EDJE_SCROLLBAR_BUTTON); + ewl_theme_data_str_set(pane, + "/hscrollbar/button_increment/group", + EDJE_HSCROLLBAR_BTN_INCR); + ewl_theme_data_str_set(pane, + "/hscrollbar/button_decrement/group", + EDJE_HSCROLLBAR_BTN_DECR); + ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/group", + EDJE_HSCROLLBAR_SEEKER); + ewl_theme_data_str_set(pane, + "/hscrollbar/hseeker/button/group", + EDJE_SCROLLBAR_BUTTON); + return; +} + +/* MENU Callbacks */ + +void +cb_menu_rightclick(Note * p, Evas * e, Evas_Object * obj, void *ev_info) +{ + Menu *menu = menu_create(); + + menu_item_add(p->menu, "New Note", (void *) cb_ewl_new_note, NULL); + menu_show(menu); + return; +} + +void +cb_ewl_new_note(void *data) +{ +} + /* ECORE Callbacks */ /** @@ -541,6 +564,70 @@ /* External Interaction */ +int +get_note_count() +{ + int a; + Evas_List *p; + + p = get_cycle_begin(); + if (p == NULL) + return (0); + else + a = 1; + while ((p = get_cycle_next_note(p)) != NULL) + a++; + + return (a); +} + +void +notes_update_themes(void) +{ + int edje_w, edje_h; + Evas_List *working; + Note *note; + int count = get_note_count(); + + char *edjefn = malloc(PATH_MAX); + + snprintf(edjefn, + PATH_MAX, NOTE_EDJE, PACKAGE_DATA_DIR, main_config->theme); + + working = get_cycle_begin(); + if (working != NULL) { + while (working != NULL) { + note = (Note *) evas_list_data(working); + if (note != NULL) { + edje_object_file_set(note->edje, edjefn, + NOTE_PART); + edje_object_size_max_get(note->edje, &edje_w, + &edje_h); + ecore_evas_size_max_set(note->win, edje_w, + edje_h); + edje_object_size_min_get(note->edje, &edje_w, + &edje_h); + ecore_evas_size_min_set(note->win, edje_w, + edje_h); + edje_object_part_swallow(note->edje, + EDJE_CONTAINER, + note->eo); + if (edje_object_data_get + (note->edje, + EDJE_INFO_SCROLLBARS) != NULL) { + /* FIXME: What the fuck is happening when + * we enable this?: */ +// configure_scrollbars(note->pane,edjefn); + } + } + working = get_cycle_next_note(working); + } + } + + free(edjefn); + return; +} + /** * @param title: The title to search for. * @return: Returns the Evas_List of the note requested by "title". =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- note.h 24 Sep 2004 13:59:56 -0000 1.16 +++ note.h 6 Oct 2004 17:12:34 -0000 1.17 @@ -25,6 +25,7 @@ #include "controlcentre.h" #include "saveload.h" #include "ipc.h" +#include "menu.h" #include "../config.h" @@ -66,6 +67,7 @@ Evas *evas; Evas_Object *edje; Evas_Object *dragger; + Evas_Object *eventer; Evas_Object *eo; Ewl_Widget *emb; @@ -73,12 +75,18 @@ Ewl_Widget *pane; Ewl_Row *saveload_row; + Menu *menu; /* Comparison Strings and Timer */ Ecore_Timer *timcomp; char *txt_title; } _note; +typedef struct { + int x, y, w, h; + char *content; +} NoteInfo; + Evas_List *gbl_notes; /* High Level */ @@ -93,6 +101,12 @@ /* GUI Setup */ void setup_note(Evas_List ** note, int x, int y, int width, int height, char *content); +void configure_scrollbars(Ewl_Widget * pane, char *edjefn); + +/* Menu Callbacks */ +void cb_menu_rightclick(Note * p, Evas * e, Evas_Object * obj, + void *ev_info); +void cb_ewl_new_note(void *data); /* Ecore Callbacks */ void note_ecore_close(Ecore_Evas * ee); @@ -109,9 +123,12 @@ int note_edje_close_timer(void *p); int timer_val_compare(void *data); void note_move_embed(Ewl_Widget * w, void *ev_data, void *user_data); +void notes_update_themes(void); /* External Interaction */ +int get_note_count(); + Evas_List *get_note_by_title(char *title); Evas_List *get_note_by_content(char *content); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/welcome.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- welcome.c 27 Aug 2004 20:40:37 -0000 1.1 +++ welcome.c 6 Oct 2004 17:12:34 -0000 1.2 @@ -112,10 +112,11 @@ (void *) close_credits_cb, (void *) NULL); credits->credits = ewl_text_new(""); + ewl_object_padding_set((Ewl_Object *) credits->credits, 5, 5, 5, 5); ewl_text_font_set((Ewl_Text *) credits->credits, "vera", 12); ewl_text_color_set((Ewl_Text *) credits->credits, 0, 0, 0, 255); ewl_text_text_set((Ewl_Text *) credits->credits, - "Credits:\n\nDeveloper: Thomas [Fletch]er\nArtwork: Corey Donohoe (Atmos)\n"); + "Credits:\n\nDeveloper: Thomas [Fletch]er\nArtwork: Corey Donohoe (Atmos)\nArtwork: Andrew Elcock (HandyAndE)\n"); ewl_container_child_append((Ewl_Container *) credits->win, credits->credits); ewl_widget_show(credits->credits); |
From: <enl...@li...> - 2004-10-06 17:13:13
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes Modified Files: TODO Log Message: Ecore_Config use, bug fixes, new bugs - updated TODO =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/TODO,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- TODO 24 Sep 2004 13:59:55 -0000 1.10 +++ TODO 6 Oct 2004 17:12:33 -0000 1.11 @@ -14,18 +14,26 @@ BUGS & BASIC FUNCTIONALITY: -Report them please +Shaped Note? +Setting Note Themes in Realtime +Ecore_Config and enotes IPC dont work together - FEATURES: + FEATURES and AIMS: 0.2 System Tray Icon Right Click Menu on Notes Enewnote calls enotes if it's not running +Strip XML from Enotes +Fix Ecore_Config's Usage or use custom usage (add option to ecore_config) +Recomment all Functions +Tidy Storage and Configuration Backends +Refine code for minimalism 0.3 Optional change of location for note storage to a ftp based location. +Extra note option (time alert - boolean and time/date) MAYBE's: |
From: <enl...@li...> - 2004-10-06 17:17:40
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/data Modified Files: Makefile.am Log Message: No more global config =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/data/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 14 Sep 2004 22:15:14 -0000 1.1 +++ Makefile.am 6 Oct 2004 17:17:32 -0000 1.2 @@ -1,8 +1 @@ SUBDIRS = themes fonts - -CONFIG = config.xml - -configdir = $(pkgdatadir) -config_DATA = $(CONFIG) - -EXTRA_DIST = $(CONFIG) |
From: <enl...@li...> - 2004-10-08 20:44:50
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/src Modified Files: note.c note.h Log Message: Defaulting Scrollbars =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -3 -r1.38 -r1.39 --- note.c 6 Oct 2004 17:12:34 -0000 1.38 +++ note.c 8 Oct 2004 20:44:40 -0000 1.39 @@ -339,6 +339,45 @@ } void +configure_scrollbars_default(Ewl_Widget * pane) +{ + ewl_theme_data_str_set(pane, + "/vscrollbar/button_increment/file", NULL); + ewl_theme_data_str_set(pane, + "/vscrollbar/button_decrement/file", NULL); + ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/file", NULL); + ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/button/file", NULL); + ewl_theme_data_str_set(pane, + "/hscrollbar/button_increment/file", NULL); + ewl_theme_data_str_set(pane, + "/hscrollbar/button_decrement/file", NULL); + ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/file", NULL); + ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/button/file", NULL); + + ewl_theme_data_str_set(pane, + "/vscrollbar/button_increment/group",NULL); + ewl_theme_data_str_set(pane, + "/vscrollbar/button_decrement/group",NULL); + + ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/group",NULL); + + ewl_theme_data_str_set(pane, + "/vscrollbar/vseeker/button/group",NULL); + + ewl_theme_data_str_set(pane, + "/hscrollbar/button_increment/group",NULL); + ewl_theme_data_str_set(pane, + "/hscrollbar/button_decrement/group",NULL); + + ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/group",NULL); + + ewl_theme_data_str_set(pane, + "/hscrollbar/hseeker/button/group",NULL); + + return; +} + +void configure_scrollbars(Ewl_Widget * pane, char *edjefn) { ewl_theme_data_str_set(pane, @@ -618,6 +657,8 @@ /* FIXME: What the fuck is happening when * we enable this?: */ // configure_scrollbars(note->pane,edjefn); + }else{ +// configure_scrollbars_default(note->pane); } } working = get_cycle_next_note(working); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- note.h 6 Oct 2004 17:12:34 -0000 1.17 +++ note.h 8 Oct 2004 20:44:40 -0000 1.18 @@ -102,6 +102,7 @@ void setup_note(Evas_List ** note, int x, int y, int width, int height, char *content); void configure_scrollbars(Ewl_Widget * pane, char *edjefn); +void configure_scrollbars_default(Ewl_Widget *pane); /* Menu Callbacks */ void cb_menu_rightclick(Note * p, Evas * e, Evas_Object * obj, |
From: <enl...@li...> - 2004-10-09 16:04:15
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/src Modified Files: Makefile.am config.c config.h controlcentre.c main.c note.c note.h saveload.c saveload.h storage.c storage.h Removed Files: xml.c xml.h Log Message: Bai Bai Xml :D =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Makefile.am 6 Oct 2004 17:12:34 -0000 1.5 +++ Makefile.am 9 Oct 2004 16:04:04 -0000 1.6 @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in INCLUDES = \ - @ecore_cflags@ @evas_cflags@ @ewl_cflags@ @edje_cflags@ @edb_cflags@ @imlib2_cflags@ @libxml2_cflags@ @esmart_cflags@ + @ecore_cflags@ @evas_cflags@ @ewl_cflags@ @edje_cflags@ @edb_cflags@ @imlib2_cflags@ @esmart_cflags@ bin_PROGRAMS = enotes @@ -22,8 +22,6 @@ saveload.h \ ipc.c \ ipc.h \ -xml.c \ -xml.h \ debug.c \ debug.h \ welcome.c \ =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/config.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- config.c 6 Oct 2004 19:10:12 -0000 1.14 +++ config.c 9 Oct 2004 16:04:04 -0000 1.15 @@ -76,6 +76,12 @@ int read_configuration(MainConfig * p) { + ecore_config_int_create("controlcentre.x", 0, 0, NULL, "CC x pos"); + ecore_config_int_create("controlcentre.y", 0, 0, NULL, "CC y pos"); + ecore_config_int_create("controlcentre.w", 0, 0, NULL, "CC w pos"); + ecore_config_int_create("controlcentre.h", 0, 0, NULL, "CC h pos"); + + ecore_config_int_create("enotes.debug", 0, 'd', "debug", "Debugging Level [0-2]"); ecore_config_string_create("enotes.engine", "software", 'r', =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/config.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- config.h 6 Oct 2004 17:12:34 -0000 1.9 +++ config.h 9 Oct 2004 16:04:04 -0000 1.10 @@ -23,7 +23,6 @@ #include "debug.h" #include "../config.h" -#include "xml.h" typedef struct { char *render_method; =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/controlcentre.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- controlcentre.c 6 Oct 2004 17:12:34 -0000 1.17 +++ controlcentre.c 9 Oct 2004 16:04:04 -0000 1.18 @@ -165,63 +165,12 @@ get_cc_pos() { CCPos *p = malloc(sizeof(CCPos)); - char *locfn = malloc(PATH_MAX); - XmlReadHandle *h; - XmlEntry *tmp; - FILE *fp; - - p->x = -50; - p->y = -50; - p->width = -50; - p->height = -50; - - snprintf(locfn, PATH_MAX, DEF_CC_CONFIG_LOC, getenv("HOME")); - - fp = fopen(locfn, "r"); - if (fp == NULL) { - free(locfn); - p->x = 0; - p->y = 0; - p->width = 250; - p->height = 250; - return (p); - } else { - fclose(fp); - } - h = xml_read(locfn); - while (h->cur != NULL) { - tmp = xml_read_entry_get_entry(h); - if (!strcmp(tmp->name, "x")) { - if (tmp->value != NULL) - p->x = atoi(tmp->value); - else - p->x = 0; - } else if (!strcmp(tmp->name, "y")) { - if (tmp->value != NULL) - p->y = atoi(tmp->value); - else - p->y = 0; - } else if (!strcmp(tmp->name, "width")) { - if (tmp->value != NULL) - p->width = atoi(tmp->value); - else - p->width = 250; - } else if (!strcmp(tmp->name, "height")) { - if (tmp->value != NULL) - p->height = atoi(tmp->value); - else - p->height = 250; - } - free_xmlentry(tmp); - if (p->x != -50 && p->y != -50 && p->width != -50 && - p->height != -50) - break; - xml_read_next_entry(h); - } - xml_read_end(h); + p->x = ecore_config_int_get("controlcentre.x"); + p->y = ecore_config_int_get("controlcentre.y"); + p->width = ecore_config_int_get("controlcentre.w"); + p->height = ecore_config_int_get("controlcentre.h"); - free(locfn); return (p); } @@ -235,27 +184,19 @@ void set_cc_pos() { - char *locfn = malloc(PATH_MAX); - XmlWriteHandle *p; int x, y, width, height; if (controlcentre == NULL) { - free(locfn); return; } ecore_evas_geometry_get(controlcentre->win, &x, &y, &width, &height); - snprintf(locfn, PATH_MAX, DEF_CC_CONFIG_LOC, getenv("HOME")); - p = xml_write(locfn); - - xml_write_append_entry_int(p, "x", x); - xml_write_append_entry_int(p, "y", y); - xml_write_append_entry_int(p, "width", width); - xml_write_append_entry_int(p, "height", height); + ecore_config_int_set("controlcentre.x", x); + ecore_config_int_set("controlcentre.y", y); + ecore_config_int_set("controlcentre.w", width); + ecore_config_int_set("controlcentre.h", height); - xml_write_end(p); - free(locfn); return; } =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- main.c 6 Oct 2004 17:12:34 -0000 1.18 +++ main.c 9 Oct 2004 16:04:04 -0000 1.19 @@ -28,6 +28,7 @@ { char *spec_conf; int note_count; + DIR *dir; /* IPC Check */ ecore_ipc_init(); @@ -54,6 +55,8 @@ dml("Successfully Read Configurations and Usage", 1); + process_note_storage_locations(); + if (find_server() == 0) { dml("Server wasn't found.. Creating one", 1); /* Setup Server */ =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- note.c 8 Oct 2004 20:44:40 -0000 1.39 +++ note.c 9 Oct 2004 16:04:04 -0000 1.40 @@ -341,38 +341,32 @@ void configure_scrollbars_default(Ewl_Widget * pane) { - ewl_theme_data_str_set(pane, - "/vscrollbar/button_increment/file", NULL); - ewl_theme_data_str_set(pane, - "/vscrollbar/button_decrement/file", NULL); + ewl_theme_data_str_set(pane, "/vscrollbar/button_increment/file", NULL); + ewl_theme_data_str_set(pane, "/vscrollbar/button_decrement/file", NULL); ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/file", NULL); ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/button/file", NULL); - ewl_theme_data_str_set(pane, - "/hscrollbar/button_increment/file", NULL); - ewl_theme_data_str_set(pane, - "/hscrollbar/button_decrement/file", NULL); + ewl_theme_data_str_set(pane, "/hscrollbar/button_increment/file", NULL); + ewl_theme_data_str_set(pane, "/hscrollbar/button_decrement/file", NULL); ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/file", NULL); ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/button/file", NULL); ewl_theme_data_str_set(pane, - "/vscrollbar/button_increment/group",NULL); + "/vscrollbar/button_increment/group", NULL); ewl_theme_data_str_set(pane, - "/vscrollbar/button_decrement/group",NULL); + "/vscrollbar/button_decrement/group", NULL); - ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/group",NULL); + ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/group", NULL); - ewl_theme_data_str_set(pane, - "/vscrollbar/vseeker/button/group",NULL); + ewl_theme_data_str_set(pane, "/vscrollbar/vseeker/button/group", NULL); ewl_theme_data_str_set(pane, - "/hscrollbar/button_increment/group",NULL); + "/hscrollbar/button_increment/group", NULL); ewl_theme_data_str_set(pane, - "/hscrollbar/button_decrement/group",NULL); + "/hscrollbar/button_decrement/group", NULL); - ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/group",NULL); + ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/group", NULL); - ewl_theme_data_str_set(pane, - "/hscrollbar/hseeker/button/group",NULL); + ewl_theme_data_str_set(pane, "/hscrollbar/hseeker/button/group", NULL); return; } @@ -657,8 +651,8 @@ /* FIXME: What the fuck is happening when * we enable this?: */ // configure_scrollbars(note->pane,edjefn); - }else{ -// configure_scrollbars_default(note->pane); + } else { +// configure_scrollbars_default(note->pane); } } working = get_cycle_next_note(working); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- note.h 8 Oct 2004 20:44:40 -0000 1.18 +++ note.h 9 Oct 2004 16:04:05 -0000 1.19 @@ -102,7 +102,7 @@ void setup_note(Evas_List ** note, int x, int y, int width, int height, char *content); void configure_scrollbars(Ewl_Widget * pane, char *edjefn); -void configure_scrollbars_default(Ewl_Widget *pane); +void configure_scrollbars_default(Ewl_Widget * pane); /* Menu Callbacks */ void cb_menu_rightclick(Note * p, Evas * e, Evas_Object * obj, =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- saveload.c 9 Sep 2004 11:57:30 -0000 1.16 +++ saveload.c 9 Oct 2004 16:04:05 -0000 1.17 @@ -398,21 +398,28 @@ void fill_load_tree(void) { - NoteStor *p; - XmlReadHandle *r; - - r = stor_cycle_begin(); - - if (r != NULL) { - while (r->cur != NULL) { - p = stor_cycle_get_notestor(r); - setup_load_opt(load->tree, - get_title_by_content(p->content)); - free_note_stor(p); - stor_cycle_next(r); + /* FIXME: These loops using open and read aren't working! */ + DIR *dir; + struct dirent *p; + char *target = malloc(PATH_MAX); + char *targetf = malloc(PATH_MAX); + struct stat buf; + + sprintf(target, "%s/.e/apps/enotes/notes", getenv("HOME")); + if ((dir = opendir(target)) != NULL) { + + while ((p = readdir(dir)) != NULL) { + 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); + } } - stor_cycle_end(r); + closedir(dir); } + + free(targetf); + free(target); return; } @@ -432,6 +439,7 @@ (void *) ewl_load_listitem_click, NULL); ewl_widget_show(capt); ewl_tree_row_add((Ewl_Tree *) tree, 0, &capt); + return; } @@ -480,28 +488,16 @@ void ewl_load_load(Ewl_Widget * o, void *ev_data, void *null) { - NoteStor *p; - XmlReadHandle *r; - char *tmp; + char *p = malloc(PATH_MAX); dml("Loading Saved Note", 2); - - r = stor_cycle_begin(); - - if (r != NULL) { - while (r->cur != NULL) { - p = stor_cycle_get_notestor(r); - 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); - } - stor_cycle_end(r); + if (load_selected == NULL) { + free(p); + return; } + sprintf(p, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), load_selected); + note_load(p); + free(p); return; } @@ -533,34 +529,14 @@ void ewl_load_delete(Ewl_Widget * o, void *ev_data, void *null) { - NoteStor *p; - XmlReadHandle *r; - char *tmp = NULL; + char *p = malloc(PATH_MAX); dml("Deleting Saved Note", 2); + sprintf(p, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), load_selected); + unlink(p); - r = stor_cycle_begin(); - if (r != NULL) { - while (r->cur != NULL) { - p = stor_cycle_get_notestor(r); - 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); - } - } - - stor_cycle_end(r); - remove_note_stor(p); - - free_note_stor(p); ewl_load_revert(NULL, NULL, NULL); + free(p); return; } =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- saveload.h 24 Aug 2004 19:20:19 -0000 1.8 +++ saveload.h 9 Oct 2004 16:04:05 -0000 1.9 @@ -17,6 +17,11 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <unistd.h> + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> #include <Ecore.h> #include <Ecore_Evas.h> =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- storage.c 24 Sep 2004 16:19:48 -0000 1.10 +++ storage.c 9 Oct 2004 16:04:05 -0000 1.11 @@ -53,56 +53,22 @@ void append_autosave_note_stor(NoteStor * p) { - Evas_List *list; - Evas_List *lt; - XmlReadHandle *r; - XmlWriteHandle *w; - XmlEntry *e; - char *fn; - char *value; - char *val; - - list = NULL; - - /* Making the strings */ - value = get_value_from_notestor(p); - fn = make_autosave_fn(); - - /* Read */ - r = xml_read(fn); - if (r != NULL) { - while (r->cur != NULL) { - e = xml_read_entry_get_entry(r); - list = evas_list_append(list, strdup(e->value)); - free_xmlentry(e); - xml_read_next_entry(r); - } - xml_read_end(r); - } else { - list = NULL; + char *target = malloc(PATH_MAX); + char *title; + char *string = get_value_from_notestor(p); + FILE *fp; + + title = get_title_by_content(p->content); + sprintf(target, "%s/.e/apps/enotes/autosave/%s", getenv("HOME"), title); + free(title); + + if ((fp = fopen(target, "w")) != NULL) { + fputs(string, fp); + fclose(fp); } - /* Write */ - w = xml_write(fn); - if (list != NULL) { - lt = list; - while (lt != NULL) { - xml_write_append_entry(w, "NoteStor", - (char *) evas_list_data(lt)); - free(evas_list_data(lt)); - list = evas_list_remove(lt, evas_list_data(lt)); - lt = evas_list_next(lt); - } - } - val = get_value_from_notestor(p); - xml_write_append_entry(w, "NoteStor", val); - free(val); - xml_write_end(w); - - /* Leaving */ - evas_list_free(list); - free(value); - free(fn); + free(string); + free(target); return; } @@ -114,56 +80,28 @@ void append_note_stor(NoteStor * p) { - Evas_List *list; - Evas_List *lt; - XmlReadHandle *r; - XmlWriteHandle *w; - XmlEntry *e; - char *fn; - char *value; - char *val; - - list = NULL; - - /* Making the strings */ - value = get_value_from_notestor(p); - fn = make_storage_fn(); - - /* Read */ - r = xml_read(fn); - if (r != NULL) { - while (r->cur != NULL) { - e = xml_read_entry_get_entry(r); - list = evas_list_append(list, strdup(e->value)); - free_xmlentry(e); - xml_read_next_entry(r); + char *target = malloc(PATH_MAX); + char *title; + char *string = get_value_from_notestor(p); + FILE *fp; + + title = get_title_by_content(p->content); + sprintf(target, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), title); + free(title); + + if ((fp = fopen(target, "r")) == NULL) { + if ((fp = fopen(target, "w")) != NULL) { + fputs(string, fp); + fclose(fp); } - xml_read_end(r); } else { - list = NULL; + fclose(fp); + msgbox("Note Already Exists", + "Unable to save note because a note with the same title exists.\nPlease delete this note first."); } - /* Write */ - w = xml_write(fn); - if (list != NULL) { - lt = list; - while (lt != NULL) { - xml_write_append_entry(w, "NoteStor", - (char *) evas_list_data(lt)); - free(evas_list_data(lt)); - list = evas_list_remove(lt, evas_list_data(lt)); - lt = evas_list_next(lt); - } - } - val = get_value_from_notestor(p); - xml_write_append_entry(w, "NoteStor", val); - free(val); - xml_write_end(w); - - /* Leaving */ - evas_list_free(list); - free(value); - free(fn); + free(string); + free(target); return; } @@ -175,154 +113,78 @@ void remove_note_stor(NoteStor * p) { - Evas_List *list; - Evas_List *lt; - XmlReadHandle *r; - XmlWriteHandle *w; - XmlEntry *e; - NoteStor *tmp; - char *fn; - char *value; - char *val; - char *tmpstr; - - list = NULL; - - /* Making the strings */ - value = get_value_from_notestor(p); - fn = make_storage_fn(); - - /* Read */ - r = xml_read(fn); - if (r != NULL) { - while (r->cur != NULL) { - e = xml_read_entry_get_entry(r); - tmpstr = strdup(e->value); - tmp = get_notestor_from_value(tmpstr); - free(tmpstr); - if (strcmp(p->content, tmp->content)) { - list = evas_list_append(list, strdup(e->value)); - } - free_note_stor(tmp); - free_xmlentry(e); - xml_read_next_entry(r); - } - xml_read_end(r); - } else { - list = NULL; - } - - /* Write */ - w = xml_write(fn); - if (list != NULL) { - lt = list; - while (lt != NULL) { - xml_write_append_entry(w, "NoteStor", - (char *) evas_list_data(lt)); - free(evas_list_data(lt)); - list = evas_list_remove(lt, evas_list_data(lt)); - lt = evas_list_next(lt); - } - } - xml_write_end(w); - - /* Leaving */ - evas_list_free(list); - free(value); - free(fn); - return; -} + char *target = malloc(PATH_MAX); + char *title; + title = get_title_by_content(p->content); + sprintf(target, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), title); + free(title); -/* Cycle Functions */ + unlink(target); -/** - * @return: The XmlReadHandle for the beginning of the storage cycle. - * @brief: Returns a handle for the beginning of the storage cycle (reading). - */ -XmlReadHandle * -stor_cycle_begin(void) -{ - char *p; - XmlReadHandle *retval; - - p = make_storage_fn(); - retval = xml_read(p); - free(p); - return (retval); + free(target); + return; } -/** - * @return: The XmlReadHandle for the beginning of the autosave storage cycle. - * @brief: Begins the storage cycle for the autosave storage and returns a read - * handle. - */ -XmlReadHandle * -stor_cycle_begin_autosave(void) +void +note_load(char *target) { - char *p; - XmlReadHandle *retval; + FILE *fp; + NoteStor *p; + char *str = malloc(NOTE_LIMIT); + char *fullstr = malloc(NOTE_LIMIT * 2); - p = make_autosave_fn(); - retval = xml_read(p); - free(p); - return (retval); -} + sprintf(fullstr, ""); + if ((fp = fopen(target, "r")) != NULL) { + while ((str = fgets(str, NOTE_LIMIT, fp)) != NULL) { + sprintf(fullstr, "%s%s", fullstr, str); + } + if (strcmp("", fullstr)) + if ((p = get_notestor_from_value(fullstr)) != NULL) + new_note_with_values(p->x, p->y, p->width, + p->height, p->content); + } -/** - * @param p: The read handle which is to be ended and free'd. - * @brief: Ends and free's a storage cycle. - */ -void -stor_cycle_end(XmlReadHandle * p) -{ - xml_read_end(p); + free(str); + free(fullstr); + if (p != NULL) + free_note_stor(p); return; } -/** - * @param p: The cycle handle to move forward in. - * @brief: Move forward in the cycle (next note). - */ void -stor_cycle_next(XmlReadHandle * p) +process_note_storage_locations() { - xml_read_next_entry(p); - return; -} - -/** - * @param p: The cycle handle to move backwards in. - * @brief: Moves backwards in the cycle (previous note). - */ -void -stor_cycle_prev(XmlReadHandle * p) -{ - xml_read_prev_entry(p); - return; -} + DIR *p; + char *f = malloc(PATH_MAX); + sprintf(f, "%s/.e/apps/enotes/notes", getenv("HOME")); + if ((p = opendir(f)) == NULL) { + dml("Note Storage Location Doesn't Exist; Creating...", 1); + if (mkdir(f, (mode_t) 0755) == -1) + dml("Unable to Create Storage Location. Expect problems!", 1); + } else { + dml("Note Storage Location Found", 1); + closedir(p); + } -/** - * @param p: The handle to get the current notestor from. - * @return: The notestor requested, allocated and with values. - * Needs free'ing. - * @brief: Obtains the NoteStor information from the current stage - * in the supplied handle. - */ -NoteStor * -stor_cycle_get_notestor(XmlReadHandle * p) -{ - NoteStor *h; - XmlEntry *info; + sprintf(f, "%s/.e/apps/enotes/autosave", getenv("HOME")); + if ((p = opendir(f)) == NULL) { + dml("Note Autosave Storage Location Doesn't Exist; Creating...", + 1); + if (mkdir(f, (mode_t) 0755) == -1) + dml("Unable to Create Autosave Storage Location. Expect problems!", 1); + } else { + dml("Note Autosave Storage Location Found", 1); + closedir(p); + } - info = xml_read_entry_get_entry(p); - h = get_notestor_from_value(info->value); - free(info); - return (h); + free(f); + return; } + /* Autosave Functions */ /** @@ -330,27 +192,28 @@ */ int autoload(void) -{ - XmlReadHandle *r; - NoteStor *p; - int count; - - dml("Autoloading Saved Notes", 1); - - count = 0; - r = stor_cycle_begin_autosave(); - if (r != NULL) { - while (r->cur != NULL) { - p = stor_cycle_get_notestor(r); - new_note_with_values(p->x, p->y, p->width, p->height, - p->content); - free_note_stor(p); - stor_cycle_next(r); - count++; +{ /* FIXME: Rewrite using dirents */ + DIR *dir; + struct dirent *p; + char *target = malloc(PATH_MAX); + char *targetf = malloc(PATH_MAX); + struct stat buf; + + sprintf(target, "%s/.e/apps/enotes/autosave", getenv("HOME")); + if ((dir = opendir(target)) != NULL) { + + while ((p = readdir(dir)) != NULL) { + sprintf(targetf, "%s/%s", target, p->d_name); + stat(targetf, &buf); + if (S_ISREG(buf.st_mode)) { + note_load(targetf); + } } - stor_cycle_end(r); + closedir(dir); } - return count; + + free(targetf); + free(target); } /** @@ -363,15 +226,38 @@ Note *note; Evas_List *tmp = gbl_notes; NoteStor *n; - XmlWriteHandle *p; - char *pp; + char *path = malloc(PATH_MAX); + char *work = malloc(PATH_MAX); + DIR *dir; + struct dirent *d; + struct stat buf; dml("Autosaving", 1); - pp = make_autosave_fn(); - p = xml_write(pp); - xml_write_end(p); - free(pp); + sprintf(path, "%s/.e/apps/enotes/autosave", getenv("HOME")); + + if ((dir = opendir(path)) != NULL) { + while ((d = readdir(dir)) != NULL) { + sprintf(work, "%s/%s", path, d->d_name); + stat(work, &buf); + if (S_ISREG(buf.st_mode)) { + unlink(work); + } + } + closedir(dir); + } + + if (rmdir(path) != -1) { + if (mkdir(path, 0755) != -1) { + dml("Successfully Cleaned the Autosaves", 1); + } else { + dml("Error Recreating Autosave Directory", 1); + } + } else { + dml("Error Removing the Autosave Location", 1); + } + free(path); + free(work); while (tmp != NULL) { note = evas_list_data(tmp); @@ -387,40 +273,14 @@ tmp = evas_list_next(tmp); } + dml("Autosaved Notes", 1); + return; } /* Internal Functions */ /** - * @return: The storage file location string. - * @brief: Builds up a string containing the location of the storage - * xml file. - */ -char * -make_storage_fn(void) -{ - char *p = malloc(PATH_MAX); - - snprintf(p, PATH_MAX, DEF_STORAGE_LOC, getenv("HOME")); - return (p); -} - -/** - * @return: The storage file location string (autosave). - * @brief: Builds up a string containing the location of the autosave - * storage xml file. - */ -char * -make_autosave_fn(void) -{ - char *p = malloc(PATH_MAX); - - snprintf(p, PATH_MAX, DEF_AUTOSAVE_LOC, getenv("HOME")); - return (p); -} - -/** * @param e: The value to parse and build a notestor from. * @return: The built NoteStor structure (needs free'ing). * @brief: Parses e and builds a NoteStor structure, then returns it. =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- storage.h 24 Sep 2004 16:19:48 -0000 1.5 +++ storage.h 9 Oct 2004 16:04:05 -0000 1.6 @@ -18,17 +18,20 @@ #include <stdlib.h> #include <string.h> #include <limits.h> +#include <unistd.h> + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> #include <Evas.h> // For the list structures. -#include "xml.h" #include "note.h" #include "debug.h" -#define DEF_STORAGE_LOC "%s/.e/notes/notes.xml" -#define DEF_AUTOSAVE_LOC "%s/.e/notes/autosave.xml" #define DEF_VALUE_SEPERATION "|" #define MAX_VALUE 2000 +#define NOTE_LIMIT 9999 typedef struct { char *content; @@ -46,18 +49,11 @@ void append_note_stor(NoteStor * p); void append_autosave_note_stor(NoteStor * p); void remove_note_stor(NoteStor * p); +void process_note_storage_locations(); -/* Cycle Functions */ -XmlReadHandle *stor_cycle_begin(void); -XmlReadHandle *stor_cycle_begin_autosave(void); -void stor_cycle_end(XmlReadHandle * p); - -void stor_cycle_next(XmlReadHandle * p); -void stor_cycle_prev(XmlReadHandle * p); - -NoteStor *stor_cycle_get_notestor(XmlReadHandle * p); /* Autosave Functions */ +void note_load(char *target); int autoload(void); void autosave(void); |
From: <enl...@li...> - 2004-10-09 16:04:48
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes Modified Files: README TODO configure.in Log Message: Bai Bai Xml :D =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- README 11 Mar 2004 17:28:57 -0000 1.2 +++ README 9 Oct 2004 16:04:04 -0000 1.3 @@ -22,8 +22,6 @@ It is programmed in C and requires autoconf, automake, aclocal, make, libtool, gettext, libltdl and the standard libraries. -Also, libxml2 is required for E-Notes to function correctly. - Not forgetting of course the enlightenment libraries: Evas Ecore =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/TODO,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- TODO 6 Oct 2004 17:12:33 -0000 1.11 +++ TODO 9 Oct 2004 16:04:04 -0000 1.12 @@ -17,6 +17,7 @@ Shaped Note? Setting Note Themes in Realtime Ecore_Config and enotes IPC dont work together +Removing a Note and then Clicking on Another Sometimes Segv's - Something Internal In Evas Methinks - Investigate! FEATURES and AIMS: @@ -29,6 +30,7 @@ Recomment all Functions Tidy Storage and Configuration Backends Refine code for minimalism +Searching Through Saved Notes 0.3 =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/configure.in,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- configure.in 15 Sep 2004 20:46:29 -0000 1.4 +++ configure.in 9 Oct 2004 16:04:04 -0000 1.5 @@ -145,20 +145,6 @@ AC_SUBST(edb_libs) -PROG="xml2-config"; -AC_PATH_PROG(LIBXML2_CONFIG, $PROG, "", $PATH) -if [ test -z $LIBXML2_CONFIG ]; then - echo $PROG " is not in your \$PATH. Please ensure it is."; - echo "Read the manual page for you shell as to how to extend your path."; - echo "FATAL ERROR. ABORT."; - exit -1; -fi -libxml2_cflags=`$LIBXML2_CONFIG --cflags` -libxml2_libs=`$LIBXML2_CONFIG --libs` -AC_SUBST(libxml2_cflags) -AC_SUBST(libxml2_libs) - - PROG="esmart-config"; AC_PATH_PROG(ESMART_CONFIG, $PROG, "", $PATH) if [ test -z $ESMART_CONFIG ]; then |
From: <enl...@li...> - 2004-10-09 16:06:42
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/src Modified Files: Makefile.am Log Message: Bai Bai XML (libs also) =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- Makefile.am 9 Oct 2004 16:04:04 -0000 1.6 +++ Makefile.am 9 Oct 2004 16:06:34 -0000 1.7 @@ -29,4 +29,4 @@ menu.c \ menu.h -enotes_LDADD = @ewl_libs@ @ecore_libs@ @evas_libs@ @edje_libs@ @edb_libs@ @imlib2_libs@ @libxml2_libs@ @esmart_libs@ -lesmart_draggies +enotes_LDADD = @ewl_libs@ @ecore_libs@ @evas_libs@ @edje_libs@ @edb_libs@ @imlib2_libs@ @esmart_libs@ -lesmart_draggies |
From: <enl...@li...> - 2004-11-27 22:49:36
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/src Modified Files: config.c controlcentre.c debug.c debug.h ipc.c ipc.h main.c main.h note.c note.h storage.c storage.h Log Message: Slight Tidyup =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/config.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- config.c 9 Oct 2004 16:04:04 -0000 1.15 +++ config.c 27 Nov 2004 22:48:01 -0000 1.16 @@ -18,16 +18,13 @@ * set. * @brief: Allocate and initialize a new MainConfig variable. */ -MainConfig * -mainconfig_new(void) +MainConfig *mainconfig_new(void) { MainConfig *p; - p = malloc(sizeof(MainConfig)); p->render_method = NULL; p->theme = NULL; - p->debug = 0; p->controlcentre = 1; p->autosave = 0; @@ -35,37 +32,24 @@ p->ontop = 0; p->sticky = 0; - return (p); -} + return (p);} /** * @param p: The MainConfig variable to free. * @brief: Free's an allocated MainConfig variable. */ -void -mainconfig_free(MainConfig * p) -{ - if (!p) { - if (p->render_method != NULL) - free(p->render_method); - if (p->theme != NULL) - free(p->theme); - - free(p); - } - return; -} +void mainconfig_free(MainConfig * p){ + if (p) { + if (p->render_method)free(p->render_method); + if (p->theme)free(p->theme); + free(p);}} /* LISTENERS */ -theme_listener(const char *key, const Ecore_Config_Type type, const int tag, - void *data) -{ +theme_listener(const char *key, const Ecore_Config_Type type, const int tag,void *data){ main_config->theme = ecore_config_theme_get(key); cc_update_theme(); - notes_update_themes(); - return; -} + notes_update_themes();} /** * @param p: The MainConfig variable to store the read settings into. @@ -73,15 +57,13 @@ * @brief: Reads the configuration file pointed to by fn, and stores the * settings into p. */ -int -read_configuration(MainConfig * p) -{ +int read_configuration(MainConfig * p){ + int retv; ecore_config_int_create("controlcentre.x", 0, 0, NULL, "CC x pos"); ecore_config_int_create("controlcentre.y", 0, 0, NULL, "CC y pos"); ecore_config_int_create("controlcentre.w", 0, 0, NULL, "CC w pos"); ecore_config_int_create("controlcentre.h", 0, 0, NULL, "CC h pos"); - ecore_config_int_create("enotes.debug", 0, 'd', "debug", "Debugging Level [0-2]"); ecore_config_string_create("enotes.engine", "software", 'r', @@ -106,9 +88,9 @@ ecore_config_load(); - if (ecore_config_args_parse() != ECORE_CONFIG_PARSE_CONTINUE) { - return (-1); - } + ecore_config_app_describe("Enotes - The Enlightened Sticky Notes System"); + + retv=ecore_config_args_parse(); p->render_method = ecore_config_string_get("enotes.engine"); p->theme = ecore_config_theme_get("enotes.theme"); @@ -119,9 +101,6 @@ p->ontop = ecore_config_boolean_get("enotes.ontop"); p->sticky = ecore_config_boolean_get("enotes.sticky"); - printf("Welcome: %d\n", p->welcome); - ecore_config_listen("theme", "enotes.theme", theme_listener, 0, NULL); - return (0); -} + return (retv);} =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/controlcentre.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- controlcentre.c 9 Oct 2004 16:04:04 -0000 1.18 +++ controlcentre.c 27 Nov 2004 22:48:01 -0000 1.19 @@ -290,29 +290,22 @@ } /* Theme Change */ -void -cc_update_theme() -{ - int edje_w, edje_h; +void cc_update_theme(){ + int w, h; char *edjefn; - if (controlcentre == NULL) - return; + if (!controlcentre)return; edjefn = malloc(PATH_MAX); - snprintf(edjefn, - PATH_MAX, NOTE_EDJE, PACKAGE_DATA_DIR, main_config->theme); + snprintf(edjefn, PATH_MAX, PACKAGE_DATA_DIR "/themes/%s.eet", main_config->theme); edje_object_file_set(controlcentre->edje, edjefn, CC_PART); free(edjefn); /* EDJE and ECORE min, max and resizing */ - edje_object_size_max_get(controlcentre->edje, &edje_w, &edje_h); - ecore_evas_size_max_set(controlcentre->win, edje_w, edje_h); - edje_object_size_min_get(controlcentre->edje, &edje_w, &edje_h); - ecore_evas_size_min_set(controlcentre->win, edje_w, edje_h); - ecore_evas_resize(controlcentre->win, (int) edje_w, (int) edje_h); - evas_object_resize(controlcentre->edje, edje_w, edje_h); - evas_object_resize(controlcentre->dragger, edje_w, edje_h); - - return; -} + edje_object_size_max_get(controlcentre->edje, &w, &h); + ecore_evas_size_max_set(controlcentre->win, w, h); + edje_object_size_min_get(controlcentre->edje, &w, &h); + ecore_evas_size_min_set(controlcentre->win, w, h); + ecore_evas_resize(controlcentre->win, w, h); + evas_object_resize(controlcentre->edje, w, h); + evas_object_resize(controlcentre->dragger, w, h);} =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/debug.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- debug.c 11 Mar 2004 17:28:58 -0000 1.5 +++ debug.c 27 Nov 2004 22:48:01 -0000 1.6 @@ -15,142 +15,6 @@ extern MainConfig *main_config; -DebugFuncLst func_list[] = { - /* Main */ - {"main", 0}, - - /* config */ - {"mainconfig_new", 1}, - {"mainconfig_free", 1}, - {"read_global_configuration", 1}, - {"read_local_configuration", 1}, - {"read_configuration", 1}, - {"check_local_configuration", 1}, - {"processopt", 1}, - - /* controlcentre */ - {"setup_cc", 1}, - {"cc_resize", 2}, - {"cc_close", 2}, - {"cc_saveload", 2}, - {"cc_newnote", 2}, - {"cc_settings", 2}, - - /* ipc */ - {"find_server", 1}, - {"setup_server", 1}, - {"send_to_server", 1}, - {"ipc_svr_data_recv", 2}, - {"parse_message", 1}, - {"ipc_close_enotes", 1}, - {"fix_newlines", 1}, - - /* msgbox */ - {"msgbox", 1}, - {"msgbox_okbtn_clicked", 1}, - {"msgbox_resize", 1}, - {"msgbox_close", 1}, - - /* note */ - {"new_note", 1}, - {"new_note_with_values", 1}, - {"append_note", 1}, - {"remove_note", 1}, - {"setup_note", 1}, - {"note_ecore_close", 2}, - {"note_ecore_resize", 2}, - {"note_edje_close", 2}, - {"note_edje_minimise", 2}, - {"get_date_string", 1}, - {"note_edje_close_timer", 2}, - {"timer_val_compare", 2}, - {"get_note_by_title", 1}, - {"get_note_by_content", 1}, - {"get_title_by_note", 1}, - {"get_content_by_note", 1}, - {"get_cycle_begin", 1}, - {"get_cycle_next_note", 1}, - {"get_cycle_previous_note", 1}, - - /* saveload - saveload */ - {"setup_saveload", 1}, - {"setup_saveload_win", 1}, - {"saveload_setup_button", 1}, - {"fill_saveload_tree", 1}, - {"setup_saveload_opt", 1}, - {"ecore_saveload_resize", 2}, - {"ecore_saveload_close", 2}, - {"ewl_saveload_revert", 2}, - {"ewl_saveload_close", 2}, - {"ewl_saveload_load", 2}, - {"ewl_saveload_save", 2}, - {"ewl_saveload_listitem_click", 2}, - - /* saveload - load */ - {"setup_load", 1}, - {"setup_load_win", 1}, - {"load_setup_button", 1}, - {"fill_load_tree", 1}, - {"setup_load_opt", 1}, - {"ecore_load_resize", 2}, - {"ecore_load_close", 2}, - {"ewl_load_revert", 2}, - {"ewl_load_close", 2}, - {"ewl_load_load", 2}, - {"ewl_load_delete", 2}, - {"ewl_load_listitem_click", 2}, - - /* settings */ - {"setup_settings", 1}, - {"setup_settings_win", 1}, - {"fill_tree", 1}, - {"settings_setup_button", 1}, - {"setup_settings_opt", 1}, - {"setup_settings_opt_int", 1}, - {"ecore_settings_resize", 2}, - {"ecore_settings_close", 2}, - {"ewl_settings_revert", 2}, - {"ewl_settings_close", 2}, - {"ewl_settings_save", 2}, - {"save_settings", 1}, - - /* storage */ - {"alloc_note_stor", 1}, - {"free_note_stor", 1}, - {"append_note_stor", 1}, - {"append_autosave_note_stor", 1}, - {"remove_note_stor", 1}, - {"stor_cycle_begin", 1}, - {"stor_cycle_begin_autosave", 1}, - {"stor_cycle_end", 1}, - {"stor_cycle_next", 1}, - {"stor_cycle_prev", 1}, - {"stor_cycle_get_notestor", 1}, - {"autoload", 1}, - {"autosave", 1}, - {"make_storage_fn", 1}, - {"make_autosave_fn", 1}, - {"get_notestor_from_value", 1}, - {"get_value_from_notestor", 1}, - - /* usage */ - {"read_usage_configuration", 1}, - {"read_usage_for_configuration_fn", 1}, - {"print_usage", 1}, - - /* xml */ - {"free_xmlentry", 1}, - {"xml_read", 1}, - {"xml_read_end", 1}, - {"xml_read_next_entry", 1}, - {"xml_read_prev_entry", 1}, - {"xml_read_entry_get_entry", 1}, - {"xml_write", 1}, - {"xml_write_end", 1}, - {"xml_write_append_entry", 1} -}; - - /** * @param msg: The error/warning message to display. * @param level: The level at which the error message should be displayed. @@ -205,59 +69,3 @@ printf(DEBUG_MSG, msg); return; } - -/** - * @param msg: The function being entered. - * @brief: Reports that a function has been entered. - * For heavy debugging purposes, not normally - * used. - */ -void -debug_func_in(char *function) -{ - int a = 0; - - if (main_config == NULL) { - return; - } - while (&func_list[a] != NULL) { - if (!strcmp(func_list[a].name, function)) { - if (main_config->debug == func_list[a].level || - main_config->debug > func_list[a].level) - printf(DEBUG_FUNC_IN, func_list[a].level, - function); - return; - } - a++; - } - - printf("E-Notes: DEBUGGING ERROR. Asked to debug missing function.\n"); -} - -/** - * @param msg: The function that is being exited. - * @brief: Reports that a function has completed its job - * and it exiting. For heavy debugging only. - */ -void -debug_func_out(char *function) -{ - int a = 0; - - if (main_config == NULL) { - return; - } - - while (&func_list[a] != NULL) { - if (!strcmp(func_list[a].name, function)) { - if (main_config->debug == func_list[a].level || - main_config->debug > func_list[a].level) - printf(DEBUG_FUNC_OUT, func_list[a].level, - function); - return; - } - a++; - } - - printf("E-Notes: DEBUGGING ERROR. Asked to debug missing function.\n"); -} =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/debug.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- debug.h 11 Mar 2004 17:28:58 -0000 1.3 +++ debug.h 27 Nov 2004 22:48:01 -0000 1.4 @@ -25,8 +25,6 @@ #define DEBUG_ERROR_MSG "E-Notes: ERROR - %s.\n" #define DEBUG_WARNING_MSG "E-Notes: WARNING - %s.\n" #define DEBUG_NOTICE_MSG "E-Notes: NOTICE - %s.\n" -#define DEBUG_FUNC_IN "E-Notes [%d]: Entered Function %s.\n" -#define DEBUG_FUNC_OUT "E-Notes [%d]: Exited Function %s.\n" #define debug_func_in(foo) dfi(foo) #define debug_func_out(foo) dfo(foo) @@ -49,10 +47,4 @@ void debug_msg_lvl(char *msg, int level); void debug_msg(char *msg); -/* These are only really used when manually debugging and programming enotes. - * We don't use this normally because it won't print messages before the configuration - * and usage has been parsed.. it needs the debug level. */ -void debug_func_in(char *function); -void debug_func_out(char *function); - #endif =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/ipc.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ipc.c 24 Sep 2004 13:59:56 -0000 1.9 +++ ipc.c 27 Nov 2004 22:48:01 -0000 1.10 @@ -23,42 +23,29 @@ * 1 = Theres already a running server. * @brief: Checks whether an enotes ipc server is running. */ -int -find_server(void) -{ +int find_server(){ Ecore_Ipc_Server *p; p = ecore_ipc_server_connect(ECORE_IPC_LOCAL_USER, IPC_NAME, IPC_PORT, NULL); - if (p == NULL) { - return (0); - } else { + if (!p) return (0); + else{ ecore_ipc_server_del(p); - return (1); - } - return (-1); -} + return(1);} + return (-1);} /** * @brief: Sets up the enotes server and gets it listening * for IPC signals. */ -void -setup_server(void) -{ - if (find_server() == 0) { +void setup_server(){ + if (find_server() == 0) if (mysvr == NULL) { - mysvr = ecore_ipc_server_add(ECORE_IPC_LOCAL_USER, - IPC_NAME, IPC_PORT, NULL); - if (mysvr != NULL) { + mysvr = ecore_ipc_server_add(ECORE_IPC_LOCAL_USER,IPC_NAME,IPC_PORT,NULL); + if(mysvr != NULL){ listenev = ecore_event_handler_add (ECORE_IPC_EVENT_CLIENT_DATA, - ipc_svr_data_recv, NULL); - } - } - } - return; -} + ipc_svr_data_recv, NULL);}}} /** * @param msg: The message to be sent. @@ -71,15 +58,8 @@ if ((mysvr = ecore_ipc_server_connect(ECORE_IPC_LOCAL_USER, IPC_NAME, IPC_PORT, NULL)) != NULL) { - - ipc_send_message_with_mysvr(msg); /* To server */ - - ecore_ipc_server_del(mysvr); - } else { - return; - } - return; -} + ipc_send_message_with_mysvr(msg); + ecore_ipc_server_del(mysvr);}} /** * @param data: Not used, supplied by the ecore callback, can be @@ -90,75 +70,62 @@ * from "event", unwraps it with the parsing function * so it can be used for whatever purpose is required. */ -int -ipc_svr_data_recv(void *data, int type, void *event) -{ +int ipc_svr_data_recv(void *data, int type, void *event){ Ecore_Ipc_Event_Client_Data *e; - RecvMsg *p; + if((e=(Ecore_Ipc_Event_Client_Data*)event)) + handle_ipc_message((void*)e->data); + return(1);} +void handle_ipc_message(void *data){ + RecvMsg *p=parse_message((char*)data); NoteStor *note; Ecore_Timer *close; - char *msg; char *content; - if ((e = (Ecore_Ipc_Event_Client_Data *) event)) { - p = parse_message(e->data); /* e->data is freed by the elibs - * thus p->data (being part of e->data) - * should be freed too, so leave it! */ - if (p != NULL) { - if (p->cmd == NOTE) { - if (p->data != NULL) { - note = (NoteStor *) - get_notestor_from_value((char *) - p-> - data); - content = fix_newlines(note->content); - new_note_with_values(note->x, note->y, - note->width, - note->height, - content); - free(content); - free_note_stor(note); - } - } else if (p->cmd == CLOSE) { - ecore_main_loop_quit(); - } else if (p->cmd == CONTROLCENTRECLOSE) { - if (controlcentre != NULL) { - ecore_evas_free(controlcentre->win); - free(controlcentre); - controlcentre = NULL; - } else { - 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(0, 0, 325, 0, - "An IPC command was recieved which\nwants to open the control centre, but the\ncontrol centre is already open!"); - } - } else if (p->cmd == DEFNOTE) { - new_note(); + if (p) { + if (p->cmd == NOTE) { + if (p->data) { + note = (NoteStor *) + get_notestor_from_value((char *) + p-> + data); + content = fix_newlines(note->content); + new_note_with_values(note->x, note->y, + note->width, + note->height, + content); + free(content); + free_note_stor(note); } - } - } - return (1); -} + } else if (p->cmd == CLOSE){ecore_main_loop_quit(); + }else if (p->cmd == CONTROLCENTRECLOSE){ + if (controlcentre != NULL){ + ecore_evas_free(controlcentre->win); + free(controlcentre); + controlcentre = NULL; + } else { + 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(0, 0, 325, 0, + "An IPC command was recieved which\nwants to open the control centre, but the\ncontrol centre is already open!"); + } + } else if (p->cmd == DEFNOTE) { + new_note();}}} /** * @param msg: The message to be sent to the connected host. * @brief: Send a char message to the host. */ -void -ipc_send_message_with_mysvr(char *msg) -{ +void ipc_send_message_with_mysvr(char *msg){ if (msg != NULL && mysvr != NULL) ecore_ipc_server_send(mysvr, 0, 0, 0, 0, 0, msg, - strlen(msg) + 1); - return; -} + strlen(msg) + 1);} /** @@ -169,9 +136,7 @@ * the command ("NOTE", "CLOSE" or whatever) and the information * supplied. */ -RecvMsg * -parse_message(char *msg) -{ +RecvMsg *parse_message(char *msg){ RecvMsg *p = malloc(sizeof(RecvMsg)); char *tst; char *ts; @@ -223,8 +188,7 @@ } free(one); - return (p); -} + return (p);} /** * @param data: Not used, but can be set during the setting of the callback. @@ -232,12 +196,9 @@ * when the main loop is ended there can be trouble. * @brief: Closes enotes. */ -int -ipc_close_enotes(void *data) -{ +int ipc_close_enotes(void *data){ ecore_main_loop_quit(); - return (0); -} + return (0);} /** * @param b: The original string to "fix". @@ -247,9 +208,7 @@ * The compiler never sees the "\n" when supplied via IPC so its never * converted into a newline, so we do it ourselves. */ -char * -fix_newlines(char *b) -{ +char *fix_newlines(char *b){ char *a = strdup(b); char *p = a; @@ -257,5 +216,4 @@ memmove(p, p + 1, strlen(p)); *p = '\n'; } - return a; -} + return a;} =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/ipc.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- ipc.h 6 Oct 2004 17:12:34 -0000 1.7 +++ ipc.h 27 Nov 2004 22:48:01 -0000 1.8 @@ -53,6 +53,7 @@ /* Low Level */ int ipc_svr_data_recv(void *data, int type, void *event); +void handle_ipc_message(void *data); int ipc_response_data_recv(void *data, int type, void *event); RecvMsg *parse_message(char *msg); int ipc_close_enotes(void *data); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- main.c 9 Oct 2004 16:04:04 -0000 1.19 +++ main.c 27 Nov 2004 22:48:01 -0000 1.20 @@ -26,13 +26,19 @@ int main(int argc, char *argv[]) { - char *spec_conf; + char *spec_conf,*remotecmd=NULL; int note_count; DIR *dir; + int a; /* IPC Check */ ecore_ipc_init(); dml("IPC Initiated Successfully", 1); + /* Check for -R option + * FIXME: Ecore-Config should do this stuff really! + * FIXME: Also, make ecore_config ignore -R, or deal with it! */ + if(argc>1)for(a=0;a<=argc-1;a++)if(!strcmp(argv[a],"-R"))if(argv[a+1]!=NULL)remotecmd=argv[a+1]; + /* autoload (if on) will increment this if there are notes * if not we may need to create a blank one */ note_count = 0; @@ -45,22 +51,27 @@ /* Read the Usage and Configurations */ main_config = mainconfig_new(); - if (read_configuration(main_config) == -1) { +/* if (read_configuration(main_config) != ECORE_CONFIG_PARSE_CONTINUE) { ecore_config_shutdown(); ecore_ipc_shutdown(); ecore_shutdown(); mainconfig_free(main_config); return (-1); - } + }*/ + read_configuration(main_config); dml("Successfully Read Configurations and Usage", 1); process_note_storage_locations(); - if (find_server() == 0) { + if (find_server() != 0) { + if(remotecmd!=NULL) + send_to_server(remotecmd); + else send_to_server("DEFNOTE"); + } else { dml("Server wasn't found.. Creating one", 1); /* Setup Server */ -// setup_server(); + setup_server(); /* Initialise the E-Libs */ ecore_init(); @@ -76,9 +87,9 @@ dml("Efl Successfully Initiated", 1); /* Autoloading */ - if (main_config->autosave == 1) { - note_count = autoload(); - } + if (main_config->autosave == 1)autoload(); + + if(remotecmd!=NULL)handle_ipc_message(remotecmd); /* Begin the Control Centre */ if (main_config->controlcentre == 1) { @@ -86,7 +97,7 @@ dml("Control Centre Setup", 1); } else { dml("No Control Centre - Displaying Notice", 1); - if (note_count == 0) + if (get_note_count() == 0) new_note(); } @@ -113,9 +124,6 @@ ecore_x_shutdown(); ecore_shutdown(); dml("Efl Shutdown", 1); - } else { - /* Open a note */ - send_to_server("DEFNOTE"); } /* End IPC */ =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- main.h 6 Oct 2004 17:12:34 -0000 1.9 +++ main.h 27 Nov 2004 22:48:01 -0000 1.10 @@ -29,6 +29,7 @@ #include "storage.h" #include "debug.h" #include "welcome.h" +#include "ipc.h" #define MAX_TEMPLATE_SIZE 999 =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- note.c 9 Oct 2004 16:04:04 -0000 1.40 +++ note.c 27 Nov 2004 22:48:01 -0000 1.41 @@ -133,7 +133,6 @@ Evas_List *pl; Note *p; - char *fontpath = malloc(PATH_MAX); char *edjefn = malloc(PATH_MAX); char *datestr; char *fcontent; @@ -201,8 +200,7 @@ evas_output_method_set(p->evas, evas_render_method_lookup(main_config-> render_method)); - snprintf(fontpath, PATH_MAX, "%s/fonts", PACKAGE_DATA_DIR); - evas_font_path_append(p->evas, fontpath); + evas_font_path_append(p->evas, PACKAGE_DATA_DIR "/fonts"); /* Draggable Setup */ p->dragger = (Evas_Object *) esmart_draggies_new(p->win); @@ -228,7 +226,7 @@ /* Setup the Edje */ p->edje = edje_object_add(p->evas); snprintf(edjefn, - PATH_MAX, NOTE_EDJE, PACKAGE_DATA_DIR, main_config->theme); + PATH_MAX, PACKAGE_DATA_DIR "/themes/%s.eet", main_config->theme); edje_object_file_set(p->edje, edjefn, NOTE_PART); evas_object_name_set(p->edje, "edje"); evas_object_move(p->edje, 0, 0); @@ -321,8 +319,6 @@ free(datestr); if (edjefn != NULL) free(edjefn); - if (fontpath != NULL) - free(fontpath); if (fcontent != NULL) free(fcontent); @@ -625,7 +621,7 @@ char *edjefn = malloc(PATH_MAX); snprintf(edjefn, - PATH_MAX, NOTE_EDJE, PACKAGE_DATA_DIR, main_config->theme); + PATH_MAX, PACKAGE_DATA_DIR "/themes/%s.eet", main_config->theme); working = get_cycle_begin(); if (working != NULL) { =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- note.h 9 Oct 2004 16:04:05 -0000 1.19 +++ note.h 27 Nov 2004 22:48:01 -0000 1.20 @@ -29,7 +29,6 @@ #include "../config.h" -#define NOTE_EDJE "%s/themes/%s.eet" #define NOTE_PART "Main" #define EDJE_SIGNAL_NOTE_CLOSE "ENOTES_QUIT" =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- storage.c 9 Oct 2004 16:04:05 -0000 1.11 +++ storage.c 27 Nov 2004 22:48:01 -0000 1.12 @@ -190,7 +190,7 @@ /** * @brief: Automatically loads all of the "autosave" notes. */ -int +void autoload(void) { /* FIXME: Rewrite using dirents */ DIR *dir; =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- storage.h 9 Oct 2004 16:04:05 -0000 1.6 +++ storage.h 27 Nov 2004 22:48:01 -0000 1.7 @@ -54,7 +54,7 @@ /* Autosave Functions */ void note_load(char *target); -int autoload(void); +void autoload(void); void autosave(void); /* Internal Functions */ |
From: <enl...@li...> - 2004-11-28 01:43:45
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes Modified Files: TODO config.h enewnote Log Message: Slight Tidyup =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/TODO,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- TODO 9 Oct 2004 16:04:04 -0000 1.12 +++ TODO 27 Nov 2004 22:48:01 -0000 1.13 @@ -24,8 +24,6 @@ 0.2 System Tray Icon Right Click Menu on Notes -Enewnote calls enotes if it's not running -Strip XML from Enotes Fix Ecore_Config's Usage or use custom usage (add option to ecore_config) Recomment all Functions Tidy Storage and Configuration Backends =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/config.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- config.h 10 Oct 2004 20:23:08 -0000 1.4 +++ config.h 27 Nov 2004 22:48:01 -0000 1.5 @@ -6,9 +6,9 @@ /* #undef HAVE_LC_MESSAGES */ /* #undef HAVE_STPCPY */ /* #undef HAVE_LIBSM */ -#define PACKAGE_LOCALE_DIR "/usr/locale" -#define PACKAGE_DATA_DIR "/usr/share/enotes" -#define PACKAGE_SOURCE_DIR "/home/tom/coding/tmp" +#define PACKAGE_LOCALE_DIR "/usr/local//locale" +#define PACKAGE_DATA_DIR "/usr/local/share/enotes" +#define PACKAGE_SOURCE_DIR "/home/tom/misc/tmp" #define PACKAGE_BIN_DIR "${exec_prefix}/bin" #define PACKAGE_LIB_DIR "${exec_prefix}/lib" =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/enewnote,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- enewnote 9 Sep 2004 10:38:14 -0000 1.2 +++ enewnote 27 Nov 2004 22:48:01 -0000 1.3 @@ -1 +1 @@ -enotes -R "NOTE|$1|250|250|0|0" +enotes -C 0 -w 0 -R "NOTE|$1|250|250|0|0" |
From: <enl...@li...> - 2005-04-06 11:53:09
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/src Modified Files: config.c config.h main.c main.h note.c note.h saveload.c storage.c storage.h Log Message: Fixed Ecore_Config usage Opening existing saveload or load window now brings it forwards Animation for saving and loading note (in edje) calls added =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/config.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- config.c 27 Nov 2004 22:48:01 -0000 1.16 +++ config.c 6 Apr 2005 11:52:26 -0000 1.17 @@ -46,11 +46,15 @@ /* LISTENERS */ -theme_listener(const char *key, const Ecore_Config_Type type, const int tag,void *data){ +void theme_listener(const char *key, const Ecore_Config_Type type, const int tag,void *data){ main_config->theme = ecore_config_theme_get(key); cc_update_theme(); notes_update_themes();} +void remotearg(char *val,void *data){ + remotecmd=val; +} + /** * @param p: The MainConfig variable to store the read settings into. * @param fn: The location of the configuration file to read. @@ -86,9 +90,9 @@ ecore_config_theme_preview_group_set("enotes.theme", "Main"); ecore_config_theme_search_path_append(PACKAGE_DATA_DIR "/themes/"); - ecore_config_load(); + ecore_config_args_callback_str_add('R',"remote","Send a remote command or message.",&remotearg,NULL); - ecore_config_app_describe("Enotes - The Enlightened Sticky Notes System"); + ecore_config_load(); retv=ecore_config_args_parse(); @@ -101,6 +105,6 @@ p->ontop = ecore_config_boolean_get("enotes.ontop"); p->sticky = ecore_config_boolean_get("enotes.sticky"); - ecore_config_listen("theme", "enotes.theme", theme_listener, 0, NULL); + ecore_config_listen("theme", "enotes.theme", (void*)&theme_listener, 0, NULL); return (retv);} =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/config.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- config.h 9 Oct 2004 16:04:04 -0000 1.10 +++ config.h 6 Apr 2005 11:52:26 -0000 1.11 @@ -36,10 +36,13 @@ } MainConfig; extern MainConfig *main_config; +extern char *remotecmd; MainConfig *mainconfig_new(void); void mainconfig_free(MainConfig * p); int read_configuration(MainConfig * p); +void remotearg(char *val,void *data); +void theme_listener(const char *key, const Ecore_Config_Type type, const int tag,void *data); #endif =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- main.c 27 Nov 2004 22:48:01 -0000 1.20 +++ main.c 6 Apr 2005 11:52:39 -0000 1.21 @@ -14,6 +14,7 @@ #include "main.h" MainConfig *main_config; +char *remotecmd; /* The Main Function */ @@ -26,7 +27,7 @@ int main(int argc, char *argv[]) { - char *spec_conf,*remotecmd=NULL; + char *spec_conf; int note_count; DIR *dir; int a; @@ -34,11 +35,7 @@ /* IPC Check */ ecore_ipc_init(); dml("IPC Initiated Successfully", 1); - /* Check for -R option - * FIXME: Ecore-Config should do this stuff really! - * FIXME: Also, make ecore_config ignore -R, or deal with it! */ - if(argc>1)for(a=0;a<=argc-1;a++)if(!strcmp(argv[a],"-R"))if(argv[a+1]!=NULL)remotecmd=argv[a+1]; - + /* autoload (if on) will increment this if there are notes * if not we may need to create a blank one */ note_count = 0; @@ -49,16 +46,19 @@ } ecore_app_args_set(argc, (const char **) argv); + ecore_config_app_describe("E-Notes - Sticky Notes for Enlightenment\n\ +Copyright (c) Thomas Fletcher\n\ +Usage: enotes [options]"); + /* Read the Usage and Configurations */ main_config = mainconfig_new(); -/* if (read_configuration(main_config) != ECORE_CONFIG_PARSE_CONTINUE) { + if (read_configuration(main_config) != ECORE_CONFIG_PARSE_CONTINUE) { ecore_config_shutdown(); ecore_ipc_shutdown(); ecore_shutdown(); mainconfig_free(main_config); return (-1); - }*/ - read_configuration(main_config); + } dml("Successfully Read Configurations and Usage", 1); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/main.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- main.h 27 Nov 2004 22:48:01 -0000 1.10 +++ main.h 6 Apr 2005 11:52:39 -0000 1.11 @@ -35,6 +35,8 @@ #define MAX_TEMPLATE_SIZE 999 #define TEMPLATE_LOC "%s/.e/notes/defnote" +extern char *remotecmd; + /* The Main Function */ int main(int argc, char *argv[]); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -3 -r1.45 -r1.46 --- note.c 5 Apr 2005 13:10:49 -0000 1.45 +++ note.c 6 Apr 2005 11:52:39 -0000 1.46 @@ -34,15 +34,12 @@ return; } -/** - * @param width: Width of the new note. - * @param height: Height of the new note. - * @param title: Title text to begin with. - * @param content: Content text to begin with. - * @brief: Opens a new note. - */ -void -new_note_with_values(int x, int y, int width, int height, char *content) +void new_note_with_values(int x,int y,int width,int height,char *content){ + Note *p=new_note_with_values_return(x,y,width,height,content); +} + +Note* +new_note_with_values_return(int x, int y, int width, int height, char *content) { Evas_List *new; @@ -50,7 +47,7 @@ new = append_note(); setup_note(&new, x, y, width, height, content); - return; + return(evas_list_data(new)); } /* Lists and Allocation */ =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.h,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- note.h 27 Nov 2004 22:48:01 -0000 1.20 +++ note.h 6 Apr 2005 11:52:39 -0000 1.21 @@ -79,6 +79,9 @@ /* Comparison Strings and Timer */ Ecore_Timer *timcomp; char *txt_title; + + /* Animation Vars */ + int stage; } _note; typedef struct { @@ -92,6 +95,7 @@ void new_note(void); void new_note_with_values(int x, int y, int width, int height, char *content); +Note *new_note_with_values_return(int x, int y, int width, int height,char *content); /* Lists and Allocation */ Evas_List *append_note(void); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- saveload.c 11 Mar 2005 23:28:25 -0000 1.18 +++ saveload.c 6 Apr 2005 11:52:39 -0000 1.19 @@ -36,7 +36,7 @@ setup_saveload_win(); fill_saveload_tree(); } else { - error_msg("Won't Open Another Saveload Window"); + ewl_window_raise((Ewl_Window*)saveload->win); } return; } @@ -289,9 +289,12 @@ n->y = y; n->content = strdup(get_content_by_note(p)); - append_note_stor(n); - + if(append_note_stor(n)==1){ + /* Animation or something */ + edje_object_signal_emit(note->edje,"enotes,saved",""); + } free_note_stor(n); + return; } @@ -311,7 +314,7 @@ setup_load_win(); fill_load_tree(); } else { - error_msg("Won't Open Another Load Note Window"); + ewl_window_raise((Ewl_Window*)load->win); } return; } @@ -497,7 +500,7 @@ return; } sprintf(p, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), load_selected); - note_load(p); + note_load(p); /* This function calls the animation */ free(p); return; } =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- storage.c 27 Nov 2004 22:48:01 -0000 1.12 +++ storage.c 6 Apr 2005 11:52:39 -0000 1.13 @@ -77,13 +77,14 @@ * @brief: Appends a new note to the note storage according to the * information stored in p. */ -void +int append_note_stor(NoteStor * p) { char *target = malloc(PATH_MAX); char *title; char *string = get_value_from_notestor(p); FILE *fp; + int retval=0; title = get_title_by_content(p->content); sprintf(target, "%s/.e/apps/enotes/notes/%s", getenv("HOME"), title); @@ -93,6 +94,7 @@ if ((fp = fopen(target, "w")) != NULL) { fputs(string, fp); fclose(fp); + retval=1; } } else { fclose(fp); @@ -102,7 +104,7 @@ free(string); free(target); - return; + return(retval); } /** @@ -133,6 +135,7 @@ NoteStor *p; char *str = malloc(NOTE_LIMIT); char *fullstr = malloc(NOTE_LIMIT * 2); + Note *note; sprintf(fullstr, ""); if ((fp = fopen(target, "r")) != NULL) { @@ -140,9 +143,10 @@ sprintf(fullstr, "%s%s", fullstr, str); } if (strcmp("", fullstr)) - if ((p = get_notestor_from_value(fullstr)) != NULL) - new_note_with_values(p->x, p->y, p->width, - p->height, p->content); + if ((p = get_notestor_from_value(fullstr)) != NULL){ + note=new_note_with_values_return(p->x, p->y, p->width, p->height, p->content); + edje_object_signal_emit(note->edje,"enotes,loaded",""); + } } free(str); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- storage.h 27 Nov 2004 22:48:01 -0000 1.7 +++ storage.h 6 Apr 2005 11:52:39 -0000 1.8 @@ -46,7 +46,7 @@ void free_note_stor(NoteStor * p); /* One Shot Functions. :-) */ -void append_note_stor(NoteStor * p); +int append_note_stor(NoteStor * p); void append_autosave_note_stor(NoteStor * p); void remove_note_stor(NoteStor * p); void process_note_storage_locations(); |
From: <enl...@li...> - 2005-04-06 13:06:50
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/src Modified Files: note.c note.h saveload.c storage.c Log Message: Save Button on Notes in EDJE now supported :-D =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -3 -r1.46 -r1.47 --- note.c 6 Apr 2005 11:52:39 -0000 1.46 +++ note.c 6 Apr 2005 13:06:43 -0000 1.47 @@ -311,6 +311,7 @@ edje_object_signal_callback_add(p->edje, EDJE_SIGNAL_NOTE_MINIMISE, "", (void *) note_edje_minimise, *note); + edje_object_signal_callback_add(p->edje,EDJE_SIGNAL_NOTE_SAVE,"",(void*)note_edje_save,*note); /* Free Temporarily used Variables */ if (datestr != NULL) @@ -517,6 +518,18 @@ return; } +void +note_edje_save(Evas_List * note, Evas_Object * o, +const char *emission, const char *source){ + Note *p; + dml("Saving a Note",2); + p=evas_list_data(note); + + ewl_saveload_save_by_name(get_title_by_content(ewl_entry_text_get(p->content))); + + return; +} + /* Misc */ /** =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- note.h 6 Apr 2005 11:52:39 -0000 1.21 +++ note.h 6 Apr 2005 13:06:43 -0000 1.22 @@ -33,6 +33,7 @@ #define EDJE_SIGNAL_NOTE_CLOSE "ENOTES_QUIT" #define EDJE_SIGNAL_NOTE_MINIMISE "ENOTES_MINIMIZE" +#define EDJE_SIGNAL_NOTE_SAVE "ENOTES_SAVE" #define EDJE_CONTAINER "EnoteContainer" #define EDJE_TEXT_USER "EnoteUser" @@ -54,6 +55,9 @@ #define EDJE_INFO_FONTSIZE "EnoteInfoFontSize" #define EDJE_INFO_FONTSTYLE "EnoteInfoFontStyle" +#define NOTE_SAVED_SIGNAL "ENOTES,SAVED" +#define NOTE_LOADED_SIGNAL "ENOTES,LOADED" + #define COMPARE_INTERVAL 0.01 #define TITLE_LENGTH 20 @@ -121,6 +125,7 @@ const char *emission, const char *source); void note_edje_minimise(Evas_List * note, Evas_Object * o, const char *emission, const char *source); +void note_edje_save(Evas_List*note,Evas_Object*o,const char*emission,const char*source); /* Misc */ char *get_date_string(void); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- saveload.c 6 Apr 2005 11:52:39 -0000 1.19 +++ saveload.c 6 Apr 2005 13:06:43 -0000 1.20 @@ -255,6 +255,12 @@ return; } +void +ewl_saveload_save_by_name(char *p){ + saveload=p; + ewl_saveload_save(NULL,NULL,NULL); +} + /** * @param o: The widget which was clicked. We don't use this. * @param ev_data: The event data, we don't use this. @@ -291,7 +297,7 @@ if(append_note_stor(n)==1){ /* Animation or something */ - edje_object_signal_emit(note->edje,"enotes,saved",""); + edje_object_signal_emit(note->edje,NOTE_SAVED_SIGNAL,""); } free_note_stor(n); =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/storage.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- storage.c 6 Apr 2005 11:52:39 -0000 1.13 +++ storage.c 6 Apr 2005 13:06:43 -0000 1.14 @@ -145,7 +145,7 @@ if (strcmp("", fullstr)) if ((p = get_notestor_from_value(fullstr)) != NULL){ note=new_note_with_values_return(p->x, p->y, p->width, p->height, p->content); - edje_object_signal_emit(note->edje,"enotes,loaded",""); + edje_object_signal_emit(note->edje,NOTE_LOADED_SIGNAL,""); } } |
From: <enl...@li...> - 2005-04-06 14:03:45
|
Enlightenment CVS committal Author : fletch3k Project : misc Module : enotes Dir : misc/enotes/src Modified Files: note.c saveload.c saveload.h Log Message: Fix and slight tidyup =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/note.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- note.c 6 Apr 2005 13:06:43 -0000 1.47 +++ note.c 6 Apr 2005 14:03:27 -0000 1.48 @@ -525,7 +525,7 @@ dml("Saving a Note",2); p=evas_list_data(note); - ewl_saveload_save_by_name(get_title_by_content(ewl_entry_text_get(p->content))); + ewl_saveload_save_by_name(get_title_by_content(ewl_entry_text_get((Ewl_Entry*)p->content))); return; } =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- saveload.c 6 Apr 2005 13:06:43 -0000 1.20 +++ saveload.c 6 Apr 2005 14:03:28 -0000 1.21 @@ -101,18 +101,18 @@ /* EWL Callbacks */ ewl_callback_append(saveload->refreshbtn, EWL_CALLBACK_CLICKED, - (void *) ewl_saveload_revert, - (void *) saveload->tree); + ewl_saveload_revert, + saveload->tree); ewl_callback_append(saveload->closebtn, EWL_CALLBACK_CLICKED, - (void *) ewl_saveload_close, - (void *) saveload->win); + ewl_saveload_close, + saveload->win); ewl_callback_append(saveload->win, EWL_CALLBACK_DELETE_WINDOW, - (void *) ewl_saveload_close, - (void *) saveload->win); + ewl_saveload_close, + saveload->win); ewl_callback_append(saveload->savebtn, EWL_CALLBACK_CLICKED, - (void *) ewl_saveload_save, NULL); + ewl_saveload_save, NULL); ewl_callback_append(saveload->loadbtn, EWL_CALLBACK_CLICKED, - (void *) ewl_saveload_load, NULL); + ewl_saveload_load, NULL); return; } @@ -174,7 +174,7 @@ capt = (Ewl_Widget *) ewl_text_new(caption); ewl_callback_append(capt, EWL_CALLBACK_CLICKED, - (void *) ewl_saveload_listitem_click, NULL); + ewl_saveload_listitem_click, NULL); ewl_object_fill_policy_set((Ewl_Object *) capt, EWL_FLAG_FILL_ALL); ewl_widget_show(capt); d->saveload_row = @@ -195,8 +195,9 @@ * rebuild it from scratch. :) */ void -ewl_saveload_revert(Ewl_Widget * widget, void *ev_data, Ewl_Widget * p) +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); @@ -214,8 +215,9 @@ * callback which does the work. :) */ void -ewl_saveload_close(Ewl_Widget * o, void *ev_data, Ecore_Evas * ee) +ewl_saveload_close(Ewl_Widget * o, void *ev_data, void *ud) { + Ecore_Evas *ee=ud; ewl_widget_destroy(saveload->win); free(saveload); saveload = NULL; @@ -257,7 +259,7 @@ void ewl_saveload_save_by_name(char *p){ - saveload=p; + saveload_selected=p; ewl_saveload_save(NULL,NULL,NULL); } @@ -379,15 +381,15 @@ /* EWL Callbacks */ ewl_callback_append(load->refreshbtn, EWL_CALLBACK_CLICKED, - (void *) ewl_load_revert, (void *) load->tree); + ewl_load_revert, load->tree); ewl_callback_append(load->closebtn, EWL_CALLBACK_CLICKED, - (void *) ewl_load_close, (void *) load->win); + ewl_load_close, load->win); ewl_callback_append(load->win, EWL_CALLBACK_DELETE_WINDOW, - (void *) ewl_load_close, (void *) load->win); + ewl_load_close, load->win); ewl_callback_append(load->loadbtn, EWL_CALLBACK_CLICKED, - (void *) ewl_load_load, NULL); + ewl_load_load, NULL); ewl_callback_append(load->deletebtn, EWL_CALLBACK_CLICKED, - (void *) ewl_load_delete, NULL); + ewl_load_delete, NULL); return; } @@ -446,7 +448,7 @@ capt = ewl_text_new(caption); ewl_callback_append(capt, EWL_CALLBACK_CLICKED, - (void *) ewl_load_listitem_click, NULL); + ewl_load_listitem_click, NULL); ewl_widget_show(capt); ewl_tree_row_add((Ewl_Tree *) tree, 0, &capt); @@ -462,8 +464,9 @@ * rebuild it from scratch. :) */ void -ewl_load_revert(Ewl_Widget * widget, void *ev_data, Ewl_Widget * p) +ewl_load_revert(Ewl_Widget * widget, void *ev_data, void*ud) { + Ewl_Widget *p=ud; dml("Refreshing the Load Note List", 2); ewl_container_reset((Ewl_Container *) load->tree); fill_load_tree(); @@ -479,8 +482,9 @@ * callback which does the work. :) */ void -ewl_load_close(Ewl_Widget * o, void *ev_data, Ecore_Evas * ee) +ewl_load_close(Ewl_Widget * o, void *ev_data, void*ud) { + Ecore_Evas *ee=ud; ewl_widget_destroy(load->win); free(load); load = NULL; =================================================================== RCS file: /cvsroot/enlightenment/misc/enotes/src/saveload.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- saveload.h 9 Oct 2004 16:04:05 -0000 1.9 +++ saveload.h 6 Apr 2005 14:03:32 -0000 1.10 @@ -73,9 +73,9 @@ void setup_saveload_opt(Ewl_Widget * tree, char *caption, Evas_List * p); void ewl_saveload_revert(Ewl_Widget * widget, void *ev_data, - Ewl_Widget * p); + void *ud); void ewl_saveload_close(Ewl_Widget * o, void *ev_data, - Ecore_Evas * ee); + 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_listitem_click(Ewl_Widget * o, void *ev_data, @@ -89,8 +89,8 @@ void fill_load_tree(void); void setup_load_opt(Ewl_Widget * tree, char *caption); void ewl_load_revert(Ewl_Widget * widget, void *ev_data, - Ewl_Widget * p); -void ewl_load_close(Ewl_Widget * o, void *ev_data, Ecore_Evas * ee); + 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, |