mirror of
https://github.com/correl/mage.git
synced 2024-11-28 19:19:55 +00:00
* GUI: added visual progress bar in download images dialog (#8566)
This commit is contained in:
parent
e48f024909
commit
ca993eae39
4 changed files with 24 additions and 9 deletions
|
@ -16,6 +16,8 @@ public interface DownloadServiceInfo {
|
||||||
void updateGlobalMessage(String text);
|
void updateGlobalMessage(String text);
|
||||||
|
|
||||||
void updateProgressMessage(String text);
|
void updateProgressMessage(String text);
|
||||||
|
|
||||||
|
void updateProgressMessage(String text, int progressCurrent, int progressNeed);
|
||||||
|
|
||||||
void showDownloadControls(boolean needToShow);
|
void showDownloadControls(boolean needToShow);
|
||||||
|
|
||||||
|
|
|
@ -250,7 +250,11 @@ public enum ScryfallImageSource implements CardImageSource {
|
||||||
|
|
||||||
private void updatePrepareStats(DownloadServiceInfo service, int need, int current) {
|
private void updatePrepareStats(DownloadServiceInfo service, int need, int current) {
|
||||||
synchronized (service.getSync()) {
|
synchronized (service.getSync()) {
|
||||||
service.updateProgressMessage(String.format("Preparing download list... %d of %d", current, need));
|
service.updateProgressMessage(
|
||||||
|
String.format("Preparing download list... %d of %d", current, need),
|
||||||
|
current,
|
||||||
|
need
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -260,7 +260,16 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateProgressMessage(String text) {
|
public void updateProgressMessage(String text) {
|
||||||
|
updateProgressMessage(text, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateProgressMessage(String text, int progressCurrent, int progressNeed) {
|
||||||
this.uiDialog.getProgressBar().setString(text);
|
this.uiDialog.getProgressBar().setString(text);
|
||||||
|
|
||||||
|
// set values to 0 to disable progress bar
|
||||||
|
this.uiDialog.getProgressBar().setMaximum(progressNeed);
|
||||||
|
this.uiDialog.getProgressBar().setValue(progressCurrent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -409,7 +418,7 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements
|
||||||
? "%d of %d (%d cards/%d tokens) image downloads finished! Please close!"
|
? "%d of %d (%d cards/%d tokens) image downloads finished! Please close!"
|
||||||
: "%d of %d (%d cards/%d tokens) image downloads finished! Please wait! [%.1f Mb]",
|
: "%d of %d (%d cards/%d tokens) image downloads finished! Please wait! [%.1f Mb]",
|
||||||
0, imageSum, cardCount, tokenCount, mb
|
0, imageSum, cardCount, tokenCount, mb
|
||||||
));
|
), 0, imageSum);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String createDownloadName(CardInfo card) {
|
private static String createDownloadName(CardInfo card) {
|
||||||
|
@ -989,7 +998,7 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements
|
||||||
// downloading
|
// downloading
|
||||||
float mb = ((needDownloadCount - lastCardIndex) * selectedSource.getAverageSize()) / 1024;
|
float mb = ((needDownloadCount - lastCardIndex) * selectedSource.getAverageSize()) / 1024;
|
||||||
updateProgressMessage(String.format("%d of %d image downloads finished! Please wait! [%.1f Mb]",
|
updateProgressMessage(String.format("%d of %d image downloads finished! Please wait! [%.1f Mb]",
|
||||||
lastCardIndex, needDownloadCount, mb));
|
lastCardIndex, needDownloadCount, mb), lastCardIndex, needDownloadCount);
|
||||||
} else {
|
} else {
|
||||||
// finished
|
// finished
|
||||||
List<CardDownloadData> downloadedCards = Collections.synchronizedList(new ArrayList<>());
|
List<CardDownloadData> downloadedCards = Collections.synchronizedList(new ArrayList<>());
|
||||||
|
|
|
@ -254,7 +254,7 @@ public class BoosterGenerationTest extends MageTestBase {
|
||||||
public void testFallenEmpires_BoosterMustUseVariousArtsButUnique() {
|
public void testFallenEmpires_BoosterMustUseVariousArtsButUnique() {
|
||||||
// Related issue: https://github.com/magefree/mage/issues/7333
|
// Related issue: https://github.com/magefree/mage/issues/7333
|
||||||
// Actual for default boosters without collation
|
// Actual for default boosters without collation
|
||||||
Set<String> cardNumberPosfixes = new HashSet<>();
|
Set<String> cardNumberPostfixes = new HashSet<>();
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
List<Card> booster = FallenEmpires.getInstance().createBooster();
|
List<Card> booster = FallenEmpires.getInstance().createBooster();
|
||||||
|
|
||||||
|
@ -274,15 +274,15 @@ public class BoosterGenerationTest extends MageTestBase {
|
||||||
// 123c -> c
|
// 123c -> c
|
||||||
String postfix = card.getCardNumber().replace(String.valueOf(CardUtil.parseCardNumberAsInt(card.getCardNumber())), "");
|
String postfix = card.getCardNumber().replace(String.valueOf(CardUtil.parseCardNumberAsInt(card.getCardNumber())), "");
|
||||||
if (!postfix.isEmpty()) {
|
if (!postfix.isEmpty()) {
|
||||||
cardNumberPosfixes.add(postfix);
|
cardNumberPostfixes.add(postfix);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
assertTrue("booster must use cards with various arts",
|
assertTrue("booster must use cards with various arts",
|
||||||
cardNumberPosfixes.contains("a")
|
cardNumberPostfixes.contains("a")
|
||||||
&& cardNumberPosfixes.contains("b")
|
&& cardNumberPostfixes.contains("b")
|
||||||
&& cardNumberPosfixes.contains("c")
|
&& cardNumberPostfixes.contains("c")
|
||||||
&& cardNumberPosfixes.contains("d")
|
&& cardNumberPostfixes.contains("d")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue