From 5672208fd0be7df200f12b27dc9caa51e928d79d Mon Sep 17 00:00:00 2001 From: opyale Date: Sun, 28 Jun 2020 19:26:59 +0200 Subject: [PATCH] Adding ability to quote and to copy issue comments. (#562) Minor fix. Merge branch 'master' into reply-tools Merge remote-tracking branch 'opyale/reply-tools' into reply-tools Changing names. Merge branch 'master' into reply-tools Adding ability to cite and to copy issue comments. Co-authored-by: opyale Co-authored-by: 6543 <6543@noreply.codeberg.org> Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/562 Reviewed-by: M M Arif --- .../activities/ReplyToIssueActivity.java | 2 +- .../gitnex/adapters/IssueCommentsAdapter.java | 45 +++++++++++++++++++ .../layout/bottom_sheet_issue_comments.xml | 24 ++++++++++ .../main/res/layout/list_issue_comments.xml | 5 +-- app/src/main/res/values/strings.xml | 3 ++ 5 files changed, 75 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java b/app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java index b96a76ff..89f18ee0 100644 --- a/app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/ReplyToIssueActivity.java @@ -64,7 +64,7 @@ public class ReplyToIssueActivity extends BaseActivity { addComment = findViewById(R.id.addComment); addComment.setShowSoftInputOnFocus(true); - defaultMentionAdapter = new MentionArrayAdapter<>(this); + defaultMentionAdapter = new MentionArrayAdapter<>(ctx); loadCollaboratorsList(); addComment.setMentionAdapter(defaultMentionAdapter); diff --git a/app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java b/app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java index 2c37b6d8..646d66a3 100644 --- a/app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java +++ b/app/src/main/java/org/mian/gitnex/adapters/IssueCommentsAdapter.java @@ -1,6 +1,8 @@ package org.mian.gitnex.adapters; import android.annotation.SuppressLint; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; @@ -104,6 +106,8 @@ public class IssueCommentsAdapter extends RecyclerView.Adapter { + + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("@").append(commenterUsername.getText().toString()).append("\n\n"); + + String[] lines = commendBodyRaw.getText().toString().split("\\R"); + + for(String line : lines) { + + stringBuilder.append(">").append(line).append("\n"); + } + + stringBuilder.append("\n"); + + Intent intent = new Intent(ctx, ReplyToIssueActivity.class); + intent.putExtra("commentBody", stringBuilder.toString()); + intent.putExtra("cursorToEnd", true); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + + dialog.dismiss(); + ctx.startActivity(intent); + + }); + + commentMenuCopy.setOnClickListener(view1 -> { + + ClipboardManager clipboard = (ClipboardManager) Objects.requireNonNull(ctx).getSystemService(Context.CLIPBOARD_SERVICE); + assert clipboard != null; + + ClipData clip = ClipData.newPlainText("Comment on issue #" + issueNumber.getText().toString(), issueComment.getText().toString()); + clipboard.setPrimaryClip(clip); + + dialog.dismiss(); + Toasty.info(ctx, ctx.getString(R.string.copyIssueCommentToastMsg)); + + }); + commentMenuDelete.setOnClickListener(deleteComment -> { deleteIssueComment(ctx, Integer.parseInt(commendId.getText().toString()), getAdapterPosition()); diff --git a/app/src/main/res/layout/bottom_sheet_issue_comments.xml b/app/src/main/res/layout/bottom_sheet_issue_comments.xml index 383ba984..f2de8fe4 100644 --- a/app/src/main/res/layout/bottom_sheet_issue_comments.xml +++ b/app/src/main/res/layout/bottom_sheet_issue_comments.xml @@ -41,6 +41,30 @@ android:textSize="16sp" android:padding="12dp" /> + + + + - + android:visibility="gone" /> Copy Issue URL URL copied to clipboard + Copied comment to clipboard %1$d\uFF05 completed @@ -539,6 +540,8 @@ Menu Edit Delete + Copy + Quote and Reply \u0020\u0020\u0020\u25CF\u0020\u0020\u0020 edited Save