|
34 | 34 | import static mekhq.campaign.personnel.Person.getLoyaltyName;
|
35 | 35 | import static mekhq.campaign.personnel.turnoverAndRetention.Fatigue.getEffectiveFatigue;
|
36 | 36 | import static mekhq.utilities.ImageUtilities.addTintToImageIcon;
|
| 37 | +import static mekhq.utilities.ImageUtilities.scaleImage; |
37 | 38 | import static org.jfree.chart.ChartColor.DARK_BLUE;
|
38 | 39 | import static org.jfree.chart.ChartColor.DARK_RED;
|
39 | 40 |
|
|
94 | 95 | import mekhq.gui.utilities.MarkdownRenderer;
|
95 | 96 | import mekhq.gui.utilities.WrapLayout;
|
96 | 97 |
|
97 |
| -import static megamek.client.ui.WrapLayout.wordWrap; |
98 |
| - |
99 | 98 | /**
|
100 | 99 | * A custom panel that gets filled in with goodies from a Person record
|
101 | 100 | *
|
|
104 | 103 | public class PersonViewPanel extends JScrollablePanel {
|
105 | 104 | private static final MMLogger logger = MMLogger.create(PersonViewPanel.class);
|
106 | 105 |
|
107 |
| - private static final int MAX_NUMBER_OF_RIBBON_AWARDS_PER_ROW = 4; |
| 106 | + private static final int MAX_NUMBER_OF_RIBBON_AWARDS_PER_ROW = 3; |
108 | 107 |
|
109 | 108 | private final CampaignGUI gui;
|
110 | 109 |
|
@@ -408,13 +407,16 @@ private Box drawRibbons() {
|
408 | 407 | int awardTierCount = getAwardTierCount(award, maximumTiers);
|
409 | 408 |
|
410 | 409 | String ribbonFileName = award.getRibbonFileName(awardTierCount);
|
| 410 | + String directory = award.getSet() + "/ribbons/"; |
411 | 411 |
|
412 |
| - ribbon = (Image) MHQStaticDirectoryManager.getAwardIcons() |
413 |
| - .getItem(award.getSet() + "/ribbons/", ribbonFileName); |
| 412 | + ribbon = (Image) MHQStaticDirectoryManager.getAwardIcons().getItem(directory, ribbonFileName); |
414 | 413 | if (ribbon == null) {
|
| 414 | + logger.warn("No ribbon icon found for award: {}", directory + ribbonFileName); |
415 | 415 | continue;
|
416 | 416 | }
|
417 |
| - ribbon = ribbon.getScaledInstance(25, 8, Image.SCALE_DEFAULT); |
| 417 | + |
| 418 | + ribbon = scaleImage(ribbon, 8, false); |
| 419 | + |
418 | 420 | ribbonLabel.setIcon(new ImageIcon(ribbon));
|
419 | 421 | ribbonLabel.setToolTipText(award.getTooltip(campaign.getCampaignOptions(), person));
|
420 | 422 | rowRibbonsBox.add(ribbonLabel, 0);
|
@@ -481,23 +483,15 @@ private JPanel drawMedals() {
|
481 | 483 | int awardTierCount = getAwardTierCount(award, maximumTiers);
|
482 | 484 |
|
483 | 485 | String medalFileName = award.getMedalFileName(awardTierCount);
|
| 486 | + String directory = award.getSet() + "/medals/"; |
484 | 487 |
|
485 |
| - medal = (Image) MHQStaticDirectoryManager.getAwardIcons() |
486 |
| - .getItem(award.getSet() + "/medals/", medalFileName); |
| 488 | + medal = (Image) MHQStaticDirectoryManager.getAwardIcons().getItem(directory, medalFileName); |
487 | 489 | if (medal == null) {
|
| 490 | + logger.warn("No medal icon found for award: {}", directory + medalFileName); |
488 | 491 | continue;
|
489 | 492 | }
|
490 | 493 |
|
491 |
| - int width = medal.getWidth(null); |
492 |
| - int height = medal.getHeight(null); |
493 |
| - |
494 |
| - if (width == height) { |
495 |
| - medal = medal.getScaledInstance(40, 40, Image.SCALE_FAST); |
496 |
| - } else if (width < height) { |
497 |
| - medal = medal.getScaledInstance(20, 40, Image.SCALE_FAST); |
498 |
| - } else { |
499 |
| - medal = medal.getScaledInstance(40, 20, Image.SCALE_FAST); |
500 |
| - } |
| 494 | + medal = scaleImage(medal, 40, false); |
501 | 495 |
|
502 | 496 | medalLabel.setIcon(new ImageIcon(medal));
|
503 | 497 | medalLabel.setToolTipText(award.getTooltip(campaign.getCampaignOptions(), person));
|
@@ -529,27 +523,19 @@ private JPanel drawMiscAwards() {
|
529 | 523 |
|
530 | 524 | Image misc;
|
531 | 525 | try {
|
532 |
| - int maximumTiers = award.getNumberOfMedalFiles(); |
| 526 | + int maximumTiers = award.getNumberOfMiscFiles(); |
533 | 527 | int awardTierCount = getAwardTierCount(award, maximumTiers);
|
534 | 528 |
|
535 | 529 | String miscFileName = award.getMiscFileName(awardTierCount);
|
| 530 | + String directory = award.getSet() + "/misc/"; |
536 | 531 |
|
537 |
| - misc = (Image) MHQStaticDirectoryManager.getAwardIcons() |
538 |
| - .getItem(award.getSet() + "/misc/", miscFileName); |
| 532 | + misc = (Image) MHQStaticDirectoryManager.getAwardIcons().getItem(directory, miscFileName); |
539 | 533 | if (misc == null) {
|
| 534 | + logger.warn("No misc icon found for award: {}", directory + miscFileName); |
540 | 535 | continue;
|
541 | 536 | }
|
542 | 537 |
|
543 |
| - int width = misc.getWidth(null); |
544 |
| - int height = misc.getHeight(null); |
545 |
| - |
546 |
| - if (width == height) { |
547 |
| - misc = misc.getScaledInstance(40, 40, Image.SCALE_FAST); |
548 |
| - } else if (width < height) { |
549 |
| - misc = misc.getScaledInstance(20, 40, Image.SCALE_FAST); |
550 |
| - } else { |
551 |
| - misc = misc.getScaledInstance(40, 20, Image.SCALE_FAST); |
552 |
| - } |
| 538 | + misc = scaleImage(misc, 40, false); |
553 | 539 |
|
554 | 540 | miscLabel.setIcon(new ImageIcon(misc));
|
555 | 541 | miscLabel.setToolTipText(award.getTooltip(campaign.getCampaignOptions(), person));
|
|
0 commit comments