From a059a3c2efbfaf31639576ffa25d91e16a7dfc03 Mon Sep 17 00:00:00 2001 From: albendz <12453997+albendz@users.noreply.github.com> Date: Mon, 27 Aug 2018 02:13:50 -0700 Subject: [PATCH] Add button on image details to copy wikicode to clipboard (#1849) * Add button on image details to copy wikicode to clipboard * Make copy wikicode button width the same as the nominate deletion button width by filling in background --- .../nrw/commons/media/MediaDetailFragment.java | 14 ++++++++++++++ app/src/main/res/layout/fragment_media_detail.xml | 12 ++++++++++-- app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index 30551e24f..61b121390 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -1,6 +1,8 @@ package fr.free.nrw.commons.media; import android.app.AlertDialog; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.DialogInterface; import android.content.Intent; import android.database.DataSetObserver; @@ -50,6 +52,7 @@ import fr.free.nrw.commons.mwapi.MediaWikiApi; import fr.free.nrw.commons.ui.widget.CompatTextView; import timber.log.Timber; +import static android.content.Context.CLIPBOARD_SERVICE; import static android.view.View.GONE; import static android.view.View.VISIBLE; import static android.widget.Toast.LENGTH_SHORT; @@ -351,6 +354,17 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment { } } + @OnClick(R.id.copyWikicode) + public void onCopyWikicodeClicked(){ + String data = "[[" + media.getFilename() + "|thumb|" + media.getDescription() + "]]"; + ClipboardManager clipboard = (ClipboardManager) getContext().getApplicationContext().getSystemService(CLIPBOARD_SERVICE); + clipboard.setPrimaryClip(ClipData.newPlainText("wikiCode", data)); + + Timber.d("Generated wikidata copy code: %s", data); + + Toast.makeText(getContext(), getString(R.string.wikicode_copied), Toast.LENGTH_SHORT).show(); + } + @OnClick(R.id.nominateDeletion) public void onDeleteButtonClicked(){ //Reviewer correct me if i have misunderstood something over here diff --git a/app/src/main/res/layout/fragment_media_detail.xml b/app/src/main/res/layout/fragment_media_detail.xml index f265bc3ea..a3d11530a 100644 --- a/app/src/main/res/layout/fragment_media_detail.xml +++ b/app/src/main/res/layout/fragment_media_detail.xml @@ -312,6 +312,15 @@ android:textStyle="bold"/> +