Re: [virt-tools-list] [virt-viewer] app: Always add guest name comment

2018-08-31 Thread Christophe Fergeau

Acked-by: Christophe Fergeau 

On Thu, Aug 30, 2018 at 01:56:27PM +0200, Victor Toso wrote:
> From: Victor Toso 
> 
> Even when the user adds comments, we should place the guest's name
> unless it is present already.
> 
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1623756
> 
> Signed-off-by: Victor Toso 
> ---
>  src/virt-viewer-app.c | 10 +++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
> index cd0c7ad..e0e6e63 100644
> --- a/src/virt-viewer-app.c
> +++ b/src/virt-viewer-app.c
> @@ -256,9 +256,13 @@ virt_viewer_app_save_config(VirtViewerApp *self)
>  if (error) {
>  g_debug("Unable to get comment from key file: %s", 
> error->message);
>  g_clear_error();
> -} else {
> -if (!comment || *comment == '\0')
> -g_key_file_set_comment(priv->config, priv->uuid, NULL, 
> priv->guest_name, NULL);
> +}
> +
> +if (comment == NULL ||
> +(comment != NULL && g_strstr_len(comment, -1, 
> priv->guest_name) == NULL)) {
> +/* Note that this function appends the guest's name string as 
> last
> + * comment in case there were comments there already */
> +g_key_file_set_comment(priv->config, priv->uuid, NULL, 
> priv->guest_name, NULL);
>  }
>  g_free(comment);
>  }
> -- 
> 2.17.1
> 
> ___
> virt-tools-list mailing list
> virt-tools-list@redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH 06/22] window: do not reset sensitivity of menu-send in rebuild

2018-08-31 Thread Victor Toso
Hi,

On Fri, Aug 31, 2018 at 01:18:31PM +0200, Marc-André Lureau wrote:
> Hi
> 
> On Fri, Aug 31, 2018 at 1:14 PM, Marc-André Lureau
>  wrote:
> > Hi
> >
> > On Fri, Aug 31, 2018 at 8:32 AM, Victor Toso  wrote:
> >> Hi,
> >>
> >> On Tue, Jul 31, 2018 at 03:41:09PM +0200, marcandre.lur...@redhat.com 
> >> wrote:
> >>> From: Marc-André Lureau 
> >>>
> >>> A mere app::enable-accel notification shouldn't modify the
> >>> sensitivity, which is handled for all menu items elsewhere, leave the
> >>> current state untouched.
> >>>
> >>> Signed-off-by: Marc-André Lureau 
> >>
> >> Not sure if this could introduce regression around
> >> https://bugzilla.redhat.com/show_bug.cgi?id=1152574
> >>
> >> Before, the code was always setting sensitive to FALSE on
> >> app:enable-accel. With Jonathon's commit 65560fa4664e, it was
> >> changed to take in consideration if display existed.
> >>
> >> Not sure how to test.
> >>
> >
> > I lack arguments on why this patch was needed, let's drop it for now.
> > I'll add it back when I remember or can better explain the reason.
> >
> > thanks
> >
> 
> Ah, looking at the following patch helps a bit.
> 
> The sensitivy of "menu-send" is getting more complex. I tried
> to have a single place to put the logic.

Right.

> So rebuild_combo_menu() is called in 2 cases:
> 1. notify::enable-accel: there is no need to update the
> sensitivy of "menu-send", ok
> 2. on construction: default to false since display == NULL. It will be
> later updated when virt_viewer_window_set_menus_sensitive()
>
> I think the correct patch is to move gtk_widget_set_sensitive(menu,
> FALSE) in virt_viewer_window_constructed.
> 
> Does it make sense? I'll updatre the patch.

Yes, it does make sense to have the sensitive set to FALSE on construct
while setting it to TRUE when we already have a VirtViewerDisplay
on virt_viewer_window_set_menus_sensitive() but I take that is
already the case with this patch, no?

