[gnome-builder/wip/gtk4-port: 1197/1774] libide/foundry: add action to store color-scheme state
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/gtk4-port: 1197/1774] libide/foundry: add action to store color-scheme state
- Date: Mon, 11 Jul 2022 22:31:38 +0000 (UTC)
commit 60b01ad54550210c4cf367377d8740e803b78ac9
Author: Christian Hergert <chergert redhat com>
Date: Fri May 27 11:14:04 2022 -0700
libide/foundry: add action to store color-scheme state
We still need to apply it to the actual runner though.
src/libide/foundry/ide-run-manager.c | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
---
diff --git a/src/libide/foundry/ide-run-manager.c b/src/libide/foundry/ide-run-manager.c
index e91ff4002..7793a9615 100644
--- a/src/libide/foundry/ide-run-manager.c
+++ b/src/libide/foundry/ide-run-manager.c
@@ -99,6 +99,8 @@ static void ide_run_manager_actions_messages_debug_all (IdeRunManager *self,
GVariant *param);
static void ide_run_manager_actions_default_run_command (IdeRunManager *self,
GVariant *param);
+static void ide_run_manager_actions_color_scheme (IdeRunManager *self,
+ GVariant *param);
IDE_DEFINE_ACTION_GROUP (IdeRunManager, ide_run_manager, {
{ "run", ide_run_manager_actions_run },
@@ -106,12 +108,12 @@ IDE_DEFINE_ACTION_GROUP (IdeRunManager, ide_run_manager, {
{ "stop", ide_run_manager_actions_stop },
{ "messages-debug-all", ide_run_manager_actions_messages_debug_all, NULL, "false" },
{ "default-run-command", ide_run_manager_actions_default_run_command, "s", "''" },
+ { "color-scheme", ide_run_manager_actions_color_scheme, "s", "'follow'" },
})
G_DEFINE_TYPE_EXTENDED (IdeRunManager, ide_run_manager, IDE_TYPE_OBJECT, G_TYPE_FLAG_FINAL,
G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init)
- G_IMPLEMENT_INTERFACE (G_TYPE_ACTION_GROUP,
- ide_run_manager_init_action_group))
+ G_IMPLEMENT_INTERFACE (G_TYPE_ACTION_GROUP, ide_run_manager_init_action_group))
enum {
PROP_0,
@@ -142,6 +144,25 @@ discover_state_free (gpointer data)
g_slice_free (DiscoverState, state);
}
+static void
+ide_run_manager_actions_color_scheme (IdeRunManager *self,
+ GVariant *param)
+{
+ const char *str;
+
+ g_assert (IDE_IS_RUN_MANAGER (self));
+ g_assert (param != NULL);
+ g_assert (g_variant_is_of_type (param, G_VARIANT_TYPE_STRING));
+
+ str = g_variant_get_string (param, NULL);
+ if (!g_strv_contains (IDE_STRV_INIT ("follow", "force-light", "force-dark"), str))
+ str = "follow";
+
+ ide_run_manager_set_action_state (self,
+ "color-scheme",
+ g_variant_new_string (str));
+}
+
static void
ide_run_manager_actions_default_run_command (IdeRunManager *self,
GVariant *param)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]