summaryrefslogtreecommitdiff
path: root/src/de/danoeh
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-07-23 18:12:09 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-07-23 18:12:09 +0200
commit5f7d5d5e0425ac3651ddee28ef798cf2dd8e7b14 (patch)
treeb4e19ee383dab00b6e8ced4aecd25974f3c6f57c /src/de/danoeh
parentdfd3dc8bf8454dcb935eaeb224da9d275e406db9 (diff)
downloadAntennaPod-5f7d5d5e0425ac3651ddee28ef798cf2dd8e7b14.zip
Added menu items for selecting and deselecting all items
Diffstat (limited to 'src/de/danoeh')
-rw-r--r--src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java51
1 files changed, 42 insertions, 9 deletions
diff --git a/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java b/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
index 44a9cc878..d9db27ee7 100644
--- a/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
+++ b/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
@@ -14,13 +14,15 @@ import android.widget.Button;
import android.widget.ListView;
import com.actionbarsherlock.app.SherlockActivity;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuItem;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.opml.OpmlElement;
public class OpmlFeedChooserActivity extends SherlockActivity {
private static final String TAG = "OpmlFeedChooserActivity";
-
+
public static final String EXTRA_SELECTED_ITEMS = "de.danoeh.antennapod.selectedItems";
private Button butConfirm;
@@ -43,22 +45,22 @@ public class OpmlFeedChooserActivity extends SherlockActivity {
getTitleList());
feedlist.setAdapter(listAdapter);
-
+
butCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setResult(RESULT_CANCELED);
finish();
- }
+ }
});
-
+
butConfirm.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
SparseBooleanArray checked = feedlist.getCheckedItemPositions();
-
+
int checkedCount = 0;
// Get number of checked items
for (int i = 0; i < checked.size(); i++) {
@@ -67,7 +69,7 @@ public class OpmlFeedChooserActivity extends SherlockActivity {
}
}
int[] selection = new int[checkedCount];
- for (int i = 0, collected = 0; collected < checkedCount; i++) {
+ for (int i = 0, collected = 0; collected < checkedCount; i++) {
if (checked.valueAt(i)) {
selection[collected] = checked.keyAt(i);
collected++;
@@ -76,7 +78,8 @@ public class OpmlFeedChooserActivity extends SherlockActivity {
intent.putExtra(EXTRA_SELECTED_ITEMS, selection);
setResult(RESULT_OK, intent);
finish();
- }});
+ }
+ });
}
@@ -90,6 +93,36 @@ public class OpmlFeedChooserActivity extends SherlockActivity {
}
return result;
}
-
-
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ menu.add(Menu.NONE, R.id.select_all_item, Menu.NONE,
+ R.string.select_all_label).setShowAsAction(
+ MenuItem.SHOW_AS_ACTION_IF_ROOM);
+ menu.add(Menu.NONE, R.id.deselect_all_item, Menu.NONE,
+ R.string.deselect_all_label).setShowAsAction(
+ MenuItem.SHOW_AS_ACTION_IF_ROOM);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.select_all_item:
+ selectAllItems(true);
+ return true;
+ case R.id.deselect_all_item:
+ selectAllItems(false);
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ private void selectAllItems(boolean b) {
+ for (int i = 0; i < feedlist.getCount(); i++) {
+ feedlist.setItemChecked(i, b);
+ }
+ }
+
}