I tested with your previous patch that set the sensitive to FALSE
in the .ui instead of virt_viewer_window_init(). The worrisome
situation is when there is a problem with display channel and we
would like to send-key using the menu but I fail to see how
removing gtk_widget_set_sensitive() call from enable-accel
handler would affect it (and cause regression over rhbz#1152574).

I think this patch is fine as is, it might be good to add that
the intention is to reduce/concentrate the paths that change
menu's sensitive.

Victor


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH 07/22] window: set sensitivity based on display capability

2018-08-31 Thread Marc-André Lureau
Hi

On Fri, Aug 31, 2018 at 8:43 AM, Victor Toso  wrote:
> Hi,
>
> On Tue, Jul 31, 2018 at 03:41:10PM +0200, marcandre.lur...@redhat.com wrote:
>> From: Marc-André Lureau 
>
> I take this is a preparatory patch for VTE, could you please add
> some rationale in the commit log on why this was needed?

Indeed, a following patch is adding a new display that won't have the
send_key() or screenshot() callbacks. Activating those menu/actions
would lead to crash. I chose to keep the UI consistent for all
display, but disable the menu sensitivy.

I'll update the commit message.

>> Signed-off-by: Marc-André Lureau 
>> ---
>>  src/virt-viewer-display.h |  6 ++
>>  src/virt-viewer-window.c  | 14 ++
>>  2 files changed, 16 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/virt-viewer-display.h b/src/virt-viewer-display.h
>> index 7016a85..eadc333 100644
>> --- a/src/virt-viewer-display.h
>> +++ b/src/virt-viewer-display.h
>> @@ -86,6 +86,12 @@ struct _VirtViewerDisplayClass {
>>  void (*disable)(VirtViewerDisplay *display);
>>  };
>>
>> +#define VIRT_VIEWER_DISPLAY_CAN_SCREENSHOT(display) \
>> +(VIRT_VIEWER_DISPLAY_GET_CLASS(display)->get_pixbuf != NULL)
>> +
>> +#define VIRT_VIEWER_DISPLAY_CAN_SEND_KEYS(display) \
>> +(VIRT_VIEWER_DISPLAY_GET_CLASS(display)->send_keys != NULL)
>> +
>>  GType virt_viewer_display_get_type(void);
>>
>>  GtkWidget *virt_viewer_display_new(void);
>> diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
>> index b9b8ce9..ec9bae6 100644
>> --- a/src/virt-viewer-window.c
>> +++ b/src/virt-viewer-window.c
>> @@ -1339,15 +1339,21 @@ 
>> virt_viewer_window_set_menus_sensitive(VirtViewerWindow *self, gboolean 
>> sensitiv
>>  gtk_widget_set_sensitive(menu, sensitive);
>>
>>  menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, 
>> "menu-file-screenshot"));
>> -gtk_widget_set_sensitive(menu, sensitive);
>> +gtk_widget_set_sensitive(menu, sensitive && self->priv->display != NULL 
>> &&
>> + 
>> VIRT_VIEWER_DISPLAY_CAN_SCREENSHOT(self->priv->display));
>
> Why not moving the display != NULL check into the macro?

ok

>
>>  menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, 
>> "menu-view-zoom"));
>>  gtk_widget_set_sensitive(menu, sensitive);
>>
>> -menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-send"));
>> -gtk_widget_set_sensitive(menu, sensitive);
>> +{
>> +gboolean can_send = sensitive && self->priv->display != NULL &&
>> +VIRT_VIEWER_DISPLAY_CAN_SEND_KEYS(self->priv->display);
>
> Ditto.
>
>>
>> -gtk_widget_set_sensitive(self->priv->toolbar_send_key, sensitive);
>> +menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, 
>> "menu-send"));
>> +gtk_widget_set_sensitive(menu, can_send);
>> +
>> +gtk_widget_set_sensitive(self->priv->toolbar_send_key, can_send);
>> +}
>>  }
>
> Cheers,
> Victor

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH 06/22] window: do not reset sensitivity of menu-send in rebuild

2018-08-31 Thread Marc-André Lureau
Hi

