Commit 592e56b8 authored by Nicolas Pomepuy's avatar Nicolas Pomepuy Committed by Geoffrey Métais
Browse files

Copy URL: add a visual feedback and a proper icon

parent 3ee34559
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="20" height="20"
id="svg4682" version="1.1" inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="ic_ctx_link_normal.svg"
inkscape:export-filename="/home/corbax/Dev/android/Icons/Test 1/ic_play_normal.png"
inkscape:export-xdpi="90" inkscape:export-ydpi="90">
<defs id="defs4684" />
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0"
inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="44.8"
inkscape:cx="7.0083751" inkscape:cy="6.94558" inkscape:document-units="px"
inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="1600"
inkscape:window-height="836" inkscape:window-x="0" inkscape:window-y="27"
inkscape:window-maximized="1" inkscape:snap-bbox="true" inkscape:bbox-nodes="true"
inkscape:bbox-paths="true" inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true" inkscape:object-paths="true"
inkscape:snap-intersection-paths="true" inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="true" inkscape:snap-midpoints="true"
inkscape:snap-object-midpoints="true" inkscape:snap-center="true">
<inkscape:grid type="xygrid" id="grid3002" />
</sodipodi:namedview>
<metadata id="metadata4687">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1"
transform="translate(0,-1032.3622)">
<path style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.32731667;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 5.75,1038.6122 a 3.7499783,3.7499783 0 0 0 -3.75,3.75 3.7499783,3.7499783 0 0 0 3.75,3.75 H 9 v -1.5 H 5.75 a 2.249987,2.249987 0 0 1 -2.25,-2.25 2.249987,2.249987 0 0 1 2.25,-2.25 H 9 v -1.5 z m 5.25,0 v 1.5 h 3.25 a 2.249987,2.249987 0 0 1 2.25,2.25 2.249987,2.249987 0 0 1 -2.25,2.25 H 11 v 1.5 h 3.25 a 3.7499783,3.7499783 0 0 0 3.75,-3.75 3.7499783,3.7499783 0 0 0 -3.75,-3.75 z m -4,3 v 1.5 h 6 v -1.5 z"
id="rect6696" inkscape:connector-curvature="0" />
</g>
</svg>
<!--
~ *************************************************************************
~ ic_ctx_link_normal.xml
~ **************************************************************************
~ Copyright © 2019 VLC authors and VideoLAN
~ Author: Nicolas POMEPUY
~ This program is free software; you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation; either version 2 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope th202020202020at it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with this program; if not, write to the Free Software
~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
~ ***************************************************************************
~
~
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="38dp"
android:height="38dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="m5.75,6.25a3.75,3.75 0,0 0,-3.75 3.75,3.75 3.75,0 0,0 3.75,3.75L9,13.75v-1.5L5.75,12.25a2.25,2.25 0,0 1,-2.25 -2.25,2.25 2.25,0 0,1 2.25,-2.25L9,7.75v-1.5zM11,6.25v1.5h3.25a2.25,2.25 0,0 1,2.25 2.25,2.25 2.25,0 0,1 -2.25,2.25L11,12.25v1.5h3.25a3.75,3.75 0,0 0,3.75 -3.75,3.75 3.75,0 0,0 -3.75,-3.75zM7,9.25v1.5h6v-1.5z"
android:strokeAlpha="1"
android:strokeLineJoin="miter"
android:strokeWidth="0.32731667"
android:fillColor="#000000"
android:strokeColor="#00000000"
android:fillAlpha="1" />
</vector>
......@@ -736,4 +736,5 @@
<string name="video_group_size_dialog_text">Number of characters used to group by name</string>
<string name="video_group_size_summary">Group by %s first letters</string>
<string name="video_group_size">Group videos by name</string>
<string name="url_copied_to_clipboard">Url copied to clipboard</string>
</resources>
......@@ -107,7 +107,7 @@ class ContextSheet : VLCBottomSheetDialogFragment() {
if (flags and CTX_REMOVE_FROM_PLAYLIST != 0) add(Simple(CTX_REMOVE_FROM_PLAYLIST, getString(R.string.remove), R.drawable.ic_ctx_remove_from_playlist_normal))
if (flags and CTX_STOP_AFTER_THIS != 0) add(Simple(CTX_STOP_AFTER_THIS, getString(R.string.stop_after_this), R.drawable.ic_ctx_stop_after_this))
if (flags and CTX_RENAME != 0) add(Simple(CTX_RENAME, getString(R.string.rename), R.drawable.ic_ctx_edit_normal))
if (flags and CTX_COPY != 0) add(Simple(CTX_COPY, getString(R.string.copy_to_clipboard), R.drawable.ic_ctx_edit_normal))
if (flags and CTX_COPY != 0) add(Simple(CTX_COPY, getString(R.string.copy_to_clipboard), R.drawable.ic_ctx_link_normal))
if (flags and CTX_DELETE != 0) add(Simple(CTX_DELETE, getString(R.string.delete), R.drawable.ic_ctx_delete_normal))
}
......
......@@ -40,6 +40,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.snackbar.Snackbar
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.ObsoleteCoroutinesApi
import kotlinx.coroutines.channels.actor
......@@ -182,6 +183,7 @@ class MRLPanelFragment : Fragment(), View.OnKeyListener, TextView.OnEditorAction
CTX_COPY -> {
val media = viewModel.dataset.value[position]
requireContext().copy(media.title, media.location)
Snackbar.make(requireActivity().window.decorView.findViewById<View>(android.R.id.content), R.string.url_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment