Ejemplo n.º 1
0
static RBDisplayPage *
get_page_at_index (RBDisplayPageMenu *menu, int index, GtkTreeIter *iter)
{
	int i;

	if (get_page_iter (menu, iter) == FALSE)
		return NULL;

	i = 0;
	do {
		RBDisplayPage *page;
		gboolean counted;

		gtk_tree_model_get (menu->priv->real_model,
				    iter,
				    RB_DISPLAY_PAGE_MODEL_COLUMN_PAGE, &page,
				    -1);

		counted = consider_page (menu, page);
		if (counted && index == i) {
			return page;
		} else if (counted) {
			i++;
		}

		g_object_unref (page);
	} while (gtk_tree_model_iter_next (menu->priv->real_model, iter));

	return NULL;
}
Ejemplo n.º 2
0
static int
count_items (RBDisplayPageMenu *menu, int upto)
{
	GtkTreeIter iter;
	int i;
	int c;

	if (get_page_iter (menu, &iter) == FALSE) {
		return 0;
	}

	i = 0;
	c = 0;
	while (c < upto) {
		RBDisplayPage *page;
		gtk_tree_model_get (menu->priv->real_model,
				    &iter,
				    RB_DISPLAY_PAGE_MODEL_COLUMN_PAGE, &page,
				    -1);

		if (consider_page (menu, page)) {
			i++;
		}
		g_object_unref (page);
		c++;
		if (!gtk_tree_model_iter_next (menu->priv->real_model, &iter))
			break;
	}

	return i;
}
Ejemplo n.º 3
0
static int
count_items (RBDisplayPageMenu *menu)
{
	GtkTreeIter iter;
	int i;

	if (get_page_iter (menu, &iter) == FALSE)
		return 0;

	i = 0;
	do {
		RBDisplayPage *page;
		gboolean counted;

		gtk_tree_model_get (GTK_TREE_MODEL (menu->priv->model),
				    &iter,
				    RB_DISPLAY_PAGE_MODEL_COLUMN_PAGE, &page,
				    -1);

		counted = consider_page (menu, page);
		g_object_unref (page);
		if (counted)
			i++;
	} while (gtk_tree_model_iter_next (GTK_TREE_MODEL (menu->priv->model), &iter));

	return i;
}