On Fri, Aug 31, 2018 at 8:32 AM, Victor Toso  wrote:
> Hi,
>
> On Tue, Jul 31, 2018 at 03:41:09PM +0200, marcandre.lur...@redhat.com wrote:
>> From: Marc-André Lureau 
>>
>> A mere app::enable-accel notification shouldn't modify the
>> sensitivity, which is handled for all menu items elsewhere, leave the
>> current state untouched.
>>
>> Signed-off-by: Marc-André Lureau 
>
> Not sure if this could introduce regression around
> https://bugzilla.redhat.com/show_bug.cgi?id=1152574
>
> Before, the code was always setting sensitive to FALSE on
> app:enable-accel. With Jonathon's commit 65560fa4664e, it was
> changed to take in consideration if display existed.
>
> Not sure how to test.
>

I lack arguments on why this patch was needed, let's drop it for now.
I'll add it back when I remember or can better explain the reason.

thanks

>> ---
>>  src/virt-viewer-window.c | 1 -
>>  1 file changed, 1 deletion(-)
>>
>> diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
>> index 301a3bf..b9b8ce9 100644
>> --- a/src/virt-viewer-window.c
>> +++ b/src/virt-viewer-window.c
>> @@ -219,7 +219,6 @@ rebuild_combo_menu(GObject*gobject G_GNUC_UNUSED,
>>  menu = GTK_WIDGET(gtk_builder_get_object(self->priv->builder, 
>> "menu-send"));
>>  gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu),
>>
>> GTK_WIDGET(virt_viewer_window_get_keycombo_menu(self)));
>> -gtk_widget_set_sensitive(menu, (self->priv->display != NULL));
>>  }
>>
>>  static void
>> --
>> 2.18.0.321.gffc6fa0e39

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

[virt-tools-list] [virt-manager PATCH 0/2] show ip in details page of domain interface

2018-08-31 Thread Lin Ma
Uses lease, agent and arp to try to get ipv4 and ipv6 address of given interface

Lin Ma (2):
  domain: Add function interface_addresses to return ipv4 and ipv6
  details: Show ipv4 and ipv6 address in details page of interface

 ui/details.ui  | 79 ++
 virtManager/details.py | 59 +
 virtManager/domain.py  | 27 +
 3 files changed, 165 insertions(+)

-- 
2.15.1

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


[virt-tools-list] [virt-manager PATCH 1/2] domain: Add function interface_addresses to return ipv4 and ipv6

2018-08-31 Thread Lin Ma
It returns a dict that consisting of ipv4 and ipv6 which only match the
given mac, it returns None in exception.

Signed-off-by: Lin Ma 
---
 virtManager/domain.py | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/virtManager/domain.py b/virtManager/domain.py
index 5af6ee01..77de7ae7 100644
--- a/virtManager/domain.py
+++ b/virtManager/domain.py
@@ -1130,6 +1130,33 @@ class vmmDomain(vmmLibvirtObject):
 
 return self._backend.openGraphicsFD(0, flags)
 
+def interface_addresses(self, source, mac):
+def extract(info, mac):
+import re
+addrs = None
+ipv4 = None
+ipv6 = None
+for iface in info:
+if iface != "lo" and info[iface]["hwaddr"] == mac:
+addrs = info[iface]["addrs"]
+break
+# In case of both of ipv4 and ipv6 not found
+if addrs is None:
+return {'ipv4': ipv4, 'ipv6': ipv6}
+for addr in addrs:
+if addr["type"] == 0:
+ipv4 = addr["addr"] + "/" + str(addr["prefix"])
+elif addr["type"] == 1 and not re.match("^fe80", addr["addr"]):
+ipv6 = addr["addr"] + "/" + str(addr["prefix"])
+return {'ipv4': ipv4, 'ipv6': ipv6}
+
+try:
+all_addrinfo = self._backend.interfaceAddresses(source)
+addrinfo = extract(all_addrinfo, mac)
+except Exception:
+addrinfo = None
+return addrinfo
+
 def refresh_snapshots(self):
 self._snapshot_list = None
 
-- 
2.15.1

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


[virt-tools-list] [virt-manager PATCH 2/2] details: Show ipv4 and ipv6 address in details page of interface

2018-08-31 Thread Lin Ma
If the interface's type is 'network', then code uses lease as one of
parameters of interface_addresses to get ipv4 and ipv6 address.
If the result is negative, then uses agent to try again, If the result
is still negative, uses arp for final try.

