diff options
author | Andrew Dolgov <[email protected]> | 2012-03-12 12:02:46 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2012-03-12 12:02:46 +0300 |
commit | bbb4b2c36eec386aec3a385b059958e5ea013582 (patch) | |
tree | 512762fd845c5bbd81956a3ca85bc48acfa630ac | |
parent | bca49799354a6fc68a49f0c53b7111c2f466bc92 (diff) |
add copy article text to combined mode article context menu (refs #437)
-rw-r--r-- | res/menu/article_link_context_menu.xml | 2 | ||||
-rw-r--r-- | res/menu/headlines_menu.xml | 5 | ||||
-rw-r--r-- | src/org/fox/ttrss/MainActivity.java | 32 | ||||
-rw-r--r-- | src/org/fox/ttrss/OfflineActivity.java | 10 |
4 files changed, 35 insertions, 14 deletions
diff --git a/res/menu/article_link_context_menu.xml b/res/menu/article_link_context_menu.xml index c20622a1..21fa3f76 100644 --- a/res/menu/article_link_context_menu.xml +++ b/res/menu/article_link_context_menu.xml @@ -6,7 +6,7 @@ android:title="@string/share_article"/> <item - android:id="@+id/article_link_save" + android:id="@+id/article_link_copy" android:showAsAction="" android:title="@string/article_link_copy"/> diff --git a/res/menu/headlines_menu.xml b/res/menu/headlines_menu.xml index 524004b4..d9c6b7be 100644 --- a/res/menu/headlines_menu.xml +++ b/res/menu/headlines_menu.xml @@ -22,6 +22,11 @@ android:showAsAction="" android:title="@string/share_article"/> + <item + android:id="@+id/article_link_copy" + android:showAsAction="" + android:title="@string/article_link_copy"/> + <item android:id="@+id/catchup_above" android:showAsAction="" 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) { |