summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-03-12 12:02:46 +0300
committerAndrew Dolgov <[email protected]>2012-03-12 12:02:46 +0300
commitbbb4b2c36eec386aec3a385b059958e5ea013582 (patch)
tree512762fd845c5bbd81956a3ca85bc48acfa630ac
parentbca49799354a6fc68a49f0c53b7111c2f466bc92 (diff)
add copy article text to combined mode article context menu (refs #437)
-rw-r--r--res/menu/article_link_context_menu.xml2
-rw-r--r--res/menu/headlines_menu.xml5
-rw-r--r--src/org/fox/ttrss/MainActivity.java32
-rw-r--r--src/org/fox/ttrss/OfflineActivity.java10
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) {