"Advanced" account context menu now works right

This commit is contained in:
Jesse Vincent 2010-01-14 00:00:38 +00:00
parent 9bfc01ca32
commit e7807e0cf7
1 changed files with 15 additions and 9 deletions

View File

@ -491,37 +491,43 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
public boolean onContextItemSelected(MenuItem item) public boolean onContextItemSelected(MenuItem item)
{ {
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo(); AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo();
Account account = (Account)getListView().getItemAtPosition(menuInfo.position); // submenus don't actually set the menuInfo, so the "advanced"
// submenu wouldn't work.
if (menuInfo != null) {
mSelectedContextAccount = (Account)getListView().getItemAtPosition(menuInfo.position);
}
switch (item.getItemId()) switch (item.getItemId())
{ {
case R.id.delete_account: case R.id.delete_account:
onDeleteAccount(account); onDeleteAccount(mSelectedContextAccount);
break; break;
case R.id.edit_account: case R.id.edit_account:
onEditAccount(account); onEditAccount(mSelectedContextAccount);
break; break;
case R.id.open: case R.id.open:
onOpenAccount(account, false); onOpenAccount(mSelectedContextAccount, false);
break; break;
case R.id.check_mail: case R.id.check_mail:
onCheckMail(account); onCheckMail(mSelectedContextAccount);
break; break;
case R.id.clear_pending: case R.id.clear_pending:
onClearCommands(account); onClearCommands(mSelectedContextAccount);
break; break;
case R.id.empty_trash: case R.id.empty_trash:
onEmptyTrash(account); onEmptyTrash(mSelectedContextAccount);
break; break;
case R.id.compact: case R.id.compact:
onCompact(account); onCompact(mSelectedContextAccount);
break; break;
case R.id.clear: case R.id.clear:
onClear(account); onClear(mSelectedContextAccount);
break; break;
} }
return true; return true;
} }
private void onCompact(Account account) private void onCompact(Account account)
{ {
mHandler.workingAccount(account, R.string.compacting_account); mHandler.workingAccount(account, R.string.compacting_account);