Merge lp:~sschuhmann/maya/fix-1347727 into lp:~elementary-apps/maya/trunk

Proposed by Steffen Schuhmann
Status: Merged
Approved by: Corentin Noël
Approved revision: 608
Merged at revision: 613
Proposed branch: lp:~sschuhmann/maya/fix-1347727
Merge into: lp:~elementary-apps/maya/trunk
Diff against target: 152 lines (+29/-35)
1 file modified
src/EventEdition/ReminderPanel.vala (+29/-35)
To merge this branch: bzr merge lp:~sschuhmann/maya/fix-1347727
Reviewer Review Type Date Requested Status
Corentin Noël Approve
Review via email: mp+228570@code.launchpad.net

Commit message

Ported the reminder pane to Gtk.ListBox

Description of the change

Gtk.ListBox added to hold the items.

Gtk.Listbox seems not to be themed in egtk, should this be done in maya itself?

To post a comment you must log in.
Revision history for this message
Corentin Noël (tintou) wrote :

I think that ReminderGrid could be a subclass of Gtk.ListBoxRow.
So the reminders property could being removed.

about set_margin_* (7);
We typically use 6px or 12px for margin.

review: Needs Fixing
lp:~sschuhmann/maya/fix-1347727 updated
606. By Steffen Schuhmann

ReminderGrid extending ListRowBox

607. By Steffen Schuhmann

Set the "No Reminders" label as placeholder in the ListBox
"No Reminders" label uses darkgray/bold markup

608. By Steffen Schuhmann

Removed reminder_grid

