Skip to content

Commit

Permalink
Merge pull request #8816 from devLotto/format-config-enums
Browse files Browse the repository at this point in the history
Format config enums as "Config Option" by default
  • Loading branch information
deathbeam committed May 15, 2019
2 parents ace6a61 + 69d788d commit 3e59f38
Show file tree
Hide file tree
Showing 11 changed files with 64 additions and 126 deletions.
Expand Up @@ -24,20 +24,9 @@
*/
package net.runelite.client.plugins.chatfilter;

import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public enum ChatFilterType
{
CENSOR_WORDS("Censor words"),
CENSOR_MESSAGE("Censor message"),
REMOVE_MESSAGE("Remove message");

private final String name;

@Override
public String toString()
{
return name;
}
CENSOR_WORDS,
CENSOR_MESSAGE,
REMOVE_MESSAGE
}
Expand Up @@ -492,7 +492,7 @@ public void windowClosing(WindowEvent e)
{
Enum selectedItem = Enum.valueOf(type, configManager.getConfiguration(cd.getGroup().value(), cid.getItem().keyName()));
box.setSelectedItem(selectedItem);
box.setToolTipText(selectedItem.toString());
box.setToolTipText(Text.titleCase(selectedItem));
}
catch (IllegalArgumentException ex)
{
Expand All @@ -503,7 +503,7 @@ public void windowClosing(WindowEvent e)
if (e.getStateChange() == ItemEvent.SELECTED)
{
changeConfiguration(listItem, config, box, cd, cid);
box.setToolTipText(box.getSelectedItem().toString());
box.setToolTipText(Text.titleCase((Enum) box.getSelectedItem()));
}
});
item.add(box, BorderLayout.EAST);
Expand Down
Expand Up @@ -24,22 +24,9 @@
*/
package net.runelite.client.plugins.fps;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum FpsLimitMode
{
NEVER("Never"),
UNFOCUSED("Unfocused"),
ALWAYS("Always");

private final String name;

@Override
public String toString()
{
return name;
}
NEVER,
UNFOCUSED,
ALWAYS
}
Expand Up @@ -24,21 +24,8 @@
*/
package net.runelite.client.plugins.itemidentification;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum ItemIdentificationMode
{
SHORT("Short"),
MEDIUM("Medium");

private final String type;

@Override
public String toString()
{
return type;
}
SHORT,
MEDIUM
}
Expand Up @@ -26,21 +26,8 @@

public enum RenderStyle
{
OFF("Off"),
TILE("Tile"),
HULL("Hull"),
SOUTH_WEST_TILE("South West Tile");

private final String name;

RenderStyle(String name)
{
this.name = name;
}

@Override
public String toString()
{
return name;
}
OFF,
TILE,
HULL,
SOUTH_WEST_TILE
}
Expand Up @@ -26,23 +26,10 @@

package net.runelite.client.plugins.prayer;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum PrayerFlickLocation
{
NONE("Off"),
PRAYER_ORB("Prayer Orb"),
PRAYER_BAR("Prayer Bar"),
BOTH("Both");

private final String name;

@Override
public String toString()
{
return name;
}
NONE,
PRAYER_ORB,
PRAYER_BAR,
BOTH
}
Expand Up @@ -24,22 +24,9 @@
*/
package net.runelite.client.plugins.runepouch.config;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum RunePouchOverlayMode
{
INVENTORY("Inventory"),
MOUSE_HOVER("Mouse hover"),
BOTH("Both");

private final String name;

@Override
public String toString()
{
return name;
}
INVENTORY,
MOUSE_HOVER,
BOTH
}
Expand Up @@ -24,22 +24,9 @@
*/
package net.runelite.client.plugins.worldhopper;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum SubscriptionFilterMode
{
BOTH("Both"),
FREE("Free"),
MEMBERS("Member");

private final String name;

@Override
public String toString()
{
return name;
}
BOTH,
FREE,
MEMBERS
}
Expand Up @@ -35,18 +35,10 @@ public interface XpTrackerConfig extends Config
@AllArgsConstructor
enum OnScreenDisplayMode
{
XP_GAINED("XP Gained"),
XP_LEFT("XP Left"),
ACTIONS_DONE("Actions Done"),
ACTIONS_LEFT("Actions Left");

private final String name;

@Override
public String toString()
{
return name;
}
XP_GAINED,
XP_LEFT,
ACTIONS_DONE,
ACTIONS_LEFT
}

@ConfigItem(
Expand Down
Expand Up @@ -31,6 +31,7 @@
import javax.swing.ListCellRenderer;
import javax.swing.border.EmptyBorder;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.util.Text;

/**
* A custom list renderer to avoid substance's weird coloring.
Expand All @@ -57,7 +58,16 @@ public Component getListCellRendererComponent(JList list, Object o, int index, b

setBorder(new EmptyBorder(5, 5, 5, 0));

String text = o.toString();
String text;
if (o instanceof Enum)
{
text = Text.titleCase((Enum) o);
}
else
{
text = o.toString();
}

setText(text);

return this;
Expand Down
25 changes: 25 additions & 0 deletions runelite-client/src/main/java/net/runelite/client/util/Text.java
Expand Up @@ -31,6 +31,7 @@
import java.util.Collection;
import java.util.List;
import java.util.regex.Pattern;
import org.apache.commons.text.WordUtils;

/**
* A set of utilities to use when dealing with text.
Expand Down Expand Up @@ -159,4 +160,28 @@ public static String sanitize(String name)
String cleaned = name.contains("<img") ? name.substring(name.lastIndexOf('>') + 1) : name;
return cleaned.replace('\u00A0', ' ');
}

/**
* If passed in enum doesn't implement its own toString,
* converts enum name format from THIS_FORMAT to This Format.
*
* @param o an enum
* @return the enum's name in title case,
* or if it overrides toString,
* the value returned by toString
*/
public static String titleCase(Enum o)
{
String toString = o.toString();

// .toString() returns the value of .name() if not overridden
if (o.name().equals(toString))
{
return WordUtils
.capitalize(toString.toLowerCase(), '_')
.replace("_", " ");
}

return toString;
}
}

0 comments on commit 3e59f38

Please sign in to comment.