Exemplo n.º 1
0
static void
set_up_actions (NemoActionManager *action_manager)
{
    GList *dir, *file_list, *node;
    NemoFile *file;
    NemoDirectory *directory;

    if (g_list_length (action_manager->actions) > 0)
        void_action_list (action_manager);

    for (dir = action_manager->actions_directory_list; dir != NULL; dir = dir->next) {
        directory = dir->data;
        file_list = nemo_directory_get_file_list (directory);
        for (node = file_list; node != NULL; node = node->next) {
            file = node->data;
            if (!g_str_has_suffix (nemo_file_peek_name (file), ".nemo_action") ||
                !nemo_global_preferences_should_load_plugin (nemo_file_peek_name (file), NEMO_PLUGIN_PREFERENCES_DISABLED_ACTIONS))
                continue;
            add_action_to_action_list (action_manager, file);
        }
        nemo_file_list_free (file_list);
    }

    action_manager->action_list_dirty = FALSE;

    g_signal_emit (action_manager, signals[CHANGED], 0);
}
Exemplo n.º 2
0
GList *
nemo_directory_match_pattern (NemoDirectory *directory, const char *pattern)
{
	GList *files, *l, *ret;
	GPatternSpec *spec;


	ret = NULL;
	spec = g_pattern_spec_new (pattern);
	
	files = nemo_directory_get_file_list (directory);
	for (l = files; l; l = l->next) {
		NemoFile *file;
		char *name;
	       
	        file = NEMO_FILE (l->data);
		name = nemo_file_get_display_name (file);

		if (g_pattern_match_string (spec, name)) {
			ret = g_list_prepend(ret, nemo_file_ref (file));	
		}

		g_free (name);
	}

	g_pattern_spec_free (spec);
	nemo_file_list_free (files);

	return ret;
}
static GList *
desktop_get_file_list (NemoDirectory *directory)
{
	GList *real_dir_file_list, *desktop_dir_file_list = NULL;
	
	real_dir_file_list = nemo_directory_get_file_list
				(NEMO_DESKTOP_DIRECTORY (directory)->details->real_directory);
	desktop_dir_file_list = NEMO_DIRECTORY_CLASS (nemo_desktop_directory_parent_class)->get_file_list (directory);

	return g_list_concat (real_dir_file_list, desktop_dir_file_list);
}
Exemplo n.º 4
0
static GList *
merged_get_file_list (NemoDirectory *directory)
{
	GList *dirs_file_list, *merged_dir_file_list = NULL;
	GList *dir_list;
	GList *cur_node;

	dirs_file_list = NULL;
	dir_list = NEMO_MERGED_DIRECTORY (directory)->details->directories;

	for (cur_node = dir_list; cur_node != NULL; cur_node = cur_node->next) {
		NemoDirectory *cur_dir;

		cur_dir = NEMO_DIRECTORY (cur_node->data);
		dirs_file_list = g_list_concat (dirs_file_list,
						 nemo_directory_get_file_list (cur_dir));
	}

	merged_dir_file_list = NEMO_DIRECTORY_CLASS 
		(nemo_merged_directory_parent_class)->get_file_list (directory);

	return g_list_concat (dirs_file_list, merged_dir_file_list);
}
Exemplo n.º 5
0
static void
real_directory_notify_files_removed (NemoDirectory *real_directory)
{
	GList *files, *l;

	files = nemo_directory_get_file_list (real_directory);

	for (l = files; l; l = l->next) {
		NemoFile *file;
		char *uri;

		file = NEMO_FILE (l->data);
		uri = nemo_file_get_uri (file);
		nemo_file_unref (file);

		l->data = uri;
	}

	if (files) {
		nemo_directory_notify_files_removed_by_uri (files);
	}

	g_list_free_full (files, g_free);
}