mirror of https://github.com/M66B/FairEmail.git
Added option to disable swiping all messages to trash
This commit is contained in:
parent
13ff382ba4
commit
563f2a1951
|
@ -342,6 +342,7 @@ public class FragmentMessages extends FragmentBase
|
||||||
private boolean seekbar;
|
private boolean seekbar;
|
||||||
private boolean move_thread_all;
|
private boolean move_thread_all;
|
||||||
private boolean move_thread_sent;
|
private boolean move_thread_sent;
|
||||||
|
private boolean swipe_trash_all;
|
||||||
private boolean actionbar;
|
private boolean actionbar;
|
||||||
private int actionbar_delete_id;
|
private int actionbar_delete_id;
|
||||||
private int actionbar_archive_id;
|
private int actionbar_archive_id;
|
||||||
|
@ -496,6 +497,7 @@ public class FragmentMessages extends FragmentBase
|
||||||
seekbar = prefs.getBoolean("seekbar", false);
|
seekbar = prefs.getBoolean("seekbar", false);
|
||||||
move_thread_all = prefs.getBoolean("move_thread_all", false);
|
move_thread_all = prefs.getBoolean("move_thread_all", false);
|
||||||
move_thread_sent = (move_thread_all || prefs.getBoolean("move_thread_sent", false));
|
move_thread_sent = (move_thread_all || prefs.getBoolean("move_thread_sent", false));
|
||||||
|
swipe_trash_all = prefs.getBoolean("swipe_trash_all", true);
|
||||||
actionbar = prefs.getBoolean("actionbar", true);
|
actionbar = prefs.getBoolean("actionbar", true);
|
||||||
boolean actionbar_swap = prefs.getBoolean("actionbar_swap", false);
|
boolean actionbar_swap = prefs.getBoolean("actionbar_swap", false);
|
||||||
actionbar_delete_id = (actionbar_swap ? R.id.action_archive : R.id.action_delete);
|
actionbar_delete_id = (actionbar_swap ? R.id.action_archive : R.id.action_delete);
|
||||||
|
@ -3657,6 +3659,7 @@ public class FragmentMessages extends FragmentBase
|
||||||
args.putBoolean("thread", viewType != AdapterMessage.ViewType.THREAD);
|
args.putBoolean("thread", viewType != AdapterMessage.ViewType.THREAD);
|
||||||
args.putLong("target", target);
|
args.putLong("target", target);
|
||||||
args.putBoolean("filter_archive", filter_archive);
|
args.putBoolean("filter_archive", filter_archive);
|
||||||
|
args.putBoolean("swipe_trash_all", swipe_trash_all);
|
||||||
|
|
||||||
new SimpleTask<ArrayList<MessageTarget>>() {
|
new SimpleTask<ArrayList<MessageTarget>>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -3665,6 +3668,7 @@ public class FragmentMessages extends FragmentBase
|
||||||
boolean thread = args.getBoolean("thread");
|
boolean thread = args.getBoolean("thread");
|
||||||
long tid = args.getLong("target");
|
long tid = args.getLong("target");
|
||||||
boolean filter_archive = args.getBoolean("filter_archive");
|
boolean filter_archive = args.getBoolean("filter_archive");
|
||||||
|
boolean swipe_trash_all = args.getBoolean("swipe_trash_all");
|
||||||
|
|
||||||
ArrayList<MessageTarget> result = new ArrayList<>();
|
ArrayList<MessageTarget> result = new ArrayList<>();
|
||||||
|
|
||||||
|
@ -3695,7 +3699,8 @@ public class FragmentMessages extends FragmentBase
|
||||||
List<EntityMessage> messages = db.message().getMessagesByThread(
|
List<EntityMessage> messages = db.message().getMessagesByThread(
|
||||||
message.account, message.thread,
|
message.account, message.thread,
|
||||||
threading && thread ? null : id,
|
threading && thread ? null : id,
|
||||||
!EntityFolder.DRAFTS.equals(baseFolder.type) &&
|
swipe_trash_all &&
|
||||||
|
!EntityFolder.DRAFTS.equals(baseFolder.type) &&
|
||||||
EntityFolder.TRASH.equals(targetFolder.type) ? null : message.folder);
|
EntityFolder.TRASH.equals(targetFolder.type) ? null : message.folder);
|
||||||
for (EntityMessage threaded : messages) {
|
for (EntityMessage threaded : messages) {
|
||||||
EntityFolder sourceFolder = db.folder().getFolder(threaded.folder);
|
EntityFolder sourceFolder = db.folder().getFolder(threaded.folder);
|
||||||
|
|
|
@ -108,6 +108,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||||
private SwitchCompat swSwipeReply;
|
private SwitchCompat swSwipeReply;
|
||||||
private SwitchCompat swMoveThreadAll;
|
private SwitchCompat swMoveThreadAll;
|
||||||
private SwitchCompat swMoveThreadSent;
|
private SwitchCompat swMoveThreadSent;
|
||||||
|
private SwitchCompat swSwipeTrashAll;
|
||||||
private Button btnDefaultFolder;
|
private Button btnDefaultFolder;
|
||||||
private TextView tvDefaultFolder;
|
private TextView tvDefaultFolder;
|
||||||
|
|
||||||
|
@ -129,7 +130,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||||
"undo_timeout",
|
"undo_timeout",
|
||||||
"autoread", "flag_snoozed", "autounflag", "auto_important", "reset_importance",
|
"autoread", "flag_snoozed", "autounflag", "auto_important", "reset_importance",
|
||||||
"reset_snooze", "auto_block_sender", "auto_hide_answer", "swipe_reply",
|
"reset_snooze", "auto_block_sender", "auto_hide_answer", "swipe_reply",
|
||||||
"move_thread_all", "move_thread_sent",
|
"move_thread_all", "move_thread_sent", "swipe_trash_all",
|
||||||
"default_folder"
|
"default_folder"
|
||||||
));
|
));
|
||||||
|
|
||||||
|
@ -194,6 +195,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||||
swSwipeReply = view.findViewById(R.id.swSwipeReply);
|
swSwipeReply = view.findViewById(R.id.swSwipeReply);
|
||||||
swMoveThreadAll = view.findViewById(R.id.swMoveThreadAll);
|
swMoveThreadAll = view.findViewById(R.id.swMoveThreadAll);
|
||||||
swMoveThreadSent = view.findViewById(R.id.swMoveThreadSent);
|
swMoveThreadSent = view.findViewById(R.id.swMoveThreadSent);
|
||||||
|
swSwipeTrashAll = view.findViewById(R.id.swSwipeTrashAll);
|
||||||
btnDefaultFolder = view.findViewById(R.id.btnDefaultFolder);
|
btnDefaultFolder = view.findViewById(R.id.btnDefaultFolder);
|
||||||
tvDefaultFolder = view.findViewById(R.id.tvDefaultFolder);
|
tvDefaultFolder = view.findViewById(R.id.tvDefaultFolder);
|
||||||
|
|
||||||
|
@ -613,6 +615,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
swSwipeTrashAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||||
|
prefs.edit().putBoolean("swipe_trash_all", checked).apply();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Intent tree = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
|
Intent tree = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
|
||||||
Helper.openAdvanced(getContext(), tree);
|
Helper.openAdvanced(getContext(), tree);
|
||||||
PackageManager pm = getContext().getPackageManager();
|
PackageManager pm = getContext().getPackageManager();
|
||||||
|
@ -787,6 +796,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||||
swMoveThreadAll.setChecked(prefs.getBoolean("move_thread_all", false));
|
swMoveThreadAll.setChecked(prefs.getBoolean("move_thread_all", false));
|
||||||
swMoveThreadSent.setChecked(prefs.getBoolean("move_thread_sent", false));
|
swMoveThreadSent.setChecked(prefs.getBoolean("move_thread_sent", false));
|
||||||
swMoveThreadSent.setEnabled(!swMoveThreadAll.isChecked());
|
swMoveThreadSent.setEnabled(!swMoveThreadAll.isChecked());
|
||||||
|
swSwipeTrashAll.setChecked(prefs.getBoolean("swipe_trash_all", true));
|
||||||
|
|
||||||
tvDefaultFolder.setText(prefs.getString("default_folder", null));
|
tvDefaultFolder.setText(prefs.getString("default_folder", null));
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
|
|
|
@ -890,6 +890,17 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/swMoveThreadAll"
|
app:layout_constraintTop_toBottomOf="@id/swMoveThreadAll"
|
||||||
app:switchPadding="12dp" />
|
app:switchPadding="12dp" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
|
android:id="@+id/swSwipeTrashAll"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:text="@string/title_advanced_swipe_trash_all"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/swMoveThreadSent"
|
||||||
|
app:switchPadding="12dp" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/btnDefaultFolder"
|
android:id="@+id/btnDefaultFolder"
|
||||||
style="?android:attr/buttonStyleSmall"
|
style="?android:attr/buttonStyleSmall"
|
||||||
|
@ -901,7 +912,7 @@
|
||||||
android:tag="disable"
|
android:tag="disable"
|
||||||
android:text="@string/title_advanced_default_folder"
|
android:text="@string/title_advanced_default_folder"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/swMoveThreadSent" />
|
app:layout_constraintTop_toBottomOf="@id/swSwipeTrashAll" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tvDefaultFolderHint"
|
android:id="@+id/tvDefaultFolderHint"
|
||||||
|
|
|
@ -733,6 +733,7 @@
|
||||||
<string name="title_advanced_swipe_reply">Swipe expanded messages to the right to reply</string>
|
<string name="title_advanced_swipe_reply">Swipe expanded messages to the right to reply</string>
|
||||||
<string name="title_advanced_move_thread_all">When moving selected conversations, move all messages</string>
|
<string name="title_advanced_move_thread_all">When moving selected conversations, move all messages</string>
|
||||||
<string name="title_advanced_move_thread_sent">When moving a conversation, also move sent messages</string>
|
<string name="title_advanced_move_thread_sent">When moving a conversation, also move sent messages</string>
|
||||||
|
<string name="title_advanced_swipe_trash_all">When swiping a conversation to the trash, trash all messages</string>
|
||||||
<string name="title_advanced_default_snooze">Default snooze/delay time</string>
|
<string name="title_advanced_default_snooze">Default snooze/delay time</string>
|
||||||
<string name="title_advanced_default_folder">Select default folder</string>
|
<string name="title_advanced_default_folder">Select default folder</string>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue