[california/wip/726809-rename: 3/3] Re-sort calendar list when title changes (from user or remotely)
- From: Jim Nelson <jnelson src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [california/wip/726809-rename: 3/3] Re-sort calendar list when title changes (from user or remotely)
- Date: Thu, 1 May 2014 04:16:15 +0000 (UTC)
commit 603442e0d7193f2d0af2f0459abd124cef2b4519
Author: Jim Nelson <jim yorba org>
Date: Wed Apr 30 21:12:58 2014 -0700
Re-sort calendar list when title changes (from user or remotely)
src/manager/manager-calendar-list-item.vala | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/src/manager/manager-calendar-list-item.vala b/src/manager/manager-calendar-list-item.vala
index 0478dcd..fd62bde 100644
--- a/src/manager/manager-calendar-list-item.vala
+++ b/src/manager/manager-calendar-list-item.vala
@@ -11,7 +11,7 @@ namespace California.Manager {
*/
[GtkTemplate (ui = "/org/yorba/california/rc/calendar-manager-list-item.ui")]
-internal class CalendarListItem : Gtk.Grid {
+internal class CalendarListItem : Gtk.Grid, Toolkit.MutableWidget {
private const int COLOR_DIM = 16;
public Backing.CalendarSource source { get; private set; }
@@ -43,6 +43,8 @@ internal class CalendarListItem : Gtk.Grid {
has_tooltip = true;
+ source.notify[Backing.Source.PROP_TITLE].connect(on_title_changed);
+
source.bind_property(Backing.Source.PROP_TITLE, title_label, "label",
BindingFlags.SYNC_CREATE);
source.bind_property(Backing.Source.PROP_VISIBLE, visible_check_button, "active",
@@ -57,6 +59,15 @@ internal class CalendarListItem : Gtk.Grid {
title_eventbox.button_release_event.connect(on_title_button_release);
}
+ ~CalendarListItem() {
+ source.notify[Backing.Source.PROP_TITLE].disconnect(on_title_changed);
+ }
+
+ private void on_title_changed() {
+ // title determines sort order, so this is important
+ mutated();
+ }
+
public override bool query_tooltip(int x, int y, bool keyboard_mode, Gtk.Tooltip tooltip) {
// no tooltip if text is entirely shown
if (!title_label.get_layout().is_ellipsized())
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]