mirror of
https://github.com/TakeV-Lambda/Tooth.git
synced 2024-09-27 13:13:20 +00:00
feat: post visibility indicators
This commit is contained in:
parent
6f688443f8
commit
28c2c053e3
|
@ -88,6 +88,15 @@
|
|||
<property name="valign">start</property>
|
||||
<property name="margin_start">6</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="indicator">
|
||||
<property name="visible">1</property>
|
||||
<property name="can_focus">0</property>
|
||||
<property name="opacity">0.5</property>
|
||||
<property name="icon_name">unknown</property>
|
||||
<property name="icon_size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="pin_indicator">
|
||||
<property name="visible">0</property>
|
||||
|
@ -97,15 +106,6 @@
|
|||
<property name="icon_size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="indicator">
|
||||
<property name="visible">0</property>
|
||||
<property name="can_focus">0</property>
|
||||
<property name="opacity">0.5</property>
|
||||
<property name="icon_name">unknown</property>
|
||||
<property name="icon_size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="date_label">
|
||||
<property name="can_focus">0</property>
|
||||
|
|
|
@ -6,10 +6,17 @@ public class Tooth.Widgets.Conversation : Widgets.Status {
|
|||
|
||||
public Conversation (API.Conversation entity) {
|
||||
Object (conversation: entity, status: entity.last_status);
|
||||
conversation.bind_property ("unread", this.indicator, "visible", BindingFlags.SYNC_CREATE);
|
||||
conversation.bind_property ("unread", this.indicator, "icon_name", BindingFlags.SYNC_CREATE, (b, src, ref target) => {
|
||||
if (src.get_boolean()) {
|
||||
target.set_string ("tooth-mark-important-symbolic");
|
||||
this.indicator.opacity = 1;
|
||||
} else {
|
||||
target.set_string ("tooth-mail-symbolic");
|
||||
this.indicator.opacity = 0.5;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
// this.indicators.child_set_property (this.indicator, "position", 2);
|
||||
this.indicator.opacity = 1;
|
||||
this.indicator.icon_name = "tooth-mark-important-symbolic";
|
||||
this.actions.destroy ();
|
||||
}
|
||||
|
||||
|
|
|
@ -192,6 +192,10 @@ public class Tooth.Widgets.Status : ListBoxRow {
|
|||
bind_property ("subtitle_text", handle_label, "label", BindingFlags.SYNC_CREATE);
|
||||
bind_property ("date", date_label, "label", BindingFlags.SYNC_CREATE);
|
||||
status.formal.bind_property ("pinned", pin_indicator, "visible", BindingFlags.SYNC_CREATE);
|
||||
status.formal.bind_property ("visibility", indicator, "icon_name", BindingFlags.SYNC_CREATE, (b, src, ref target) => {
|
||||
target.set_string (accounts.active.visibility[src.get_string ()].icon_name);
|
||||
return true;
|
||||
});
|
||||
status.formal.bind_property ("account", avatar, "account", BindingFlags.SYNC_CREATE);
|
||||
|
||||
// Spoiler //TODO: Spoilers
|
||||
|
|
Loading…
Reference in a new issue