Skip to content

Commit 4c300af

Browse files
committed
Merge branch 'Atomic-Laboratory-patch-6'
2 parents e3b355b + 3bdb871 commit 4c300af

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

core/src/mindustry/net/ServerGroup.java

+8
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,18 @@ public boolean hidden(){
2424
return Core.settings.getBool(key() + "-hidden", false);
2525
}
2626

27+
public boolean favorite(){
28+
return Core.settings.getBool(key() + "-favorite", false);
29+
}
30+
2731
public void setHidden(boolean hidden){
2832
Core.settings.put(key() + "-hidden", hidden);
2933
}
3034

35+
public void setFavorite(boolean favorite){
36+
Core.settings.put(key() + "-favorite", favorite);
37+
}
38+
3139
String key(){
3240
return "server-" + (name.isEmpty() ? addresses.length == 0 ? "" : addresses[0] : name);
3341
}

core/src/mindustry/ui/dialogs/JoinDialog.java

+21-8
Original file line numberDiff line numberDiff line change
@@ -409,8 +409,11 @@ void refreshCommunity(){
409409

410410
Table[] groupTable = {null, null};
411411

412+
boolean favorite = group.favorite();
412413
if(group.prioritized){
413-
addHeader(groupTable, group, hidden, false);
414+
addHeader(groupTable, group, hidden, favorite, false);
415+
}else if (favorite){
416+
addHeader(groupTable, group, hidden, true, true);//weird behaviour if false?
414417
}
415418
//table containing all groups
416419
for(String address : group.addresses){
@@ -435,9 +438,9 @@ void refreshCommunity(){
435438
|| (res.modeName != null && res.modeName.toLowerCase().contains(serverSearch)))) return;
436439

437440
if(groupTable[0] == null){
438-
addHeader(groupTable, group, hidden, true);
441+
addHeader(groupTable, group, hidden, favorite, true);
439442
}else if(!groupTable[0].visible){
440-
addHeader(groupTable, group, hidden, true);
443+
addHeader(groupTable, group, hidden, favorite, true);
441444
}
442445

443446
addCommunityHost(res, groupTable[1]);
@@ -449,7 +452,7 @@ void refreshCommunity(){
449452
}
450453
}
451454

452-
void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean doInit){ // outlined separately
455+
void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean favorite, boolean doInit){ // outlined separately
453456
if(groupTable[0] == null){
454457
global.table(t -> groupTable[0] = t).fillX().left().row();
455458
}
@@ -466,15 +469,25 @@ void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean do
466469
head.image().height(3f).growX().color(col);
467470

468471
//button for showing/hiding servers
469-
ImageButton[] image = {null};
470-
image[0] = head.button(hidden ? Icon.eyeOffSmall : Icon.eyeSmall, Styles.grayi, () -> {
472+
ImageButton[] image = {null, null};
473+
image[0] = head.button(Icon.star, new ImageButton.ImageButtonStyle(){{
474+
imageUpColor = favorite ? Pal.accent : Color.lightGray;
475+
imageDownColor = Color.white;
476+
}}, () -> {
477+
group.setFavorite(!group.favorite());
478+
image[0].getStyle().imageUpColor = group.favorite() ? Pal.accent : Pal.lightishGray;
479+
}).size(40f).get();
480+
image[0].getStyle().imageUpColor = favorite ? Pal.accent : Pal.lightishGray;
481+
482+
//button for showing/hiding servers
483+
image[1] = head.button(hidden ? Icon.eyeOffSmall : Icon.eyeSmall, Styles.grayi, () -> {
471484
group.setHidden(!group.hidden());
472-
image[0].getStyle().imageUp = group.hidden() ? Icon.eyeOffSmall : Icon.eyeSmall;
485+
image[1].getStyle().imageUp = group.hidden() ? Icon.eyeOffSmall : Icon.eyeSmall;
473486
if(group.hidden() && !showHidden){
474487
groupTable[0].remove();
475488
}
476489
}).size(40f).get();
477-
image[0].addListener(new Tooltip(t -> t.background(Styles.black6).margin(4).label(() -> !group.hidden() ? "@server.shown" : "@server.hidden")));
490+
image[1].addListener(new Tooltip(t -> t.background(Styles.black6).margin(4).label(() -> !group.hidden() ? "@server.shown" : "@server.hidden")));
478491
}).width(targetWidth() * columns()).padBottom(-2).row();
479492

480493
groupTable[1] = groupTable[0].row().table().top().left().grow().get();

0 commit comments

Comments
 (0)