+create_image_button (gint view, DBusConnection *conn_sess){
+ GtkWidget *event_box;
+
+ 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;
+ read_config(priv);
+
+ event_box = gtk_event_box_new();
+ g_object_set_data(G_OBJECT(event_box), "view", GINT_TO_POINTER(view));
+ g_object_set_data(G_OBJECT(event_box), "priv", priv);
+ set_button_image(event_box, priv, check_applet_state(view));
+ g_signal_connect(G_OBJECT (event_box), "button_press_event", G_CALLBACK(theme_button_clicked), priv);
+ return event_box;
+#if 0
+ button = hildon_button_new(HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
+ HILDON_BUTTON_ARRANGEMENT_VERTICAL);
+ g_object_set_data(G_OBJECT(button), "view", GINT_TO_POINTER(view));
+ g_object_set_data(G_OBJECT(button), "priv", priv);
+ set_button_image(button, priv, check_applet_state(view));
+ g_signal_connect(button, "clicked", G_CALLBACK(theme_button_clicked), priv);
+ hildon_button_set_image_position (HILDON_BUTTON (button), GTK_POS_RIGHT);
+ return button;
+#endif
+}
+/********************************************************************************/
+void
+changed_value_one_in_all_cb (GtkWidget *toggle, Animation_WallpaperPrivate *priv)
+{
+ priv->one_in_all_view = hildon_check_button_get_active((HildonCheckButton *)toggle);
+ create_themes_buttons_hbox(priv);
+ fprintf(stderr, "changed_value_one_in_all_cb\n");
+}
+/********************************************************************************/
+void
+changed_value_theme_cb (HildonPickerButton *picker, Animation_WallpaperPrivate *priv)
+{
+ const gchar *choice = hildon_button_get_value(HILDON_BUTTON (picker));
+ GtkWidget *vbox = NULL;
+ GtkWidget *area_vbox = NULL;
+
+ area_vbox = g_object_get_data(G_OBJECT(priv->window), "area_vbox");
+ if (!area_vbox)
+ return;
+ vbox = g_object_get_data(G_OBJECT(priv->window), "custom_vbox");
+ if (vbox){
+ gtk_widget_destroy(vbox);
+ }
+ vbox = gtk_vbox_new (TRUE, 5);
+ g_object_set_data(G_OBJECT(priv->window), "custom_vbox", vbox);
+ gtk_box_pack_start(GTK_BOX(area_vbox),
+ vbox, FALSE, FALSE, 5);
+ if (choice) {
+ if (!strcmp(choice, _("Berlin"))){
+ rich_animation_additional_parametr(vbox,priv);
+ }
+ if (!strcmp(choice, _("Modern"))){
+ rich_animation_additional_parametr(vbox,priv);
+ }
+ if (!strcmp(choice, _("Matrix"))){
+ rich_animation_additional_parametr(vbox,priv);
+ }
+
+ if (!strcmp(choice, _("Accel"))){
+ rich_animation_additional_parametr(vbox,priv);
+ }
+ if (!strcmp(choice, _("Video"))){
+ additional_parametr_for_theme_video(vbox, priv);
+ }
+ }
+ gtk_widget_show(vbox);
+}
+/********************************************************************************/
+void
+changed_value_category_cb (HildonPickerButton *picker, Animation_WallpaperPrivate *priv)
+{
+ GtkWidget *theme_button = NULL;
+ const gchar *choice = hildon_button_get_value(HILDON_BUTTON (picker));
+
+ theme_button = g_object_get_data(G_OBJECT(priv->window), "theme_button");
+ if (!theme_button)
+ return;
+ HildonTouchSelector * selector = hildon_picker_button_get_selector((HildonPickerButton *) theme_button);
+ hildon_touch_selector_remove_column(selector, 0);
+ hildon_touch_selector_append_text_column(selector, (GtkTreeModel*)gtk_list_store_new (1, G_TYPE_STRING), TRUE);
+ fill_theme_button(priv, theme_button, (gchar *)hildon_button_get_value(HILDON_BUTTON (picker)));
+ /* check xscreensaver category */
+ if (choice){
+ if (!strcmp(choice,"Xscreensaver"))
+ if (access("/usr/bin/xscreensaver", F_OK) != 0){
+ show_problem_package((GtkWidget *)picker, "Xscreensaver");
+ }
+
+ }
+}
+/********************************************************************************/
+void
+fill_theme_button (Animation_WallpaperPrivate *priv, GtkWidget *button, gchar *category){
+
+ gchar *theme = priv->theme;
+ gboolean flag = False;
+ gint num=0;
+ hildon_button_set_value(HILDON_BUTTON (button), NULL);
+ if (!category){
+ changed_value_theme_cb(HILDON_PICKER_BUTTON (button), priv);
+ return;
+ }
+ GSList *store = priv->extheme_list;
+ HildonTouchSelector * selector = hildon_picker_button_get_selector((HildonPickerButton *) button);
+ if (!selector)
+ selector = (HildonTouchSelector *)hildon_touch_selector_new_text ();
+
+ hildon_button_set_value(HILDON_BUTTON(button), NULL);
+ 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 (!strcmp(theme, "Berlin")){
+ hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0);
+ hildon_button_set_value(HILDON_BUTTON(button), _("Berlin"));
+ }
+ if (!strcmp(theme, "Modern")){
+ hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 1);
+ hildon_button_set_value(HILDON_BUTTON(button), _("Modern"));
+ }
+ if (!strcmp(theme, "Matrix")){
+ hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 2);
+ hildon_button_set_value(HILDON_BUTTON(button), _("Matrix"));
+ }
+ if (!strcmp(theme, "Accel")){
+ hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 3);
+ hildon_button_set_value(HILDON_BUTTON(button), _("Accel"));
+ }
+ if (!strcmp(theme, "Video")){
+ hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 4);
+ hildon_button_set_value(HILDON_BUTTON(button), _("Video"));
+ }
+ }
+ }
+ 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")));
+ }
+ num++;
+ }
+ store = g_slist_next(store);
+ }
+ /* Added Shreman's Aquarium for message */
+ if (!strcmp(category, "Unknown")){
+ store = priv->extheme_list;
+ while (store){
+ if (!strcmp("Shermans Aquarium" , g_hash_table_lookup(store->data, "name"))){
+ flag = TRUE;
+ break;
+ }
+ store = g_slist_next(store);
+ }
+ if (!flag)
+ hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "Shermans Aquarium");
+ }
+
+ hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
+ HILDON_TOUCH_SELECTOR (selector));
+
+ changed_value_theme_cb(HILDON_PICKER_BUTTON (button), priv);
+}
+/********************************************************************************/
+GtkWidget *
+create_themes_button (Animation_WallpaperPrivate *priv, gchar *category){
+
+ GtkWidget *button;
+ button = hildon_picker_button_new (HILDON_SIZE_FINGER_HEIGHT, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
+ hildon_button_set_title (HILDON_BUTTON (button), _("Theme"));
+
+
+ return button;
+}
+/********************************************************************************/
+GtkWidget *
+create_categories_button (Animation_WallpaperPrivate *priv){