Enlightenment CVS committal Author : urandom Project : e17 Module : proto
Dir : e17/proto/edje_viewer/src/bin Modified Files: Makefile.am edje_etk.c edje_viewer.h etk_gui.c etk_gui.h main.c Log Message: ecore_config has been mastered. and it brings an "open recent" menu =================================================================== RCS file: /cvs/e/e17/proto/edje_viewer/src/bin/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 17 Jun 2006 23:31:39 -0000 1.1 +++ Makefile.am 2 Jul 2006 21:15:03 -0000 1.2 @@ -9,10 +9,10 @@ bin_PROGRAMS = edje_viewer edje_viewer_INCLUDES = \ -edje_viewer.h edje_etk.h etk_gui.h +edje_viewer.h edje_etk.h etk_gui.h conf.h edje_viewer_SOURCES = \ -edje_etk.c etk_gui.c main.c \ -$(edje_etk_INCLUDES) +edje_etk.c etk_gui.c main.c conf.c \ +$(edje_viewer_INCLUDES) edje_viewer_LDADD = @my_libs@ =================================================================== RCS file: /cvs/e/e17/proto/edje_viewer/src/bin/edje_etk.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- edje_etk.c 27 Jun 2006 20:52:06 -0000 1.4 +++ edje_etk.c 2 Jul 2006 21:15:03 -0000 1.5 @@ -151,6 +151,7 @@ etk_tree_row_data_set(row, de); } edje_file_collection_list_free(entries); + edje_viewer_config_recent_set(file); } } =================================================================== RCS file: /cvs/e/e17/proto/edje_viewer/src/bin/edje_viewer.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- edje_viewer.h 17 Jun 2006 23:31:39 -0000 1.1 +++ edje_viewer.h 2 Jul 2006 21:15:03 -0000 1.2 @@ -14,6 +14,7 @@ #include <Ecore_Fb.h> #endif #include <Ecore_Evas.h> +#include <Ecore_Config.h> #include <Eet.h> #include <Edje.h> #include <etk/Etk.h> @@ -34,6 +35,7 @@ #include "edje_etk.h" #include "etk_gui.h" +#include "conf.h" #define DAT PACKAGE_DATA_DIR"/" #endif =================================================================== RCS file: /cvs/e/e17/proto/edje_viewer/src/bin/etk_gui.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- etk_gui.c 27 Jun 2006 20:52:06 -0000 1.5 +++ etk_gui.c 2 Jul 2006 21:15:03 -0000 1.6 @@ -8,6 +8,8 @@ Etk_Menu_Shell *menu_shell); static Etk_Widget *_gui_menu_stock_item_new(Gui *gui, const char *label, Etk_Stock_Id stock_id, Etk_Menu_Shell *menu_shell); +static Etk_Widget *_gui_menu_item_new(Gui *gui, const char *label, + Etk_Menu_Shell *menu_shell); static void _gui_menu_item_selected_cb(Etk_Object *obj, void *data); static void _gui_menu_item_deselected_cb(Etk_Object *obj, void *data); static void _gui_menu_item_clicked_cb(Etk_Object *obj, void *data); @@ -34,6 +36,10 @@ Etk_Widget *signal_label, *signal_entry; Etk_Widget *source_label, *source_entry; Etk_Widget *send_button; + Etk_Widget *separator; + + int count, i; + const char *recent; gui = calloc(1, sizeof(Gui)); gui->win = etk_window_new(); @@ -54,9 +60,26 @@ etk_menu_item_submenu_set(ETK_MENU_ITEM(menuitem), ETK_MENU(menu)); _gui_menu_stock_item_new(gui, _("Open"), ETK_STOCK_DOCUMENT_OPEN, ETK_MENU_SHELL(menu)); + menuitem = _gui_menu_stock_item_new(gui, _("Open recent"), + ETK_STOCK_DOCUMENT_OPEN, ETK_MENU_SHELL(menu)); + separator = etk_menu_item_separator_new(); + etk_menu_shell_append(ETK_MENU_SHELL(menu), ETK_MENU_ITEM(separator)); _gui_menu_stock_item_new(gui, _("Quit"), ETK_STOCK_DIALOG_CLOSE, ETK_MENU_SHELL(menu)); + /* Recent submenu */ + menu = etk_menu_new(); + etk_menu_item_submenu_set(ETK_MENU_ITEM(menuitem), ETK_MENU(menu)); + count = edje_viewer_config_count_get(); + for (i = 0; i < count; i++) + { + recent = edje_viewer_config_recent_get(i+1); + _gui_menu_stock_item_new(gui, recent, ETK_STOCK_X_OFFICE_DOCUMENT, + ETK_MENU_SHELL(menu)); + } + if (count == 0) + _gui_menu_item_new(gui, _("No recent files"), ETK_MENU_SHELL(menu)); + paned = etk_hpaned_new(); vpaned = etk_vpaned_new(); etk_box_pack_start(ETK_BOX(vbox), vpaned, ETK_TRUE, ETK_TRUE, 0); @@ -107,7 +130,7 @@ gui->source_entry = source_entry; send_button = etk_button_new_with_label("Send"); - etk_button_alignment_set(send_button, 1, 0.5); + etk_button_alignment_set(ETK_BUTTON(send_button), 1.0, 0.5); etk_box_pack_end(ETK_BOX(hbox), send_button, ETK_FALSE, ETK_FALSE, 0); etk_signal_connect("clicked", ETK_OBJECT(send_button), ETK_CALLBACK(_gui_send_clicked_cb), gui); @@ -170,6 +193,28 @@ } +static Etk_Widget *_gui_menu_item_new(Gui *gui, const char *label, + Etk_Menu_Shell *menu_shell) +{ + Etk_Widget *menu_item; + + if (!menu_shell) + return NULL; + + menu_item = etk_menu_item_new_with_label(label); + etk_menu_shell_append(menu_shell, ETK_MENU_ITEM(menu_item)); + + etk_signal_connect("selected", ETK_OBJECT(menu_item), + ETK_CALLBACK(_gui_menu_item_selected_cb), gui); + etk_signal_connect("deselected", ETK_OBJECT(menu_item), + ETK_CALLBACK(_gui_menu_item_deselected_cb), gui); + etk_signal_connect("activated", ETK_OBJECT(menu_item), + ETK_CALLBACK(_gui_menu_item_clicked_cb), gui); + + return menu_item; + +} + static void _gui_menu_item_selected_cb(Etk_Object *obj, void *data) { Etk_Menu_Item *item; @@ -196,15 +241,21 @@ { Etk_Menu_Item *item; Gui *gui; + const char *label; if (!(item = ETK_MENU_ITEM(obj))) return; if (!(gui = data)) return; - if (!strcmp(etk_menu_item_label_get(item), "Quit")) + label = etk_menu_item_label_get(item); + + if (!strcmp(label, "Quit")) _gui_main_window_deleted_cb(NULL); - else if (!strcmp(etk_menu_item_label_get(item), "Open")) + else if (!strcmp(label, "Open")) _gui_open_edje_file_cb(gui); + else if (strstr(label, ".edj")) + list_entries(label, ETK_TREE(gui->tree), ETK_TREE(gui->output), + ETK_CANVAS(gui->canvas)); } static Etk_Bool _gui_main_window_deleted_cb(void *data) @@ -264,12 +315,12 @@ ETK_FILECHOOSER_WIDGET(gui->fm_chooser)); file = etk_filechooser_widget_selected_file_get( ETK_FILECHOOSER_WIDGET(gui->fm_chooser)); - gui->file = strdup(dir); - gui->file = strcat(gui->file, "/"); - gui->file = strcat(gui->file, file); - free(dir); - free(file); - list_entries(gui->file, ETK_TREE(gui->tree), ETK_TREE(gui->output), + gui->path = strdup(dir); + gui->path = strcat(gui->path, "/"); + gui->path = strcat(gui->path, file); + free((char *)dir); + free((char *)file); + list_entries(gui->path, ETK_TREE(gui->tree), ETK_TREE(gui->output), ETK_CANVAS(gui->canvas)); etk_window_hide_on_delete(ETK_OBJECT(gui->fm_dialog), NULL); } =================================================================== RCS file: /cvs/e/e17/proto/edje_viewer/src/bin/etk_gui.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_gui.h 27 Jun 2006 20:52:06 -0000 1.3 +++ etk_gui.h 2 Jul 2006 21:15:03 -0000 1.4 @@ -17,7 +17,7 @@ Etk_Widget *fm_dialog; Etk_Widget *fm_chooser; - char *file; + char *path; }; void main_window_show(char *file); =================================================================== RCS file: /cvs/e/e17/proto/edje_viewer/src/bin/main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- main.c 17 Jun 2006 23:31:39 -0000 1.1 +++ main.c 2 Jul 2006 21:15:03 -0000 1.2 @@ -12,10 +12,13 @@ return 0; }; + edje_viewer_config_init(); + if (argc == 2) main_window_show(argv[1]); else main_window_show(NULL); etk_main(); + edje_viewer_config_shutdown(); etk_shutdown(); return 0; Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs