/********************************************************************************/
GtkWidget *
-create_image_button (gint view){
+create_image_button (gint view, DBusConnection *conn_sess){
GtkWidget *button;
GtkWidget *image;
gchar * str;
fprintf(stderr,"create_image_button\n");
Animation_WallpaperPrivate *priv = g_new0(Animation_WallpaperPrivate, 1);
priv->view = view;
+ priv->dbus_conn_session = conn_sess;
read_config(priv);
button = hildon_button_new(HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
HILDON_BUTTON_ARRANGEMENT_VERTICAL);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
/* Create Theme button */
hbox = gtk_hbox_new(FALSE, 5);
- theme_button1 = create_image_button(0);
+ theme_button1 = create_image_button(0, priv->dbus_conn_session);
gtk_box_pack_start(GTK_BOX(hbox),
theme_button1, TRUE, TRUE, 5);
- theme_button2 = create_image_button(1);
+ theme_button2 = create_image_button(1, priv->dbus_conn_session);
gtk_box_pack_start(GTK_BOX(hbox),
theme_button2, TRUE, TRUE, 5);
- theme_button3 = create_image_button(2);
+ theme_button3 = create_image_button(2, priv->dbus_conn_session);
gtk_box_pack_start(GTK_BOX(hbox),
theme_button3, TRUE, TRUE, 5);
- theme_button4 = create_image_button(3);
+ theme_button4 = create_image_button(3, priv->dbus_conn_session);
gtk_box_pack_start(GTK_BOX(hbox),
theme_button4, TRUE, TRUE, 5);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),
save_config(priv);
/* action with applet */
if (hildon_check_button_get_active (HILDON_CHECK_BUTTON(enable_button))){
- if (!check_applet_state(view))
+ if (!check_applet_state(view)){
start_applet(view);
- else
+ }else {
send_dbus_signal (priv,
LIVEWP_SIGNAL_INTERFACE,
LIVEWP_SIGNAL_PATH,
LIVEWP_RELOAD_CONFIG);
+ }
}else
if (check_applet_state(view))
stop_applet(view);
/*******************************************************************************/
void
stop_applet(gint number){
+ HDConfigFile *config_file = NULL;
+ GKeyFile *gkey_file = NULL;
+ gchar *str = NULL;
+
+ if (number > 3 || number < 0)
+ return;
+ str = g_strdup_printf("livewp-home-widget.desktop-%i",number);
+ config_file = hd_config_file_new(NULL, "/home/user/.config/hildon-desktop/", "home.plugins");
+
+ gkey_file = hd_config_file_load_file(config_file, FALSE);
+ if (gkey_file){
+ g_key_file_remove_group(gkey_file, str, NULL);
+ hd_config_file_save_file( config_file, gkey_file);
+ g_key_file_free(gkey_file);
+ }else
+ fprintf(stderr, "Problem with config file");
+ if (str)
+ g_free(str);
+ g_object_unref(config_file);
+
+#if 0
FILE *file_in;
FILE *file_out;
gchar buffer[2048];
unlink ("/tmp/livewallpaper.plugins");
}
}
+#endif
}