[libhandy] combo-row: Change checkmark opacity instead of visibility



commit e5f190e31ec46d79c8e0f7d77cdca0324bdb586e
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Sat Oct 3 14:43:36 2020 +0500

    combo-row: Change checkmark opacity instead of visibility
    
    Ensure the popover doesn't change size depending on selected row.
    
    Fixes https://gitlab.gnome.org/GNOME/libhandy/-/issues/347

 src/hdy-combo-row.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/hdy-combo-row.c b/src/hdy-combo-row.c
index c92e157f..d60a7e7f 100644
--- a/src/hdy-combo-row.c
+++ b/src/hdy-combo-row.c
@@ -137,7 +137,9 @@ create_list_widget (gpointer item,
   GtkWidget *checkmark = g_object_new (GTK_TYPE_IMAGE,
                                        "halign", GTK_ALIGN_START,
                                        "icon-name", "emblem-ok-symbolic",
+                                       "opacity", 0,
                                        "valign", GTK_ALIGN_CENTER,
+                                       "visible", TRUE,
                                        NULL);
   GtkWidget *box = g_object_new (GTK_TYPE_BOX,
                                  "child", priv->create_list_widget_func (item, 
priv->create_widget_func_data),
@@ -204,8 +206,8 @@ update (HdyComboRow *self)
       GtkWidget *row = GTK_WIDGET (l->data);
       GtkWidget *box = gtk_bin_get_child (GTK_BIN (row));
 
-      gtk_widget_set_visible (GTK_WIDGET (g_object_get_data (G_OBJECT (box), "checkmark")),
-                              priv->selected_index == i++);
+      gtk_widget_set_opacity (GTK_WIDGET (g_object_get_data (G_OBJECT (box), "checkmark")),
+                              (priv->selected_index == i++) ? 1 : 0);
     }
   }
 


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