diff --git a/src/modules/conf_theme/e_int_config_theme.c b/src/modules/conf_theme/e_int_config_theme.c
index d69abaab3..57e7e9370 100644
--- a/src/modules/conf_theme/e_int_config_theme.c
+++ b/src/modules/conf_theme/e_int_config_theme.c
@@ -515,6 +515,30 @@ _cb_files_files_deleted(void *data, Evas_Object *obj EINA_UNUSED, void *event_in
evas_object_smart_callback_call(cfdata->o_fm, "selection_change", cfdata);
}
+static void
+_cb_import_online(void *data1 EINA_UNUSED, void *data2 EINA_UNUSED)
+{
+ Efreet_Desktop *desktop;
+ E_Zone *zone;
+
+ desktop = efreet_util_desktop_file_id_find("extra.desktop");
+ if (!desktop)
+ {
+ e_util_dialog_internal
+ (_("Missing Application"),
+ _("This module wants to execute an external application "
+ "that does not exist."
+ "Please install extra application."
+ "https://git.enlightenment.org/apps/extra.git/"));
+ return;
+ }
+
+ zone = e_zone_current_get();
+
+ e_exec(zone, desktop, NULL, NULL, "extra/app");
+ efreet_desktop_free(desktop);
+}
+
static void
_cb_import(void *data1, void *data2 EINA_UNUSED)
{
@@ -742,6 +766,14 @@ _basic_create_widgets(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dia
o = e_widget_button_add(evas, _(" Import..."), "preferences-desktop-theme",
_cb_import, cfdata, NULL);
e_widget_list_object_append(il, o, 1, 0, 0.5);
+
+ if (efreet_util_desktop_file_id_find("extra.desktop"))
+ {
+ o = e_widget_button_add(evas, _(" Import Online..."), "preferences-desktop-theme",
+ _cb_import_online, NULL, NULL);
+ e_widget_list_object_append(il, o, 1, 0, 0.5);
+ }
+
o = e_widget_check_add(evas, _("Show startup splash"), &cfdata->show_splash);
e_widget_list_object_append(il, o, 1, 0, 0.5);
e_widget_list_object_append(of, il, 1, 0, 0.0);
diff --git a/src/modules/conf_theme/e_int_config_wallpaper.c b/src/modules/conf_theme/e_int_config_wallpaper.c
index 462e64fb3..288a7cfd6 100644
--- a/src/modules/conf_theme/e_int_config_wallpaper.c
+++ b/src/modules/conf_theme/e_int_config_wallpaper.c
@@ -305,6 +305,30 @@ _cb_import_del(void *data)
cfdata->win_import = NULL;
}
+static void
+_cb_import_online(void *data1 EINA_UNUSED, void *data2 EINA_UNUSED)
+{
+ Efreet_Desktop *desktop;
+ E_Zone *zone;
+
+ desktop = efreet_util_desktop_file_id_find("extra.desktop");
+ if (!desktop)
+ {
+ e_util_dialog_internal
+ (_("Missing Application"),
+ _("This module wants to execute an external application "
+ "that does not exist."
+ "Please install extra application."
+ "https://git.enlightenment.org/apps/extra.git/"));
+ return;
+ }
+
+ zone = e_zone_current_get();
+
+ e_exec(zone, desktop, NULL, NULL, "extra/app");
+ efreet_desktop_free(desktop);
+}
+
static void
_cb_import(void *data1, void *data2 EINA_UNUSED)
{
@@ -468,6 +492,13 @@ _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data
_cb_import, cfdata, NULL);
e_widget_table_object_append(ot, ow, 0, 1, 1, 1, 1, 0, 0, 0);
+ if (efreet_util_desktop_file_id_find("extra.desktop"))
+ {
+ ow = e_widget_button_add(evas, _("Import Online..."), "preferences-desktop-theme",
+ _cb_import_online, NULL, NULL);
+ e_widget_table_object_append(ot, ow, 1, 1, 1, 1, 1, 0, 0, 0);
+ }
+
mw = 320;
mh = (320 * zone->h) / zone->w;
oa = e_widget_aspect_add(evas, mw, mh);