[gnome-shell] Calendar: use text/calendar preferred app as the calendar app



commit 724a2bd72fa605b87b32c6485cded09835a0be8a
Author: Giovanni Campagna <gcampagna src gnome org>
Date:   Tue Dec 25 01:29:18 2012 +0100

    Calendar: use text/calendar preferred app as the calendar app
    
    That's what the info panel in g-c-c defines as the preferred calendar
    application.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=690767

 js/ui/dateMenu.js |   33 +++------------------------------
 1 files changed, 3 insertions(+), 30 deletions(-)
---
diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js
index 7b762b3..a60d85f 100644
--- a/js/ui/dateMenu.js
+++ b/js/ui/dateMenu.js
@@ -113,11 +113,6 @@ const DateMenuButton = new Lang.Class({
         this._openCalendarItem.actor.can_focus = false;
         vbox.add(this._openCalendarItem.actor, {y_align: St.Align.END, expand: true, y_fill: false});
 
-        this._calendarSettings = new Gio.Settings({ schema: 'org.gnome.desktop.default-applications.office.calendar' });
-        this._calendarSettings.connect('changed::exec',
-                                       Lang.bind(this, this._calendarSettingsChanged));
-        this._calendarSettingsChanged();
-
         // Whenever the menu is opened, select today
         this.menu.connect('open-state-changed', Lang.bind(this, function(menu, isOpen) {
             if (isOpen) {
@@ -151,12 +146,6 @@ const DateMenuButton = new Lang.Class({
         this._sessionUpdated();
     },
 
-    _calendarSettingsChanged: function() {
-        let exec = this._calendarSettings.get_string('exec');
-        let fullExec = GLib.find_program_in_path(exec);
-        this._openCalendarItem.actor.visible = fullExec != null;
-    },
-
     _setEventsVisibility: function(visible) {
         this._openCalendarItem.actor.visible = visible;
         this._separator.visible = visible;
@@ -205,24 +194,8 @@ const DateMenuButton = new Lang.Class({
 
     _onOpenCalendarActivate: function() {
         this.menu.close();
-        let tool = this._calendarSettings.get_string('exec');
-        if (tool.length == 0 || tool.substr(0, 9) == 'evolution') {
-            // TODO: pass the selected day
-            let app = Shell.AppSystem.get_default().lookup_app('evolution-calendar.desktop');
-            app.activate();
-        } else {
-            let needTerm = this._calendarSettings.get_boolean('needs-term');
-            if (needTerm) {
-                let terminalSettings = new Gio.Settings({ schema: 'org.gnome.desktop.default-applications.terminal' });
-                let term = terminalSettings.get_string('exec');
-                let arg = terminalSettings.get_string('exec-arg');
-                if (arg != '')
-                    Util.spawn([term, arg, tool]);
-                else
-                    Util.spawn([term, tool]);
-            } else {
-                Util.spawnCommandLine(tool)
-            }
-        }
+
+        let app = Gio.AppInfo.get_default_for_type('text/calendar', false);
+        app.launch([], global.create_app_launch_context());
     }
 });



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]