[california/wip/731543-attendees] Further refinements
- From: Jim Nelson <jnelson src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [california/wip/731543-attendees] Further refinements
- Date: Sat, 8 Nov 2014 03:10:43 +0000 (UTC)
commit 0d6159d68965fee0ca01b4e31a6286374a65a0fc
Author: Jim Nelson <jim yorba org>
Date: Fri Nov 7 19:10:31 2014 -0800
Further refinements
src/host/host-attendees-editor.vala | 25 +++++++++++++++++++++++++
src/host/host-create-update-event.vala | 8 +++++++-
src/rc/attendees-editor.ui | 23 ++++++++---------------
src/rc/create-update-event.ui | 1 +
4 files changed, 41 insertions(+), 16 deletions(-)
---
diff --git a/src/host/host-attendees-editor.vala b/src/host/host-attendees-editor.vala
index 79c472a..c00b274 100644
--- a/src/host/host-attendees-editor.vala
+++ b/src/host/host-attendees-editor.vala
@@ -22,12 +22,37 @@ public class AttendeesEditor : Gtk.Box, Toolkit.Card {
private Gtk.Entry add_guest_entry;
[GtkChild]
+ private Gtk.ListBox guest_listbox;
+
+ [GtkChild]
private Gtk.Button accept_button;
+ private new Component.Event? event = null;
+ private Toolkit.ListBoxModel guest_model;
+
public AttendeesEditor() {
+ guest_model = new Toolkit.ListBoxModel<Component.Person>(guest_listbox, model_presentation);
}
public void jumped_to(Toolkit.Card? from, Toolkit.Card.Jump reason, Value? message) {
+ event = message as Component.Event;
+ if (event == null)
+ return;
+
+ guest_model.clear();
+ guest_model.add_many(event.attendees);
+ }
+
+ [GtkCallback]
+ private void on_cancel_button_clicked() {
+ jump_home();
+ }
+
+ private Gtk.Widget model_presentation(Component.Person person) {
+ Gtk.Label label = new Gtk.Label(person.full_mailbox);
+ label.xalign = 0.0f;
+
+ return label;
}
}
diff --git a/src/host/host-create-update-event.vala b/src/host/host-create-update-event.vala
index 2442771..1b781cd 100644
--- a/src/host/host-create-update-event.vala
+++ b/src/host/host-create-update-event.vala
@@ -158,7 +158,8 @@ public class CreateUpdateEvent : Gtk.Grid, Toolkit.Card {
location_entry.text = event.location ?? "";
description_textview.buffer.text = event.description ?? "";
attendees_text.label = traverse<Component.Person>(event.attendees)
- .to_string((person, on_first, on_last) => person.full_mailbox + ", ");
+ .filter(attendee => !event.organizers.contains(attendee))
+ .to_string(stringify_attendees);
Component.Event master = event.is_master_instance ? event : (Component.Event) event.master;
@@ -179,6 +180,11 @@ public class CreateUpdateEvent : Gtk.Grid, Toolkit.Card {
rotating_button_box.family = FAMILY_NORMAL;
}
+ private string? stringify_attendees(Component.Person person, bool is_first, bool is_last) {
+ // Email address followed by common separator, i.e. "alice example com, bob example com"
+ return !is_last ? _("%s, ").printf(person.full_mailbox) : person.full_mailbox;
+ }
+
private void on_update_time_summary() {
// use the Message, not the Event, to load this up
time_summary_label.visible = true;
diff --git a/src/rc/attendees-editor.ui b/src/rc/attendees-editor.ui
index e2b3143..3296111 100644
--- a/src/rc/attendees-editor.ui
+++ b/src/rc/attendees-editor.ui
@@ -43,17 +43,12 @@
</child>
<child>
<object class="GtkButton" id="add_guest_button">
+ <property name="label" translatable="yes">A_dd Guest</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_underline">True</property>
<property name="xalign">0.60000002384185791</property>
- <child>
- <object class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">list-add-symbolic</property>
- </object>
- </child>
</object>
<packing>
<property name="expand">False</property>
@@ -73,27 +68,24 @@
<object class="GtkListBox" id="guest_listbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
<property name="activate_on_single_click">False</property>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="remove_guest_button">
+ <property name="label" translatable="yes">_Remove Guest</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">end</property>
- <child>
- <object class="GtkImage" id="image2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">list-remove-symbolic</property>
- </object>
- </child>
+ <property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
@@ -117,6 +109,7 @@
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
+ <signal name="clicked" handler="on_cancel_button_clicked" object="CaliforniaHostAttendeesEditor"
swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
diff --git a/src/rc/create-update-event.ui b/src/rc/create-update-event.ui
index c2a4a74..d3969a6 100644
--- a/src/rc/create-update-event.ui
+++ b/src/rc/create-update-event.ui
@@ -335,6 +335,7 @@
<property name="xalign">0</property>
<property name="label">(none)</property>
<property name="ellipsize">end</property>
+ <property name="max_width_chars">64</property>
</object>
<packing>
<property name="expand">False</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]