Commit 386d25e6 authored by Florian Müllner's avatar Florian Müllner Committed by Florian Müllner

dbusServices/screencast: Add recordings to recent items

This is useful functionality that got lost when replacing the built-in
recorder with an external screencast service; bring it back.

#3171
parent b2d6c11e
Pipeline #214006 passed with stages
in 4 minutes and 41 seconds
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ScreencastService */
const { Gio, GLib, Gst } = imports.gi;
imports.gi.versions.Gtk = '3.0';
const { Gio, GLib, Gst, Gtk } = imports.gi;
const { loadInterfaceXML, loadSubInterfaceXML } = imports.misc.fileUtils;
const { ServiceImplementation } = imports.dbusService;
......@@ -78,6 +80,11 @@ var Recorder = class {
this._drawCursor = options['draw-cursor'];
}
_addRecentItem() {
const file = Gio.File.new_for_path(this._filePath);
Gtk.RecentManager.get_default().add_item(file.get_uri());
}
_watchSender(sender) {
this._nameWatchId = this._dbusConnection.watch_name(
sender,
......@@ -180,6 +187,7 @@ var Recorder = class {
switch (message.type) {
case Gst.MessageType.EOS:
this._pipeline.set_state(Gst.State.NULL);
this._addRecentItem();
switch (this._pipelineState) {
case PipelineState.FLUSHING:
......@@ -238,6 +246,7 @@ var ScreencastService = class extends ServiceImplementation {
super(ScreencastIface, '/org/gnome/Shell/Screencast');
Gst.init(null);
Gtk.init(null);
this._recorders = new Map();
this._senders = new Map();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment