From 7a9d2b83dfb7313492e40222d3075132bee560d2 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Mon, 19 Nov 2018 11:08:07 +1300 Subject: [PATCH] region: Move show layout button inside each row This matches the new designs in https://gitlab.gnome.org/Teams/Design/settings-mockups/blob/master/region-and-language/region-and-language.png --- panels/region/cc-input-row.c | 20 ++++++++ panels/region/cc-input-row.ui | 16 ++++++- panels/region/cc-region-panel.c | 55 ++++++++++------------ panels/region/cc-region-panel.ui | 21 --------- panels/region/meson.build | 1 + panels/region/region.gresource.xml | 3 ++ panels/region/view-layout-symbolic.svg | 65 ++++++++++++++++++++++++++ 7 files changed, 128 insertions(+), 53 deletions(-) create mode 100644 panels/region/view-layout-symbolic.svg diff --git a/panels/region/cc-input-row.c b/panels/region/cc-input-row.c index cb6587a9b..341f4c7e5 100644 --- a/panels/region/cc-input-row.c +++ b/panels/region/cc-input-row.c @@ -34,12 +34,21 @@ G_DEFINE_TYPE (CcInputRow, cc_input_row, GTK_TYPE_LIST_BOX_ROW) enum { + SIGNAL_SHOW_LAYOUT, SIGNAL_REMOVE_ROW, SIGNAL_LAST }; static guint signals[SIGNAL_LAST] = { 0, }; +static void +layout_button_clicked_cb (CcInputRow *self) +{ + g_signal_emit (self, + signals[SIGNAL_SHOW_LAYOUT], + 0); +} + static void remove_button_clicked_cb (CcInputRow *self) { @@ -72,8 +81,19 @@ cc_input_row_class_init (CcInputRowClass *klass) gtk_widget_class_bind_template_child (widget_class, CcInputRow, name_label); gtk_widget_class_bind_template_child (widget_class, CcInputRow, icon_image); + gtk_widget_class_bind_template_callback (widget_class, layout_button_clicked_cb); gtk_widget_class_bind_template_callback (widget_class, remove_button_clicked_cb); + signals[SIGNAL_SHOW_LAYOUT] = + g_signal_new ("show-layout", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + NULL, + G_TYPE_NONE, + 0); + signals[SIGNAL_REMOVE_ROW] = g_signal_new ("remove-row", G_TYPE_FROM_CLASS (object_class), diff --git a/panels/region/cc-input-row.ui b/panels/region/cc-input-row.ui index a6dab8555..d932ede74 100644 --- a/panels/region/cc-input-row.ui +++ b/panels/region/cc-input-row.ui @@ -4,7 +4,6 @@