summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-01-19 14:24:19 -0500
committerMatthias Clasen <mclasen@redhat.com>2021-01-19 14:24:19 -0500
commit5985b62f60f72db828cdbb1846130a3d6c0a75ed (patch)
tree6daf2f2b2f3d2d8a9112690d6e9ec1899022d2b1
parente7c29b989ca0df89ac80c1f8892818262ddddba8 (diff)
downloadgtk+-5985b62f60f72db828cdbb1846130a3d6c0a75ed.tar.gz
columnview: Redo indicator arrowstreeview-sort-arrows
Use the same approach as GtkTreeViewColumn for sort indicators. Luckily, the same css works for both.
-rw-r--r--gtk/gtkcolumnviewtitle.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/gtk/gtkcolumnviewtitle.c b/gtk/gtkcolumnviewtitle.c
index 160b1b7604..e2e57b29fa 100644
--- a/gtk/gtkcolumnviewtitle.c
+++ b/gtk/gtkcolumnviewtitle.c
@@ -28,7 +28,7 @@
#include "gtklabel.h"
#include "gtkwidgetprivate.h"
#include "gtkbox.h"
-#include "gtkimage.h"
+#include "gtkbuiltiniconprivate.h"
#include "gtkgestureclick.h"
#include "gtkpopovermenu.h"
#include "gtknative.h"
@@ -266,7 +266,7 @@ gtk_column_view_title_init (GtkColumnViewTitle *self)
self->title = gtk_label_new (NULL);
gtk_box_append (GTK_BOX (self->box), self->title);
- self->sort = gtk_image_new ();
+ self->sort = gtk_builtin_icon_new ("sort-indicator");
gtk_box_append (GTK_BOX (self->box), self->sort);
gesture = gtk_gesture_click_new ();
@@ -308,15 +308,15 @@ gtk_column_view_title_update (GtkColumnViewTitle *self)
active = gtk_column_view_sorter_get_sort_column (view_sorter, &inverted);
gtk_widget_show (self->sort);
- if (self->column == active)
- {
- if (inverted)
- gtk_image_set_from_icon_name (GTK_IMAGE (self->sort), "pan-down-symbolic");
- else
- gtk_image_set_from_icon_name (GTK_IMAGE (self->sort), "pan-up-symbolic");
- }
+ gtk_widget_remove_css_class (self->sort, "ascending");
+ gtk_widget_remove_css_class (self->sort, "descending");
+ gtk_widget_remove_css_class (self->sort, "unsorted");
+ if (self->column != active)
+ gtk_widget_add_css_class (self->sort, "unsorted");
+ else if (inverted)
+ gtk_widget_add_css_class (self->sort, "descending");
else
- gtk_image_clear (GTK_IMAGE (self->sort));
+ gtk_widget_add_css_class (self->sort, "ascending");
}
else
gtk_widget_hide (self->sort);