diff options
author | nicolasroard <nicolasroard@google.com> | 2012-10-22 09:49:46 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-22 09:49:46 -0700 |
commit | fec4e110fa2045e34fe4dc808e6310e5ea74e79d (patch) | |
tree | 31ebd04038c6b6074e0b1d839f8c0e7813b02e38 | |
parent | cd316a947a3fb09f4073eef75c252f001542773a (diff) | |
parent | 82da3e8e16187b8c13c1382b487b4735b7f1d94a (diff) | |
download | android_packages_apps_Snap-fec4e110fa2045e34fe4dc808e6310e5ea74e79d.tar.gz android_packages_apps_Snap-fec4e110fa2045e34fe4dc808e6310e5ea74e79d.tar.bz2 android_packages_apps_Snap-fec4e110fa2045e34fe4dc808e6310e5ea74e79d.zip |
am 51e5b719: Merge "Fix the undo/redo/reset menu item state" into gb-ub-photos-arches
* commit '51e5b7198dbf31bdfaefc7d01517050359571eb8':
Fix the undo/redo/reset menu item state
-rw-r--r-- | src/com/android/gallery3d/filtershow/FilterShowActivity.java | 5 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/HistoryAdapter.java | 58 |
2 files changed, 59 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index cac8aadd6..3d968867f 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -464,6 +464,11 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, .getActionProvider(); mShareActionProvider.setShareIntent(getDefaultShareIntent()); mShareActionProvider.setOnShareTargetSelectedListener(this); + + MenuItem undoItem = menu.findItem(R.id.undoButton); + MenuItem redoItem = menu.findItem(R.id.redoButton); + MenuItem resetItem = menu.findItem(R.id.resetHistoryButton); + mImageShow.getHistory().setMenuItems(undoItem, redoItem, resetItem); return true; } diff --git a/src/com/android/gallery3d/filtershow/HistoryAdapter.java b/src/com/android/gallery3d/filtershow/HistoryAdapter.java index 475f44313..684c2fc46 100644 --- a/src/com/android/gallery3d/filtershow/HistoryAdapter.java +++ b/src/com/android/gallery3d/filtershow/HistoryAdapter.java @@ -3,6 +3,7 @@ package com.android.gallery3d.filtershow; import android.content.Context; import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; @@ -17,16 +18,61 @@ import java.util.Vector; public class HistoryAdapter extends ArrayAdapter<ImagePreset> { private static final String LOGTAG = "HistoryAdapter"; private int mCurrentPresetPosition = 0; + private MenuItem mUndoMenuItem = null; + private MenuItem mRedoMenuItem = null; + private MenuItem mResetMenuItem = null; + + public HistoryAdapter(Context context, int resource, int textViewResourceId) { + super(context, resource, textViewResourceId); + FilterShowActivity activity = (FilterShowActivity) context; + } + + public void setMenuItems(MenuItem undoItem, MenuItem redoItem, MenuItem resetItem) { + mUndoMenuItem = undoItem; + mRedoMenuItem = redoItem; + mResetMenuItem = resetItem; + updateMenuItems(); + } + + public boolean canReset() { + if (getCount() <= 1) { + return false; + } + return true; + } + + public boolean canUndo() { + if (mCurrentPresetPosition == getCount() - 1) { + return false; + } + return true; + } + + public boolean canRedo() { + if (mCurrentPresetPosition == 0) { + return false; + } + return true; + } + + public void updateMenuItems() { + if (mUndoMenuItem != null) { + mUndoMenuItem.setEnabled(canUndo()); + } + if (mRedoMenuItem != null) { + mRedoMenuItem.setEnabled(canRedo()); + } + if (mResetMenuItem != null) { + mResetMenuItem.setEnabled(canReset()); + } + } public void setCurrentPreset(int n) { mCurrentPresetPosition = n; + updateMenuItems(); this.notifyDataSetChanged(); } - public HistoryAdapter(Context context, int resource, int textViewResourceId) { - super(context, resource, textViewResourceId); - } - public void reset() { if (getCount() == 0) { return; @@ -34,6 +80,7 @@ public class HistoryAdapter extends ArrayAdapter<ImagePreset> { ImagePreset first = getItem(getCount() - 1); clear(); addHistoryItem(first); + updateMenuItems(); } public ImagePreset getLast() { @@ -46,6 +93,7 @@ public class HistoryAdapter extends ArrayAdapter<ImagePreset> { public void addHistoryItem(ImagePreset preset) { if (canAddHistoryItem(preset)) { insert(preset, 0); + updateMenuItems(); } } @@ -89,6 +137,7 @@ public class HistoryAdapter extends ArrayAdapter<ImagePreset> { mCurrentPresetPosition = 0; } this.notifyDataSetChanged(); + updateMenuItems(); return mCurrentPresetPosition; } @@ -98,6 +147,7 @@ public class HistoryAdapter extends ArrayAdapter<ImagePreset> { mCurrentPresetPosition = getCount() - 1; } this.notifyDataSetChanged(); + updateMenuItems(); return mCurrentPresetPosition; } |