Shamelessly copied from https://gitlab.gnome.org/GNOME/fractal/-/blob/fractal-next/data/resources/ui/content-room-details.ui#L29 and https://gitlab.gnome.org/GNOME/fractal/-/blob/fractal-next/data/resources/style.css#L506 Fixes #1662
400 lines
21 KiB
XML
400 lines
21 KiB
XML
<interface>
|
|
<object class="GtkListStore" id="shortname-model">
|
|
<columns>
|
|
<!-- column-name gchararray -->
|
|
<column type="gchararray"/>
|
|
</columns>
|
|
</object>
|
|
<object class="GtkListStore" id="language-model">
|
|
<columns>
|
|
<!-- column-name gchararray -->
|
|
<column type="gchararray"/>
|
|
<!-- column-name gchararray1 -->
|
|
<column type="gchararray"/>
|
|
</columns>
|
|
</object>
|
|
<template class="CcUserPanel" parent="CcPanel">
|
|
<child type="titlebar">
|
|
<object class="AdwHeaderBar">
|
|
<property name="show-end-title-buttons">True</property>
|
|
<property name="show-start-title-buttons">False</property>
|
|
<property name="title-widget">
|
|
<object class="AdwWindowTitle">
|
|
<property name="title" translatable="yes">Users</property>
|
|
</object>
|
|
</property>
|
|
<child type="start">
|
|
<object class="GtkButton" id="back_button">
|
|
<property name="visible">False</property>
|
|
<property name="icon-name">go-previous-symbolic</property>
|
|
<signal name="clicked" handler="show_current_user" object="CcUserPanel" swapped="yes"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="content">
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="CcPermissionInfobar" id="permission_infobar"/>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStack" id="stack">
|
|
<property name="visible-child">no_users_box</property>
|
|
<child>
|
|
<object class="GtkOverlay" id="users_overlay">
|
|
<child type="overlay">
|
|
<object class="GtkRevealer" id="notification_revealer">
|
|
<property name="halign">GTK_ALIGN_CENTER</property>
|
|
<property name="valign">GTK_ALIGN_START</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="spacing">6</property>
|
|
<style>
|
|
<class name="app-notification"/>
|
|
</style>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="wrap">True</property>
|
|
<property name="max_width_chars">30</property>
|
|
<property name="label" translatable="yes">Your session needs to be restarted for changes to take effect</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="can_focus">True</property>
|
|
<property name="valign">GTK_ALIGN_CENTER</property>
|
|
<property name="label" translatable="yes">Restart Now</property>
|
|
<signal name="clicked" handler="restart_now" object="CcUserPanel" swapped="yes"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="dismiss_button">
|
|
<property name="valign">GTK_ALIGN_CENTER</property>
|
|
<signal name="clicked" handler="dismiss_notification" object="CcUserPanel" swapped="yes"/>
|
|
<style>
|
|
<class name="flat"/>
|
|
</style>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon_name">window-close-symbolic</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwPreferencesPage">
|
|
<child>
|
|
<object class="AdwPreferencesGroup">
|
|
<child>
|
|
<object class="GtkOverlay">
|
|
<property name="halign">center</property>
|
|
<child>
|
|
<object class="AdwAvatar" id="user_avatar">
|
|
<property name="show-initials">True</property>
|
|
<property name="size">120</property>
|
|
<property name="halign">center</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="user_avatar_edit_button">
|
|
<property name="sensitive">False</property>
|
|
<property name="icon-name">document-edit-symbolic</property>
|
|
<property name="popover">
|
|
<object class="CcAvatarChooser" id="avatar_chooser"/>
|
|
</property>
|
|
<style>
|
|
<class name="circular"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwPreferencesGroup" id="authentication_and_login_box">
|
|
<child>
|
|
<object class="AdwActionRow">
|
|
<property name="title" translatable="yes">Name</property>
|
|
<child>
|
|
<object class="GtkStack" id="full_name_stack">
|
|
<property name="hhomogeneous">False</property>
|
|
<child>
|
|
<object class="GtkLabel" id="full_name_label">
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="full_name_entry">
|
|
<property name="max-length">255</property>
|
|
<property name="width-chars">18</property>
|
|
<property name="max-width-chars">30</property>
|
|
<property name="valign">GTK_ALIGN_CENTER</property>
|
|
<signal name="activate" handler="full_name_entry_activate" object="CcUserPanel" swapped="yes"/>
|
|
<child>
|
|
<object class="GtkEventControllerKey">
|
|
<property name="propagation-phase">capture</property>
|
|
<signal name="key-pressed" handler="full_name_entry_key_press_cb" object="CcUserPanel" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkToggleButton" id="full_name_edit_button">
|
|
<signal name="toggled" handler="full_name_edit_button_toggled" object="CcUserPanel" swapped="yes"/>
|
|
<property name="valign">GTK_ALIGN_CENTER</property>
|
|
<style>
|
|
<class name="flat"/>
|
|
</style>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon-name">document-edit-symbolic</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwActionRow" id="password_row">
|
|
<property name="title" translatable="yes">_Password</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="activatable">True</property>
|
|
<signal name="activated" handler="change_password" object="CcUserPanel" swapped="yes"/>
|
|
<child>
|
|
<object class="GtkLabel" id="password_button_label"/>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon-name">go-next-symbolic</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwActionRow" id="fingerprint_row">
|
|
<property name="visible">True</property> <!-- FIXME -->
|
|
<property name="title" translatable="yes">_Fingerprint Login</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="activatable">True</property>
|
|
<signal name="activated" handler="change_fingerprint" object="CcUserPanel" swapped="yes"/>
|
|
<child>
|
|
<object class="GtkLabel" id="fingerprint_state_label">
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon-name">go-next-symbolic</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwActionRow" id="autologin_row">
|
|
<property name="title" translatable="yes">A_utomatic Login</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="activatable_widget">autologin_switch</property>
|
|
<child>
|
|
<object class="GtkSwitch" id="autologin_switch">
|
|
<property name="valign">center</property>
|
|
<signal name="notify::active" handler="autologin_changed" object="CcUserPanel" swapped="yes"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwActionRow" id="last_login_row">
|
|
<property name="title" translatable="yes">Account Activity</property>
|
|
<property name="activatable">True</property>
|
|
<property name="use_underline">True</property>
|
|
<signal name="activated" handler="show_history" object="CcUserPanel" swapped="yes"/>
|
|
<child>
|
|
<object class="GtkLabel" id="last_login_button_label">
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon-name">go-next-symbolic</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="AdwPreferencesGroup" id="account_settings_box">
|
|
<child>
|
|
<object class="AdwActionRow" id="account_type_row">
|
|
<property name="title" translatable="yes">_Administrator</property>
|
|
<property name="subtitle" translatable="yes">Administrators can add and remove other users, and can change settings for all users.</property>
|
|
<property name="subtitle-lines">0</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="activatable-widget">account_type_switch</property>
|
|
<child>
|
|
<object class="GtkSwitch" id="account_type_switch">
|
|
<property name="valign">center</property>
|
|
<signal name="notify::active" handler="account_type_changed" object="CcUserPanel" swapped="yes"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="AdwActionRow" id="parental_controls_row">
|
|
<property name="visible">False</property>
|
|
<property name="title" translatable="yes">_Parental Controls</property>
|
|
<property name="subtitle" translatable="yes">Open the Parental Controls application.</property>
|
|
<property name="subtitle-lines">0</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="activatable">True</property>
|
|
<child>
|
|
<object class="GtkLabel" id="parental_controls_button_label">
|
|
<property name="valign">0.5</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage" id="parental_control_go_next">
|
|
<property name="icon-name">go-next-symbolic</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="AdwActionRow" id="language_row">
|
|
<property name="title" translatable="yes">_Language</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="activatable">True</property>
|
|
<signal name="activated" handler="change_language" object="CcUserPanel" swapped="yes"/>
|
|
<child>
|
|
<object class="GtkLabel" id="language_button_label">
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon-name">go-next-symbolic</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="AdwPreferencesGroup">
|
|
<child>
|
|
<object class="GtkButton" id="remove_user_button">
|
|
<property name="visible">False</property>
|
|
<property name="label" translatable="yes">Remove User…</property>
|
|
<signal name="clicked" handler="delete_user" object="CcUserPanel" swapped="yes"/>
|
|
<style>
|
|
<class name="destructive-action"/>
|
|
</style>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwPreferencesGroup" id="other_users">
|
|
<property name="visible">False</property>
|
|
<property name="title" translatable="yes">Other Users</property>
|
|
<child>
|
|
<object class="AdwPreferencesRow" id="other_users_row">
|
|
<child>
|
|
<object class="GtkListBox" id="other_users_listbox">
|
|
<property name="selection-mode">none</property>
|
|
<signal name="row-activated" handler="set_selected_user" object="CcUserPanel" swapped="yes"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="AdwActionRow" id="add_user_button">
|
|
<property name="title" translatable="yes">Add User…</property>
|
|
<property name="icon-name">list-add-symbolic</property>
|
|
<property name="activatable">True</property>
|
|
<signal name="activated" handler="add_user" object="CcUserPanel" swapped="yes"/>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="no_users_box">
|
|
<property name="orientation">GTK_ORIENTATION_VERTICAL</property>
|
|
<property name="valign">GTK_ALIGN_CENTER</property>
|
|
<property name="spacing">12</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="icon_name">avatar-default-symbolic</property>
|
|
<property name="pixel_size">192</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes" comments="Translators: This is the empty state page label which states that there are no users to show in the panel.">No Users Found</property>
|
|
<attributes>
|
|
<attribute name="weight" value="bold"/>
|
|
<attribute name="scale" value="1.6"/>
|
|
</attributes>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes">Unlock to add a user account.</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</template>
|
|
</interface>
|