static void
dialog_color_temperature_value_changed_cb (GtkAdjustment      *adjustment,
                                           CcNightLightDialog *self)
{
  gdouble value;

  if (self->ignore_value_changed)
    return;

  value = gtk_adjustment_get_value (adjustment);

  g_debug ("new value = %.0f", value);

  if (self->proxy_color != NULL)
    g_dbus_proxy_call (self->proxy_color,
                       "NightLightPreview",
                       g_variant_new ("(u)", NIGHT_LIGHT_PREVIEW_TIMEOUT_SECONDS),
                       G_DBUS_CALL_FLAGS_NONE,
                       5000,
                       NULL,
                       NULL,
                       NULL);

  g_settings_set_uint (self->settings_display, "night-light-temperature", (guint) value);
}
static void
update_configuration (GtkTreeModel *model)
{
  GtkTreeIter iter;
  gchar *type;
  gchar *id;
  GVariantBuilder builder;
  GVariant *old_sources;
  const gchar *old_current_type;
  const gchar *old_current_id;
  guint old_current_index;
  guint old_n_sources;
  guint index;

  old_sources = g_settings_get_value (input_sources_settings, KEY_INPUT_SOURCES);
  old_current_index = g_settings_get_uint (input_sources_settings, KEY_CURRENT_INPUT_SOURCE);
  old_n_sources = g_variant_n_children (old_sources);

  if (old_n_sources > 0 && old_current_index < old_n_sources)
    {
      g_variant_get_child (old_sources,
                           old_current_index,
                           "(&s&s)",
                           &old_current_type,
                           &old_current_id);
    }
  else
    {
      old_current_type = "";
      old_current_id = "";
    }

  g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
  index = 0;
  gtk_tree_model_get_iter_first (model, &iter);
  do
    {
      gtk_tree_model_get (model, &iter,
                          TYPE_COLUMN, &type,
                          ID_COLUMN, &id,
                          -1);
      if (index != old_current_index &&
          g_str_equal (type, old_current_type) &&
          g_str_equal (id, old_current_id))
        {
          g_settings_set_uint (input_sources_settings, KEY_CURRENT_INPUT_SOURCE, index);
        }
      g_variant_builder_add (&builder, "(ss)", type, id);
      g_free (type);
      g_free (id);
      index += 1;
    }
  while (gtk_tree_model_iter_next (model, &iter));

  g_settings_set_value (input_sources_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
  g_settings_apply (input_sources_settings);

  g_variant_unref (old_sources);
}
 void UpdateAppsScaling(double scale)
 {
   changing_gnome_settings_ = true;
   unsigned integer_scaling = std::max<unsigned>(1, scale);
   double point_scaling = scale / static_cast<double>(integer_scaling);
   double text_scale_factor = parent_->font_scaling() * point_scaling;
   glib::Variant default_cursor_size(g_settings_get_default_value(gnome_ui_settings_, GNOME_CURSOR_SIZE.c_str()), glib::StealRef());
   int cursor_size = std::round(default_cursor_size.GetInt32() * point_scaling * cursor_scale_);
   g_settings_set_int(gnome_ui_settings_, GNOME_CURSOR_SIZE.c_str(), cursor_size);
   g_settings_set_uint(gnome_ui_settings_, GNOME_SCALE_FACTOR.c_str(), integer_scaling);
   g_settings_set_double(gnome_ui_settings_, GNOME_TEXT_SCALE_FACTOR.c_str(), text_scale_factor);
   changing_gnome_settings_ = false;
 }
Beispiel #4
0
static void
maybe_migrate_settings (TerminalApp *app)
{
#ifdef ENABLE_MIGRATION
  const char * const argv[] = { 
    TERM_LIBEXECDIR "/gnome-terminal-migration",
#ifdef ENABLE_DEBUG
    "--verbose", 
#endif
    NULL 
  };
  int status;
  gs_free_error GError *error = NULL;
#endif /* ENABLE_MIGRATION */
  guint version;

  version = g_settings_get_uint (terminal_app_get_global_settings (app), TERMINAL_SETTING_SCHEMA_VERSION);
  if (version >= TERMINAL_SCHEMA_VERSION) {
     _terminal_debug_print (TERMINAL_DEBUG_SERVER | TERMINAL_DEBUG_PROFILE,
                            "Schema version is %u, already migrated.\n", version);
    return;
  }

#ifdef ENABLE_MIGRATION
  if (!g_spawn_sync (NULL /* our home directory */,
                     (char **) argv,
                     NULL /* envv */,
                     0,
                     NULL, NULL,
                     NULL, NULL,
                     &status,
                     &error)) {
    g_printerr ("Failed to migrate settings: %s\n", error->message);
    return;
  }

  if (WIFEXITED (status)) {
    if (WEXITSTATUS (status) != 0)
      g_printerr ("Profile migrator exited with status %d\n", WEXITSTATUS (status));
  } else {
    g_printerr ("Profile migrator exited abnormally.\n");
  }
#else
  g_settings_set_uint (terminal_app_get_global_settings (app),
                       TERMINAL_SETTING_SCHEMA_VERSION,
                       TERMINAL_SCHEMA_VERSION);
#endif /* ENABLE_MIGRATION */
}
static void
combo_session_time_changed_cb (GtkWidget *widget, CcPowerPanel *self)
{
  GtkTreeIter iter;
  GtkTreeModel *model;
  guint value;
  gboolean ret;
  const gchar *key = (const gchar *)g_object_get_data (G_OBJECT(widget), "_gsettings_key");

  /* no selection */
  ret = gtk_combo_box_get_active_iter (GTK_COMBO_BOX(widget), &iter);
  if (!ret)
    return;

  /* get entry */
  model = gtk_combo_box_get_model (GTK_COMBO_BOX(widget));
  gtk_tree_model_get (model, &iter,
                      1, &value,
                      -1);

  /* set both keys */
  g_settings_set_uint (self->priv->session_settings, key, value);
}