]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionModel.java
honour default currency profile setting
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / new_transaction / NewTransactionModel.java
index 95444ac6c33c8145f134c846056dfdca94396186..f17f77b17b1c97c8e2e461779c751c95f1456f0b 100644 (file)
@@ -101,7 +101,9 @@ public class NewTransactionModel extends ViewModel {
      * make old items replaceable in-place. makes the new values visually blend in
      */
     private void renumberItems() {
-        final List<Item> list = items.getValue();
+        renumberItems(items.getValue());
+    }
+    private void renumberItems(List<Item> list) {
         if (list == null) {
             return;
         }
@@ -190,8 +192,10 @@ public class NewTransactionModel extends ViewModel {
         List<Item> list = new ArrayList<>();
         Item.resetIdDispenser();
         list.add(new TransactionHead(""));
-        list.add(new TransactionAccount(""));
-        list.add(new TransactionAccount(""));
+        final String defaultCurrency = Objects.requireNonNull(Data.getProfile())
+                                              .getDefaultCommodity();
+        list.add(new TransactionAccount("", defaultCurrency));
+        list.add(new TransactionAccount("", defaultCurrency));
         noteFocusChanged(0, FocusedElement.Description);
         renumberItems();
         isSubmittable.setValue(false);
@@ -260,7 +264,6 @@ public class NewTransactionModel extends ViewModel {
         if (Misc.emptyIsNull(transactionComment) != null)
             head.setComment(transactionComment);
 
-        Item.resetIdDispenser();
         List<Item> newItems = new ArrayList<>();
 
         newItems.add(head);
@@ -302,6 +305,7 @@ public class NewTransactionModel extends ViewModel {
                   newItems.add(accRow);
               }
 
+              renumberItems(newItems);
               Misc.onMainThread(() -> replaceItems(newItems));
           });
     }
@@ -469,8 +473,12 @@ public class NewTransactionModel extends ViewModel {
         List<Item> newList = new ArrayList<>();
         Item.resetIdDispenser();
 
+        Item currentHead = items.getValue()
+                                .get(0);
         TransactionHead head = new TransactionHead(tr.transaction.getDescription());
         head.setComment(tr.transaction.getComment());
+        if (currentHead instanceof TransactionHead)
+            head.setDate(((TransactionHead) currentHead).date);
 
         newList.add(head);