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;
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;
public class TemplateListFragment extends Fragment {
private FragmentTemplateListBinding b;
private OnTemplateListFragmentInteractionListener mListener;
-
public TemplateListFragment() {
// Required empty public constructor
}
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);
<item>Дублиране</item>
<item>Изтриване</item>
</string-array>
-
+ <string-array name="template_list_help_text">
+ <item>Макетите са като предварително попълнени движения. Някои от параметрите на движението са указани в макета, а други се извличат от външен източник.</item>
+ <item>Например, при въвеждане на ново движение може да се сканира QR код от касова бележка, което да доведе до автоматично попълване на описанието на движението и имената на сметките от макета и попълване на датата и сумата от данните в QR кода.</item>
+ <item>Макетите описват кои параметри на движението са фиксирани и кои идват от външния източник.</item>
+ <item>Сканирането на QR код е единственият външен източник, който се поддържа в момента. В бъдеще е планирана работа с поставяне на текст от работния буфер и четене/прихващане на текстови съобщения (SMS).</item>
+ </string-array>
</resources>
<item>Duplicate</item>
<item>Delete</item>
</string-array>
+ <string-array name="template_list_help_text">
+ <item>Templates are like pre-filled transactions. Some of the transaction parameters are defined by the template, and others can be deduced from external source.</item>
+ <item>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.</item>
+ <item>Templates describe which transaction parameters are fixed and which come from the external source.</item>
+ <item>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.</item>
+ </string-array>
</resources>
\ No newline at end of file