public override void Draw() { base.Draw(); if (!Program.CompatibilityTools.IsToolDownloaded) { ImGui.BeginDisabled(); ImGui.Text("Compatibility tool isn't set up. Please start the game at least once."); ImGui.Dummy(new Vector2(10)); } if (ImGui.Button("Open prefix")) { Util.OpenBrowser(Program.CompatibilityTools.Settings.Prefix.FullName); } ImGui.SameLine(); if (ImGui.Button("Open Wine configuration")) { Program.CompatibilityTools.RunInPrefix("winecfg"); } ImGui.SameLine(); if (ImGui.Button("Open Wine explorer (run apps in prefix)")) { Program.CompatibilityTools.RunInPrefix("explorer"); } if (ImGui.Button("Kill all wine processes")) { Program.CompatibilityTools.Kill(); } if (!Program.CompatibilityTools.IsToolDownloaded) { ImGui.EndDisabled(); } }
public override void Draw() { if (ImGui.BeginTabBar("###settingsTabs")) { if (string.IsNullOrEmpty(this.searchInput)) { foreach (SettingsTab settingsTab in this.tabs) { if (settingsTab.IsUnixExclusive && Environment.OSVersion.Platform != PlatformID.Unix) { continue; } if (ImGui.BeginTabItem(settingsTab.Title)) { if (ImGui.BeginChild($"###settings_scrolling_{settingsTab.Title}", new Vector2(-1, -1), false)) { settingsTab.Draw(); } ImGui.EndChild(); ImGui.EndTabItem(); } } } else { if (ImGui.BeginTabItem("Search Results")) { var any = false; foreach (SettingsTab settingsTab in this.tabs) { if (settingsTab.IsUnixExclusive && Environment.OSVersion.Platform != PlatformID.Unix) { continue; } var eligible = settingsTab.Entries.Where(x => x.Name.ToLower().Contains(this.searchInput.ToLower())).ToArray(); if (!eligible.Any()) { continue; } any = true; ImGui.TextColored(ImGuiColors.DalamudGrey, settingsTab.Title); ImGui.Dummy(new Vector2(5)); foreach (SettingsEntry settingsTabEntry in settingsTab.Entries) { if (!settingsTabEntry.Name.ToLower().Contains(this.searchInput.ToLower())) { continue; } settingsTabEntry.Draw(); } ImGui.Separator(); ImGui.Dummy(new Vector2(10)); } if (!any) { ImGui.TextColored(ImGuiColors.DalamudGrey, "No results found..."); } ImGui.EndTabItem(); } } } ImGui.SetCursorPos(ImGuiHelpers.ViewportSize - new Vector2(60)); if (ImGui.BeginChild("###settingsFinishButton")) { ImGui.PushStyleVar(ImGuiStyleVar.FrameRounding, 100f); ImGui.PushFont(FontManager.IconFont); var invalid = this.tabs.Any(x => x.Entries.Any(y => !y.IsValid)); if (invalid) { ImGui.BeginDisabled(); } if (ImGui.Button(FontAwesomeIcon.Check.ToIconString(), new Vector2(40))) { foreach (var settingsTab in this.tabs) { settingsTab.Save(); } this.App.State = LauncherApp.LauncherState.Main; } if (invalid) { ImGui.EndDisabled(); } } ImGui.EndChild(); ImGui.PopStyleVar(); ImGui.PopFont(); var vpSize = ImGuiHelpers.ViewportSize; ImGui.SetCursorPos(new Vector2(vpSize.X - 250, 4)); ImGui.SetNextItemWidth(240); ImGui.InputTextWithHint("###searchInput", "Search for settings...", ref this.searchInput, 100); base.Draw(); }