summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/menu/activity_view_comic.xml6
-rw-r--r--res/values/strings.xml7
-rw-r--r--src/org/fox/ttcomics/ViewComicActivity.java27
3 files changed, 36 insertions, 4 deletions
diff --git a/res/menu/activity_view_comic.xml b/res/menu/activity_view_comic.xml
index 898dc01..ebef4e1 100644
--- a/res/menu/activity_view_comic.xml
+++ b/res/menu/activity_view_comic.xml
@@ -7,7 +7,7 @@
<item android:id="@+id/menu_go_location"
android:title="@string/menu_go_location"
android:showAsAction="never" />
-
+
<item android:id="@+id/menu_sync_location"
android:title="@string/menu_sync_location"
android:showAsAction="never" />
@@ -16,5 +16,9 @@
android:title="@string/menu_share"
android:icon="@android:drawable/ic_menu_share"
android:showAsAction="ifRoom" />
+
+ <item android:id="@+id/menu_toggle_orientation_lock"
+ android:title="@string/menu_toggle_orientation_lock"
+ android:showAsAction="never" />
</menu>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8a5788d..30530dc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2,10 +2,10 @@
<string name="app_name">Pow! Comics Reader</string>
<string name="hello_world">Hello world!</string>
- <string name="menu_settings">Preferences</string>
+ <string name="menu_settings">Settings</string>
<string name="menu_go_location">Go to</string>
<string name="title_activity_main">Pow! Comics Reader</string>
- <string name="title_activity_preferences">Preferences</string>
+ <string name="title_activity_preferences">Settings</string>
<string name="prefs_comics_directory">Comics directory</string>
<string name="prefs_general">General</string>
<string name="prefs_dim_status_bar">Dim status bar</string>
@@ -15,7 +15,7 @@
<string name="tab_unread">Unread</string>
<string name="tab_read">Read</string>
<string name="dialog_need_prefs_message">Please configure base directory for comics archives.</string>
- <string name="dialog_need_prefs_preferences">Preferences</string>
+ <string name="dialog_need_prefs_preferences">Settings</string>
<string name="cancel">Cancel</string>
<string name="comics_directory_default">/mnt/sdcard/Comics</string>
<string name="prefs_reading">Reading</string>
@@ -54,4 +54,5 @@
<string name="open_parent">Open parent</string>
<string name="prefs_enable_rar_archives">Enable RAR archives</string>
<string name="prefs_enable_rar_summary">Using RAR (CBR) files is not recommended because of underlying RAR library issues. Enable at your own risk.</string>
+ <string name="menu_toggle_orientation_lock">(Un)lock orientation</string>
</resources> \ No newline at end of file
diff --git a/src/org/fox/ttcomics/ViewComicActivity.java b/src/org/fox/ttcomics/ViewComicActivity.java
index 48bfa9e..cb17495 100644
--- a/src/org/fox/ttcomics/ViewComicActivity.java
+++ b/src/org/fox/ttcomics/ViewComicActivity.java
@@ -12,6 +12,8 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
@@ -33,6 +35,7 @@ public class ViewComicActivity extends CommonActivity {
private String m_fileName;
private String m_tmpFileName;
private boolean m_fullScreen = false;
+ private boolean m_orientationLocked = false;
@SuppressLint("NewApi")
@Override
@@ -54,8 +57,11 @@ public class ViewComicActivity extends CommonActivity {
} else {
m_fileName = savedInstanceState.getString("fileName");
m_tmpFileName = savedInstanceState.getString("tmpFileName");
+ m_orientationLocked = savedInstanceState.getBoolean("orientationLocked");
}
+ setOrientationLock(m_orientationLocked);
+
if (!isCompatMode()) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@@ -91,6 +97,7 @@ public class ViewComicActivity extends CommonActivity {
out.putString("fileName", m_fileName);
out.putString("tmpFileName", m_tmpFileName);
+ out.putBoolean("orientationLocked", m_orientationLocked);
}
@Override
@@ -162,10 +169,30 @@ public class ViewComicActivity extends CommonActivity {
super.onActivityResult(requestCode, resultCode, intent);
}
+ private void setOrientationLock(boolean locked) {
+ if (locked) {
+ int currentOrientation = getResources().getConfiguration().orientation;
+
+ if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
+ }
+ else {
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
+ }
+ } else {
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
+ }
+
+ m_orientationLocked = locked;
+ }
+
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_share:
shareComic();
+ return true;
+ case R.id.menu_toggle_orientation_lock:
+ setOrientationLock(!m_orientationLocked);
return true;
case R.id.menu_sync_location:
m_syncClient.getPosition(sha1(new File(m_fileName).getName()), new SyncClient.PositionReceivedListener() {