Exemple #1
0
static void
on_not_updated_status_data_arrived (AnjutaCommand *command,
                                    GitStatusPane *self)
{
	GtkTreeStore *status_model;
	GQueue *output;

	status_model = GTK_TREE_STORE (gtk_builder_get_object (self->priv->builder,
	                                                       "status_model"));
	output = git_status_command_get_status_queue (GIT_STATUS_COMMAND (command));

	add_status_items (output, status_model, &(self->priv->not_updated_iter),
	                  STATUS_TYPE_NOT_UPDATED);
}
Exemple #2
0
static void
on_status_command_data_arrived (AnjutaCommand *command, 
								IAnjutaVcsStatusCallback callback)
{
	GQueue *status_queue;
	GitStatus *status;
	gchar *path;
	gchar *full_path;
	GFile *file;
	
	status_queue = git_status_command_get_status_queue (GIT_STATUS_COMMAND (command));
	
	while (g_queue_peek_head (status_queue))
	{
		status = g_queue_pop_head (status_queue);

		if (git_status_is_working_directory_descendant (status))
		{
			path = git_status_get_path (status);
			full_path = g_strconcat (g_object_get_data (G_OBJECT (command), "working-directory"),
			                         G_DIR_SEPARATOR_S, path, NULL);
			file = g_file_new_for_path (full_path);

			DEBUG_PRINT ("Working directory: %s\n", (gchar *) g_object_get_data (G_OBJECT (command), "working-directory"));
			DEBUG_PRINT ("File %s Status %i\n", full_path, git_status_get_vcs_status (status));

			if (file)
			{
				callback (file, 
				          git_status_get_vcs_status (status),
				          g_object_get_data (G_OBJECT (command), "user-data"));

				g_object_unref (file);
			}

			g_free (path);
			g_free (full_path);
		}
		
		g_object_unref (status);
		
	}
}