mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-27 11:42:16 -05:00
Add a new preference to always show multiselect checkboxes.
This commit is contained in:
parent
23af9f3e6d
commit
ae029762cf
@ -268,6 +268,12 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
|
||||
<string name="about_header">About <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="about_version">Version: <xliff:g id="version">%s</xliff:g></string>
|
||||
|
||||
|
||||
<string name="global_settings_star_label">Star flagged messages</string>
|
||||
<string name="global_settings_checkbox_label">Multi-select checkboxes</string>
|
||||
<string name="global_settings_checkbox_summary">Always show multi-select checkboxes</string>
|
||||
<string name="global_settings_touchable_label">Touch-friendly view</string>
|
||||
|
||||
<string name="account_setup_basics_title">Set up a new account</string>
|
||||
<string name="account_setup_basics_instructions">Enter this account\'s email address:</string>
|
||||
<string name="account_setup_basics_instructions2_fmt">(You may add <xliff:g id="number_accounts">%d</xliff:g> more accounts.)</string>
|
||||
@ -421,8 +427,6 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
|
||||
<string name="account_settings_notify_summary">Notify in status bar when mail arrives</string>
|
||||
<string name="account_settings_notify_sync_summary">Notify in status bar while mail is checked</string>
|
||||
<string name="account_settings_show_combined_label">Show combined Inbox</string>
|
||||
<string name="account_settings_star_label">Star flagged messages</string>
|
||||
<string name="account_settings_touchable_label">Touch-friendly view</string>
|
||||
<string name="account_settings_notify_self_label">Notify for mail I sent</string>
|
||||
<string name="account_settings_notify_self_summary">Notify even for mail sent from an account identity</string>
|
||||
|
||||
|
@ -41,11 +41,17 @@
|
||||
<PreferenceCategory android:title="@string/messagelist_preferences" android:key="messagelist_preferences">
|
||||
<CheckBoxPreference
|
||||
android:key="messagelist_touchable"
|
||||
android:title="@string/account_settings_touchable_label"/>
|
||||
android:title="@string/global_settings_touchable_label"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="messagelist_stars"
|
||||
android:title="@string/account_settings_star_label"/>
|
||||
android:title="@string/global_settings_star_label"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="messagelist_checkboxes"
|
||||
android:title="@string/global_settings_checkbox_label"
|
||||
android:summary="@string/global_settings_checkbox_summary"
|
||||
/>
|
||||
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/operational_preferences" android:key="operational_preferences">
|
||||
|
@ -67,6 +67,7 @@ public class K9 extends Application
|
||||
|
||||
|
||||
private static boolean mMessageListStars = true;
|
||||
private static boolean mMessageListCheckboxes = false;
|
||||
private static boolean mMessageListTouchable = false;
|
||||
|
||||
|
||||
@ -308,6 +309,7 @@ public class K9 extends Application
|
||||
editor.putString("backgroundOperations", K9.backgroundOps.toString());
|
||||
editor.putBoolean("animations", mAnimations);
|
||||
editor.putBoolean("messageListStars",mMessageListStars);
|
||||
editor.putBoolean("messageListCheckboxes",mMessageListCheckboxes);
|
||||
editor.putBoolean("messageListTouchable",mMessageListTouchable);
|
||||
editor.putInt("theme", theme);
|
||||
}
|
||||
@ -323,6 +325,7 @@ public class K9 extends Application
|
||||
DEBUG_SENSITIVE = sprefs.getBoolean("enableSensitiveLogging", false);
|
||||
mAnimations = sprefs.getBoolean("animations", true);
|
||||
mMessageListStars = sprefs.getBoolean("messageListStars",true);
|
||||
mMessageListCheckboxes = sprefs.getBoolean("messageListCheckboxes",false);
|
||||
mMessageListTouchable = sprefs.getBoolean("messageListTouchable",false);
|
||||
|
||||
|
||||
@ -463,6 +466,15 @@ public class K9 extends Application
|
||||
{
|
||||
mMessageListStars = stars;
|
||||
}
|
||||
public static boolean messageListCheckboxes()
|
||||
{
|
||||
return mMessageListCheckboxes;
|
||||
}
|
||||
|
||||
public static void setMessageListCheckboxes(boolean checkboxes)
|
||||
{
|
||||
mMessageListCheckboxes = checkboxes;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -109,6 +109,7 @@ public class MessageList
|
||||
private boolean sortDateAscending = false;
|
||||
|
||||
private boolean mStars = true;
|
||||
private boolean mCheckboxes = true;
|
||||
private int mSelectedCount = 0;
|
||||
|
||||
private View mBatchButtonArea;
|
||||
@ -465,6 +466,7 @@ public class MessageList
|
||||
super.onResume();
|
||||
|
||||
mStars = K9.messageListStars();
|
||||
mCheckboxes = K9.messageListCheckboxes();
|
||||
mTouchView = K9.messageListTouchable();
|
||||
|
||||
sortType = mController.getSortType();
|
||||
@ -1332,7 +1334,7 @@ public class MessageList
|
||||
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
|
||||
{
|
||||
|
||||
if (e2 == null || e1 == null)
|
||||
if (e2 == null || e1 == null)
|
||||
return true;
|
||||
|
||||
float deltaX = e2.getX() - e1.getX(),
|
||||
@ -1845,6 +1847,7 @@ public class MessageList
|
||||
holder.date = (TextView) view.findViewById(R.id.date);
|
||||
holder.chip = view.findViewById(R.id.chip);
|
||||
holder.preview = (TextView) view.findViewById(R.id.preview);
|
||||
holder.selected = (CheckBox) view.findViewById(R.id.selected_checkbox);
|
||||
holder.flagged = (CheckBox) view.findViewById(R.id.flagged);
|
||||
holder.flagged.setOnClickListener(new OnClickListener()
|
||||
{
|
||||
@ -1857,11 +1860,11 @@ public class MessageList
|
||||
});
|
||||
|
||||
if (mStars == false)
|
||||
{
|
||||
holder.flagged.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
holder.selected = (CheckBox) view.findViewById(R.id.selected_checkbox);
|
||||
if (mCheckboxes == true)
|
||||
holder.selected.setVisibility(View.VISIBLE);
|
||||
|
||||
|
||||
|
||||
if (holder.selected!=null)
|
||||
@ -1887,13 +1890,16 @@ public class MessageList
|
||||
holder.position = -1;
|
||||
holder.selected.setChecked(message.selected);
|
||||
|
||||
if (message.selected == true)
|
||||
if (!mCheckboxes)
|
||||
{
|
||||
holder.selected.setVisibility(View.VISIBLE);
|
||||
}
|
||||
else
|
||||
{
|
||||
holder.selected.setVisibility(View.GONE);
|
||||
if (message.selected == true)
|
||||
{
|
||||
holder.selected.setVisibility(View.VISIBLE);
|
||||
}
|
||||
else
|
||||
{
|
||||
holder.selected.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
holder.chip.setBackgroundResource(K9.COLOR_CHIP_RES_IDS[message.account.getAccountNumber() % K9.COLOR_CHIP_RES_IDS.length]);
|
||||
holder.chip.getBackground().setAlpha(message.read ? 127 : 255);
|
||||
@ -1965,7 +1971,8 @@ public class MessageList
|
||||
//WARNING: Order of the next 2 lines matter
|
||||
holder.position = -1;
|
||||
holder.selected.setChecked(false);
|
||||
holder.selected.setVisibility(View.GONE);
|
||||
if (!mCheckboxes)
|
||||
holder.selected.setVisibility(View.GONE);
|
||||
holder.flagged.setChecked(false);
|
||||
}
|
||||
return view;
|
||||
@ -2272,13 +2279,16 @@ public class MessageList
|
||||
//We must set the flag before showing the buttons
|
||||
//as the buttons text depends on what is selected
|
||||
message.selected = isChecked;
|
||||
if (isChecked == true)
|
||||
if (!mCheckboxes)
|
||||
{
|
||||
selected.setVisibility(View.VISIBLE);
|
||||
}
|
||||
else
|
||||
{
|
||||
selected.setVisibility(View.GONE);
|
||||
if (isChecked == true)
|
||||
{
|
||||
selected.setVisibility(View.VISIBLE);
|
||||
}
|
||||
else
|
||||
{
|
||||
selected.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
toggleBatchButtons();
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ public class Prefs extends K9PreferenceActivity
|
||||
|
||||
private static final String PREFERENCE_ANIMATIONS = "animations";
|
||||
private static final String PREFERENCE_MESSAGELIST_STARS = "messagelist_stars";
|
||||
private static final String PREFERENCE_MESSAGELIST_CHECKBOXES = "messagelist_checkboxes";
|
||||
private static final String PREFERENCE_MESSAGELIST_TOUCHABLE = "messagelist_touchable";
|
||||
|
||||
private ListPreference mTheme;
|
||||
@ -37,6 +38,7 @@ public class Prefs extends K9PreferenceActivity
|
||||
private CheckBoxPreference mSensitiveLogging;
|
||||
private CheckBoxPreference mAnimations;
|
||||
private CheckBoxPreference mStars;
|
||||
private CheckBoxPreference mCheckboxes;
|
||||
private CheckBoxPreference mTouchable;
|
||||
|
||||
|
||||
@ -127,6 +129,9 @@ public class Prefs extends K9PreferenceActivity
|
||||
mStars = (CheckBoxPreference)findPreference(PREFERENCE_MESSAGELIST_STARS);
|
||||
mStars.setChecked(K9.messageListStars());
|
||||
|
||||
mCheckboxes = (CheckBoxPreference)findPreference(PREFERENCE_MESSAGELIST_CHECKBOXES);
|
||||
mCheckboxes.setChecked(K9.messageListCheckboxes());
|
||||
|
||||
mTouchable = (CheckBoxPreference)findPreference(PREFERENCE_MESSAGELIST_TOUCHABLE);
|
||||
mTouchable.setChecked(K9.messageListTouchable());
|
||||
}
|
||||
@ -148,6 +153,7 @@ public class Prefs extends K9PreferenceActivity
|
||||
|
||||
K9.setAnimations(mAnimations.isChecked());
|
||||
K9.setMessageListStars(mStars.isChecked());
|
||||
K9.setMessageListCheckboxes(mCheckboxes.isChecked());
|
||||
|
||||
K9.setMessageListTouchable(mTouchable.isChecked());
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user