calendar: Adjust for evolution changes

When launching the default calendar application, we special-case
evolution to make sure it starts up with the calendar component.

This is currently broken in two ways:

 - evolution changed its .desktop file to use reverse DNS notation

 - as evolution can now be distributed via flatpak, we can no longer
   assume that 'evolution-calendar.desktop' exists when evolution does
   (even though we ship the .desktop file ourselves, it is considered
   invalid if the executable isn't found)

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1093
This commit is contained in:
Florian Müllner 2020-03-14 14:45:42 +01:00
parent 002160e524
commit 4bfdd677e3

View File

@ -931,10 +931,13 @@ class EventsSection extends MessageList.MessageListSection {
Main.overview.hide();
Main.panel.closeCalendar();
let app = this._getCalendarApp();
if (app.get_id() == 'evolution.desktop')
app = Gio.DesktopAppInfo.new('evolution-calendar.desktop');
app.launch([], global.create_app_launch_context(0, -1));
let appInfo = this._getCalendarApp();
if (appInfo.get_id() === 'org.gnome.Evolution.desktop') {
let app = Gio.DesktopAppInfo.new('evolution-calendar.desktop');
if (app)
appInfo = app;
}
appInfo.launch([], global.create_app_launch_context(0, -1));
}
setDate(date) {