From f78f66d479ae58953edbc488ef1625d50ad4d8b3 Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Mon, 13 Aug 2018 10:00:33 +0100 Subject: [PATCH] trivial: Also show device title for 'install' command in fwupdmgr Commit 171ec0d added support for 'update' and 'downgrade' operations in fwupdmgr. Since users can also install CAB files manually show the titles for those too. --- src/fu-util.c | 77 +++++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 33 deletions(-) diff --git a/src/fu-util.c b/src/fu-util.c index 4e08174e8..f3977fb44 100644 --- a/src/fu-util.c +++ b/src/fu-util.c @@ -38,6 +38,7 @@ typedef enum { FU_UTIL_OPERATION_UNKNOWN, FU_UTIL_OPERATION_UPDATE, FU_UTIL_OPERATION_DOWNGRADE, + FU_UTIL_OPERATION_INSTALL, FU_UTIL_OPERATION_LAST } FuUtilOperation; @@ -192,6 +193,45 @@ fu_util_client_notify_cb (GObject *object, fwupd_client_get_percentage (priv->client)); } +static void +fu_util_update_device_changed_cb (FwupdClient *client, + FwupdDevice *device, + FuUtilPrivate *priv) +{ + g_autofree gchar *str = NULL; + + /* same as last time, so ignore */ + if (priv->current_device != NULL && + fwupd_device_compare (priv->current_device, device) == 0) + return; + + /* show message in progressbar */ + if (priv->current_operation == FU_UTIL_OPERATION_UPDATE) { + /* TRANSLATORS: %1 is a device name, and %2 and %3 are version numbers */ + str = g_strdup_printf (_("Updating %s from %s to %s…"), + fwupd_device_get_name (device), + fwupd_device_get_version (device), + fwupd_release_get_version (priv->current_release)); + fu_progressbar_set_title (priv->progressbar, str); + } else if (priv->current_operation == FU_UTIL_OPERATION_DOWNGRADE) { + /* TRANSLATORS: %1 is a device name, and %2 and %3 are version numbers */ + str = g_strdup_printf (_("Downgrading %s from %s to %s…"), + fwupd_device_get_name (device), + fwupd_device_get_version (device), + fwupd_release_get_version (priv->current_release)); + fu_progressbar_set_title (priv->progressbar, str); + } else if (priv->current_operation == FU_UTIL_OPERATION_INSTALL) { + /* TRANSLATORS: %1 is a version number, and %2 is a device name */ + str = g_strdup_printf (_("Installing %s on %s…"), + fwupd_release_get_version (priv->current_release), + fwupd_device_get_name (device)); + fu_progressbar_set_title (priv->progressbar, str); + } else { + g_warning ("no FuUtilOperation set"); + } + g_set_object (&priv->current_device, device); +} + static FwupdDevice * fu_util_prompt_for_device (FuUtilPrivate *priv, GError **error) { @@ -544,6 +584,10 @@ fu_util_install (FuUtilPrivate *priv, gchar **values, GError **error) return FALSE; } + priv->current_operation = FU_UTIL_OPERATION_INSTALL; + g_signal_connect (priv->client, "device-changed", + G_CALLBACK (fu_util_update_device_changed_cb), priv); + /* install with flags chosen by the user */ return fwupd_client_install (priv->client, id, values[0], priv->flags, NULL, error); } @@ -1966,39 +2010,6 @@ fu_util_update_device_with_release (FuUtilPrivate *priv, priv->flags, NULL, error); } -static void -fu_util_update_device_changed_cb (FwupdClient *client, - FwupdDevice *device, - FuUtilPrivate *priv) -{ - g_autofree gchar *str = NULL; - - /* same as last time, so ignore */ - if (priv->current_device != NULL && - fwupd_device_compare (priv->current_device, device) == 0) - return; - - /* show message in progressbar */ - if (priv->current_operation == FU_UTIL_OPERATION_UPDATE) { - /* TRANSLATORS: %1 is a device name, and %2 is a version number */ - str = g_strdup_printf (_("Updating %s from %s to %s…"), - fwupd_device_get_name (device), - fwupd_device_get_version (device), - fwupd_release_get_version (priv->current_release)); - fu_progressbar_set_title (priv->progressbar, str); - } else if (priv->current_operation == FU_UTIL_OPERATION_DOWNGRADE) { - /* TRANSLATORS: %1 is a device name, and %2 is a version number */ - str = g_strdup_printf (_("Downgrading %s from %s to %s…"), - fwupd_device_get_name (device), - fwupd_device_get_version (device), - fwupd_release_get_version (priv->current_release)); - fu_progressbar_set_title (priv->progressbar, str); - } else { - g_warning ("no FuUtilOperation set"); - } - g_set_object (&priv->current_device, device); -} - static gboolean fu_util_update (FuUtilPrivate *priv, gchar **values, GError **error) {