diff --git a/assets/resources/application/en.xml b/assets/resources/application/en.xml index 6f941f34c..f38d89b63 100644 --- a/assets/resources/application/en.xml +++ b/assets/resources/application/en.xml @@ -713,6 +713,10 @@ + + + + diff --git a/assets/resources/application/en_US.xml b/assets/resources/application/en_US.xml index 22bce2b03..b4458f0bb 100644 --- a/assets/resources/application/en_US.xml +++ b/assets/resources/application/en_US.xml @@ -713,6 +713,10 @@ + + + + diff --git a/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java b/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java index 564efa7ee..0bfb423d8 100644 --- a/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java +++ b/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java @@ -558,6 +558,7 @@ public class PreferenceActivity extends ZLPreferenceActivity { footerPreferences.add(statusLineScreen.addOption(footerOptions.ShowTOCMarks, "tocMarks")); footerPreferences.add(statusLineScreen.addOption(footerOptions.ShowProgress, "showProgress")); + footerPreferences.add(statusLineScreen.addOption(footerOptions.ShowProgressAsPercentage, "showProgressAsPercentage")); footerPreferences.add(statusLineScreen.addOption(footerOptions.ShowClock, "showClock")); footerPreferences.add(statusLineScreen.addOption(footerOptions.ShowBattery, "showBattery")); footerPreferences.add(statusLineScreen.addPreference(new FontPreference( diff --git a/src/org/geometerplus/fbreader/fbreader/FBView.java b/src/org/geometerplus/fbreader/fbreader/FBView.java index 5fc182d1e..98b748403 100644 --- a/src/org/geometerplus/fbreader/fbreader/FBView.java +++ b/src/org/geometerplus/fbreader/fbreader/FBView.java @@ -532,9 +532,13 @@ public final class FBView extends ZLTextView { final StringBuilder info = new StringBuilder(); final FooterOptions footerOptions = myViewOptions.getFooterOptions(); if (footerOptions.ShowProgress.getValue()) { - info.append(pagePosition.Current); - info.append("/"); - info.append(pagePosition.Total); + if (footerOptions.ShowProgressAsPercentage.getValue()) { + info.append(pagePosition.getPercentageString()); + } else { + info.append(pagePosition.Current); + info.append("/"); + info.append(pagePosition.Total); + } } if (footerOptions.ShowClock.getValue()) { if (info.length() > 0) { @@ -546,6 +550,7 @@ public final class FBView extends ZLTextView { if (info.length() > 0) { info.append(separator); } + info.append("⚡ "); info.append(myReader.getBatteryLevel()); info.append("%"); } diff --git a/src/org/geometerplus/fbreader/fbreader/options/FooterOptions.java b/src/org/geometerplus/fbreader/fbreader/options/FooterOptions.java index 7134dc284..d11c06398 100644 --- a/src/org/geometerplus/fbreader/fbreader/options/FooterOptions.java +++ b/src/org/geometerplus/fbreader/fbreader/options/FooterOptions.java @@ -26,6 +26,7 @@ public class FooterOptions { public final ZLBooleanOption ShowClock; public final ZLBooleanOption ShowBattery; public final ZLBooleanOption ShowProgress; + public final ZLBooleanOption ShowProgressAsPercentage; public final ZLStringOption Font; public FooterOptions() { @@ -33,6 +34,7 @@ public class FooterOptions { ShowClock = new ZLBooleanOption("Options", "ShowClockInFooter", true); ShowBattery = new ZLBooleanOption("Options", "ShowBatteryInFooter", true); ShowProgress = new ZLBooleanOption("Options", "ShowProgressInFooter", true); + ShowProgressAsPercentage = new ZLBooleanOption("Options", "ShowProgressInFooterAsPercentage", false); Font = new ZLStringOption("Options", "FooterFont", "Droid Sans"); } } diff --git a/src/org/geometerplus/zlibrary/text/view/ZLTextView.java b/src/org/geometerplus/zlibrary/text/view/ZLTextView.java index 8d2bb6fa2..b0f0f4957 100644 --- a/src/org/geometerplus/zlibrary/text/view/ZLTextView.java +++ b/src/org/geometerplus/zlibrary/text/view/ZLTextView.java @@ -706,6 +706,11 @@ public abstract class ZLTextView extends ZLTextViewBase { Current = current; Total = total; } + + public String getPercentageString() { + float percentage = ((float) Current / Total) * 100; + return String.format("%.0f%%", percentage); + } } public final synchronized PagePosition pagePosition() {