X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;ds=sidebyside;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftemplates%2FTemplateViewHolder.java;h=c8c197f44d1983926af295e8893ac543125ed240;hb=20bf9e983f65ae6e7e963130d4352104f0dc87e3;hp=e9b9032d2a24dcde22ea6c6affca7568a2fdb140;hpb=3aef8f6c15117aa4ea9abd687ad2c69e0f1f25bb;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateViewHolder.java b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateViewHolder.java index e9b9032d..c8c197f4 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateViewHolder.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateViewHolder.java @@ -18,8 +18,10 @@ package net.ktnx.mobileledger.ui.templates; import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; import androidx.recyclerview.widget.RecyclerView; +import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.databinding.TemplateListTemplateItemBinding; import net.ktnx.mobileledger.db.TemplateHeader; @@ -31,8 +33,30 @@ class TemplateViewHolder extends RecyclerView.ViewHolder { } public void bindToItem(TemplateHeader item) { b.templateName.setText(item.getName()); - b.editButton.setOnClickListener(v -> { - ((TemplatesActivity) v.getContext()).onEditTemplate(item.getId()); + b.templateName.setOnClickListener( + v -> ((TemplatesActivity) v.getContext()).onEditTemplate(item.getId())); + b.templateName.setOnLongClickListener((v) -> { + TemplatesActivity activity = (TemplatesActivity) v.getContext(); + AlertDialog.Builder builder = new AlertDialog.Builder(activity); + final String templateName = item.getName(); + builder.setTitle(templateName); + builder.setItems(R.array.templates_ctx_menu, (dialog, which) -> { + if (which == 0) { // edit + activity.onEditTemplate(item.getId()); + } + else if (which == 1) { // duplicate + activity.onDuplicateTemplate(item.getId()); + } + else if (which == 2) { // delete + activity.onDeleteTemplate(item.getId()); + } + else { + throw new RuntimeException(String.format("Unknown menu item id (%d)", which)); + } + dialog.dismiss(); + }); + builder.show(); + return true; }); } }