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));
|
||||
|
||||
var initializationStatusText = String.Empty;
|
||||
string initializationStatusText = null;
|
||||
if (this.dalamud.PluginRepository.State == PluginRepository.InitializationState.InProgress) {
|
||||
initializationStatusText = Loc.Localize("InstallerLoading", "Loading plugins...");
|
||||
} 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);
|
||||
|
||||
if (ImGui.BeginTabBar("PluginsTabBar", ImGuiTabBarFlags.NoTooltip)) {
|
||||
foreach (bool installed in new[] { true, false }) {
|
||||
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 (String.IsNullOrEmpty(initializationStatusText)) {
|
||||
DrawPluginList(installed ? this.pluginListInstalled : this.pluginListAvailable, installed);
|
||||
} else {
|
||||
ImGui.Text(initializationStatusText);
|
||||
}
|
||||
ImGui.EndChild();
|
||||
ImGui.EndTabItem();
|
||||
}
|
||||
}
|
||||
if (ImGui.BeginTabBar("PluginsTabBar", ImGuiTabBarFlags.NoTooltip))
|
||||
{
|
||||
DrawTab(false, initializationStatusText);
|
||||
DrawTab(true, initializationStatusText);
|
||||
|
||||
ImGui.EndTabBar();
|
||||
ImGui.Separator();
|
||||
|
|
@ -273,6 +261,25 @@ namespace Dalamud.Plugin
|
|||
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) {
|
||||
var didAny = false;
|
||||
var didAnyWithSearch = false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue