summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAutomeris naranja <104251-automerisnaranja@users.noreply.gitlab.gnome.org>2023-02-18 23:19:58 -0300
committerAutomeris naranja <104251-automerisnaranja@users.noreply.gitlab.gnome.org>2023-02-18 23:30:07 -0300
commit0416c80024e1c783df010b293173e919de7ceaa3 (patch)
tree0f2254db5c2d57351a08a5c78f448be74546f17a
parentb1bdf0735ae1d2b82f31b926164dba53349a5b02 (diff)
downloadgnome-initial-setup-0416c80024e1c783df010b293173e919de7ceaa3.tar.gz
gis-account-page: Add a proper edit button to customize the user avatar
The user avatar can be customized by clicking in the user avatar itself. However, this isn't obvious. With this change, the user avatar now displays an edit button. Fixes https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/174
-rw-r--r--gnome-initial-setup/pages/account/account.gresource.xml1
-rw-r--r--gnome-initial-setup/pages/account/gis-account-page-local.ui28
-rw-r--r--gnome-initial-setup/pages/account/gis-account-page.c6
-rw-r--r--gnome-initial-setup/pages/account/gis-account-page.css5
4 files changed, 33 insertions, 7 deletions
diff --git a/gnome-initial-setup/pages/account/account.gresource.xml b/gnome-initial-setup/pages/account/account.gresource.xml
index d698ba9..9a42216 100644
--- a/gnome-initial-setup/pages/account/account.gresource.xml
+++ b/gnome-initial-setup/pages/account/account.gresource.xml
@@ -5,5 +5,6 @@
<file preprocess="xml-stripblanks" alias="gis-account-page.ui">gis-account-page.ui</file>
<file preprocess="xml-stripblanks" alias="gis-account-page-local.ui">gis-account-page-local.ui</file>
<file preprocess="xml-stripblanks" alias="gis-account-page-enterprise.ui">gis-account-page-enterprise.ui</file>
+ <file alias="gis-account-page.css">gis-account-page.css</file>
</gresource>
</gresources>
diff --git a/gnome-initial-setup/pages/account/gis-account-page-local.ui b/gnome-initial-setup/pages/account/gis-account-page-local.ui
index 67aaf9a..b398f7a 100644
--- a/gnome-initial-setup/pages/account/gis-account-page-local.ui
+++ b/gnome-initial-setup/pages/account/gis-account-page-local.ui
@@ -7,21 +7,35 @@
<property name="valign">fill</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkMenuButton" id="avatar_button">
+ <object class="GtkOverlay">
<property name="margin_top">24</property>
<property name="halign">center</property>
- <style>
- <class name="flat"/>
- </style>
- <accessibility>
- <property name="description" translatable="yes">Avatar image</property>
- </accessibility>
<child>
<object class="GtkImage" id="avatar_image">
<property name="pixel_size">96</property>
<property name="icon_name">avatar-default-symbolic</property>
</object>
</child>
+ <child type="overlay">
+ <object class="AdwBin">
+ <style>
+ <class name="cutout-button"/>
+ </style>
+ <property name="halign">end</property>
+ <property name="valign">end</property>
+ <child>
+ <object class="GtkMenuButton" id="avatar_button">
+ <property name="icon-name">document-edit-symbolic</property>
+ <accessibility>
+ <property name="label" translatable="yes">Edit avatar</property>
+ </accessibility>
+ <style>
+ <class name="circular"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
<child>
diff --git a/gnome-initial-setup/pages/account/gis-account-page.c b/gnome-initial-setup/pages/account/gis-account-page.c
index 04a8e54..cbc77f9 100644
--- a/gnome-initial-setup/pages/account/gis-account-page.c
+++ b/gnome-initial-setup/pages/account/gis-account-page.c
@@ -301,6 +301,12 @@ gis_account_page_class_init (GisAccountPageClass *klass)
static void
gis_account_page_init (GisAccountPage *page)
{
+ g_autoptr(GtkCssProvider) provider = NULL;
+ provider = gtk_css_provider_new ();
+ gtk_css_provider_load_from_resource (provider, "/org/gnome/initial-setup/gis-account-page.css");
+ gtk_style_context_add_provider_for_display (gdk_display_get_default (),
+ GTK_STYLE_PROVIDER (provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
g_resources_register (account_get_resource ());
g_type_ensure (GIS_TYPE_ACCOUNT_PAGE_LOCAL);
g_type_ensure (GIS_TYPE_ACCOUNT_PAGE_ENTERPRISE);
diff --git a/gnome-initial-setup/pages/account/gis-account-page.css b/gnome-initial-setup/pages/account/gis-account-page.css
new file mode 100644
index 0000000..485edaa
--- /dev/null
+++ b/gnome-initial-setup/pages/account/gis-account-page.css
@@ -0,0 +1,5 @@
+.cutout-button {
+ background-color: @window_bg_color;
+ border-radius: 9999px;
+ padding: 2px;
+}