X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionModel.java;h=bd2c640fd0ddfaa7b477f1287e6875c9f306b3e1;hp=0801eb2ecbb4769ac5e740395d823a460ad84d04;hb=7ae5407090d9ffe2026775ba9e569014f879b54d;hpb=ac8053d632add604b86e5194098ceeeb50d8410f diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionModel.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionModel.java index 0801eb2e..bd2c640f 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionModel.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionModel.java @@ -265,8 +265,9 @@ public class NewTransactionModel extends ViewModel { for (int i = 0; i < items.size(); i++) { Item item = items.get(i); LedgerTransactionAccount acc = item.getAccount(); - debug("submittable", String.format("Item %2d: [%4.2f] %s", i, - acc.isAmountSet() ? acc.getAmount() : 0, acc.getAccountName())); + debug("submittable", String.format("Item %2d: [%4.2f] %s (%s)", i, + acc.isAmountSet() ? acc.getAmount() : 0, acc.getAccountName(), + acc.getComment())); } } } @@ -293,11 +294,8 @@ public class NewTransactionModel extends ViewModel { public void updateFocusedItem(int position) { focusedItem.setValue(position); } - public void noteFocusIsOnAccount(int position) { - getItem(position).setFocusIsOnAmount(false); - } - public void noteFocusIsOnAmount(int position) { - getItem(position).setFocusIsOnAmount(true); + public void noteFocusChanged(int position, FocusedElement element) { + getItem(position).setFocusedElement(element); } public void swapItems(int one, int two) { Collections.swap(items, one-1, two-1); @@ -306,7 +304,9 @@ public class NewTransactionModel extends ViewModel { //========================================================================================== - class Item extends Object { + enum FocusedElement {Account, Comment, Amount} + + class Item { private ItemType type; private MutableLiveData date = new MutableLiveData<>(); private MutableLiveData description = new MutableLiveData<>(); @@ -314,7 +314,7 @@ public class NewTransactionModel extends ViewModel { private MutableLiveData amountHint = new MutableLiveData<>(null); private NewTransactionModel model; private MutableLiveData editable = new MutableLiveData<>(true); - private boolean focusIsOnAmount = false; + private FocusedElement focusedElement = FocusedElement.Account; public Item(NewTransactionModel model) { this.model = model; type = ItemType.bottomFiller; @@ -333,8 +333,11 @@ public class NewTransactionModel extends ViewModel { this.account = account; this.editable.setValue(true); } - public boolean focusIsOnAmount() { - return focusIsOnAmount; + public FocusedElement getFocusedElement() { + return focusedElement; + } + public void setFocusedElement(FocusedElement focusedElement) { + this.focusedElement = focusedElement; } public NewTransactionModel getModel() { return model; @@ -503,8 +506,5 @@ public class NewTransactionModel extends ViewModel { public void stopObservingEditableFlag(Observer observer) { editable.removeObserver(observer); } - public void setFocusIsOnAmount(boolean flag) { - focusIsOnAmount = flag; - } } }