Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_apps.c e_eap_editor.c e_file_dialog.c e_file_selector.c 
        e_int_border_menu.c e_widget_fileman.c 


Log Message:
- file selector work (files can be selected using double click)
- eap editor bugs
- lets start using the built in eap editor and iron out bugs


===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_apps.c,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -3 -r1.98 -r1.99
--- e_apps.c    26 Oct 2005 20:35:05 -0000      1.98
+++ e_apps.c    31 Oct 2005 00:01:54 -0000      1.99
@@ -989,10 +989,7 @@
    eet_close(ef);
 }
 
-/* If we are saving a new non-existant .eap, we need to add more info
- * so edje can decompile it. Image saving doesnt work yet with newly
- * created eaps.
- * 
+/* 
  * We also need to fix startup-notify and wait-exit as they currently
  * dont save too.
  */
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_eap_editor.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- e_eap_editor.c      28 Oct 2005 23:37:13 -0000      1.8
+++ e_eap_editor.c      31 Oct 2005 00:01:54 -0000      1.9
@@ -40,7 +40,6 @@
 static void           _e_eap_edit_cancel_cb(void *data, E_Dialog *dia);
 static void           _e_eap_edit_browse_cb(void *data1, void *data2);
 static void           _e_eap_edit_free(E_App_Edit *app);
-static void           _e_eap_edit_selector_cb(E_Fileman *fileman, char *file, 
void *data);
 static void           _e_eap_edit_fill_data(E_App_Edit_CFData *cdfata);
 static void          *_e_eap_edit_create_data(E_Config_Dialog *cfd);
 static void           _e_eap_edit_free_data(E_Config_Dialog *cfd, void *data);
@@ -97,6 +96,8 @@
    IFDUP(cfdata->editor->eap->win_title, cfdata->wtitle);
    IFDUP(cfdata->editor->eap->win_role, cfdata->wrole);
    IFDUP(cfdata->editor->eap->path, cfdata->path);
+   cfdata->startup_notify = cfdata->editor->eap->startup_notify;
+   cfdata->wait_exit = cfdata->editor->eap->wait_exit;
 }
 
 static void *
@@ -139,9 +140,12 @@
    IFDUP(cfdata->exe, eap->exe);
    IFDUP(cfdata->image, eap->image);
    
+   eap->startup_notify = cfdata->startup_notify;
+   eap->wait_exit = cfdata->wait_exit;
+   
    e_app_fields_save(eap);
    
-    return -1;
+    return 1;
 }
 
 static int
@@ -166,12 +170,15 @@
    E_FREE(eap->win_role);
    E_FREE(eap->icon_class);
    E_FREE(eap->path);
-
+   
    if(cfdata->startup_notify)
      eap->startup_notify = 1;   
+   else eap->startup_notify = 0;
    if(cfdata->wait_exit)
      eap->wait_exit = 1;
-      
+   else eap->wait_exit = 0;
+
+   
    IFDUP(cfdata->generic, eap->generic);
    IFDUP(cfdata->comment, eap->comment);
    IFDUP(cfdata->wname, eap->win_name);
@@ -180,7 +187,9 @@
    IFDUP(cfdata->wrole, eap->win_role);
    IFDUP(cfdata->iclass, eap->icon_class);
    IFDUP(cfdata->path, eap->path);
-      
+
+
+   
    e_app_fields_save(eap);
    
    return 1;
@@ -200,7 +209,9 @@
    editor = cfdata->editor;
    eap = editor->eap;
    
-   ol = e_widget_list_add(evas, 0, 1);
+   //ol = e_widget_list_add(evas, 0, 1);
+   ol = e_widget_table_add(evas, _("Settings"), 0);
+   
    o = e_widget_frametable_add(evas, _("Icon"), 0);
    
    if(eap->path)
@@ -223,7 +234,9 @@
                                1, 1, 1, 1);
    
   
-   e_widget_list_object_append(ol, o, 1, 1, 0.5);
+   //e_widget_list_object_append(ol, o, 1, 1, 0.5);
+   e_widget_table_object_append(ol, o, 0, 0, 1, 1, 1 ,1, 1, 1);
+   
    
    o = e_widget_frametable_add(evas, _("Basic Info"), 0);
       
