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() {