Merge pull request #755 from ThibG/glitch-soc/features/optional-reply-selection

Make pre-selection of usernames optional when replying to a toot
This commit is contained in:
David Yip 2018-09-29 19:01:05 -05:00 committed by GitHub
commit 278d21bb0b
3 changed files with 13 additions and 1 deletions

View file

@ -102,6 +102,7 @@ function mapStateToProps (state) {
anyMedia: state.getIn(['compose', 'media_attachments']).size > 0,
spoilersAlwaysOn: spoilersAlwaysOn,
mediaDescriptionConfirmation: state.getIn(['local_settings', 'confirm_missing_media_description']),
preselectOnReply: state.getIn(['local_settings', 'preselect_on_reply']),
};
};
@ -328,13 +329,14 @@ class Composer extends React.Component {
isSubmitting,
preselectDate,
text,
preselectOnReply,
} = this.props;
let selectionEnd, selectionStart;
// Caret/selection handling.
if (focusDate !== prevProps.focusDate) {
switch (true) {
case preselectDate !== prevProps.preselectDate:
case preselectDate !== prevProps.preselectDate && preselectOnReply:
selectionStart = text.search(/\s/) + 1;
selectionEnd = text.length;
break;
@ -534,6 +536,7 @@ Composer.propTypes = {
anyMedia: PropTypes.bool,
spoilersAlwaysOn: PropTypes.bool,
mediaDescriptionConfirmation: PropTypes.bool,
preselectOnReply: PropTypes.bool,
// Dispatch props.
onCancelReply: PropTypes.func,

View file

@ -106,6 +106,14 @@ export default class LocalSettingsPage extends React.PureComponent {
>
<FormattedMessage id='settings.always_show_spoilers_field' defaultMessage='Always enable the Content Warning field' />
</LocalSettingsPageItem>
<LocalSettingsPageItem
settings={settings}
item={['preselect_on_reply']}
id='mastodon-settings--preselect_on_reply'
onChange={onChange}
>
<FormattedMessage id='settings.preselect_on_reply' defaultMessage='Pre-select usernames past the first when replying to a toot with multiple participants' />
</LocalSettingsPageItem>
<LocalSettingsPageItem
settings={settings}
item={['confirm_missing_media_description']}

View file

@ -14,6 +14,7 @@ const initialState = ImmutableMap({
show_reply_count : false,
always_show_spoilers_field: false,
confirm_missing_media_description: false,
preselect_on_reply: true,
content_warnings : ImmutableMap({
auto_unfold : false,
filter : null,