@@ -244,8 +257,9 @@
                                     1, 1, 1, 1,
                                     1, 1, 1, 1);   
    
-   e_widget_list_object_append(ol, o, 1, 1, 0.5);
-   
+   //e_widget_list_object_append(ol, o, 1, 1, 0.5);
+   e_widget_table_object_append(ol, o, 1, 0, 1, 1, 1 ,1, 1, 1);
+      
    return ol;
 }
 
@@ -262,7 +276,8 @@
    editor = cfdata->editor;
    eap = editor->eap;
    
-   ol = e_widget_table_add(evas, _("Advanced"), 0);
+   //ol = e_widget_table_add(evas, _("Advanced"), 0);
+   ol = _e_eap_edit_basic_create_widgets(cfd, evas, data);
    
    o = e_widget_frametable_add(evas, _("General"), 0);
 
@@ -283,7 +298,7 @@
                                1, 1, 1, 1,
                                1, 1, 1, 1);
    
-   e_widget_table_object_append(ol, o, 0, 0, 1, 1, 1 ,1, 1, 1);
+   e_widget_table_object_append(ol, o, 0, 1, 1, 1, 1 ,1, 1, 1);
    
    
    /*- window info -*/
@@ -320,7 +335,7 @@
                                1, 3, 1, 1,
                                1, 1, 1, 1);
    
-   e_widget_table_object_append(ol, o, 0, 1, 1, 1, 1 ,1, 1, 1);
+   e_widget_table_object_append(ol, o, 0, 2, 1, 1, 1 ,1, 1, 1);
    
    /*- icon info -*/
    
@@ -343,28 +358,22 @@
                                1, 1, 1, 1,
                                1, 1, 1, 1);   
       
-   e_widget_table_object_append(ol, o, 1, 0, 1, 1, 1 ,1, 1, 1);
+   e_widget_table_object_append(ol, o, 1, 1, 1, 1, 1 ,1, 1, 1);
    
    
    /*- misc info -*/
    
    o = e_widget_frametable_add(evas, _("Misc"), 0);     
    
