X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftemplates%2FTemplateListFragment.java;h=64145c904e211611bcdf4d97b68049208c885137;hb=0e0790f5c425f616bc54f3b889aa2043e4853ee9;hp=53564278fb140eefb91aa0c2d0ff49f341eea71b;hpb=3ab99e1679326277d6ba7f8ce28f17a96dfa07aa;p=mobile-ledger.git 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 53564278..64145c90 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 @@ -20,11 +20,15 @@ package net.ktnx.mobileledger.ui.templates; import android.content.Context; import android.os.Bundle; 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.annotation.NonNull; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleEventObserver; import androidx.lifecycle.LifecycleOwner; @@ -32,10 +36,13 @@ 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; import net.ktnx.mobileledger.db.TemplateHeader; +import net.ktnx.mobileledger.ui.FabManager; +import net.ktnx.mobileledger.ui.HelpDialog; import net.ktnx.mobileledger.utils.Logger; import org.jetbrains.annotations.NotNull; @@ -50,7 +57,6 @@ import java.util.List; public class TemplateListFragment extends Fragment { private FragmentTemplateListBinding b; private OnTemplateListFragmentInteractionListener mListener; - public TemplateListFragment() { // Required empty public constructor } @@ -68,8 +74,23 @@ 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) { + HelpDialog.show(requireContext(), R.string.template_list_help_title, + R.array.template_list_help_text); + 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); @@ -86,12 +107,17 @@ public class TemplateListFragment extends Fragment { b.templateList.setAdapter(modelAdapter); TemplateHeaderDAO pDao = DB.get() - .getPatternDAO(); + .getTemplateDAO(); LiveData> templates = pDao.getTemplates(); templates.observe(getViewLifecycleOwner(), modelAdapter::setTemplates); LinearLayoutManager llm = new LinearLayoutManager(getContext()); llm.setOrientation(RecyclerView.VERTICAL); b.templateList.setLayoutManager(llm); + + FragmentActivity activity = requireActivity(); + if (activity instanceof FabManager.FabHandler) + FabManager.handle((FabManager.FabHandler) activity, b.templateList); + return b.getRoot(); } @Override @@ -131,5 +157,7 @@ public class TemplateListFragment extends Fragment { void onSaveTemplate(); void onEditTemplate(Long id); + + void onDuplicateTemplate(long id); } } \ No newline at end of file