selectAllOnMouseClick

This commit is contained in:
mmatessi
2020-11-04 10:16:23 +01:00
parent 7e6619af00
commit ab3adf4ae3
4 changed files with 8 additions and 4 deletions

View File

@@ -36,13 +36,15 @@ public class FlatCaret
implements UIResource
{
private final String selectAllOnFocusPolicy;
private final boolean selectAllOnMouseClick;
private boolean wasFocused;
private boolean wasTemporaryLost;
private boolean isMousePressed;
public FlatCaret( String selectAllOnFocusPolicy ) {
public FlatCaret( String selectAllOnFocusPolicy, boolean selectAllOnMouseClick ) {
this.selectAllOnFocusPolicy = selectAllOnFocusPolicy;
this.selectAllOnMouseClick = selectAllOnMouseClick;
}
@Override
@@ -61,7 +63,7 @@ public class FlatCaret
@Override
public void focusGained( FocusEvent e ) {
if( !wasTemporaryLost && !isMousePressed )
if( !wasTemporaryLost && ( !isMousePressed || selectAllOnMouseClick) )
selectAllOnFocusGained();
wasTemporaryLost = false;
wasFocused = true;

View File

@@ -144,7 +144,7 @@ public class FlatPasswordFieldUI
@Override
protected Caret createCaret() {
return new FlatCaret( UIManager.getString( "TextComponent.selectAllOnFocusPolicy" ) );
return new FlatCaret( UIManager.getString( "TextComponent.selectAllOnFocusPolicy" ), UIManager.getBoolean( "TextComponent.selectAllOnMouseClick" ) );
}
@Override

View File

@@ -64,6 +64,7 @@ import com.formdev.flatlaf.util.HiDPIUtils;
* @uiDefault Component.isIntelliJTheme boolean
* @uiDefault TextField.placeholderForeground Color
* @uiDefault TextComponent.selectAllOnFocusPolicy String never, once (default) or always
* @uiDefault TextComponent.selectAllOnMouseClick boolean
*
* @author Karl Tauber
*/
@@ -121,7 +122,7 @@ public class FlatTextFieldUI
@Override
protected Caret createCaret() {
return new FlatCaret( UIManager.getString( "TextComponent.selectAllOnFocusPolicy" ) );
return new FlatCaret( UIManager.getString( "TextComponent.selectAllOnFocusPolicy"), UIManager.getBoolean( "TextComponent.selectAllOnMouseClick" ) );
}
@Override

View File

@@ -607,6 +607,7 @@ TextArea.background=@textComponentBackground
# allowed values: "never", "once" (default) or "always"
TextComponent.selectAllOnFocusPolicy=once
TextComponent.selectAllOnMouseClick=true
TextComponent.arc=0