-   e_widget_frametable_object_append(o, e_widget_label_add(evas, "Startup 
notify"),
-                               0, 0, 1, 1,
-                               1, 1, 1, 1);
-   e_widget_frametable_object_append(o, e_widget_check_add(evas, "", 
&(cfdata->startup_notify)),
-                               1, 0, 1, 1,
-                               1, 1, 1, 1);
+   e_widget_frametable_object_append(o, e_widget_check_add(evas, "Startup 
Notify", &(cfdata->startup_notify)),
+                                    0, 0, 1, 1,
+                                    1, 1, 1, 1);
    
-   e_widget_frametable_object_append(o, e_widget_label_add(evas, "Wait exit"),
-                               0, 1, 1, 1,
-                               1, 1, 1, 1);
-   e_widget_frametable_object_append(o, e_widget_check_add(evas, "", 
&(cfdata->wait_exit)),
-                               1, 1, 1, 1,
-                               1, 1, 1, 1);
+   e_widget_frametable_object_append(o, e_widget_check_add(evas, "Wait Exit", 
&(cfdata->wait_exit)),
+                                    0, 1, 1, 1,
+                                    1, 1, 1, 1);
    
-   e_widget_table_object_append(ol, o, 1, 1, 1, 1, 1 ,1, 1, 1);
+   e_widget_table_object_append(ol, o, 1, 2, 1, 1, 1 ,1, 1, 1);
       
    return ol;
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_file_dialog.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_file_dialog.c     28 Oct 2005 23:37:13 -0000      1.2
+++ e_file_dialog.c     31 Oct 2005 00:01:54 -0000      1.3
@@ -130,13 +130,12 @@
    
    printf("e_file_dialog: %s\n", file);
    
-   _e_file_dialog_free(dia);
 }
 
 static void
 _e_file_dialog_free(E_File_Dialog *dia)
 {
-   e_object_del(E_OBJECT(dia->dia));
+   e_object_unref(E_OBJECT(dia->dia));
    E_FREE(dia->file);
    free(dia);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_file_selector.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_file_selector.c   30 Oct 2005 08:40:37 -0000      1.2
+++ e_file_selector.c   31 Oct 2005 00:01:54 -0000      1.3
@@ -11,14 +11,13 @@
 #define SMART_NAME "e_fileselector"
 #define API_ENTRY E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); if 
((!obj) || (!sd) || (evas_object_type_get(obj) && 
strcmp(evas_object_type_get(obj), SMART_NAME)))
 #define INTERNAL_ENTRY E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); 
if (!sd) return;
-#define THEME_SET(OBJ, GROUP) e_theme_edje_object_set(OBJ, 
"base/theme/widgets/fileselector", "widgets/fileselector/"GROUP)
 
 typedef struct _E_Smart_Data E_Smart_Data;
 
 struct _E_Smart_Data
 { 
    Evas_Object   *parent;
-   Evas_Object   *theme; /* theme object */
+   Evas_Object   *frame; /* scrollframe object */
    Evas_Object   *files; /* file view object */
 
    int            view;  /* view type, icons, list */
@@ -41,6 +40,11 @@
 static void _e_smart_clip_unset(Evas_Object *obj);
 static void _e_smart_init(void);
 static void _e_file_selector_selected_cb(Evas_Object *obj, char *file, void 
*data);
+static void _e_file_selector_scroll_set(Evas_Object *obj, Evas_Coord x, 
Evas_Coord y);
+static void _e_file_selector_scroll_get(Evas_Object *obj, Evas_Coord *x, 
Evas_Coord *y);
+static void _e_file_selector_scroll_max_get(Evas_Object *obj, Evas_Coord *x, 
Evas_Coord *y);
+static void _e_file_selector_scroll_child_size_get(Evas_Object *obj, 
Evas_Coord *x, Evas_Coord *y);
+
 
 /* local subsystem globals */
 static Evas_Smart *_e_smart = NULL;
@@ -83,6 +87,31 @@
    sd->func_data = data;
 }
 
+static void
+_e_file_selector_scroll_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
+{
+   e_fm_scroll_set(obj, x, y);
+}
+
+static void 
+_e_file_selector_scroll_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y)
+{
+   e_fm_scroll_get(obj, x, y);
+}
+
+static void
+_e_file_selector_scroll_max_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y)
+{
+   e_fm_scroll_max_get(obj, x, y);
+}
+
+static void
+  _e_file_selector_scroll_child_size_get(Evas_Object *obj, Evas_Coord *x, 
Evas_Coord *y)
+{
+   e_fm_geometry_virtual_get(obj, x, y);
+}
+
+
 /* local subsystem functions */
 static void
 _e_smart_add(Evas_Object *obj)
@@ -102,21 +131,23 @@
    sd->view = E_FILE_SELECTOR_ICONVIEW;
    
    evas = evas_object_evas_get(obj);   
-//   sd->theme = edje_object_add(evas);
-   sd->theme = e_scrollframe_add(evas);   
-   evas_object_smart_member_add(sd->theme, obj);   
-//   THEME_SET(sd->theme, "main");
+
+   sd->frame = e_scrollframe_add(evas);   
+   evas_object_smart_member_add(sd->frame, obj);      
       
    sd->files = e_fm_add(evas);
    e_fm_selector_enable(sd->files, _e_file_selector_selected_cb, sd);
    evas_object_smart_member_add(sd->files, obj);
 
-   //edje_object_part_swallow(sd->theme, "items", sd->files);
-    e_scrollframe_child_set(sd->theme, sd->files);
+   e_scrollframe_extern_pan_set(sd->frame, sd->files,
+                               _e_file_selector_scroll_set,
+                               _e_file_selector_scroll_get,
+                               _e_file_selector_scroll_max_get,
+                               _e_file_selector_scroll_child_size_get);
    
    evas_object_smart_data_set(obj, sd);
    
-   evas_object_show(sd->theme);
+   evas_object_show(sd->frame);
 }
 
 static void
@@ -124,7 +155,7 @@
 {
    INTERNAL_ENTRY;
  
-   evas_object_del(sd->theme);
+   evas_object_del(sd->frame);
    evas_object_del(sd->files);
    
    free(sd);
@@ -136,7 +167,7 @@
    INTERNAL_ENTRY;
    sd->x = x;
    sd->y = y;
-   evas_object_move(sd->theme, x, y);
+   evas_object_move(sd->frame, x, y);
 }
 
 static void