Signed-off-by: Lin Ma 
---
 ui/details.ui  | 79 ++
 virtManager/details.py | 59 +
 2 files changed, 138 insertions(+)

diff --git a/ui/details.ui b/ui/details.ui
index 5a35a156..be29eb7a 100644
--- a/ui/details.ui
+++ b/ui/details.ui
@@ -4043,6 +4043,85 @@
 3
   
 
+
+  
+Show 
IP
+image6
+True
+True
+False
+True
+
+
+  
+True
+False
+gtk-refresh
+  
+
+  
+  
+0
+4
+  
+
+
+  
+True
+False
+3
+
+  
+IPv4:
+True
+False
+start
+  
+  
+0
+0
+  
+
+
+  
+True
+False
+start
+  
+  
+1
+0
+  
+
+
+  
+IPv6:
+True
+False
+start
+  
+  
+0
+1
+  
+
+
+  
+True
+False
+start
+  
+  
+1
+1
+  
+
+  
+  
+1
+4
+  
+
   
 
   
diff --git a/virtManager/details.py b/virtManager/details.py
index e670d21f..67c936b4 100644
--- a/virtManager/details.py
+++ b/virtManager/details.py
@@ -548,6 +548,7 @@ class vmmDetails(vmmGObjectUI):
 EDIT_NET_MAC),
 

Re: [virt-tools-list] [PATCH 08/22] display: make klass->close() optional

2018-08-31 Thread Victor Toso
Hi,

On Tue, Jul 31, 2018 at 03:41:11PM +0200, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> Spice and VTE display do not need to implement it.
> 
> Signed-off-by: Marc-André Lureau 
Acked-by: Victor Toso 
> ---
>  src/virt-viewer-display-spice.c | 8 
>  src/virt-viewer-display.c   | 5 ++---
>  2 files changed, 2 insertions(+), 11 deletions(-)
> 
> diff --git a/src/virt-viewer-display-spice.c b/src/virt-viewer-display-spice.c
> index f9b383b..68be8ac 100644
> --- a/src/virt-viewer-display-spice.c
> +++ b/src/virt-viewer-display-spice.c
> @@ -56,7 +56,6 @@ static void 
> virt_viewer_display_spice_send_keys(VirtViewerDisplay *display,
>  int nkeyvals);
>  static GdkPixbuf *virt_viewer_display_spice_get_pixbuf(VirtViewerDisplay 
> *display);
>  static void virt_viewer_display_spice_release_cursor(VirtViewerDisplay 
> *display);
> -static void virt_viewer_display_spice_close(VirtViewerDisplay *display 
> G_GNUC_UNUSED);
>  static gboolean virt_viewer_display_spice_selectable(VirtViewerDisplay 
> *display);
>  static void virt_viewer_display_spice_enable(VirtViewerDisplay *display);
>  static void virt_viewer_display_spice_disable(VirtViewerDisplay *display);
> @@ -69,7 +68,6 @@ 
> virt_viewer_display_spice_class_init(VirtViewerDisplaySpiceClass *klass)
>  dclass->send_keys = virt_viewer_display_spice_send_keys;
>  dclass->get_pixbuf = virt_viewer_display_spice_get_pixbuf;
>  dclass->release_cursor = virt_viewer_display_spice_release_cursor;
> -dclass->close = virt_viewer_display_spice_close;
>  dclass->selectable = virt_viewer_display_spice_selectable;
>  dclass->enable = virt_viewer_display_spice_enable;
>  dclass->disable = virt_viewer_display_spice_disable;
> @@ -348,12 +346,6 @@ 
> virt_viewer_display_spice_release_cursor(VirtViewerDisplay *display)
>  spice_display_mouse_ungrab(self->priv->display);
>  }
>  
> -
> -static void
> -virt_viewer_display_spice_close(VirtViewerDisplay *display G_GNUC_UNUSED)
> -{
> -}
> -
>  static gboolean
>  virt_viewer_display_spice_selectable(VirtViewerDisplay *self)
>  {
> diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c
> index 011328e..b3cc095 100644
> --- a/src/virt-viewer-display.c
> +++ b/src/virt-viewer-display.c
> @@ -657,9 +657,8 @@ void virt_viewer_display_close(VirtViewerDisplay *self)
>  g_return_if_fail(VIRT_VIEWER_IS_DISPLAY(self));
>  
>  klass = VIRT_VIEWER_DISPLAY_GET_CLASS(self);
> -g_return_if_fail(klass->close != NULL);
> -
> -klass->close(self);
> +if (klass->close)
> +klass->close(self);
>  }
>  
>  void virt_viewer_display_set_fullscreen(VirtViewerDisplay *self, gboolean 
> fullscreen)
> -- 
> 2.18.0.321.gffc6fa0e39


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH 08/22] display: make klass->close() optional

