@@ -409,8 +409,11 @@ void refreshCommunity(){
409
409
410
410
Table[] groupTable = {null, null};
411
411
412
+ boolean favorite = group.favorite();
412
413
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?
414
417
}
415
418
//table containing all groups
416
419
for(String address : group.addresses){
@@ -435,9 +438,9 @@ void refreshCommunity(){
435
438
|| (res.modeName != null && res.modeName.toLowerCase().contains(serverSearch)))) return;
436
439
437
440
if(groupTable[0] == null){
438
- addHeader(groupTable, group, hidden, true);
441
+ addHeader(groupTable, group, hidden, favorite, true);
439
442
}else if(!groupTable[0].visible){
440
- addHeader(groupTable, group, hidden, true);
443
+ addHeader(groupTable, group, hidden, favorite, true);
441
444
}
442
445
443
446
addCommunityHost(res, groupTable[1]);
@@ -449,7 +452,7 @@ void refreshCommunity(){
449
452
}
450
453
}
451
454
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
453
456
if(groupTable[0] == null){
454
457
global.table(t -> groupTable[0] = t).fillX().left().row();
455
458
}
@@ -466,15 +469,25 @@ void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean do
466
469
head.image().height(3f).growX().color(col);
467
470
468
471
//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, () -> {
471
484
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;
473
486
if(group.hidden() && !showHidden){
474
487
groupTable[0].remove();
475
488
}
476
489
}).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")));
478
491
}).width(targetWidth() * columns()).padBottom(-2).row();
479
492
480
493
groupTable[1] = groupTable[0].row().table().top().left().grow().get();
0 commit comments