[gtk/matthiasc/for-master: 12/15] linkbutton: Drop the Private struct



commit bf77694557dafcf4993d3258eb0619ff9f8c2b96
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Apr 26 15:31:14 2020 -0400

    linkbutton: Drop the Private struct

 gtk/gtklinkbutton.c | 81 +++++++++++++++++++----------------------------------
 1 file changed, 29 insertions(+), 52 deletions(-)
---
diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c
index a260f146cf..e926655e00 100644
--- a/gtk/gtklinkbutton.c
+++ b/gtk/gtklinkbutton.c
@@ -73,12 +73,15 @@
 #include <string.h>
 
 typedef struct _GtkLinkButtonClass GtkLinkButtonClass;
-typedef struct _GtkLinkButtonPrivate GtkLinkButtonPrivate;
 
 struct _GtkLinkButton
 {
   /*< private >*/
   GtkButton parent_instance;
+
+  char *uri;
+  gboolean visited;
+  GtkWidget *popup_menu;
 };
 
 struct _GtkLinkButtonClass
@@ -90,15 +93,6 @@ struct _GtkLinkButtonClass
   gboolean (* activate_link) (GtkLinkButton *button);
 };
 
-struct _GtkLinkButtonPrivate
-{
-  gchar *uri;
-
-  gboolean visited;
-
-  GtkWidget *popup_menu;
-};
-
 enum
 {
   PROP_0,
@@ -147,7 +141,7 @@ static const char *link_drop_types[] = {
 
 static guint link_signals[LAST_SIGNAL] = { 0, };
 
-G_DEFINE_TYPE_WITH_PRIVATE (GtkLinkButton, gtk_link_button, GTK_TYPE_BUTTON)
+G_DEFINE_TYPE (GtkLinkButton, gtk_link_button, GTK_TYPE_BUTTON)
 
 static void
 gtk_link_button_activate_clipboard_copy (GtkWidget  *widget,
@@ -155,9 +149,8 @@ gtk_link_button_activate_clipboard_copy (GtkWidget  *widget,
                                          GVariant   *parameter)
 {
   GtkLinkButton *link_button = GTK_LINK_BUTTON (widget);
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
 
-  gdk_clipboard_set_text (gtk_widget_get_clipboard (widget), priv->uri);
+  gdk_clipboard_set_text (gtk_widget_get_clipboard (widget), link_button->uri);
 }
 
 static void
@@ -311,10 +304,9 @@ gtk_link_content_get_value (GdkContentProvider  *provider,
   if (G_VALUE_HOLDS (value, G_TYPE_STRING) &&
       content->link != NULL)
     {
-      GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (content->link);
       char *uri;
   
-      uri = g_strdup_printf ("%s\r\n", priv->uri);
+      uri = g_strdup_printf ("%s\r\n", content->link->uri);
       g_value_set_string (value, uri);
       g_free (uri);
 
@@ -376,11 +368,10 @@ static void
 gtk_link_button_finalize (GObject *object)
 {
   GtkLinkButton *link_button = GTK_LINK_BUTTON (object);
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
 
-  g_free (priv->uri);
+  g_free (link_button->uri);
 
-  g_clear_pointer (&priv->popup_menu, gtk_widget_unparent);
+  g_clear_pointer (&link_button->popup_menu, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_link_button_parent_class)->finalize (object);
 }
@@ -392,15 +383,14 @@ gtk_link_button_get_property (GObject    *object,
                              GParamSpec *pspec)
 {
   GtkLinkButton *link_button = GTK_LINK_BUTTON (object);
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
   
   switch (prop_id)
     {
     case PROP_URI:
-      g_value_set_string (value, priv->uri);
+      g_value_set_string (value, link_button->uri);
       break;
     case PROP_VISITED:
-      g_value_set_boolean (value, priv->visited);
+      g_value_set_boolean (value, link_button->visited);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -435,19 +425,17 @@ gtk_link_button_do_popup (GtkLinkButton *link_button,
                           double         x,
                           double         y)
 {
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
-
-  if (!priv->popup_menu)
+  if (!link_button->popup_menu)
     {
       GMenuModel *model;
 
       model = gtk_link_button_get_menu_model ();
-      priv->popup_menu = gtk_popover_menu_new_from_model (model);
-      gtk_widget_set_parent (priv->popup_menu, GTK_WIDGET (link_button));
-      gtk_popover_set_position (GTK_POPOVER (priv->popup_menu), GTK_POS_BOTTOM);
+      link_button->popup_menu = gtk_popover_menu_new_from_model (model);
+      gtk_widget_set_parent (link_button->popup_menu, GTK_WIDGET (link_button));
+      gtk_popover_set_position (GTK_POPOVER (link_button->popup_menu), GTK_POS_BOTTOM);
 
-      gtk_popover_set_has_arrow (GTK_POPOVER (priv->popup_menu), FALSE);
-      gtk_widget_set_halign (priv->popup_menu, GTK_ALIGN_START);
+      gtk_popover_set_has_arrow (GTK_POPOVER (link_button->popup_menu), FALSE);
+      gtk_widget_set_halign (link_button->popup_menu, GTK_ALIGN_START);
 
       g_object_unref (model);
     }
@@ -455,12 +443,12 @@ gtk_link_button_do_popup (GtkLinkButton *link_button,
   if (x != -1 && y != -1)
     {
       GdkRectangle rect = { x, y, 1, 1 };
-      gtk_popover_set_pointing_to (GTK_POPOVER (priv->popup_menu), &rect);
+      gtk_popover_set_pointing_to (GTK_POPOVER (link_button->popup_menu), &rect);
     }
   else
-    gtk_popover_set_pointing_to (GTK_POPOVER (priv->popup_menu), NULL);
+    gtk_popover_set_pointing_to (GTK_POPOVER (link_button->popup_menu), NULL);
 
-  gtk_popover_popup (GTK_POPOVER (priv->popup_menu));
+  gtk_popover_popup (GTK_POPOVER (link_button->popup_menu));
 }
 
 static void
@@ -471,7 +459,6 @@ gtk_link_button_pressed_cb (GtkGestureClick *gesture,
                             gpointer         user_data)
 {
   GtkLinkButton *link_button = user_data;
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
   GdkEventSequence *sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
   GdkEvent *event = gtk_gesture_get_last_event (GTK_GESTURE (gesture), sequence);
 
@@ -479,7 +466,7 @@ gtk_link_button_pressed_cb (GtkGestureClick *gesture,
     gtk_widget_grab_focus (GTK_WIDGET (link_button));
 
   if (gdk_event_triggers_context_menu (event) &&
-      priv->uri != NULL)
+      link_button->uri != NULL)
     {
       gtk_link_button_do_popup (link_button, x, y);
       gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
@@ -493,12 +480,11 @@ gtk_link_button_pressed_cb (GtkGestureClick *gesture,
 static gboolean
 gtk_link_button_activate_link (GtkLinkButton *link_button)
 {
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
   GtkWidget *toplevel;
 
   toplevel = GTK_WIDGET (gtk_widget_get_root (GTK_WIDGET (link_button)));
 
-  gtk_show_uri (GTK_WINDOW (toplevel), priv->uri, GDK_CURRENT_TIME);
+  gtk_show_uri (GTK_WINDOW (toplevel), link_button->uri, GDK_CURRENT_TIME);
   gtk_link_button_set_visited (link_button, TRUE);
 
   return TRUE;
@@ -604,12 +590,11 @@ gtk_link_button_query_tooltip_cb (GtkWidget    *widget,
                                   gpointer      data)
 {
   GtkLinkButton *link_button = GTK_LINK_BUTTON (widget);
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
   const gchar *label, *uri;
   gchar *text, *markup;
 
   label = gtk_button_get_label (GTK_BUTTON (link_button));
-  uri = priv->uri;
+  uri = link_button->uri;
   text = gtk_widget_get_tooltip_text (widget);
   markup = gtk_widget_get_tooltip_markup (widget);
 
@@ -641,13 +626,11 @@ void
 gtk_link_button_set_uri (GtkLinkButton *link_button,
                         const gchar   *uri)
 {
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
-
   g_return_if_fail (GTK_IS_LINK_BUTTON (link_button));
   g_return_if_fail (uri != NULL);
 
-  g_free (priv->uri);
-  priv->uri = g_strdup (uri);
+  g_free (link_button->uri);
+  link_button->uri = g_strdup (uri);
 
   g_object_notify (G_OBJECT (link_button), "uri");
 
@@ -666,11 +649,9 @@ gtk_link_button_set_uri (GtkLinkButton *link_button,
 const gchar *
 gtk_link_button_get_uri (GtkLinkButton *link_button)
 {
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
-
   g_return_val_if_fail (GTK_IS_LINK_BUTTON (link_button), NULL);
 
-  return priv->uri;
+  return link_button->uri;
 }
 
 /**
@@ -685,15 +666,13 @@ void
 gtk_link_button_set_visited (GtkLinkButton *link_button,
                              gboolean       visited)
 {
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
-
   g_return_if_fail (GTK_IS_LINK_BUTTON (link_button));
 
   visited = visited != FALSE;
 
-  if (priv->visited != visited)
+  if (link_button->visited != visited)
     {
-      priv->visited = visited;
+      link_button->visited = visited;
 
       if (visited)
         {
@@ -725,9 +704,7 @@ gtk_link_button_set_visited (GtkLinkButton *link_button,
 gboolean
 gtk_link_button_get_visited (GtkLinkButton *link_button)
 {
-  GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
-
   g_return_val_if_fail (GTK_IS_LINK_BUTTON (link_button), FALSE);
 
-  return priv->visited;
+  return link_button->visited;
 }


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