2018-08-31 Thread Victor Toso
Hi,

On Tue, Jul 31, 2018 at 03:41:11PM +0200, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> Spice and VTE display do not need to implement it.
> 
> Signed-off-by: Marc-André Lureau 

Acked-by: Victor Toso 

> ---
>  src/virt-viewer-display-spice.c | 8 
>  src/virt-viewer-display.c   | 5 ++---
>  2 files changed, 2 insertions(+), 11 deletions(-)
> 
> diff --git a/src/virt-viewer-display-spice.c b/src/virt-viewer-display-spice.c
> index f9b383b..68be8ac 100644
> --- a/src/virt-viewer-display-spice.c
> +++ b/src/virt-viewer-display-spice.c
> @@ -56,7 +56,6 @@ static void 
> virt_viewer_display_spice_send_keys(VirtViewerDisplay *display,
>  int nkeyvals);
>  static GdkPixbuf *virt_viewer_display_spice_get_pixbuf(VirtViewerDisplay 
> *display);
>  static void virt_viewer_display_spice_release_cursor(VirtViewerDisplay 
> *display);
> -static void virt_viewer_display_spice_close(VirtViewerDisplay *display 
> G_GNUC_UNUSED);
>  static gboolean virt_viewer_display_spice_selectable(VirtViewerDisplay 
> *display);
>  static void virt_viewer_display_spice_enable(VirtViewerDisplay *display);
>  static void virt_viewer_display_spice_disable(VirtViewerDisplay *display);
> @@ -69,7 +68,6 @@ 
> virt_viewer_display_spice_class_init(VirtViewerDisplaySpiceClass *klass)
>  dclass->send_keys = virt_viewer_display_spice_send_keys;
>  dclass->get_pixbuf = virt_viewer_display_spice_get_pixbuf;
>  dclass->release_cursor = virt_viewer_display_spice_release_cursor;
> -dclass->close = virt_viewer_display_spice_close;
>  dclass->selectable = virt_viewer_display_spice_selectable;
>  dclass->enable = virt_viewer_display_spice_enable;
>  dclass->disable = virt_viewer_display_spice_disable;
> @@ -348,12 +346,6 @@ 
> virt_viewer_display_spice_release_cursor(VirtViewerDisplay *display)
>  spice_display_mouse_ungrab(self->priv->display);
>  }
>  
> -
> -static void
> -virt_viewer_display_spice_close(VirtViewerDisplay *display G_GNUC_UNUSED)
> -{
> -}
> -
>  static gboolean
>  virt_viewer_display_spice_selectable(VirtViewerDisplay *self)
>  {
> diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c
> index 011328e..b3cc095 100644
> --- a/src/virt-viewer-display.c
> +++ b/src/virt-viewer-display.c
> @@ -657,9 +657,8 @@ void virt_viewer_display_close(VirtViewerDisplay *self)
>  g_return_if_fail(VIRT_VIEWER_IS_DISPLAY(self));
>  
>  klass = VIRT_VIEWER_DISPLAY_GET_CLASS(self);
> -g_return_if_fail(klass->close != NULL);
> -
> -klass->close(self);
> +if (klass->close)
> +klass->close(self);
>  }
>  
>  void virt_viewer_display_set_fullscreen(VirtViewerDisplay *self, gboolean 
> fullscreen)
> -- 
> 2.18.0.321.gffc6fa0e39


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH 07/22] window: set sensitivity based on display capability

