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 <opyale@noreply.gitea.io> Co-authored-by: 6543 <6543@noreply.codeberg.org> Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/562 Reviewed-by: M M Arif <mmarif@noreply.codeberg.org>
This commit is contained in:
		| @@ -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); | ||||
|   | ||||
| @@ -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<IssueCommentsAdap | ||||
|  | ||||
| 				TextView commentMenuEdit = view.findViewById(R.id.commentMenuEdit); | ||||
| 				TextView commentShare = view.findViewById(R.id.issueCommentShare); | ||||
| 				TextView commentMenuQuote = view.findViewById(R.id.commentMenuQuote); | ||||
| 				TextView commentMenuCopy = view.findViewById(R.id.commentMenuCopy); | ||||
| 				TextView commentMenuDelete = view.findViewById(R.id.commentMenuDelete); | ||||
|  | ||||
| 				if(!loginUid.contentEquals(commenterUsername.getText())) { | ||||
| @@ -111,6 +115,10 @@ public class IssueCommentsAdapter extends RecyclerView.Adapter<IssueCommentsAdap | ||||
| 					commentMenuDelete.setVisibility(View.GONE); | ||||
| 				} | ||||
|  | ||||
| 				if(issueComment.getText().toString().isEmpty()) { | ||||
| 					commentMenuCopy.setVisibility(View.GONE); | ||||
| 				} | ||||
|  | ||||
| 				BottomSheetDialog dialog = new BottomSheetDialog(ctx); | ||||
| 				dialog.setContentView(view); | ||||
| 				dialog.show(); | ||||
| @@ -143,6 +151,43 @@ public class IssueCommentsAdapter extends RecyclerView.Adapter<IssueCommentsAdap | ||||
|  | ||||
| 				}); | ||||
|  | ||||
| 				commentMenuQuote.setOnClickListener(v1 -> { | ||||
|  | ||||
| 					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()); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user