static void remove_clicked_cb (GtkMenuItem *item, gpointer user_data) { NemoMimeApplicationChooser *chooser = user_data; GError *error; GAppInfo *info; info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (chooser->details->open_with_widget)); if (info) { error = NULL; if (!g_app_info_remove_supports_type (info, chooser->details->content_type, &error)) { eel_show_error_dialog (_("Could not forget association"), error->message, GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (chooser)))); g_error_free (error); } gtk_app_chooser_refresh (GTK_APP_CHOOSER (chooser->details->open_with_widget)); g_object_unref (info); } g_signal_emit_by_name (nemo_signaller_get_current (), "mime_data_changed"); }
static void menu_provider_items_updated_handler (NemoMenuProvider *provider, GtkWidget* parent_window, gpointer data) { g_signal_emit_by_name (nemo_signaller_get_current (), "popup_menu_changed"); }
static void reset_clicked_cb (GtkButton *button, gpointer user_data) { NemoMimeApplicationChooser *chooser; chooser = NEMO_MIME_APPLICATION_CHOOSER (user_data); g_app_info_reset_type_associations (chooser->details->content_type); gtk_app_chooser_refresh (GTK_APP_CHOOSER (chooser->details->open_with_widget)); gtk_entry_set_text (GTK_ENTRY (chooser->details->custom_entry), ""); g_signal_emit_by_name (nemo_signaller_get_current (), "mime_data_changed"); }
static void set_as_default_clicked_cb (GtkButton *button, gpointer user_data) { NemoMimeApplicationChooser *chooser = user_data; GAppInfo *info; if (!chooser->details->custom_info) { info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (chooser->details->open_with_widget)); g_app_info_set_as_default_for_type (info, chooser->details->content_type, NULL); } else { info = chooser->details->custom_info; create_custom_desktop_file (chooser, TRUE); } gtk_app_chooser_refresh (GTK_APP_CHOOSER (chooser->details->open_with_widget)); gtk_entry_set_text (GTK_ENTRY (chooser->details->custom_entry), ""); g_signal_emit_by_name (nemo_signaller_get_current (), "mime_data_changed"); }
static void add_clicked_cb (GtkButton *button, gpointer user_data) { NemoMimeApplicationChooser *chooser = user_data; GAppInfo *info; if (!chooser->details->custom_info) { info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (chooser->details->open_with_widget)); g_app_info_set_as_last_used_for_type (info, chooser->details->content_type, NULL); } else { info = chooser->details->custom_info; g_app_info_set_as_last_used_for_type (info, chooser->details->content_type, NULL); } if (info == NULL) return; gtk_app_chooser_refresh (GTK_APP_CHOOSER (chooser->details->open_with_widget)); gtk_entry_set_text (GTK_ENTRY (chooser->details->custom_entry), ""); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (chooser->details->file_button), ""); g_signal_emit_by_name (nemo_signaller_get_current (), "mime_data_changed"); }