2018-08-31 Thread Victor Toso
Hi,

On Tue, Jul 31, 2018 at 03:41:10PM +0200, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 

I take this is a preparatory patch for VTE, could you please add
some rationale in the commit log on why this was needed?

> Signed-off-by: Marc-André Lureau 
> ---
>  src/virt-viewer-display.h |  6 ++
>  src/virt-viewer-window.c  | 14 ++
>  2 files changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/src/virt-viewer-display.h b/src/virt-viewer-display.h
> index 7016a85..eadc333 100644
> --- a/src/virt-viewer-display.h
> +++ b/src/virt-viewer-display.h
> @@ -86,6 +86,12 @@ struct _VirtViewerDisplayClass {
>  void (*disable)(VirtViewerDisplay *display);
>  };
>  
> +#define VIRT_VIEWER_DISPLAY_CAN_SCREENSHOT(display) \
> +(VIRT_VIEWER_DISPLAY_GET_CLASS(display)->get_pixbuf != NULL)
> +
> +#define VIRT_VIEWER_DISPLAY_CAN_SEND_KEYS(display) \
> +(VIRT_VIEWER_DISPLAY_GET_CLASS(display)->send_keys != NULL)
> +
>  GType virt_viewer_display_get_type(void);
>  
>  GtkWidget *virt_viewer_display_new(void);
> diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
> index b9b8ce9..ec9bae6 100644
> --- a/src/virt-viewer-window.c
> +++ b/src/virt-viewer-window.c
> @@ -1339,15 +1339,21 @@ 
> virt_viewer_window_set_menus_sensitive(VirtViewerWindow *self, gboolean 
> sensitiv
>  gtk_widget_set_sensitive(menu, sensitive);
>  
>  menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, 
> "menu-file-screenshot"));
> -gtk_widget_set_sensitive(menu, sensitive);
> +gtk_widget_set_sensitive(menu, sensitive && self->priv->display != NULL 
> &&
> + 
> VIRT_VIEWER_DISPLAY_CAN_SCREENSHOT(self->priv->display));

Why not moving the display != NULL check into the macro?

>  menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, 
> "menu-view-zoom"));
>  gtk_widget_set_sensitive(menu, sensitive);
>  
> -menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-send"));
> -gtk_widget_set_sensitive(menu, sensitive);
> +{
> +gboolean can_send = sensitive && self->priv->display != NULL &&
> +VIRT_VIEWER_DISPLAY_CAN_SEND_KEYS(self->priv->display);

Ditto.

>  
> -gtk_widget_set_sensitive(self->priv->toolbar_send_key, sensitive);
> +menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, 
> "menu-send"));
> +gtk_widget_set_sensitive(menu, can_send);
> +
> +gtk_widget_set_sensitive(self->priv->toolbar_send_key, can_send);
> +}
>  }

Cheers,
Victor


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH 06/22] window: do not reset sensitivity of menu-send in rebuild

2018-08-31 Thread Victor Toso
Hi,

On Tue, Jul 31, 2018 at 03:41:09PM +0200, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> A mere app::enable-accel notification shouldn't modify the
> sensitivity, which is handled for all menu items elsewhere, leave the
> current state untouched.
> 
> Signed-off-by: Marc-André Lureau 

Not sure if this could introduce regression around
https://bugzilla.redhat.com/show_bug.cgi?id=1152574

Before, the code was always setting sensitive to FALSE on
app:enable-accel. With Jonathon's commit 65560fa4664e, it was
changed to take in consideration if display existed.

Not sure how to test.

> ---
>  src/virt-viewer-window.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
> index 301a3bf..b9b8ce9 100644
> --- a/src/virt-viewer-window.c
> +++ b/src/virt-viewer-window.c
> @@ -219,7 +219,6 @@ rebuild_combo_menu(GObject*gobject G_GNUC_UNUSED,
>  menu = GTK_WIDGET(gtk_builder_get_object(self->priv->builder, 
> "menu-send"));
>  gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu),
>
> GTK_WIDGET(virt_viewer_window_get_keycombo_menu(self)));
> -gtk_widget_set_sensitive(menu, (self->priv->display != NULL));
>  }
>  
>  static void
> -- 
> 2.18.0.321.gffc6fa0e39


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH 05/22] window: move default sensitivity in .ui

