Tizen 2.1 release
[platform/core/uifw/e17.git] / src / modules / conf_wallpaper2 / e_mod_main.c
1 #include "e.h"
2 #include "e_mod_main.h"
3
4 /* actual module specifics */
5 static void  _e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi);
6 static void  _e_mod_menu_add(void *data, E_Menu *m);
7
8 static E_Module *conf_module = NULL;
9 static E_Int_Menu_Augmentation *maug = NULL;
10 //static E_Fm2_Mime_Handler *import_hdl = NULL;
11
12 /* module setup */
13 EAPI E_Module_Api e_modapi =
14 {
15    E_MODULE_API_VERSION,
16      "Settings - Wallpaper 2"
17 };
18
19 EAPI void *
20 e_modapi_init(E_Module *m)
21 {
22    e_configure_registry_category_add("appearance", 10, _("Look"), NULL, "preferences-look");
23    e_configure_registry_item_add("appearance/wallpaper2", 10, _("Wallpaper 2"), NULL, "preferences-desktop-wallpaper", wp_conf_show);
24    e_configure_registry_category_add("internal", -1, _("Internal"), NULL, "enlightenment/internal");
25 //   e_configure_registry_item_add("internal/wallpaper_desk", -1, _("Wallpaper 2"), NULL, "preferences-system-windows", e_int_config_wallpaper_desk);
26    maug = e_int_menus_menu_augmentation_add_sorted
27      ("config/1", _("Wallpaper 2"), _e_mod_menu_add, NULL, NULL, NULL);
28
29 //   import_hdl = e_fm2_mime_handler_new(_("Set As Background 2"), "preferences-desktop-wallpaper",
30 //                                     e_int_config_wallpaper_handler_set, NULL,
31 //                                     e_int_config_wallpaper_handler_test, NULL);
32 //   if (import_hdl)
33 //     {
34 //      e_fm2_mime_handler_mime_add(import_hdl, "image/png");
35 //      e_fm2_mime_handler_mime_add(import_hdl, "image/jpeg");
36 //     }
37
38    conf_module = m;
39    e_module_delayed_set(m, 1);
40    return m;
41 }
42
43 EAPI int
44 e_modapi_shutdown(E_Module *m __UNUSED__)
45 {
46 //   E_Config_Dialog *cfd;
47    /* remove module-supplied menu additions */
48    if (maug)
49      {
50         e_int_menus_menu_augmentation_del("config/1", maug);
51         maug = NULL;
52      }
53 //   while ((cfd = e_config_dialog_get("E", "_config_wallpaper_dialog")))
54 //     e_object_del(E_OBJECT(cfd));
55 //   e_configure_registry_item_del("internal/wallpaper_desk");
56    e_configure_registry_category_del("internal");
57    e_configure_registry_item_del("appearance/wallpaper2");
58    e_configure_registry_category_del("appearance");
59
60 //   if (import_hdl)
61 //     {
62 //      e_fm2_mime_handler_mime_del(import_hdl, "image/png");
63 //      e_fm2_mime_handler_mime_del(import_hdl, "image/jpeg");
64 //      e_fm2_mime_handler_free(import_hdl);
65 //     }
66
67    conf_module = NULL;
68    return 1;
69 }
70
71 EAPI int
72 e_modapi_save(E_Module *m __UNUSED__)
73 {
74    return 1;
75 }
76
77 /* menu item callback(s) */
78 static void
79 _e_mod_run_cb(void *data __UNUSED__, E_Menu *m, E_Menu_Item *mi __UNUSED__)
80 {
81    e_configure_registry_call("appearance/wallpaper2", m->zone->container, NULL);
82 }
83
84 /* menu item add hook */
85 static void
86 _e_mod_menu_add(void *data __UNUSED__, E_Menu *m)
87 {
88    E_Menu_Item *mi;
89
90    mi = e_menu_item_new(m);
91    e_menu_item_label_set(mi, _("Wallpaper 2"));
92    e_util_menu_item_theme_icon_set(mi, "preferences-desktop-wallpaper");
93    e_menu_item_callback_set(mi, _e_mod_run_cb, NULL);
94 }