From bbb4b2c36eec386aec3a385b059958e5ea013582 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 12 Mar 2012 12:02:46 +0300 Subject: add copy article text to combined mode article context menu (refs #437) --- src/org/fox/ttrss/MainActivity.java | 32 +++++++++++++++++++++----------- src/org/fox/ttrss/OfflineActivity.java | 10 ++++++++-- 2 files changed, 29 insertions(+), 13 deletions(-) (limited to 'src/org') diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java index a4da377c..70976e65 100644 --- a/src/org/fox/ttrss/MainActivity.java +++ b/src/org/fox/ttrss/MainActivity.java @@ -1818,19 +1818,29 @@ public class MainActivity extends FragmentActivity implements OnlineServices { .findFragmentById(R.id.cats_fragment); switch (item.getItemId()) { - case R.id.article_link_save: - if (m_selectedArticle != null) { - if (android.os.Build.VERSION.SDK_INT < 11) { - @SuppressWarnings("deprecation") - android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(CLIPBOARD_SERVICE); - clipboard.setText(m_selectedArticle.link); - } else { - android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(CLIPBOARD_SERVICE); - clipboard.setText(m_selectedArticle.link); + case R.id.article_link_copy: + if (true) { + Article article = null; + + if (m_selectedArticle != null) { + article = m_selectedArticle; + } else if (info != null) { + article = hf.getArticleAtPosition(info.position); } - Toast toast = Toast.makeText(MainActivity.this, R.string.text_copied_to_clipboard, Toast.LENGTH_SHORT); - toast.show(); + if (article != null) { + if (android.os.Build.VERSION.SDK_INT < 11) { + @SuppressWarnings("deprecation") + android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(CLIPBOARD_SERVICE); + clipboard.setText(article.link); + } else { + android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(CLIPBOARD_SERVICE); + clipboard.setText(article.link); + } + + Toast toast = Toast.makeText(MainActivity.this, R.string.text_copied_to_clipboard, Toast.LENGTH_SHORT); + toast.show(); + } } return true; case R.id.article_link_share: diff --git a/src/org/fox/ttrss/OfflineActivity.java b/src/org/fox/ttrss/OfflineActivity.java index 90299487..a67f87a5 100644 --- a/src/org/fox/ttrss/OfflineActivity.java +++ b/src/org/fox/ttrss/OfflineActivity.java @@ -854,9 +854,15 @@ public class OfflineActivity extends FragmentActivity implements .findFragmentById(R.id.feeds_fragment); switch (item.getItemId()) { - case R.id.article_link_save: + case R.id.article_link_copy: if (m_selectedArticleId != 0) { - Cursor article = getArticleById(m_selectedArticleId); + Cursor article = null; + + if (m_selectedArticleId != 0) { + article = getArticleById(m_selectedArticleId); + } else if (info != null) { + article = hf.getArticleAtPosition(info.position); + } if (article != null) { if (android.os.Build.VERSION.SDK_INT < 11) { -- cgit v1.2.3