[gnome-shell/datetime: 62/63] Use fake events
- From: David Zeuthen <davidz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/datetime: 62/63] Use fake events
- Date: Tue, 30 Nov 2010 16:12:03 +0000 (UTC)
commit 8dd05f9e7b62ad90bca15dc2d2a14d36b26cf97b
Author: David Zeuthen <davidz redhat com>
Date: Tue Nov 30 10:50:20 2010 -0500
Use fake events
Signed-off-by: David Zeuthen <davidz redhat com>
js/ui/calendar.js | 67 ++++++++++++++++++++++++++++++++++++++--------------
js/ui/dateMenu.js | 19 ++++++++++++---
2 files changed, 64 insertions(+), 22 deletions(-)
---
diff --git a/js/ui/calendar.js b/js/ui/calendar.js
index 7aeb5ed..96813e6 100644
--- a/js/ui/calendar.js
+++ b/js/ui/calendar.js
@@ -456,7 +456,13 @@ function EventsList() {
EventsList.prototype = {
_init: function() {
this.actor = new St.BoxLayout({ vertical: true });
- this.evolutionTasks = new EvolutionEventsSource();
+ // FIXME: Evolution backend is currently disabled
+ // this.evolutionTasks = new EvolutionEventsSource();
+ },
+
+ _addEvent: function(timeBox, eventTitleBox, time, desc) {
+ eventTitleBox.add(new St.Label({ style_class: 'events-day-time', text: time}), { expand: false });
+ eventTitleBox.add(new St.Label({ style_class: 'events-day-task', text: desc}), { expand: false });
},
_addPeriod: function(header, begin, end, isDay) {
@@ -471,24 +477,49 @@ EventsList.prototype = {
box.add(eventTitleBox);
this.actor.add(box);
- this.evolutionTasks.getForInterval(begin, end, Lang.bind(this, function(tasks) {
- if (!tasks.length) {
- eventTitleBox.add(new St.Label({ style_class: 'events-no-events', text: _("No events") }));
- return;
- }
+ // FIXME: these are fake events
+ switch (begin.getDay()) {
+ case 1: // Monday
+ this._addEvent(timeBox, eventTitleBox, '10:00 AM', 'Write Status Report');
+ break;
+ case 2: // Tuesday
+ this._addEvent(timeBox, eventTitleBox, '3:00 PM', 'Fix bug #632109');
+ break;
+ case 4: // Thursday
+ this._addEvent(timeBox, eventTitleBox, '11:00 AM', 'Desktop Meeting');
+ this._addEvent(timeBox, eventTitleBox, '1:15 PM', 'Dentist');
+ break;
+ case 5: // Friday
+ this._addEvent(timeBox, eventTitleBox, '11:00 AM', 'Friday Meeting');
+ this._addEvent(timeBox, eventTitleBox, '4:00 PM', 'Tech Talk');
+ this._addEvent(timeBox, eventTitleBox, '7:00 PM', 'Wining & Dining');
+ break;
+ case 6: // Saturday
+ this._addEvent(timeBox, eventTitleBox, '10:00 AM', 'Mow the Lawn');
+ break;
+ }
- for (let i = 0; i < tasks.length; i++) {
- let time = tasks[i].time.getHours() + ':';
- if (tasks[i].time.getMinutes() < 10)
- time += '0';
- time += tasks[i].time.getMinutes();
- timeBox.add(new St.Label({ style_class: 'events-day-time', text: time }));
- eventTitleBox.add(new St.Label({ style_class: 'events-day-task', text: tasks[i].title }), { expand: false });
- if (!isDay)
- continue;
- dayNameBox.add(new St.Label({ text: tasks[i].time.toLocaleFormat("%a") }));
- }
- }));
+ // FIXME: Evolution backend is currently disabled
+ // this.evolutionTasks.getForInterval(begin, end, Lang.bind(this, function(tasks) {
+ // log('blah ' + tasks.length);
+
+ // if (!tasks.length) {
+ // eventTitleBox.add(new St.Label({ style_class: 'events-no-events', text: _("No events") }));
+ // return;
+ // }
+
+ // for (let i = 0; i < tasks.length; i++) {
+ // let time = tasks[i].time.getHours() + ':';
+ // if (tasks[i].time.getMinutes() < 10)
+ // time += '0';
+ // time += tasks[i].time.getMinutes();
+ // timeBox.add(new St.Label({ style_class: 'events-day-time', text: time }));
+ // eventTitleBox.add(new St.Label({ style_class: 'events-day-task', text: tasks[i].title }), { expand: false });
+ // if (!isDay)
+ // continue;
+ // dayNameBox.add(new St.Label({ text: tasks[i].time.toLocaleFormat("%a") }));
+ // }
+ // }));
},
showDay: function(day) {
diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js
index 76c3a7e..8fd388c 100644
--- a/js/ui/dateMenu.js
+++ b/js/ui/dateMenu.js
@@ -98,13 +98,24 @@ DateMenuButton.prototype = {
vbox.add(this._taskList.actor, { x_fill: true,
y_fill: true });
// Update event list when opening the menu ..
- this.menu.connect('opening', Lang.bind(this, function() {
- this._calendar.clearButtonsState();
- this._taskList.update();
+ this.menu.connect('open-state-changed', Lang.bind(this, function(menu, is_open) {
+ if (is_open) {
+ this._calendar.clearButtonsState();
+ this._taskList.update();
+ }
}));
// .. and also update when selecting a new day
this._calendar.connect('activate', Lang.bind(this, function(obj, day) {
- this._taskList.showDay(day);
+ let now = new Date();
+ if (now.getDate() == day.getDate() &&
+ now.getMonth() == day.getMonth() &&
+ now.getFullYear() == day.getFullYear()) {
+ // Today - show: Today, Tomorrow and This Week
+ this._taskList.update();
+ } else {
+ // Not Today - show only events from that day
+ this._taskList.showDay(day);
+ }
}));
// .. TODO: and also update when changing the month
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]