After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 777497 - Port Boxes.Notification from Gd.Notification to GtkRevealer
Port Boxes.Notification from Gd.Notification to GtkRevealer
Status: RESOLVED FIXED
Product: gnome-boxes
Classification: Applications
Component: general
3.23.x
Other Linux
: Normal normal
: --
Assigned To: GNOME Boxes maintainer(s)
GNOME Boxes maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2017-01-19 15:25 UTC by Felipe Borges
Modified: 2017-01-30 11:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
notificationbar: Remove usage of Gd.Notification (5.82 KB, patch)
2017-01-19 15:26 UTC, Felipe Borges
needs-work Details | Review
machine: Remove usage of Gd.Notification (1.02 KB, patch)
2017-01-19 15:26 UTC, Felipe Borges
none Details | Review
libvirt-machine: Remove usage of Gd.Notification (1.08 KB, patch)
2017-01-19 15:26 UTC, Felipe Borges
none Details | Review
notification: Port Boxes.Notification to GtkRevealer (3.61 KB, patch)
2017-01-19 15:26 UTC, Felipe Borges
none Details | Review
Remove references to Gd.Notification (6.64 KB, patch)
2017-01-24 12:01 UTC, Felipe Borges
none Details | Review
notification: Port Boxes.Notification to GtkRevealer (3.61 KB, patch)
2017-01-24 12:01 UTC, Felipe Borges
none Details | Review
Remove references to Gd.Notification (6.66 KB, patch)
2017-01-25 09:40 UTC, Felipe Borges
none Details | Review
notification: Port Boxes.Notification to GtkRevealer (3.58 KB, patch)
2017-01-25 09:41 UTC, Felipe Borges
none Details | Review
Remove references to Gd.Notification (6.66 KB, patch)
2017-01-30 09:49 UTC, Felipe Borges
committed Details | Review
notification: Port Boxes.Notification to GtkRevealer (3.58 KB, patch)
2017-01-30 09:49 UTC, Felipe Borges
none Details | Review
notification: Port Boxes.Notification to GtkRevealer (3.73 KB, patch)
2017-01-30 09:50 UTC, Felipe Borges
committed Details | Review

Description Felipe Borges 2017-01-19 15:25:24 UTC
In the latest Core Apps Hackfest in November 2016, we discussed moving away from libgd to new Gtk+ widgets which are capable to provide the same features (the same way we did in 2530459), in doing so reducing more our dependency on libgd.

GtkRevealer combined with the "app-notification" class is enough to represent the notification concept nowadays.
Comment 1 Felipe Borges 2017-01-19 15:26:07 UTC
Created attachment 343803 [details] [review]
notificationbar: Remove usage of Gd.Notification

GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays.

This patch removes the references to the Boxes.Notification base
class: Gd.Notification. The following patches will reimplement
the notification widget.
Comment 2 Felipe Borges 2017-01-19 15:26:15 UTC
Created attachment 343804 [details] [review]
machine: Remove usage of Gd.Notification

GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays.

This patch removes the references to the Boxes.Notification base
class: Gd.Notification. The following patches will reimplement
the notification widget.
Comment 3 Felipe Borges 2017-01-19 15:26:22 UTC
Created attachment 343805 [details] [review]
libvirt-machine: Remove usage of Gd.Notification

GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays.

This patch removes the references to the Boxes.Notification base
class: Gd.Notification. The following patches will reimplement
the notification widget.
Comment 4 Felipe Borges 2017-01-19 15:26:30 UTC
Created attachment 343806 [details] [review]
notification: Port Boxes.Notification to GtkRevealer

GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays. We no longer need
to use Gd.Notification.
Comment 5 Felipe Borges 2017-01-19 15:27:27 UTC
(In reply to Felipe Borges from comment #2)
> Created attachment 343804 [details] [review] [review]
> machine: Remove usage of Gd.Notification
> 
> GtkRevealer combined with the "app-notification" class is enough
> to represent the notification concept nowadays.
> 
> This patch removes the references to the Boxes.Notification base
> class: Gd.Notification. The following patches will reimplement
> the notification widget.

this one specifically can wait for the port of Boxes.AuthNotification from Gd.Notification to Gtk.Revealer as well.
Comment 6 Zeeshan Ali 2017-01-24 11:48:17 UTC
Review of attachment 343803 [details] [review]:

1. Good work with commit messages but when writing the commit message, keep in mind that your primary focus should be the patch itself, rather than the bigger picture. This first para in this (and other similar patches) is confusing cause it's talking about the final change, rather than this one:

"GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays."

2. Patches removing Gd.Notification references seem one logical change to me so I'd suggest squashing them.
Comment 7 Felipe Borges 2017-01-24 12:01:22 UTC
Created attachment 344133 [details] [review]
Remove references to Gd.Notification

This patch removes the references to the Boxes.Notification base
class: Gd.Notification. The following patches will reimplement
the notification widget.
Comment 8 Felipe Borges 2017-01-24 12:01:27 UTC
Created attachment 344134 [details] [review]
notification: Port Boxes.Notification to GtkRevealer

GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays. We no longer need
to use Gd.Notification.
Comment 9 Zeeshan Ali 2017-01-24 14:10:23 UTC
Review of attachment 344133 [details] [review]:

Almost there but you know me. :)

