static void delete_recent_cb (GtkWidget *widget, gpointer callback_data) { DialogData *data = callback_data; GtkTreeSelection *selection; GtkTreeIter iter; if (data->last_clicked_list == data->o_recent_tree_view) { char *editor; char **editors; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (data->o_recent_tree_view)); if (! gtk_tree_selection_get_selected (selection, NULL, &iter)) return; gtk_tree_model_get (data->recent_model, &iter, 0, &editor, -1); gtk_list_store_remove (GTK_LIST_STORE (data->recent_model), &iter); /**/ editors = g_settings_get_strv (data->settings, PREF_GENERAL_EDITORS); if (_g_strv_remove (editors, editor)) g_settings_set_strv (data->settings, PREF_GENERAL_EDITORS, (const gchar * const *) editors); g_strfreev (editors); g_free (editor); } else if (data->last_clicked_list == data->o_app_tree_view) { GAppInfo *app; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (data->o_app_tree_view)); if (! gtk_tree_selection_get_selected (selection, NULL, &iter)) return; gtk_tree_model_get (data->app_model, &iter, DATA_COLUMN, &app, -1); gtk_list_store_remove (GTK_LIST_STORE (data->app_model), &iter); if (g_app_info_can_remove_supports_type (app)) { const char *mime_type; mime_type = get_file_mime_type_for_path ((char*) data->file_list->data, FALSE); g_app_info_remove_supports_type (app, mime_type, NULL); } } }
static void widget_populate_popup_cb (GtkAppChooserWidget *widget, GtkMenu *menu, GAppInfo *info, gpointer user_data) { GtkAppChooserDialog *self = user_data; GtkWidget *menu_item; if (g_app_info_can_remove_supports_type (info)) { menu_item = build_forget_menu_item (self); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); } }
static void populate_popup_cb (GtkAppChooserWidget *widget, GtkMenu *menu, GAppInfo *app, gpointer user_data) { GtkWidget *item; NemoMimeApplicationChooser *chooser = user_data; if (g_app_info_can_remove_supports_type (app)) { item = gtk_menu_item_new_with_label (_("Forget association")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); g_signal_connect (item, "activate", G_CALLBACK (remove_clicked_cb), chooser); } }
static VALUE appinfo_can_remove_supports_type(VALUE self) { return CBOOL2RVAL(g_app_info_can_remove_supports_type(_SELF(self))); }