/**
 * pk_cnf_progress_cb:
 **/
static void
pk_cnf_progress_cb (PkProgress *progress, PkProgressType type, gpointer data)
{
	PkStatusEnum status;
	const gchar *text = NULL;

	/* status */
	if (type != PK_PROGRESS_TYPE_STATUS)
		return;

	g_object_get (progress,
		      "status", &status,
		      NULL);

	switch (status) {
	case PK_STATUS_ENUM_SETUP:
	case PK_STATUS_ENUM_FINISHED:
	case PK_STATUS_ENUM_QUERY:
		break;
	case PK_STATUS_ENUM_DOWNLOAD_REPOSITORY:
		/* TRANSLATORS: downloading repo data so we can search */
		text = _("Downloading details about the software sources.");
		break;
	case PK_STATUS_ENUM_DOWNLOAD_FILELIST:
		/* TRANSLATORS: downloading file lists so we can search */
		text = _("Downloading filelists (this may take some time to complete).");
		break;
	case PK_STATUS_ENUM_WAITING_FOR_LOCK:
		/* TRANSLATORS: waiting for native lock */
		text = _("Waiting for package manager lock.");
		break;
	case PK_STATUS_ENUM_LOADING_CACHE:
		/* TRANSLATORS: loading package cache so we can search */
		text = _("Loading list of packages.");
		break;
	default:
		/* fallback to default */
		text = pk_status_enum_to_localised_text (status);
	}

	/* print to screen, still one line */
	if (text != NULL)
		g_print ("\n * %s... ", text);
}
Beispiel #2
0
/**
 * pk_generate_pack_progress_cb:
 **/
static void
pk_generate_pack_progress_cb (PkProgress *progress, PkProgressType type, gpointer data)
{
	gint percentage;
	PkRoleEnum role;
	PkStatusEnum status;
	const gchar *text;

	/* role */
	if (type == PK_PROGRESS_TYPE_ROLE) {
		g_object_get (progress,
			      "role", &role,
			      NULL);

		/* show new role on the bar */
		text = pk_role_enum_to_localised_present (role);
		pk_progress_bar_start (progressbar, text);
	}

	/* percentage */
	if (type == PK_PROGRESS_TYPE_PERCENTAGE) {
		g_object_get (progress,
			      "percentage", &percentage,
			      NULL);
		pk_progress_bar_set_percentage (progressbar, percentage);
	}

	/* status */
	if (type == PK_PROGRESS_TYPE_STATUS) {
		g_object_get (progress,
			      "status", &status,
			      NULL);
		if (status == PK_STATUS_ENUM_FINISHED)
			return;

		/* show status on the bar */
		text = pk_status_enum_to_localised_text (status);
		pk_progress_bar_start (progressbar, text);
	}
}