done installing via application manager
authorVlad <vlad@gas.by>
Mon, 20 Sep 2010 13:55:27 +0000 (16:55 +0300)
committerVlad <vlad@gas.by>
Mon, 20 Sep 2010 13:55:27 +0000 (16:55 +0300)
applet/data/external_themes/colorflood.xml
applet/src/livewp-settings.c

index b0b62c2..4583daa 100644 (file)
@@ -1,5 +1,6 @@
 <theme>
-<name>Colorflood</name>
+ <name>Colorflood</name>
+ <associated_package>colorflood</associated_package>
  <exec_path>/usr/bin/colorflood --livewallpaper</exec_path>
  <window_name>colorflood</window_name>
  <category>Game</category>
index d661c40..f96ec7c 100644 (file)
@@ -667,8 +667,10 @@ lw_theme_settings(GtkWidget *button, Animation_WallpaperPrivate *priv) {
     GtkWidget *temp_button;
     GtkWidget *button1 = NULL;
     GtkWidget *rich_animation_button = NULL;
+    GtkWidget *confirm;
     gint view = priv->view;
     gint count;
+    gchar *text;
 
     window = gtk_dialog_new();
     priv->window = window;
@@ -815,15 +817,28 @@ lw_theme_settings(GtkWidget *button, Animation_WallpaperPrivate *priv) {
                        gchar *check_path = g_hash_table_lookup(store->data, "check_path");
                        if (check_path){
                                if (access(check_path, F_OK) != 0){
-                                       show_problem_package(button, g_hash_table_lookup(store->data, "name"));
                                        gchar * install_file = g_hash_table_lookup(store->data, "install_file");
                                        if (install_file){
-                                               gchar * cmd = g_strdup_printf("dbus-send --print-reply --dest=com.nokia.osso_browser /com/nokia/osso_browser/service com.nokia.osso_browser.open_new_window string:%s",
-                                                                                                                                       install_file);
-                                               fprintf(stderr, "system %s\n", cmd);
-                                               system(cmd);
-                                               g_free(cmd);
-                                       }
+                                    if (g_hash_table_lookup(store->data, "associated_package"))
+                                        text = g_strdup_printf(_("You haven't got the installed package %s. Do you want to install it via using Application Manager?"),
+                                                                                                              (gchar *) g_hash_table_lookup(store->data, "associated_package"));
+                                    else
+                                        text = g_strdup_printf(_("You haven't got the installed package %s. Do you want to install it via using Application Manager?"),
+                                                                                                               (gchar *)g_hash_table_lookup(store->data, "name"));
+                                    confirm = hildon_note_new_confirmation(GTK_WINDOW(window), text);
+                                    if(GTK_RESPONSE_OK == gtk_dialog_run(GTK_DIALOG(confirm))){
+                                        gchar * cmd = g_strdup_printf("dbus-send --print-reply --dest=com.nokia.osso_browser /com/nokia/osso_browser/service com.nokia.osso_browser.open_new_window string:%s", install_file);
+                                        fprintf(stderr, "system %s\n", cmd);
+                                        system(cmd);
+                                        g_free(cmd);
+                                    }
+                                    g_free(text);
+                                    gtk_widget_destroy(confirm);
+                                       }else
+                                    if (g_hash_table_lookup(store->data, "associated_package"))
+                                               show_problem_package(button, g_hash_table_lookup(store->data, "associated_package"));
+                                    else
+                                               show_problem_package(button, g_hash_table_lookup(store->data, "name"));
                                        /* if not success exit from without saving */
                                        break;
                                }