]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionModel.java
set focus to the transaction description upon UI reset
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / new_transaction / NewTransactionModel.java
index d0b99f3d558c4106238b5747dd1e94fecc826995..637518f2eef27b446dd7977d44a7ea8040c27174 100644 (file)
@@ -170,10 +170,12 @@ public class NewTransactionModel extends ViewModel {
         return this.isSubmittable;
     }
     void reset() {
+        Logger.debug("new-trans", "Resetting model");
         List<Item> list = new ArrayList<>();
         list.add(new TransactionHead(""));
         list.add(new TransactionAccount(""));
         list.add(new TransactionAccount(""));
+        noteFocusChanged(0, FocusedElement.Description);
         setItemsWithoutSubmittableChecks(list);
     }
     boolean accountsInInitialState() {
@@ -1039,6 +1041,7 @@ public class NewTransactionModel extends ViewModel {
         private FocusedElement focusedElement = FocusedElement.Account;
         private boolean amountHintIsSet = true;
         private boolean isLast = false;
+        private int accountNameCursorPosition;
         public TransactionAccount(TransactionAccount origin) {
             id = origin.id;
             accountName = origin.accountName;
@@ -1051,6 +1054,7 @@ public class NewTransactionModel extends ViewModel {
             amountValid = origin.amountValid;
             focusedElement = origin.focusedElement;
             isLast = origin.isLast;
+            accountNameCursorPosition = origin.accountNameCursorPosition;
         }
         public TransactionAccount(LedgerTransactionAccount account) {
             super();
@@ -1177,6 +1181,12 @@ public class NewTransactionModel extends ViewModel {
                             equal));
             return equal;
         }
+        public int getAccountNameCursorPosition() {
+            return accountNameCursorPosition;
+        }
+        public void setAccountNameCursorPosition(int position) {
+            this.accountNameCursorPosition = position;
+        }
     }
 
     private static class BalanceForCurrency {