[Spice-devel] [PATCH 1/2] usb-device-widget: Improve "there are no free USB channnels" string
Victor Toso
lists at victortoso.com
Wed Jan 20 00:53:55 PST 2016
Hi,
On Tue, Jan 19, 2016 at 10:36:37PM +0100, Fabiano FidĂȘncio wrote:
> As the message can be understand as an error message, let's replace it
> for a more user-friendly message and display it in the infobar as an
> info message instead of a warning message.
>
> Related: rhbz#1298772
> ---
> src/spice-client.h | 2 ++
> src/usb-device-manager.c | 6 ++++--
> src/usb-device-widget.c | 10 ++++++++--
> 3 files changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/src/spice-client.h b/src/spice-client.h
> index 32b79ea..cccb325 100644
> --- a/src/spice-client.h
> +++ b/src/spice-client.h
> @@ -70,6 +70,7 @@ G_BEGIN_DECLS
> * @SPICE_CLIENT_ERROR_AUTH_NEEDS_USERNAME: username is required
> * @SPICE_CLIENT_ERROR_AUTH_NEEDS_PASSWORD_AND_USERNAME: password and username are required
> * @SPICE_CLIENT_ERROR_USB_SERVICE: USB service error
> + * @SPICE_CLIENT_ERROR_USB_NO_FREE_CHANNELS_AVAILABLE: there are no more free channels available for redirecting a device
> *
> * Error codes returned by spice-client API.
> */
> @@ -82,6 +83,7 @@ typedef enum
> SPICE_CLIENT_ERROR_AUTH_NEEDS_USERNAME,
> SPICE_CLIENT_ERROR_AUTH_NEEDS_PASSWORD_AND_USERNAME,
> SPICE_CLIENT_ERROR_USB_SERVICE,
> + SPICE_CLIENT_ERROR_USB_NO_FREE_CHANNELS_AVAILABLE,
> } SpiceClientError;
>
> #ifndef SPICE_DISABLE_DEPRECATED
> diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c
> index c62f56e..a22d926 100644
> --- a/src/usb-device-manager.c
> +++ b/src/usb-device-manager.c
> @@ -1673,8 +1673,10 @@ spice_usb_device_manager_can_redirect_device(SpiceUsbDeviceManager *self,
> break;
> }
> if (i == priv->channels->len) {
> - g_set_error_literal(err, SPICE_CLIENT_ERROR, SPICE_CLIENT_ERROR_FAILED,
> - _("There are no free USB channels"));
> + g_set_error_literal(err,
> + SPICE_CLIENT_ERROR,
> + SPICE_CLIENT_ERROR_USB_NO_FREE_CHANNELS_AVAILABLE,
> + _("All available USB channels are in use.\nNo additional devices can be redirected"));
I keep thinking that if they are 'in use' they aren't availabe USB
channels. Maybe the first sentence could be "All USB channels are in
use" ?
My english is definetly not good so maybe the former is much better then
my suggestion.
You changed the identation format but both are fine, patch looks good.
> return FALSE;
> }
>
> diff --git a/src/usb-device-widget.c b/src/usb-device-widget.c
> index fe983c9..830bdce 100644
> --- a/src/usb-device-widget.c
> +++ b/src/usb-device-widget.c
> @@ -74,6 +74,7 @@ struct _SpiceUsbDeviceWidgetPrivate {
> GtkWidget *info_bar;
> gchar *err_msg;
> gsize device_count;
> + gboolean is_info_message;
> };
>
> static guint signals[LAST_SIGNAL] = { 0, };
> @@ -381,6 +382,10 @@ static void check_can_redirect(GtkWidget *widget, gpointer user_data)
> /* If we cannot redirect this device, append the error message to
> err_msg, but only if it is *not* already there! */
> if (!can_redirect) {
> + priv->is_info_message = g_error_matches(err,
> + SPICE_CLIENT_ERROR,
> + SPICE_CLIENT_ERROR_USB_NO_FREE_CHANNELS_AVAILABLE);
> +
> if (priv->err_msg) {
> if (!strstr(priv->err_msg, err->message)) {
> gchar *old_err_msg = priv->err_msg;
> @@ -407,8 +412,9 @@ static gboolean spice_usb_device_widget_update_status(gpointer user_data)
>
> if (priv->err_msg) {
> spice_usb_device_widget_show_info_bar(self, priv->err_msg,
> - GTK_MESSAGE_INFO,
> - GTK_STOCK_DIALOG_WARNING);
> + GTK_MESSAGE_INFO,
> + priv->is_info_message ?
> + GTK_STOCK_DIALOG_INFO : GTK_STOCK_DIALOG_WARNING);
> g_free(priv->err_msg);
> priv->err_msg = NULL;
> } else {
> --
> 2.5.0
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list