Skip to content

Commit ea7d81d

Browse files
authored
Instantly display tooltips on icon buttons (#5606)
1 parent bcdbcc7 commit ea7d81d

8 files changed

Lines changed: 14 additions & 4 deletions

File tree

src/main/java/meteordevelopment/meteorclient/gui/DefaultSettingsWidgetFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ private void keybindW(WTable table, KeybindSetting setting) {
243243

244244
WButton reset = list.add(theme.button(GuiRenderer.RESET)).expandCellX().right().widget();
245245
reset.action = keybind::resetBind;
246+
reset.tooltip = "Reset";
246247
}
247248

248249
private void blockW(WTable table, BlockSetting setting) {
@@ -484,6 +485,7 @@ private void reset(WContainer c, Setting<?> setting, Runnable action) {
484485
setting.reset();
485486
if (action != null) action.run();
486487
};
488+
reset.tooltip = "Reset";
487489
}
488490

489491
private static class WSelectedCountLabel extends WMeteorLabel {

src/main/java/meteordevelopment/meteorclient/gui/screens/ModuleScreen.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ public void initWidgets() {
8484

8585
WButton reset = bind.add(theme.button(GuiRenderer.RESET)).expandCellX().right().widget();
8686
reset.action = keybind::resetBind;
87+
reset.tooltip = "Reset";
8788

8889
// Toggle on bind release
8990
WHorizontalList tobr = section.add(theme.horizontalList()).widget();

src/main/java/meteordevelopment/meteorclient/gui/screens/settings/ColorSettingScreen.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ public void initWidgets() {
108108
setFromSetting();
109109
callAction();
110110
};
111+
resetButton.tooltip = "Reset";
111112

112113
hueQuad.calculateFromSetting(false);
113114
brightnessQuad.calculateFromColor(setting.get(), false);

src/main/java/meteordevelopment/meteorclient/gui/screens/settings/base/CollectionMapSettingScreen.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import meteordevelopment.meteorclient.gui.widgets.WWidget;
1212
import meteordevelopment.meteorclient.gui.widgets.containers.WTable;
1313
import meteordevelopment.meteorclient.gui.widgets.input.WTextBox;
14+
import meteordevelopment.meteorclient.gui.widgets.pressable.WButton;
1415
import meteordevelopment.meteorclient.settings.Setting;
1516
import meteordevelopment.meteorclient.utils.misc.IChangeable;
1617
import org.jetbrains.annotations.Nullable;
@@ -63,9 +64,9 @@ private void initTable() {
6364
table.add(theme.label(isChanged ? "*" : " "));
6465
table.add(getDataWidget(t, data));
6566

66-
table.add(theme.button(GuiRenderer.RESET)).widget().action = () -> {
67-
removeValue(t);
68-
};
67+
WButton reset = table.add(theme.button(GuiRenderer.RESET)).widget();
68+
reset.action = () -> removeValue(t);
69+
reset.tooltip = "Reset";
6970

7071
table.row();
7172
});

src/main/java/meteordevelopment/meteorclient/gui/tabs/builtin/HudTab.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public void initWidgets() {
6969

7070
WButton resetSettings = bottom.add(theme.button(GuiRenderer.RESET)).widget();
7171
resetSettings.action = hud.settings::reset;
72+
resetSettings.tooltip = "Reset";
7273
}
7374

7475
@Override

src/main/java/meteordevelopment/meteorclient/gui/widgets/WWidget.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public abstract class WWidget implements BaseWidget {
2121
public String tooltip;
2222

2323
public boolean mouseOver;
24+
protected boolean instantTooltips;
2425
protected double mouseOverTimer;
2526

2627
public void init() {}
@@ -73,7 +74,7 @@ public boolean render(GuiRenderer renderer, double mouseX, double mouseY, double
7374

7475
if (isOver(mouseX, mouseY)) {
7576
mouseOverTimer += delta;
76-
if (mouseOverTimer >= 1 && tooltip != null) renderer.tooltip(tooltip);
77+
if ((instantTooltips || mouseOverTimer >= 1) && tooltip != null) renderer.tooltip(tooltip);
7778
}
7879
else {
7980
mouseOverTimer = 0;

src/main/java/meteordevelopment/meteorclient/gui/widgets/pressable/WButton.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ public abstract class WButton extends WPressable {
1616
public WButton(String text, GuiTexture texture) {
1717
this.text = text;
1818
this.texture = texture;
19+
20+
if (text == null) instantTooltips = true;
1921
}
2022

2123
@Override

src/main/java/meteordevelopment/meteorclient/settings/StringListSetting.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ public static void fillTable(GuiTheme theme, WTable table, StringListSetting set
115115

116116
fillTable(theme, table, setting);
117117
};
118+
reset.tooltip = "Reset";
118119
}
119120

120121
public static class Builder extends SettingBuilder<Builder, List<String>, StringListSetting> {

0 commit comments

Comments
 (0)