}
/*******************************************************************************/
GtkWidget *
-create_theme_selector (void){
+create_theme_selector (Animation_WallpaperPrivate *priv){
GtkWidget *selector;
- GSList * store = get_list_exthemes();
-
+ GSList *store = priv->extheme_list;
selector = hildon_touch_selector_new_text ();
hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Berlin"));
hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), g_hash_table_lookup(store->data, "name"));
store = g_slist_next(store);
}
-
return selector;
}
/*******************************************************************************/
GtkWidget *button;
Animation_WallpaperPrivate *priv = g_new0(Animation_WallpaperPrivate, 1);
+ /* Add external themes to priv */
+ priv->extheme_list = get_list_exthemes();
+
priv->view = view;
priv->theme_string_parametr1 = NULL;
priv->dbus_conn_session = conn_sess;
/********************************************************************************/
GtkWidget *
-create_themes_button (gchar *theme){
+create_themes_button (Animation_WallpaperPrivate *priv){
GtkWidget *button;
GtkWidget *selector;
+ gchar *theme = priv->theme;
+ gint num=0;
- selector = create_theme_selector();
+ selector = create_theme_selector(priv);
button = hildon_picker_button_new (HILDON_SIZE_AUTO, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
hildon_button_set_title (HILDON_BUTTON (button), _("Theme"));
hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 4);
hildon_button_set_value(HILDON_BUTTON(button), _("Video"));
}
+ num = 5;
+ GSList *store = priv->extheme_list;
+ while (store){
+ if (!strcmp(theme, g_hash_table_lookup(store->data, "name"))){
+ hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, num);
+ hildon_button_set_value(HILDON_BUTTON(button), _(g_hash_table_lookup(store->data, "name")));
+ break;
+ }
+ num++;
+ store = g_slist_next(store);
+ }
}
return button;
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),
enable_button, TRUE, TRUE, 5);
/* Create Theme button */
- theme_button = create_themes_button(priv->theme);
+ theme_button = create_themes_button(priv);
g_signal_connect (G_OBJECT (theme_button), "value-changed", G_CALLBACK (changed_value_theme_cb), priv);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),
theme_button, TRUE, TRUE, 5);
if (priv->theme)
g_free(priv->theme);
-
if (!strcmp(hildon_button_get_value(HILDON_BUTTON (theme_button)), _("Berlin")))
priv->theme = g_strdup("Berlin");
if (!strcmp(hildon_button_get_value(HILDON_BUTTON (theme_button)), _("Modern")))
priv->theme_string_parametr1 = g_strdup((gchar*)hildon_button_get_value (HILDON_BUTTON(button1)));
}
}
+ /* Check external themes */
+ GSList *store = priv->extheme_list;
+ while (store){
+ if (!strcmp(hildon_button_get_value(HILDON_BUTTON (theme_button)), _(g_hash_table_lookup(store->data, "name")))){
+ priv->theme = g_strdup(g_hash_table_lookup(store->data, "name"));
+ break;
+ }
+ store = g_slist_next(store);
+ }
}