mirror of
https://github.com/moparisthebest/k-9
synced 2025-02-25 15:11:52 -05:00
Remove "mark all as read" from the UI. (leaving the backend support for now)
User-facing "select all, mark as read" is slightly different but less confusing and cluttered than the duplicated option
This commit is contained in:
parent
5a29c8a415
commit
5d4a2132d8
@ -4,10 +4,6 @@
|
|||||||
android:id="@+id/open_folder"
|
android:id="@+id/open_folder"
|
||||||
android:title="@string/open_action"
|
android:title="@string/open_action"
|
||||||
/>
|
/>
|
||||||
<item
|
|
||||||
android:id="@+id/mark_all_as_read"
|
|
||||||
android:title="@string/mark_all_as_read_action"
|
|
||||||
/>
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/empty_trash"
|
android:id="@+id/empty_trash"
|
||||||
android:title="@string/empty_trash_action"
|
android:title="@string/empty_trash_action"
|
||||||
|
@ -53,11 +53,6 @@
|
|||||||
android:icon="?attr/iconActionRefresh"
|
android:icon="?attr/iconActionRefresh"
|
||||||
android:showAsAction="always"
|
android:showAsAction="always"
|
||||||
android:title="@string/check_mail_action"/>
|
android:title="@string/check_mail_action"/>
|
||||||
<item
|
|
||||||
android:id="@+id/mark_all_as_read"
|
|
||||||
android:icon="?attr/iconMenuInbox"
|
|
||||||
android:showAsAction="never"
|
|
||||||
android:title="@string/mark_all_as_read_action"/>
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/expunge"
|
android:id="@+id/expunge"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
|
@ -154,7 +154,6 @@ public class K9 extends Application {
|
|||||||
private static boolean mConfirmDelete = false;
|
private static boolean mConfirmDelete = false;
|
||||||
private static boolean mConfirmDeleteStarred = false;
|
private static boolean mConfirmDeleteStarred = false;
|
||||||
private static boolean mConfirmSpam = false;
|
private static boolean mConfirmSpam = false;
|
||||||
private static boolean mConfirmMarkAllAsRead = true;
|
|
||||||
|
|
||||||
private static NotificationHideSubject sNotificationHideSubject = NotificationHideSubject.NEVER;
|
private static NotificationHideSubject sNotificationHideSubject = NotificationHideSubject.NEVER;
|
||||||
|
|
||||||
@ -464,7 +463,6 @@ public class K9 extends Application {
|
|||||||
editor.putBoolean("confirmDelete", mConfirmDelete);
|
editor.putBoolean("confirmDelete", mConfirmDelete);
|
||||||
editor.putBoolean("confirmDeleteStarred", mConfirmDeleteStarred);
|
editor.putBoolean("confirmDeleteStarred", mConfirmDeleteStarred);
|
||||||
editor.putBoolean("confirmSpam", mConfirmSpam);
|
editor.putBoolean("confirmSpam", mConfirmSpam);
|
||||||
editor.putBoolean("confirmMarkAllAsRead", mConfirmMarkAllAsRead);
|
|
||||||
|
|
||||||
editor.putString("sortTypeEnum", mSortType.name());
|
editor.putString("sortTypeEnum", mSortType.name());
|
||||||
editor.putBoolean("sortAscending", mSortAscending.get(mSortType));
|
editor.putBoolean("sortAscending", mSortAscending.get(mSortType));
|
||||||
@ -620,7 +618,6 @@ public class K9 extends Application {
|
|||||||
mConfirmDelete = sprefs.getBoolean("confirmDelete", false);
|
mConfirmDelete = sprefs.getBoolean("confirmDelete", false);
|
||||||
mConfirmDeleteStarred = sprefs.getBoolean("confirmDeleteStarred", false);
|
mConfirmDeleteStarred = sprefs.getBoolean("confirmDeleteStarred", false);
|
||||||
mConfirmSpam = sprefs.getBoolean("confirmSpam", false);
|
mConfirmSpam = sprefs.getBoolean("confirmSpam", false);
|
||||||
mConfirmMarkAllAsRead = sprefs.getBoolean("confirmMarkAllAsRead", true);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String value = sprefs.getString("sortTypeEnum", Account.DEFAULT_SORT_TYPE.name());
|
String value = sprefs.getString("sortTypeEnum", Account.DEFAULT_SORT_TYPE.name());
|
||||||
@ -1025,14 +1022,6 @@ public class K9 extends Application {
|
|||||||
mConfirmSpam = confirm;
|
mConfirmSpam = confirm;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean confirmMarkAllAsRead() {
|
|
||||||
return mConfirmMarkAllAsRead;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setConfirmMarkAllAsRead(final boolean confirm) {
|
|
||||||
mConfirmMarkAllAsRead = confirm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static NotificationHideSubject getNotificationHideSubject() {
|
public static NotificationHideSubject getNotificationHideSubject() {
|
||||||
return sNotificationHideSubject;
|
return sNotificationHideSubject;
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,6 @@ public class FolderList extends K9ListActivity implements OnNavigationListener {
|
|||||||
/*
|
/*
|
||||||
* Constants for showDialog() etc.
|
* Constants for showDialog() etc.
|
||||||
*/
|
*/
|
||||||
private static final int DIALOG_MARK_ALL_AS_READ = 1;
|
|
||||||
private static final int DIALOG_FIND_FOLDER = 2;
|
private static final int DIALOG_FIND_FOLDER = 2;
|
||||||
|
|
||||||
private static final String EXTRA_ACCOUNT = "account";
|
private static final String EXTRA_ACCOUNT = "account";
|
||||||
@ -649,10 +648,6 @@ public class FolderList extends K9ListActivity implements OnNavigationListener {
|
|||||||
onOpenFolder(folder.name);
|
onOpenFolder(folder.name);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case R.id.mark_all_as_read:
|
|
||||||
onMarkAllAsRead(mAccount, folder.name);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case R.id.send_messages:
|
case R.id.send_messages:
|
||||||
sendMail(mAccount);
|
sendMail(mAccount);
|
||||||
|
|
||||||
@ -687,41 +682,9 @@ public class FolderList extends K9ListActivity implements OnNavigationListener {
|
|||||||
|
|
||||||
private FolderInfoHolder mSelectedContextFolder = null;
|
private FolderInfoHolder mSelectedContextFolder = null;
|
||||||
|
|
||||||
|
|
||||||
private void onMarkAllAsRead(final Account account, final String folder) {
|
|
||||||
mSelectedContextFolder = mAdapter.getFolder(folder);
|
|
||||||
if (K9.confirmMarkAllAsRead()) {
|
|
||||||
showDialog(DIALOG_MARK_ALL_AS_READ);
|
|
||||||
} else {
|
|
||||||
markAllAsRead();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void markAllAsRead() {
|
|
||||||
try {
|
|
||||||
MessagingController.getInstance(getApplication())
|
|
||||||
.markAllMessagesRead(mAccount, mSelectedContextFolder.name);
|
|
||||||
mSelectedContextFolder.unreadMessageCount = 0;
|
|
||||||
mHandler.dataChanged();
|
|
||||||
} catch (Exception e) {
|
|
||||||
/* Ignore */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Dialog onCreateDialog(int id) {
|
public Dialog onCreateDialog(int id) {
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case DIALOG_MARK_ALL_AS_READ:
|
|
||||||
return ConfirmationDialog.create(this, id, R.string.mark_all_as_read_dlg_title,
|
|
||||||
getString(R.string.mark_all_as_read_dlg_instructions_fmt,
|
|
||||||
mSelectedContextFolder.displayName),
|
|
||||||
R.string.okay_action, R.string.cancel_action,
|
|
||||||
new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
markAllAsRead();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
case DIALOG_FIND_FOLDER: {
|
case DIALOG_FIND_FOLDER: {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||||
builder.setTitle(R.string.filter_folders_action);
|
builder.setTitle(R.string.filter_folders_action);
|
||||||
@ -776,12 +739,6 @@ public class FolderList extends K9ListActivity implements OnNavigationListener {
|
|||||||
@Override
|
@Override
|
||||||
public void onPrepareDialog(int id, Dialog dialog) {
|
public void onPrepareDialog(int id, Dialog dialog) {
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case DIALOG_MARK_ALL_AS_READ: {
|
|
||||||
AlertDialog alertDialog = (AlertDialog) dialog;
|
|
||||||
alertDialog.setMessage(getString(R.string.mark_all_as_read_dlg_instructions_fmt,
|
|
||||||
mSelectedContextFolder.displayName));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case DIALOG_FIND_FOLDER: {
|
case DIALOG_FIND_FOLDER: {
|
||||||
AlertDialog alertDialog = (AlertDialog) dialog;
|
AlertDialog alertDialog = (AlertDialog) dialog;
|
||||||
EditText input = (EditText) alertDialog.findViewById(R.id.filter_folders);
|
EditText input = (EditText) alertDialog.findViewById(R.id.filter_folders);
|
||||||
|
@ -217,7 +217,6 @@ public class MessageList extends K9ListActivity implements OnItemClickListener {
|
|||||||
*/
|
*/
|
||||||
private static final Message[] EMPTY_MESSAGE_ARRAY = new Message[0];
|
private static final Message[] EMPTY_MESSAGE_ARRAY = new Message[0];
|
||||||
|
|
||||||
private static final int DIALOG_MARK_ALL_AS_READ = 1;
|
|
||||||
|
|
||||||
private static final int ACTIVITY_CHOOSE_FOLDER_MOVE = 1;
|
private static final int ACTIVITY_CHOOSE_FOLDER_MOVE = 1;
|
||||||
private static final int ACTIVITY_CHOOSE_FOLDER_COPY = 2;
|
private static final int ACTIVITY_CHOOSE_FOLDER_COPY = 2;
|
||||||
@ -1338,26 +1337,6 @@ public class MessageList extends K9ListActivity implements OnItemClickListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onMarkAllAsRead(final Account account, final String folder) {
|
|
||||||
if (K9.confirmMarkAllAsRead()) {
|
|
||||||
showDialog(DIALOG_MARK_ALL_AS_READ);
|
|
||||||
} else {
|
|
||||||
markAllAsRead();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void markAllAsRead() {
|
|
||||||
try {
|
|
||||||
mController.markAllMessagesRead(mAccount, mCurrentFolder.name);
|
|
||||||
|
|
||||||
for (MessageInfoHolder holder : mAdapter.getMessages()) {
|
|
||||||
holder.read = true;
|
|
||||||
}
|
|
||||||
mAdapter.sortMessages();
|
|
||||||
} catch (Exception e) {
|
|
||||||
// Ignore
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void onExpunge(final Account account, String folderName) {
|
private void onExpunge(final Account account, String folderName) {
|
||||||
mController.expunge(account, folderName, null);
|
mController.expunge(account, folderName, null);
|
||||||
@ -1366,19 +1345,6 @@ public class MessageList extends K9ListActivity implements OnItemClickListener {
|
|||||||
@Override
|
@Override
|
||||||
public Dialog onCreateDialog(int id) {
|
public Dialog onCreateDialog(int id) {
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case DIALOG_MARK_ALL_AS_READ:
|
|
||||||
return ConfirmationDialog.create(this, id,
|
|
||||||
R.string.mark_all_as_read_dlg_title,
|
|
||||||
getString(R.string.mark_all_as_read_dlg_instructions_fmt,
|
|
||||||
mCurrentFolder.displayName),
|
|
||||||
R.string.okay_action,
|
|
||||||
R.string.cancel_action,
|
|
||||||
new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
markAllAsRead();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
case R.id.dialog_confirm_spam:
|
case R.id.dialog_confirm_spam:
|
||||||
return ConfirmationDialog.create(this, id,
|
return ConfirmationDialog.create(this, id,
|
||||||
R.string.dialog_confirm_spam_title,
|
R.string.dialog_confirm_spam_title,
|
||||||
@ -1415,13 +1381,6 @@ public class MessageList extends K9ListActivity implements OnItemClickListener {
|
|||||||
@Override
|
@Override
|
||||||
public void onPrepareDialog(final int id, final Dialog dialog) {
|
public void onPrepareDialog(final int id, final Dialog dialog) {
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case DIALOG_MARK_ALL_AS_READ: {
|
|
||||||
if (mCurrentFolder != null) {
|
|
||||||
((AlertDialog)dialog).setMessage(getString(R.string.mark_all_as_read_dlg_instructions_fmt,
|
|
||||||
mCurrentFolder.displayName));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case R.id.dialog_confirm_spam: {
|
case R.id.dialog_confirm_spam: {
|
||||||
// mActiveMessages can be null if Android restarts the activity
|
// mActiveMessages can be null if Android restarts the activity
|
||||||
// while this dialog is not actually shown (but was displayed at
|
// while this dialog is not actually shown (but was displayed at
|
||||||
@ -1556,12 +1515,6 @@ public class MessageList extends K9ListActivity implements OnItemClickListener {
|
|||||||
mController.sendPendingMessages(mAccount, mAdapter.mListener);
|
mController.sendPendingMessages(mAccount, mAdapter.mListener);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
case R.id.mark_all_as_read: {
|
|
||||||
if (mFolderName != null) {
|
|
||||||
onMarkAllAsRead(mAccount, mFolderName);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case R.id.folder_settings: {
|
case R.id.folder_settings: {
|
||||||
if (mFolderName != null) {
|
if (mFolderName != null) {
|
||||||
FolderSettings.actionSettings(this, mAccount, mFolderName);
|
FolderSettings.actionSettings(this, mAccount, mFolderName);
|
||||||
@ -1596,7 +1549,6 @@ public class MessageList extends K9ListActivity implements OnItemClickListener {
|
|||||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
|
|
||||||
if (mQueryString != null) {
|
if (mQueryString != null) {
|
||||||
menu.findItem(R.id.mark_all_as_read).setVisible(false);
|
|
||||||
menu.findItem(R.id.expunge).setVisible(false);
|
menu.findItem(R.id.expunge).setVisible(false);
|
||||||
menu.findItem(R.id.check_mail).setVisible(false);
|
menu.findItem(R.id.check_mail).setVisible(false);
|
||||||
menu.findItem(R.id.send_messages).setVisible(false);
|
menu.findItem(R.id.send_messages).setVisible(false);
|
||||||
|
@ -198,13 +198,11 @@ public class Prefs extends K9PreferenceActivity {
|
|||||||
getString(R.string.global_settings_confirm_action_delete),
|
getString(R.string.global_settings_confirm_action_delete),
|
||||||
getString(R.string.global_settings_confirm_action_delete_starred),
|
getString(R.string.global_settings_confirm_action_delete_starred),
|
||||||
getString(R.string.global_settings_confirm_action_spam),
|
getString(R.string.global_settings_confirm_action_spam),
|
||||||
getString(R.string.global_settings_confirm_action_mark_all_as_read)
|
|
||||||
});
|
});
|
||||||
mConfirmActions.setCheckedItems(new boolean[] {
|
mConfirmActions.setCheckedItems(new boolean[] {
|
||||||
K9.confirmDelete(),
|
K9.confirmDelete(),
|
||||||
K9.confirmDeleteStarred(),
|
K9.confirmDeleteStarred(),
|
||||||
K9.confirmSpam(),
|
K9.confirmSpam(),
|
||||||
K9.confirmMarkAllAsRead()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
mNotificationHideSubject = setupListPreference(PREFERENCE_NOTIFICATION_HIDE_SUBJECT,
|
mNotificationHideSubject = setupListPreference(PREFERENCE_NOTIFICATION_HIDE_SUBJECT,
|
||||||
@ -410,7 +408,6 @@ public class Prefs extends K9PreferenceActivity {
|
|||||||
K9.setConfirmDelete(mConfirmActions.getCheckedItems()[0]);
|
K9.setConfirmDelete(mConfirmActions.getCheckedItems()[0]);
|
||||||
K9.setConfirmDeleteStarred(mConfirmActions.getCheckedItems()[1]);
|
K9.setConfirmDeleteStarred(mConfirmActions.getCheckedItems()[1]);
|
||||||
K9.setConfirmSpam(mConfirmActions.getCheckedItems()[2]);
|
K9.setConfirmSpam(mConfirmActions.getCheckedItems()[2]);
|
||||||
K9.setConfirmMarkAllAsRead(mConfirmActions.getCheckedItems()[3]);
|
|
||||||
K9.setNotificationHideSubject(NotificationHideSubject.valueOf(mNotificationHideSubject.getValue()));
|
K9.setNotificationHideSubject(NotificationHideSubject.valueOf(mNotificationHideSubject.getValue()));
|
||||||
|
|
||||||
K9.setMeasureAccounts(mMeasureAccounts.isChecked());
|
K9.setMeasureAccounts(mMeasureAccounts.isChecked());
|
||||||
|
@ -57,9 +57,6 @@ public class GlobalSettings {
|
|||||||
s.put("confirmDeleteStarred", Settings.versions(
|
s.put("confirmDeleteStarred", Settings.versions(
|
||||||
new V(2, new BooleanSetting(false))
|
new V(2, new BooleanSetting(false))
|
||||||
));
|
));
|
||||||
s.put("confirmMarkAllAsRead", Settings.versions(
|
|
||||||
new V(1, new BooleanSetting(false))
|
|
||||||
));
|
|
||||||
s.put("confirmSpam", Settings.versions(
|
s.put("confirmSpam", Settings.versions(
|
||||||
new V(1, new BooleanSetting(false))
|
new V(1, new BooleanSetting(false))
|
||||||
));
|
));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user