From 37b0c1bde24708fe28a626c36441ec10004c519e Mon Sep 17 00:00:00 2001 From: Damyan Ivanov Date: Fri, 5 Mar 2021 23:43:59 +0200 Subject: [PATCH] add help menu for the template list --- .../ui/templates/TemplateListFragment.java | 28 ++++++++++++++++++- app/src/main/res/menu/template_list_menu.xml | 1 + app/src/main/res/values-bg/arrays.xml | 7 ++++- app/src/main/res/values-bg/strings.xml | 1 + app/src/main/res/values/arrays.xml | 6 ++++ app/src/main/res/values/strings.xml | 1 + 6 files changed, 42 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateListFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateListFragment.java index 7bdad8d1..2f032553 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateListFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateListFragment.java @@ -17,9 +17,14 @@ package net.ktnx.mobileledger.ui.templates; +import android.app.AlertDialog; import android.content.Context; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; @@ -33,6 +38,7 @@ import androidx.lifecycle.LiveData; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.dao.TemplateHeaderDAO; import net.ktnx.mobileledger.databinding.FragmentTemplateListBinding; import net.ktnx.mobileledger.db.DB; @@ -52,7 +58,6 @@ import java.util.List; public class TemplateListFragment extends Fragment { private FragmentTemplateListBinding b; private OnTemplateListFragmentInteractionListener mListener; - public TemplateListFragment() { // Required empty public constructor } @@ -70,8 +75,29 @@ public class TemplateListFragment extends Fragment { return fragment; } @Override + public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) { + super.onCreateOptionsMenu(menu, inflater); + inflater.inflate(R.menu.template_list_menu, menu); + } + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + if (item.getItemId() == R.id.menu_item_template_list_help) { + AlertDialog.Builder adb = new AlertDialog.Builder(requireContext()); + adb.setTitle(R.string.template_list_help_title); + adb.setMessage(TextUtils.join("\n\n", requireContext().getResources() + .getStringArray( + R.array.template_list_help_text))); + adb.setPositiveButton(R.string.close_button, (dialog, buttonId) -> dialog.dismiss()); + adb.create() + .show(); + return true; + } + return super.onOptionsItemSelected(item); + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setHasOptionsMenu(true); // if (getArguments() != null) { // mParam1 = getArguments().getString(ARG_PARAM1); // mParam2 = getArguments().getString(ARG_PARAM2); diff --git a/app/src/main/res/menu/template_list_menu.xml b/app/src/main/res/menu/template_list_menu.xml index a231f5fe..780d8257 100644 --- a/app/src/main/res/menu/template_list_menu.xml +++ b/app/src/main/res/menu/template_list_menu.xml @@ -22,6 +22,7 @@ \ No newline at end of file diff --git a/app/src/main/res/values-bg/arrays.xml b/app/src/main/res/values-bg/arrays.xml index 95305670..cab80817 100644 --- a/app/src/main/res/values-bg/arrays.xml +++ b/app/src/main/res/values-bg/arrays.xml @@ -26,5 +26,10 @@ Дублиране Изтриване - + + Макетите са като предварително попълнени движения. Някои от параметрите на движението са указани в макета, а други се извличат от външен източник. + Например, при въвеждане на ново движение може да се сканира QR код от касова бележка, което да доведе до автоматично попълване на описанието на движението и имената на сметките от макета и попълване на датата и сумата от данните в QR кода. + Макетите описват кои параметри на движението са фиксирани и кои идват от външния източник. + Сканирането на QR код е единственият външен източник, който се поддържа в момента. В бъдеще е планирана работа с поставяне на текст от работния буфер и четене/прихващане на текстови съобщения (SMS). + diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 1c8b51b3..d058ea50 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -226,4 +226,5 @@ Макетът ще се предлага за избор само ако няма друг макет, който да пасва и да не е маркиран като резервен Макетът не е резервен Резервни макети + Макети diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 0e855653..d471be3a 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -26,4 +26,10 @@ Duplicate Delete + + Templates are like pre-filled transactions. Some of the transaction parameters are defined by the template, and others can be deduced from external source. + For example, when adding a new transaction, you could scan the QR code of a receipt and get the transaction description filled from the template, and date and amounts filled from the data in the QR code. + Templates describe which transaction parameters are fixed and which come from the external source. + Currently, scanning QR codes is the only available source. Support for pasting from the clipboard and reading/intercepting text messages (SMS) is planned for the future. + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2c478181..3c94703a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -236,4 +236,5 @@ Template will be offered for selection only when no templates match that aren\'t marked as fallback templates Template is a primary, high priority one, not a catch-all Fallback templates + Templates -- 2.39.2