From b01ad5ef0cce2c07f5a3fe3bec29ab5b9a4855d6 Mon Sep 17 00:00:00 2001 From: Vlad Vasiliev Date: Sun, 4 Apr 2010 09:58:13 +0300 Subject: [PATCH] added theme settings --- applet/src/livewp-home-widget.c | 2 +- applet/src/livewp-home-widget.h | 5 +-- applet/src/livewp-settings.c | 78 ++++++++++++++++++++++++++++++++++----- applet/src/livewp-settings.h | 2 +- 4 files changed, 72 insertions(+), 15 deletions(-) diff --git a/applet/src/livewp-home-widget.c b/applet/src/livewp-home-widget.c index c04a212..fb9f070 100644 --- a/applet/src/livewp-home-widget.c +++ b/applet/src/livewp-home-widget.c @@ -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); diff --git a/applet/src/livewp-home-widget.h b/applet/src/livewp-home-widget.h index 03391ef..8952ed1 100644 --- a/applet/src/livewp-home-widget.h +++ b/applet/src/livewp-home-widget.h @@ -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); diff --git a/applet/src/livewp-settings.c b/applet/src/livewp-settings.c index cca9af2..31eb31f 100644 --- a/applet/src/livewp-settings.c +++ b/applet/src/livewp-settings.c @@ -24,17 +24,13 @@ /*******************************************************************************/ #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); } diff --git a/applet/src/livewp-settings.h b/applet/src/livewp-settings.h index 927d465..d93d58e 100644 --- a/applet/src/livewp-settings.h +++ b/applet/src/livewp-settings.h @@ -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); -- 1.7.9.5