Flutter Linux Embedder
fl_settings.cc
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#include "
flutter/shell/platform/linux/fl_settings.h
"
6
#include "
flutter/shell/platform/linux/fl_gnome_settings.h
"
7
#include "
flutter/shell/platform/linux/fl_settings_portal.h
"
8
9
G_DEFINE_INTERFACE
(FlSettings, fl_settings, G_TYPE_OBJECT)
10
11
enum
{
12
kSignalChanged
,
13
kSignalLastSignal
,
14
};
15
16
static
guint
signals
[
kSignalLastSignal
];
17
18
static
void
fl_settings_default_init
(FlSettingsInterface* iface) {
19
/**
20
* FlSettings::changed:
21
* @settings: an #FlSettings
22
*
23
* This signal is emitted after the settings have been changed.
24
*/
25
signals
[
kSignalChanged
] =
26
g_signal_new(
"changed"
, G_TYPE_FROM_INTERFACE(iface), G_SIGNAL_RUN_LAST,
27
0, NULL, NULL, NULL, G_TYPE_NONE, 0);
28
}
29
30
FlClockFormat
fl_settings_get_clock_format
(FlSettings*
self
) {
31
return
FL_SETTINGS_GET_IFACE(
self
)->get_clock_format(
self
);
32
}
33
34
FlColorScheme
fl_settings_get_color_scheme
(FlSettings*
self
) {
35
return
FL_SETTINGS_GET_IFACE(
self
)->get_color_scheme(
self
);
36
}
37
38
gboolean
fl_settings_get_enable_animations
(FlSettings*
self
) {
39
return
FL_SETTINGS_GET_IFACE(
self
)->get_enable_animations(
self
);
40
}
41
42
gboolean
fl_settings_get_high_contrast
(FlSettings*
self
) {
43
return
FL_SETTINGS_GET_IFACE(
self
)->get_high_contrast(
self
);
44
}
45
46
gdouble
fl_settings_get_text_scaling_factor
(FlSettings*
self
) {
47
return
FL_SETTINGS_GET_IFACE(
self
)->get_text_scaling_factor(
self
);
48
}
49
50
void
fl_settings_emit_changed
(FlSettings*
self
) {
51
g_return_if_fail(FL_IS_SETTINGS(
self
));
52
g_signal_emit(
self
,
signals
[
kSignalChanged
], 0);
53
}
54
55
FlSettings*
fl_settings_new
() {
56
g_autoptr(FlSettingsPortal) portal =
fl_settings_portal_new
();
57
58
g_autoptr(GError)
error
=
nullptr
;
59
if
(!
fl_settings_portal_start
(portal, &
error
)) {
60
g_debug(
"XDG desktop portal settings unavailable: %s"
,
error
->message);
61
return
fl_gnome_settings_new
();
62
}
63
64
return
FL_SETTINGS(g_object_ref(portal));
65
}
signals
static guint signals[kSignalLastSignal]
Definition:
fl_settings.cc:16
kSignalLastSignal
@ kSignalLastSignal
Definition:
fl_settings.cc:13
fl_settings_get_color_scheme
FlColorScheme fl_settings_get_color_scheme(FlSettings *self)
Definition:
fl_settings.cc:34
fl_settings_new
FlSettings * fl_settings_new()
Definition:
fl_settings.cc:55
fl_settings_portal.h
fl_settings_get_enable_animations
gboolean fl_settings_get_enable_animations(FlSettings *self)
Definition:
fl_settings.cc:38
fl_settings_portal_start
gboolean fl_settings_portal_start(FlSettingsPortal *self, GError **error)
Definition:
fl_settings_portal.cc:276
fl_settings_default_init
static void fl_settings_default_init(FlSettingsInterface *iface)
Definition:
fl_settings.cc:18
G_DEFINE_INTERFACE
G_DEFINE_INTERFACE(FlKeyboardViewDelegate, fl_keyboard_view_delegate, G_TYPE_OBJECT) static void fl_keyboard_view_delegate_default_init(FlKeyboardViewDelegateInterface *iface)
Definition:
fl_keyboard_view_delegate.cc:7
fl_gnome_settings_new
FlSettings * fl_gnome_settings_new()
Definition:
fl_gnome_settings.cc:164
fl_gnome_settings.h
FlColorScheme
FlColorScheme
Definition:
fl_settings.h:35
fl_settings_get_high_contrast
gboolean fl_settings_get_high_contrast(FlSettings *self)
Definition:
fl_settings.cc:42
fl_settings_emit_changed
void fl_settings_emit_changed(FlSettings *self)
Definition:
fl_settings.cc:50
kSignalChanged
@ kSignalChanged
Definition:
fl_settings.cc:12
fl_settings_get_text_scaling_factor
gdouble fl_settings_get_text_scaling_factor(FlSettings *self)
Definition:
fl_settings.cc:46
fl_settings.h
error
const uint8_t uint32_t uint32_t GError ** error
Definition:
fl_pixel_buffer_texture_test.cc:40
FlClockFormat
FlClockFormat
Definition:
fl_settings.h:21
fl_settings_get_clock_format
FlClockFormat fl_settings_get_clock_format(FlSettings *self)
Definition:
fl_settings.cc:30
fl_settings_portal_new
FlSettingsPortal * fl_settings_portal_new()
Definition:
fl_settings_portal.cc:263
shell
platform
linux
fl_settings.cc
Generated by
1.8.17