Merge branch 'Atomic-Laboratory-patch-6'
This commit is contained in:
@@ -24,10 +24,18 @@ public class ServerGroup{
|
|||||||
return Core.settings.getBool(key() + "-hidden", false);
|
return Core.settings.getBool(key() + "-hidden", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean favorite(){
|
||||||
|
return Core.settings.getBool(key() + "-favorite", false);
|
||||||
|
}
|
||||||
|
|
||||||
public void setHidden(boolean hidden){
|
public void setHidden(boolean hidden){
|
||||||
Core.settings.put(key() + "-hidden", hidden);
|
Core.settings.put(key() + "-hidden", hidden);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setFavorite(boolean favorite){
|
||||||
|
Core.settings.put(key() + "-favorite", favorite);
|
||||||
|
}
|
||||||
|
|
||||||
String key(){
|
String key(){
|
||||||
return "server-" + (name.isEmpty() ? addresses.length == 0 ? "" : addresses[0] : name);
|
return "server-" + (name.isEmpty() ? addresses.length == 0 ? "" : addresses[0] : name);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -409,8 +409,11 @@ public class JoinDialog extends BaseDialog{
|
|||||||
|
|
||||||
Table[] groupTable = {null, null};
|
Table[] groupTable = {null, null};
|
||||||
|
|
||||||
|
boolean favorite = group.favorite();
|
||||||
if(group.prioritized){
|
if(group.prioritized){
|
||||||
addHeader(groupTable, group, hidden, false);
|
addHeader(groupTable, group, hidden, favorite, false);
|
||||||
|
}else if (favorite){
|
||||||
|
addHeader(groupTable, group, hidden, true, true);//weird behaviour if false?
|
||||||
}
|
}
|
||||||
//table containing all groups
|
//table containing all groups
|
||||||
for(String address : group.addresses){
|
for(String address : group.addresses){
|
||||||
@@ -435,9 +438,9 @@ public class JoinDialog extends BaseDialog{
|
|||||||
|| (res.modeName != null && res.modeName.toLowerCase().contains(serverSearch)))) return;
|
|| (res.modeName != null && res.modeName.toLowerCase().contains(serverSearch)))) return;
|
||||||
|
|
||||||
if(groupTable[0] == null){
|
if(groupTable[0] == null){
|
||||||
addHeader(groupTable, group, hidden, true);
|
addHeader(groupTable, group, hidden, favorite, true);
|
||||||
}else if(!groupTable[0].visible){
|
}else if(!groupTable[0].visible){
|
||||||
addHeader(groupTable, group, hidden, true);
|
addHeader(groupTable, group, hidden, favorite, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
addCommunityHost(res, groupTable[1]);
|
addCommunityHost(res, groupTable[1]);
|
||||||
@@ -449,7 +452,7 @@ public class JoinDialog extends BaseDialog{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean doInit){ // outlined separately
|
void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean favorite, boolean doInit){ // outlined separately
|
||||||
if(groupTable[0] == null){
|
if(groupTable[0] == null){
|
||||||
global.table(t -> groupTable[0] = t).fillX().left().row();
|
global.table(t -> groupTable[0] = t).fillX().left().row();
|
||||||
}
|
}
|
||||||
@@ -466,15 +469,25 @@ public class JoinDialog extends BaseDialog{
|
|||||||
head.image().height(3f).growX().color(col);
|
head.image().height(3f).growX().color(col);
|
||||||
|
|
||||||
//button for showing/hiding servers
|
//button for showing/hiding servers
|
||||||
ImageButton[] image = {null};
|
ImageButton[] image = {null, null};
|
||||||
image[0] = head.button(hidden ? Icon.eyeOffSmall : Icon.eyeSmall, Styles.grayi, () -> {
|
image[0] = head.button(Icon.star, new ImageButton.ImageButtonStyle(){{
|
||||||
|
imageUpColor = favorite ? Pal.accent : Color.lightGray;
|
||||||
|
imageDownColor = Color.white;
|
||||||
|
}}, () -> {
|
||||||
|
group.setFavorite(!group.favorite());
|
||||||
|
image[0].getStyle().imageUpColor = group.favorite() ? Pal.accent : Pal.lightishGray;
|
||||||
|
}).size(40f).get();
|
||||||
|
image[0].getStyle().imageUpColor = favorite ? Pal.accent : Pal.lightishGray;
|
||||||
|
|
||||||
|
//button for showing/hiding servers
|
||||||
|
image[1] = head.button(hidden ? Icon.eyeOffSmall : Icon.eyeSmall, Styles.grayi, () -> {
|
||||||
group.setHidden(!group.hidden());
|
group.setHidden(!group.hidden());
|
||||||
image[0].getStyle().imageUp = group.hidden() ? Icon.eyeOffSmall : Icon.eyeSmall;
|
image[1].getStyle().imageUp = group.hidden() ? Icon.eyeOffSmall : Icon.eyeSmall;
|
||||||
if(group.hidden() && !showHidden){
|
if(group.hidden() && !showHidden){
|
||||||
groupTable[0].remove();
|
groupTable[0].remove();
|
||||||
}
|
}
|
||||||
}).size(40f).get();
|
}).size(40f).get();
|
||||||
image[0].addListener(new Tooltip(t -> t.background(Styles.black6).margin(4).label(() -> !group.hidden() ? "@server.shown" : "@server.hidden")));
|
image[1].addListener(new Tooltip(t -> t.background(Styles.black6).margin(4).label(() -> !group.hidden() ? "@server.shown" : "@server.hidden")));
|
||||||
}).width(targetWidth() * columns()).padBottom(-2).row();
|
}).width(targetWidth() * columns()).padBottom(-2).row();
|
||||||
|
|
||||||
groupTable[1] = groupTable[0].row().table().top().left().grow().get();
|
groupTable[1] = groupTable[0].row().table().top().left().grow().get();
|
||||||
|
|||||||
Reference in New Issue
Block a user