Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_includes.h Makefile.am e_int_config_theme.c 
        e_int_config_theme.h 
Added Files:
        e_int_config_theme_import.h e_int_config_theme_import.c 


Log Message:
Added theme import dialog :) Auto-sets to the imported theme.
Some cleanup on wallpaper import dialog.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_includes.h,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -3 -r1.124 -r1.125
--- e_includes.h        28 Aug 2006 11:22:27 -0000      1.124
+++ e_includes.h        1 Sep 2006 17:21:23 -0000       1.125
@@ -102,6 +102,7 @@
 #include "e_int_config_window_manipulation.h"
 #include "e_int_config_window_display.h"
 #include "e_int_config_theme.h"
+#include "e_int_config_theme_import.h"
 #include "e_int_config_icon_themes.h"
 #include "e_int_config_menus.h"
 #include "e_int_config_keybindings.h"
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/Makefile.am,v
retrieving revision 1.145
retrieving revision 1.146
diff -u -3 -r1.145 -r1.146
--- Makefile.am 28 Aug 2006 11:22:27 -0000      1.145
+++ Makefile.am 1 Sep 2006 17:21:23 -0000       1.146
@@ -129,6 +129,7 @@
 e_int_config_window_manipulation.h \
 e_int_config_window_display.h \
 e_int_config_theme.h \
+e_int_config_theme_import.h \
 e_int_config_icon_themes.h \
 e_int_config_menus.h \
 e_int_config_keybindings.h \
@@ -282,6 +283,7 @@
 e_int_config_window_manipulation.c \
 e_int_config_window_display.c \
 e_int_config_theme.c \
+e_int_config_theme_import.c \
 e_int_config_icon_themes.c \
 e_int_config_menus.c \
 e_int_config_keybindings.c \
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_theme.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- e_int_config_theme.c        1 Sep 2006 13:32:39 -0000       1.35
+++ e_int_config_theme.c        1 Sep 2006 17:21:23 -0000       1.36
@@ -22,6 +22,9 @@
    int fmdir;
    
    char *theme;
+   
+   /* Dialog */
+   E_Win *win_import;   
 };
 
 EAPI E_Config_Dialog *
@@ -44,6 +47,53 @@
    return cfd;
 }
 
+EAPI void
+e_int_config_theme_import_done(E_Config_Dialog *dia) 
+{
+   E_Config_Dialog_Data *cfdata;
+   
+   cfdata = dia->cfdata;
+   cfdata->win_import = NULL;
+}
+
+EAPI void
+e_int_config_theme_update(E_Config_Dialog *dia, char *file) 
+{
+   E_Config_Dialog_Data *cfdata;
+   char *homedir, path[4096];
+   
+   cfdata = dia->cfdata;
+
+   homedir = e_user_homedir_get();
+   if (!homedir) return;
+   cfdata->fmdir = 1;
+   e_widget_radio_toggle_set(cfdata->o_personal, 1);
+   
+   snprintf(path, sizeof(path), "%s/.e/e/themes", homedir);
+   E_FREE(homedir);
+   E_FREE(cfdata->theme);
+   cfdata->theme = strdup(file);
+
+   if (cfdata->o_fm)
+     e_fm2_path_set(cfdata->o_fm, path, "/");
+   
+   if (cfdata->o_preview)
+     e_widget_preview_edje_set(cfdata->o_preview, cfdata->theme, 
"e/desktop/background");
+   if (cfdata->o_frame)
+     e_widget_change(cfdata->o_frame);
+   
+/*   
+
+   if (cfdata->o_fm) 
+     {
+       e_fm2_select_set(cfdata->o_fm, file, 1);
+       e_fm2_file_show(cfdata->o_fm, file);
+
+       evas_object_smart_callback_call(cfdata->o_fm, 
+                                       "selection_change", cfdata);
+     }
+ */ 
+}
 
 static void
 _cb_button_up(void *data1, void *data2)
@@ -86,19 +136,24 @@
    E_Fm2_Icon_Info *ici;
    const char *realpath;
    char buf[4096];
-   
+
    cfdata = data;
    if (!cfdata->o_fm) return;
+
    selected = e_fm2_selected_list_get(cfdata->o_fm);
    if (!selected) return;
+
    ici = selected->data;
    realpath = e_fm2_real_path_get(cfdata->o_fm);
+   
    if (!strcmp(realpath, "/"))
      snprintf(buf, sizeof(buf), "/%s", ici->file);
    else
      snprintf(buf, sizeof(buf), "%s/%s", realpath, ici->file);
    evas_list_free(selected);
+
    if (ecore_file_is_dir(buf)) return;
+
    E_FREE(cfdata->theme);
    cfdata->theme = strdup(buf);
    if (cfdata->o_preview)
@@ -207,7 +262,17 @@
    evas_object_smart_callback_call(cfdata->o_fm, "selection_change", cfdata);
 }
 
-
+static void
+_cb_import(void *data1, void *data2) 
+{
+   E_Config_Dialog_Data *cfdata;
+   
+   cfdata = data1;
+   if (cfdata->win_import) 
+     e_win_raise(cfdata->win_import);
+   else
+     cfdata->win_import = e_int_config_theme_import(cfdata->cfd);
+}
 
 static void
 _fill_data(E_Config_Dialog_Data *cfdata)
@@ -264,6 +329,9 @@
 static void
 _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
 {
+   if (cfdata->win_import) 
+     e_int_config_theme_del(cfdata->win_import);
+   
    E_FREE(cfdata->theme);
    free(cfdata);
 }
@@ -356,6 +424,12 @@
    e_widget_table_object_append(ot, ol, 0, 0, 1, 1, 1, 1, 1, 1);
    
    of = e_widget_list_add(evas, 0, 0);
+
+   il = e_widget_list_add(evas, 0, 1);
+   o = e_widget_button_add(evas, _("Import..."), "enlightenment/theme",
+                          _cb_import, cfdata, NULL);
+   e_widget_list_object_append(il, o, 1, 0, 0.5);
+   e_widget_list_object_append(of, il, 1, 0, 0.0);
    
    o = e_widget_preview_add(evas, 320, (320 * z->h) / z->w);
    cfdata->o_preview = o;
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_theme.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_int_config_theme.h        19 Dec 2005 14:42:43 -0000      1.1
+++ e_int_config_theme.h        1 Sep 2006 17:21:23 -0000       1.2
@@ -7,6 +7,8 @@
 #define E_INT_CONFIG_THEME_H
 
 EAPI E_Config_Dialog *e_int_config_theme(E_Container *con);
+EAPI void             e_int_config_theme_import_done(E_Config_Dialog *dia);
+EAPI void             e_int_config_theme_update(E_Config_Dialog *dia, char 
*file);
 
 #endif
 #endif



-------------------------------------------------------------------------
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