chore: Use AdwToolbarView wherever possible
This commit is contained in:
parent
4b98c9caef
commit
d560572193
|
@ -2,9 +2,8 @@
|
|||
<interface>
|
||||
<template class="ErrorPage" parent="AdwBin">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="title-widget">
|
||||
<object class="AdwWindowTitle">
|
||||
|
@ -13,7 +12,7 @@
|
|||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<property name="content">
|
||||
<object class="AdwStatusPage" id="page">
|
||||
<property name="title" translatable="yes">Secret Service Error</property>
|
||||
<property name="icon-name">dialog-password-symbolic</property>
|
||||
|
@ -196,7 +195,7 @@
|
|||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
|
|
|
@ -11,8 +11,6 @@ mod imp {
|
|||
#[derive(Debug, Default, CompositeTemplate)]
|
||||
#[template(resource = "/org/gnome/Fractal/ui/greeter.ui")]
|
||||
pub struct Greeter {
|
||||
#[template_child]
|
||||
pub back_button: TemplateChild<gtk::Button>,
|
||||
#[template_child]
|
||||
pub login_button: TemplateChild<gtk::Button>,
|
||||
#[template_child]
|
||||
|
|
|
@ -2,15 +2,9 @@
|
|||
<interface>
|
||||
<template class="Greeter" parent="AdwBin">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="title-widget">
|
||||
<object class="AdwWindowTitle">
|
||||
<property name="title">Fractal</property>
|
||||
</object>
|
||||
</property>
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="AdwHeaderBar">
|
||||
<child type="start">
|
||||
<object class="GtkButton" id="back_button">
|
||||
<property name="action-name">app.show-session</property>
|
||||
|
@ -36,7 +30,7 @@
|
|||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<property name="content">
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="hscrollbar-policy">never</property>
|
||||
<property name="propagate-natural-height">True</property>
|
||||
|
@ -131,7 +125,7 @@
|
|||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
|
|
206
src/login/mod.ui
206
src/login/mod.ui
|
@ -2,15 +2,10 @@
|
|||
<interface>
|
||||
<template class="Login" parent="AdwBin">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="title-widget">
|
||||
<object class="GtkBox">
|
||||
<property name="visible">False</property>
|
||||
</object>
|
||||
</property>
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="AdwHeaderBar">
|
||||
<property name="show-title">False</property>
|
||||
<child type="start">
|
||||
<object class="GtkButton" id="back_button">
|
||||
<property name="icon-name">go-previous-symbolic</property>
|
||||
|
@ -22,110 +17,115 @@
|
|||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwBanner" id="offline_banner"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStack" id="main_stack">
|
||||
<property name="transition-type">crossfade</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="content">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">homeserver</property>
|
||||
<property name="child">
|
||||
<object class="LoginHomeserverPage" id="homeserver_page">
|
||||
<property name="login">Login</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
<object class="AdwBanner" id="offline_banner"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">method</property>
|
||||
<property name="child">
|
||||
<object class="LoginMethodPage" id="method_page">
|
||||
<property name="login">Login</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">sso</property>
|
||||
<property name="child">
|
||||
<object class="LoginSsoPage" id="sso_page"/>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">loading</property>
|
||||
<property name="child">
|
||||
<object class="Spinner" id="loading_page">
|
||||
<property name="valign">center</property>
|
||||
<property name="halign">center</property>
|
||||
<style>
|
||||
<class name="session-loading-spinner"/>
|
||||
</style>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">completed</property>
|
||||
<property name="child">
|
||||
<object class="AdwClamp">
|
||||
<property name="maximum-size">400</property>
|
||||
<property name="tightening-threshold">300</property>
|
||||
<object class="GtkStack" id="main_stack">
|
||||
<property name="transition-type">crossfade</property>
|
||||
<property name="vexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">homeserver</property>
|
||||
<property name="child">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">18</property>
|
||||
<property name="valign">center</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="label" translatable="yes">Login Complete</property>
|
||||
<style>
|
||||
<class name="title-1"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPicture">
|
||||
<property name="file">resource:///org/gnome/Fractal/assets/setup-complete.svg</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="label" translatable="yes">This session is ready to send and receive secure messages.</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="done_button">
|
||||
<property name="label" translatable="yes">Start Chatting</property>
|
||||
<property name="halign">center</property>
|
||||
<signal name="clicked" handler="finish_login" swapped="yes"/>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
<class name="pill"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<object class="LoginHomeserverPage" id="homeserver_page">
|
||||
<property name="login">Login</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">method</property>
|
||||
<property name="child">
|
||||
<object class="LoginMethodPage" id="method_page">
|
||||
<property name="login">Login</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">sso</property>
|
||||
<property name="child">
|
||||
<object class="LoginSsoPage" id="sso_page"/>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">loading</property>
|
||||
<property name="child">
|
||||
<object class="Spinner" id="loading_page">
|
||||
<property name="valign">center</property>
|
||||
<property name="halign">center</property>
|
||||
<style>
|
||||
<class name="session-loading-spinner"/>
|
||||
</style>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">completed</property>
|
||||
<property name="child">
|
||||
<object class="AdwClamp">
|
||||
<property name="maximum-size">400</property>
|
||||
<property name="tightening-threshold">300</property>
|
||||
<property name="child">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">18</property>
|
||||
<property name="valign">center</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="label" translatable="yes">Login Complete</property>
|
||||
<style>
|
||||
<class name="title-1"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPicture">
|
||||
<property name="file">resource:///org/gnome/Fractal/assets/setup-complete.svg</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="label" translatable="yes">This session is ready to send and receive secure messages.</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="done_button">
|
||||
<property name="label" translatable="yes">Start Chatting</property>
|
||||
<property name="halign">center</property>
|
||||
<signal name="clicked" handler="finish_login" swapped="yes"/>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
<class name="pill"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
use std::cell::Cell;
|
||||
|
||||
use gtk::{gdk, gio, glib, glib::clone, prelude::*, subclass::prelude::*, CompositeTemplate};
|
||||
use adw::subclass::prelude::*;
|
||||
use gtk::{gdk, gio, glib, glib::clone, prelude::*, CompositeTemplate};
|
||||
use once_cell::sync::Lazy;
|
||||
|
||||
use crate::components::MediaContentViewer;
|
||||
|
@ -24,7 +25,7 @@ mod imp {
|
|||
impl ObjectSubclass for AttachmentDialog {
|
||||
const NAME: &'static str = "AttachmentDialog";
|
||||
type Type = super::AttachmentDialog;
|
||||
type ParentType = gtk::Window;
|
||||
type ParentType = adw::Window;
|
||||
|
||||
fn class_init(klass: &mut Self::Class) {
|
||||
Self::bind_template(klass);
|
||||
|
@ -48,13 +49,15 @@ mod imp {
|
|||
SIGNALS.as_ref()
|
||||
}
|
||||
}
|
||||
|
||||
impl WidgetImpl for AttachmentDialog {}
|
||||
impl WindowImpl for AttachmentDialog {}
|
||||
impl AdwWindowImpl for AttachmentDialog {}
|
||||
}
|
||||
|
||||
glib::wrapper! {
|
||||
pub struct AttachmentDialog(ObjectSubclass<imp::AttachmentDialog>)
|
||||
@extends gtk::Widget, gtk::Window;
|
||||
@extends gtk::Widget, gtk::Window, gtk::Root, adw::Window;
|
||||
}
|
||||
|
||||
impl AttachmentDialog {
|
||||
|
|
|
@ -1,35 +1,38 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<template class="AttachmentDialog" parent="GtkWindow">
|
||||
<template class="AttachmentDialog" parent="AdwWindow">
|
||||
<property name="modal">True</property>
|
||||
<property name="title"></property>
|
||||
<property name="default-width">400</property>
|
||||
<property name="default-height">400</property>
|
||||
<property name="destroy-with-parent">True</property>
|
||||
<property name="titlebar">
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="show-title-buttons">False</property>
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="label" translatable="yes">_Cancel</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="action-name">window.close</property>
|
||||
<property name="content">
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="show-title-buttons">False</property>
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="label" translatable="yes">_Cancel</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="action-name">window.close</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkButton" id="send_button">
|
||||
<property name="label" translatable="yes">_Send</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="action-name">attachment-dialog.send</property>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkButton" id="send_button">
|
||||
<property name="label" translatable="yes">_Send</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="action-name">attachment-dialog.send</property>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
<property name="child">
|
||||
<object class="ComponentsMediaContentViewer" id="media">
|
||||
<property name="content">
|
||||
<object class="ComponentsMediaContentViewer" id="media"/>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
<child>
|
||||
|
|
|
@ -6,129 +6,117 @@
|
|||
<property name="default-width">380</property>
|
||||
<property name="default-height">620</property>
|
||||
<property name="content">
|
||||
<object class="GtkWindowHandle">
|
||||
<property name="child">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="AdwHeaderBar">
|
||||
<property name="show-title">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="top">
|
||||
<object class="AdwClamp">
|
||||
<property name="hexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkHeaderBar">
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
<property name="title-widget">
|
||||
<object class="GtkBox">
|
||||
<property name="visible">False</property>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">18</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="heading">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="max-width-chars">20</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="label" translatable="yes">New Direct Chat</property>
|
||||
<style>
|
||||
<class name="title-2"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSearchEntry" id="search_entry">
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<property name="content">
|
||||
<object class="GtkStack" id="stack">
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">no-search-page</property>
|
||||
<property name="child">
|
||||
<object class="AdwStatusPage">
|
||||
<property name="vexpand">True</property>
|
||||
<property name="icon-name">system-search-symbolic</property>
|
||||
<property name="title" translatable="yes">Search</property>
|
||||
<property name="description" translatable="yes">Search for people to start a new chat with</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwClamp">
|
||||
<property name="hexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">18</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="heading">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="max-width-chars">20</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="label" translatable="yes">New Direct Chat</property>
|
||||
<style>
|
||||
<class name="title-2"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSearchEntry" id="search_entry">
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStack" id="stack">
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">no-search-page</property>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">matching-page</property>
|
||||
<property name="child">
|
||||
<object class="GtkScrolledWindow" id="matching_page">
|
||||
<property name="child">
|
||||
<object class="AdwStatusPage">
|
||||
<property name="vexpand">True</property>
|
||||
<property name="icon-name">system-search-symbolic</property>
|
||||
<property name="title" translatable="yes">Search</property>
|
||||
<property name="description" translatable="yes">Search for people to start a new chat with</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">matching-page</property>
|
||||
<property name="child">
|
||||
<object class="GtkScrolledWindow" id="matching_page">
|
||||
<object class="AdwClamp">
|
||||
<property name="child">
|
||||
<object class="AdwClamp">
|
||||
<property name="child">
|
||||
<object class="GtkListBox" id="list_box">
|
||||
<property name="activate-on-single-click">True</property>
|
||||
<property name="margin-start">6</property>
|
||||
<property name="margin-end">6</property>
|
||||
<signal name="row-activated" handler="row_activated_cb" swapped="yes"/>
|
||||
<style>
|
||||
<class name="navigation-sidebar"/>
|
||||
</style>
|
||||
</object>
|
||||
</property>
|
||||
<object class="GtkListBox" id="list_box">
|
||||
<property name="activate-on-single-click">True</property>
|
||||
<property name="margin-start">6</property>
|
||||
<property name="margin-end">6</property>
|
||||
<signal name="row-activated" handler="row_activated_cb" swapped="yes"/>
|
||||
<style>
|
||||
<class name="navigation-sidebar"/>
|
||||
</style>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">no-matching-page</property>
|
||||
<property name="child">
|
||||
<object class="AdwStatusPage">
|
||||
<property name="icon-name">system-search-symbolic</property>
|
||||
<property name="title" translatable="yes">No Users Found</property>
|
||||
<property name="description" translatable="yes">No users matching the search pattern were found</property>
|
||||
</object>
|
||||
</property>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">no-matching-page</property>
|
||||
<property name="child">
|
||||
<object class="AdwStatusPage">
|
||||
<property name="icon-name">system-search-symbolic</property>
|
||||
<property name="title" translatable="yes">No Users Found</property>
|
||||
<property name="description" translatable="yes">No users matching the search pattern were found</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">error-page</property>
|
||||
<property name="child">
|
||||
<object class="AdwStatusPage" id="error_page">
|
||||
<property name="icon-name">dialog-error-symbolic</property>
|
||||
<property name="title" translatable="yes">Error</property>
|
||||
<property name="description" translatable="yes">An error occurred while searching for matches</property>
|
||||
</object>
|
||||
</property>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">error-page</property>
|
||||
<property name="child">
|
||||
<object class="AdwStatusPage" id="error_page">
|
||||
<property name="icon-name">dialog-error-symbolic</property>
|
||||
<property name="title" translatable="yes">Error</property>
|
||||
<property name="description" translatable="yes">An error occurred while searching for matches</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">loading-page</property>
|
||||
<property name="child">
|
||||
<object class="Spinner">
|
||||
<property name="valign">center</property>
|
||||
<property name="halign">center</property>
|
||||
<style>
|
||||
<class name="session-loading-spinner"/>
|
||||
</style>
|
||||
</object>
|
||||
</property>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStackPage">
|
||||
<property name="name">loading-page</property>
|
||||
<property name="child">
|
||||
<object class="Spinner">
|
||||
<property name="valign">center</property>
|
||||
<property name="halign">center</property>
|
||||
<style>
|
||||
<class name="session-loading-spinner"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
@ -137,4 +125,3 @@
|
|||
</property>
|
||||
</template>
|
||||
</interface>
|
||||
|
||||
|
|
|
@ -7,9 +7,8 @@
|
|||
<property name="default-width">500</property>
|
||||
<property name="default-height">300</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="GtkHeaderBar">
|
||||
<child type="start">
|
||||
<object class="GtkButton">
|
||||
|
@ -20,7 +19,7 @@
|
|||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<property name="content">
|
||||
<object class="GtkScrolledWindow">
|
||||
<style>
|
||||
<class name="event-source-dialog"/>
|
||||
|
@ -48,7 +47,7 @@
|
|||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
|
|
|
@ -7,188 +7,91 @@
|
|||
<property name="default-height">620</property>
|
||||
<property name="content">
|
||||
<object class="AdwToastOverlay" id="toast_overlay">
|
||||
<child>
|
||||
<object class="GtkWindowHandle">
|
||||
<property name="child">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkHeaderBar">
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
<property name="title-widget">
|
||||
<object class="GtkBox">
|
||||
<property name="visible">False</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="scrolled_window">
|
||||
<property name="hscrollbar-policy">never</property>
|
||||
<property name="propagate-natural-height">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<child>
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="AdwHeaderBar">
|
||||
<property name="show-title">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="content">
|
||||
<object class="GtkScrolledWindow" id="scrolled_window">
|
||||
<property name="hscrollbar-policy">never</property>
|
||||
<property name="propagate-natural-height">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="child">
|
||||
<object class="AdwClamp">
|
||||
<property name="maximum-size">444</property>
|
||||
<property name="child">
|
||||
<object class="AdwClamp">
|
||||
<property name="maximum-size">444</property>
|
||||
<property name="child">
|
||||
<object class="GtkBox">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">24</property>
|
||||
<property name="margin-bottom">24</property>
|
||||
<property name="margin-start">24</property>
|
||||
<property name="margin-end">24</property>
|
||||
<child type="top">
|
||||
<object class="GtkLabel" id="heading">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="max-width-chars">20</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="label" translatable="yes">New Room</property>
|
||||
<style>
|
||||
<class name="title-2"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="content">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">24</property>
|
||||
<property name="margin-bottom">24</property>
|
||||
<property name="margin-start">24</property>
|
||||
<property name="margin-end">24</property>
|
||||
<property name="spacing">18</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="heading">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="max-width-chars">20</property>
|
||||
<property name="justify">center</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="label" translatable="yes">New Room</property>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<style>
|
||||
<class name="title-2"/>
|
||||
<class name="boxed-list"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="AdwEntryRow" id="room_name">
|
||||
<property name="title" translatable="yes">Name</property>
|
||||
<signal name="changed" handler="validate_form" swapped="yes"/>
|
||||
<signal name="entry-activated" handler="create_room" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwEntryRow" id="room_topic">
|
||||
<property name="title" translatable="yes">Topic (Optional)</property>
|
||||
<signal name="entry-activated" handler="create_room" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="content">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">18</property>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="title" translatable="yes">Room Visibility</property>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<style>
|
||||
<class name="boxed-list"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="AdwEntryRow" id="room_name">
|
||||
<property name="title" translatable="yes">Name</property>
|
||||
<signal name="changed" handler="validate_form" swapped="yes"/>
|
||||
<signal name="entry-activated" handler="create_room" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwEntryRow" id="room_topic">
|
||||
<property name="title" translatable="yes">Topic (Optional)</property>
|
||||
<signal name="entry-activated" handler="create_room" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="title" translatable="yes">Room Visibility</property>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Private</property>
|
||||
<property name="subtitle" translatable="yes">Only invited people can join this room</property>
|
||||
<property name="activatable_widget">visibility_private</property>
|
||||
<child type="prefix">
|
||||
<object class="GtkCheckButton" id="visibility_private">
|
||||
<property name="valign">center</property>
|
||||
<property name="active">True</property>
|
||||
<signal name="toggled" handler="validate_form" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Public</property>
|
||||
<property name="subtitle" translatable="yes">Anyone can find and join this room</property>
|
||||
<property name="activatable_widget">visibility_public</property>
|
||||
<child type="prefix">
|
||||
<object class="GtkCheckButton" id="visibility_public">
|
||||
<property name="valign">center</property>
|
||||
<property name="group">visibility_private</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="visible" bind-source="visibility_private" bind-property="active" bind-flags="sync-create"/>
|
||||
<property name="margin-top">12</property>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">End-to-End Encryption</property>
|
||||
<property name="subtitle" translatable="yes">Cannot be disabled later</property>
|
||||
<property name="activatable_widget">encryption</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="encryption">
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRevealer">
|
||||
<property name="reveal-child" bind-source="encryption" bind-property="active" bind-flags="sync-create"/>
|
||||
<property name="child">
|
||||
<object class="GtkLabel">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="xalign">0.0</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="label" translatable="yes">Fractal does not support online backup for encryption keys yet, so you will need to back them up manually or your message history will be lost if you lose access to all your sessions.</property>
|
||||
<style>
|
||||
<class name="warning"/>
|
||||
<class name="caption"/>
|
||||
</style>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="visible" bind-source="visibility_public" bind-property="active" bind-flags="sync-create"/>
|
||||
<property name="title" translatable="yes">Room Address</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Private</property>
|
||||
<property name="subtitle" translatable="yes">Only invited people can join this room</property>
|
||||
<property name="activatable_widget">visibility_private</property>
|
||||
<child type="prefix">
|
||||
<object class="GtkCheckButton" id="visibility_private">
|
||||
<property name="valign">center</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">#</property>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="room_address">
|
||||
<property name="valign">center</property>
|
||||
<property name="max-width-chars">20</property>
|
||||
<signal name="changed" handler="validate_form" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="server_name">
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<property name="active">True</property>
|
||||
<signal name="toggled" handler="validate_form" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRevealer" id="room_address_error_revealer">
|
||||
<property name="child">
|
||||
<object class="GtkLabel" id="room_address_error">
|
||||
<style>
|
||||
<class name="error"/>
|
||||
<class name="caption"/>
|
||||
</style>
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="xalign">0.0</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Public</property>
|
||||
<property name="subtitle" translatable="yes">Anyone can find and join this room</property>
|
||||
<property name="activatable_widget">visibility_public</property>
|
||||
<child type="prefix">
|
||||
<object class="GtkCheckButton" id="visibility_public">
|
||||
<property name="valign">center</property>
|
||||
<property name="group">visibility_private</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
@ -196,27 +99,112 @@
|
|||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="SpinnerButton" id="create_button">
|
||||
<property name="label" translatable="yes">_Create Room</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="vexpand">true</property>
|
||||
<signal name="clicked" handler="create_room" swapped="yes"/>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
<class name="standalone-button"/>
|
||||
<class name="pill"/>
|
||||
</style>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="visible" bind-source="visibility_private" bind-property="active" bind-flags="sync-create"/>
|
||||
<property name="margin-top">12</property>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">End-to-End Encryption</property>
|
||||
<property name="subtitle" translatable="yes">Cannot be disabled later</property>
|
||||
<property name="activatable_widget">encryption</property>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="encryption">
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRevealer">
|
||||
<property name="reveal-child" bind-source="encryption" bind-property="active" bind-flags="sync-create"/>
|
||||
<property name="child">
|
||||
<object class="GtkLabel">
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="xalign">0.0</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="label" translatable="yes">Fractal does not support online backup for encryption keys yet, so you will need to back them up manually or your message history will be lost if you lose access to all your sessions.</property>
|
||||
<style>
|
||||
<class name="warning"/>
|
||||
<class name="caption"/>
|
||||
</style>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="visible" bind-source="visibility_public" bind-property="active" bind-flags="sync-create"/>
|
||||
<property name="title" translatable="yes">Room Address</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="valign">center</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label">#</property>
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="room_address">
|
||||
<property name="valign">center</property>
|
||||
<property name="max-width-chars">20</property>
|
||||
<signal name="changed" handler="validate_form" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="server_name">
|
||||
<style>
|
||||
<class name="dim-label"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRevealer" id="room_address_error_revealer">
|
||||
<property name="child">
|
||||
<object class="GtkLabel" id="room_address_error">
|
||||
<style>
|
||||
<class name="error"/>
|
||||
<class name="caption"/>
|
||||
</style>
|
||||
<property name="wrap">True</property>
|
||||
<property name="wrap-mode">word-char</property>
|
||||
<property name="xalign">0.0</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</child>
|
||||
<child>
|
||||
<object class="SpinnerButton" id="create_button">
|
||||
<property name="label" translatable="yes">_Create Room</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="vexpand">true</property>
|
||||
<signal name="clicked" handler="create_room" swapped="yes"/>
|
||||
<style>
|
||||
<class name="suggested-action"/>
|
||||
<class name="standalone-button"/>
|
||||
<class name="pill"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
|
|
|
@ -14,29 +14,28 @@
|
|||
<child>
|
||||
<object class="GtkWindowHandle" id="loading">
|
||||
<property name="child">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<object class="AdwToolbarView">
|
||||
<child>
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="show-title-buttons">True</property>
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
<object class="GtkHeaderBar"/>
|
||||
</child>
|
||||
<property name="content">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="AdwBanner" id="offline_banner"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="Spinner" id="spinner">
|
||||
<property name="valign">center</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="vexpand">True</property>
|
||||
<style>
|
||||
<class name="session-loading-spinner"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwBanner" id="offline_banner"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="Spinner" id="spinner">
|
||||
<property name="valign">center</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="vexpand">True</property>
|
||||
<style>
|
||||
<class name="session-loading-spinner"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
|
|
Loading…
Reference in New Issue