@@ -145,42 +176,42 @@
    INTERNAL_ENTRY;
    sd->w = w;
    sd->h = h;
-   evas_object_resize(sd->theme, w, h);
+   evas_object_resize(sd->frame, w, h);
 }
 
 static void
 _e_smart_show(Evas_Object *obj)
 {
    INTERNAL_ENTRY;
-   evas_object_show(sd->theme);
+   evas_object_show(sd->frame);
 }
 
 static void
 _e_smart_hide(Evas_Object *obj)
 {
    INTERNAL_ENTRY;
-   evas_object_hide(sd->theme);
+   evas_object_hide(sd->frame);
 }
 
 static void
 _e_smart_color_set(Evas_Object *obj, int r, int g, int b, int a)
 {
    INTERNAL_ENTRY;
-   evas_object_color_set(sd->theme, r, g, b, a);
+   evas_object_color_set(sd->frame, r, g, b, a);
 }
 
 static void
 _e_smart_clip_set(Evas_Object *obj, Evas_Object *clip)
 {
    INTERNAL_ENTRY;
-   evas_object_clip_set(sd->theme, clip);
+   evas_object_clip_set(sd->frame, clip);
 }
 
 static void
 _e_smart_clip_unset(Evas_Object *obj)
 {
    INTERNAL_ENTRY;
-   evas_object_clip_unset(sd->theme);
+   evas_object_clip_unset(sd->frame);
 }  
 
 static void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_border_menu.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_int_border_menu.c 30 Oct 2005 11:05:57 -0000      1.1
+++ e_int_border_menu.c 31 Oct 2005 00:01:54 -0000      1.2
@@ -208,6 +208,7 @@
          }
        else if (bd->client.icccm.class) /* icons with no class useless to 
borders */
          {
+#if 0       
             static char buf[PATH_MAX + 50];
             char *name, *homedir;
             int i, l;
@@ -229,9 +230,10 @@
                      bd->client.icccm.class, homedir, name);
             free(homedir);
             free(name);
+#endif      
             mi = e_menu_item_new(m);
             e_menu_item_label_set(mi, _("Create Icon"));
-            e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, buf);
+            e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, 
strdup(bd->client.icccm.class));
          }
      }
 
@@ -399,6 +401,40 @@
 static void
 _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi)
 {
+  E_App *a;
+
+   if(ecore_file_exists(data))
+     {
+       a = e_app_new(data, 0);
+     }
+   else
+     {
+       static char buf[PATH_MAX + 50];
+       char *name, *homedir;
+       int i, l;
+
+       buf[0] = '\0';
+       /* generate a reasonable file name from the window class */
+       /* FIXME - I think there could be duplicates - how better to do this? */
+       name = strdup(data);
+       l = strlen(name);
+       for (i = 0; i < l; i++)
+         {
+                 if (name[i] == ' ') name[i] = '_';
+              }
+       /* previously this could be null, but it will exist now */
+       homedir = e_user_homedir_get();
+       
+       snprintf(buf, sizeof(buf), "%s/.e/e/applications/all/%s.eap",
+                homedir, name);
+       free(homedir);
+       free(name);
+       a = e_app_empty_new(buf);
+       a->win_class = strdup(data);
+       free(data);
+     }
+   e_eap_edit_show(m->zone->container, a);
+#if 0   
    char *file;
    char *command;
    char *full;
@@ -415,6 +451,7 @@
                           _("Error starting icon editor\n\n"
                             "please install e_util_eapp_edit\n"
                             "or make sure it is in your PATH\n"));
+#endif   
 }
 
 static void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_widget_fileman.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_widget_fileman.c  28 Oct 2005 23:37:14 -0000      1.3
+++ e_widget_fileman.c  31 Oct 2005 00:01:54 -0000      1.4
@@ -57,7 +57,7 @@
    snprintf(*(wd->valptr), size, "%s", file);
 #endif   
    if(wd->select_func)
-     wd->select_func(wd->wid, file, wd->select_data);
+     wd->select_func(wd->wid, strdup(file), wd->select_data);
    
    
    printf("e_widget_fileman: %s\n", file);




-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to