Skip to content

Transforms

Трансформ меняет то, как Tuner.Setting читает и записывает ключ. Задаётся через свойство transform привязки.

Tuner.ValueTransform

Привязывает булев виджет (обычно Tuner.Switch) к строковому ключу: переключатель включён, когда ключ равен value. Включение записывает value, выключение сбрасывает ключ к значению по умолчанию.

blp
Tuner.Switch {
    title: _("Light Style");

    binding: Tuner.Setting {
        schema-id: "org.gnome.desktop.interface";
        schema-key: "color-scheme";

        transform: Tuner.ValueTransform {
            value: "prefer-light";
        };
    };
}

Tuner.FlagsTransform

Привязывает булев виджет к одному элементу ключа-массива строк: переключатель включён, когда value присутствует в массиве. Свойство inverse инвертирует логику.

blp
Tuner.Switch {
    title: _("Variable Refresh Rate");

    binding: Tuner.Setting {
        schema-id: "org.gnome.mutter";
        schema-key: "experimental-features";

        transform: Tuner.FlagsTransform {
            value: "variable-refresh-rate";
        };
    };
}

Tuner.PathTransform

Приводит пути к удобному виду при отображении и разворачивает их обратно при записи:

  • hide-uri-prefix — убирать file:// при показе и добавлять обратно при сохранении;
  • fold-home-path — показывать домашний каталог как ~ и разворачивать его при сохранении.

Пример — на странице Tuner.File.

Опубликовано под лицензией GPL-3.0+. Содержание доступно по лицензии CC BY-SA 4.0, если не указано иное.