summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-03-31 16:13:04 +0200
committerBastien Nocera <hadess@hadess.net>2022-03-31 16:13:04 +0200
commit48e2a948fd47eb47377ba652df27c887b5a6e897 (patch)
tree9e8248c122d211357e71901934cab6af597cff23 /src
parent1570003efe595bb8781fdf9de3e25d2f7e028052 (diff)
downloadtotem-48e2a948fd47eb47377ba652df27c887b5a6e897.tar.gz
main: Simplify TotemSearchEntry declaration
Diffstat (limited to 'src')
-rw-r--r--src/totem-search-entry.c75
-rw-r--r--src/totem-search-entry.h24
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,