mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
refactor: conventionalize plugin installer, swap tabs
This commit is contained in:
parent
c15340212d
commit
d780c59b60
1 changed files with 24 additions and 17 deletions
|
|
@ -133,7 +133,7 @@ namespace Dalamud.Plugin
|
||||||
|
|
||||||
ImGui.SetCursorPosY(ImGui.GetCursorPosY() - (5 * ImGui.GetIO().FontGlobalScale));
|
ImGui.SetCursorPosY(ImGui.GetCursorPosY() - (5 * ImGui.GetIO().FontGlobalScale));
|
||||||
|
|
||||||
var initializationStatusText = String.Empty;
|
string initializationStatusText = null;
|
||||||
if (this.dalamud.PluginRepository.State == PluginRepository.InitializationState.InProgress) {
|
if (this.dalamud.PluginRepository.State == PluginRepository.InitializationState.InProgress) {
|
||||||
initializationStatusText = Loc.Localize("InstallerLoading", "Loading plugins...");
|
initializationStatusText = Loc.Localize("InstallerLoading", "Loading plugins...");
|
||||||
} else if (this.dalamud.PluginRepository.State == PluginRepository.InitializationState.Fail) {
|
} else if (this.dalamud.PluginRepository.State == PluginRepository.InitializationState.Fail) {
|
||||||
|
|
@ -162,22 +162,10 @@ namespace Dalamud.Plugin
|
||||||
|
|
||||||
ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, new Vector2(1, 3) * ImGui.GetIO().FontGlobalScale);
|
ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, new Vector2(1, 3) * ImGui.GetIO().FontGlobalScale);
|
||||||
|
|
||||||
if (ImGui.BeginTabBar("PluginsTabBar", ImGuiTabBarFlags.NoTooltip)) {
|
if (ImGui.BeginTabBar("PluginsTabBar", ImGuiTabBarFlags.NoTooltip))
|
||||||
foreach (bool installed in new[] { true, false }) {
|
{
|
||||||
if (ImGui.BeginTabItem(installed ? Loc.Localize("InstallerInstalledPluginList", "Installed Plugins")
|
DrawTab(false, initializationStatusText);
|
||||||
: Loc.Localize("InstallerAvailablePluginList", "Available Plugins"))) {
|
DrawTab(true, initializationStatusText);
|
||||||
ImGui.BeginChild("Scrolling" + (installed ? "Installed" : "Available"),
|
|
||||||
new Vector2(0, 384 * ImGui.GetIO().FontGlobalScale), true, ImGuiWindowFlags.HorizontalScrollbar | ImGuiWindowFlags.NoBackground);
|
|
||||||
ImGui.SetCursorPosY(ImGui.GetCursorPosY() - 5);
|
|
||||||
if (String.IsNullOrEmpty(initializationStatusText)) {
|
|
||||||
DrawPluginList(installed ? this.pluginListInstalled : this.pluginListAvailable, installed);
|
|
||||||
} else {
|
|
||||||
ImGui.Text(initializationStatusText);
|
|
||||||
}
|
|
||||||
ImGui.EndChild();
|
|
||||||
ImGui.EndTabItem();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui.EndTabBar();
|
ImGui.EndTabBar();
|
||||||
ImGui.Separator();
|
ImGui.Separator();
|
||||||
|
|
@ -273,6 +261,25 @@ namespace Dalamud.Plugin
|
||||||
return windowOpen;
|
return windowOpen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void DrawTab(bool installed, string statusText) {
|
||||||
|
if (ImGui.BeginTabItem(installed ? Loc.Localize("InstallerInstalledPluginList", "Installed Plugins")
|
||||||
|
: Loc.Localize("InstallerAvailablePluginList", "Available Plugins")))
|
||||||
|
{
|
||||||
|
ImGui.BeginChild("Scrolling" + (installed ? "Installed" : "Available"),
|
||||||
|
new Vector2(0, 384 * ImGui.GetIO().FontGlobalScale), true, ImGuiWindowFlags.HorizontalScrollbar | ImGuiWindowFlags.NoBackground);
|
||||||
|
ImGui.SetCursorPosY(ImGui.GetCursorPosY() - 5);
|
||||||
|
|
||||||
|
if (statusText != null) {
|
||||||
|
ImGui.TextColored(this.colorGrey, statusText);
|
||||||
|
} else {
|
||||||
|
DrawPluginList(installed ? this.pluginListInstalled : this.pluginListAvailable, installed);
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui.EndChild();
|
||||||
|
ImGui.EndTabItem();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void DrawPluginList(List<PluginDefinition> pluginDefinitions, bool installed) {
|
private void DrawPluginList(List<PluginDefinition> pluginDefinitions, bool installed) {
|
||||||
var didAny = false;
|
var didAny = false;
|
||||||
var didAnyWithSearch = false;
|
var didAnyWithSearch = false;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue