From: Michael Tremer Date: Sun, 1 Oct 2023 11:37:18 +0000 (+0000) Subject: filelist: Migrate to new progress indicator X-Git-Tag: 0.9.30~1580 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76c59d9f4cb91892712373444247a2e430e81be0;p=pakfire.git filelist: Migrate to new progress indicator Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/filelist.c b/src/libpakfire/filelist.c index dac977af1..2cb42869f 100644 --- a/src/libpakfire/filelist.c +++ b/src/libpakfire/filelist.c @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include #include @@ -417,72 +417,37 @@ int pakfire_filelist_contains(struct pakfire_filelist* list, const char* pattern return 0; } -static int pakfire_filelist_progressbar_create( - struct pakfire_progressbar** progressbar, const char* message) { - struct pakfire_progressbar* p = NULL; - int r; - - // Create the progressbar - r = pakfire_progressbar_create(&p, NULL); - if (r) - goto ERROR; - - // Add message - if (message) { - r = pakfire_progressbar_add_string(p, "%s", message); - if (r) - goto ERROR; - } - - // Add bar - r = pakfire_progressbar_add_bar(p); - if (r) - goto ERROR; - - // Add percentage - r = pakfire_progressbar_add_percentage(p); - if (r) - goto ERROR; - - // Add ETA - r = pakfire_progressbar_add_eta(p); - if (r) - goto ERROR; - - *progressbar = p; - - return 0; - -ERROR: - if (p) - pakfire_progressbar_unref(p); - - return r; -} - int pakfire_filelist_walk(struct pakfire_filelist* list, pakfire_filelist_walk_callback callback, void* data, int flags) { - struct pakfire_progressbar* progressbar = NULL; + struct pakfire_progress* progress = NULL; struct pakfire_filelist_element* element = NULL; int r = 0; - // Show a progressbar when iterating over the filelist + // Show progress when iterating over the filelist if (flags & PAKFIRE_FILELIST_SHOW_PROGRESS) { - r = pakfire_filelist_progressbar_create(&progressbar, "Processing Files..."); + r = pakfire_progress_create(&progress, list->pakfire, + PAKFIRE_PROGRESS_SHOW_PERCENTAGE|PAKFIRE_PROGRESS_SHOW_ETA); + if (r) + goto ERROR; + + // Set title + r = pakfire_progress_set_title(progress, "%s", _("Processing Files...")); if (r) goto ERROR; const size_t length = pakfire_filelist_length(list); - // Start progressbar - pakfire_progressbar_start(progressbar, length); + // Start progress + r = pakfire_progress_start(progress, length); + if (r) + goto ERROR; } // Call the callback once for every element on the list TAILQ_FOREACH(element, &list->files, nodes) { - // Increment the progressbar - if (progressbar) - pakfire_progressbar_increment(progressbar, 1); + // Increment the progress + if (progress) + pakfire_progress_increment(progress, 1); // Call the callback r = callback(list->pakfire, element->file, data); @@ -491,13 +456,16 @@ int pakfire_filelist_walk(struct pakfire_filelist* list, } // Done! - if (progressbar) - pakfire_progressbar_finish(progressbar); + if (progress) { + r = pakfire_progress_finish(progress); + if (r) + goto ERROR; + } ERROR: // Finish progress - if (progressbar) - pakfire_progressbar_unref(progressbar); + if (progress) + pakfire_progress_unref(progress); return r; } @@ -524,7 +492,7 @@ int pakfire_filelist_dump(struct pakfire_filelist* list, int flags) { */ int pakfire_filelist_verify(struct pakfire_filelist* list, struct pakfire_filelist* errors) { struct pakfire_filelist_element* element = NULL; - struct pakfire_progressbar* progressbar = NULL; + struct pakfire_progress* progress = NULL; int status; int r; @@ -532,33 +500,19 @@ int pakfire_filelist_verify(struct pakfire_filelist* list, struct pakfire_fileli DEBUG(list->pakfire, "Verifying filelist (%zu file(s))...\n", length); - // Setup progressbar - r = pakfire_progressbar_create(&progressbar, NULL); - if (r) - goto ERROR; - - // Add status - r = pakfire_progressbar_add_string(progressbar, _("Verifying Files...")); - if (r) - goto ERROR; - - // Add bar - r = pakfire_progressbar_add_bar(progressbar); - if (r) - goto ERROR; - - // Add percentage - r = pakfire_progressbar_add_percentage(progressbar); + // Setup progress + r = pakfire_progress_create(&progress, list->pakfire, + PAKFIRE_PROGRESS_SHOW_PERCENTAGE|PAKFIRE_PROGRESS_SHOW_ETA); if (r) goto ERROR; - // Add ETA - r = pakfire_progressbar_add_eta(progressbar); + // Add title + r = pakfire_progress_set_title(progress, "%s", _("Verifying Files...")); if (r) goto ERROR; - // Start the progressbar - r = pakfire_progressbar_start(progressbar, length); + // Start the progress indicator + r = pakfire_progress_start(progress, length); if (r) goto ERROR; @@ -577,20 +531,20 @@ int pakfire_filelist_verify(struct pakfire_filelist* list, struct pakfire_fileli goto ERROR; } - // Increment progressbar - r = pakfire_progressbar_increment(progressbar, 1); + // Increment progress + r = pakfire_progress_increment(progress, 1); if (r) goto ERROR; } // Finish - r = pakfire_progressbar_finish(progressbar); + r = pakfire_progress_finish(progress); if (r) goto ERROR; ERROR: - if (progressbar) - pakfire_progressbar_unref(progressbar); + if (progress) + pakfire_progress_unref(progress); return r; }