panel: Add function to close the calendar

We will soon replace regular menu items in the calendar drop-down
with more complex elements.
However there will still be items that should close the drop down
when activated - rather than making the menu available throughout
the hierarchy (and eventually from outside as well when we add the
notifications list), have a public method on a global object just
like the ubiquitous Main.overview.hide().

https://bugzilla.gnome.org/show_bug.cgi?id=744817
This commit is contained in:
Florian Müllner 2015-02-13 10:44:13 +01:00
parent de27e4e1b2
commit f84addcadc

View File

@ -891,6 +891,18 @@ const Panel = new Lang.Class({
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
}, },
closeCalendar: function() {
let indicator = this.statusArea.dateMenu;
if (!indicator) // calendar not supported by current session mode
return;
let menu = indicator.menu;
if (!indicator.actor.reactive)
return;
menu.close();
},
set boxOpacity(value) { set boxOpacity(value) {
let isReactive = value > 0; let isReactive = value > 0;