screenshot: Handle screencast errors properly
Send a notification and remove the screencast inidicator when we hear about a screencast error from the dbus service. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2752>
This commit is contained in:
parent
c494597a91
commit
99923ac612
@ -1037,6 +1037,9 @@ var ScreenshotUI = GObject.registerClass({
|
|||||||
this._castButton.visible = this._screencastSupported;
|
this._castButton.visible = this._screencastSupported;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this._screencastProxy.connectSignal('Error',
|
||||||
|
() => this._screencastFailed());
|
||||||
|
|
||||||
this._lockdownSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.lockdown' });
|
this._lockdownSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.lockdown' });
|
||||||
|
|
||||||
// The full-screen screenshot has a separate container so that we can
|
// The full-screen screenshot has a separate container so that we can
|
||||||
@ -1913,6 +1916,18 @@ var ScreenshotUI = GObject.registerClass({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Translators: notification title.
|
||||||
|
this._showNotification(_('Screencast recorded'));
|
||||||
|
}
|
||||||
|
|
||||||
|
_screencastFailed() {
|
||||||
|
this._setScreencastInProgress(false);
|
||||||
|
|
||||||
|
// Translators: notification title.
|
||||||
|
this._showNotification(_('Screencast ended unexpectedly'));
|
||||||
|
}
|
||||||
|
|
||||||
|
_showNotification(title) {
|
||||||
// Show a notification.
|
// Show a notification.
|
||||||
const file = Gio.file_new_for_path(this._screencastPath);
|
const file = Gio.file_new_for_path(this._screencastPath);
|
||||||
|
|
||||||
@ -1923,8 +1938,7 @@ var ScreenshotUI = GObject.registerClass({
|
|||||||
);
|
);
|
||||||
const notification = new MessageTray.Notification(
|
const notification = new MessageTray.Notification(
|
||||||
source,
|
source,
|
||||||
// Translators: notification title.
|
title,
|
||||||
_('Screencast recorded'),
|
|
||||||
// Translators: notification body when a screencast was recorded.
|
// Translators: notification body when a screencast was recorded.
|
||||||
_('Click here to view the video.')
|
_('Click here to view the video.')
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user