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

Reply via email to