summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Davis <christopherdavis@gnome.org>2022-12-25 17:10:43 -0600
committerFelipe Borges <felipeborges@gnome.org>2023-04-11 12:23:16 +0000
commit74e6964fd16276b3da4e64f60f545ff9a416968f (patch)
tree3308e7e02b5f33147bf7bf97f9ac9e490e4d0152
parentd25c0e345d125150cc43bf51f3b4ae526e303842 (diff)
downloadgnome-control-center-74e6964fd16276b3da4e64f60f545ff9a416968f.tar.gz
region: Use AdwBanner instead of GtkInfoBar
AdwBanner is a new adaptive widget that should be used in place of GtkInfoBar. It provides an API close to how we use InfoBars in GNOME, and fits better at smaller window sizes. This commit swaps out the GtkInfoBar used in the Region panel for an AdwBanner.
-rw-r--r--panels/region/cc-region-panel.c9
-rw-r--r--panels/region/cc-region-panel.ui31
2 files changed, 8 insertions, 32 deletions
diff --git a/panels/region/cc-region-panel.c b/panels/region/cc-region-panel.c
index afe0fae60..0ed1c5048 100644
--- a/panels/region/cc-region-panel.c
+++ b/panels/region/cc-region-panel.c
@@ -25,6 +25,7 @@
#include <gio/gio.h>
#include <gio/gdesktopappinfo.h>
#include <gtk/gtk.h>
+#include <adwaita.h>
#include <polkit/polkit.h>
#include "cc-region-panel.h"
@@ -55,13 +56,12 @@ struct _CcRegionPanel {
CcPanel parent_instance;
CcListRow *formats_row;
- GtkInfoBar *infobar;
+ AdwBanner *banner;
GtkSizeGroup *input_size_group;
CcListRow *login_formats_row;
GtkWidget *login_group;
CcListRow *login_language_row;
GtkListBoxRow *language_row;
- GtkButton *restart_button;
gboolean login_auto_apply;
GPermission *permission;
@@ -130,7 +130,7 @@ set_restart_notification_visible (CcRegionPanel *self,
}
}
- gtk_info_bar_set_revealed (self->infobar, visible);
+ adw_banner_set_revealed (self->banner, visible);
file = get_needs_restart_file ();
@@ -838,12 +838,11 @@ cc_region_panel_class_init (CcRegionPanelClass * klass)
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/region/cc-region-panel.ui");
gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, formats_row);
- gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, infobar);
+ gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, banner);
gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, login_formats_row);
gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, login_group);
gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, login_language_row);
gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, language_row);
- gtk_widget_class_bind_template_child (widget_class, CcRegionPanel, restart_button);
gtk_widget_class_bind_template_callback (widget_class, on_login_formats_row_activated_cb);
gtk_widget_class_bind_template_callback (widget_class, on_login_language_row_activated_cb);
diff --git a/panels/region/cc-region-panel.ui b/panels/region/cc-region-panel.ui
index 79d31d115..60296e49c 100644
--- a/panels/region/cc-region-panel.ui
+++ b/panels/region/cc-region-panel.ui
@@ -7,33 +7,10 @@
<property name="orientation">vertical</property>
<child>
- <object class="GtkInfoBar" id="infobar">
- <property name="revealed">False</property>
- <property name="message-type">info</property>
-
- <child>
- <object class="GtkLabel">
- <property name="hexpand">True</property>
- <property name="wrap">True</property>
- <property name="xalign">0.0</property>
- <property name="label" translatable="yes">Language and format will be changed after next login</property>
- <style>
- <class name="heading" />
- </style>
- </object>
- </child>
-
- <child type="action">
- <object class="GtkButton" id="restart_button">
- <property name="valign">center</property>
- <property name="label" translatable="yes">Logout…</property>
- <style>
- <class name="suggested-action"/>
- </style>
- <signal name="clicked" handler="restart_now" object="CcRegionPanel" swapped="yes"/>
- </object>
- </child>
-
+ <object class="AdwBanner" id="banner">
+ <property name="title" translatable="yes">Language and format will be changed after next login</property>
+ <property name="button-label" translatable="yes">Log Out…</property>
+ <signal name="button-clicked" handler="restart_now" object="CcRegionPanel" swapped="yes"/>
</object>
</child>