Add theme setting

This prepares that different themes can be added. Currently light and
dark will just use the default OK theme.
This commit is contained in:
Thialfihar
2015-06-25 15:17:32 +02:00
parent e4b113701c
commit e51eff4050
11 changed files with 123 additions and 12 deletions

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="KeychainTheme" parent="KeychainTheme.Base">
<style name="LightTheme" parent="LightBaseTheme">
<item name="android:windowTranslucentStatus">true</item>
<!-- enable window content transitions -->
@@ -12,4 +12,17 @@
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
</resources>
<style name="DarkTheme" parent="DarkBaseTheme">
<item name="android:windowTranslucentStatus">true</item>
<!-- enable window content transitions -->
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
</resources>

View File

@@ -61,4 +61,12 @@
<item>@string/key_size_custom</item>
</string-array>
<string-array name="theme_entries" translatable="false">
<item>@string/theme_dark</item>
<item>@string/theme_light</item>
</string-array>
<string-array name="theme_values" translatable="false">
<item>"dark"</item>
<item>"ligh"</item>
</string-array>
</resources>

View File

@@ -50,6 +50,7 @@
<string name="section_cloud_search">"Cloud search"</string>
<string name="section_passphrase_cache">"Password/PIN Handling"</string>
<string name="section_proxy_settings">"Proxy Settings"</string>
<string name="section_gui">"Interface"</string>
<string name="section_certify">"Confirm"</string>
<string name="section_actions">"Actions"</string>
<string name="section_share_key">"Key"</string>
@@ -167,6 +168,7 @@
<string name="label_verify_keyserver">"Verify keyserver"</string>
<string name="label_enter_keyserver_url">"Enter keyserver URL"</string>
<string name="label_keyserver_dialog_delete">"Delete keyserver"</string>
<string name="label_theme">"Theme"</string>
<string name="pref_keyserver">"OpenPGP keyservers"</string>
<string name="pref_keyserver_summary">"Search keys on selected OpenPGP keyservers (HKP protocol)"</string>
@@ -245,6 +247,8 @@
<string name="filemanager_title_open">"Open…"</string>
<string name="error">"Error"</string>
<string name="error_message">"Error: %s"</string>
<string name="theme_dark">"Dark"</string>
<string name="theme_light">"Light"</string>
<!-- key flags -->
<string name="flag_certify">"Certify"</string>

View File

@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="KeychainTheme" parent="KeychainTheme.Base" />
<style name="KeychainTheme.Base" parent="Theme.AppCompat.Light">
<style name="LightBaseTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
@@ -16,6 +14,25 @@
<item name="searchViewStyle">@style/MySearchViewStyle</item>
</style>
<style name="DarkBaseTheme" parent="Theme.AppCompat">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<!-- remove actionbar and title, we use toolbar! -->
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<!-- multi selection should overlay Toolbar! http://stackoverflow.com/a/26450875 -->
<item name="windowActionModeOverlay">true</item>
<item name="searchViewStyle">@style/MySearchViewStyle</item>
</style>
<style name="LightTheme" parent="LightBaseTheme">
</style>
<style name="DarkTheme" parent="DarkBaseTheme">
</style>
<!-- http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html -->
<style name="MySearchViewStyle" parent="Widget.AppCompat.SearchView">
<!-- Background for the search query section (e.g. EditText) -->
@@ -40,4 +57,4 @@
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
</resources>

View File

@@ -0,0 +1,10 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:persistent="false"
android:key="theme"
android:title="@string/label_theme"
android:entries="@array/theme_entries"
android:entryValues="@array/theme_values"
android:dialogTitle="@string/label_theme" />
</PreferenceScreen>

View File

@@ -1,4 +1,7 @@
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
<header
android:fragment="org.sufficientlysecure.keychain.ui.SettingsActivity$GuiPrefsFragment"
android:title="@string/section_gui" />
<header
android:fragment="org.sufficientlysecure.keychain.ui.SettingsActivity$CloudSearchPrefsFragment"
android:title="@string/section_cloud_search" />