Revision history for this message
Corentin Noël (tintou) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/EventEdition/ReminderPanel.vala'
2--- src/EventEdition/ReminderPanel.vala 2014-04-15 21:59:26 +0000
3+++ src/EventEdition/ReminderPanel.vala 2014-08-10 18:12:45 +0000
4@@ -17,10 +17,9 @@
5
6 public class Maya.View.EventEdition.ReminderPanel : Gtk.Grid {
7 private EventDialog parent_dialog;
8- private Gtk.Grid reminder_grid;
9 private Gee.ArrayList<ReminderGrid> reminders;
10 private Gee.ArrayList<string> reminders_to_remove;
11- private Gtk.Label no_reminder_label;
12+ private Gtk.ListBox reminder_list;
13
14 public ReminderPanel (EventDialog parent_dialog) {
15 this.parent_dialog = parent_dialog;
16@@ -32,18 +31,18 @@
17 var reminder_label = Maya.View.EventDialog.make_label (_("Reminders:"));
18 reminder_label.margin_left = 12;
19
20- no_reminder_label = new Gtk.Label (_("No Reminders."));
21- no_reminder_label.hexpand = true;
22+ var no_reminder_label = new Gtk.Label ("");
23+ no_reminder_label.set_markup ("<b><span color=\'darkgrey\'>%s</span></b>".printf (_("No Reminders")));
24+ no_reminder_label.show ();
25
26 reminders = new Gee.ArrayList<ReminderGrid> ();
27 reminders_to_remove = new Gee.ArrayList<string> ();
28+
29+ reminder_list = new Gtk.ListBox ();
30+ reminder_list.expand = true;
31+ reminder_list.set_selection_mode (Gtk.SelectionMode.NONE);
32+ reminder_list.set_placeholder (no_reminder_label);
33
34- reminder_grid = new Gtk.Grid ();
35- reminder_grid.row_spacing = 6;
36- reminder_grid.column_spacing = 12;
37- reminder_grid.orientation = Gtk.Orientation.VERTICAL;
38- reminder_grid.expand = true;
39- reminder_grid.add (no_reminder_label);
40 var add_reminder_button = new Gtk.Button.with_label (_("Add Reminder"));
41 add_reminder_button.clicked.connect (() => {
42 add_reminder ("");
43@@ -56,15 +55,10 @@
44 var fake_grid_right = new Gtk.Grid ();
45 fake_grid_right.hexpand = true;
46
47- var main_grid = new Gtk.Grid ();
48 var scrolled = new Gtk.ScrolledWindow (null, null);
49- scrolled.add_with_viewport (main_grid);
50+ scrolled.add_with_viewport (reminder_list);
51 scrolled.expand = true;
52
53- main_grid.attach (fake_grid_left, 0, 0, 1, 1);
54- main_grid.attach (fake_grid_right, 2, 0, 1, 1);
55- main_grid.attach (reminder_grid, 1, 0, 1, 1);
56-
57 attach (reminder_label, 0, 0, 1, 1);
58 attach (scrolled, 0, 1, 1, 1);
59 attach (button_box, 0, 2, 1, 1);
60@@ -73,20 +67,14 @@
61
62 private ReminderGrid add_reminder (string uid) {
63 var reminder = new ReminderGrid (uid);
64- reminders.add (reminder);
65- reminder_grid.add (reminder);
66+ var row = new Gtk.ListBoxRow ();
67+ reminder_list.add (reminder);
68 reminder.show_all ();
69 reminder.removed.connect (() => {
70 reminders.remove (reminder);
71- if (reminders.is_empty == true) {
72- no_reminder_label.no_show_all = false;
73- no_reminder_label.show ();
74- }
75 reminders_to_remove.add (reminder.uid);
76 });
77-
78- no_reminder_label.no_show_all = true;
79- no_reminder_label.hide ();
80+ row.show_all ();
81 return reminder;
82 }
83
84@@ -140,7 +128,7 @@
85 trigger.type = E.CalComponentAlarmTriggerType.RELATIVE_START;
86 alarm.set_trigger (trigger);
87 parent_dialog.ecal.add_alarm (alarm);
88- } else if (reminder.changed == true) {
89+ } else if (reminder.change == true) {
90 var alarm = parent_dialog.ecal.get_alarm (reminder.uid);
91 alarm.set_action (reminder.get_action ());
92 E.CalComponentAlarmTrigger trigger;
93@@ -157,9 +145,9 @@
94 }
95 }
96
97-public class Maya.View.EventEdition.ReminderGrid : Gtk.Grid {
98+public class Maya.View.EventEdition.ReminderGrid : Gtk.ListBoxRow {
99 public signal void removed ();
100- public bool changed = false;
101+ public bool change = false;
102 public string uid;
103
104 private bool is_human_change = true;
105@@ -169,8 +157,9 @@
106
107 public ReminderGrid (string uid) {
108 this.uid = uid;
109- row_spacing = 6;
110- column_spacing = 12;
111+ set_margin_bottom (6);
112+ set_margin_left (6);
113+ set_margin_right (6);
114
115 time = new Gtk.ComboBoxText ();
116 time.append_text (_("0 minutes"));
117@@ -192,7 +181,7 @@
118 time.active = 3;
119 time.changed.connect (() => {
120 if (is_human_change == true) {
121- changed = true;
122+ change = true;
123 }
124 });
125
126@@ -203,7 +192,7 @@
127 choice.hexpand = true;
128 choice.changed.connect (() => {
129 if (is_human_change == true) {
130- changed = true;
131+ change = true;
132 }
133 });
134
135@@ -211,9 +200,14 @@
136 remove_button.relief = Gtk.ReliefStyle.NONE;
137 remove_button.clicked.connect (() => {removed (); hide (); destroy ();});
138
139- attach (time, 0, 0, 1, 1);
140- attach (choice, 1, 0, 1, 1);
141- attach (remove_button, 2, 0, 1, 1);
142+ var grid = new Gtk.Grid ();
143+ grid.row_spacing = 6;
144+ grid.column_spacing = 12;
145+ grid.attach (time, 0, 0, 1, 1);
146+ grid.attach (choice, 1, 0, 1, 1);
147+ grid.attach (remove_button, 2, 0, 1, 1);
148+
149+ add (grid);
150 }
151
152 public void set_choice (bool is_email = true) {

Subscribers

People subscribed via source and target branches