/*******************************************************************************/
#include "livewp-settings.h"
/*******************************************************************************/
+void lw_about(void){
-void
-live_wallpaper_settings(GtkWidget *widget, gpointer user_data)
-{
- gint result;
GtkWidget *window = NULL,
- *vbox = NULL,
- *label_about = NULL;
-
+ *vbox = NULL,
+ *label_about = NULL;
window = gtk_dialog_new();
- gtk_window_set_title(GTK_WINDOW(window), _("Live Wallpaper Settings"));
+ gtk_window_set_title(GTK_WINDOW(window), _("About"));
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
vbox = gtk_vbox_new (FALSE, 5);
- label_about = gtk_label_new (_("Live Wallpaper\n Version 0.1 \n Copyright(c) 2010\n Tany Makova\n Vlad Vasiliev"));
+ label_about = gtk_label_new (_("Live Wallpaper\n Version 0.5 \n Copyright(c) 2010\n \
+Tanya Makova\n Vlad Vasiliev\n \
+Copyright(c) 2010 for design themes Berlin and Modern Vasya Bobrikov\n \
+Copyright(c) 2010 for design theme Matrix Andrew Zhilin\n \
+Translators:\n \
+Finnish - Marko Vertainen\n \
+Russian - Tanya Makova \n
+ Vlad Vasiliev\n"));
gtk_box_pack_start (GTK_BOX (vbox), label_about, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),
vbox, TRUE, TRUE, 0);
gtk_widget_show (label_about);
gtk_widget_show (vbox);
gtk_widget_show (window);
+ gtk_dialog_run(GTK_DIALOG(window));
+
+}
+/*******************************************************************************/
+GtkWidget *
+create_theme_selector (void)
+{
+ GtkWidget *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"));
+ return selector;
+}
+/*******************************************************************************/
+GtkWidget *
+create_themes_button (gchar *theme){
+
+ GtkWidget *button;
+ GtkWidget *selector;
+
+ selector = create_theme_selector();
+ 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 (selector));
+ 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"));
+ }
+
+ }
+ return button;
+}
+
+/*******************************************************************************/
+GtkWidget *
+create_rich_animation_button (gboolean active)
+{
+ GtkWidget *button;
+ button = hildon_check_button_new (HILDON_SIZE_AUTO);
+ gtk_button_set_label (GTK_BUTTON (button), _("Rich Animation"));
+ hildon_check_button_set_active(button, active);
+ return button;
+}
+
+/*******************************************************************************/
+void
+show_settings(GtkWidget *widget, Animation_WallpaperPrivate *priv){
+ lw_settings(priv, NULL);
+}
+/*******************************************************************************/
+void
+lw_settings(Animation_WallpaperPrivate *priv, gpointer data){
+ gint result;
+ GtkWidget *window = NULL;
+ GtkWidget *save_button;
+ GtkWidget *theme_button;
+ GtkWidget *rich_animation_button;
+
+ window = gtk_dialog_new();
+
+ gtk_window_set_title(GTK_WINDOW(window), _("Live Wallpaper Settings"));
+ gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
+ gtk_window_set_modal(GTK_WINDOW(window), TRUE);
+ /* Create Theme button */
+ theme_button = create_themes_button(priv->theme);
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),
+ theme_button, TRUE, TRUE, 5);
+ /* Create rich animation button */
+ rich_animation_button = create_rich_animation_button(priv->rich_animation);
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),
+ rich_animation_button, TRUE, TRUE, 5);
+ gtk_widget_show (theme_button);
+ gtk_widget_show (rich_animation_button);
+ gtk_widget_show (window);
+ gtk_dialog_add_button(GTK_DIALOG(window), _("About"), GTK_RESPONSE_NO);
+ save_button = gtk_dialog_add_button(GTK_DIALOG(window), _("Save"), GTK_RESPONSE_YES);
result = gtk_dialog_run(GTK_DIALOG(window));
- if (result == GTK_RESPONSE_YES){
- fprintf(stderr,"Yes\n");
+ switch(result){
+ case GTK_RESPONSE_YES:
+ if (hildon_button_get_value(HILDON_BUTTON (theme_button))){
+ 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 = g_strdup("Modern");
+ if (!strcmp(hildon_button_get_value(HILDON_BUTTON (theme_button)), _("Matrix")))
+ priv->theme = g_strdup("Matrix");
+ if (hildon_check_button_get_active (rich_animation_button))
+ priv->rich_animation = TRUE;
+ else
+ priv->rich_animation = FALSE;
+ }
+ save_config(priv);
+ send_dbus_signal (priv,
+ LIVEWP_SIGNAL_INTERFACE,
+ LIVEWP_SIGNAL_PATH,
+ LIVEWP_RELOAD_CONFIG);
+ break;
+ default:
+ case GTK_RESPONSE_OK:
+ break;
+ case GTK_RESPONSE_NO:
+ gtk_widget_destroy(window);
+ window = NULL;
+ lw_about();
+ break;
}
+ if (window)
+ gtk_widget_destroy(window);
}
+