calendar: Hide message list when all sections are disallowed

If none of the sections is allowed to display anything, it doesn't
make sense to show the message list at all, so hide it in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=745494
This commit is contained in:
Florian Müllner 2015-03-03 02:04:37 +01:00
parent 313ee70cf7
commit db4076b697

View File

@ -1730,6 +1730,8 @@ const MessageList = new Lang.Class({
this._eventsSection = new EventsSection(); this._eventsSection = new EventsSection();
this._addSection(this._eventsSection); this._addSection(this._eventsSection);
Main.sessionMode.connect('updated', Lang.bind(this, this._sync));
}, },
_addSection: function(section) { _addSection: function(section) {
@ -1772,7 +1774,15 @@ const MessageList = new Lang.Class({
}, },
_sync: function() { _sync: function() {
let showPlaceholder = [...this._sections.keys()].every(function(s) { let sections = [...this._sections.keys()];
let visible = sections.some(function(s) {
return s.allowed;
});
this.actor.visible = visible;
if (!visible)
return;
let showPlaceholder = sections.every(function(s) {
return s.empty || !s.actor.visible; return s.empty || !s.actor.visible;
}); });
this._placeholder.actor.visible = showPlaceholder; this._placeholder.actor.visible = showPlaceholder;