diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-03-10 23:48:53 +0100 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-03-10 23:48:53 +0100 |
commit | 3f5de1eac6633f906a7063fe7a6b6d43e9f63a24 (patch) | |
tree | 935078b1bb4c0ece6b455be3a3c03989c1d87f0e | |
parent | 612ad9e6b3ac10d453d30aac334c45e6455e5aef (diff) | |
parent | 3cad8b6248d136f21ef4bc4697feada299c8a58e (diff) | |
download | open-keychain-3f5de1eac6633f906a7063fe7a6b6d43e9f63a24.tar.gz open-keychain-3f5de1eac6633f906a7063fe7a6b6d43e9f63a24.tar.bz2 open-keychain-3f5de1eac6633f906a7063fe7a6b6d43e9f63a24.zip |
Merge pull request #390 from uberspot/master
Appropriate save Icon in EditKeyActivity fixes #382
-rw-r--r-- | OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/helper/ActionBarHelper.java | 60 | ||||
-rw-r--r-- | OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyActivity.java | 2 | ||||
-rw-r--r-- | OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png | bin | 0 -> 398 bytes | |||
-rw-r--r-- | OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png | bin | 0 -> 359 bytes | |||
-rw-r--r-- | OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png | bin | 0 -> 451 bytes | |||
-rw-r--r-- | OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png | bin | 0 -> 500 bytes | |||
-rw-r--r-- | OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save.xml | 27 | ||||
-rw-r--r-- | OpenPGP-Keychain/src/main/res/layout/actionbar_custom_view_save_cancel.xml | 29 | ||||
-rw-r--r-- | OpenPGP-Keychain/src/main/res/layout/actionbar_include_save_button.xml | 36 |
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 Binary files differnew file mode 100644 index 000000000..c4b7783cc --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/drawable-hdpi/ic_action_save.png 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 Binary files differnew file mode 100644 index 000000000..61304a68c --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/drawable-mdpi/ic_action_save.png 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 Binary files differnew file mode 100644 index 000000000..29c5f4d3b --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/drawable-xhdpi/ic_action_save.png 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 Binary files differnew file mode 100644 index 000000000..744350049 --- /dev/null +++ b/OpenPGP-Keychain/src/main/res/drawable-xxhdpi/ic_action_save.png 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 |