mirror of
https://github.com/Ed94/Cog.git
synced 2026-08-30 04:50:08 +00:00
fix scale replication and other fixes
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
#include "CogWindow_Settings.h"
|
||||
|
||||
#include "CogImguiModule.h"
|
||||
#include "InputCoreTypes.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
UCogWindow_Settings::UCogWindow_Settings()
|
||||
{
|
||||
bHasMenu = false;
|
||||
ToggleInputKey.Key = EKeys::Tab;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
void UCogWindow_Settings::PostInitProperties()
|
||||
{
|
||||
Super::PostInitProperties();
|
||||
|
||||
if (ToggleInputKey.Key != EKeys::Invalid)
|
||||
{
|
||||
FCogImguiModule::Get().SetToggleInputKey(ToggleInputKey);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
void UCogWindow_Settings::RenderContent()
|
||||
{
|
||||
ImGui::Checkbox("Compact Mode", &GetOwner()->bCompactMode);
|
||||
|
||||
ImGui::Checkbox("Show Windows In Main Menu", &GetOwner()->bShowWindowsInMainMenu);
|
||||
|
||||
ImGui::Checkbox("Show Window Help", &GetOwner()->bShowHelp);
|
||||
|
||||
FCogWindowWidgets::SetNextItemToShortWidth();
|
||||
ImGui::SliderFloat("DPI Scale", &GetOwner()->DPIScale, 0.5f, 2.0f, "%.1f");
|
||||
if (ImGui::IsItemDeactivatedAfterEdit())
|
||||
{
|
||||
GetOwner()->bRefreshDPIScale = true;
|
||||
}
|
||||
|
||||
if (ImGui::IsItemHovered())
|
||||
{
|
||||
ImGui::BeginTooltip();
|
||||
ImGui::TextUnformatted("Change DPi Scale [Mouse Wheel]");
|
||||
ImGui::TextUnformatted("Reset DPi Scale [Middle Mouse]");
|
||||
ImGui::EndTooltip();
|
||||
}
|
||||
|
||||
ImGui::Separator();
|
||||
|
||||
ImGui::Text("Toggle Input Key");
|
||||
|
||||
TArray<FKey> Keys;
|
||||
EKeys::GetAllKeys(Keys);
|
||||
|
||||
bool HasKeyChanged = false;
|
||||
FCogWindowWidgets::SetNextItemToShortWidth();
|
||||
if (ImGui::BeginCombo("Key", TCHAR_TO_ANSI(*ToggleInputKey.Key.ToString())))
|
||||
{
|
||||
for (int32 i = 0; i < Keys.Num(); ++i)
|
||||
{
|
||||
const FKey Key = Keys[i];
|
||||
if (Key.IsDigital() == false || Key.IsDeprecated())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
bool IsSelected = ToggleInputKey.Key == Key;
|
||||
if (ImGui::Selectable(TCHAR_TO_ANSI(*Key.ToString()), IsSelected))
|
||||
{
|
||||
ToggleInputKey.Key = Key;
|
||||
HasKeyChanged = true;
|
||||
}
|
||||
}
|
||||
ImGui::EndCombo();
|
||||
}
|
||||
|
||||
FCogWindowWidgets::SetNextItemToShortWidth();
|
||||
HasKeyChanged |= FCogWindowWidgets::ComboboxEnum("Ctrl", ToggleInputKey.Ctrl);
|
||||
|
||||
FCogWindowWidgets::SetNextItemToShortWidth();
|
||||
HasKeyChanged |= FCogWindowWidgets::ComboboxEnum("Shift", ToggleInputKey.Shift);
|
||||
|
||||
FCogWindowWidgets::SetNextItemToShortWidth();
|
||||
HasKeyChanged |= FCogWindowWidgets::ComboboxEnum("Alt", ToggleInputKey.Alt);
|
||||
|
||||
FCogWindowWidgets::SetNextItemToShortWidth();
|
||||
HasKeyChanged |= FCogWindowWidgets::ComboboxEnum("Cmd", ToggleInputKey.Cmd);
|
||||
|
||||
if (HasKeyChanged)
|
||||
{
|
||||
FCogImguiModule::Get().SetToggleInputKey(ToggleInputKey);
|
||||
}
|
||||
|
||||
ImGui::Separator();
|
||||
|
||||
ImGui::Spacing();
|
||||
ImGui::Spacing();
|
||||
if (ImGui::Button("Reset All Windows Config"))
|
||||
{
|
||||
GetOwner()->ResetAllWindowsConfig();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user