[virt-tools-list] [PATCH virt-viewer 05/10] remote-viewer: Make ovirt-foreign-menu a property
Eduardo Lima (Etrunko)
etrunko at redhat.com
Wed Jan 18 11:53:42 UTC 2017
On 17/01/17 14:00, Christophe Fergeau wrote:
> On Fri, Jan 13, 2017 at 07:11:07PM -0200, Eduardo Lima (Etrunko) wrote:
>> The OvirtForeignMenu pointer is needed by the new ISO list dialog, and
>> we make it acessible via property to avoid interdependency between
>> objects.
>>
>> Signed-off-by: Eduardo Lima (Etrunko) <etrunko at redhat.com>
>> ---
>> src/remote-viewer-iso-list-dialog.c | 31 +++++++++++++++++++++++--------
>> src/remote-viewer-iso-list-dialog.h | 2 +-
>> src/remote-viewer.c | 37 +++++++++++++++++++++++++++++++++++++
>> 3 files changed, 61 insertions(+), 9 deletions(-)
>>
>> diff --git a/src/remote-viewer-iso-list-dialog.c b/src/remote-viewer-iso-list-dialog.c
>> index 0fbea28..858719c 100644
>> --- a/src/remote-viewer-iso-list-dialog.c
>> +++ b/src/remote-viewer-iso-list-dialog.c
>> @@ -24,6 +24,7 @@
>>
>> #include "remote-viewer-iso-list-dialog.h"
>> #include "virt-viewer-util.h"
>> +#include "ovirt-foreign-menu.h"
>>
>> G_DEFINE_TYPE(RemoteViewerISOListDialog, remote_viewer_iso_list_dialog, GTK_TYPE_DIALOG)
>>
>> @@ -33,11 +34,16 @@ G_DEFINE_TYPE(RemoteViewerISOListDialog, remote_viewer_iso_list_dialog, GTK_TYPE
>> struct _RemoteViewerISOListDialogPrivate
>> {
>> GtkWidget *stack;
>> + OvirtForeignMenu *foreign_menu;
>> };
>>
>> static void
>> remote_viewer_iso_list_dialog_dispose(GObject *object)
>> {
>> + RemoteViewerISOListDialog *self = REMOTE_VIEWER_ISO_LIST_DIALOG(object);
>> + RemoteViewerISOListDialogPrivate *priv = self->priv;
>> +
>> + g_clear_object(&priv->foreign_menu);
>> G_OBJECT_CLASS(remote_viewer_iso_list_dialog_parent_class)->dispose(object);
>> }
>>
>> @@ -94,13 +100,22 @@ remote_viewer_iso_list_dialog_init(RemoteViewerISOListDialog *self)
>> }
>>
>> GtkWidget *
>> -remote_viewer_iso_list_dialog_new(GtkWindow *parent)
>> +remote_viewer_iso_list_dialog_new(GtkWindow *parent, GObject *foreign_menu)
>> {
>> - return g_object_new(REMOTE_VIEWER_TYPE_ISO_LIST_DIALOG,
>> - "title", _("Change CD"),
>> - "transient-for", parent,
>> - "border-width", 18,
>> - "default-width", 400,
>> - "default-height", 300,
>> - NULL);
>> + GtkWidget *dialog;
>> + RemoteViewerISOListDialog *self;
>> +
>> + g_return_val_if_fail(foreign_menu != NULL, NULL);
>> +
>> + dialog = g_object_new(REMOTE_VIEWER_TYPE_ISO_LIST_DIALOG,
>> + "title", _("Change CD"),
>> + "transient-for", parent,
>> + "border-width", 18,
>> + "default-width", 400,
>> + "default-height", 300,
>> + NULL);
>> +
>> + self = REMOTE_VIEWER_ISO_LIST_DIALOG(dialog);
>> + self->priv->foreign_menu = OVIRT_FOREIGN_MENU(g_object_ref(foreign_menu));
>
> Fwiw, a construct-only GObject property would be more expected (but you
> can keep it this way i f you think it's better).
No objections, I will change it.
>
>> + return dialog;
>> }
>> diff --git a/src/remote-viewer-iso-list-dialog.h b/src/remote-viewer-iso-list-dialog.h
>> index def841b..8b936f5 100644
>> --- a/src/remote-viewer-iso-list-dialog.h
>> +++ b/src/remote-viewer-iso-list-dialog.h
>> @@ -51,7 +51,7 @@ struct _RemoteViewerISOListDialogClass
>>
>> GType remote_viewer_iso_list_dialog_get_type(void) G_GNUC_CONST;
>>
>> -GtkWidget *remote_viewer_iso_list_dialog_new(GtkWindow *parent);
>> +GtkWidget *remote_viewer_iso_list_dialog_new(GtkWindow *parent, GObject *foreign_menu);
>>
>> G_END_DECLS
>>
>
> The remote-viewer-iso-list-dialog.[ch] changes are odd in this patch,
> they don't have much to do with the added
> RemoteViewer::ovirt-foreign-menu property at this point.
> I think this part of the patch can probably be merged with the previous
> one, the property addition can be done before that.
>
Thanks for the review.
--
Eduardo de Barros Lima (Etrunko)
Software Engineer - RedHat
etrunko at redhat.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20170118/c56ab4e1/attachment.sig>
More information about the virt-tools-list
mailing list