summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/offline/OfflineArticleFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/fox/ttrss/offline/OfflineArticleFragment.java')
-rw-r--r--src/org/fox/ttrss/offline/OfflineArticleFragment.java30
1 files changed, 25 insertions, 5 deletions
diff --git a/src/org/fox/ttrss/offline/OfflineArticleFragment.java b/src/org/fox/ttrss/offline/OfflineArticleFragment.java
index a35982d0..ad148257 100644
--- a/src/org/fox/ttrss/offline/OfflineArticleFragment.java
+++ b/src/org/fox/ttrss/offline/OfflineArticleFragment.java
@@ -30,6 +30,7 @@ import android.util.TypedValue;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.GestureDetector;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
@@ -174,11 +175,30 @@ public class OfflineArticleFragment extends Fragment {
comments.setVisibility(View.GONE);
}
- WebView web = (WebView)view.findViewById(R.id.content);
+ final WebView web = (WebView)view.findViewById(R.id.content);
if (web != null) {
- registerForContextMenu(web);
+ web.setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
+ HitTestResult result = ((WebView)v).getHitTestResult();
+
+ if (result != null && (result.getType() == HitTestResult.IMAGE_TYPE || result.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE)) {
+ registerForContextMenu(web);
+ m_activity.openContextMenu(web);
+ unregisterForContextMenu(web);
+ return true;
+ } else {
+ if (m_activity.isCompatMode()) {
+ KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
+ shiftPressEvent.dispatch(web);
+ }
+
+ return false;
+ }
+ }
+ });
web.setWebChromeClient(new WebChromeClient() {
@Override
@@ -260,9 +280,9 @@ public class OfflineArticleFragment extends Fragment {
articleContent = doc.toString();
}
- String align = m_prefs.getBoolean("justify_article_text", true) ? "text-align : justified" : "";
-
- cssOverride += "body { "+align+" } ";
+ if (m_prefs.getBoolean("justify_article_text", true)) {
+ cssOverride += "body { text-align : justify; } ";
+ }
switch (Integer.parseInt(m_prefs.getString("font_size", "0"))) {
case 0: