misc: Put UI files next to the corresponding Rust files

This commit is contained in:
Kévin Commaille 2023-05-21 23:11:45 +02:00
parent ed1ed2bead
commit d13b03a85e
No known key found for this signature in database
GPG Key ID: 29A48C1F03620416
201 changed files with 416 additions and 311 deletions

View File

@ -50,104 +50,5 @@
<file compressed="true">sas-emoji/vi.json</file>
<file compressed="true">sas-emoji/zh_Hans.json</file>
<file compressed="true">style.css</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-change-password-subpage.ui">ui/account-settings-change-password-subpage.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-deactivate-account-subpage.ui">ui/account-settings-deactivate-account-subpage.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-device-row.ui">ui/account-settings-device-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-devices-page.ui">ui/account-settings-devices-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-import-export-keys-subpage.ui">ui/account-settings-import-export-keys-subpage.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-log-out-subpage.ui">ui/account-settings-log-out-subpage.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-notifications-page.ui">ui/account-settings-notifications-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-security-page.ui">ui/account-settings-security-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings-user-page.ui">ui/account-settings-user-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account-settings.ui">ui/account-settings.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="attachment-dialog.ui">ui/attachment-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="avatar-with-selection.ui">ui/avatar-with-selection.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-action-button.ui">ui/components-action-button.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-audio-player.ui">ui/components-audio-player.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-auth-dialog.ui">ui/components-auth-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-avatar.ui">ui/components-avatar.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-button-row.ui">ui/components-button-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-editable-avatar.ui">ui/components-editable-avatar.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-loading-listbox-row.ui">ui/components-loading-listbox-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-location-viewer.ui">ui/components-location-viewer.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-media-content-viewer.ui">ui/components-media-content-viewer.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-reaction-chooser.ui">ui/components-reaction-chooser.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-toastable-window.ui">ui/components-toastable-window.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="components-video-player.ui">ui/components-video-player.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-audio-history-viewer-row.ui">ui/content-audio-history-viewer-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-audio-history-viewer.ui">ui/content-audio-history-viewer.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-completion-popover.ui">ui/content-completion-popover.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-completion-row.ui">ui/content-completion-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-divider-row.ui">ui/content-divider-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-explore-item.ui">ui/content-explore-item.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-explore-server-row.ui">ui/content-explore-server-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-explore-servers-popover.ui">ui/content-explore-servers-popover.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-explore.ui">ui/content-explore.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-file-history-viewer-row.ui">ui/content-file-history-viewer-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-file-history-viewer.ui">ui/content-file-history-viewer.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-invite-subpage.ui">ui/content-invite-subpage.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-invite.ui">ui/content-invite.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-invitee-item.ui">ui/content-invitee-item.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-invitee-row.ui">ui/content-invitee-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-media-history-viewer-item.ui">ui/content-media-history-viewer-item.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-media-history-viewer.ui">ui/content-media-history-viewer.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-member-item.ui">ui/content-member-item.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-member-page-list-view.ui">ui/content-member-page-list-view.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-member-page-membership-subpage-row.ui">ui/content-member-page-membership-subpage-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-member-page.ui">ui/content-member-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-member-row.ui">ui/content-member-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-message-audio.ui">ui/content-message-audio.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-message-file.ui">ui/content-message-file.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-message-location.ui">ui/content-message-location.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-message-media.ui">ui/content-message-media.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-message-reaction-list.ui">ui/content-message-reaction-list.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-message-reaction.ui">ui/content-message-reaction.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-message-reply.ui">ui/content-message-reply.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-message-row.ui">ui/content-message-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-public-room-row.ui">ui/content-public-room-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-read-receipts-list.ui">ui/content-read-receipts-list.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-room-details-general-page.ui">ui/content-room-details-general-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-room-details.ui">ui/content-room-details.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-room-history.ui">ui/content-room-history.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-state-creation.ui">ui/content-state-creation.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-state-row.ui">ui/content-state-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-state-tombstone.ui">ui/content-state-tombstone.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-typing-row.ui">ui/content-typing-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content-verification-info-bar.ui">ui/content-verification-info-bar.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="content.ui">ui/content.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="context-menu-bin.ui">ui/context-menu-bin.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="create-dm-dialog-user-row.ui">ui/create-dm-dialog-user-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="create-dm-dialog.ui">ui/create-dm-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="error-page.ui">ui/error-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="event-menu.ui">ui/event-menu.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="event-source-dialog.ui">ui/event-source-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="greeter.ui">ui/greeter.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="identity-verification-widget.ui">ui/identity-verification-widget.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="join-room-dialog.ui">ui/join-room-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="login-advanced-dialog.ui">ui/login-advanced-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="login-homeserver-page.ui">ui/login-homeserver-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="login-idp-button.ui">ui/login-idp-button.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="login-method-page.ui">ui/login-method-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="login-sso-page.ui">ui/login-sso-page.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="login.ui">ui/login.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="media-viewer.ui">ui/media-viewer.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="member-menu.ui">ui/member-menu.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="pill.ui">ui/pill.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="qr-code-scanner.ui">ui/qr-code-scanner.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="room-creation.ui">ui/room-creation.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="room-title.ui">ui/room-title.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="session-item-row.ui">ui/session-item-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="session-verification.ui">ui/session-verification.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="session-view.ui">ui/session-view.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="shortcuts.ui">ui/shortcuts.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="sidebar-account-switcher.ui">ui/sidebar-account-switcher.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="sidebar-category-row.ui">ui/sidebar-category-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="sidebar-entry-row.ui">ui/sidebar-entry-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="sidebar-room-row.ui">ui/sidebar-room-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="sidebar-verification-row.ui">ui/sidebar-verification-row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="sidebar.ui">ui/sidebar.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="spinner-button.ui">ui/spinner-button.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="verification-emoji.ui">ui/verification-emoji.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="window.ui">ui/window.ui</file>
</gresource>
</gresources>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListItem">
<property name="activatable">False</property>
<property name="selectable">False</property>
<property name="child">
<object class="ContentPublicRoomRow">
<binding name="public-room">
<lookup name="item">GtkListItem</lookup>
</binding>
</object>
</property>
</template>
</interface>

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListItem">
<property name="activatable">True</property>
<property name="selectable">False</property>
<property name="child">
<object class="ContentInviteInviteeRow" id="row">
<binding name="user">
<lookup name="item">GtkListItem</lookup>
</binding>
</object>
</property>
</template>
</interface>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListItem">
<property name="activatable">False</property>
<property name="selectable">False</property>
<property name="child">
<object class="ContentMemberItemRow">
<binding name="item">
<lookup name="item">GtkListItem</lookup>
</binding>
</object>
</property>
</template>
</interface>

View File

@ -4,66 +4,26 @@ data/org.gnome.Fractal.desktop.in.in
data/org.gnome.Fractal.gschema.xml.in
data/org.gnome.Fractal.metainfo.xml.in.in
# UI files
data/resources/ui/account-settings-change-password-subpage.ui
data/resources/ui/account-settings-deactivate-account-subpage.ui
data/resources/ui/account-settings-device-row.ui
data/resources/ui/account-settings-devices-page.ui
data/resources/ui/account-settings-log-out-subpage.ui
data/resources/ui/account-settings-import-export-keys-subpage.ui
data/resources/ui/account-settings-notifications-page.ui
data/resources/ui/account-settings-user-page.ui
data/resources/ui/account-settings-security-page.ui
data/resources/ui/account-settings.ui
data/resources/ui/attachment-dialog.ui
data/resources/ui/components-auth-dialog.ui
data/resources/ui/components-loading-listbox-row.ui
data/resources/ui/content-audio-history-viewer.ui
data/resources/ui/content-explore-servers-popover.ui
data/resources/ui/content-explore.ui
data/resources/ui/content-file-history-viewer.ui
data/resources/ui/content-invite-subpage.ui
data/resources/ui/content-invite.ui
data/resources/ui/content-media-history-viewer.ui
data/resources/ui/content-member-page.ui
data/resources/ui/content-message-file.ui
data/resources/ui/content-message-row.ui
data/resources/ui/content-room-details.ui
data/resources/ui/content-room-details-general-page.ui
data/resources/ui/content-room-history.ui
data/resources/ui/content-state-creation.ui
data/resources/ui/content-state-tombstone.ui
data/resources/ui/content.ui
data/resources/ui/create-dm-dialog.ui
data/resources/ui/error-page.ui
data/resources/ui/event-menu.ui
data/resources/ui/event-source-dialog.ui
data/resources/ui/greeter.ui
data/resources/ui/identity-verification-widget.ui
data/resources/ui/join-room-dialog.ui
data/resources/ui/login-advanced-dialog.ui
data/resources/ui/login-homeserver-page.ui
data/resources/ui/login-method-page.ui
data/resources/ui/login-sso-page.ui
data/resources/ui/login.ui
data/resources/ui/media-viewer.ui
data/resources/ui/member-menu.ui
data/resources/ui/room-creation.ui
data/resources/ui/session-verification.ui
data/resources/ui/shortcuts.ui
data/resources/ui/sidebar.ui
data/resources/ui/qr-code-scanner.ui
# Rust files
src/account_switcher/mod.ui
src/application.rs
src/components/auth_dialog.ui
src/components/editable_avatar.rs
src/components/loading_listbox_row.ui
src/components/location_viewer.rs
src/components/media_content_viewer.rs
src/contrib/qr_code_scanner/mod.ui
src/error_page.rs
src/error_page.ui
src/greeter.rs
src/greeter.ui
src/login/advanced_dialog.ui
src/login/homeserver_page.rs
src/login/homeserver_page.ui
src/login/method_page.rs
src/login/method_page.ui
src/login/mod.rs
src/login/mod.ui
src/login/sso_page.ui
src/secret.rs
src/session/model/session.rs
src/session/model/room/member.rs
@ -74,42 +34,80 @@ src/session/model/sidebar/category/category_type.rs
src/session/model/sidebar/entry/entry_type.rs
src/session/view/account_settings/devices_page/device_list.rs
src/session/view/account_settings/devices_page/device_row.rs
src/session/view/account_settings/devices_page/device_row.ui
src/session/view/account_settings/devices_page/mod.ui
src/session/view/account_settings/mod.ui
src/session/view/account_settings/notifications_page.rs
src/session/view/account_settings/notifications_page.ui
src/session/view/account_settings/security_page/import_export_keys_subpage.rs
src/session/view/account_settings/security_page/import_export_keys_subpage.ui
src/session/view/account_settings/security_page/mod.rs
src/session/view/account_settings/security_page/mod.ui
src/session/view/account_settings/user_page/change_password_subpage.rs
src/session/view/account_settings/user_page/change_password_subpage.ui
src/session/view/account_settings/user_page/deactivate_account_subpage.rs
src/session/view/account_settings/user_page/deactivate_account_subpage.ui
src/session/view/account_settings/user_page/log_out_subpage.ui
src/session/view/account_settings/user_page/mod.rs
src/session/view/account_settings/user_page/mod.ui
src/session/view/content/explore/mod.ui
src/session/view/content/explore/public_room_row.rs
src/session/view/content/explore/servers_popover.ui
src/session/view/content/invite.rs
src/session/view/content/invite.ui
src/session/view/content/mod.ui
src/session/view/content/room_details/general_page/mod.rs
src/session/view/content/room_details/general_page/mod.ui
src/session/view/content/room_details/history_viewer/audio_row.rs
src/session/view/content/room_details/history_viewer/audio.ui
src/session/view/content/room_details/history_viewer/file_row.rs
src/session/view/content/room_details/history_viewer/file.ui
src/session/view/content/room_details/history_viewer/media.ui
src/session/view/content/room_details/invite_subpage/invitee_list.rs
src/session/view/content/room_details/invite_subpage/mod.rs
src/session/view/content/room_details/invite_subpage/mod.ui
src/session/view/content/room_details/member_page/member_menu.ui
src/session/view/content/room_details/member_page/mod.rs
src/session/view/content/room_details/member_page/mod.ui
src/session/view/content/room_details/mod.rs
src/session/view/content/room_details/mod.ui
src/session/view/content/room_history/attachment_dialog.ui
src/session/view/content/room_history/event_actions.rs
src/session/view/content/room_history/event_actions.ui
src/session/view/content/room_history/item_row.rs
src/session/view/content/room_history/message_row/audio.rs
src/session/view/content/room_history/message_row/content.rs
src/session/view/content/room_history/message_row/file.ui
src/session/view/content/room_history/message_row/location.rs
src/session/view/content/room_history/message_row/media.rs
src/session/view/content/room_history/message_row/mod.ui
src/session/view/content/room_history/mod.rs
src/session/view/content/room_history/mod.ui
src/session/view/content/room_history/state_row/creation.rs
src/session/view/content/room_history/state_row/creation.ui
src/session/view/content/room_history/state_row/mod.rs
src/session/view/content/room_history/state_row/tombstone.rs
src/session/view/content/room_history/state_row/tombstone.ui
src/session/view/content/room_history/typing_row.rs
src/session/view/content/room_history/verification_info_bar.rs
src/session/view/content/verification/identity_verification_widget.rs
src/session/view/content/verification/identity_verification_widget.ui
src/session/view/content/verification/session_verification.rs
src/session/view/content/verification/session_verification.ui
src/session/view/create_dm_dialog/mod.rs
src/session/view/create_dm_dialog/mod.ui
src/session/view/event_source_dialog.ui
src/session/view/join_room_dialog.rs
src/session/view/join_room_dialog.ui
src/session/view/media_viewer.rs
src/session/view/media_viewer.ui
src/session/view/room_creation.rs
src/session/view/room_creation.ui
src/session/view/sidebar/category_row.rs
src/session/view/sidebar/mod.ui
src/session/view/sidebar/room_row.rs
src/session/view/sidebar/row.rs
src/shortcuts.ui
src/user_facing_error.rs
src/utils/media.rs
src/utils/matrix.rs

View File

@ -304,7 +304,7 @@ run_typos() {
#
# This assumes the following:
# - POTFILES is located at 'po/POTFILES.in'
# - UI (Glade) files are located in 'data/resources/ui' and use 'translatable="yes"'
# - UI (Glade) files are located in 'src' and use 'translatable="yes"'
# - Rust files are located in 'src' and use '*gettext' methods or macros
check_potfiles() {
echo -e "$Checking po/POTFILES.in…"
@ -354,7 +354,7 @@ check_potfiles() {
fi
# Get UI files with 'translatable="yes"'.
ui_files=(`grep -lIr 'translatable="yes"' data/resources/ui/*`)
ui_files=(`grep -lIr 'translatable="yes"' src/*`)
# Get Rust files with regex 'gettext(_f)?\('.
rs_files=(`grep -lIrE 'gettext(_f)?\(' src/*`)
@ -463,11 +463,12 @@ check_potfiles() {
fi
}
# Check if files in data/resources/resources.gresource.xml are sorted alphabetically.
# Check if files in resource files are sorted alphabetically.
check_resources() {
echo -e "$Checking data/resources/resources.gresource.xml"
echo -e "$Checking $1"
local ret=0
local files=()
# Get files.
regex="<file .*>(.*)</file>"
@ -475,14 +476,14 @@ check_resources() {
if [[ $line =~ $regex ]]; then
files+=("${BASH_REMATCH[1]}")
fi
done < data/resources/resources.gresource.xml
done < $1
# Check sorted alphabetically
to_sort=("${files[@]}")
local to_sort=("${files[@]}")
sort
for i in ${!files[@]}; do
if [[ "${files[$i]}" != "${to_sort[$i]}" ]]; then
echo -e "$error Found file '${files[$i]#src/}' before '${to_sort[$i]#src/}' in resources.gresource.xml"
echo -e "$error Found file '${files[$i]#src/}' before '${to_sort[$i]#src/}' in $1"
ret=1
break
fi
@ -490,11 +491,11 @@ check_resources() {
if [[ ret -eq 1 ]]; then
echo ""
echo -e " Checking data/resources/resources.gresource.xml result: $fail"
echo -e " Checking $1 result: $fail"
echo "Please fix the above issues"
exit 1
else
echo -e " Checking data/resources/resources.gresource.xml result: $ok"
echo -e " Checking $1 result: $ok"
fi
}
@ -600,10 +601,19 @@ echo ""
if [[ $git_staged -eq 1 ]]; then
staged_files=`git diff --name-only --cached | xargs ls -d 2>/dev/null | grep data/resources/resources.gresource.xml`
if [[ -z $staged_files ]]; then
check_resources
check_resources "data/resources/resources.gresource.xml"
fi
else
check_resources
check_resources "data/resources/resources.gresource.xml"
fi
echo ""
if [[ $git_staged -eq 1 ]]; then
staged_files=`git diff --name-only --cached | xargs ls -d 2>/dev/null | grep src/ui-resources.gresource.xml`
if [[ -z $staged_files ]]; then
check_resources "src/ui-resources.gresource.xml"
fi
else
check_resources "src/ui-resources.gresource.xml"
fi
echo ""
run_cargo_sort

View File

@ -10,7 +10,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/avatar-with-selection.ui")]
#[template(resource = "/org/gnome/Fractal/ui/account_switcher/avatar_with_selection.ui")]
pub struct AvatarWithSelection {
#[template_child]
pub child_avatar: TemplateChild<Avatar>,

View File

@ -18,7 +18,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/sidebar-account-switcher.ui")]
#[template(resource = "/org/gnome/Fractal/ui/account_switcher/mod.ui")]
pub struct AccountSwitcher {
#[template_child]
pub sessions: TemplateChild<gtk::ListBox>,

View File

@ -30,7 +30,7 @@
<child>
<object class="GtkLabel">
<property name="use-underline">true</property>
<property name="label">_Add Account</property>
<property name="label" translatable="yes">_Add Account</property>
</object>
</child>
</object>

View File

@ -10,7 +10,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/session-item-row.ui")]
#[template(resource = "/org/gnome/Fractal/ui/account_switcher/session_item.ui")]
pub struct SessionItemRow {
#[template_child]
pub avatar: TemplateChild<AvatarWithSelection>,

View File

@ -40,7 +40,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-action-button.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/action_button.ui")]
pub struct ActionButton {
/// The icon used in the default state.
pub icon_name: RefCell<String>,

View File

@ -10,7 +10,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-audio-player.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/audio-player.ui")]
pub struct AudioPlayer {
/// The media file to play.
pub media_file: RefCell<Option<gtk::MediaFile>>,

View File

@ -42,7 +42,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-auth-dialog.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/auth_dialog.ui")]
pub struct AuthDialog {
pub session: WeakRef<Session>,
#[template_child]

View File

@ -12,7 +12,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-avatar.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/avatar.ui")]
pub struct Avatar {
/// A `Room` or `User`
pub data: RefCell<Option<AvatarData>>,

View File

@ -15,7 +15,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-button-row.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/button_row.ui")]
pub struct ButtonRow {
/// Whether activating this button opens a subpage.
pub to_subpage: Cell<bool>,

View File

@ -25,7 +25,7 @@ mod imp {
}
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/context-menu-bin.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/context_menu_bin.ui")]
pub struct ContextMenuBin {
#[template_child]
pub click_gesture: TemplateChild<gtk::GestureClick>,

View File

@ -42,7 +42,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-editable-avatar.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/editable_avatar.ui")]
pub struct EditableAvatar {
/// The [`AvatarData`] to display.
pub data: RefCell<Option<AvatarData>>,

View File

@ -12,7 +12,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-loading-listbox-row.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/loading_listbox_row.ui")]
pub struct LoadingListBoxRow {
#[template_child]
pub spinner: TemplateChild<Spinner>,

View File

@ -14,7 +14,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-location-viewer.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/location_viewer.ui")]
pub struct LocationViewer {
#[template_child]
pub map: TemplateChild<shumate::SimpleMap>,

View File

@ -47,7 +47,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-media-content-viewer.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/media_content_viewer.ui")]
pub struct MediaContentViewer {
/// Whether to play the media content automatically.
pub autoplay: Cell<bool>,

View File

@ -15,7 +15,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/pill.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/pill.ui")]
pub struct Pill {
/// The user displayed by this widget
pub user: RefCell<Option<User>>,

View File

@ -56,7 +56,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-reaction-chooser.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/reaction_chooser.ui")]
pub struct ReactionChooser {
/// The `ReactionList` associated to this chooser
pub reactions: RefCell<Option<ReactionList>>,

View File

@ -10,7 +10,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/room-title.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/room_title.ui")]
pub struct RoomTitle {
// The markup for the title
pub title: RefCell<Option<String>>,

View File

@ -9,7 +9,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/spinner-button.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/spinner_button.ui")]
pub struct SpinnerButton {
#[template_child]
pub stack: TemplateChild<gtk::Stack>,

View File

@ -8,7 +8,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-toastable-window.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/toastable_window.ui")]
pub struct ToastableWindow {
#[template_child]
pub toast_overlay: TemplateChild<adw::ToastOverlay>,

View File

@ -15,7 +15,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/components-video-player.ui")]
#[template(resource = "/org/gnome/Fractal/ui/components/video_player.ui")]
pub struct VideoPlayer {
/// Whether this player should be displayed in a compact format.
pub compact: Cell<bool>,

View File

@ -6,4 +6,5 @@ pub const LOCALEDIR: &str = @LOCALEDIR@;
pub const PKGDATADIR: &str = @PKGDATADIR@;
pub const PROFILE: AppProfile = AppProfile::@PROFILE@;
pub const RESOURCES_FILE: &str = concat!(@PKGDATADIR@, "/resources.gresource");
pub const UI_RESOURCES_FILE: &str = concat!(@PKGDATADIR@, "/ui-resources.gresource");
pub const VERSION: &str = @VERSION@;

View File

@ -18,7 +18,7 @@ mod imp {
use super::*;
#[derive(Debug, CompositeTemplate, Default)]
#[template(resource = "/org/gnome/Fractal/qr-code-scanner.ui")]
#[template(resource = "/org/gnome/Fractal/ui/contrib/qr_code_scanner/mod.ui")]
pub struct QrCodeScanner {
#[template_child]
pub stack: TemplateChild<gtk::Stack>,

View File

@ -27,7 +27,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/error-page.ui")]
#[template(resource = "/org/gnome/Fractal/ui/error_page.ui")]
pub struct ErrorPage {
#[template_child]
pub page: TemplateChild<adw::StatusPage>,

View File

@ -9,7 +9,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/greeter.ui")]
#[template(resource = "/org/gnome/Fractal/ui/greeter.ui")]
pub struct Greeter {
#[template_child]
pub back_button: TemplateChild<gtk::Button>,

View File

@ -10,7 +10,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/login-advanced-dialog.ui")]
#[template(resource = "/org/gnome/Fractal/ui/login/advanced_dialog.ui")]
pub struct LoginAdvancedDialog {
pub autodiscovery: Cell<bool>,
}

View File

@ -19,7 +19,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/login-homeserver-page.ui")]
#[template(resource = "/org/gnome/Fractal/ui/login/homeserver_page.ui")]
pub struct LoginHomeserverPage {
#[template_child]
pub homeserver_entry: TemplateChild<adw::EntryRow>,

View File

@ -94,7 +94,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/login-idp-button.ui")]
#[template(resource = "/org/gnome/Fractal/ui/login/idp_button.ui")]
pub struct IdpButton {
pub brand: Cell<IdpBrand>,
pub id: RefCell<Option<String>>,

View File

@ -16,7 +16,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/login-method-page.ui")]
#[template(resource = "/org/gnome/Fractal/ui/login/method_page.ui")]
pub struct LoginMethodPage {
#[template_child]
pub title: TemplateChild<gtk::Label>,

View File

@ -57,7 +57,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/login.ui")]
#[template(resource = "/org/gnome/Fractal/ui/login/mod.ui")]
pub struct Login {
#[template_child]
pub back_button: TemplateChild<gtk::Button>,

View File

@ -7,7 +7,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/login-sso-page.ui")]
#[template(resource = "/org/gnome/Fractal/ui/login/sso_page.ui")]
pub struct LoginSsoPage {}
#[glib::object_subclass]

View File

@ -49,6 +49,8 @@ fn main() {
let res = gio::Resource::load(RESOURCES_FILE).expect("Could not load gresource file");
gio::resources_register(&res);
let ui_res = gio::Resource::load(UI_RESOURCES_FILE).expect("Could not load UI gresource file");
gio::resources_register(&ui_res);
IconTheme::for_display(&Display::default().unwrap())
.add_resource_path("/org/gnome/Fractal/icons");

View File

@ -1,3 +1,12 @@
# UI resources
ui_resources = gnome.compile_resources(
'ui-resources',
'ui-resources.gresource.xml',
gresource_bundle: true,
install: true,
install_dir: pkgdatadir,
)
version = major_version
if pre_release_version != ''
version += '.' + pre_release_version
@ -48,7 +57,7 @@ cargo_build = custom_target(
console: true,
install: true,
install_dir: bindir,
depends: resources,
depends: [resources, ui_resources],
command: [
'env',
cargo_env,

View File

@ -18,7 +18,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-device-row.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/account_settings/devices_page/device_row.ui"
)]
pub struct DeviceRow {
#[template_child]
pub display_name: TemplateChild<gtk::Label>,

View File

@ -19,7 +19,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-devices-page.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/account_settings/devices_page/mod.ui"
)]
pub struct DevicesPage {
pub user: RefCell<Option<User>>,
#[template_child]

View File

@ -24,7 +24,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings.ui")]
#[template(resource = "/org/gnome/Fractal/ui/session/view/account_settings/mod.ui")]
pub struct AccountSettings {
pub session: WeakRef<Session>,
pub session_handler: RefCell<Option<glib::SignalHandlerId>>,

View File

@ -19,7 +19,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-notifications-page.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/account_settings/notifications_page.ui"
)]
pub struct NotificationsPage {
/// The current session.
pub session: WeakRef<Session>,

View File

@ -29,7 +29,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-import-export-keys-subpage.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/account_settings/security_page/import_export_keys_subpage.ui"
)]
pub struct ImportExportKeysSubpage {
pub session: WeakRef<Session>,
#[template_child]

View File

@ -13,7 +13,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-security-page.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/account_settings/security_page/mod.ui"
)]
pub struct SecurityPage {
pub session: WeakRef<Session>,
#[template_child]

View File

@ -23,7 +23,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-change-password-subpage.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/account_settings/user_page/change_password_subpage.ui"
)]
pub struct ChangePasswordSubpage {
pub session: WeakRef<Session>,
#[template_child]

View File

@ -20,7 +20,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-deactivate-account-subpage.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/account_settings/user_page/deactivate_account_subpage.ui"
)]
pub struct DeactivateAccountSubpage {
pub session: WeakRef<Session>,
#[template_child]

View File

@ -12,7 +12,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-log-out-subpage.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/account_settings/user_page/log_out_subpage.ui"
)]
pub struct LogOutSubpage {
pub session: WeakRef<Session>,
#[template_child]

View File

@ -32,7 +32,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/account-settings-user-page.ui")]
#[template(resource = "/org/gnome/Fractal/ui/session/view/account_settings/user_page/mod.ui")]
pub struct UserPage {
pub session: WeakRef<Session>,
#[template_child]

View File

@ -25,7 +25,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/content-explore.ui")]
#[template(resource = "/org/gnome/Fractal/ui/session/view/content/explore/mod.ui")]
pub struct Explore {
pub compact: Cell<bool>,
pub session: WeakRef<Session>,

View File

@ -89,7 +89,22 @@
<property name="margin-start">24</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="resource">/org/gnome/Fractal/content-explore-item.ui</property>
<property name="bytes"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListItem">
<property name="activatable">False</property>
<property name="selectable">False</property>
<property name="child">
<object class="ContentPublicRoomRow">
<binding name="public-room">
<lookup name="item">GtkListItem</lookup>
</binding>
</object>
</property>
</template>
</interface>
]]></property>
</object>
</property>
<accessibility>

View File

@ -17,7 +17,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/content-public-room-row.ui")]
#[template(resource = "/org/gnome/Fractal/ui/session/view/content/explore/public_room_row.ui")]
pub struct PublicRoomRow {
pub public_room: RefCell<Option<PublicRoom>>,
#[template_child]

View File

@ -9,7 +9,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/content-explore-server-row.ui")]
#[template(resource = "/org/gnome/Fractal/ui/session/view/content/explore/server_row.ui")]
pub struct ExploreServerRow {
/// The server displayed by this row.
pub server: OnceCell<Server>,

View File

@ -19,7 +19,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/content-explore-servers-popover.ui")]
#[template(resource = "/org/gnome/Fractal/ui/session/view/content/explore/servers_popover.ui")]
pub struct ExploreServersPopover {
pub session: WeakRef<Session>,
pub server_list: RefCell<Option<ServerList>>,

View File

@ -20,7 +20,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/content-invite.ui")]
#[template(resource = "/org/gnome/Fractal/ui/session/view/content/invite.ui")]
pub struct Invite {
pub compact: Cell<bool>,
pub room: RefCell<Option<Room>>,

View File

@ -24,7 +24,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/content.ui")]
#[template(resource = "/org/gnome/Fractal/ui/session/view/content/mod.ui")]
pub struct Content {
pub compact: Cell<bool>,
pub session: WeakRef<Session>,

View File

@ -40,7 +40,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/content-room-details-general-page.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/content/room_details/general_page/mod.ui"
)]
pub struct GeneralPage {
pub room: OnceCell<Room>,
#[template_child]

View File

@ -13,7 +13,9 @@ mod imp {
use super::*;
#[derive(Debug, Default, CompositeTemplate)]
#[template(resource = "/org/gnome/Fractal/content-audio-history-viewer.ui")]
#[template(
resource = "/org/gnome/Fractal/ui/session/view/content/room_details/history_viewer/audio.ui"
)]
pub struct AudioHistoryViewer {
pub room_timeline: OnceCell<Timeline>,
#[template_child]

Some files were not shown because too many files have changed in this diff Show More