fix language support on changing language

This commit is contained in:
woodser 2023-05-23 18:39:37 -04:00
parent 02eb2fb005
commit da0f4f4652
21 changed files with 27 additions and 28 deletions

View file

@ -616,7 +616,7 @@ public abstract class MutableOfferDataModel extends OfferDataModel {
return CurrencyUtil.isCryptoCurrency(tradeCurrencyCode.get());
}
boolean isFiatCurrency() {
boolean isTraditionalCurrency() {
return CurrencyUtil.isTraditionalCurrency(tradeCurrencyCode.get());
}

View file

@ -762,7 +762,7 @@ public abstract class MutableOfferViewModel<M extends MutableOfferDataModel> ext
InputValidator.ValidationResult result = PriceUtil.isTriggerPriceValid(triggerPriceAsString,
marketPrice,
dataModel.isSellOffer(),
dataModel.isFiatCurrency()
dataModel.isTraditionalCurrency()
);
triggerPriceValidationResult.set(result);
updateButtonDisableState();

View file

@ -662,7 +662,6 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Preferenc
if (model.needsSupportLanguageWarning()) {
new Popup().warning(Res.get("settings.preferences.supportLanguageWarning",
model.getMediationLanguages(),
model.getArbitrationLanguages()))
.closeButtonText(Res.get("shared.ok"))
.show();

View file

@ -20,8 +20,8 @@ package haveno.desktop.main.settings.preferences;
import com.google.inject.Inject;
import haveno.core.locale.LanguageUtil;
import haveno.core.support.dispute.arbitration.arbitrator.ArbitratorManager;
import haveno.core.support.dispute.mediation.mediator.MediatorManager;
import haveno.core.support.dispute.refund.refundagent.RefundAgentManager;
import haveno.core.user.Preferences;
import haveno.desktop.common.model.ActivatableViewModel;
@ -29,26 +29,26 @@ import java.util.stream.Collectors;
public class PreferencesViewModel extends ActivatableViewModel {
private final RefundAgentManager refundAgentManager;
private final ArbitratorManager arbitratorManager;
private final MediatorManager mediationManager;
private final Preferences preferences;
@Inject
public PreferencesViewModel(Preferences preferences,
RefundAgentManager refundAgentManager,
ArbitratorManager arbitratorManager,
MediatorManager mediationManager) {
this.preferences = preferences;
this.refundAgentManager = refundAgentManager;
this.arbitratorManager = arbitratorManager;
this.mediationManager = mediationManager;
}
boolean needsSupportLanguageWarning() {
return !refundAgentManager.isAgentAvailableForLanguage(preferences.getUserLanguage()) ||
return !arbitratorManager.isAgentAvailableForLanguage(preferences.getUserLanguage()) ||
!mediationManager.isAgentAvailableForLanguage(preferences.getUserLanguage());
}
String getArbitrationLanguages() {
return refundAgentManager.getObservableMap().values().stream()
return arbitratorManager.getObservableMap().values().stream()
.flatMap(arbitrator -> arbitrator.getLanguageCodes().stream())
.distinct()
.map(LanguageUtil::getDisplayName)