diff options
author | nicolasroard <nicolasroard@google.com> | 2012-10-22 09:47:34 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-10-22 09:47:35 -0700 |
commit | 82da3e8e16187b8c13c1382b487b4735b7f1d94a (patch) | |
tree | 4a0abbd7f3020a8f2e79c73a2dd55ba36de2277e /src/com/android/gallery3d | |
parent | 6e8f37db441228ffb7c1165f36a1289e0cc48896 (diff) | |
parent | eaf93ae9970f34ed2d69fbd8b66beddaa82d37f6 (diff) | |
download | android_packages_apps_Snap-82da3e8e16187b8c13c1382b487b4735b7f1d94a.tar.gz android_packages_apps_Snap-82da3e8e16187b8c13c1382b487b4735b7f1d94a.tar.bz2 android_packages_apps_Snap-82da3e8e16187b8c13c1382b487b4735b7f1d94a.zip |
Merge "Fix the undo/redo/reset menu item state" into gb-ub-photos-arches
Diffstat (limited to 'src/com/android/gallery3d')
-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; } |