mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-11 22:47:13 -06:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9026efeb26 | ||
|
|
2ab023beb0 | ||
|
|
8e471fd720 | ||
|
|
13cbbd8bc1 | ||
|
|
b08ccc9767 | ||
|
|
801a7023a4 | ||
|
|
dd06b554da | ||
|
|
23f0504b30 | ||
|
|
262d172cde | ||
|
|
be81cb7876 | ||
|
|
aaf9bd33cb | ||
|
|
7381e2141f | ||
|
|
3923d941c1 | ||
|
|
d134c33499 | ||
|
|
a2b615d4a7 | ||
|
|
2e1acb7871 | ||
|
|
97a1bf90a4 | ||
|
|
7d3ffbc45a | ||
|
|
93ac6fa88a |
17
CHANGELOG.md
17
CHANGELOG.md
@@ -1,6 +1,23 @@
|
|||||||
FlatLaf Change Log
|
FlatLaf Change Log
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
## 0.32
|
||||||
|
|
||||||
|
- ToggleButton: Compute selected background color based on current component
|
||||||
|
background. (issue #32)
|
||||||
|
- IntelliJ Themes: Fixed button and toggle button colors. (issue #86)
|
||||||
|
- Updated IntelliJ Themes in demo to the latest versions.
|
||||||
|
|
||||||
|
|
||||||
|
## 0.31
|
||||||
|
|
||||||
|
- Focus indication border (or background) no longer hidden when temporary
|
||||||
|
loosing focus (e.g. showing a popup menu).
|
||||||
|
- List, Table and Tree: Item selection color of focused components no longer
|
||||||
|
change from blue to gray when temporary loosing focus (e.g. showing a popup
|
||||||
|
menu).
|
||||||
|
|
||||||
|
|
||||||
## 0.30
|
## 0.30
|
||||||
|
|
||||||
- Windows: Fixed rendering of Unicode characters. Previously not all Unicode
|
- Windows: Fixed rendering of Unicode characters. Previously not all Unicode
|
||||||
|
|||||||
@@ -79,7 +79,13 @@ Projects using FlatLaf
|
|||||||
- [jclasslib bytecode viewer](https://github.com/ingokegel/jclasslib) 5.5
|
- [jclasslib bytecode viewer](https://github.com/ingokegel/jclasslib) 5.5
|
||||||
- [KeyStore Explorer](https://keystore-explorer.org/) 5.4.3
|
- [KeyStore Explorer](https://keystore-explorer.org/) 5.4.3
|
||||||
- [OWASP Zed Attack Proxy (ZAP)](https://www.zaproxy.org/) (in weekly releases)
|
- [OWASP Zed Attack Proxy (ZAP)](https://www.zaproxy.org/) (in weekly releases)
|
||||||
|
- [XMLmind XML Editor](https://www.xmlmind.com/xmleditor/) 9.3 (commercial)
|
||||||
|
- [Total Validator](https://www.totalvalidator.com/) 15 (commercial)
|
||||||
- [j-lawyer](https://github.com/jlawyerorg/j-lawyer-org)
|
- [j-lawyer](https://github.com/jlawyerorg/j-lawyer-org)
|
||||||
|
- [MegaMek](https://github.com/MegaMek/megamek) v0.47.4 and
|
||||||
|
[MekHQ](https://github.com/MegaMek/mekhq) v0.47.5
|
||||||
|
- [GUIslice Builder](https://github.com/ImpulseAdventure/GUIslice-Builder)
|
||||||
|
0.13.b024
|
||||||
- [Rest Suite](https://github.com/supanadit/restsuite)
|
- [Rest Suite](https://github.com/supanadit/restsuite)
|
||||||
- [ControllerBuddy](https://github.com/bwRavencl/ControllerBuddy)
|
- [ControllerBuddy](https://github.com/bwRavencl/ControllerBuddy)
|
||||||
- [SpringRemote](https://github.com/HaleyWang/SpringRemote)
|
- [SpringRemote](https://github.com/HaleyWang/SpringRemote)
|
||||||
@@ -89,6 +95,8 @@ Projects using FlatLaf
|
|||||||
[mendelson AS2](https://mendelson-e-c.com/as2/),
|
[mendelson AS2](https://mendelson-e-c.com/as2/),
|
||||||
[AS4](https://mendelson-e-c.com/as4/) and
|
[AS4](https://mendelson-e-c.com/as4/) and
|
||||||
[OFTP2](https://mendelson-e-c.com/oftp2) (commercial)
|
[OFTP2](https://mendelson-e-c.com/oftp2) (commercial)
|
||||||
|
- [MeteoInfo](https://github.com/meteoinfo/MeteoInfo) 2.1.6
|
||||||
|
- [lsfusion platform](https://github.com/lsfusion/platform)
|
||||||
- and more...
|
- and more...
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
val releaseVersion = "0.30"
|
val releaseVersion = "0.32"
|
||||||
val developmentVersion = "0.31-SNAPSHOT"
|
val developmentVersion = "0.33-SNAPSHOT"
|
||||||
|
|
||||||
version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion
|
version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion
|
||||||
|
|
||||||
|
|||||||
@@ -282,9 +282,9 @@ public abstract class FlatLaf
|
|||||||
// load defaults from properties
|
// load defaults from properties
|
||||||
List<Class<?>> lafClassesForDefaultsLoading = getLafClassesForDefaultsLoading();
|
List<Class<?>> lafClassesForDefaultsLoading = getLafClassesForDefaultsLoading();
|
||||||
if( lafClassesForDefaultsLoading != null )
|
if( lafClassesForDefaultsLoading != null )
|
||||||
UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, getAdditionalDefaults(), defaults );
|
UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, getAdditionalDefaults(), isDark(), defaults );
|
||||||
else
|
else
|
||||||
UIDefaultsLoader.loadDefaultsFromProperties( getClass(), addons, getAdditionalDefaults(), defaults );
|
UIDefaultsLoader.loadDefaultsFromProperties( getClass(), addons, getAdditionalDefaults(), isDark(), defaults );
|
||||||
|
|
||||||
// use Aqua MenuBarUI if Mac screen menubar is enabled
|
// use Aqua MenuBarUI if Mac screen menubar is enabled
|
||||||
if( SystemInfo.IS_MAC && Boolean.getBoolean( "apple.laf.useScreenMenuBar" ) )
|
if( SystemInfo.IS_MAC && Boolean.getBoolean( "apple.laf.useScreenMenuBar" ) )
|
||||||
|
|||||||
@@ -132,6 +132,8 @@ public class IntelliJTheme
|
|||||||
defaults.put( "Button.paintShadow", true );
|
defaults.put( "Button.paintShadow", true );
|
||||||
defaults.put( "Button.shadowWidth", dark ? 2 : 1 );
|
defaults.put( "Button.shadowWidth", dark ? 2 : 1 );
|
||||||
|
|
||||||
|
Map<Object, Object> themeSpecificDefaults = removeThemeSpecificDefaults( defaults );
|
||||||
|
|
||||||
loadNamedColors( defaults );
|
loadNamedColors( defaults );
|
||||||
|
|
||||||
// convert Json "ui" structure to UI defaults
|
// convert Json "ui" structure to UI defaults
|
||||||
@@ -183,6 +185,37 @@ public class IntelliJTheme
|
|||||||
if( !uiKeys.contains( "Spinner.background" ) )
|
if( !uiKeys.contains( "Spinner.background" ) )
|
||||||
defaults.put( "Spinner.background", textFieldBackground );
|
defaults.put( "Spinner.background", textFieldBackground );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fix ToggleButton
|
||||||
|
if( !uiKeys.contains( "ToggleButton.startBackground" ) && !uiKeys.contains( "*.startBackground" ) )
|
||||||
|
defaults.put( "ToggleButton.startBackground", defaults.get( "Button.startBackground" ) );
|
||||||
|
if( !uiKeys.contains( "ToggleButton.endBackground" ) && !uiKeys.contains( "*.endBackground" ) )
|
||||||
|
defaults.put( "ToggleButton.endBackground", defaults.get( "Button.endBackground" ) );
|
||||||
|
if( !uiKeys.contains( "ToggleButton.foreground" ) && uiKeys.contains( "Button.foreground" ) )
|
||||||
|
defaults.put( "ToggleButton.foreground", defaults.get( "Button.foreground" ) );
|
||||||
|
|
||||||
|
// apply theme specific UI defaults at the end to allow overwriting
|
||||||
|
defaults.putAll( themeSpecificDefaults );
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<Object, Object> removeThemeSpecificDefaults( UIDefaults defaults ) {
|
||||||
|
// search for theme specific UI defaults keys
|
||||||
|
ArrayList<String> themeSpecificKeys = new ArrayList<>();
|
||||||
|
for( Object key : defaults.keySet() ) {
|
||||||
|
if( key instanceof String && ((String)key).startsWith( "[" ) )
|
||||||
|
themeSpecificKeys.add( (String) key );
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove theme specific UI defaults and remember only those for current theme
|
||||||
|
Map<Object, Object> themeSpecificDefaults = new HashMap<>();
|
||||||
|
String currentThemePrefix = '[' + name.replace( ' ', '_' ) + ']';
|
||||||
|
for( String key : themeSpecificKeys ) {
|
||||||
|
Object value = defaults.remove( key );
|
||||||
|
if( key.startsWith( currentThemePrefix ) )
|
||||||
|
themeSpecificDefaults.put( key.substring( currentThemePrefix.length() ), value );
|
||||||
|
}
|
||||||
|
|
||||||
|
return themeSpecificDefaults;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -270,7 +303,7 @@ public class IntelliJTheme
|
|||||||
// (e.g. set ComboBox.buttonEditableBackground to *.background
|
// (e.g. set ComboBox.buttonEditableBackground to *.background
|
||||||
// because it is mapped from ComboBox.ArrowButton.background)
|
// because it is mapped from ComboBox.ArrowButton.background)
|
||||||
String km = uiKeyInverseMapping.getOrDefault( k, (String) k );
|
String km = uiKeyInverseMapping.getOrDefault( k, (String) k );
|
||||||
if( km.endsWith( tail ) && !noWildcardReplace.contains( k ) && !((String)k).startsWith( "CheckBox.icon." ) )
|
if( km.endsWith( tail ) && !((String)k).startsWith( "CheckBox.icon." ) )
|
||||||
defaults.put( k, uiValue );
|
defaults.put( k, uiValue );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -412,7 +445,6 @@ public class IntelliJTheme
|
|||||||
private static Map<String, String> uiKeyInverseMapping = new HashMap<>();
|
private static Map<String, String> uiKeyInverseMapping = new HashMap<>();
|
||||||
private static Map<String, String> checkboxKeyMapping = new HashMap<>();
|
private static Map<String, String> checkboxKeyMapping = new HashMap<>();
|
||||||
private static Map<String, String> checkboxDuplicateColors = new HashMap<>();
|
private static Map<String, String> checkboxDuplicateColors = new HashMap<>();
|
||||||
private static Set<String> noWildcardReplace = new HashSet<>();
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
// ComboBox
|
// ComboBox
|
||||||
@@ -470,16 +502,6 @@ public class IntelliJTheme
|
|||||||
Map.Entry<String, String>[] entries = checkboxDuplicateColors.entrySet().toArray( new Map.Entry[checkboxDuplicateColors.size()] );
|
Map.Entry<String, String>[] entries = checkboxDuplicateColors.entrySet().toArray( new Map.Entry[checkboxDuplicateColors.size()] );
|
||||||
for( Map.Entry<String, String> e : entries )
|
for( Map.Entry<String, String> e : entries )
|
||||||
checkboxDuplicateColors.put( e.getValue(), e.getKey() );
|
checkboxDuplicateColors.put( e.getValue(), e.getKey() );
|
||||||
|
|
||||||
// because FlatLaf uses Button.background and Button.borderColor,
|
|
||||||
// but IDEA uses Button.startBackground and Button.startBorderColor,
|
|
||||||
// our default button background and border colors may be replaced by
|
|
||||||
// wildcard *.background and *.borderColor colors
|
|
||||||
noWildcardReplace.add( "Button.background" );
|
|
||||||
noWildcardReplace.add( "Button.borderColor" );
|
|
||||||
noWildcardReplace.add( "Button.default.background" );
|
|
||||||
noWildcardReplace.add( "Button.default.borderColor" );
|
|
||||||
noWildcardReplace.add( "ToggleButton.background" );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---- class ThemeLaf -----------------------------------------------------
|
//---- class ThemeLaf -----------------------------------------------------
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ class UIDefaultsLoader
|
|||||||
private static final String GLOBAL_PREFIX = "*.";
|
private static final String GLOBAL_PREFIX = "*.";
|
||||||
|
|
||||||
static void loadDefaultsFromProperties( Class<?> lookAndFeelClass, List<FlatDefaultsAddon> addons,
|
static void loadDefaultsFromProperties( Class<?> lookAndFeelClass, List<FlatDefaultsAddon> addons,
|
||||||
Properties additionalDefaults, UIDefaults defaults )
|
Properties additionalDefaults, boolean dark, UIDefaults defaults )
|
||||||
{
|
{
|
||||||
// determine classes in class hierarchy in reverse order
|
// determine classes in class hierarchy in reverse order
|
||||||
ArrayList<Class<?>> lafClasses = new ArrayList<>();
|
ArrayList<Class<?>> lafClasses = new ArrayList<>();
|
||||||
@@ -80,11 +80,11 @@ class UIDefaultsLoader
|
|||||||
lafClasses.add( 0, lafClass );
|
lafClasses.add( 0, lafClass );
|
||||||
}
|
}
|
||||||
|
|
||||||
loadDefaultsFromProperties( lafClasses, addons, additionalDefaults, defaults );
|
loadDefaultsFromProperties( lafClasses, addons, additionalDefaults, dark, defaults );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void loadDefaultsFromProperties( List<Class<?>> lafClasses, List<FlatDefaultsAddon> addons,
|
static void loadDefaultsFromProperties( List<Class<?>> lafClasses, List<FlatDefaultsAddon> addons,
|
||||||
Properties additionalDefaults, UIDefaults defaults )
|
Properties additionalDefaults, boolean dark, UIDefaults defaults )
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
// load core properties files
|
// load core properties files
|
||||||
@@ -121,14 +121,28 @@ class UIDefaultsLoader
|
|||||||
|
|
||||||
// collect all platform specific keys (but do not modify properties)
|
// collect all platform specific keys (but do not modify properties)
|
||||||
ArrayList<String> platformSpecificKeys = new ArrayList<>();
|
ArrayList<String> platformSpecificKeys = new ArrayList<>();
|
||||||
for( Object key : properties.keySet() ) {
|
for( Object okey : properties.keySet() ) {
|
||||||
if( ((String)key).startsWith( "[" ) )
|
String key = (String) okey;
|
||||||
platformSpecificKeys.add( (String) key );
|
if( key.startsWith( "[" ) &&
|
||||||
|
(key.startsWith( "[win]" ) ||
|
||||||
|
key.startsWith( "[mac]" ) ||
|
||||||
|
key.startsWith( "[linux]" ) ||
|
||||||
|
key.startsWith( "[light]" ) ||
|
||||||
|
key.startsWith( "[dark]" )) )
|
||||||
|
platformSpecificKeys.add( key );
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove platform specific properties and re-add only properties
|
// remove platform specific properties and re-add only properties
|
||||||
// for current platform, but with platform prefix removed
|
// for current platform, but with platform prefix removed
|
||||||
if( !platformSpecificKeys.isEmpty() ) {
|
if( !platformSpecificKeys.isEmpty() ) {
|
||||||
|
// handle light/dark specific properties
|
||||||
|
String lightOrDarkPrefix = dark ? "[dark]" : "[light]";
|
||||||
|
for( String key : platformSpecificKeys ) {
|
||||||
|
if( key.startsWith( lightOrDarkPrefix ) )
|
||||||
|
properties.put( key.substring( lightOrDarkPrefix.length() ), properties.remove( key ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
// handle platform specific properties
|
||||||
String platformPrefix =
|
String platformPrefix =
|
||||||
SystemInfo.IS_WINDOWS ? "[win]" :
|
SystemInfo.IS_WINDOWS ? "[win]" :
|
||||||
SystemInfo.IS_MAC ? "[mac]" :
|
SystemInfo.IS_MAC ? "[mac]" :
|
||||||
@@ -544,35 +558,37 @@ class UIDefaultsLoader
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Syntax: lighten([color,]amount[,options]) or darken([color,]amount[,options])
|
* Syntax: lighten(color,amount[,options]) or darken(color,amount[,options])
|
||||||
* - color: a color (e.g. #f00) or a color function
|
* - color: a color (e.g. #f00) or a color function
|
||||||
* - amount: percentage 0-100%
|
* - amount: percentage 0-100%
|
||||||
* - options: [relative] [autoInverse] [lazy]
|
* - options: [relative] [autoInverse] [lazy] [derived]
|
||||||
*/
|
*/
|
||||||
private static Object parseColorLightenOrDarken( boolean lighten, List<String> params,
|
private static Object parseColorLightenOrDarken( boolean lighten, List<String> params,
|
||||||
Function<String, String> resolver, boolean reportError )
|
Function<String, String> resolver, boolean reportError )
|
||||||
{
|
{
|
||||||
boolean isDerived = params.get( 0 ).endsWith( "%" );
|
String colorStr = params.get( 0 );
|
||||||
String colorStr = isDerived ? null : params.get( 0 );
|
int amount = parsePercentage( params.get( 1 ) );
|
||||||
int nextParam = isDerived ? 0 : 1;
|
|
||||||
int amount = parsePercentage( params.get( nextParam++ ) );
|
|
||||||
boolean relative = false;
|
boolean relative = false;
|
||||||
boolean autoInverse = false;
|
boolean autoInverse = false;
|
||||||
boolean lazy = false;
|
boolean lazy = false;
|
||||||
|
boolean derived = false;
|
||||||
|
|
||||||
if( params.size() > nextParam ) {
|
if( params.size() > 2 ) {
|
||||||
String options = params.get( nextParam++ );
|
String options = params.get( 2 );
|
||||||
relative = options.contains( "relative" );
|
relative = options.contains( "relative" );
|
||||||
autoInverse = options.contains( "autoInverse" );
|
autoInverse = options.contains( "autoInverse" );
|
||||||
lazy = options.contains( "lazy" );
|
lazy = options.contains( "lazy" );
|
||||||
|
derived = options.contains( "derived" );
|
||||||
}
|
}
|
||||||
|
|
||||||
ColorFunctions.ColorFunction function = lighten
|
ColorFunctions.ColorFunction function = lighten
|
||||||
? new ColorFunctions.Lighten( amount, relative, autoInverse )
|
? new ColorFunctions.Lighten( amount, relative, autoInverse )
|
||||||
: new ColorFunctions.Darken( amount, relative, autoInverse );
|
: new ColorFunctions.Darken( amount, relative, autoInverse );
|
||||||
|
|
||||||
if( isDerived )
|
if( derived ) {
|
||||||
return new DerivedColor( function );
|
ColorUIResource color = (ColorUIResource) parseColorOrFunction( resolver.apply( colorStr ), resolver, reportError );
|
||||||
|
return new DerivedColor( ColorFunctions.applyFunctions( color, function ), function );
|
||||||
|
}
|
||||||
|
|
||||||
if( lazy ) {
|
if( lazy ) {
|
||||||
return (LazyValue) t -> {
|
return (LazyValue) t -> {
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ public class FlatCheckBoxIcon
|
|||||||
boolean selected = indeterminate || (c instanceof AbstractButton && ((AbstractButton)c).isSelected());
|
boolean selected = indeterminate || (c instanceof AbstractButton && ((AbstractButton)c).isSelected());
|
||||||
|
|
||||||
// paint focused border
|
// paint focused border
|
||||||
if( c.hasFocus() && focusWidth > 0 ) {
|
if( FlatUIUtils.isPermanentFocusOwner( c ) && focusWidth > 0 ) {
|
||||||
g2.setColor( focusColor );
|
g2.setColor( focusColor );
|
||||||
paintFocusBorder( g2 );
|
paintFocusBorder( g2 );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ public class FlatHelpButtonIcon
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
boolean enabled = c.isEnabled();
|
boolean enabled = c.isEnabled();
|
||||||
boolean focused = c.hasFocus();
|
boolean focused = FlatUIUtils.isPermanentFocusOwner( c );
|
||||||
|
|
||||||
// paint focused border
|
// paint focused border
|
||||||
if( focused ) {
|
if( focused ) {
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ public class FlatBorder
|
|||||||
JViewport viewport = ((JScrollPane)c).getViewport();
|
JViewport viewport = ((JScrollPane)c).getViewport();
|
||||||
Component view = (viewport != null) ? viewport.getView() : null;
|
Component view = (viewport != null) ? viewport.getView() : null;
|
||||||
if( view != null ) {
|
if( view != null ) {
|
||||||
if( view.hasFocus() )
|
if( FlatUIUtils.isPermanentFocusOwner( view ) )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if( (view instanceof JTable && ((JTable)view).isEditing()) ||
|
if( (view instanceof JTable && ((JTable)view).isEditing()) ||
|
||||||
@@ -133,17 +133,17 @@ public class FlatBorder
|
|||||||
return false;
|
return false;
|
||||||
} else if( c instanceof JComboBox && ((JComboBox<?>)c).isEditable() ) {
|
} else if( c instanceof JComboBox && ((JComboBox<?>)c).isEditable() ) {
|
||||||
Component editorComponent = ((JComboBox<?>)c).getEditor().getEditorComponent();
|
Component editorComponent = ((JComboBox<?>)c).getEditor().getEditorComponent();
|
||||||
return (editorComponent != null) ? editorComponent.hasFocus() : false;
|
return (editorComponent != null) ? FlatUIUtils.isPermanentFocusOwner( editorComponent ) : false;
|
||||||
} else if( c instanceof JSpinner ) {
|
} else if( c instanceof JSpinner ) {
|
||||||
JComponent editor = ((JSpinner)c).getEditor();
|
JComponent editor = ((JSpinner)c).getEditor();
|
||||||
if( editor instanceof JSpinner.DefaultEditor ) {
|
if( editor instanceof JSpinner.DefaultEditor ) {
|
||||||
JTextField textField = ((JSpinner.DefaultEditor)editor).getTextField();
|
JTextField textField = ((JSpinner.DefaultEditor)editor).getTextField();
|
||||||
if( textField != null )
|
if( textField != null )
|
||||||
return textField.hasFocus();
|
return FlatUIUtils.isPermanentFocusOwner( textField );
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
} else
|
} else
|
||||||
return c.hasFocus();
|
return FlatUIUtils.isPermanentFocusOwner( c );
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isTableCellEditor( Component c ) {
|
protected boolean isTableCellEditor( Component c ) {
|
||||||
|
|||||||
@@ -294,7 +294,9 @@ public class FlatButtonUI
|
|||||||
|
|
||||||
// paint shadow
|
// paint shadow
|
||||||
Color shadowColor = def ? defaultShadowColor : this.shadowColor;
|
Color shadowColor = def ? defaultShadowColor : this.shadowColor;
|
||||||
if( !isToolBarButton && shadowColor != null && shadowWidth > 0 && focusWidth > 0 && !c.hasFocus() && c.isEnabled() ) {
|
if( !isToolBarButton && shadowColor != null && shadowWidth > 0 && focusWidth > 0 &&
|
||||||
|
!FlatUIUtils.isPermanentFocusOwner( c ) && c.isEnabled() )
|
||||||
|
{
|
||||||
g2.setColor( shadowColor );
|
g2.setColor( shadowColor );
|
||||||
g2.fill( new RoundRectangle2D.Float( focusWidth, focusWidth + UIScale.scale( (float) shadowWidth ),
|
g2.fill( new RoundRectangle2D.Float( focusWidth, focusWidth + UIScale.scale( (float) shadowWidth ),
|
||||||
width - focusWidth * 2, height - focusWidth * 2, arc, arc ) );
|
width - focusWidth * 2, height - focusWidth * 2, arc, arc ) );
|
||||||
@@ -382,7 +384,7 @@ public class FlatButtonUI
|
|||||||
if( hoverColor != null && b != null && b.getModel().isRollover() )
|
if( hoverColor != null && b != null && b.getModel().isRollover() )
|
||||||
return hoverColor;
|
return hoverColor;
|
||||||
|
|
||||||
if( focusedColor != null && c.hasFocus() )
|
if( focusedColor != null && FlatUIUtils.isPermanentFocusOwner( c ) )
|
||||||
return focusedColor;
|
return focusedColor;
|
||||||
|
|
||||||
return enabledColor;
|
return enabledColor;
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public class FlatListUI
|
|||||||
selectionInactiveBackground = UIManager.getColor( "List.selectionInactiveBackground" );
|
selectionInactiveBackground = UIManager.getColor( "List.selectionInactiveBackground" );
|
||||||
selectionInactiveForeground = UIManager.getColor( "List.selectionInactiveForeground" );
|
selectionInactiveForeground = UIManager.getColor( "List.selectionInactiveForeground" );
|
||||||
|
|
||||||
toggleSelectionColors( list.hasFocus() );
|
toggleSelectionColors();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -100,13 +100,13 @@ public class FlatListUI
|
|||||||
@Override
|
@Override
|
||||||
public void focusGained( FocusEvent e ) {
|
public void focusGained( FocusEvent e ) {
|
||||||
super.focusGained( e );
|
super.focusGained( e );
|
||||||
toggleSelectionColors( true );
|
toggleSelectionColors();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void focusLost( FocusEvent e ) {
|
public void focusLost( FocusEvent e ) {
|
||||||
super.focusLost( e );
|
super.focusLost( e );
|
||||||
toggleSelectionColors( false );
|
toggleSelectionColors();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -120,8 +120,8 @@ public class FlatListUI
|
|||||||
* already used in applications. Then either the inactive colors are not used,
|
* already used in applications. Then either the inactive colors are not used,
|
||||||
* or the application has to be changed to extend a FlatLaf renderer.
|
* or the application has to be changed to extend a FlatLaf renderer.
|
||||||
*/
|
*/
|
||||||
private void toggleSelectionColors( boolean focused ) {
|
private void toggleSelectionColors() {
|
||||||
if( focused ) {
|
if( FlatUIUtils.isPermanentFocusOwner( list ) ) {
|
||||||
if( list.getSelectionBackground() == selectionInactiveBackground )
|
if( list.getSelectionBackground() == selectionInactiveBackground )
|
||||||
list.setSelectionBackground( selectionBackground );
|
list.setSelectionBackground( selectionBackground );
|
||||||
if( list.getSelectionForeground() == selectionInactiveForeground )
|
if( list.getSelectionForeground() == selectionInactiveForeground )
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ public class FlatPasswordFieldUI
|
|||||||
|
|
||||||
protected void paintCapsLock( Graphics g ) {
|
protected void paintCapsLock( Graphics g ) {
|
||||||
JTextComponent c = getComponent();
|
JTextComponent c = getComponent();
|
||||||
if( !c.isFocusOwner() ||
|
if( !FlatUIUtils.isPermanentFocusOwner( c ) ||
|
||||||
!Toolkit.getDefaultToolkit().getLockingKeyState( KeyEvent.VK_CAPS_LOCK ) )
|
!Toolkit.getDefaultToolkit().getLockingKeyState( KeyEvent.VK_CAPS_LOCK ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ public class FlatSliderUI
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( coloredTrack != null ) {
|
if( coloredTrack != null ) {
|
||||||
FlatUIUtils.setColor( g, slider.hasFocus() ? focusColor : (hover ? hoverColor : thumbColor), thumbColor );
|
FlatUIUtils.setColor( g, FlatUIUtils.isPermanentFocusOwner( slider ) ? focusColor : (hover ? hoverColor : thumbColor), thumbColor );
|
||||||
((Graphics2D)g).fill( coloredTrack );
|
((Graphics2D)g).fill( coloredTrack );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,7 +212,7 @@ public class FlatSliderUI
|
|||||||
@Override
|
@Override
|
||||||
public void paintThumb( Graphics g ) {
|
public void paintThumb( Graphics g ) {
|
||||||
FlatUIUtils.setColor( g, slider.isEnabled()
|
FlatUIUtils.setColor( g, slider.isEnabled()
|
||||||
? (slider.hasFocus() ? focusColor : (hover ? hoverColor : thumbColor))
|
? (FlatUIUtils.isPermanentFocusOwner( slider ) ? focusColor : (hover ? hoverColor : thumbColor))
|
||||||
: disabledForeground,
|
: disabledForeground,
|
||||||
thumbColor );
|
thumbColor );
|
||||||
|
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ public class FlatTabbedPaneUI
|
|||||||
boolean enabled = tabPane.isEnabled();
|
boolean enabled = tabPane.isEnabled();
|
||||||
g.setColor( enabled && tabPane.isEnabledAt( tabIndex ) && getRolloverTab() == tabIndex
|
g.setColor( enabled && tabPane.isEnabledAt( tabIndex ) && getRolloverTab() == tabIndex
|
||||||
? hoverColor
|
? hoverColor
|
||||||
: (enabled && isSelected && tabPane.hasFocus()
|
: (enabled && isSelected && FlatUIUtils.isPermanentFocusOwner( tabPane )
|
||||||
? focusColor
|
? focusColor
|
||||||
: (selectedBackground != null && enabled && isSelected
|
: (selectedBackground != null && enabled && isSelected
|
||||||
? selectedBackground
|
? selectedBackground
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ public class FlatTableUI
|
|||||||
selectionInactiveBackground = UIManager.getColor( "Table.selectionInactiveBackground" );
|
selectionInactiveBackground = UIManager.getColor( "Table.selectionInactiveBackground" );
|
||||||
selectionInactiveForeground = UIManager.getColor( "Table.selectionInactiveForeground" );
|
selectionInactiveForeground = UIManager.getColor( "Table.selectionInactiveForeground" );
|
||||||
|
|
||||||
toggleSelectionColors( table.hasFocus() );
|
toggleSelectionColors();
|
||||||
|
|
||||||
int rowHeight = FlatUIUtils.getUIInt( "Table.rowHeight", 16 );
|
int rowHeight = FlatUIUtils.getUIInt( "Table.rowHeight", 16 );
|
||||||
if( rowHeight > 0 )
|
if( rowHeight > 0 )
|
||||||
@@ -160,13 +160,13 @@ public class FlatTableUI
|
|||||||
@Override
|
@Override
|
||||||
public void focusGained( FocusEvent e ) {
|
public void focusGained( FocusEvent e ) {
|
||||||
super.focusGained( e );
|
super.focusGained( e );
|
||||||
toggleSelectionColors( true );
|
toggleSelectionColors();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void focusLost( FocusEvent e ) {
|
public void focusLost( FocusEvent e ) {
|
||||||
super.focusLost( e );
|
super.focusLost( e );
|
||||||
toggleSelectionColors( false );
|
toggleSelectionColors();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -180,8 +180,8 @@ public class FlatTableUI
|
|||||||
* already used in applications. Then either the inactive colors are not used,
|
* already used in applications. Then either the inactive colors are not used,
|
||||||
* or the application has to be changed to extend a FlatLaf renderer.
|
* or the application has to be changed to extend a FlatLaf renderer.
|
||||||
*/
|
*/
|
||||||
private void toggleSelectionColors( boolean focused ) {
|
private void toggleSelectionColors() {
|
||||||
if( focused ) {
|
if( FlatUIUtils.isPermanentFocusOwner( table ) ) {
|
||||||
if( table.getSelectionBackground() == selectionInactiveBackground )
|
if( table.getSelectionBackground() == selectionInactiveBackground )
|
||||||
table.setSelectionBackground( selectionBackground );
|
table.setSelectionBackground( selectionBackground );
|
||||||
if( table.getSelectionForeground() == selectionInactiveForeground )
|
if( table.getSelectionForeground() == selectionInactiveForeground )
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ public class FlatTreeUI
|
|||||||
TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf )
|
TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf )
|
||||||
{
|
{
|
||||||
boolean isEditing = (editingComponent != null && editingRow == row);
|
boolean isEditing = (editingComponent != null && editingRow == row);
|
||||||
boolean hasFocus = tree.hasFocus();
|
boolean hasFocus = FlatUIUtils.isPermanentFocusOwner( tree );
|
||||||
boolean cellHasFocus = hasFocus && (row == getLeadSelectionRow());
|
boolean cellHasFocus = hasFocus && (row == getLeadSelectionRow());
|
||||||
boolean isSelected = tree.isRowSelected( row );
|
boolean isSelected = tree.isRowSelected( row );
|
||||||
boolean isDropRow = isDropRow( row );
|
boolean isDropRow = isDropRow( row );
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import java.awt.Font;
|
|||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Insets;
|
import java.awt.Insets;
|
||||||
|
import java.awt.KeyboardFocusManager;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.RenderingHints;
|
import java.awt.RenderingHints;
|
||||||
import java.awt.Shape;
|
import java.awt.Shape;
|
||||||
@@ -136,6 +137,10 @@ public class FlatUIUtils
|
|||||||
return c instanceof JComponent && Boolean.TRUE.equals( ((JComponent)c).getClientProperty( "JComboBox.isTableCellEditor" ) );
|
return c instanceof JComponent && Boolean.TRUE.equals( ((JComponent)c).getClientProperty( "JComboBox.isTableCellEditor" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isPermanentFocusOwner( Component c ) {
|
||||||
|
return (KeyboardFocusManager.getCurrentKeyboardFocusManager().getPermanentFocusOwner() == c);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets rendering hints used for painting.
|
* Sets rendering hints used for painting.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ public class DerivedColor
|
|||||||
{
|
{
|
||||||
private final ColorFunction[] functions;
|
private final ColorFunction[] functions;
|
||||||
|
|
||||||
public DerivedColor( ColorFunction... functions ) {
|
public DerivedColor( Color defaultColor, ColorFunction... functions ) {
|
||||||
super( Color.red );
|
super( (defaultColor != null) ? defaultColor : Color.red );
|
||||||
this.functions = functions;
|
this.functions = functions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,10 +32,6 @@
|
|||||||
@cellFocusColor=#000000
|
@cellFocusColor=#000000
|
||||||
@icon=#adadad
|
@icon=#adadad
|
||||||
|
|
||||||
# Button
|
|
||||||
@buttonHoverBackground=lighten(3%,autoInverse)
|
|
||||||
@buttonPressedBackground=lighten(6%,autoInverse)
|
|
||||||
|
|
||||||
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
|
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
|
||||||
@dropCellBackground=darken(List.selectionBackground,10%,lazy)
|
@dropCellBackground=darken(List.selectionBackground,10%,lazy)
|
||||||
@dropCellForeground=lazy(List.selectionForeground)
|
@dropCellForeground=lazy(List.selectionForeground)
|
||||||
@@ -73,8 +69,8 @@ controlDkShadow=lighten($controlShadow,10%)
|
|||||||
#---- Button ----
|
#---- Button ----
|
||||||
|
|
||||||
Button.background=#4c5052
|
Button.background=#4c5052
|
||||||
Button.hoverBackground=@buttonHoverBackground
|
Button.hoverBackground=lighten($Button.background,3%,derived autoInverse)
|
||||||
Button.pressedBackground=@buttonPressedBackground
|
Button.pressedBackground=lighten($Button.background,6%,derived autoInverse)
|
||||||
|
|
||||||
Button.borderColor=#5e6060
|
Button.borderColor=#5e6060
|
||||||
Button.disabledBorderColor=#5e6060
|
Button.disabledBorderColor=#5e6060
|
||||||
@@ -83,16 +79,16 @@ Button.hoverBorderColor=$Button.focusedBorderColor
|
|||||||
|
|
||||||
Button.default.background=#365880
|
Button.default.background=#365880
|
||||||
Button.default.foreground=#bbbbbb
|
Button.default.foreground=#bbbbbb
|
||||||
Button.default.hoverBackground=@buttonHoverBackground
|
Button.default.hoverBackground=lighten($Button.default.background,3%,derived autoInverse)
|
||||||
Button.default.pressedBackground=@buttonPressedBackground
|
Button.default.pressedBackground=lighten($Button.default.background,6%,derived autoInverse)
|
||||||
Button.default.borderColor=#4c708c
|
Button.default.borderColor=#4c708c
|
||||||
Button.default.hoverBorderColor=#537699
|
Button.default.hoverBorderColor=#537699
|
||||||
Button.default.focusedBorderColor=#537699
|
Button.default.focusedBorderColor=#537699
|
||||||
Button.default.focusColor=#43688c
|
Button.default.focusColor=#43688c
|
||||||
Button.default.boldText=true
|
Button.default.boldText=true
|
||||||
|
|
||||||
Button.toolbar.hoverBackground=#4c5052
|
Button.toolbar.hoverBackground=lighten($Button.background,1%,derived autoInverse)
|
||||||
Button.toolbar.pressedBackground=#555a5d
|
Button.toolbar.pressedBackground=lighten($Button.background,4%,derived autoInverse)
|
||||||
|
|
||||||
|
|
||||||
#---- CheckBox ----
|
#---- CheckBox ----
|
||||||
@@ -105,8 +101,8 @@ CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor
|
|||||||
CheckBox.icon.selectedFocusedBorderColor=#466D94
|
CheckBox.icon.selectedFocusedBorderColor=#466D94
|
||||||
CheckBox.icon.background=#43494A
|
CheckBox.icon.background=#43494A
|
||||||
CheckBox.icon.disabledBackground=@background
|
CheckBox.icon.disabledBackground=@background
|
||||||
CheckBox.icon.hoverBackground=@buttonHoverBackground
|
CheckBox.icon.hoverBackground=lighten($CheckBox.icon.background,3%,derived autoInverse)
|
||||||
CheckBox.icon.pressedBackground=@buttonPressedBackground
|
CheckBox.icon.pressedBackground=lighten($CheckBox.icon.background,6%,derived autoInverse)
|
||||||
CheckBox.icon.selectedBackground=#43494A
|
CheckBox.icon.selectedBackground=#43494A
|
||||||
CheckBox.icon.checkmarkColor=#A7A7A7
|
CheckBox.icon.checkmarkColor=#A7A7A7
|
||||||
CheckBox.icon.disabledCheckmarkColor=#606060
|
CheckBox.icon.disabledCheckmarkColor=#606060
|
||||||
@@ -151,8 +147,8 @@ InternalFrame.inactiveTitleForeground=@disabledText
|
|||||||
InternalFrame.activeBorderColor=lighten($Component.borderColor,10%)
|
InternalFrame.activeBorderColor=lighten($Component.borderColor,10%)
|
||||||
InternalFrame.inactiveBorderColor=$Component.borderColor
|
InternalFrame.inactiveBorderColor=$Component.borderColor
|
||||||
|
|
||||||
InternalFrame.buttonHoverBackground=lighten(10%,autoInverse)
|
InternalFrame.buttonHoverBackground=lighten($InternalFrame.activeTitleBackground,10%,derived autoInverse)
|
||||||
InternalFrame.buttonPressedBackground=lighten(20%,autoInverse)
|
InternalFrame.buttonPressedBackground=lighten($InternalFrame.activeTitleBackground,20%,derived autoInverse)
|
||||||
InternalFrame.closeHoverBackground=lazy(Actions.Red)
|
InternalFrame.closeHoverBackground=lazy(Actions.Red)
|
||||||
InternalFrame.closePressedBackground=darken(Actions.Red,10%,lazy)
|
InternalFrame.closePressedBackground=darken(Actions.Red,10%,lazy)
|
||||||
InternalFrame.closeHoverForeground=#fff
|
InternalFrame.closeHoverForeground=#fff
|
||||||
@@ -218,7 +214,7 @@ Separator.foreground=#515151
|
|||||||
Slider.trackColor=#646464
|
Slider.trackColor=#646464
|
||||||
Slider.thumbColor=#A6A6A6
|
Slider.thumbColor=#A6A6A6
|
||||||
Slider.tickColor=#888888
|
Slider.tickColor=#888888
|
||||||
Slider.hoverColor=darken(15%,autoInverse)
|
Slider.hoverColor=darken($Slider.thumbColor,15%,derived autoInverse)
|
||||||
Slider.disabledForeground=#4c5052
|
Slider.disabledForeground=#4c5052
|
||||||
|
|
||||||
|
|
||||||
@@ -253,11 +249,11 @@ TableHeader.bottomSeparatorColor=$TableHeader.separatorColor
|
|||||||
|
|
||||||
#---- ToggleButton ----
|
#---- ToggleButton ----
|
||||||
|
|
||||||
ToggleButton.selectedBackground=#64696C
|
ToggleButton.selectedBackground=lighten($ToggleButton.background,10%,derived autoInverse)
|
||||||
ToggleButton.selectedForeground=@foreground
|
ToggleButton.selectedForeground=@foreground
|
||||||
ToggleButton.disabledSelectedBackground=#525658
|
ToggleButton.disabledSelectedBackground=lighten($ToggleButton.background,3%,derived autoInverse)
|
||||||
|
|
||||||
ToggleButton.toolbar.selectedBackground=#5c6164
|
ToggleButton.toolbar.selectedBackground=lighten($ToggleButton.background,7%,derived autoInverse)
|
||||||
|
|
||||||
|
|
||||||
#---- ToolTip ----
|
#---- ToolTip ----
|
||||||
|
|||||||
@@ -32,10 +32,6 @@
|
|||||||
@cellFocusColor=#000000
|
@cellFocusColor=#000000
|
||||||
@icon=#afafaf
|
@icon=#afafaf
|
||||||
|
|
||||||
# Button
|
|
||||||
@buttonHoverBackground=darken(3%,autoInverse)
|
|
||||||
@buttonPressedBackground=darken(10%,autoInverse)
|
|
||||||
|
|
||||||
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
|
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
|
||||||
@dropCellBackground=lighten(List.selectionBackground,10%,lazy)
|
@dropCellBackground=lighten(List.selectionBackground,10%,lazy)
|
||||||
@dropCellForeground=lazy(List.selectionForeground)
|
@dropCellForeground=lazy(List.selectionForeground)
|
||||||
@@ -74,8 +70,8 @@ controlDkShadow=darken($controlShadow,15%)
|
|||||||
|
|
||||||
Button.background=#ffffff
|
Button.background=#ffffff
|
||||||
Button.focusedBackground=#e3f1fa
|
Button.focusedBackground=#e3f1fa
|
||||||
Button.hoverBackground=@buttonHoverBackground
|
Button.hoverBackground=darken($Button.background,3%,derived autoInverse)
|
||||||
Button.pressedBackground=@buttonPressedBackground
|
Button.pressedBackground=darken($Button.background,10%,derived autoInverse)
|
||||||
|
|
||||||
Button.borderColor=$Component.borderColor
|
Button.borderColor=$Component.borderColor
|
||||||
Button.disabledBorderColor=$Component.disabledBorderColor
|
Button.disabledBorderColor=$Component.disabledBorderColor
|
||||||
@@ -85,16 +81,16 @@ Button.hoverBorderColor=$Button.focusedBorderColor
|
|||||||
Button.default.background=$Button.background
|
Button.default.background=$Button.background
|
||||||
Button.default.foreground=@foreground
|
Button.default.foreground=@foreground
|
||||||
Button.default.focusedBackground=$Button.focusedBackground
|
Button.default.focusedBackground=$Button.focusedBackground
|
||||||
Button.default.hoverBackground=@buttonHoverBackground
|
Button.default.hoverBackground=$Button.hoverBackground
|
||||||
Button.default.pressedBackground=@buttonPressedBackground
|
Button.default.pressedBackground=$Button.pressedBackground
|
||||||
Button.default.borderColor=#4F9EE3
|
Button.default.borderColor=#4F9EE3
|
||||||
Button.default.hoverBorderColor=$Button.hoverBorderColor
|
Button.default.hoverBorderColor=$Button.hoverBorderColor
|
||||||
Button.default.focusedBorderColor=$Button.focusedBorderColor
|
Button.default.focusedBorderColor=$Button.focusedBorderColor
|
||||||
Button.default.focusColor=$Component.focusColor
|
Button.default.focusColor=$Component.focusColor
|
||||||
Button.default.borderWidth=2
|
Button.default.borderWidth=2
|
||||||
|
|
||||||
Button.toolbar.hoverBackground=#dfdfdf
|
Button.toolbar.hoverBackground=darken($Button.background,12%,derived autoInverse)
|
||||||
Button.toolbar.pressedBackground=#d8d8d8
|
Button.toolbar.pressedBackground=darken($Button.background,15%,derived autoInverse)
|
||||||
|
|
||||||
|
|
||||||
#---- CheckBox ----
|
#---- CheckBox ----
|
||||||
@@ -107,8 +103,8 @@ CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor
|
|||||||
CheckBox.icon.background=#FFFFFF
|
CheckBox.icon.background=#FFFFFF
|
||||||
CheckBox.icon.disabledBackground=@background
|
CheckBox.icon.disabledBackground=@background
|
||||||
CheckBox.icon.focusedBackground=$Button.focusedBackground
|
CheckBox.icon.focusedBackground=$Button.focusedBackground
|
||||||
CheckBox.icon.hoverBackground=@buttonHoverBackground
|
CheckBox.icon.hoverBackground=$Button.hoverBackground
|
||||||
CheckBox.icon.pressedBackground=@buttonPressedBackground
|
CheckBox.icon.pressedBackground=$Button.pressedBackground
|
||||||
CheckBox.icon.selectedBackground=#FFFFFF
|
CheckBox.icon.selectedBackground=#FFFFFF
|
||||||
CheckBox.icon.checkmarkColor=#4F9EE3
|
CheckBox.icon.checkmarkColor=#4F9EE3
|
||||||
CheckBox.icon.disabledCheckmarkColor=#ABABAB
|
CheckBox.icon.disabledCheckmarkColor=#ABABAB
|
||||||
@@ -158,8 +154,8 @@ InternalFrame.inactiveTitleForeground=@disabledText
|
|||||||
InternalFrame.activeBorderColor=darken($Component.borderColor,20%)
|
InternalFrame.activeBorderColor=darken($Component.borderColor,20%)
|
||||||
InternalFrame.inactiveBorderColor=$Component.borderColor
|
InternalFrame.inactiveBorderColor=$Component.borderColor
|
||||||
|
|
||||||
InternalFrame.buttonHoverBackground=darken(10%,autoInverse)
|
InternalFrame.buttonHoverBackground=darken($InternalFrame.activeTitleBackground,10%,derived autoInverse)
|
||||||
InternalFrame.buttonPressedBackground=darken(20%,autoInverse)
|
InternalFrame.buttonPressedBackground=darken($InternalFrame.activeTitleBackground,20%,derived autoInverse)
|
||||||
InternalFrame.closeHoverBackground=lazy(Actions.Red)
|
InternalFrame.closeHoverBackground=lazy(Actions.Red)
|
||||||
InternalFrame.closePressedBackground=darken(Actions.Red,10%,lazy)
|
InternalFrame.closePressedBackground=darken(Actions.Red,10%,lazy)
|
||||||
InternalFrame.closeHoverForeground=#fff
|
InternalFrame.closeHoverForeground=#fff
|
||||||
@@ -225,7 +221,7 @@ Separator.foreground=#d1d1d1
|
|||||||
Slider.trackColor=#c4c4c4
|
Slider.trackColor=#c4c4c4
|
||||||
Slider.thumbColor=#6e6e6e
|
Slider.thumbColor=#6e6e6e
|
||||||
Slider.tickColor=#888888
|
Slider.tickColor=#888888
|
||||||
Slider.hoverColor=lighten(15%,autoInverse)
|
Slider.hoverColor=lighten($Slider.thumbColor,15%,derived autoInverse)
|
||||||
Slider.disabledForeground=#c0c0c0
|
Slider.disabledForeground=#c0c0c0
|
||||||
|
|
||||||
|
|
||||||
@@ -260,11 +256,11 @@ TableHeader.bottomSeparatorColor=$TableHeader.separatorColor
|
|||||||
|
|
||||||
#---- ToggleButton ----
|
#---- ToggleButton ----
|
||||||
|
|
||||||
ToggleButton.selectedBackground=#cfcfcf
|
ToggleButton.selectedBackground=darken($ToggleButton.background,20%,derived autoInverse)
|
||||||
ToggleButton.selectedForeground=@foreground
|
ToggleButton.selectedForeground=@foreground
|
||||||
ToggleButton.disabledSelectedBackground=#dfdfdf
|
ToggleButton.disabledSelectedBackground=darken($ToggleButton.background,13%,derived autoInverse)
|
||||||
|
|
||||||
ToggleButton.toolbar.selectedBackground=#cfcfcf
|
ToggleButton.toolbar.selectedBackground=$ToggleButton.selectedBackground
|
||||||
|
|
||||||
|
|
||||||
#---- ToolTip ----
|
#---- ToolTip ----
|
||||||
|
|||||||
@@ -16,6 +16,16 @@
|
|||||||
|
|
||||||
#---- Button ----
|
#---- Button ----
|
||||||
|
|
||||||
|
Button.startBackground=$Button.background
|
||||||
|
Button.endBackground=$Button.background
|
||||||
|
Button.startBorderColor=$Button.borderColor
|
||||||
|
Button.endBorderColor=$Button.borderColor
|
||||||
|
|
||||||
|
Button.default.startBackground=$Button.default.background
|
||||||
|
Button.default.endBackground=$Button.default.background
|
||||||
|
Button.default.startBorderColor=$Button.default.borderColor
|
||||||
|
Button.default.endBorderColor=$Button.default.borderColor
|
||||||
|
|
||||||
Button.hoverBorderColor=null
|
Button.hoverBorderColor=null
|
||||||
Button.default.hoverBorderColor=null
|
Button.default.hoverBorderColor=null
|
||||||
|
|
||||||
@@ -23,3 +33,32 @@ Button.default.hoverBorderColor=null
|
|||||||
#---- HelpButton ----
|
#---- HelpButton ----
|
||||||
|
|
||||||
HelpButton.hoverBorderColor=null
|
HelpButton.hoverBorderColor=null
|
||||||
|
|
||||||
|
|
||||||
|
#---- ToggleButton ----
|
||||||
|
|
||||||
|
ToggleButton.startBackground=$ToggleButton.background
|
||||||
|
ToggleButton.endBackground=$ToggleButton.background
|
||||||
|
[dark]ToggleButton.selectedBackground=lighten($ToggleButton.background,15%,derived autoInverse)
|
||||||
|
[dark]ToggleButton.disabledSelectedBackground=lighten($ToggleButton.background,5%,derived autoInverse)
|
||||||
|
|
||||||
|
|
||||||
|
#---- theme specific ----
|
||||||
|
|
||||||
|
[Gruvbox_Dark_Hard]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||||
|
[Gruvbox_Dark_Hard]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
|
||||||
|
|
||||||
|
[Gruvbox_Dark_Medium]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||||
|
[Gruvbox_Dark_Medium]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
|
||||||
|
|
||||||
|
[Gruvbox_Dark_Soft]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||||
|
[Gruvbox_Dark_Soft]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
|
||||||
|
|
||||||
|
[Hiberbee_Dark]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||||
|
[Hiberbee_Dark]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
|
||||||
|
[Hiberbee_Dark]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
|
||||||
|
|
||||||
|
[High_contrast]ToggleButton.selectedBackground=#fff
|
||||||
|
[High_contrast]ToggleButton.selectedForeground=#000
|
||||||
|
[High_contrast]ToggleButton.disabledSelectedBackground=#444
|
||||||
|
[High_contrast]ToggleButton.toolbar.selectedBackground=#fff
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ plugins {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation( project( ":flatlaf-core" ) )
|
implementation( project( ":flatlaf-core" ) )
|
||||||
implementation( project( ":flatlaf-extras" ) )
|
implementation( project( ":flatlaf-extras" ) )
|
||||||
|
implementation( project( ":flatlaf-intellij-themes" ) )
|
||||||
implementation( "com.miglayout:miglayout-swing:5.2" )
|
implementation( "com.miglayout:miglayout-swing:5.2" )
|
||||||
implementation( "com.jgoodies:jgoodies-forms:1.9.0" )
|
implementation( "com.jgoodies:jgoodies-forms:1.9.0" )
|
||||||
}
|
}
|
||||||
@@ -38,6 +39,7 @@ tasks {
|
|||||||
jar {
|
jar {
|
||||||
dependsOn( ":flatlaf-core:jar" )
|
dependsOn( ":flatlaf-core:jar" )
|
||||||
dependsOn( ":flatlaf-extras:jar" )
|
dependsOn( ":flatlaf-extras:jar" )
|
||||||
|
dependsOn( ":flatlaf-intellij-themes:jar" )
|
||||||
|
|
||||||
manifest {
|
manifest {
|
||||||
attributes( "Main-Class" to "com.formdev.flatlaf.demo.FlatLafDemo" )
|
attributes( "Main-Class" to "com.formdev.flatlaf.demo.FlatLafDemo" )
|
||||||
|
|||||||
@@ -81,6 +81,11 @@ class DataComponentsPanel
|
|||||||
JScrollPane scrollPane5 = new JScrollPane();
|
JScrollPane scrollPane5 = new JScrollPane();
|
||||||
table1 = new JTable();
|
table1 = new JTable();
|
||||||
dndCheckBox = new JCheckBox();
|
dndCheckBox = new JCheckBox();
|
||||||
|
JPopupMenu popupMenu2 = new JPopupMenu();
|
||||||
|
JMenuItem menuItem3 = new JMenuItem();
|
||||||
|
JMenuItem menuItem4 = new JMenuItem();
|
||||||
|
JMenuItem menuItem5 = new JMenuItem();
|
||||||
|
JMenuItem menuItem6 = new JMenuItem();
|
||||||
|
|
||||||
//======== this ========
|
//======== this ========
|
||||||
setLayout(new MigLayout(
|
setLayout(new MigLayout(
|
||||||
@@ -126,6 +131,7 @@ class DataComponentsPanel
|
|||||||
@Override
|
@Override
|
||||||
public String getElementAt(int i) { return values[i]; }
|
public String getElementAt(int i) { return values[i]; }
|
||||||
});
|
});
|
||||||
|
list1.setComponentPopupMenu(popupMenu2);
|
||||||
scrollPane1.setViewportView(list1);
|
scrollPane1.setViewportView(list1);
|
||||||
}
|
}
|
||||||
add(scrollPane1, "cell 1 0,growx");
|
add(scrollPane1, "cell 1 0,growx");
|
||||||
@@ -198,6 +204,7 @@ class DataComponentsPanel
|
|||||||
add(node1);
|
add(node1);
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
tree1.setComponentPopupMenu(popupMenu2);
|
||||||
scrollPane3.setViewportView(tree1);
|
scrollPane3.setViewportView(tree1);
|
||||||
}
|
}
|
||||||
add(scrollPane3, "cell 1 1,growx");
|
add(scrollPane3, "cell 1 1,growx");
|
||||||
@@ -287,6 +294,7 @@ class DataComponentsPanel
|
|||||||
}))));
|
}))));
|
||||||
}
|
}
|
||||||
table1.setAutoCreateRowSorter(true);
|
table1.setAutoCreateRowSorter(true);
|
||||||
|
table1.setComponentPopupMenu(popupMenu2);
|
||||||
scrollPane5.setViewportView(table1);
|
scrollPane5.setViewportView(table1);
|
||||||
}
|
}
|
||||||
add(scrollPane5, "cell 1 2 2 1,growx,width 300");
|
add(scrollPane5, "cell 1 2 2 1,growx,width 300");
|
||||||
@@ -296,6 +304,27 @@ class DataComponentsPanel
|
|||||||
dndCheckBox.setMnemonic('D');
|
dndCheckBox.setMnemonic('D');
|
||||||
dndCheckBox.addActionListener(e -> dndChanged());
|
dndCheckBox.addActionListener(e -> dndChanged());
|
||||||
add(dndCheckBox, "cell 0 3 3 1");
|
add(dndCheckBox, "cell 0 3 3 1");
|
||||||
|
|
||||||
|
//======== popupMenu2 ========
|
||||||
|
{
|
||||||
|
|
||||||
|
//---- menuItem3 ----
|
||||||
|
menuItem3.setText("Some Action");
|
||||||
|
popupMenu2.add(menuItem3);
|
||||||
|
|
||||||
|
//---- menuItem4 ----
|
||||||
|
menuItem4.setText("More Action");
|
||||||
|
popupMenu2.add(menuItem4);
|
||||||
|
popupMenu2.addSeparator();
|
||||||
|
|
||||||
|
//---- menuItem5 ----
|
||||||
|
menuItem5.setText("No Action");
|
||||||
|
popupMenu2.add(menuItem5);
|
||||||
|
|
||||||
|
//---- menuItem6 ----
|
||||||
|
menuItem6.setText("Noop Action");
|
||||||
|
popupMenu2.add(menuItem6);
|
||||||
|
}
|
||||||
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
||||||
|
|
||||||
((JComboBox)((DefaultCellEditor)table1.getColumnModel().getColumn( 3 ).getCellEditor()).getComponent()).setEditable( true );
|
((JComboBox)((DefaultCellEditor)table1.getColumnModel().getColumn( 3 ).getCellEditor()).getComponent()).setEditable( true );
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8"
|
JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8"
|
||||||
|
|
||||||
new FormModel {
|
new FormModel {
|
||||||
contentType: "form/swing"
|
contentType: "form/swing"
|
||||||
@@ -39,6 +39,7 @@ new FormModel {
|
|||||||
addElement( "item 14" )
|
addElement( "item 14" )
|
||||||
addElement( "item 15" )
|
addElement( "item 15" )
|
||||||
}
|
}
|
||||||
|
"componentPopupMenu": new FormReference( "popupMenu2" )
|
||||||
auxiliary() {
|
auxiliary() {
|
||||||
"JavaCodeGenerator.typeParameters": "String"
|
"JavaCodeGenerator.typeParameters": "String"
|
||||||
"JavaCodeGenerator.variableLocal": false
|
"JavaCodeGenerator.variableLocal": false
|
||||||
@@ -143,6 +144,7 @@ new FormModel {
|
|||||||
} )
|
} )
|
||||||
} )
|
} )
|
||||||
} )
|
} )
|
||||||
|
"componentPopupMenu": new FormReference( "popupMenu2" )
|
||||||
auxiliary() {
|
auxiliary() {
|
||||||
"JavaCodeGenerator.variableLocal": false
|
"JavaCodeGenerator.variableLocal": false
|
||||||
}
|
}
|
||||||
@@ -299,6 +301,7 @@ new FormModel {
|
|||||||
add( null )
|
add( null )
|
||||||
} )
|
} )
|
||||||
"autoCreateRowSorter": true
|
"autoCreateRowSorter": true
|
||||||
|
"componentPopupMenu": new FormReference( "popupMenu2" )
|
||||||
auxiliary() {
|
auxiliary() {
|
||||||
"JavaCodeGenerator.variableLocal": false
|
"JavaCodeGenerator.variableLocal": false
|
||||||
}
|
}
|
||||||
@@ -321,5 +324,29 @@ new FormModel {
|
|||||||
"location": new java.awt.Point( 0, 0 )
|
"location": new java.awt.Point( 0, 0 )
|
||||||
"size": new java.awt.Dimension( 790, 715 )
|
"size": new java.awt.Dimension( 790, 715 )
|
||||||
} )
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPopupMenu", new FormLayoutManager( class javax.swing.JPopupMenu ) ) {
|
||||||
|
name: "popupMenu2"
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem3"
|
||||||
|
"text": "Some Action"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem4"
|
||||||
|
"text": "More Action"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
|
||||||
|
name: "separator1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem5"
|
||||||
|
"text": "No Action"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem6"
|
||||||
|
"text": "Noop Action"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 740 )
|
||||||
|
} )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class DemoPrefs
|
|||||||
if( IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) {
|
if( IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) {
|
||||||
String theme = state.get( KEY_LAF_THEME, "" );
|
String theme = state.get( KEY_LAF_THEME, "" );
|
||||||
if( theme.startsWith( RESOURCE_PREFIX ) )
|
if( theme.startsWith( RESOURCE_PREFIX ) )
|
||||||
IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( theme.substring( RESOURCE_PREFIX.length() ) ) );
|
IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( IJThemesPanel.THEMES_PACKAGE + theme.substring( RESOURCE_PREFIX.length() ) ) );
|
||||||
else if( theme.startsWith( FILE_PREFIX ) )
|
else if( theme.startsWith( FILE_PREFIX ) )
|
||||||
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( theme.substring( FILE_PREFIX.length() ) ) ) );
|
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( theme.substring( FILE_PREFIX.length() ) ) ) );
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -0,0 +1,170 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.demo.intellijthemes;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.StandardOpenOption;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This tool creates look and feel classes for all themes listed in themes.json.
|
||||||
|
*
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class IJThemesClassGenerator
|
||||||
|
{
|
||||||
|
public static void main( String[] args ) {
|
||||||
|
IJThemesManager themesManager = new IJThemesManager();
|
||||||
|
themesManager.loadBundledThemes();
|
||||||
|
|
||||||
|
String toPath = "../flatlaf-intellij-themes/src/main/java" + IJThemesPanel.THEMES_PACKAGE + "..";
|
||||||
|
|
||||||
|
StringBuilder allInfos = new StringBuilder();
|
||||||
|
|
||||||
|
for( IJThemeInfo ti : themesManager.bundledThemes ) {
|
||||||
|
if( ti.sourceCodeUrl == null || ti.sourceCodePath == null )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
generateClass( ti, toPath, allInfos );
|
||||||
|
}
|
||||||
|
|
||||||
|
Path out = new File( toPath, "FlatAllIJThemes.java" ).toPath();
|
||||||
|
String allThemes = CLASS_HEADER + ALL_THEMES_TEMPLATE.replace( "${allInfos}", allInfos );
|
||||||
|
writeFile( out, allThemes );
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void generateClass( IJThemeInfo ti, String toPath, StringBuilder allInfos ) {
|
||||||
|
String resourceName = ti.resourceName;
|
||||||
|
String resourcePath = null;
|
||||||
|
int resSep = resourceName.indexOf( '/' );
|
||||||
|
if( resSep >= 0 ) {
|
||||||
|
resourcePath = resourceName.substring( 0, resSep );
|
||||||
|
resourceName = resourceName.substring( resSep + 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
String name = ti.name;
|
||||||
|
int nameSep = name.indexOf( '/' );
|
||||||
|
if( nameSep >= 0 )
|
||||||
|
name = name.substring( nameSep + 1 ).trim();
|
||||||
|
|
||||||
|
StringBuilder buf = new StringBuilder();
|
||||||
|
for( String n : name.split( " " ) ) {
|
||||||
|
if( n.length() == 0 || n.equals( "-" ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if( Character.isUpperCase( n.charAt( 0 ) ) )
|
||||||
|
buf.append( n );
|
||||||
|
else
|
||||||
|
buf.append( Character.toUpperCase( n.charAt( 0 ) ) ).append( n.substring( 1 ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
String subPackage = (resourcePath != null) ? '.' + resourcePath.replace( "-", "" ) : "";
|
||||||
|
String themeClass = "Flat" + buf + "IJTheme";
|
||||||
|
String themeFile = resourceName;
|
||||||
|
|
||||||
|
String classBody = CLASS_HEADER + CLASS_TEMPLATE
|
||||||
|
.replace( "${subPackage}", subPackage )
|
||||||
|
.replace( "${themeClass}", themeClass )
|
||||||
|
.replace( "${themeFile}", themeFile );
|
||||||
|
|
||||||
|
File toDir = new File( toPath );
|
||||||
|
if( resourcePath != null )
|
||||||
|
toDir = new File( toDir, resourcePath.replace( "-", "" ) );
|
||||||
|
|
||||||
|
Path out = new File( toDir, themeClass + ".java" ).toPath();
|
||||||
|
writeFile( out, classBody );
|
||||||
|
|
||||||
|
if( allInfos.length() > 0 )
|
||||||
|
allInfos.append( '\n' );
|
||||||
|
allInfos.append( THEME_TEMPLATE
|
||||||
|
.replace( "${subPackage}", subPackage )
|
||||||
|
.replace( "${themeClass}", themeClass )
|
||||||
|
.replace( "${themeName}", name ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void writeFile( Path out, String content ) {
|
||||||
|
try {
|
||||||
|
Files.write( out, content.getBytes( StandardCharsets.ISO_8859_1 ),
|
||||||
|
StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING );
|
||||||
|
} catch( IOException ex ) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final String CLASS_HEADER =
|
||||||
|
"/*\n" +
|
||||||
|
" * Copyright 2020 FormDev Software GmbH\n" +
|
||||||
|
" *\n" +
|
||||||
|
" * Licensed under the Apache License, Version 2.0 (the \"License\");\n" +
|
||||||
|
" * you may not use this file except in compliance with the License.\n" +
|
||||||
|
" * You may obtain a copy of the License at\n" +
|
||||||
|
" *\n" +
|
||||||
|
" * https://www.apache.org/licenses/LICENSE-2.0\n" +
|
||||||
|
" *\n" +
|
||||||
|
" * Unless required by applicable law or agreed to in writing, software\n" +
|
||||||
|
" * distributed under the License is distributed on an \"AS IS\" BASIS,\n" +
|
||||||
|
" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" +
|
||||||
|
" * See the License for the specific language governing permissions and\n" +
|
||||||
|
" * limitations under the License.\n" +
|
||||||
|
" */\n" +
|
||||||
|
"\n";
|
||||||
|
|
||||||
|
private static final String CLASS_TEMPLATE =
|
||||||
|
"package com.formdev.flatlaf.intellijthemes${subPackage};\n" +
|
||||||
|
"\n" +
|
||||||
|
"import com.formdev.flatlaf.IntelliJTheme;\n" +
|
||||||
|
"\n" +
|
||||||
|
"/**\n" +
|
||||||
|
" * @author Karl Tauber\n" +
|
||||||
|
" */\n" +
|
||||||
|
"public class ${themeClass}\n" +
|
||||||
|
" extends IntelliJTheme.ThemeLaf\n" +
|
||||||
|
"{\n" +
|
||||||
|
" public static boolean install( ) {\n" +
|
||||||
|
" try {\n" +
|
||||||
|
" return install( new ${themeClass}() );\n" +
|
||||||
|
" } catch( RuntimeException ex ) {\n" +
|
||||||
|
" return false;\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
"\n" +
|
||||||
|
" public ${themeClass}() {\n" +
|
||||||
|
" super( Utils.loadTheme( \"${themeFile}\" ) );\n" +
|
||||||
|
" }\n" +
|
||||||
|
"}\n";
|
||||||
|
|
||||||
|
private static final String ALL_THEMES_TEMPLATE =
|
||||||
|
"package com.formdev.flatlaf.intellijthemes;\n" +
|
||||||
|
"\n" +
|
||||||
|
"import javax.swing.UIManager.LookAndFeelInfo;\n" +
|
||||||
|
"\n" +
|
||||||
|
"/**\n" +
|
||||||
|
" * @author Karl Tauber\n" +
|
||||||
|
" */\n" +
|
||||||
|
"public class FlatAllIJThemes\n" +
|
||||||
|
"{\n" +
|
||||||
|
" public static final LookAndFeelInfo[] INFOS = {\n" +
|
||||||
|
"${allInfos}\n" +
|
||||||
|
" };\n" +
|
||||||
|
"}\n";
|
||||||
|
|
||||||
|
private static final String THEME_TEMPLATE =
|
||||||
|
" new LookAndFeelInfo( \"${themeName}\", \"com.formdev.flatlaf.intellijthemes${subPackage}.${themeClass}\" ),";
|
||||||
|
}
|
||||||
@@ -60,6 +60,8 @@ import net.miginfocom.swing.*;
|
|||||||
public class IJThemesPanel
|
public class IJThemesPanel
|
||||||
extends JPanel
|
extends JPanel
|
||||||
{
|
{
|
||||||
|
public static final String THEMES_PACKAGE = "/com/formdev/flatlaf/intellijthemes/themes/";
|
||||||
|
|
||||||
private final IJThemesManager themesManager = new IJThemesManager();
|
private final IJThemesManager themesManager = new IJThemesManager();
|
||||||
private final List<IJThemeInfo> themes = new ArrayList<>();
|
private final List<IJThemeInfo> themes = new ArrayList<>();
|
||||||
private final HashMap<Integer, String> categories = new HashMap<>();
|
private final HashMap<Integer, String> categories = new HashMap<>();
|
||||||
@@ -237,7 +239,7 @@ public class IJThemesPanel
|
|||||||
showInformationDialog( "Failed to load '" + themeInfo.themeFile + "'.", ex );
|
showInformationDialog( "Failed to load '" + themeInfo.themeFile + "'.", ex );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
IntelliJTheme.install( getClass().getResourceAsStream( themeInfo.resourceName ) );
|
IntelliJTheme.install( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.resourceName ) );
|
||||||
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME, DemoPrefs.RESOURCE_PREFIX + themeInfo.resourceName );
|
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME, DemoPrefs.RESOURCE_PREFIX + themeInfo.resourceName );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,7 +262,7 @@ public class IJThemesPanel
|
|||||||
|
|
||||||
// save theme
|
// save theme
|
||||||
try {
|
try {
|
||||||
Files.copy( getClass().getResourceAsStream( themeInfo.resourceName ),
|
Files.copy( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.resourceName ),
|
||||||
file.toPath(), StandardCopyOption.REPLACE_EXISTING );
|
file.toPath(), StandardCopyOption.REPLACE_EXISTING );
|
||||||
} catch( IOException ex ) {
|
} catch( IOException ex ) {
|
||||||
showInformationDialog( "Failed to save theme to '" + file + "'.", ex );
|
showInformationDialog( "Failed to save theme to '" + file + "'.", ex );
|
||||||
@@ -273,7 +275,7 @@ public class IJThemesPanel
|
|||||||
File licenseFile = new File( file.getParentFile(),
|
File licenseFile = new File( file.getParentFile(),
|
||||||
StringUtils.removeTrailing( file.getName(), ".theme.json" ) +
|
StringUtils.removeTrailing( file.getName(), ".theme.json" ) +
|
||||||
themeInfo.licenseFile.substring( themeInfo.licenseFile.indexOf( '.' ) ) );
|
themeInfo.licenseFile.substring( themeInfo.licenseFile.indexOf( '.' ) ) );
|
||||||
Files.copy( getClass().getResourceAsStream( themeInfo.licenseFile ),
|
Files.copy( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.licenseFile ),
|
||||||
licenseFile.toPath(), StandardCopyOption.REPLACE_EXISTING );
|
licenseFile.toPath(), StandardCopyOption.REPLACE_EXISTING );
|
||||||
} catch( IOException ex ) {
|
} catch( IOException ex ) {
|
||||||
showInformationDialog( "Failed to save theme license to '" + file + "'.", ex );
|
showInformationDialog( "Failed to save theme license to '" + file + "'.", ex );
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class IJThemesUpdater
|
|||||||
else if( fromUrl.contains( "gitlab.com" ) )
|
else if( fromUrl.contains( "gitlab.com" ) )
|
||||||
fromUrl = fromUrl.replace( "/blob/", "/raw/" );
|
fromUrl = fromUrl.replace( "/blob/", "/raw/" );
|
||||||
|
|
||||||
String toPath = "src/main/resources/com/formdev/flatlaf/demo/intellijthemes/" + ti.resourceName;
|
String toPath = "../flatlaf-intellij-themes/src/main/resources" + IJThemesPanel.THEMES_PACKAGE + ti.resourceName;
|
||||||
|
|
||||||
download( fromUrl, toPath );
|
download( fromUrl, toPath );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2016 CloudCannon
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "IntelliJ Light Preview",
|
|
||||||
"dark": false,
|
|
||||||
"author": "",
|
|
||||||
"editorScheme": "/Light.xml",
|
|
||||||
|
|
||||||
"ui": {
|
|
||||||
"*": {
|
|
||||||
"selectionBackground": "#2675BF",
|
|
||||||
"selectionBackgroundInactive": "#D5D5D5",
|
|
||||||
"selectionInactiveBackground": "#D5D5D5",
|
|
||||||
|
|
||||||
"disabledForeground": "#8C8C8C",
|
|
||||||
"disabledText": "#8C8C8C",
|
|
||||||
"inactiveForeground": "#8C8C8C",
|
|
||||||
|
|
||||||
"infoForeground": "#808080",
|
|
||||||
"modifiedItemForeground": "#005ad9",
|
|
||||||
|
|
||||||
"acceleratorSelectionForeground": "#FFFFFF",
|
|
||||||
|
|
||||||
"separatorColor": "#d1d1d1",
|
|
||||||
"separatorForeground": "#999999"
|
|
||||||
},
|
|
||||||
|
|
||||||
"Borders": {
|
|
||||||
"color": "#D1D1D1",
|
|
||||||
"ContrastBorderColor": "#D1D1D1"
|
|
||||||
},
|
|
||||||
|
|
||||||
"Button": {
|
|
||||||
"shadowColor": "#A6A6A620",
|
|
||||||
"startBorderColor": "#C4C4C4",
|
|
||||||
"endBorderColor": "#C4C4C4",
|
|
||||||
"default": {
|
|
||||||
"foreground": "#FFFFFF",
|
|
||||||
"startBackground": "#528CC7",
|
|
||||||
"endBackground": "#4989CC",
|
|
||||||
"startBorderColor": "#487EB8",
|
|
||||||
"endBorderColor": "#346DAD",
|
|
||||||
"shadowColor": "#A6A6A650",
|
|
||||||
"focusedBorderColor": "#A9C9F5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"ComboBox": {
|
|
||||||
"background": "#FFFFFF",
|
|
||||||
"nonEditableBackground": "#FFFFFF",
|
|
||||||
"ArrowButton.background": "#fafafa"
|
|
||||||
},
|
|
||||||
|
|
||||||
"ComboBoxButton.background": "#FFFFFF",
|
|
||||||
|
|
||||||
"CompletionPopup": {
|
|
||||||
"selectionBackground": "#c5dffc",
|
|
||||||
"selectionInactiveBackground": "#e0e0e0"
|
|
||||||
},
|
|
||||||
|
|
||||||
"Component.borderColor": "#C4C4C4",
|
|
||||||
|
|
||||||
"DefaultTabs.background": "#F2F2F2",
|
|
||||||
|
|
||||||
"EditorTabs.underlinedTabBackground": "#ffffff",
|
|
||||||
|
|
||||||
"Editor": {
|
|
||||||
"background": "#cccccc",
|
|
||||||
"foreground": "#737373",
|
|
||||||
"shortcutForeground": "#4274A6"
|
|
||||||
},
|
|
||||||
|
|
||||||
"Label.errorForeground": "#C7222D",
|
|
||||||
|
|
||||||
"Link": {
|
|
||||||
"activeForeground": "#2470B3",
|
|
||||||
"hoverForeground": "#2470B3",
|
|
||||||
"pressedForeground": "#2470B3",
|
|
||||||
"visitedForeground": "#2470B3",
|
|
||||||
"secondaryForeground": "#77a8d9"
|
|
||||||
},
|
|
||||||
|
|
||||||
"Notification": {
|
|
||||||
"borderColor": "#D1D1D1"
|
|
||||||
},
|
|
||||||
|
|
||||||
"Menu.borderColor": "#d9d9d9",
|
|
||||||
|
|
||||||
"Panel.background": "#F2F2F2",
|
|
||||||
|
|
||||||
"PasswordField.background": "#FFFFFF",
|
|
||||||
|
|
||||||
"Popup": {
|
|
||||||
"separatorColor": "#d9d9d9",
|
|
||||||
"Advertiser.borderColor": "#D1D1D1",
|
|
||||||
"borderColor": "#adadad"
|
|
||||||
},
|
|
||||||
|
|
||||||
"ProgressBar": {
|
|
||||||
"trackColor": "#D1D1D1",
|
|
||||||
"progressColor": "#1E82E6",
|
|
||||||
"indeterminateStartColor": "#91C5F2",
|
|
||||||
"indeterminateEndColor": "#1E82E6"
|
|
||||||
},
|
|
||||||
|
|
||||||
"StatusBar.borderColor": "#D1D1D1",
|
|
||||||
|
|
||||||
"ToolWindow.Header.inactiveBackground": "#F2F2F2",
|
|
||||||
|
|
||||||
"Tree.rowHeight": 20
|
|
||||||
},
|
|
||||||
|
|
||||||
"icons": {
|
|
||||||
|
|
||||||
"ColorPalette": {
|
|
||||||
"Checkbox.Border.Default": "#b0b0b0",
|
|
||||||
"Checkbox.Background.Selected": "#4F9EE3",
|
|
||||||
"Checkbox.Border.Selected": "#4B97D9"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "gruvbox-theme",
|
|
||||||
"dark": true,
|
|
||||||
"author": "Vincent Parizet",
|
|
||||||
"editorScheme": "/gruvbox_theme.xml",
|
|
||||||
"ui": {
|
|
||||||
"*": {
|
|
||||||
"background": "#282828",
|
|
||||||
"foreground": "#fbf1c7",
|
|
||||||
|
|
||||||
"infoForeground": "#ebdbb2",
|
|
||||||
|
|
||||||
"lightSelectionBackground": "#3c3836",
|
|
||||||
"selectionBackground": "#4F4945",
|
|
||||||
"selectionForeground": "#fbf1c7",
|
|
||||||
|
|
||||||
"selectionBackgroundInactive": "#3c3836",
|
|
||||||
|
|
||||||
"selectedBackground": "#1d2021",
|
|
||||||
"selectedForeground": "#fbf1c7",
|
|
||||||
"selectedInactiveBackground": "#3c3836",
|
|
||||||
"selectedBackgroundInactive": "#3c3836",
|
|
||||||
|
|
||||||
"hoverBackground": "#28282866",
|
|
||||||
|
|
||||||
"borderColor": "#3c3836",
|
|
||||||
"disabledBorderColor": "#1d2021",
|
|
||||||
|
|
||||||
"separatorColor": "#3c3836"
|
|
||||||
},
|
|
||||||
"ActionButton": {
|
|
||||||
"hoverBackground": "#504945"
|
|
||||||
},
|
|
||||||
"Button": {
|
|
||||||
"startBackground": "#282828",
|
|
||||||
"endBackground": "#282828",
|
|
||||||
"startBorderColor": "#504945",
|
|
||||||
"endBorderColor": "#504945",
|
|
||||||
|
|
||||||
"default": {
|
|
||||||
"foreground": "#fbf1c7",
|
|
||||||
"startBackground": "#32302F",
|
|
||||||
"endBackground": "#32302F",
|
|
||||||
"startBorderColor": "#4F4945",
|
|
||||||
"endBorderColor": "#4F4945",
|
|
||||||
"focusedBorderColor": "#282828"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ComboBox": {
|
|
||||||
"nonEditableBackground": "#282828",
|
|
||||||
"ArrowButton": {
|
|
||||||
"iconColor": "#fbf1c7",
|
|
||||||
"disabledIconColor": "#fbf1c7",
|
|
||||||
"nonEditableBackground": "#282828"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"EditorTabs": {
|
|
||||||
"selectedBackground": "#3c3836",
|
|
||||||
"underlineColor": "#83a598",
|
|
||||||
"inactiveMaskColor": "#28282866"
|
|
||||||
},
|
|
||||||
"ToolWindow": {
|
|
||||||
"Header": {
|
|
||||||
"background": "#3c3836",
|
|
||||||
"inactiveBackground": "#282828"
|
|
||||||
},
|
|
||||||
|
|
||||||
"HeaderTab": {
|
|
||||||
"selectedInactiveBackground": "#1d2021",
|
|
||||||
"hoverInactiveBackground": "#1d2021"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Table": {
|
|
||||||
"stripeColor": "#3c3836",
|
|
||||||
"lightSelectionForeground": "#fbf1c7",
|
|
||||||
"lightSelectionInactiveForeground":"#a89984",
|
|
||||||
"lightSelectionBackground": "#504945",
|
|
||||||
"lightSelectionInactiveBackground":"#282828"
|
|
||||||
},
|
|
||||||
"FileColor": {
|
|
||||||
"Yellow": "#fabd2f22",
|
|
||||||
"Green": "#b8bb2622",
|
|
||||||
"Blue": "#83a59822",
|
|
||||||
"Violet": "#d3869b22",
|
|
||||||
"Orange": "#fe801922",
|
|
||||||
"Rose": "#cc241d22"
|
|
||||||
},
|
|
||||||
"Link": {
|
|
||||||
"activeForeground": "#83a598",
|
|
||||||
"hoverForeground": "#83a598",
|
|
||||||
"pressedForeground": "#83a598",
|
|
||||||
"visitedForeground": "#83a598"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"icons": {
|
|
||||||
"ColorPalette": {
|
|
||||||
"Actions.Grey": "#928374",
|
|
||||||
"Actions.Red": "#fb4934",
|
|
||||||
"Actions.Yellow": "#fabd2f",
|
|
||||||
"Actions.Green": "#98971a",
|
|
||||||
"Actions.Blue": "#458588",
|
|
||||||
"Actions.GreyInline.Dark": "#fbf1c7",
|
|
||||||
|
|
||||||
"Objects.Grey": "#928374FF",
|
|
||||||
"Objects.RedStatus": "#fb4934FF",
|
|
||||||
"Objects.Red": "#fb4934FF",
|
|
||||||
"Objects.Pink": "#d3869bFF",
|
|
||||||
"Objects.Yellow": "#fabd2fFF",
|
|
||||||
"Objects.Green": "#98971aFF",
|
|
||||||
"Objects.Blue": "#458588FF",
|
|
||||||
"Objects.Purple": "#b16286FF",
|
|
||||||
"Objects.BlackText": "#000000FF",
|
|
||||||
"Objects.YellowDark": "#d79921FF",
|
|
||||||
"Objects.GreenAndroid": "#b8bb26FF",
|
|
||||||
|
|
||||||
"Checkbox.Background.Default.Dark": "#282828",
|
|
||||||
"Checkbox.Border.Default.Dark": "#fbf1c7",
|
|
||||||
"Checkbox.Foreground.Selected.Dark": "#fbf1c7",
|
|
||||||
"Checkbox.Focus.Wide.Dark": "#458588",
|
|
||||||
"Checkbox.Focus.Thin.Default.Dark": "#458588",
|
|
||||||
"Checkbox.Focus.Thin.Selected.Dark": "#458588",
|
|
||||||
"Checkbox.Background.Disabled.Dark": "#282828",
|
|
||||||
"Checkbox.Border.Disabled.Dark": "#a89984",
|
|
||||||
"Checkbox.Foreground.Disabled.Dark": "#a89984"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -69,19 +69,33 @@
|
|||||||
"sourceCodeUrl": "https://github.com/OlyaB/GreyTheme",
|
"sourceCodeUrl": "https://github.com/OlyaB/GreyTheme",
|
||||||
"sourceCodePath": "blob/master/src/Gray.theme.json"
|
"sourceCodePath": "blob/master/src/Gray.theme.json"
|
||||||
},
|
},
|
||||||
"gruvbox_theme.theme.json": {
|
"gruvbox_dark_hard.theme.json": {
|
||||||
"name": "Gruvbox",
|
"name": "Gruvbox Dark Hard",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"licenseFile": "gruvbox_theme.LICENSE.txt",
|
"licenseFile": "gruvbox_theme.LICENSE.txt",
|
||||||
"sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme",
|
"sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme",
|
||||||
"sourceCodePath": "blob/master/src/main/resources/gruvbox_theme.theme.json"
|
"sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_hard.theme.json"
|
||||||
},
|
},
|
||||||
"Hiberbee.theme.json": {
|
"gruvbox_dark_medium.theme.json": {
|
||||||
"name": "Hiberbee",
|
"name": "Gruvbox Dark Medium",
|
||||||
|
"license": "MIT",
|
||||||
|
"licenseFile": "gruvbox_theme.LICENSE.txt",
|
||||||
|
"sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme",
|
||||||
|
"sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_medium.theme.json"
|
||||||
|
},
|
||||||
|
"gruvbox_dark_soft.theme.json": {
|
||||||
|
"name": "Gruvbox Dark Soft",
|
||||||
|
"license": "MIT",
|
||||||
|
"licenseFile": "gruvbox_theme.LICENSE.txt",
|
||||||
|
"sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme",
|
||||||
|
"sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_soft.theme.json"
|
||||||
|
},
|
||||||
|
"HiberbeeDark.theme.json": {
|
||||||
|
"name": "Hiberbee Dark",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"licenseFile": "Hiberbee.LICENSE.txt",
|
"licenseFile": "Hiberbee.LICENSE.txt",
|
||||||
"sourceCodeUrl": "https://github.com/Hiberbee/code-highlight-themes",
|
"sourceCodeUrl": "https://github.com/Hiberbee/code-highlight-themes",
|
||||||
"sourceCodePath": "blob/master/src/main/resources/Hiberbee.theme.json"
|
"sourceCodePath": "blob/master/src/main/resources/HiberbeeDark.theme.json"
|
||||||
},
|
},
|
||||||
"HighContrast.theme.json": {
|
"HighContrast.theme.json": {
|
||||||
"name": "High contrast",
|
"name": "High contrast",
|
||||||
@@ -90,13 +104,6 @@
|
|||||||
"sourceCodeUrl": "https://github.com/OlyaB/HighContrastTheme",
|
"sourceCodeUrl": "https://github.com/OlyaB/HighContrastTheme",
|
||||||
"sourceCodePath": "blob/master/src/HighContrast.theme.json"
|
"sourceCodePath": "blob/master/src/HighContrast.theme.json"
|
||||||
},
|
},
|
||||||
"Light.theme.json": {
|
|
||||||
"name": "IntelliJ Light Preview",
|
|
||||||
"license": "MIT",
|
|
||||||
"licenseFile": "Light.LICENSE.txt",
|
|
||||||
"sourceCodeUrl": "https://github.com/OlyaB/IntelliJLightTheme",
|
|
||||||
"sourceCodePath": "blob/master/src/Light.theme.json"
|
|
||||||
},
|
|
||||||
"LightFlatTheme.theme.json": {
|
"LightFlatTheme.theme.json": {
|
||||||
"name": "Light Flat",
|
"name": "Light Flat",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
137
flatlaf-intellij-themes/build.gradle.kts
Normal file
137
flatlaf-intellij-themes/build.gradle.kts
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
`java-library`
|
||||||
|
`maven-publish`
|
||||||
|
id( "com.jfrog.bintray" )
|
||||||
|
id( "com.jfrog.artifactory" )
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation( project( ":flatlaf-core" ) )
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks {
|
||||||
|
assemble {
|
||||||
|
dependsOn(
|
||||||
|
"sourcesJar",
|
||||||
|
"javadocJar"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
javadoc {
|
||||||
|
options {
|
||||||
|
this as StandardJavadocDocletOptions
|
||||||
|
tags = listOf( "uiDefault", "clientProperty" )
|
||||||
|
}
|
||||||
|
isFailOnError = false
|
||||||
|
}
|
||||||
|
|
||||||
|
register( "sourcesJar", Jar::class ) {
|
||||||
|
archiveClassifier.set( "sources" )
|
||||||
|
|
||||||
|
from( sourceSets.main.get().allJava )
|
||||||
|
}
|
||||||
|
|
||||||
|
register( "javadocJar", Jar::class ) {
|
||||||
|
archiveClassifier.set( "javadoc" )
|
||||||
|
|
||||||
|
from( javadoc )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
publishing {
|
||||||
|
publications {
|
||||||
|
create<MavenPublication>( "maven" ) {
|
||||||
|
artifactId = "flatlaf-intellij-themes"
|
||||||
|
groupId = "com.formdev"
|
||||||
|
|
||||||
|
from( components["java"] )
|
||||||
|
|
||||||
|
artifact( tasks["sourcesJar"] )
|
||||||
|
artifact( tasks["javadocJar"] )
|
||||||
|
|
||||||
|
pom {
|
||||||
|
name.set( "FlatLaf IntelliJ Themes Pack" )
|
||||||
|
description.set( "Flat Look and Feel IntelliJ Themes Pack" )
|
||||||
|
url.set( "https://github.com/JFormDesigner/FlatLaf" )
|
||||||
|
|
||||||
|
licenses {
|
||||||
|
license {
|
||||||
|
name.set( "The Apache License, Version 2.0" )
|
||||||
|
url.set( "https://www.apache.org/licenses/LICENSE-2.0.txt" )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
developers {
|
||||||
|
developer {
|
||||||
|
name.set( "Karl Tauber" )
|
||||||
|
organization.set( "FormDev Software GmbH" )
|
||||||
|
organizationUrl.set( "https://www.formdev.com/" )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
scm {
|
||||||
|
url.set( "https://github.com/JFormDesigner/FlatLaf" )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bintray {
|
||||||
|
user = rootProject.extra["bintray.user"] as String?
|
||||||
|
key = rootProject.extra["bintray.key"] as String?
|
||||||
|
|
||||||
|
setPublications( "maven" )
|
||||||
|
|
||||||
|
with( pkg ) {
|
||||||
|
repo = "flatlaf"
|
||||||
|
name = "flatlaf-intellij-themes"
|
||||||
|
setLicenses( "Apache-2.0" )
|
||||||
|
vcsUrl = "https://github.com/JFormDesigner/FlatLaf"
|
||||||
|
|
||||||
|
with( version ) {
|
||||||
|
name = project.version.toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
publish = rootProject.extra["bintray.publish"] as Boolean
|
||||||
|
dryRun = rootProject.extra["bintray.dryRun"] as Boolean
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
artifactory {
|
||||||
|
setContextUrl( "https://oss.jfrog.org" )
|
||||||
|
|
||||||
|
publish( closureOf<org.jfrog.gradle.plugin.artifactory.dsl.PublisherConfig> {
|
||||||
|
repository( delegateClosureOf<groovy.lang.GroovyObject> {
|
||||||
|
setProperty( "repoKey", "oss-snapshot-local" )
|
||||||
|
setProperty( "username", rootProject.extra["bintray.user"] as String? )
|
||||||
|
setProperty( "password", rootProject.extra["bintray.key"] as String? )
|
||||||
|
} )
|
||||||
|
|
||||||
|
defaults( delegateClosureOf<groovy.lang.GroovyObject> {
|
||||||
|
invokeMethod( "publications", "maven" )
|
||||||
|
setProperty( "publishArtifacts", true )
|
||||||
|
setProperty( "publishPom", true )
|
||||||
|
} )
|
||||||
|
} )
|
||||||
|
|
||||||
|
resolve( delegateClosureOf<org.jfrog.gradle.plugin.artifactory.dsl.ResolverConfig> {
|
||||||
|
setProperty( "repoKey", "jcenter" )
|
||||||
|
} )
|
||||||
|
}
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import javax.swing.UIManager.LookAndFeelInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatAllIJThemes
|
||||||
|
{
|
||||||
|
public static final LookAndFeelInfo[] INFOS = {
|
||||||
|
new LookAndFeelInfo( "Arc", "com.formdev.flatlaf.intellijthemes.FlatArcIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Arc - Orange", "com.formdev.flatlaf.intellijthemes.FlatArcOrangeIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Cyan light", "com.formdev.flatlaf.intellijthemes.FlatCyanLightIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Dark Flat", "com.formdev.flatlaf.intellijthemes.FlatDarkFlatIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Dark purple", "com.formdev.flatlaf.intellijthemes.FlatDarkPurpleIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Dracula", "com.formdev.flatlaf.intellijthemes.FlatDraculaIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Gradianto Dark Fuchsia", "com.formdev.flatlaf.intellijthemes.FlatGradiantoDarkFuchsiaIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Gradianto Deep Ocean", "com.formdev.flatlaf.intellijthemes.FlatGradiantoDeepOceanIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Gradianto Midnight Blue", "com.formdev.flatlaf.intellijthemes.FlatGradiantoMidnightBlueIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Gray", "com.formdev.flatlaf.intellijthemes.FlatGrayIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Gruvbox Dark Hard", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkHardIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Gruvbox Dark Medium", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Gruvbox Dark Soft", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Hiberbee Dark", "com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "High contrast", "com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Light Flat", "com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Design Dark", "com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Monocai", "com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Nord", "com.formdev.flatlaf.intellijthemes.FlatNordIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "One Dark", "com.formdev.flatlaf.intellijthemes.FlatOneDarkIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Solarized Dark", "com.formdev.flatlaf.intellijthemes.FlatSolarizedDarkIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Solarized Light", "com.formdev.flatlaf.intellijthemes.FlatSolarizedLightIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Spacegray", "com.formdev.flatlaf.intellijthemes.FlatSpacegrayIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Vuesion", "com.formdev.flatlaf.intellijthemes.FlatVuesionIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Arc Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Arc Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Atom One Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Atom One Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Atom One Light", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Atom One Light Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Dracula", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Dracula Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "GitHub", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "GitHub Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Light Owl", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Light Owl Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Darker", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Darker Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Deep Ocean", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Deep Ocean Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Lighter", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Lighter Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Oceanic", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Oceanic Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Palenight", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Material Palenight Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Monokai Pro", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Monokai Pro Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Night Owl", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Night Owl Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Solarized Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Solarized Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkContrastIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Solarized Light", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme" ),
|
||||||
|
new LookAndFeelInfo( "Solarized Light Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightContrastIJTheme" ),
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatArcIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatArcIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatArcIJTheme() {
|
||||||
|
super( Utils.loadTheme( "arc-theme.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatArcOrangeIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatArcOrangeIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatArcOrangeIJTheme() {
|
||||||
|
super( Utils.loadTheme( "arc-theme-orange.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatCyanLightIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatCyanLightIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatCyanLightIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Cyan.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatDarkFlatIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatDarkFlatIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatDarkFlatIJTheme() {
|
||||||
|
super( Utils.loadTheme( "DarkFlatTheme.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatDarkPurpleIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatDarkPurpleIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatDarkPurpleIJTheme() {
|
||||||
|
super( Utils.loadTheme( "DarkPurple.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatDraculaIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatDraculaIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatDraculaIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Dracula.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGradiantoDarkFuchsiaIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGradiantoDarkFuchsiaIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGradiantoDarkFuchsiaIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Gradianto_dark_fuchsia.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGradiantoDeepOceanIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGradiantoDeepOceanIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGradiantoDeepOceanIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Gradianto_deep_ocean.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGradiantoMidnightBlueIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGradiantoMidnightBlueIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGradiantoMidnightBlueIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Gradianto_midnight_blue.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGrayIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGrayIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGrayIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Gray.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGruvboxDarkHardIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGruvboxDarkHardIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGruvboxDarkHardIJTheme() {
|
||||||
|
super( Utils.loadTheme( "gruvbox_dark_hard.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGruvboxDarkMediumIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGruvboxDarkMediumIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGruvboxDarkMediumIJTheme() {
|
||||||
|
super( Utils.loadTheme( "gruvbox_dark_medium.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGruvboxDarkSoftIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGruvboxDarkSoftIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGruvboxDarkSoftIJTheme() {
|
||||||
|
super( Utils.loadTheme( "gruvbox_dark_soft.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatHiberbeeDarkIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatHiberbeeDarkIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatHiberbeeDarkIJTheme() {
|
||||||
|
super( Utils.loadTheme( "HiberbeeDark.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatHighContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatHighContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatHighContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "HighContrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatLightFlatIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatLightFlatIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatLightFlatIJTheme() {
|
||||||
|
super( Utils.loadTheme( "LightFlatTheme.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialDesignDarkIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialDesignDarkIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialDesignDarkIJTheme() {
|
||||||
|
super( Utils.loadTheme( "MaterialTheme.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMonocaiIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMonocaiIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMonocaiIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Monocai.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatNordIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatNordIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatNordIJTheme() {
|
||||||
|
super( Utils.loadTheme( "nord.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatOneDarkIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatOneDarkIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatOneDarkIJTheme() {
|
||||||
|
super( Utils.loadTheme( "one_dark.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatSolarizedDarkIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatSolarizedDarkIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatSolarizedDarkIJTheme() {
|
||||||
|
super( Utils.loadTheme( "solarized_dark_theme.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatSolarizedLightIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatSolarizedLightIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatSolarizedLightIJTheme() {
|
||||||
|
super( Utils.loadTheme( "solarized_light_theme.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatSpacegrayIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatSpacegrayIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatSpacegrayIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Spacegray.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatVuesionIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatVuesionIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatVuesionIJTheme() {
|
||||||
|
super( Utils.loadTheme( "vuesion_theme.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import com.formdev.flatlaf.FlatLaf;
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
import com.formdev.flatlaf.json.ParseException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
class Utils
|
||||||
|
{
|
||||||
|
static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() );
|
||||||
|
|
||||||
|
static IntelliJTheme loadTheme( String name ) {
|
||||||
|
try {
|
||||||
|
return new IntelliJTheme( Utils.class.getResourceAsStream( "themes/" + name ) );
|
||||||
|
} catch( ParseException | IOException ex ) {
|
||||||
|
String msg = "FlatLaf: Failed to load IntelliJ theme '" + name + "'";
|
||||||
|
LOG.log( Level.SEVERE, msg, ex );
|
||||||
|
throw new RuntimeException( msg, ex );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatArcDarkContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatArcDarkContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatArcDarkContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Arc Dark Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatArcDarkIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatArcDarkIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatArcDarkIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Arc Dark.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatAtomOneDarkContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatAtomOneDarkContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatAtomOneDarkContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Atom One Dark Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatAtomOneDarkIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatAtomOneDarkIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatAtomOneDarkIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Atom One Dark.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatAtomOneLightContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatAtomOneLightContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatAtomOneLightContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Atom One Light Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatAtomOneLightIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatAtomOneLightIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatAtomOneLightIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Atom One Light.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatDraculaContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatDraculaContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatDraculaContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Dracula Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatDraculaIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatDraculaIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatDraculaIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Dracula.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGitHubContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGitHubContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGitHubContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "GitHub Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatGitHubIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatGitHubIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatGitHubIJTheme() {
|
||||||
|
super( Utils.loadTheme( "GitHub.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatLightOwlContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatLightOwlContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatLightOwlContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Light Owl Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatLightOwlIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatLightOwlIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatLightOwlIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Light Owl.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialDarkerContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialDarkerContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialDarkerContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Darker Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialDarkerIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialDarkerIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialDarkerIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Darker.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialDeepOceanContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialDeepOceanContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialDeepOceanContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Deep Ocean Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialDeepOceanIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialDeepOceanIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialDeepOceanIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Deep Ocean.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialLighterContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialLighterContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialLighterContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Lighter Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialLighterIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialLighterIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialLighterIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Lighter.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialOceanicContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialOceanicContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialOceanicContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Oceanic Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialOceanicIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialOceanicIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialOceanicIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Oceanic.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialPalenightContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialPalenightContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialPalenightContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Palenight Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMaterialPalenightIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMaterialPalenightIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMaterialPalenightIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Material Palenight.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMonokaiProContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMonokaiProContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMonokaiProContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Monokai Pro Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMonokaiProIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatMonokaiProIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatMonokaiProIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Monokai Pro.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatNightOwlContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatNightOwlContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatNightOwlContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Night Owl Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatNightOwlIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatNightOwlIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatNightOwlIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Night Owl.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatSolarizedDarkContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatSolarizedDarkContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatSolarizedDarkContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Solarized Dark Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatSolarizedDarkIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatSolarizedDarkIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatSolarizedDarkIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Solarized Dark.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatSolarizedLightContrastIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatSolarizedLightContrastIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatSolarizedLightContrastIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Solarized Light Contrast.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatSolarizedLightIJTheme
|
||||||
|
extends IntelliJTheme.ThemeLaf
|
||||||
|
{
|
||||||
|
public static boolean install( ) {
|
||||||
|
try {
|
||||||
|
return install( new FlatSolarizedLightIJTheme() );
|
||||||
|
} catch( RuntimeException ex ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FlatSolarizedLightIJTheme() {
|
||||||
|
super( Utils.loadTheme( "Solarized Light.theme.json" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.intellijthemes.materialthemeuilite;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import com.formdev.flatlaf.FlatLaf;
|
||||||
|
import com.formdev.flatlaf.IntelliJTheme;
|
||||||
|
import com.formdev.flatlaf.json.ParseException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
class Utils
|
||||||
|
{
|
||||||
|
static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() );
|
||||||
|
|
||||||
|
static IntelliJTheme loadTheme( String name ) {
|
||||||
|
try {
|
||||||
|
return new IntelliJTheme( Utils.class.getResourceAsStream( "../themes/material-theme-ui-lite/" + name ) );
|
||||||
|
} catch( ParseException | IOException ex ) {
|
||||||
|
String msg = "FlatLaf: Failed to load IntelliJ theme '" + name + "'";
|
||||||
|
LOG.log( Level.SEVERE, msg, ex );
|
||||||
|
throw new RuntimeException( msg, ex );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"selectionBackground": "#6272a4",
|
"selectionBackground": "#6272a4",
|
||||||
"selectionInactiveBackground": "#4E5A82",
|
"selectionInactiveBackground": "#4E5A82",
|
||||||
"inactiveBackground": "#414450",
|
"inactiveBackground": "#414450",
|
||||||
"borderColor": "#282a36",
|
"borderColor": "#282a36"
|
||||||
"underlineColor": "#bd93f9"
|
|
||||||
},
|
},
|
||||||
"Borders": {
|
"Borders": {
|
||||||
"color": "#282a36",
|
"color": "#282a36",
|
||||||
@@ -82,7 +81,7 @@
|
|||||||
"background": "#44475a",
|
"background": "#44475a",
|
||||||
"underlinedTabBackground": "#313341",
|
"underlinedTabBackground": "#313341",
|
||||||
"underlineColor": "#bd93f9",
|
"underlineColor": "#bd93f9",
|
||||||
"underlineHeight": 2
|
"underlineHeight": 1
|
||||||
},
|
},
|
||||||
"FileColor": {
|
"FileColor": {
|
||||||
"Blue": "#8be9fd",
|
"Blue": "#8be9fd",
|
||||||
@@ -175,7 +174,7 @@
|
|||||||
},
|
},
|
||||||
"Separator.separatorColor": "#282a35",
|
"Separator.separatorColor": "#282a35",
|
||||||
"TabbedPane": {
|
"TabbedPane": {
|
||||||
"tabSelectionHeight": 2,
|
"tabSelectionHeight": 1,
|
||||||
"focusColor": "#282a35",
|
"focusColor": "#282a35",
|
||||||
"hoverColor": "#282a35",
|
"hoverColor": "#282a35",
|
||||||
"underlineColor": "#bd93f9",
|
"underlineColor": "#bd93f9",
|
||||||
@@ -198,7 +197,7 @@
|
|||||||
},
|
},
|
||||||
"HeaderTab": {
|
"HeaderTab": {
|
||||||
"underlineColor": "#bd93f9",
|
"underlineColor": "#bd93f9",
|
||||||
"underlineHeight": 2,
|
"underlineHeight": 1,
|
||||||
"underlinedTabBackground": "#313341",
|
"underlinedTabBackground": "#313341",
|
||||||
"underlinedTabInactiveBackground": "#313341"
|
"underlinedTabInactiveBackground": "#313341"
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user