diff --git a/ChangeLog b/ChangeLog
index 1ee56197b..b3bc1aac4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+===== 0.99.12 (Feb ??, 2011) =====
+* Added support for more dictionaries (by Steffen Siebert)
+* Option 'show status bar when menu becomes visible'
+
===== 0.99.11 (Feb 01, 2011) =====
* Galician translation has been added (by Miguel Anxo Bouzada)
* Czech translation has been updated (by Marek Pavelka)
diff --git a/assets/resources/application/cs.xml b/assets/resources/application/cs.xml
index 8da55fbd9..02bb50383 100644
--- a/assets/resources/application/cs.xml
+++ b/assets/resources/application/cs.xml
@@ -240,6 +240,10 @@
+
+
+
+
diff --git a/assets/resources/application/de.xml b/assets/resources/application/de.xml
index 3e7ac0648..a5f4ef6ae 100644
--- a/assets/resources/application/de.xml
+++ b/assets/resources/application/de.xml
@@ -241,6 +241,10 @@
+
+
+
+
diff --git a/assets/resources/application/en.xml b/assets/resources/application/en.xml
index 1fb978e04..883301de5 100644
--- a/assets/resources/application/en.xml
+++ b/assets/resources/application/en.xml
@@ -239,6 +239,10 @@
+
+
+
+
diff --git a/assets/resources/application/fr.xml b/assets/resources/application/fr.xml
index 8eec3b7fa..f9bd3390f 100644
--- a/assets/resources/application/fr.xml
+++ b/assets/resources/application/fr.xml
@@ -243,6 +243,10 @@
+
+
+
+
diff --git a/assets/resources/application/gl.xml b/assets/resources/application/gl.xml
index b51d55dd7..9fabc7324 100644
--- a/assets/resources/application/gl.xml
+++ b/assets/resources/application/gl.xml
@@ -240,6 +240,10 @@
+
+
+
+
diff --git a/assets/resources/application/hu.xml b/assets/resources/application/hu.xml
index 0bd210456..9a514b903 100644
--- a/assets/resources/application/hu.xml
+++ b/assets/resources/application/hu.xml
@@ -240,6 +240,10 @@
+
+
+
+
diff --git a/assets/resources/application/it.xml b/assets/resources/application/it.xml
index a650d9c2b..677225789 100644
--- a/assets/resources/application/it.xml
+++ b/assets/resources/application/it.xml
@@ -240,6 +240,10 @@
+
+
+
+
diff --git a/assets/resources/application/nl.xml b/assets/resources/application/nl.xml
index ad6459ffc..937e00481 100644
--- a/assets/resources/application/nl.xml
+++ b/assets/resources/application/nl.xml
@@ -240,6 +240,10 @@
+
+
+
+
diff --git a/assets/resources/application/ru.xml b/assets/resources/application/ru.xml
index fd9dda42c..b6b34d4da 100644
--- a/assets/resources/application/ru.xml
+++ b/assets/resources/application/ru.xml
@@ -239,6 +239,10 @@
+
+
+
+
diff --git a/assets/resources/application/uk.xml b/assets/resources/application/uk.xml
index 0472bfed9..cd76fe5b3 100644
--- a/assets/resources/application/uk.xml
+++ b/assets/resources/application/uk.xml
@@ -240,6 +240,10 @@
+
+
+
+
diff --git a/assets/resources/application/vi.xml b/assets/resources/application/vi.xml
index c85ffe8ab..c4ecfcbbf 100644
--- a/assets/resources/application/vi.xml
+++ b/assets/resources/application/vi.xml
@@ -240,6 +240,10 @@
+
+
+
+
diff --git a/assets/resources/application/zh.xml b/assets/resources/application/zh.xml
index d67bc2f58..60248ba65 100644
--- a/assets/resources/application/zh.xml
+++ b/assets/resources/application/zh.xml
@@ -240,6 +240,10 @@
+
+
+
+
diff --git a/src/org/geometerplus/android/fbreader/FBReader.java b/src/org/geometerplus/android/fbreader/FBReader.java
index ea7f75c22..a04c4af2a 100644
--- a/src/org/geometerplus/android/fbreader/FBReader.java
+++ b/src/org/geometerplus/android/fbreader/FBReader.java
@@ -25,7 +25,9 @@ import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
+import android.view.Menu;
import android.view.WindowManager;
+import android.view.Window;
import android.widget.RelativeLayout;
import org.geometerplus.zlibrary.core.filesystem.ZLFile;
@@ -102,10 +104,36 @@ public final class FBReader extends ZLAndroidActivity {
fbReader.addAction(ActionCode.CANCEL, new CancelAction(this, fbReader));
}
+ @Override
+ public boolean onPrepareOptionsMenu(Menu menu) {
+ final ZLAndroidApplication application = ZLAndroidApplication.Instance();
+ if (!application.ShowStatusBarOption.getValue() &&
+ application.ShowStatusBarWhenMenuIsActiveOption.getValue()) {
+ final Window window = getWindow();
+ final WindowManager.LayoutParams attrs = window.getAttributes();
+ attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN;
+ window.setAttributes(attrs);
+ }
+ return super.onPrepareOptionsMenu(menu);
+ }
+
+ @Override
+ public void onOptionsMenuClosed(Menu menu) {
+ super.onOptionsMenuClosed(menu);
+ final ZLAndroidApplication application = ZLAndroidApplication.Instance();
+ if (!application.ShowStatusBarOption.getValue() &&
+ application.ShowStatusBarWhenMenuIsActiveOption.getValue()) {
+ final Window window = getWindow();
+ final WindowManager.LayoutParams attrs = window.getAttributes();
+ attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
+ window.setAttributes(attrs);
+ }
+ }
+
@Override
protected void onNewIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
- final String pattern = intent.getStringExtra(SearchManager.QUERY);
+ final String pattern = intent.getStringExtra(SearchManager.QUERY);
final Handler successHandler = new Handler() {
public void handleMessage(Message message) {
ourTextSearchPanel.show(true);
diff --git a/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java b/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java
index fcd429fb0..ffdc32fd5 100644
--- a/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java
+++ b/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java
@@ -51,9 +51,27 @@ public class PreferenceActivity extends ZLPreferenceActivity {
}
directoriesScreen.addOption(Paths.WallpapersDirectoryOption(), "wallpapers");
+ final ZLPreferenceSet statusBarPreferences = new ZLPreferenceSet();
final Screen appearanceScreen = createPreferenceScreen("appearance");
appearanceScreen.addOption(androidApp.AutoOrientationOption, "autoOrientation");
- appearanceScreen.addOption(androidApp.ShowStatusBarOption, "showStatusBar");
+ appearanceScreen.addPreference(
+ new ZLBooleanPreference(
+ this, androidApp.ShowStatusBarOption, appearanceScreen.Resource, "showStatusBar"
+ ) {
+ @Override
+ public void onClick() {
+ super.onClick();
+ statusBarPreferences.setEnabled(!isChecked());
+ }
+ }
+ );
+ statusBarPreferences.add(
+ appearanceScreen.addOption(
+ androidApp.ShowStatusBarWhenMenuIsActiveOption,
+ "showStatusBarWhenMenuIsActive"
+ )
+ );
+ statusBarPreferences.setEnabled(!androidApp.ShowStatusBarOption.getValue());
final Screen textScreen = createPreferenceScreen("text");
final ZLTextStyleCollection collection = ZLTextStyleCollection.Instance();
diff --git a/src/org/geometerplus/zlibrary/ui/android/library/ZLAndroidApplication.java b/src/org/geometerplus/zlibrary/ui/android/library/ZLAndroidApplication.java
index 418abfb1b..c5f212990 100644
--- a/src/org/geometerplus/zlibrary/ui/android/library/ZLAndroidApplication.java
+++ b/src/org/geometerplus/zlibrary/ui/android/library/ZLAndroidApplication.java
@@ -35,6 +35,7 @@ public class ZLAndroidApplication extends Application {
public final ZLBooleanOption AutoOrientationOption = new ZLBooleanOption("LookNFeel", "AutoOrientation", false);
public final ZLBooleanOption ShowStatusBarOption = new ZLBooleanOption("LookNFeel", "ShowStatusBar", hasNoHardwareMenuButton());
+ public final ZLBooleanOption ShowStatusBarWhenMenuIsActiveOption = new ZLBooleanOption("LookNFeel", "ShowStatusBarWithMenu", false);
public final ZLIntegerRangeOption BatteryLevelToTurnScreenOffOption = new ZLIntegerRangeOption("LookNFeel", "BatteryLevelToTurnScreenOff", 0, 100, 50);
public final ZLBooleanOption DontTurnScreenOffDuringChargingOption = new ZLBooleanOption("LookNFeel", "DontTurnScreenOffDuringCharging", true);
public final ZLIntegerRangeOption ScreenBrightnessLevelOption = new ZLIntegerRangeOption("LookNFeel", "ScreenBrightnessLevel", 0, 100, 0);