added theme settings
authorVlad Vasiliev <vlad@toshiba2.oblgaz>
Sun, 4 Apr 2010 06:58:13 +0000 (09:58 +0300)
committerVlad Vasiliev <vlad@toshiba2.oblgaz>
Sun, 4 Apr 2010 06:58:13 +0000 (09:58 +0300)
applet/src/livewp-home-widget.c
applet/src/livewp-home-widget.h
applet/src/livewp-settings.c
applet/src/livewp-settings.h

index c04a212..fb9f070 100644 (file)
@@ -567,7 +567,7 @@ animation_wallpaper_plugin_init (AWallpaperPlugin *desktop_plugin)
   gtk_widget_show (label);
   hd_home_plugin_item_set_settings (HD_HOME_PLUGIN_ITEM (desktop_plugin), TRUE);
   g_signal_connect (desktop_plugin, "show-settings",
-                            G_CALLBACK (live_wallpaper_settings), NULL);
+                            G_CALLBACK (lw_settings), NULL);
   g_signal_connect (desktop_plugin, "notify::is-on-current-desktop",
                      G_CALLBACK (desktop_plugin_visible_notify), desktop_plugin);
 
index 03391ef..8952ed1 100644 (file)
@@ -91,10 +91,9 @@ G_END_DECLS
 struct _Animation_WallpaperPrivate
 {
       gint timer;
-      gpointer data;
-      GtkWidget *main_widget;
+      gchar *theme;
 };
-void live_wallpaper_settings(GtkWidget *widget, gpointer user_data);
+void lw_settings(GtkWidget *widget, gpointer user_data);
 MultiActor *multiactor_init(gchar * name, GSList * child, gint x, gint y, gint z, double scale, gboolean visible);
 void multiactor_set_visible(MultiActor *ma, gboolean visible);
 void multiactor_set_scale(MultiActor *ma, double scale);
index cca9af2..31eb31f 100644 (file)
 /*******************************************************************************/
 #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);
@@ -45,9 +41,71 @@ live_wallpaper_settings(GtkWidget *widget, gpointer user_data)
     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_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 2);
+      return selector;
+}
+
+GtkWidget *
+create_themes_button (HildonTouchSelector *selector){
+
+    GtkWidget *button;
+
+    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));
+    return button;
+}
+
+void 
+lw_settings(GtkWidget *widget, gpointer user_data){
+    gint result;
+    GtkWidget *window = NULL;
+    GtkWidget *selector, *save_button;
+    GtkWidget *theme_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);
+
+    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox),
+                                   theme_button, TRUE, TRUE, 0);
+    gtk_widget_show (theme_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);
     result = gtk_dialog_run(GTK_DIALOG(window));
 
-    if (result == GTK_RESPONSE_YES){
-           fprintf(stderr,"Yes\n");
+    switch(result){
+        case GTK_RESPONSE_YES:
+               fprintf(stderr,"Yes\n");
+        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);
 }
index 927d465..d93d58e 100644 (file)
@@ -23,4 +23,4 @@
 */
 /*******************************************************************************/
 #include "livewp-common.h"
-void live_wallpaper_settings(GtkWidget *widget, gpointer user_data);
+void lw_settings(GtkWidget *widget, gpointer user_data);