aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src
diff options
context:
space:
mode:
authoruberspot <onexemailx@gmail.com>2014-03-11 00:42:03 +0200
committeruberspot <onexemailx@gmail.com>2014-03-11 00:46:25 +0200
commit3cad8b6248d136f21ef4bc4697feada299c8a58e (patch)
tree935078b1bb4c0ece6b455be3a3c03989c1d87f0e /OpenPGP-Keychain/src
parent612ad9e6b3ac10d453d30aac334c45e6455e5aef (diff)
downloadopen-keychain-3cad8b6248d136f21ef4bc4697feada299c8a58e.tar.gz
open-keychain-3cad8b6248d136f21ef4bc4697feada299c8a58e.tar.bz2
open-keychain-3cad8b6248d136f21ef4bc4697feada299c8a58e.zip
Appropriate save Icon in EditKeyActivity
Diffstat (limited to 'OpenPGP-Keychain/src')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java60
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java2
-rw-r--r--OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.pngbin0 -> 398 bytes
-rw-r--r--OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.pngbin0 -> 359 bytes
-rw-r--r--OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.pngbin0 -> 451 bytes
-rw-r--r--OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.pngbin0 -> 500 bytes
-rw-r--r--OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml27
-rw-r--r--OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml29
-rw-r--r--OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml36
9 files changed, 153 insertions, 1 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java
index b55075e6c..6aa8e7d74 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java
@@ -113,4 +113,64 @@ public class ActionBarHelper {
actionBar.setCustomView(customActionBarView);
}
+ /**
+ * Sets custom view on ActionBar for Save activities
+ *
+ * @param actionBar
+ * @param saveText
+ * @param saveOnClickListener
+ */
+ public static void setSaveView(ActionBar actionBar, int saveText,
+ OnClickListener saveOnClickListener) {
+ // Inflate a "Save" custom action bar view to serve as the "Up" affordance.
+ final LayoutInflater inflater = (LayoutInflater) actionBar.getThemedContext()
+ .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
+ final View customActionBarView = inflater
+ .inflate(R.layout.actionbar_custom_view_save, null);
+
+ ((TextView) customActionBarView.findViewById(R.id.actionbar_save_text)).setText(saveText);
+ customActionBarView.findViewById(R.id.actionbar_save).setOnClickListener(
+ saveOnClickListener);
+
+ // Show the custom action bar view and hide the normal Home icon and title.
+ actionBar.setDisplayShowTitleEnabled(false);
+ actionBar.setDisplayShowHomeEnabled(false);
+ actionBar.setDisplayShowCustomEnabled(true);
+ actionBar.setCustomView(customActionBarView);
+ }
+
+ /**
+ * Sets custom view on ActionBar for Save/Cancel activities
+ *
+ * @param actionBar
+ * @param saveText
+ * @param saveOnClickListener
+ * @param cancelText
+ * @param cancelOnClickListener
+ */
+ public static void setSaveCancelView(ActionBar actionBar, int saveText,
+ OnClickListener saveOnClickListener, int cancelText,
+ OnClickListener cancelOnClickListener) {
+
+ // Inflate a "Done"/"Cancel" custom action bar view
+ final LayoutInflater inflater = (LayoutInflater) actionBar.getThemedContext()
+ .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
+ final View customActionBarView = inflater.inflate(
+ R.layout.actionbar_custom_view_save_cancel, null);
+
+ ((TextView) customActionBarView.findViewById(R.id.actionbar_save_text)).setText(saveText);
+ customActionBarView.findViewById(R.id.actionbar_save).setOnClickListener(
+ saveOnClickListener);
+ ((TextView) customActionBarView.findViewById(R.id.actionbar_cancel_text))
+ .setText(cancelText);
+ customActionBarView.findViewById(R.id.actionbar_cancel).setOnClickListener(
+ cancelOnClickListener);
+
+ // Show the custom action bar view and hide the normal Home icon and title.
+ actionBar.setDisplayShowTitleEnabled(false);
+ actionBar.setDisplayShowHomeEnabled(false);
+ actionBar.setDisplayShowCustomEnabled(true);
+ actionBar.setCustomView(customActionBarView, new ActionBar.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
+ }
}
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
index 334fe5d3a..628f642d8 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java
@@ -250,7 +250,7 @@ public class EditKeyActivity extends ActionBarActivity {
*/
private void handleActionEditKey(Intent intent) {
// Inflate a "Done"/"Cancel" custom action bar
- ActionBarHelper.setDoneView(getSupportActionBar(), R.string.btn_save,
+ ActionBarHelper.setSaveView(getSupportActionBar(), R.string.btn_save,
new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png b/OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png
new file mode 100644
index 000000000..c4b7783cc
--- /dev/null
+++ b/OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png
Binary files differ
diff --git a/OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png b/OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png
new file mode 100644
index 000000000..61304a68c
--- /dev/null
+++ b/OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png
Binary files differ
diff --git a/OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png b/OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png
new file mode 100644
index 000000000..29c5f4d3b
--- /dev/null
+++ b/OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png
Binary files differ
diff --git a/OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png b/OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png
new file mode 100644
index 000000000..744350049
--- /dev/null
+++ b/OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png
Binary files differ
diff --git a/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml b/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml
new file mode 100644
index 000000000..f0dcf177c
--- /dev/null
+++ b/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml
@@ -0,0 +1,27 @@
+<!--
+ Copyright 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:dividerPadding="12dp"
+ android:orientation="horizontal"
+ android:divider="@drawable/abc_list_divider_holo_light"
+ android:showDividers="end" >
+
+ <include layout="@layout/actionbar_include_save_button" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml b/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml
new file mode 100644
index 000000000..ba08a7714
--- /dev/null
+++ b/OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml
@@ -0,0 +1,29 @@
+<!--
+ Copyright 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:dividerPadding="12dp"
+ android:divider="@drawable/abc_list_divider_holo_light"
+ android:orientation="horizontal"
+ android:showDividers="middle">
+
+ <include layout="@layout/actionbar_include_cancel_button" />
+
+ <include layout="@layout/actionbar_include_save_button" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml b/OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml
new file mode 100644
index 000000000..86c59dcc5
--- /dev/null
+++ b/OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml
@@ -0,0 +1,36 @@
+<!--
+ Copyright 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/actionbar_save"
+ style="@style/Widget.AppCompat.ActionButton"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1">
+
+ <TextView
+ android:id="@+id/actionbar_save_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:drawableLeft="@drawable/ic_action_save"
+ android:drawablePadding="8dp"
+ android:gravity="center_vertical"
+ android:paddingRight="20dp"
+ style="@style/Widget.AppCompat.Light.ActionBar.TabText"
+ android:text="Save (set in-code!)" />
+
+</FrameLayout> \ No newline at end of file