X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkappchooserdialog.c;h=00882d558423eaa6be5a4ff175e1fd7dc910b40b;hb=e09957a47da9425cc26d1b33cb4e9cc3e92e9ac7;hp=556486997621fda5835a125f16bc0a43632aa731;hpb=9d0febc9a64a5bfb0fcfc3a88de4757f6c1ff090;p=~andy%2Fgtk diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c index 556486997..00882d558 100644 --- a/gtk/gtkappchooserdialog.c +++ b/gtk/gtkappchooserdialog.c @@ -185,7 +185,7 @@ app_chooser_online_get_default_ready_cb (GObject *source, GtkWidget *action_area; action_area = gtk_dialog_get_action_area (GTK_DIALOG (self)); - self->priv->online_button = gtk_button_new_with_label (_("Find applications online")); + self->priv->online_button = gtk_button_new_with_mnemonic (_("_Find applications online")); gtk_box_pack_start (GTK_BOX (action_area), self->priv->online_button, FALSE, FALSE, 0); gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (action_area), self->priv->online_button, @@ -212,71 +212,6 @@ ensure_online_button (GtkAppChooserDialog *self) g_object_ref (self)); } -/* An application is valid if: - * - * 1) The file exists - * 2) The user has permissions to run the file - */ -static gboolean -check_application (GtkAppChooserDialog *self, - GAppInfo **app_out) -{ - const char *command; - char *path = NULL; - char **argv = NULL; - int argc; - GError *error = NULL; - gint retval = TRUE; - GAppInfo *info; - - command = NULL; - - info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self->priv->app_chooser_widget)); - if (info == NULL) - { - *app_out = NULL; - return FALSE; - } - - command = g_app_info_get_executable (info); - - g_shell_parse_argv (command, &argc, &argv, &error); - - if (error) - { - show_error_dialog (_("Could not run application"), - error->message, - GTK_WINDOW (self)); - g_error_free (error); - retval = FALSE; - goto cleanup; - } - - path = g_find_program_in_path (argv[0]); - if (!path) - { - char *error_message; - - error_message = g_strdup_printf (_("Could not find '%s'"), - argv[0]); - - show_error_dialog (_("Could not find application"), - error_message, - GTK_WINDOW (self)); - g_free (error_message); - retval = FALSE; - goto cleanup; - } - - *app_out = info; - - cleanup: - g_strfreev (argv); - g_free (path); - - return retval; -} - static void add_or_find_application (GtkAppChooserDialog *self) { @@ -606,12 +541,7 @@ static GAppInfo * gtk_app_chooser_dialog_get_app_info (GtkAppChooser *object) { GtkAppChooserDialog *self = GTK_APP_CHOOSER_DIALOG (object); - GAppInfo *app = NULL; - - if (!check_application (self, &app)) - return NULL; - - return app; + return gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self->priv->app_chooser_widget)); } static void