summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristopher Davis <christopherdavis@gnome.org>2021-09-25 22:32:35 -0700
committerMarcus Lundblad <ml@update.uu.se>2021-10-03 20:34:58 +0000
commit14518a130fed273052fd9bfea88ad7bbfcfafa66 (patch)
tree87dd64b563633a4f501b77e4b1d60640ff3da8f2 /src
parentef4f79c244ba650c89280730f77baea729f0cdfe (diff)
downloadgnome-maps-14518a130fed273052fd9bfea88ad7bbfcfafa66.tar.gz
Use libhandy's dark style infrastructure
Instead of having our own explicit setting for dark mode, we can use libhandy's infrastructure for dark styling, which is hooked into the new global dark style preference.
Diffstat (limited to 'src')
-rw-r--r--src/application.js17
-rw-r--r--src/layersPopover.js11
-rw-r--r--src/mainWindow.js2
-rw-r--r--src/mapView.js11
4 files changed, 15 insertions, 26 deletions
diff --git a/src/application.js b/src/application.js
index 573bceef..32d309b0 100644
--- a/src/application.js
+++ b/src/application.js
@@ -227,12 +227,6 @@ var Application = GObject.registerClass({
}
}
- _onNightModeChange(action) {
- let state = action.get_state();
- let gtkSettings = Gtk.Settings.get_default();
- gtkSettings.gtk_application_prefer_dark_theme = state.get_boolean();
- }
-
vfunc_startup() {
super.vfunc_startup();
@@ -252,22 +246,15 @@ var Application = GObject.registerClass({
'osm-account-setup': {
onActivate: this._onOsmAccountSetupActivate.bind(this)
},
- 'night-mode': {
- paramType: 'b',
- onChangeState: this._onNightModeChange.bind(this),
- setting: 'night-mode'
- },
'quit': {
onActivate: () => this.quit(),
accels: ['<Primary>Q']
}
}, settings);
- // set dark theme when night-mode is enabled
- let gtkSettings = Gtk.Settings.get_default();
- gtkSettings.gtk_application_prefer_dark_theme =
- settings.get('night-mode');
+ this._styleManager = Hdy.StyleManager.get_default();
+ this._styleManager.set_color_scheme(Hdy.ColorScheme.PREFER_LIGHT);
Gtk.IconTheme.get_default().append_search_path(GLib.build_filenamev([pkg.pkgdatadir,
'icons']));
diff --git a/src/layersPopover.js b/src/layersPopover.js
index 70f25657..d421b71f 100644
--- a/src/layersPopover.js
+++ b/src/layersPopover.js
@@ -21,6 +21,7 @@ const Champlain = imports.gi.Champlain;
const GObject = imports.gi.GObject;
const Gtk = imports.gi.Gtk;
const Gdk = imports.gi.Gdk;
+const Hdy = imports.gi.Handy;
const Application = imports.application;
const MapSource = imports.mapSource;
@@ -144,8 +145,8 @@ var LayersPopover = GObject.registerClass({
this._setLayerPreviews.bind(this));
this._mapView.view.connect("notify::longitude",
this._setLayerPreviews.bind(this));
- Application.settings.connect("changed::night-mode",
- this._onNightModeChanged.bind(this));
+ Hdy.StyleManager.get_default().connect("notify::dark",
+ this._onDarkChanged.bind(this));
Application.settings.connect("changed::hybrid-aerial",
this._onHybridAerialChanged.bind(this));
@@ -160,9 +161,9 @@ var LayersPopover = GObject.registerClass({
});
}
- _onNightModeChanged() {
+ _onDarkChanged() {
if (Service.getService().tiles.streetDark &&
- Application.settings.get('night-mode')) {
+ Hdy.StyleManager.get_default().dark) {
this._setLayerPreviewImage('streetDark', true);
} else {
this._setLayerPreviewImage('street', true);
@@ -180,7 +181,7 @@ var LayersPopover = GObject.registerClass({
_setLayerPreviews() {
if (Service.getService().tiles.streetDark &&
- Application.settings.get('night-mode')) {
+ Hdy.StyleManager.get_default().dark) {
this._setLayerPreviewImage('streetDark');
} else {
this._setLayerPreviewImage('street');
diff --git a/src/mainWindow.js b/src/mainWindow.js
index 9abceb46..08446e36 100644
--- a/src/mainWindow.js
+++ b/src/mainWindow.js
@@ -86,7 +86,7 @@ var MainWindow = GObject.registerClass({
'noNetworkView',
'actionBar',
'actionBarRevealer',
- 'placeBarContainer' ]
+ 'placeBarContainer']
}, class MainWindow extends Gtk.ApplicationWindow {
get mapView() {
diff --git a/src/mapView.js b/src/mapView.js
index 10e6d5a3..fef736c2 100644
--- a/src/mapView.js
+++ b/src/mapView.js
@@ -26,6 +26,7 @@ const Geocode = imports.gi.GeocodeGlib;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const GtkChamplain = imports.gi.GtkChamplain;
+const Hdy = imports.gi.Handy;
const Mainloop = imports.mainloop;
const Application = imports.application;
@@ -210,8 +211,8 @@ var MapView = GObject.registerClass({
// if dark tiles is available, setup handler to switch style
if (Service.getService().tiles.streetDark) {
- Application.settings.connect('changed::night-mode',
- this._onNightModeChanged.bind(this));
+ Hdy.StyleManager.get_default().connect('notify::dark',
+ this._onDarkChanged.bind(this));
}
// if hybrid aerial tiles are available, setup handler to toggle
@@ -272,11 +273,11 @@ var MapView = GObject.registerClass({
this._setBackgroundPatternIfNeeded();
}
- _onNightModeChanged() {
+ _onDarkChanged() {
if (this._mapType === MapType.STREET) {
let overlay_sources = this.view.get_overlay_sources();
- if (Application.settings.get('night-mode'))
+ if (Hdy.StyleManager.get_default().dark)
this.view.map_source = MapSource.createStreetDarkSource();
else
this.view.map_source = MapSource.createStreetSource();
@@ -428,7 +429,7 @@ var MapView = GObject.registerClass({
}
} else {
if (tiles.streetDark &&
- Application.settings.get('night-mode')) {
+ Hdy.StyleManager.get_default().dark) {
this.view.map_source = MapSource.createStreetDarkSource();
} else {
this.view.map_source = MapSource.createStreetSource();