sessionMode: Add showCalendarEvents property

Add a sessionMode.showCalendarEvents property, which determines
whether the calendar menu should contain an events section or not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156
This commit is contained in:
Florian Müllner 2012-05-18 00:32:04 +02:00
parent 6bee51ed33
commit ba92cfa064
3 changed files with 6 additions and 9 deletions

View File

@ -45,9 +45,7 @@ const DateMenuButton = new Lang.Class({
Name: 'DateMenuButton',
Extends: PanelMenu.Button,
_init: function(params) {
params = Params.parse(params, { showEvents: true });
_init: function() {
let item;
let hbox;
let vbox;
@ -79,7 +77,7 @@ const DateMenuButton = new Lang.Class({
this._date.style_class = 'datemenu-date-label';
vbox.add(this._date);
if (params.showEvents) {
if (Main.sessionMode.showCalendarEvents) {
this._eventSource = new Calendar.DBusEventSource();
this._eventList = new Calendar.EventsList(this._eventSource);
} else {
@ -110,7 +108,7 @@ const DateMenuButton = new Lang.Class({
item.actor.reparent(vbox);
}
if (params.showEvents) {
if (Main.sessionMode.showCalendarEvents) {
// Add vertical separator
item = new St.DrawingArea({ style_class: 'calendar-vertical-separator',

View File

@ -978,10 +978,7 @@ const Panel = new Lang.Class({
}
/* center */
if (Main.sessionMode.sessionType == Shell.SessionType.USER)
this._dateMenu = new DateMenu.DateMenuButton({ showEvents: true });
else
this._dateMenu = new DateMenu.DateMenuButton({ showEvents: false });
this._dateMenu = new DateMenu.DateMenuButton();
this._centerBox.add(this._dateMenu.actor, { y_fill: true });
this._menus.addMenu(this._dateMenu.menu);

View File

@ -10,10 +10,12 @@ const DEFAULT_MODE = 'user';
const _modes = {
'gdm': { hasOverview: false,
hasAppMenu: false,
showCalendarEvents: false,
sessionType: Shell.SessionType.GDM },
'user': { hasOverview: true,
hasAppMenu: true,
showCalendarEvents: true,
sessionType: Shell.SessionType.USER }
};