2021-06-29 13:06:12 +03:00
|
|
|
|
// Copyright (c) Microsoft Corporation
|
|
|
|
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|
|
|
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
|
|
|
|
|
|
|
|
using System.Text.Json;
|
|
|
|
|
|
using System.Text.Json.Serialization;
|
2024-04-02 01:09:47 +02:00
|
|
|
|
using Settings.UI.Library.Attributes;
|
2021-06-29 13:06:12 +03:00
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Library
|
|
|
|
|
|
{
|
|
|
|
|
|
public class VideoConferenceConfigProperties
|
|
|
|
|
|
{
|
2024-04-02 01:09:47 +02:00
|
|
|
|
[CmdConfigureIgnoreAttribute]
|
2023-06-20 15:42:04 +02:00
|
|
|
|
public HotkeySettings DefaultMuteCameraAndMicrophoneHotkey => new HotkeySettings()
|
2021-06-29 13:06:12 +03:00
|
|
|
|
{
|
2023-06-20 15:42:04 +02:00
|
|
|
|
Win = true,
|
|
|
|
|
|
Ctrl = false,
|
|
|
|
|
|
Alt = false,
|
|
|
|
|
|
Shift = true,
|
|
|
|
|
|
Key = "Q",
|
|
|
|
|
|
Code = 81,
|
|
|
|
|
|
};
|
2021-06-29 13:06:12 +03:00
|
|
|
|
|
2024-04-02 01:09:47 +02:00
|
|
|
|
[CmdConfigureIgnoreAttribute]
|
2023-06-20 15:42:04 +02:00
|
|
|
|
public HotkeySettings DefaultMuteMicrophoneHotkey => new HotkeySettings()
|
|
|
|
|
|
{
|
|
|
|
|
|
Win = true,
|
|
|
|
|
|
Ctrl = false,
|
|
|
|
|
|
Alt = false,
|
|
|
|
|
|
Shift = true,
|
|
|
|
|
|
Key = "A",
|
|
|
|
|
|
Code = 65,
|
|
|
|
|
|
};
|
2021-06-29 13:06:12 +03:00
|
|
|
|
|
2024-04-02 01:09:47 +02:00
|
|
|
|
[CmdConfigureIgnoreAttribute]
|
2023-06-20 15:42:04 +02:00
|
|
|
|
public HotkeySettings DefaultPushToTalkMicrophoneHotkey => new HotkeySettings()
|
|
|
|
|
|
{
|
|
|
|
|
|
Win = true,
|
|
|
|
|
|
Ctrl = false,
|
|
|
|
|
|
Alt = false,
|
|
|
|
|
|
Shift = true,
|
|
|
|
|
|
Key = "I",
|
|
|
|
|
|
Code = 73,
|
|
|
|
|
|
};
|
2023-03-30 10:55:09 +02:00
|
|
|
|
|
2024-04-02 01:09:47 +02:00
|
|
|
|
[CmdConfigureIgnoreAttribute]
|
2023-06-20 15:42:04 +02:00
|
|
|
|
public HotkeySettings DefaultMuteCameraHotkey => new HotkeySettings()
|
|
|
|
|
|
{
|
|
|
|
|
|
Win = true,
|
|
|
|
|
|
Ctrl = false,
|
|
|
|
|
|
Alt = false,
|
|
|
|
|
|
Shift = true,
|
|
|
|
|
|
Key = "O",
|
|
|
|
|
|
Code = 79,
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
public VideoConferenceConfigProperties()
|
|
|
|
|
|
{
|
|
|
|
|
|
MuteCameraAndMicrophoneHotkey = new KeyboardKeysProperty(DefaultMuteCameraAndMicrophoneHotkey);
|
|
|
|
|
|
MuteMicrophoneHotkey = new KeyboardKeysProperty(DefaultMuteMicrophoneHotkey);
|
|
|
|
|
|
PushToTalkMicrophoneHotkey = new KeyboardKeysProperty(DefaultPushToTalkMicrophoneHotkey);
|
|
|
|
|
|
MuteCameraHotkey = new KeyboardKeysProperty(DefaultMuteCameraHotkey);
|
2023-03-30 10:55:09 +02:00
|
|
|
|
|
2023-06-20 15:42:04 +02:00
|
|
|
|
PushToReverseEnabled = new BoolProperty(false);
|
2021-06-29 13:06:12 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("mute_camera_and_microphone_hotkey")]
|
|
|
|
|
|
public KeyboardKeysProperty MuteCameraAndMicrophoneHotkey { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("mute_microphone_hotkey")]
|
|
|
|
|
|
public KeyboardKeysProperty MuteMicrophoneHotkey { get; set; }
|
|
|
|
|
|
|
2023-03-30 10:55:09 +02:00
|
|
|
|
[JsonPropertyName("push_to_talk_microphone_hotkey")]
|
|
|
|
|
|
public KeyboardKeysProperty PushToTalkMicrophoneHotkey { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("push_to_reverse_enabled")]
|
|
|
|
|
|
public BoolProperty PushToReverseEnabled { get; set; }
|
|
|
|
|
|
|
2021-06-29 13:06:12 +03:00
|
|
|
|
[JsonPropertyName("mute_camera_hotkey")]
|
|
|
|
|
|
public KeyboardKeysProperty MuteCameraHotkey { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("selected_camera")]
|
|
|
|
|
|
public StringProperty SelectedCamera { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("selected_mic")]
|
|
|
|
|
|
public StringProperty SelectedMicrophone { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("toolbar_position")]
|
|
|
|
|
|
public StringProperty ToolbarPosition { get; set; } = "Top right corner";
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("toolbar_monitor")]
|
|
|
|
|
|
public StringProperty ToolbarMonitor { get; set; } = "Main monitor";
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("camera_overlay_image_path")]
|
|
|
|
|
|
public StringProperty CameraOverlayImagePath { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("theme")]
|
|
|
|
|
|
public StringProperty Theme { get; set; }
|
|
|
|
|
|
|
2022-10-19 14:48:58 +05:30
|
|
|
|
[JsonPropertyName("toolbar_hide")]
|
2022-10-26 00:25:53 +03:00
|
|
|
|
public StringProperty ToolbarHide { get; set; } = "When both camera and microphone are unmuted";
|
2021-06-29 13:06:12 +03:00
|
|
|
|
|
2023-10-06 14:48:36 +07:00
|
|
|
|
[JsonPropertyName("startup_action")]
|
|
|
|
|
|
public StringProperty StartupAction { get; set; } = "Nothing";
|
|
|
|
|
|
|
2021-06-29 13:06:12 +03:00
|
|
|
|
// converts the current to a json string.
|
|
|
|
|
|
public string ToJsonString()
|
|
|
|
|
|
{
|
|
|
|
|
|
return JsonSerializer.Serialize(this);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|