Need to be a bit more specific than "the notification widget".
Comment 10 Zeeshan Ali 2017-01-24 14:15:11 UTC
Review of attachment 344134 [details] [review]:

Cool, would be nice to add reason for wanting to remove Gd.Notification dependency. E.g "This is part of the effort to drop the dependency on libgd".

::: src/notification.vala
@@ +27,3 @@
                          owned DismissFunc? dismiss_func,
                          int                timeout) {
+        set_reveal_child (true); // FIXME: Why this won't work from .ui file?

Recommend no "FIXME" without a bug reference so it can be removed when it's not needed or if explained the reason.
Comment 11 Felipe Borges 2017-01-25 09:40:27 UTC
(In reply to Zeeshan Ali (Khattak) from comment #10)
> Review of attachment 344134 [details] [review] [review]:
> 
> Cool, would be nice to add reason for wanting to remove Gd.Notification
> dependency. E.g "This is part of the effort to drop the dependency on libgd".
> 
> ::: src/notification.vala
> @@ +27,3 @@
>                           owned DismissFunc? dismiss_func,
>                           int                timeout) {
> +        set_reveal_child (true); // FIXME: Why this won't work from .ui
> file?
> 
> Recommend no "FIXME" without a bug reference so it can be removed when it's
> not needed or if explained the reason.

IMO it is more like a semantic bug. Since we are using templates and setting the property in the template, "reveal-child" as a "set construct" type of property might be prevented from being set by a child class.

I would just go with the setter method (set_reveal_child) here, since we are also calling it the same way in the dismiss method.
Comment 12 Felipe Borges 2017-01-25 09:40:56 UTC
Created attachment 344203 [details] [review]
Remove references to Gd.Notification

This patch removes the references to the Boxes.Notification base
class: Gd.Notification. The following patches will reimplement
Boxes.Notification using Gtk.Revealer instead.
Comment 13 Felipe Borges 2017-01-25 09:41:02 UTC
Created attachment 344204 [details] [review]
notification: Port Boxes.Notification to GtkRevealer

GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays. This is part of
the effort to drop the dependency on libgd.
Comment 14 Zeeshan Ali 2017-01-26 12:09:27 UTC
(In reply to Felipe Borges from comment #11)
> (In reply to Zeeshan Ali (Khattak) from comment #10)
> > Review of attachment 344134 [details] [review] [review] [review]:
> > 
> > Cool, would be nice to add reason for wanting to remove Gd.Notification
> > dependency. E.g "This is part of the effort to drop the dependency on libgd".
> > 
> > ::: src/notification.vala
> > @@ +27,3 @@
> >                           owned DismissFunc? dismiss_func,
> >                           int                timeout) {
> > +        set_reveal_child (true); // FIXME: Why this won't work from .ui
> > file?
> > 
> > Recommend no "FIXME" without a bug reference so it can be removed when it's
> > not needed or if explained the reason.
> 
> IMO it is more like a semantic bug. Since we are using templates and setting
> the property in the template, "reveal-child" as a "set construct" type of
> property might be prevented from being set by a child class.

Well if you know the reasons, then comment should have a summary of your reasons rather than FIXME. :)
Comment 15 Felipe Borges 2017-01-30 09:49:45 UTC
Created attachment 344512 [details] [review]
Remove references to Gd.Notification

This patch removes the references to the Boxes.Notification base
class: Gd.Notification. The following patches will reimplement
Boxes.Notification using Gtk.Revealer instead.
Comment 16 Felipe Borges 2017-01-30 09:49:55 UTC
Created attachment 344513 [details] [review]
notification: Port Boxes.Notification to GtkRevealer

GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays. This is part of
the effort to drop the dependency on libgd.
Comment 17 Felipe Borges 2017-01-30 09:50:43 UTC
Created attachment 344514 [details] [review]
notification: Port Boxes.Notification to GtkRevealer

GtkRevealer combined with the "app-notification" class is enough
to represent the notification concept nowadays. This is part of
the effort to drop the dependency on libgd.
Comment 18 Zeeshan Ali 2017-01-30 11:39:14 UTC
Review of attachment 344512 [details] [review]:

"Boxes.Notification base class" -> "base class of Boxes.Notification"
Comment 19 Zeeshan Ali 2017-01-30 11:40:27 UTC
Review of attachment 344514 [details] [review]:

ack
Comment 20 Felipe Borges 2017-01-30 11:50:25 UTC
Attachment 344512 [details] pushed as 597c6e0 - Remove references to Gd.Notification
Attachment 344514 [details] pushed as 2c85bc0 - notification: Port Boxes.Notification to GtkRevealer