diff --git a/core/AndroidManifest.xml b/core/AndroidManifest.xml index 213dc79b..15c7bfd5 100644 --- a/core/AndroidManifest.xml +++ b/core/AndroidManifest.xml @@ -17,7 +17,7 @@ --> + diff --git a/core/res/menu/fragment_rssitems_cab.xml b/core/res/menu/fragment_rssitems_cab.xml index 07ca6b1a..6e0f14df 100644 --- a/core/res/menu/fragment_rssitems_cab.xml +++ b/core/res/menu/fragment_rssitems_cab.xml @@ -20,24 +20,25 @@ android:id="@+id/action_addall" android:icon="?attr/ic_action_new" android:showAsAction="always" - android:title="@string/action_addall" /> - + android:title="@string/action_addall"/> - + android:title="@string/action_showdetails"/> - + android:title="@string/action_openwebsite"/> - - + android:title="@string/action_useassearch"/> + + + \ No newline at end of file diff --git a/core/res/values/strings.xml b/core/res/values/strings.xml index cb57b27a..eaa7d429 100644 --- a/core/res/values/strings.xml +++ b/core/res/values/strings.xml @@ -61,6 +61,7 @@ High Remote play in VLC Download using FTP(S) + Copy to clipboard Show details Open website Use as new search diff --git a/core/src/org/transdroid/core/gui/DetailsFragment.java b/core/src/org/transdroid/core/gui/DetailsFragment.java index 7dbc940c..b17d0d57 100644 --- a/core/src/org/transdroid/core/gui/DetailsFragment.java +++ b/core/src/org/transdroid/core/gui/DetailsFragment.java @@ -52,6 +52,9 @@ import org.transdroid.daemon.TorrentFile; import android.annotation.SuppressLint; import android.app.Fragment; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; import android.content.Intent; import android.net.Uri; import android.view.ActionMode; @@ -472,6 +475,20 @@ public class DetailsFragment extends Fragment implements OnTrackersUpdatedListen mode.finish(); return true; + } else if (itemId == R.id.action_copytoclipboard) { + + StringBuilder names = new StringBuilder(); + for (int f = 0; f < checked.size(); f++) { + if (f != 0) + names.append("\n"); + names.append(checked.get(f).getName()); + } + ClipboardManager clipboardManager = (ClipboardManager) getActivity().getSystemService( + Context.CLIPBOARD_SERVICE); + clipboardManager.setPrimaryClip(ClipData.newPlainText("Transdroid", names.toString())); + mode.finish(); + return true; + } else { Priority priority = Priority.Off; if (itemId == R.id.action_priority_low) diff --git a/core/src/org/transdroid/core/gui/rss/RssitemsFragment.java b/core/src/org/transdroid/core/gui/rss/RssitemsFragment.java index 8df4dbd9..5688a9fa 100644 --- a/core/src/org/transdroid/core/gui/rss/RssitemsFragment.java +++ b/core/src/org/transdroid/core/gui/rss/RssitemsFragment.java @@ -38,6 +38,9 @@ import android.app.Dialog; import android.app.DialogFragment; import android.app.Fragment; import android.app.SearchManager; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; @@ -146,6 +149,7 @@ public class RssitemsFragment extends Fragment { int itemId = item.getItemId(); if (itemId == R.id.action_addall) { + // Start an Intent that adds multiple items at once, by supplying the urls and titles as string array // extras and setting the Intent action to ADD_MULTIPLE Intent intent = new Intent("org.transdroid.ADD_MULTIPLE"); @@ -160,7 +164,23 @@ public class RssitemsFragment extends Fragment { startActivity(intent); mode.finish(); return true; + + } else if (itemId == R.id.action_copytoclipboard) { + + StringBuilder names = new StringBuilder(); + for (int f = 0; f < checked.size(); f++) { + if (f != 0) + names.append("\n"); + names.append(checked.get(f).getTitle()); + } + ClipboardManager clipboardManager = (ClipboardManager) getActivity().getSystemService( + Context.CLIPBOARD_SERVICE); + clipboardManager.setPrimaryClip(ClipData.newPlainText("Transdroid", names.toString())); + mode.finish(); + return true; + } else { + // The other items only operate on one (the first) selected item if (checked.size() < 1) return false; @@ -190,7 +210,9 @@ public class RssitemsFragment extends Fragment { search.putExtra(SearchManager.QUERY, first.getTitle()); startActivity(search); } - return false; + mode.finish(); + return true; + } } diff --git a/full/AndroidManifest.xml b/full/AndroidManifest.xml index b76c25d4..cc02f828 100644 --- a/full/AndroidManifest.xml +++ b/full/AndroidManifest.xml @@ -18,7 +18,7 @@