mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-30 13:12:25 -05:00
Add forward, reply, reply all, same sender back in the MessageList context actionbar.
This commit is contained in:
parent
10c733606e
commit
592aeb0b03
BIN
res/drawable-hdpi/ic_action_single_message_options.png
Normal file
BIN
res/drawable-hdpi/ic_action_single_message_options.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
res/drawable-ldpi/ic_action_single_message_options.png
Normal file
BIN
res/drawable-ldpi/ic_action_single_message_options.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 544 B |
BIN
res/drawable-mdpi/ic_action_single_message_options.png
Normal file
BIN
res/drawable-mdpi/ic_action_single_message_options.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 682 B |
BIN
res/drawable-xhdpi/ic_action_single_message_options.png
Normal file
BIN
res/drawable-xhdpi/ic_action_single_message_options.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
@ -1,5 +1,28 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item
|
||||||
|
android:id="@+id/single_message_options"
|
||||||
|
android:icon="@drawable/ic_action_single_message_options"
|
||||||
|
android:showAsAction="always"
|
||||||
|
android:title="@string/single_message_options_action">
|
||||||
|
<menu>
|
||||||
|
<item
|
||||||
|
android:id="@+id/forward"
|
||||||
|
android:title="@string/forward_action"/>
|
||||||
|
<item
|
||||||
|
android:id="@+id/reply_all"
|
||||||
|
android:title="@string/reply_all_action"/>
|
||||||
|
<item
|
||||||
|
android:id="@+id/reply"
|
||||||
|
android:title="@string/reply_action"/>
|
||||||
|
<item
|
||||||
|
android:id="@+id/send_again"
|
||||||
|
android:title="@string/send_again_action"/>
|
||||||
|
<item
|
||||||
|
android:id="@+id/same_sender"
|
||||||
|
android:title="@string/from_same_sender" />
|
||||||
|
</menu>
|
||||||
|
</item>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/delete"
|
android:id="@+id/delete"
|
||||||
android:title="@string/delete_action"
|
android:title="@string/delete_action"
|
||||||
|
@ -118,6 +118,7 @@ http://k9mail.googlecode.com/
|
|||||||
<string name="forward_action">Forward</string>
|
<string name="forward_action">Forward</string>
|
||||||
<string name="move_action">Move</string>
|
<string name="move_action">Move</string>
|
||||||
<string name="move_or_copy_action">Move or Copy</string>
|
<string name="move_or_copy_action">Move or Copy</string>
|
||||||
|
<string name="single_message_options_action">Message Options</string>
|
||||||
<string name="continue_action">Continue</string>
|
<string name="continue_action">Continue</string>
|
||||||
<string name="back_action">Back</string>
|
<string name="back_action">Back</string>
|
||||||
<string name="done_action">Done</string> <!-- Used to complete a multi-step process -->
|
<string name="done_action">Done</string> <!-- Used to complete a multi-step process -->
|
||||||
|
@ -1156,6 +1156,22 @@ public class MessageList extends K9ListActivity implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void onReply(MessageInfoHolder holder) {
|
||||||
|
MessageCompose.actionReply(this, holder.message.getFolder().getAccount(), holder.message, false, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onReplyAll(MessageInfoHolder holder) {
|
||||||
|
MessageCompose.actionReply(this, holder.message.getFolder().getAccount(), holder.message, true, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onForward(MessageInfoHolder holder) {
|
||||||
|
MessageCompose.actionForward(this, holder.message.getFolder().getAccount(), holder.message, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onResendMessage(MessageInfoHolder message) {
|
||||||
|
MessageCompose.actionEditDraft(this, message.message.getFolder().getAccount(), message.message);
|
||||||
|
}
|
||||||
|
|
||||||
private void onEditPrefs() {
|
private void onEditPrefs() {
|
||||||
Prefs.actionPrefs(this);
|
Prefs.actionPrefs(this);
|
||||||
}
|
}
|
||||||
@ -2408,10 +2424,8 @@ public class MessageList extends K9ListActivity implements
|
|||||||
mAdapter.notifyDataSetChanged();
|
mAdapter.notifyDataSetChanged();
|
||||||
mActionMode.setTitle(String.format(getString(R.string.actionbar_selected), mSelectedCount));
|
mActionMode.setTitle(String.format(getString(R.string.actionbar_selected), mSelectedCount));
|
||||||
|
|
||||||
if (mQueryString != null) {
|
// make sure the onPrepareActionMode is called
|
||||||
// we might have to disable some options
|
mActionMode.invalidate();
|
||||||
mActionMode.invalidate();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2757,6 +2771,11 @@ public class MessageList extends K9ListActivity implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
||||||
|
|
||||||
|
// enable or disable forward, reply,....
|
||||||
|
menu.findItem(R.id.single_message_options)
|
||||||
|
.setVisible(mSelectedCount > 1 ? false : true);
|
||||||
|
|
||||||
if (mQueryString != null) {
|
if (mQueryString != null) {
|
||||||
// show all
|
// show all
|
||||||
menu.findItem(R.id.move).setVisible(true);
|
menu.findItem(R.id.move).setVisible(true);
|
||||||
@ -2801,6 +2820,14 @@ public class MessageList extends K9ListActivity implements
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disables menu options based on if the account supports it or not.
|
||||||
|
* It also checks the controller and for now the 'mode' the messagelist
|
||||||
|
* is operation in ( query or not ).
|
||||||
|
*
|
||||||
|
* @param mAccount Account to check capabilities of.
|
||||||
|
* @param menu Menu to adapt.
|
||||||
|
*/
|
||||||
private void setContextCapabilities(Account mAccount, Menu menu) {
|
private void setContextCapabilities(Account mAccount, Menu menu) {
|
||||||
/*
|
/*
|
||||||
* TODO get rid of this when we finally split the messagelist into
|
* TODO get rid of this when we finally split the messagelist into
|
||||||
@ -2867,6 +2894,8 @@ public class MessageList extends K9ListActivity implements
|
|||||||
onToggleFlag(selection);
|
onToggleFlag(selection);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// only if the account supports this
|
||||||
case R.id.archive: {
|
case R.id.archive: {
|
||||||
onArchive(selection);
|
onArchive(selection);
|
||||||
mSelectedCount = 0;
|
mSelectedCount = 0;
|
||||||
@ -2887,6 +2916,34 @@ public class MessageList extends K9ListActivity implements
|
|||||||
mSelectedCount = 0;
|
mSelectedCount = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// only if a single message is selected
|
||||||
|
case R.id.reply: {
|
||||||
|
onReply(selection.get(0));
|
||||||
|
mSelectedCount = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case R.id.reply_all: {
|
||||||
|
onReplyAll(selection.get(0));
|
||||||
|
mSelectedCount = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case R.id.forward: {
|
||||||
|
onForward(selection.get(0));
|
||||||
|
mSelectedCount = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case R.id.send_again: {
|
||||||
|
onResendMessage(selection.get(0));
|
||||||
|
mSelectedCount = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case R.id.same_sender: {
|
||||||
|
MessageList.actionHandle(MessageList.this, "From " + selection.get(0).sender,
|
||||||
|
selection.get(0).senderAddress, false, null, null);
|
||||||
|
mSelectedCount = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mSelectedCount == 0) {
|
if (mSelectedCount == 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user