Ejemplo n.º 1
0
int
show_bmarks_menu(FileView *view, const char tags[], int go_on_single_match)
{
	static menu_info m;
	init_menu_info(&m, strdup("Bookmarks"), strdup("No bookmarks found"));
	m.execute_handler = &execute_bmarks_cb;
	m.key_handler = &bmarks_khandler;

	if(is_null_or_empty(tags))
	{
		bmarks_list(&bmarks_cb, &m);
	}
	else
	{
		bmarks_find(tags, &bmarks_cb, &m);
	}

	if(go_on_single_match && m.len == 1)
	{
		goto_selected_file(view, m.items[m.pos], 0);
		reset_popup_menu(&m);
		return curr_stats.save_msg;
	}

	return display_menu(&m, view);
}
Ejemplo n.º 2
0
Archivo: utils.c Proyecto: acklinr/vifm
const char *
get_tags(const char path[])
{
	result_tags = NULL;
	bmarks_list(&bmarks_cb, (void *)path);
	return result_tags;
}
Ejemplo n.º 3
0
static int
count_bmarks(void)
{
	cb_called = 0;
	bmarks_list(&bmarks_cb, NULL);
	return cb_called;
}
Ejemplo n.º 4
0
Archivo: info.c Proyecto: cfillion/vifm
/* Writes bookmarks to vifminfo file.  bmarks is a list of length nbmarks marks
 * read from vifminfo. */
static void
write_bmarks(FILE *const fp, char *bmarks[], const int timestamps[],
		int nbmarks)
{
	int i;

	fputs("\n# Bookmarks:\n", fp);

	bmarks_list(&write_bmark, fp);

	for(i = 0; i < nbmarks; i += 2)
	{
		fprintf(fp, "%c%s\n", LINE_TYPE_BOOKMARK, bmarks[i]);
		fprintf(fp, "\t%s\n", bmarks[i + 1]);
		fprintf(fp, "\t%d\n", timestamps[i/2]);
	}
}