Skip to content

Commit 85ab7c3

Browse files
committed
chat-info-members: Put members list in a separate widget
also move MemberRow inside chat_info_window module
1 parent 43bd738 commit 85ab7c3

File tree

7 files changed

+305
-181
lines changed

7 files changed

+305
-181
lines changed

data/resources/resources.gresource.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
<file compressed="true" preprocess="xml-stripblanks">ui/add-account-row.ui</file>
1414
<file compressed="true" preprocess="xml-stripblanks">ui/avatar-with-selection.ui</file>
1515
<file compressed="true" preprocess="xml-stripblanks">ui/components-avatar.ui</file>
16-
<file compressed="true" preprocess="xml-stripblanks">ui/components-chat-member-row.ui</file>
1716
<file compressed="true" preprocess="xml-stripblanks">ui/components-message-entry.ui</file>
1817
<file compressed="true" preprocess="xml-stripblanks">ui/content.ui</file>
1918
<file compressed="true" preprocess="xml-stripblanks">ui/content-chat-action-bar.ui</file>
2019
<file compressed="true" preprocess="xml-stripblanks">ui/content-chat-history.ui</file>
20+
<file compressed="true" preprocess="xml-stripblanks">ui/content-chat-info-member-row.ui</file>
2121
<file compressed="true" preprocess="xml-stripblanks">ui/content-chat-info-window.ui</file>
2222
<file compressed="true" preprocess="xml-stripblanks">ui/content-event-row.ui</file>
2323
<file compressed="true" preprocess="xml-stripblanks">ui/content-message-document.ui</file>

data/resources/ui/components-chat-member-row.ui renamed to data/resources/ui/content-chat-info-member-row.ui

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<interface>
3-
<template class="ComponentsChatMemberRow" parent="GtkBox">
4-
<property name="spacing">12</property>
3+
<template class="ContentChatInfoMemberRow" parent="GtkWidget">
4+
<property name="layout-manager">
5+
<object class="GtkBoxLayout">
6+
<property name="spacing">12</property>
7+
</object>
8+
</property>
59
<child>
610
<object class="ComponentsAvatar" id="avatar">
711
<property name="size">40</property>

data/resources/ui/content-chat-info-window.ui

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -85,25 +85,15 @@
8585
<property name="name">members</property>
8686
<property name="title" translatable="yes">Members</property>
8787
<property name="icon-name">avatar-default-symbolic</property>
88-
<property name="visible">false</property>
88+
<property name="visible">False</property>
89+
<binding name="visible">
90+
<lookup name="visible">members_list</lookup>
91+
</binding>
8992
<property name="child">
90-
<object class="GtkScrolledWindow">
91-
<property name="child">
92-
<object class="AdwClampScrollable">
93-
<property name="maximum-size">440</property>
94-
<property name="tightening-threshold">200</property>
95-
<property name="child">
96-
<object class="GtkListView" id="members_list">
97-
<property name="model">
98-
<object class="GtkNoSelection" id="selection"/>
99-
</property>
100-
<style>
101-
<class name="navigation-sidebar"/>
102-
</style>
103-
</object>
104-
</property>
105-
</object>
106-
</property>
93+
<object class="ContentChatInfoMembers" id="members_list">
94+
<binding name="chat">
95+
<lookup name="chat">ContentChatInfoWindow</lookup>
96+
</binding>
10797
</object>
10898
</property>
10999
</object>

src/session/components/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
mod avatar;
2-
mod chat_member_row;
32
mod message_entry;
43
mod snow;
54

65
pub(crate) use self::avatar::Avatar;
7-
pub(crate) use self::chat_member_row::ChatMemberRow;
86
pub(crate) use self::message_entry::MessageEntry;
97
pub(crate) use self::snow::Snow;

src/session/components/chat_member_row.rs renamed to src/session/content/chat_info_window/member_row.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ use gtk::prelude::*;
44
use gtk::subclass::prelude::*;
55
use gtk::{glib, CompositeTemplate};
66

7-
use super::Avatar;
7+
use crate::session::components::Avatar;
88
use crate::{expressions, strings};
99
use tdlib::enums::{UserStatus, UserType};
1010

1111
mod imp {
1212
use super::*;
1313
#[derive(Debug, Default, CompositeTemplate)]
14-
#[template(resource = "/com/github/melix99/telegrand/ui/components-chat-member-row.ui")]
15-
pub(crate) struct ChatMemberRow {
14+
#[template(resource = "/com/github/melix99/telegrand/ui/content-chat-info-member-row.ui")]
15+
pub(crate) struct MemberRow {
1616
#[template_child]
1717
pub(super) avatar: TemplateChild<Avatar>,
1818
#[template_child]
@@ -24,10 +24,10 @@ mod imp {
2424
}
2525

2626
#[glib::object_subclass]
27-
impl ObjectSubclass for ChatMemberRow {
28-
const NAME: &'static str = "ComponentsChatMemberRow";
29-
type Type = super::ChatMemberRow;
30-
type ParentType = gtk::Box;
27+
impl ObjectSubclass for MemberRow {
28+
const NAME: &'static str = "ContentChatInfoMemberRow";
29+
type Type = super::MemberRow;
30+
type ParentType = gtk::Widget;
3131

3232
fn class_init(klass: &mut Self::Class) {
3333
Self::bind_template(klass);
@@ -39,24 +39,24 @@ mod imp {
3939
}
4040
}
4141

42-
impl ObjectImpl for ChatMemberRow {
42+
impl ObjectImpl for MemberRow {
4343
fn dispose(&self) {
4444
self.avatar.unparent();
4545
self.user_status_label.parent().unwrap().unparent();
4646
}
4747
}
48-
49-
impl WidgetImpl for ChatMemberRow {}
5048

51-
impl BoxImpl for ChatMemberRow {}
49+
impl WidgetImpl for MemberRow {}
50+
51+
impl BoxImpl for MemberRow {}
5252
}
5353

5454
glib::wrapper! {
55-
pub(crate) struct ChatMemberRow(ObjectSubclass<imp::ChatMemberRow>)
55+
pub(crate) struct MemberRow(ObjectSubclass<imp::MemberRow>)
5656
@extends gtk::Widget;
5757
}
5858

59-
impl ChatMemberRow {
59+
impl MemberRow {
6060
pub fn new() -> Self {
6161
glib::Object::new(&[])
6262
}

0 commit comments

Comments
 (0)