HildonTouchSelector * selector = hildon_picker_button_get_selector((HildonPickerButton *) theme_button);
hildon_touch_selector_remove_column(selector, 0);
hildon_touch_selector_append_text_column(selector, gtk_list_store_new (1, G_TYPE_STRING), TRUE);
- fill_theme_button(priv, theme_button);
+ fill_theme_button(priv, theme_button, hildon_button_get_value(HILDON_BUTTON (picker)));
}
/********************************************************************************/
void
-fill_theme_button (Animation_WallpaperPrivate *priv, GtkWidget *button){
+fill_theme_button (Animation_WallpaperPrivate *priv, GtkWidget *button, gchar *category){
gchar *theme = priv->theme;
gint num=0;
+ if (!category)
+ return;
GSList *store = priv->extheme_list;
HildonTouchSelector * selector = hildon_picker_button_get_selector((HildonPickerButton *) button);
if (!selector)
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), _("Modern"));
- hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Matrix"));
- hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Accel"));
- hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Video"));
- fprintf(stderr, "append texx in selector\n");
- while (store){
- hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), g_hash_table_lookup(store->data, "name"));
- store = g_slist_next(store);
+
+ if (!strcmp(category, "LiveWallpaper")){
+ hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Berlin"));
+ hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Modern"));
+ hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Matrix"));
+ hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Accel"));
+ hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Video"));
+ num = 5;
}
-
- if (theme) {
+ if (theme)
if (!strcmp(theme, "Berlin")){
hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0);
hildon_button_set_value(HILDON_BUTTON(button), _("Berlin"));
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){
+
+ while (store){
+ if (!g_hash_table_lookup(store->data, "category"))
+ continue;
+ if (!strcmp(g_hash_table_lookup(store->data, "category"), category)){
+ hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), g_hash_table_lookup(store->data, "name"));
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);
}
+ store = g_slist_next(store);
}
+
+
hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
HILDON_TOUCH_SELECTOR (selector));
}
/********************************************************************************/
GtkWidget *
-create_themes_button (Animation_WallpaperPrivate *priv){
+create_themes_button (Animation_WallpaperPrivate *priv, gchar *category){
GtkWidget *button;
button = hildon_picker_button_new (HILDON_SIZE_AUTO, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
hildon_button_set_title (HILDON_BUTTON (button), _("Theme"));
- fill_theme_button(priv, button);
+ fill_theme_button(priv, button, category);
return button;
enable_button, TRUE, TRUE, 5);
/* Create Category button */
category_button = create_categories_button(priv);
+ g_object_set_data(G_OBJECT(window), "category_button", category_button);
g_signal_connect (G_OBJECT (category_button), "value-changed", G_CALLBACK (changed_value_category_cb), priv);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),
category_button, TRUE, TRUE, 5);
/* Create Theme button */
- theme_button = create_themes_button(priv);
+ theme_button = create_themes_button(priv,hildon_button_get_value(HILDON_BUTTON (category_button)));
g_object_set_data(G_OBJECT(window), "theme_button", theme_button);
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),