[totem/wip/hadess/simplify-decls: 2/8] main: Simplify TotemSearchEntry declaration




commit 48e2a948fd47eb47377ba652df27c887b5a6e897
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Mar 31 16:13:04 2022 +0200

    main: Simplify TotemSearchEntry declaration

 src/totem-search-entry.c | 75 ++++++++++++++++++++++++------------------------
 src/totem-search-entry.h | 24 +---------------
 2 files changed, 38 insertions(+), 61 deletions(-)
---
diff --git a/src/totem-search-entry.c b/src/totem-search-entry.c
index cb46931c2..d5294d545 100644
--- a/src/totem-search-entry.c
+++ b/src/totem-search-entry.c
@@ -34,21 +34,22 @@ enum {
 
 static guint signals[LAST_SIGNAL] = { 0, };
 
-struct _TotemSearchEntryPrivate {
+struct _TotemSearchEntry {
+       GtkBox parent;
        GtkWidget *entry;
        GtkWidget *popover;
        GtkWidget *listbox;
        GdTaggedEntryTag *tag;
 };
 
-G_DEFINE_TYPE_WITH_PRIVATE (TotemSearchEntry, totem_search_entry, GTK_TYPE_BOX)
+G_DEFINE_TYPE (TotemSearchEntry, totem_search_entry, GTK_TYPE_BOX)
 
 static void
 totem_search_entry_finalize (GObject *obj)
 {
        TotemSearchEntry *self = TOTEM_SEARCH_ENTRY (obj);
 
-       g_clear_object (&self->priv->tag);
+       g_clear_object (&self->tag);
        /* The popover will be destroyed with it parent (us) */
 
        G_OBJECT_CLASS (totem_search_entry_parent_class)->finalize (obj);
@@ -60,7 +61,7 @@ entry_activate_cb (GtkEntry *entry,
 {
        const char *text;
 
-       text = gtk_entry_get_text (GTK_ENTRY (self->priv->entry));
+       text = gtk_entry_get_text (GTK_ENTRY (self->entry));
        if (text == NULL || *text == '\0')
                return;
        g_signal_emit (self, signals[SIGNAL_ACTIVATE], 0);
@@ -74,8 +75,8 @@ tag_clicked_cb (GdTaggedEntry    *entry,
        cairo_rectangle_int_t rect;
 
        if (gd_tagged_entry_tag_get_area (tag, &rect)) {
-               gtk_popover_set_pointing_to (GTK_POPOVER (self->priv->popover), &rect);
-               gtk_widget_show (self->priv->popover);
+               gtk_popover_set_pointing_to (GTK_POPOVER (self->popover), &rect);
+               gtk_widget_show (self->popover);
        }
 }
 
@@ -97,7 +98,7 @@ listbox_row_activated (GtkListBox    *list_box,
 
                        gtk_widget_set_opacity (check, 1.0);
                        label = g_object_get_data (G_OBJECT (l->data), "label");
-                       gd_tagged_entry_tag_set_label (self->priv->tag, label);
+                       gd_tagged_entry_tag_set_label (self->tag, label);
                        g_object_notify (G_OBJECT (self), "selected-id");
                } else {
                        gtk_widget_set_opacity (check, 0.0);
@@ -105,7 +106,7 @@ listbox_row_activated (GtkListBox    *list_box,
        }
        g_list_free (children);
 
-       gtk_widget_hide (self->priv->popover);
+       gtk_widget_hide (self->popover);
 }
 
 static int
@@ -134,7 +135,7 @@ static void
 popover_closed_cb (GtkPopover       *popover,
                   TotemSearchEntry *self)
 {
-       gtk_widget_grab_focus (self->priv->entry);
+       gtk_widget_grab_focus (self->entry);
 }
 
 static void
@@ -142,8 +143,6 @@ totem_search_entry_init (TotemSearchEntry *self)
 {
        GtkWidget *entry;
 
-       self->priv = totem_search_entry_get_instance_private (self);
-
        /* Entry */
        entry = GTK_WIDGET (gd_tagged_entry_new ());
        gd_tagged_entry_set_tag_button_visible (GD_TAGGED_ENTRY (entry), FALSE);
@@ -152,28 +151,28 @@ totem_search_entry_init (TotemSearchEntry *self)
                            TRUE, TRUE, 0);
        gtk_widget_show (entry);
 
-       self->priv->entry = entry;
+       self->entry = entry;
 
        /* Popover */
-       self->priv->popover = gtk_popover_new (GTK_WIDGET (self));
-       gtk_popover_set_modal (GTK_POPOVER (self->priv->popover), TRUE);
-       gtk_popover_set_position (GTK_POPOVER (self->priv->popover), GTK_POS_BOTTOM);
-       g_signal_connect (G_OBJECT (self->priv->popover), "closed",
+       self->popover = gtk_popover_new (GTK_WIDGET (self));
+       gtk_popover_set_modal (GTK_POPOVER (self->popover), TRUE);
+       gtk_popover_set_position (GTK_POPOVER (self->popover), GTK_POS_BOTTOM);
+       g_signal_connect (G_OBJECT (self->popover), "closed",
                          G_CALLBACK (popover_closed_cb), self);
 
-       self->priv->listbox = gtk_list_box_new ();
-       gtk_list_box_set_activate_on_single_click (GTK_LIST_BOX (self->priv->listbox), TRUE);
-       gtk_list_box_set_sort_func (GTK_LIST_BOX (self->priv->listbox), sort_sources, self, NULL);
-       gtk_widget_show (self->priv->listbox);
-       gtk_container_add (GTK_CONTAINER (self->priv->popover), self->priv->listbox);
+       self->listbox = gtk_list_box_new ();
+       gtk_list_box_set_activate_on_single_click (GTK_LIST_BOX (self->listbox), TRUE);
+       gtk_list_box_set_sort_func (GTK_LIST_BOX (self->listbox), sort_sources, self, NULL);
+       gtk_widget_show (self->listbox);
+       gtk_container_add (GTK_CONTAINER (self->popover), self->listbox);
 
-       g_signal_connect (self->priv->listbox, "row-activated",
+       g_signal_connect (self->listbox, "row-activated",
                          G_CALLBACK (listbox_row_activated), self);
 
        /* Connect signals */
-       g_signal_connect (self->priv->entry, "tag-clicked",
+       g_signal_connect (self->entry, "tag-clicked",
                          G_CALLBACK (tag_clicked_cb), self);
-       g_signal_connect (self->priv->entry, "activate",
+       g_signal_connect (self->entry, "activate",
                          G_CALLBACK (entry_activate_cb), self);
 }
 
@@ -266,10 +265,10 @@ totem_search_entry_add_source (TotemSearchEntry *self,
 
        g_return_if_fail (TOTEM_IS_SEARCH_ENTRY (self));
 
-       if (self->priv->tag == NULL) {
-               self->priv->tag = gd_tagged_entry_tag_new (label);
-               gd_tagged_entry_tag_set_has_close_button (self->priv->tag, FALSE);
-               gd_tagged_entry_insert_tag (GD_TAGGED_ENTRY (self->priv->entry), self->priv->tag, -1);
+       if (self->tag == NULL) {
+               self->tag = gd_tagged_entry_tag_new (label);
+               gd_tagged_entry_tag_set_has_close_button (self->tag, FALSE);
+               gd_tagged_entry_insert_tag (GD_TAGGED_ENTRY (self->entry), self->tag, -1);
                gtk_widget_set_sensitive (GTK_WIDGET (self), TRUE);
        }
 
@@ -290,11 +289,11 @@ totem_search_entry_add_source (TotemSearchEntry *self,
        g_object_set_data (G_OBJECT (item), "priority", GINT_TO_POINTER (priority));
 
        gtk_widget_show_all (item);
-       gtk_list_box_insert (GTK_LIST_BOX (self->priv->listbox), item, -1);
+       gtk_list_box_insert (GTK_LIST_BOX (self->listbox), item, -1);
 
        /* Is this the local one? */
        if (priority == 50) {
-               listbox_row_activated (GTK_LIST_BOX (self->priv->listbox),
+               listbox_row_activated (GTK_LIST_BOX (self->listbox),
                                       GTK_LIST_BOX_ROW (item),
                                       self);
        }
@@ -310,7 +309,7 @@ totem_search_entry_remove_source (TotemSearchEntry *self,
 
        g_return_if_fail (TOTEM_IS_SEARCH_ENTRY (self));
 
-       children = gtk_container_get_children (GTK_CONTAINER (self->priv->listbox));
+       children = gtk_container_get_children (GTK_CONTAINER (self->listbox));
        if (children == NULL)
                return;
 
@@ -336,8 +335,8 @@ totem_search_entry_remove_source (TotemSearchEntry *self,
        }
 
        if (num_items == 0) {
-               gd_tagged_entry_remove_tag (GD_TAGGED_ENTRY (self->priv->entry), self->priv->tag);
-               g_clear_object (&self->priv->tag);
+               gd_tagged_entry_remove_tag (GD_TAGGED_ENTRY (self->entry), self->tag);
+               g_clear_object (&self->tag);
                gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
        }
 }
@@ -347,7 +346,7 @@ totem_search_entry_get_text (TotemSearchEntry *self)
 {
        g_return_val_if_fail (TOTEM_IS_SEARCH_ENTRY (self), NULL);
 
-       return gtk_entry_get_text (GTK_ENTRY (self->priv->entry));
+       return gtk_entry_get_text (GTK_ENTRY (self->entry));
 }
 
 const char *
@@ -357,7 +356,7 @@ totem_search_entry_get_selected_id (TotemSearchEntry *self)
        const char *id = NULL;
 
        g_return_val_if_fail (TOTEM_IS_SEARCH_ENTRY (self), NULL);
-       children = gtk_container_get_children (GTK_CONTAINER (self->priv->listbox));
+       children = gtk_container_get_children (GTK_CONTAINER (self->listbox));
        for (l = children; l != NULL; l = l->next) {
                GtkWidget *check;
 
@@ -382,13 +381,13 @@ totem_search_entry_set_selected_id (TotemSearchEntry *self,
        g_return_val_if_fail (TOTEM_IS_SEARCH_ENTRY (self), FALSE);
        g_return_val_if_fail (id != NULL, FALSE);
 
-       children = gtk_container_get_children (GTK_CONTAINER (self->priv->listbox));
+       children = gtk_container_get_children (GTK_CONTAINER (self->listbox));
        for (l = children; l != NULL; l = l->next) {
                const char *item_id;
 
                item_id = g_object_get_data (G_OBJECT (l->data), "id");
                if (g_strcmp0 (item_id, id) == 0) {
-                       listbox_row_activated (GTK_LIST_BOX (self->priv->listbox),
+                       listbox_row_activated (GTK_LIST_BOX (self->listbox),
                                               GTK_LIST_BOX_ROW (l->data),
                                               self);
                        ret = TRUE;
@@ -408,5 +407,5 @@ totem_search_entry_get_entry (TotemSearchEntry *self)
 {
        g_return_val_if_fail (TOTEM_IS_SEARCH_ENTRY (self), NULL);
 
-       return GTK_ENTRY (self->priv->entry);
+       return GTK_ENTRY (self->entry);
 }
diff --git a/src/totem-search-entry.h b/src/totem-search-entry.h
index 96c56c325..18c3b6c75 100644
--- a/src/totem-search-entry.h
+++ b/src/totem-search-entry.h
@@ -26,32 +26,10 @@
 #include <gtk/gtk.h>
 
 #define TOTEM_TYPE_SEARCH_ENTRY totem_search_entry_get_type()
-#define TOTEM_SEARCH_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TOTEM_TYPE_SEARCH_ENTRY, 
TotemSearchEntry))
-#define TOTEM_SEARCH_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TOTEM_TYPE_SEARCH_ENTRY, 
TotemSearchEntryClass))
-#define TOTEM_IS_SEARCH_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TOTEM_TYPE_SEARCH_ENTRY))
-#define TOTEM_IS_SEARCH_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TOTEM_TYPE_SEARCH_ENTRY))
-#define TOTEM_SEARCH_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TOTEM_TYPE_SEARCH_ENTRY, 
TotemSearchEntryClass))
-
-typedef struct _TotemSearchEntry TotemSearchEntry;
-typedef struct _TotemSearchEntryClass TotemSearchEntryClass;
-typedef struct _TotemSearchEntryPrivate TotemSearchEntryPrivate;
-
-struct _TotemSearchEntry
-{
-       GtkBox parent;
-
-       TotemSearchEntryPrivate *priv;
-};
-
-struct _TotemSearchEntryClass
-{
-       GtkBoxClass parent_class;
-};
+G_DECLARE_FINAL_TYPE(TotemSearchEntry, totem_search_entry, TOTEM, SEARCH_ENTRY, GtkBox)
 
 GType totem_search_entry_get_type              (void) G_GNUC_CONST;
-
 TotemSearchEntry *totem_search_entry_new       (void);
-
 void totem_search_entry_add_source             (TotemSearchEntry *entry,
                                                const gchar      *id,
                                                const gchar      *label,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]