2018-08-31 Thread Victor Toso
On Tue, Jul 31, 2018 at 03:41:08PM +0200, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> Instead of modifying it in object initialization.
> 
> Signed-off-by: Marc-André Lureau 
> ---
>  src/resources/ui/virt-viewer.ui | 4 
>  src/virt-viewer-window.c| 5 -
>  2 files changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/src/resources/ui/virt-viewer.ui b/src/resources/ui/virt-viewer.ui
> index e9609ec..9da1403 100644
> --- a/src/resources/ui/virt-viewer.ui
> +++ b/src/resources/ui/virt-viewer.ui
> @@ -34,6 +34,7 @@
>  accelgroup
>  
> id="menu-file-screenshot">
> +False
>  True
>  False
>   name="use_action_appearance">False
> @@ -83,6 +84,7 @@
>  
>  
>
> +False
>  True
>  False
>   translatable="yes">_Preferences
> @@ -136,6 +138,7 @@
>  
>  
>
> +False
>  True
>  False
>   name="use_action_appearance">False
> @@ -214,6 +217,7 @@
>  
>  
>
> +False
>  True
>  False
>  False
> diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
> index 4b48e31..301a3bf 100644
> --- a/src/virt-viewer-window.c
> +++ b/src/virt-viewer-window.c
> @@ -313,11 +313,6 @@ virt_viewer_window_init (VirtViewerWindow *self)
>  
>  priv->builder = virt_viewer_util_load_ui("virt-viewer.ui");
>  
> -
> gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder,
>  "menu-send")), FALSE);
> -
> gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder,
>  "menu-view-zoom")), FALSE);
> -
> gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder,
>  "menu-file-screenshot")), FALSE);
> -
> gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder,
>  "menu-preferences")), FALSE);
> -

Tested by destroying and starting vm again, looks fine.
Acked-by: Victor Toso 

>  gtk_builder_connect_signals(priv->builder, self);
>  
>  priv->accel_group = 
> GTK_ACCEL_GROUP(gtk_builder_get_object(priv->builder, "accelgroup"));
> -- 
> 2.18.0.321.gffc6fa0e39


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [PATCH 04/22] window: use virt_viewer_window_set_menus_sensitive()

2018-08-31 Thread Victor Toso
Hi,

On Tue, Jul 31, 2018 at 03:41:07PM +0200, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
> 
> virt_viewer_window_set_menus_sensitive() is the common function to set
> sensitivity on menu items.
> 
> It was lacking "toolbar_send_key", so add it there too.
> 
> Signed-off-by: Marc-André Lureau 

Acked-by: Victor Toso 

> ---
>  src/virt-viewer-window.c | 7 +++
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
> index af3441f..4b48e31 100644
> --- a/src/virt-viewer-window.c
> +++ b/src/virt-viewer-window.c
> @@ -1352,6 +1352,8 @@ virt_viewer_window_set_menus_sensitive(VirtViewerWindow 
> *self, gboolean sensitiv
>  
>  menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-send"));
>  gtk_widget_set_sensitive(menu, sensitive);
> +
> +gtk_widget_set_sensitive(self->priv->toolbar_send_key, sensitive);
>  }
>  
>  static void
> @@ -1432,10 +1434,7 @@ virt_viewer_window_set_display(VirtViewerWindow *self, 
> VirtViewerDisplay *displa
>  if (virt_viewer_display_get_enabled(display))
>  virt_viewer_window_desktop_resize(display, self);
>  
> -
> gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder,
>  "menu-preferences")), TRUE);
> -
> gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder,
>  "menu-view-zoom")), TRUE);
> -
> gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(self->priv->builder,
>  "menu-send")), TRUE);
> -gtk_widget_set_sensitive(self->priv->toolbar_send_key, TRUE);
> +virt_viewer_window_set_menus_sensitive(self, TRUE);
>  }
>  }
>  
> -- 
> 2.18.0.321.gffc6fa0e39


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list