added translators
[livewp] / applet / src / livewp-settings.c
index 31eb31f..27e3ceb 100644 (file)
@@ -34,7 +34,14 @@ void lw_about(void){
     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);
@@ -44,7 +51,7 @@ void lw_about(void){
     gtk_dialog_run(GTK_DIALOG(window));
 
 }
-
+/*******************************************************************************/
 GtkWidget *
 create_theme_selector (void)
 {
@@ -54,48 +61,105 @@ create_theme_selector (void)
 
       hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Berlin"));
       hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Modern"));
-      hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 2);
+      hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Matrix"));
       return selector;
 }
-
+/*******************************************************************************/
 GtkWidget *
-create_themes_button (HildonTouchSelector *selector){
+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_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(GtkWidget *widget, gpointer user_data){
+lw_settings(Animation_WallpaperPrivate *priv, gpointer data){
     gint result;
     GtkWidget *window = NULL;
-    GtkWidget *selector, *save_button;
+    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 */
-    selector = create_theme_selector();
-    theme_button = create_themes_button(selector);
-
+    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),
-                                   theme_button, TRUE, TRUE, 0);
+                                   rich_animation_button, TRUE, TRUE, 5);
     gtk_widget_show (theme_button);
+    gtk_widget_show (rich_animation_button);
     gtk_widget_show (window);
-    save_button = gtk_dialog_add_button(GTK_DIALOG(window), _("Save"), GTK_RESPONSE_YES);
     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));
 
     switch(result){
         case GTK_RESPONSE_YES:
-               fprintf(stderr,"Yes\n");
+            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:
@@ -109,3 +173,4 @@ lw_settings(GtkWidget *widget, gpointer user_data){
     if (window)
         gtk_widget_destroy(window);
 }
+