mirror of
https://github.com/TeamMidnightDust/MidnightLib.git
synced 2025-12-15 17:05:09 +01:00
Fix <Ctrl>+<Number> keybinds not working for tabs
This commit is contained in:
@@ -202,8 +202,9 @@ public abstract class MidnightConfig {
|
|||||||
public final String modid;
|
public final String modid;
|
||||||
public MidnightConfigListWidget list;
|
public MidnightConfigListWidget list;
|
||||||
public boolean reload = false;
|
public boolean reload = false;
|
||||||
public TabManager tabManager = new TabManager(a -> refresh(), a -> refresh());
|
public TabManager tabManager = new TabManager(a -> {}, a -> {});
|
||||||
public Tab prevTab;
|
public Tab prevTab;
|
||||||
|
public TabNavigationWidget tabNavigation;
|
||||||
public ButtonWidget done;
|
public ButtonWidget done;
|
||||||
|
|
||||||
// Real Time config update //
|
// Real Time config update //
|
||||||
@@ -242,6 +243,11 @@ public abstract class MidnightConfig {
|
|||||||
} catch (IllegalAccessException ignored) {}
|
} catch (IllegalAccessException ignored) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
|
||||||
|
if (this.tabNavigation.trySwitchTabsWithKey(keyCode)) return true;
|
||||||
|
return super.keyPressed(keyCode, scanCode, modifiers);
|
||||||
|
}
|
||||||
public Tooltip getTooltip(EntryInfo info) {
|
public Tooltip getTooltip(EntryInfo info) {
|
||||||
return Tooltip.of(info.error != null ? info.error : I18n.hasTranslation(translationPrefix+info.field.getName()+".tooltip") ? Text.translatable(translationPrefix+info.field.getName()+".tooltip") : Text.empty());
|
return Tooltip.of(info.error != null ? info.error : I18n.hasTranslation(translationPrefix+info.field.getName()+".tooltip") ? Text.translatable(translationPrefix+info.field.getName()+".tooltip") : Text.empty());
|
||||||
}
|
}
|
||||||
@@ -270,7 +276,7 @@ public abstract class MidnightConfig {
|
|||||||
} else e.tab = tabs.get(name);
|
} else e.tab = tabs.get(name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TabNavigationWidget tabNavigation = TabNavigationWidget.builder(tabManager, this.width).tabs(tabs.values().toArray(new Tab[0])).build();
|
tabNavigation = TabNavigationWidget.builder(tabManager, this.width).tabs(tabs.values().toArray(new Tab[0])).build();
|
||||||
if (tabs.size() > 1) this.addDrawableChild(tabNavigation);
|
if (tabs.size() > 1) this.addDrawableChild(tabNavigation);
|
||||||
if (!reload) tabNavigation.selectTab(0, false);
|
if (!reload) tabNavigation.selectTab(0, false);
|
||||||
tabNavigation.init();
|
tabNavigation.init();
|
||||||
@@ -280,10 +286,6 @@ public abstract class MidnightConfig {
|
|||||||
loadValues();
|
loadValues();
|
||||||
Objects.requireNonNull(client).setScreen(parent);
|
Objects.requireNonNull(client).setScreen(parent);
|
||||||
}).dimensions(this.width / 2 - 154, this.height - 28, 150, 20).build());
|
}).dimensions(this.width / 2 - 154, this.height - 28, 150, 20).build());
|
||||||
|
|
||||||
this.list = new MidnightConfigListWidget(this.client, this.width, this.height, 32, this.height - 32, 25);
|
|
||||||
if (this.client != null && this.client.world != null) this.list.setRenderBackground(false);
|
|
||||||
this.addSelectableChild(this.list);
|
|
||||||
done = this.addDrawableChild(ButtonWidget.builder(ScreenTexts.DONE, (button) -> {
|
done = this.addDrawableChild(ButtonWidget.builder(ScreenTexts.DONE, (button) -> {
|
||||||
for (EntryInfo info : entries)
|
for (EntryInfo info : entries)
|
||||||
if (info.id.equals(modid)) {
|
if (info.id.equals(modid)) {
|
||||||
@@ -294,6 +296,11 @@ public abstract class MidnightConfig {
|
|||||||
write(modid);
|
write(modid);
|
||||||
Objects.requireNonNull(client).setScreen(parent);
|
Objects.requireNonNull(client).setScreen(parent);
|
||||||
}).dimensions(this.width / 2 + 4, this.height - 28, 150, 20).build());
|
}).dimensions(this.width / 2 + 4, this.height - 28, 150, 20).build());
|
||||||
|
|
||||||
|
this.list = new MidnightConfigListWidget(this.client, this.width, this.height, 32, this.height - 32, 25);
|
||||||
|
if (this.client != null && this.client.world != null) this.list.setRenderBackground(false);
|
||||||
|
this.addSelectableChild(this.list);
|
||||||
|
|
||||||
fillList();
|
fillList();
|
||||||
}
|
}
|
||||||
public void fillList() {
|
public void fillList() {
|
||||||
|
|||||||
@@ -30,6 +30,11 @@
|
|||||||
"eu.midnightdust.lib.config.AutoModMenu"
|
"eu.midnightdust.lib.config.AutoModMenu"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"depends": {
|
||||||
|
"fabric-models-v0": "*",
|
||||||
|
"fabric-resource-loader-v0": "*",
|
||||||
|
"minecraft": ">=1.19.4-rc.1"
|
||||||
|
},
|
||||||
|
|
||||||
"mixins": [
|
"mixins": [
|
||||||
"midnightlib.mixins.json"
|
"midnightlib.mixins.json"
|
||||||
|
|||||||
Reference in New Issue
Block a user