static void on_ok_action_activated (GtkAction *action, GitRemoveFilesPane *self) { Git *plugin; AnjutaFileList *remove_file_list; GtkToggleAction *force_action; GList *paths; GitRemoveCommand *remove_command; plugin = ANJUTA_PLUGIN_GIT (anjuta_dock_pane_get_plugin (ANJUTA_DOCK_PANE (self))); remove_file_list = ANJUTA_FILE_LIST (gtk_builder_get_object (self->priv->builder, "remove_file_list")); force_action = GTK_TOGGLE_ACTION (gtk_builder_get_object (self->priv->builder, "force_action")); paths = anjuta_file_list_get_paths (remove_file_list); remove_command = git_remove_command_new_list (plugin->project_root_directory, paths, gtk_toggle_action_get_active (force_action)); anjuta_util_glist_strings_free (paths); g_signal_connect (G_OBJECT (remove_command), "command-finished", G_CALLBACK (git_pane_report_errors), plugin); g_signal_connect (G_OBJECT (remove_command), "command-finished", G_CALLBACK (g_object_unref), NULL); anjuta_command_start (ANJUTA_COMMAND (remove_command)); git_pane_remove_from_dock (GIT_PANE (self)); }
void git_ivcs_remove (IAnjutaVcs *obj, GList *files, AnjutaAsyncNotify *notify, GError **err) { gchar *project_root_directory; GList *path_list; GitRemoveCommand *remove_command; project_root_directory = ANJUTA_PLUGIN_GIT (obj)->project_root_directory; if (project_root_directory) { path_list = anjuta_util_convert_gfile_list_to_relative_path_list (files, project_root_directory); remove_command = git_remove_command_new_list (project_root_directory, path_list, FALSE); anjuta_util_glist_strings_free (path_list); g_signal_connect (G_OBJECT (remove_command), "command-finished", G_CALLBACK (g_object_unref), NULL); if (notify) { g_signal_connect_swapped (G_OBJECT (remove_command), "command-finished", G_CALLBACK (anjuta_async_notify_notify_finished), notify); } anjuta_command_start (ANJUTA_COMMAND (remove_command)); } }