extensions-app: Use Adw.Application's automatic style loading

Now that we switched to AdwApplication, we can automate loading
the custom stylesheet by simply using the expected name and
resource prefix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>
This commit is contained in:
Florian Müllner 2022-01-05 14:51:53 +01:00
parent 891978b4eb
commit f0754431bf
4 changed files with 10 additions and 16 deletions

View File

@ -1,6 +1,10 @@
gnome.compile_resources(
app_id + '.data',
base_id + '.data.gresource.xml',
configure_file(
input: base_id + '.data.gresource.xml.in',
output: app_id + '.data.gresource.xml',
configuration: {'profile': '/'.join(profile.split('.')) },
),
gresource_bundle: true,
install: true,
install_dir: pkgdatadir

View File

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/Extensions">
<file>css/application.css</file>
<gresource prefix="/org/gnome/Extensions@profile@">
<file alias="style.css">css/style.css</file>
</gresource>
<gresource prefix="/org/gnome/Extensions">
<file>dbus-interfaces/org.gnome.Shell.Extensions.xml</file>
<file>ui/extension-row.ui</file>

View File

@ -1,10 +1,9 @@
/* exported main */
imports.gi.versions.Gdk = '4.0';
imports.gi.versions.Gtk = '4.0';
const Gettext = imports.gettext;
const Package = imports.package;
const { Adw, Gdk, GLib, Gio, GObject, Gtk, Shew } = imports.gi;
const { Adw, GLib, Gio, GObject, Gtk, Shew } = imports.gi;
Package.initFormat();
@ -58,17 +57,6 @@ class Application extends Adw.Application {
vfunc_startup() {
super.vfunc_startup();
let provider = new Gtk.CssProvider();
let uri = 'resource:///org/gnome/Extensions/css/application.css';
try {
provider.load_from_file(Gio.File.new_for_uri(uri));
} catch (e) {
logError(e, 'Failed to add application style');
}
Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(),
provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
const action = new Gio.SimpleAction({ name: 'quit' });
action.connect('activate', () => this._window.close());
this.add_action(action);