~writer-devs/writer/trunk

« back to all changes in this revision

Viewing changes to src/MainWindow.vala

  • Committer: Anthony Huben
  • Date: 2014-08-22 02:48:30 UTC
  • mto: This revision was merged to the branch mainline in revision 38.
  • Revision ID: harp37@gmail.com-20140822024830-2dnve4o973fb2449
Add ZeitgeistLogger.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
 
26
26
using Gtk;
27
27
 
 
28
#if HAVE_ZEITGEIST
 
29
using Zeitgeist;
 
30
#endif
 
31
 
28
32
namespace Writer {
29
33
    
30
34
    public class MainWindow : Gtk.Window {
35
39
        private Widgets.EditorView editor_view;
36
40
        private Widgets.WelcomeView welcome_view;
37
41
        private Gtk.Stack stack;
 
42
 
 
43
#if HAVE_ZEITGEIST
 
44
        // Zeitgeist integration
 
45
        private Zeitgeist.DataSourceRegistry registry;
 
46
#endif
38
47
        
39
48
        public MainWindow (WriterApp app, Editor editor) {
40
49
            this.app = app;
48
57
            // Build UI
49
58
            setup_ui ();
50
59
            this.show_all ();
 
60
 
 
61
#if HAVE_ZEITGEIST
 
62
            // Set up the Data Source Registry for Zeitgeist
 
63
            registry = new DataSourceRegistry ();
 
64
 
 
65
            var ds_event = new Zeitgeist.Event ();
 
66
            ds_event.actor = "application://writer.desktop";
 
67
            ds_event.add_subject (new Zeitgeist.Subject ());
 
68
            GenericArray<Zeitgeist.Event> ds_events = new GenericArray<Zeitgeist.Event>();
 
69
            ds_events.add(ds_event);
 
70
            var ds = new DataSource.full ("writer-logger",
 
71
                                          _("Zeitgeist Datasource for Writer"),
 
72
                                          "A data source which logs Open, Close, Save and Move Events",
 
73
                                          ds_events); // FIXME: templates!
 
74
            registry.register_data_source.begin (ds, null, (obj, res) => {
 
75
                try {
 
76
                    registry.register_data_source.end (res);
 
77
                } catch (GLib.Error reg_err) {
 
78
                    warning ("%s", reg_err.message);
 
79
                }
 
80
            });
 
81
#endif
51
82
        }
52
83
        
53
84
        private void setup_ui () {