mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-14 07:47:12 -06:00
Merge branch 'JFormDesigner:main' into master
This commit is contained in:
14
.github/workflows/ci.yml
vendored
14
.github/workflows/ci.yml
vendored
@@ -28,13 +28,13 @@ jobs:
|
||||
- 17 # LTS
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: gradle/wrapper-validation-action@v1
|
||||
if: matrix.java == '8'
|
||||
|
||||
- name: Setup Java ${{ matrix.java }}
|
||||
uses: actions/setup-java@v2
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: ${{ matrix.java }}
|
||||
distribution: adopt # Java 8 and 11 are pre-installed on ubuntu-latest
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
run: ./gradlew build
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
if: matrix.java == '11'
|
||||
with:
|
||||
name: FlatLaf-build-artifacts
|
||||
@@ -63,10 +63,10 @@ jobs:
|
||||
github.repository == 'JFormDesigner/FlatLaf'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Java 11
|
||||
uses: actions/setup-java@v2
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: 11
|
||||
distribution: adopt # pre-installed on ubuntu-latest
|
||||
@@ -99,10 +99,10 @@ jobs:
|
||||
github.repository == 'JFormDesigner/FlatLaf'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Java 11
|
||||
uses: actions/setup-java@v2
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: 11
|
||||
distribution: adopt # pre-installed on ubuntu-latest
|
||||
|
||||
9
.github/workflows/natives.yml
vendored
9
.github/workflows/natives.yml
vendored
@@ -25,12 +25,12 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: gradle/wrapper-validation-action@v1
|
||||
|
||||
- name: Setup Java 11
|
||||
uses: actions/setup-java@v2
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: 11
|
||||
distribution: adopt
|
||||
@@ -39,11 +39,12 @@ jobs:
|
||||
- name: Build with Gradle
|
||||
# --no-daemon is necessary on Windows otherwise caching Gradle would fail with:
|
||||
# tar.exe: Couldn't open ~/.gradle/caches/modules-2/modules-2.lock: Permission denied
|
||||
run: ./gradlew :flatlaf-natives-windows:build --no-daemon
|
||||
run: ./gradlew :flatlaf-natives-windows:build-natives --no-daemon
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: FlatLaf-natives-windows-build-artifacts
|
||||
path: |
|
||||
flatlaf-core/src/main/resources/com/formdev/flatlaf/natives
|
||||
flatlaf-natives/flatlaf-natives-windows/build
|
||||
|
||||
15
CHANGELOG.md
15
CHANGELOG.md
@@ -1,7 +1,18 @@
|
||||
FlatLaf Change Log
|
||||
==================
|
||||
|
||||
## 2.2-SNAPSHOT
|
||||
## 2.2
|
||||
|
||||
#### New features and improvements
|
||||
|
||||
- SplitPane: Allow limiting one-touch expanding to a single side (set client
|
||||
property `JSplitPane.expandableSide` to `"left"` or `"right"`). (issue #355)
|
||||
- TabbedPane: Selected tab underline color now changes depending on whether the
|
||||
focus is within the tab content. (issue #398)
|
||||
- IntelliJ Themes:
|
||||
- Added "Monokai Pro" and "Xcode-Dark" themes.
|
||||
- TabbedPane now use different background color for selected tabs in all "Arc"
|
||||
themes, in "Hiberbee Dark" and in all "Material UI Lite" themes.
|
||||
|
||||
#### Fixed bugs
|
||||
|
||||
@@ -13,6 +24,8 @@ FlatLaf Change Log
|
||||
coloring. (issue #512)
|
||||
- SplitPane: Fixed `StackOverflowError` caused by layout loop that may occur
|
||||
under special circumstances. (issue #513)
|
||||
- Table: Slightly changed grid colors to make grid better recognizable. (issue
|
||||
#514)
|
||||
- ToolBar: Fixed endless loop in focus navigation that may occur under special
|
||||
circumstances. (issue #505)
|
||||
- IntelliJ Themes: `Component.accentColor` UI property now has useful theme
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
val releaseVersion = "2.1"
|
||||
val developmentVersion = "2.2-SNAPSHOT"
|
||||
val releaseVersion = "2.2"
|
||||
val developmentVersion = "2.3-SNAPSHOT"
|
||||
|
||||
version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion
|
||||
|
||||
|
||||
@@ -43,12 +43,6 @@ tasks {
|
||||
options.headerOutputDirectory.set( buildDir.resolve( "generated/jni-headers" ) )
|
||||
}
|
||||
|
||||
processResources {
|
||||
// build native libraries
|
||||
if( org.gradle.internal.os.OperatingSystem.current().isWindows )
|
||||
dependsOn( ":flatlaf-natives-windows:assemble" )
|
||||
}
|
||||
|
||||
jar {
|
||||
archiveBaseName.set( "flatlaf" )
|
||||
|
||||
|
||||
@@ -391,6 +391,40 @@ public interface FlatClientProperties
|
||||
*/
|
||||
String SCROLL_PANE_SMOOTH_SCROLLING = "JScrollPane.smoothScrolling";
|
||||
|
||||
//---- JSplitPane ---------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Specifies what side of the spilt pane is allowed to expand
|
||||
* via one-touch expanding arrow buttons.
|
||||
* Requires that one-touch expanding is enabled with
|
||||
* {@link javax.swing.JSplitPane#setOneTouchExpandable(boolean)}.
|
||||
* <p>
|
||||
* <strong>Component</strong> {@link javax.swing.JSplitPane}<br>
|
||||
* <strong>Value type</strong> {@link java.lang.String}<br>
|
||||
* <strong>Allowed Values</strong>
|
||||
* {@link #SPLIT_PANE_EXPANDABLE_SIDE_LEFT} or
|
||||
* {@link #SPLIT_PANE_EXPANDABLE_SIDE_RIGHT}
|
||||
*
|
||||
* @since 2.2
|
||||
*/
|
||||
String SPLIT_PANE_EXPANDABLE_SIDE = "JSplitPane.expandableSide";
|
||||
|
||||
/**
|
||||
* Allow expanding only left/top side of the split pane.
|
||||
*
|
||||
* @see #SPLIT_PANE_EXPANDABLE_SIDE
|
||||
* @since 2.2
|
||||
*/
|
||||
String SPLIT_PANE_EXPANDABLE_SIDE_LEFT = "left";
|
||||
|
||||
/**
|
||||
* Allow expanding only right/bottom side of the split pane.
|
||||
*
|
||||
* @see #SPLIT_PANE_EXPANDABLE_SIDE
|
||||
* @since 2.2
|
||||
*/
|
||||
String SPLIT_PANE_EXPANDABLE_SIDE_RIGHT = "right";
|
||||
|
||||
//---- JTabbedPane --------------------------------------------------------
|
||||
|
||||
/**
|
||||
|
||||
@@ -37,6 +37,7 @@ import com.formdev.flatlaf.json.ParseException;
|
||||
import com.formdev.flatlaf.util.ColorFunctions;
|
||||
import com.formdev.flatlaf.util.LoggingFacade;
|
||||
import com.formdev.flatlaf.util.StringUtils;
|
||||
import com.formdev.flatlaf.util.SystemInfo;
|
||||
|
||||
/**
|
||||
* This class supports loading IntelliJ .theme.json files and using them as a Laf.
|
||||
@@ -162,8 +163,11 @@ public class IntelliJTheme
|
||||
applyCheckBoxColors( defaults );
|
||||
|
||||
// copy values
|
||||
for( Map.Entry<String, String> e : uiKeyCopying.entrySet() )
|
||||
defaults.put( e.getKey(), defaults.get( e.getValue() ) );
|
||||
for( Map.Entry<String, String> e : uiKeyCopying.entrySet() ) {
|
||||
Object value = defaults.get( e.getValue() );
|
||||
if( value != null )
|
||||
defaults.put( e.getKey(), value );
|
||||
}
|
||||
|
||||
// IDEA does not paint button background if disabled, but FlatLaf does
|
||||
Object panelBackground = defaults.get( "Panel.background" );
|
||||
@@ -311,8 +315,19 @@ public class IntelliJTheme
|
||||
@SuppressWarnings( "unchecked" )
|
||||
private void apply( String key, Object value, UIDefaults defaults, ArrayList<Object> defaultsKeysCache, Set<String> uiKeys ) {
|
||||
if( value instanceof Map ) {
|
||||
for( Map.Entry<String, Object> e : ((Map<String, Object>)value).entrySet() )
|
||||
apply( key + '.' + e.getKey(), e.getValue(), defaults, defaultsKeysCache, uiKeys );
|
||||
Map<String, Object> map = (Map<String, Object>)value;
|
||||
if( map.containsKey( "os.default" ) || map.containsKey( "os.windows" ) || map.containsKey( "os.mac" ) || map.containsKey( "os.linux" ) ) {
|
||||
String osKey = SystemInfo.isWindows ? "os.windows"
|
||||
: SystemInfo.isMacOS ? "os.mac"
|
||||
: SystemInfo.isLinux ? "os.linux" : null;
|
||||
if( osKey != null && map.containsKey( osKey ) )
|
||||
apply( key, map.get( osKey ), defaults, defaultsKeysCache, uiKeys );
|
||||
else if( map.containsKey( "os.default" ) )
|
||||
apply( key, map.get( "os.default" ), defaults, defaultsKeysCache, uiKeys );
|
||||
} else {
|
||||
for( Map.Entry<String, Object> e : map.entrySet() )
|
||||
apply( key + '.' + e.getKey(), e.getValue(), defaults, defaultsKeysCache, uiKeys );
|
||||
}
|
||||
} else {
|
||||
if( "".equals( value ) )
|
||||
return; // ignore empty value
|
||||
@@ -612,6 +627,11 @@ public class IntelliJTheme
|
||||
uiKeyCopying.put( "Spinner.buttonSeparatorColor", "Component.borderColor" );
|
||||
uiKeyCopying.put( "Spinner.buttonDisabledSeparatorColor", "Component.disabledBorderColor" );
|
||||
|
||||
// TabbedPane
|
||||
uiKeyCopying.put( "TabbedPane.selectedBackground", "DefaultTabs.underlinedTabBackground" );
|
||||
uiKeyCopying.put( "TabbedPane.selectedForeground", "DefaultTabs.underlinedTabForeground" );
|
||||
uiKeyCopying.put( "TabbedPane.inactiveUnderlineColor", "DefaultTabs.inactiveUnderlineColor" );
|
||||
|
||||
// TitlePane
|
||||
uiKeyCopying.put( "TitlePane.inactiveBackground", "TitlePane.background" );
|
||||
uiKeyMapping.put( "TitlePane.infoForeground", "TitlePane.foreground" );
|
||||
|
||||
@@ -86,6 +86,11 @@ import com.formdev.flatlaf.util.SystemInfo;
|
||||
* @uiDefault ComboBox.padding Insets
|
||||
* @uiDefault ComboBox.squareButton boolean default is true
|
||||
*
|
||||
* <!-- BasicComboPopup -->
|
||||
*
|
||||
* @uiDefault ComboBox.selectionBackground Color
|
||||
* @uiDefault ComboBox.selectionForeground Color
|
||||
*
|
||||
* <!-- FlatComboBoxUI -->
|
||||
*
|
||||
* @uiDefault ComboBox.minimumWidth int
|
||||
|
||||
@@ -34,6 +34,7 @@ import javax.swing.UIManager;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
import javax.swing.plaf.basic.BasicSplitPaneDivider;
|
||||
import javax.swing.plaf.basic.BasicSplitPaneUI;
|
||||
import com.formdev.flatlaf.FlatClientProperties;
|
||||
import com.formdev.flatlaf.ui.FlatStylingSupport.Styleable;
|
||||
import com.formdev.flatlaf.ui.FlatStylingSupport.StyleableUI;
|
||||
import com.formdev.flatlaf.ui.FlatStylingSupport.UnknownStyleException;
|
||||
@@ -52,6 +53,13 @@ import com.formdev.flatlaf.util.UIScale;
|
||||
* @uiDefault SplitPaneDivider.border Border
|
||||
* @uiDefault SplitPaneDivider.draggingColor Color only used if continuousLayout is false
|
||||
*
|
||||
* <!-- BasicSplitPaneDivider -->
|
||||
*
|
||||
* @uiDefault SplitPane.oneTouchButtonSize int
|
||||
* @uiDefault SplitPane.oneTouchButtonOffset int
|
||||
* @uiDefault SplitPane.centerOneTouchButtons boolean
|
||||
* @uiDefault SplitPane.supportsOneTouchButtons boolean optional; default is true
|
||||
*
|
||||
* <!-- JSplitPane -->
|
||||
*
|
||||
* @uiDefault SplitPane.continuousLayout boolean
|
||||
@@ -345,7 +353,7 @@ public class FlatSplitPaneUI
|
||||
if( leftButton == null || rightButton == null || !splitPane.isOneTouchExpandable() )
|
||||
return;
|
||||
|
||||
// increase side of buttons, which makes them easier to hit by the user
|
||||
// increase size of buttons, which makes them easier to hit by the user
|
||||
// and avoids cut arrows at small divider sizes
|
||||
int extraSize = UIScale.scale( 4 );
|
||||
if( orientation == JSplitPane.VERTICAL_SPLIT ) {
|
||||
@@ -360,10 +368,19 @@ public class FlatSplitPaneUI
|
||||
|
||||
// hide buttons if not applicable
|
||||
boolean leftCollapsed = isLeftCollapsed();
|
||||
if( leftCollapsed )
|
||||
boolean rightCollapsed = isRightCollapsed();
|
||||
if( leftCollapsed || rightCollapsed ) {
|
||||
leftButton.setVisible( !leftCollapsed );
|
||||
rightButton.setVisible( !rightCollapsed );
|
||||
} else {
|
||||
Object expandableSide = splitPane.getClientProperty( FlatClientProperties.SPLIT_PANE_EXPANDABLE_SIDE );
|
||||
leftButton.setVisible( expandableSide == null || !FlatClientProperties.SPLIT_PANE_EXPANDABLE_SIDE_LEFT.equals( expandableSide ) );
|
||||
rightButton.setVisible( expandableSide == null || !FlatClientProperties.SPLIT_PANE_EXPANDABLE_SIDE_RIGHT.equals( expandableSide ) );
|
||||
}
|
||||
|
||||
// move right button if left button is hidden
|
||||
if( !leftButton.isVisible() )
|
||||
rightButton.setLocation( leftButton.getLocation() );
|
||||
leftButton.setVisible( !leftCollapsed );
|
||||
rightButton.setVisible( !isRightCollapsed() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,6 +59,7 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.IntConsumer;
|
||||
import java.util.function.Predicate;
|
||||
import javax.accessibility.Accessible;
|
||||
import javax.accessibility.AccessibleContext;
|
||||
import javax.swing.Action;
|
||||
@@ -82,10 +83,12 @@ import javax.swing.event.ChangeListener;
|
||||
import javax.swing.event.PopupMenuEvent;
|
||||
import javax.swing.event.PopupMenuListener;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
import javax.swing.plaf.TabbedPaneUI;
|
||||
import javax.swing.plaf.UIResource;
|
||||
import javax.swing.plaf.basic.BasicTabbedPaneUI;
|
||||
import javax.swing.text.JTextComponent;
|
||||
import javax.swing.text.View;
|
||||
import com.formdev.flatlaf.FlatClientProperties;
|
||||
import com.formdev.flatlaf.FlatLaf;
|
||||
import com.formdev.flatlaf.icons.FlatTabbedPaneCloseIcon;
|
||||
import com.formdev.flatlaf.ui.FlatStylingSupport.Styleable;
|
||||
@@ -127,6 +130,7 @@ import com.formdev.flatlaf.util.UIScale;
|
||||
* @uiDefault TabbedPane.selectedBackground Color optional
|
||||
* @uiDefault TabbedPane.selectedForeground Color
|
||||
* @uiDefault TabbedPane.underlineColor Color
|
||||
* @uiDefault TabbedPane.inactiveUnderlineColor Color
|
||||
* @uiDefault TabbedPane.disabledUnderlineColor Color
|
||||
* @uiDefault TabbedPane.hoverColor Color
|
||||
* @uiDefault TabbedPane.focusColor Color
|
||||
@@ -198,6 +202,7 @@ public class FlatTabbedPaneUI
|
||||
@Styleable protected Color selectedBackground;
|
||||
@Styleable protected Color selectedForeground;
|
||||
@Styleable protected Color underlineColor;
|
||||
/** @since 2.2 */ @Styleable protected Color inactiveUnderlineColor;
|
||||
@Styleable protected Color disabledUnderlineColor;
|
||||
@Styleable protected Color hoverColor;
|
||||
@Styleable protected Color focusColor;
|
||||
@@ -288,6 +293,7 @@ public class FlatTabbedPaneUI
|
||||
|
||||
super.installUI( c );
|
||||
|
||||
FlatSelectedTabRepainter.install();
|
||||
installStyle();
|
||||
}
|
||||
|
||||
@@ -318,6 +324,7 @@ public class FlatTabbedPaneUI
|
||||
selectedBackground = UIManager.getColor( "TabbedPane.selectedBackground" );
|
||||
selectedForeground = UIManager.getColor( "TabbedPane.selectedForeground" );
|
||||
underlineColor = UIManager.getColor( "TabbedPane.underlineColor" );
|
||||
inactiveUnderlineColor = FlatUIUtils.getUIColor( "TabbedPane.inactiveUnderlineColor", underlineColor );
|
||||
disabledUnderlineColor = UIManager.getColor( "TabbedPane.disabledUnderlineColor" );
|
||||
hoverColor = UIManager.getColor( "TabbedPane.hoverColor" );
|
||||
focusColor = UIManager.getColor( "TabbedPane.focusColor" );
|
||||
@@ -385,6 +392,7 @@ public class FlatTabbedPaneUI
|
||||
selectedBackground = null;
|
||||
selectedForeground = null;
|
||||
underlineColor = null;
|
||||
inactiveUnderlineColor = null;
|
||||
disabledUnderlineColor = null;
|
||||
hoverColor = null;
|
||||
focusColor = null;
|
||||
@@ -733,7 +741,6 @@ public class FlatTabbedPaneUI
|
||||
|
||||
// increase size of repaint region to include part of content border
|
||||
if( contentSeparatorHeight > 0 &&
|
||||
getTabType() == TAB_TYPE_CARD &&
|
||||
clientPropertyBoolean( tabPane, TABBED_PANE_SHOW_CONTENT_SEPARATOR, true ) )
|
||||
{
|
||||
int sh = scale( contentSeparatorHeight );
|
||||
@@ -1205,7 +1212,9 @@ public class FlatTabbedPaneUI
|
||||
}
|
||||
|
||||
protected void paintTabSelection( Graphics g, int tabPlacement, int x, int y, int w, int h ) {
|
||||
g.setColor( tabPane.isEnabled() ? underlineColor : disabledUnderlineColor );
|
||||
g.setColor( tabPane.isEnabled()
|
||||
? (isTabbedPaneOrChildFocused() ? underlineColor : inactiveUnderlineColor)
|
||||
: disabledUnderlineColor );
|
||||
|
||||
// paint underline selection
|
||||
boolean atBottom = (getTabType() != TAB_TYPE_CARD);
|
||||
@@ -1236,6 +1245,23 @@ public class FlatTabbedPaneUI
|
||||
}
|
||||
}
|
||||
|
||||
/** @since 2.2 */
|
||||
@SuppressWarnings( "unchecked" )
|
||||
protected boolean isTabbedPaneOrChildFocused() {
|
||||
KeyboardFocusManager keyboardFocusManager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
|
||||
|
||||
Object value = tabPane.getClientProperty( FlatClientProperties.COMPONENT_FOCUS_OWNER );
|
||||
if( value instanceof Predicate ) {
|
||||
return ((Predicate<JComponent>)value).test( tabPane ) &&
|
||||
FlatUIUtils.isInActiveWindow( tabPane, keyboardFocusManager.getActiveWindow() );
|
||||
}
|
||||
|
||||
Component focusOwner = keyboardFocusManager.getPermanentFocusOwner();
|
||||
return focusOwner != null &&
|
||||
SwingUtilities.isDescendingFrom( focusOwner, tabPane ) &&
|
||||
FlatUIUtils.isInActiveWindow( focusOwner, keyboardFocusManager.getActiveWindow() );
|
||||
}
|
||||
|
||||
/**
|
||||
* Actually does nearly the same as super.paintContentBorder() but
|
||||
* - not using UIManager.getColor("TabbedPane.contentAreaColor") to be GUI builder friendly
|
||||
@@ -3341,4 +3367,77 @@ public class FlatTabbedPaneUI
|
||||
delegate.actionPerformed( e );
|
||||
}
|
||||
}
|
||||
|
||||
//---- class FlatSelectedTabRepainter -------------------------------------
|
||||
|
||||
private static class FlatSelectedTabRepainter
|
||||
implements PropertyChangeListener//, Runnable
|
||||
{
|
||||
private static FlatSelectedTabRepainter instance;
|
||||
|
||||
private KeyboardFocusManager keyboardFocusManager;
|
||||
|
||||
static void install() {
|
||||
synchronized( FlatSelectedTabRepainter.class ) {
|
||||
if( instance != null )
|
||||
return;
|
||||
|
||||
instance = new FlatSelectedTabRepainter();
|
||||
}
|
||||
}
|
||||
|
||||
FlatSelectedTabRepainter() {
|
||||
keyboardFocusManager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
|
||||
keyboardFocusManager.addPropertyChangeListener( this );
|
||||
}
|
||||
|
||||
private void uninstall() {
|
||||
synchronized( FlatSelectedTabRepainter.class ) {
|
||||
if( instance == null )
|
||||
return;
|
||||
|
||||
keyboardFocusManager.removePropertyChangeListener( this );
|
||||
keyboardFocusManager = null;
|
||||
instance = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void propertyChange( PropertyChangeEvent e ) {
|
||||
// uninstall if no longer using FlatLaf
|
||||
if( !(UIManager.getLookAndFeel() instanceof FlatLaf) ) {
|
||||
uninstall();
|
||||
return;
|
||||
}
|
||||
|
||||
switch( e.getPropertyName() ) {
|
||||
case "permanentFocusOwner":
|
||||
Object oldValue = e.getOldValue();
|
||||
Object newValue = e.getNewValue();
|
||||
if( oldValue instanceof Component )
|
||||
repaintSelectedTabs( (Component) oldValue );
|
||||
if( newValue instanceof Component )
|
||||
repaintSelectedTabs( (Component) newValue );
|
||||
break;
|
||||
|
||||
case "activeWindow":
|
||||
repaintSelectedTabs( keyboardFocusManager.getPermanentFocusOwner() );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void repaintSelectedTabs( Component c ) {
|
||||
if( c instanceof JTabbedPane )
|
||||
repaintSelectedTab( (JTabbedPane) c );
|
||||
|
||||
while( (c = SwingUtilities.getAncestorOfClass( JTabbedPane.class, c )) != null )
|
||||
repaintSelectedTab( (JTabbedPane) c );
|
||||
}
|
||||
|
||||
private void repaintSelectedTab( JTabbedPane tabbedPane ) {
|
||||
TabbedPaneUI ui = tabbedPane.getUI();
|
||||
if( ui instanceof FlatTabbedPaneUI )
|
||||
((FlatTabbedPaneUI) ui).repaintTab( tabbedPane.getSelectedIndex() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ public class FlatUIUtils
|
||||
isInActiveWindow( c, keyboardFocusManager.getActiveWindow() );
|
||||
}
|
||||
|
||||
private static boolean isInActiveWindow( Component c, Window activeWindow ) {
|
||||
static boolean isInActiveWindow( Component c, Window activeWindow ) {
|
||||
Window window = SwingUtilities.windowForComponent( c );
|
||||
return window == activeWindow ||
|
||||
(window != null && window.getType() == Window.Type.POPUP && window.getOwner() == activeWindow);
|
||||
|
||||
@@ -306,6 +306,7 @@ SplitPaneDivider.draggingColor = $Component.borderColor
|
||||
#---- TabbedPane ----
|
||||
|
||||
TabbedPane.underlineColor = @accentUnderlineColor
|
||||
TabbedPane.inactiveUnderlineColor = mix(@accentUnderlineColor,$TabbedPane.background,60%)
|
||||
TabbedPane.disabledUnderlineColor = lighten(@background,23%)
|
||||
TabbedPane.hoverColor = darken($TabbedPane.background,5%,derived noAutoInverse)
|
||||
TabbedPane.focusColor = mix(@selectionBackground,$TabbedPane.background,25%)
|
||||
@@ -324,7 +325,7 @@ TabbedPane.closePressedForeground = $TabbedPane.closeHoverForeground
|
||||
|
||||
#---- Table ----
|
||||
|
||||
Table.gridColor = lighten($Table.background,5%)
|
||||
Table.gridColor = lighten($Table.background,8%)
|
||||
|
||||
|
||||
#---- TableHeader ----
|
||||
|
||||
@@ -313,6 +313,7 @@ SplitPaneDivider.draggingColor = $Component.borderColor
|
||||
#---- TabbedPane ----
|
||||
|
||||
TabbedPane.underlineColor = @accentUnderlineColor
|
||||
TabbedPane.inactiveUnderlineColor = mix(@accentUnderlineColor,$TabbedPane.background,50%)
|
||||
TabbedPane.disabledUnderlineColor = darken(@background,28%)
|
||||
TabbedPane.hoverColor = darken($TabbedPane.background,7%,derived)
|
||||
TabbedPane.focusColor = mix(@selectionBackground,$TabbedPane.background,10%)
|
||||
@@ -331,7 +332,7 @@ TabbedPane.closePressedForeground = $TabbedPane.closeHoverForeground
|
||||
|
||||
#---- Table ----
|
||||
|
||||
Table.gridColor = darken($Table.background,5%)
|
||||
Table.gridColor = darken($Table.background,8%)
|
||||
|
||||
|
||||
#---- TableHeader ----
|
||||
|
||||
@@ -82,6 +82,13 @@ HelpButton.hoverBorderColor = null
|
||||
Slider.focusedColor = fade($Component.focusColor,40%,derived)
|
||||
|
||||
|
||||
#---- TabbedPane ----
|
||||
|
||||
# colors from JBUI.CurrentTheme.DefaultTabs.inactiveUnderlineColor()
|
||||
[light]TabbedPane.inactiveUnderlineColor = #9ca7b8
|
||||
[dark]TabbedPane.inactiveUnderlineColor = #747a80
|
||||
|
||||
|
||||
#---- ToggleButton ----
|
||||
|
||||
ToggleButton.startBackground = $ToggleButton.background
|
||||
@@ -162,6 +169,8 @@ ToggleButton.endBackground = $ToggleButton.background
|
||||
[Gruvbox_Dark_Soft]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground
|
||||
|
||||
[Hiberbee_Dark]TabbedPane.focusColor = #5A5A5A
|
||||
[Hiberbee_Dark]TabbedPane.selectedBackground = #434241
|
||||
[Hiberbee_Dark]TabbedPane.selectedForeground = #70D7FF
|
||||
[Hiberbee_Dark]ToggleButton.selectedBackground = $ToggleButton.selectedBackground
|
||||
[Hiberbee_Dark]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground
|
||||
|
||||
|
||||
@@ -693,6 +693,7 @@ public class TestFlatStyleableInfo
|
||||
"selectedBackground", Color.class,
|
||||
"selectedForeground", Color.class,
|
||||
"underlineColor", Color.class,
|
||||
"inactiveUnderlineColor", Color.class,
|
||||
"disabledUnderlineColor", Color.class,
|
||||
"hoverColor", Color.class,
|
||||
"focusColor", Color.class,
|
||||
|
||||
@@ -862,6 +862,7 @@ public class TestFlatStyling
|
||||
ui.applyStyle( "selectedBackground: #fff" );
|
||||
ui.applyStyle( "selectedForeground: #fff" );
|
||||
ui.applyStyle( "underlineColor: #fff" );
|
||||
ui.applyStyle( "inactiveUnderlineColor: #fff" );
|
||||
ui.applyStyle( "disabledUnderlineColor: #fff" );
|
||||
ui.applyStyle( "hoverColor: #fff" );
|
||||
ui.applyStyle( "focusColor: #fff" );
|
||||
|
||||
@@ -43,7 +43,7 @@ public class IJThemesClassGenerator
|
||||
markdownTable.append( "-----|------\n" );
|
||||
|
||||
for( IJThemeInfo ti : themesManager.bundledThemes ) {
|
||||
if( ti.sourceCodeUrl == null || ti.sourceCodePath == null )
|
||||
if( ti.sourceCodeUrl == null )
|
||||
continue;
|
||||
|
||||
generateClass( ti, toPath, allInfos, markdownTable );
|
||||
@@ -77,7 +77,7 @@ public class IJThemesClassGenerator
|
||||
themeName += " (Material)";
|
||||
|
||||
StringBuilder buf = new StringBuilder();
|
||||
for( String n : name.split( " " ) ) {
|
||||
for( String n : name.split( "[ \\-]" ) ) {
|
||||
if( n.length() == 0 || n.equals( "-" ) )
|
||||
continue;
|
||||
|
||||
|
||||
@@ -178,6 +178,13 @@
|
||||
"sourceCodeUrl": "https://github.com/bmikaili/intellij-monocai-theme",
|
||||
"sourceCodePath": "blob/master/resources/Monocai.theme.json"
|
||||
},
|
||||
"Monokai_Pro.default.theme.json": {
|
||||
"name": "Monokai Pro",
|
||||
"dark": true,
|
||||
"license": "MIT",
|
||||
"licenseFile": "Monokai_Pro.LICENSE.txt",
|
||||
"sourceCodeUrl": "https://github.com/subtheme-dev/monokai-pro"
|
||||
},
|
||||
"nord.theme.json": {
|
||||
"name": "Nord",
|
||||
"dark": true,
|
||||
@@ -225,6 +232,14 @@
|
||||
"sourceCodeUrl": "https://github.com/vuesion/intellij-theme",
|
||||
"sourceCodePath": "blob/master/resources/META-INF/vuesion_theme.theme.json"
|
||||
},
|
||||
"Xcode-Dark.theme.json": {
|
||||
"name": "Xcode-Dark",
|
||||
"dark": true,
|
||||
"license": "MIT",
|
||||
"licenseFile": "Xcode-Dark.LICENSE.txt",
|
||||
"sourceCodeUrl": "https://github.com/antelle/intellij-xcode-dark-theme",
|
||||
"sourceCodePath": "blob/master/resources/Xcode-Dark.theme.json"
|
||||
},
|
||||
|
||||
"material-theme-ui-lite/Arc Dark.theme.json": {
|
||||
"name": "Material Theme UI Lite / Arc Dark",
|
||||
|
||||
@@ -65,12 +65,14 @@ Name | Class
|
||||
[Light Flat](https://github.com/nerzhulart/LightFlatTheme) | `com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme`
|
||||
[Material Design Dark](https://github.com/xinkunZ/NotReallyMDTheme) | `com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme`
|
||||
[Monocai](https://github.com/bmikaili/intellij-monocai-theme) | `com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme`
|
||||
[Monokai Pro](https://github.com/subtheme-dev/monokai-pro) | `com.formdev.flatlaf.intellijthemes.FlatMonokaiProIJTheme`
|
||||
[Nord](https://github.com/arcticicestudio/nord-jetbrains) | `com.formdev.flatlaf.intellijthemes.FlatNordIJTheme`
|
||||
[One Dark](https://github.com/one-dark/jetbrains-one-dark-theme) | `com.formdev.flatlaf.intellijthemes.FlatOneDarkIJTheme`
|
||||
[Solarized Dark](https://github.com/4lex4/intellij-platform-solarized) | `com.formdev.flatlaf.intellijthemes.FlatSolarizedDarkIJTheme`
|
||||
[Solarized Light](https://github.com/4lex4/intellij-platform-solarized) | `com.formdev.flatlaf.intellijthemes.FlatSolarizedLightIJTheme`
|
||||
[Spacegray](https://github.com/mturlo/intellij-spacegray) | `com.formdev.flatlaf.intellijthemes.FlatSpacegrayIJTheme`
|
||||
[Vuesion](https://github.com/vuesion/intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatVuesionIJTheme`
|
||||
[Xcode-Dark](https://github.com/antelle/intellij-xcode-dark-theme) | `com.formdev.flatlaf.intellijthemes.FlatXcodeDarkIJTheme`
|
||||
|
||||
Material Theme UI Lite:
|
||||
|
||||
|
||||
@@ -52,12 +52,14 @@ public class FlatAllIJThemes
|
||||
new FlatIJLookAndFeelInfo( "Light Flat", "com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme", false ),
|
||||
new FlatIJLookAndFeelInfo( "Material Design Dark", "com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Monocai", "com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Monokai Pro", "com.formdev.flatlaf.intellijthemes.FlatMonokaiProIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Nord", "com.formdev.flatlaf.intellijthemes.FlatNordIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "One Dark", "com.formdev.flatlaf.intellijthemes.FlatOneDarkIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Solarized Dark", "com.formdev.flatlaf.intellijthemes.FlatSolarizedDarkIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Solarized Light", "com.formdev.flatlaf.intellijthemes.FlatSolarizedLightIJTheme", false ),
|
||||
new FlatIJLookAndFeelInfo( "Spacegray", "com.formdev.flatlaf.intellijthemes.FlatSpacegrayIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Vuesion", "com.formdev.flatlaf.intellijthemes.FlatVuesionIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Xcode-Dark", "com.formdev.flatlaf.intellijthemes.FlatXcodeDarkIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Arc Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Arc Dark Contrast (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkContrastIJTheme", true ),
|
||||
new FlatIJLookAndFeelInfo( "Atom One Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme", true ),
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* 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;
|
||||
|
||||
//
|
||||
// DO NOT MODIFY
|
||||
// Generated with com.formdev.flatlaf.demo.intellijthemes.IJThemesClassGenerator
|
||||
//
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatMonokaiProIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static final String NAME = "Monokai Pro";
|
||||
|
||||
public static boolean setup() {
|
||||
try {
|
||||
return setup( new FlatMonokaiProIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static void installLafInfo() {
|
||||
installLafInfo( NAME, FlatMonokaiProIJTheme.class );
|
||||
}
|
||||
|
||||
public FlatMonokaiProIJTheme() {
|
||||
super( Utils.loadTheme( "Monokai_Pro.default.theme.json" ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return NAME;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* 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;
|
||||
|
||||
//
|
||||
// DO NOT MODIFY
|
||||
// Generated with com.formdev.flatlaf.demo.intellijthemes.IJThemesClassGenerator
|
||||
//
|
||||
|
||||
import com.formdev.flatlaf.IntelliJTheme;
|
||||
|
||||
/**
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
public class FlatXcodeDarkIJTheme
|
||||
extends IntelliJTheme.ThemeLaf
|
||||
{
|
||||
public static final String NAME = "Xcode-Dark";
|
||||
|
||||
public static boolean setup() {
|
||||
try {
|
||||
return setup( new FlatXcodeDarkIJTheme() );
|
||||
} catch( RuntimeException ex ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static void installLafInfo() {
|
||||
installLafInfo( NAME, FlatXcodeDarkIJTheme.class );
|
||||
}
|
||||
|
||||
public FlatXcodeDarkIJTheme() {
|
||||
super( Utils.loadTheme( "Xcode-Dark.theme.json" ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return NAME;
|
||||
}
|
||||
}
|
||||
@@ -127,7 +127,11 @@
|
||||
"secondaryForeground": "#7ac2cc"
|
||||
},
|
||||
|
||||
"List.background": "#eef0f4",
|
||||
"List": {
|
||||
"background": "#eef0f4",
|
||||
"hoverBackground": "#dae6eb",
|
||||
"hoverInactiveBackground": "#dae6eb"
|
||||
},
|
||||
|
||||
"Notification": {
|
||||
"MoreButton.innerBorderColor": "#bec5cd",
|
||||
@@ -143,6 +147,12 @@
|
||||
}
|
||||
},
|
||||
|
||||
"NotificationsToolwindow": {
|
||||
"newNotification.background": "#dae6ebB3",
|
||||
"newNotification.hoverBackground": "#dae6eb",
|
||||
"Notification.hoverBackground": "#dae6eb"
|
||||
},
|
||||
|
||||
"PasswordField.background": "#FFFFFF",
|
||||
|
||||
"Plugins": {
|
||||
@@ -151,7 +161,8 @@
|
||||
"SectionHeader.foreground": "#808080",
|
||||
"SectionHeader.background": "#edeef2",
|
||||
"Tab.selectedBackground": "#cacccf",
|
||||
"Tab.hoverBackground": "#cacccf"
|
||||
"Tab.hoverBackground": "#cacccf",
|
||||
"hoverBackground": "#e6eef2"
|
||||
},
|
||||
|
||||
"Popup": {
|
||||
@@ -249,7 +260,12 @@
|
||||
}
|
||||
},
|
||||
|
||||
"Tree.background": "#eef0f4",
|
||||
"Tree": {
|
||||
"background": "#eef0f4",
|
||||
"hoverBackground": "#dae6eb",
|
||||
"hoverInactiveBackground": "#dae6eb",
|
||||
"hash": "#d0d5db"
|
||||
},
|
||||
|
||||
"WelcomeScreen": {
|
||||
"Details.background": "#eef0f4",
|
||||
|
||||
@@ -120,7 +120,8 @@
|
||||
"DefaultTabs": {
|
||||
"underlineColor": "#9649cc",
|
||||
"inactiveUnderlineColor": "#877399",
|
||||
"hoverBackground": "#dfb3ff1a"
|
||||
"hoverBackground": "#dfb3ff1a",
|
||||
"borderColor": "#1a1721"
|
||||
},
|
||||
|
||||
"DragAndDrop": {
|
||||
@@ -168,6 +169,11 @@
|
||||
"visitedForeground": "#7094FF"
|
||||
},
|
||||
|
||||
"List": {
|
||||
"hoverBackground": "#00000033",
|
||||
"hoverInactiveBackground": "#00000033"
|
||||
},
|
||||
|
||||
"MenuBar.borderColor": "#1a1721",
|
||||
|
||||
"NavBar.borderColor": "#1a1721",
|
||||
@@ -197,6 +203,12 @@
|
||||
}
|
||||
},
|
||||
|
||||
"NotificationsToolwindow": {
|
||||
"newNotification.background": "#3D3952B3",
|
||||
"newNotification.hoverBackground": "#3D3952",
|
||||
"Notification.hoverBackground": "#3D3952"
|
||||
},
|
||||
|
||||
"MemoryIndicator": {
|
||||
"allocatedBackground": "#352140",
|
||||
"usedBackground": "#533473"
|
||||
@@ -211,6 +223,8 @@
|
||||
},
|
||||
|
||||
"Plugins": {
|
||||
"hoverBackground": "#00000022",
|
||||
|
||||
"Tab": {
|
||||
"selectedForeground": "#D0D0D9",
|
||||
"selectedBackground": "#593f73",
|
||||
@@ -284,6 +298,13 @@
|
||||
|
||||
"SearchOption.selectedBackground": "#424885",
|
||||
|
||||
"SegmentedButton": {
|
||||
"selectedButtonColor": "#45405C",
|
||||
"focusedSelectedButtonColor": "#693687",
|
||||
"selectedStartBorderColor": "#4E4C63",
|
||||
"selectedEndBorderColor": "#4E4C63"
|
||||
},
|
||||
|
||||
"SpeedSearch": {
|
||||
"foreground": "#D0D0D9",
|
||||
"borderColor": "#69418c",
|
||||
@@ -310,7 +331,8 @@
|
||||
|
||||
"Table": {
|
||||
"stripeColor": "#323242",
|
||||
"hoverBackground": "#00000028"
|
||||
"hoverBackground": "#00000028",
|
||||
"gridColor": "#1a1721"
|
||||
},
|
||||
|
||||
"TextArea": {
|
||||
@@ -360,7 +382,12 @@
|
||||
}
|
||||
},
|
||||
|
||||
"Tree.rowHeight": 20,
|
||||
"Tree": {
|
||||
"rowHeight": 20,
|
||||
"hash": "#4E4C63",
|
||||
"hoverBackground": "#00000033",
|
||||
"hoverInactiveBackground": "#00000033"
|
||||
},
|
||||
|
||||
"ValidationTooltip": {
|
||||
"errorBackground": "#802d43",
|
||||
|
||||
@@ -38,6 +38,26 @@
|
||||
"pressedBackground": "hoverBackground",
|
||||
"pressedBorderColor": "hoverBackground"
|
||||
},
|
||||
"Bookmark": {
|
||||
"iconBackground": "accentColor",
|
||||
"Mnemonic": {
|
||||
"iconForeground": "primaryForeground",
|
||||
"iconBackground": "#8d6b81",
|
||||
"iconBorderColor": "accentColor"
|
||||
}
|
||||
},
|
||||
"BookmarkMnemonicAssigned": {
|
||||
"foreground": "primaryForeground",
|
||||
"background": "#786299",
|
||||
"borderColor": "secondaryAccentColor"
|
||||
},
|
||||
"BookmarkMnemonicAvailable": {
|
||||
},
|
||||
"BookmarkMnemonicCurrent": {
|
||||
"foreground": "primaryForeground",
|
||||
"background": "#8d6b81",
|
||||
"borderColor": "accentColor"
|
||||
},
|
||||
"Button": {
|
||||
"foreground": "primaryForeground",
|
||||
"startBorderColor": "selectionBackground",
|
||||
@@ -90,7 +110,7 @@
|
||||
"inactiveWarningFocusColor": "#f1fa8c"
|
||||
},
|
||||
"DragAndDrop": {
|
||||
"areaBorderColor": "selectionBackground"
|
||||
"borderColor": "selectionBackground"
|
||||
},
|
||||
"Editor": {
|
||||
"background": "secondaryBackground",
|
||||
|
||||
@@ -111,6 +111,11 @@
|
||||
"secondaryForeground": "#77a8d9"
|
||||
},
|
||||
|
||||
"List": {
|
||||
"hoverBackground": "#00000010",
|
||||
"hoverInactiveBackground": "#00000010"
|
||||
},
|
||||
|
||||
"Notification": {
|
||||
"background": "#f7f8fa",
|
||||
"borderColor": "#D4D6D9",
|
||||
@@ -131,6 +136,12 @@
|
||||
}
|
||||
},
|
||||
|
||||
"NotificationsToolwindow": {
|
||||
"newNotification.background": "#dae9f7B3",
|
||||
"newNotification.hoverBackground": "#00000009",
|
||||
"Notification.hoverBackground": "#00000009"
|
||||
},
|
||||
|
||||
"PasswordField.background": "#FFFFFF",
|
||||
|
||||
"Plugins": {
|
||||
@@ -140,7 +151,7 @@
|
||||
"Tab.selectedBackground": "#D5D6D7",
|
||||
"Tab.hoverBackground": "#D5D6D7",
|
||||
"lightSelectionBackground": "#E9EFF7",
|
||||
"hoverBackground": "#f7faff"
|
||||
"hoverBackground": "#F8F8F8"
|
||||
},
|
||||
|
||||
"Popup": {
|
||||
@@ -225,7 +236,11 @@
|
||||
}
|
||||
},
|
||||
|
||||
"Tree.rowHeight": 22,
|
||||
"Tree": {
|
||||
"rowHeight": 22,
|
||||
"hoverBackground": "#00000010",
|
||||
"hoverInactiveBackground": "#00000010"
|
||||
},
|
||||
|
||||
"VersionControl": {
|
||||
"Log.Commit.currentBranchBackground": "#e6f0f2",
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,684 @@
|
||||
{
|
||||
"name": "Monokai Pro",
|
||||
"dark": true,
|
||||
"author": "Subtheme",
|
||||
"editorScheme": "/schemes/default.xml",
|
||||
"ui": {
|
||||
"*": {
|
||||
"acceleratorSelectionForeground": "#ffd866",
|
||||
"background": "#2d2a2e",
|
||||
"borderColor": "#363337",
|
||||
"disabledBackground": "#221f22",
|
||||
"disabledForeground": "#5b595c",
|
||||
"disabledText": "#5b595c",
|
||||
"focusColor": "#5b595c",
|
||||
"focusedBorderColor": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"inactiveBackground": "#221f22",
|
||||
"inactiveForeground": "#939293",
|
||||
"infoForeground": "#939293",
|
||||
"selectionBackground": "#403e41",
|
||||
"selectionBackgroundInactive": "#403e41",
|
||||
"selectionForeground": "#ffd866",
|
||||
"selectionInactiveBackground": "#403e41",
|
||||
"selectionInactiveForeground": "#ffd866",
|
||||
"separatorColor": "#2d2a2e"
|
||||
},
|
||||
"ActionButton": {
|
||||
"hoverBackground": "#363337",
|
||||
"hoverBorderColor": "#363337",
|
||||
"pressedBackground": "#363337",
|
||||
"pressedBorderColor": "#363337"
|
||||
},
|
||||
"Borders": {
|
||||
"ContrastBorderColor": "#363337",
|
||||
"color": "#363337"
|
||||
},
|
||||
"Button": {
|
||||
"arc": 0,
|
||||
"background": "#403e41",
|
||||
"default": {
|
||||
"endBackground": "#403e41",
|
||||
"endBorderColor": "#403e41",
|
||||
"foreground": "#ffd866",
|
||||
"focusColor": "#ffd866",
|
||||
"focusedBorderColor": "#403e41",
|
||||
"shadowColor": "#403e41",
|
||||
"startBackground": "#403e41",
|
||||
"startBorderColor": "#403e41"
|
||||
},
|
||||
"disabledBorderColor": "#403e41",
|
||||
"disabledText": "#5b595c",
|
||||
"endBackground": "#403e41",
|
||||
"endBorderColor": "#403e41",
|
||||
"focusedBorderColor": "#403e41",
|
||||
"foreground": "#fcfcfa",
|
||||
"shadowColor": "#403e41",
|
||||
"shadowWidth": 0,
|
||||
"startBackground": "#403e41",
|
||||
"startBorderColor": "#403e41"
|
||||
},
|
||||
"CheckBox": {
|
||||
"background": "#2d2a2e",
|
||||
"disabledText": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"select": "#ffd866"
|
||||
},
|
||||
"CheckBoxMenuItem": {
|
||||
"acceleratorForeground": "#939293",
|
||||
"acceleratorSelectionForeground": "#939293",
|
||||
"background": "#2d2a2e",
|
||||
"disabledBackground": "#2d2a2e",
|
||||
"disabledForeground": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"selectionBackground": "#403e41",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"ColorChooser": {
|
||||
"background": "#2d2a2e",
|
||||
"foreground": "#fcfcfa",
|
||||
"swatchesDefaultRecentColor": "#fcfcfa"
|
||||
},
|
||||
"ComboBoxButton": {
|
||||
"background": "#363337"
|
||||
},
|
||||
"ComboBox": {
|
||||
"ArrowButton": {
|
||||
"background": "#403e41",
|
||||
"disabledIconColor": "#5b595c",
|
||||
"iconColor": "#fcfcfa",
|
||||
"nonEditableBackground": "#2d2a2e"
|
||||
},
|
||||
"background": "#363337",
|
||||
"disabledBackground": "#221f22",
|
||||
"disabledForeground": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"modifiedItemForeground": "#ffd866",
|
||||
"nonEditableBackground": "#363337",
|
||||
"selectionBackground": "#2d2a2e",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"ComboPopup": {
|
||||
"border": "#2d2a2e"
|
||||
},
|
||||
"CompletionPopup": {
|
||||
"foreground": "#fcfcfa",
|
||||
"matchForeground": "#ffd866",
|
||||
"selectionInactiveBackground": "#2d2a2e",
|
||||
"selectionBackground": "#2d2a2e"
|
||||
},
|
||||
"Component": {
|
||||
"arc": 4,
|
||||
"borderColor": "#363337",
|
||||
"disabledBorderColor": "#363337",
|
||||
"focusColor": "#ffd866",
|
||||
"focusedBorderColor": "#ffd866",
|
||||
"hoverIconColor": "#ffd866",
|
||||
"infoForeground": "#939293",
|
||||
"iconColor": "#fcfcfa"
|
||||
},
|
||||
"Counter": {
|
||||
"background": "#ffd866",
|
||||
"foreground": "#19181a"
|
||||
},
|
||||
"Debugger": {
|
||||
"Variables": {
|
||||
"collectingDataForeground": "#939293",
|
||||
"changedValueForeground": "#ffd866",
|
||||
"errorMessageForeground": "#ff6188",
|
||||
"evaluatingExpressionForeground": "#939293",
|
||||
"exceptionForeground": "#78dce8",
|
||||
"modifyingValueForeground": "#ffd866",
|
||||
"valueForeground": "#ffd866"
|
||||
}
|
||||
},
|
||||
"DebuggerTabs": {
|
||||
"underlinedTabBackground": "#5b595c"
|
||||
},
|
||||
"DebuggerPopup": {
|
||||
"borderColor": "#5b595c"
|
||||
},
|
||||
"DefaultTabs": {
|
||||
"background": "#2d2a2e",
|
||||
"borderColor": "#2d2a2e",
|
||||
"hoverBackground": "#363337",
|
||||
"inactiveUnderlineColor": "#ffd866",
|
||||
"underlineColor": "#ffd866",
|
||||
"underlinedTabBackground": "#2d2a2e",
|
||||
"underlineHeight": 2
|
||||
},
|
||||
"DragAndDrop": {
|
||||
"areaBackground": "#2d2a2e",
|
||||
"areaBorderColor": "#2d2a2e",
|
||||
"areaForeground": "#fcfcfa"
|
||||
},
|
||||
"Editor": {
|
||||
"background": "#221f22",
|
||||
"foreground": "#fcfcfa",
|
||||
"shortcutForeground": "#939293"
|
||||
},
|
||||
"EditorPane": {
|
||||
"background": "#221f22",
|
||||
"caretForeground": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"inactiveBackground": "#2d2a2e",
|
||||
"inactiveForeground": "#5b595c",
|
||||
"selectionBackground": "#403e41",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"EditorTabs": {
|
||||
"borderColor": "#363337",
|
||||
"inactiveUnderlineColor": "#ffd866",
|
||||
"underlineColor": "#ffd866",
|
||||
"underlinedTabBackground": "#363337",
|
||||
"underlinedTabForeground": "#c1c0c0"
|
||||
},
|
||||
"FileColor": {
|
||||
"Yellow": "00000000"
|
||||
},
|
||||
"FormattedTextField": {
|
||||
"background": "#363337",
|
||||
"caretForeground": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"inactiveBackground": "#403e41",
|
||||
"inactiveForeground": "#5b595c",
|
||||
"selectionForeground": "#ffd866",
|
||||
"selectionBackground": "#403e41"
|
||||
},
|
||||
"Group": {
|
||||
"disabledSeparatorColor": "#2d2a2e",
|
||||
"separatorColor": "#2d2a2e"
|
||||
},
|
||||
"GutterTooltip": {
|
||||
"infoForeground": "#fcfcfa",
|
||||
"lineSeparatorColor": "#2d2a2e"
|
||||
},
|
||||
"HelpTooltip": {
|
||||
"borderColor": "#2d2a2e",
|
||||
"infoForeground": "#939293"
|
||||
},
|
||||
"InformationHint": {
|
||||
"borderColor": "#2d2a2e"
|
||||
},
|
||||
"InplaceRefactoringPopup": {
|
||||
"borderColor": "#2d2a2e"
|
||||
},
|
||||
"Label": {
|
||||
"background": "#2d2a2e",
|
||||
"disabledForeground": "#5b595c",
|
||||
"disabledText": "#5b595c",
|
||||
"foreground": "#939293",
|
||||
"infoForeground": "#939293",
|
||||
"selectedForeground": "#ffd866"
|
||||
},
|
||||
"Link": {
|
||||
"activeForeground": "#ffd866",
|
||||
"hoverForeground": "#ffd866",
|
||||
"pressedForeground": "#ffd866",
|
||||
"secondaryForeground": "#939293",
|
||||
"visitedForeground": "#ffd866"
|
||||
},
|
||||
"List": {
|
||||
"background": "#221f22",
|
||||
"foreground": "#fcfcfa",
|
||||
"selectionBackground": "#363337",
|
||||
"selectionForeground": "#ffd866",
|
||||
"selectionInactiveBackground": "#363337",
|
||||
"selectionInactiveForeground": "#ffd866"
|
||||
},
|
||||
"MemoryIndicator": {
|
||||
"allocatedBackground": "#403e41",
|
||||
"usedBackground": "#5b595c"
|
||||
},
|
||||
"Menu": {
|
||||
"acceleratorForeground": "#939293",
|
||||
"acceleratorSelectionForeground": "#fcfcfa",
|
||||
"background": "#2d2a2e",
|
||||
"borderColor": "#363337",
|
||||
"disabledBackground": "#403e41",
|
||||
"disabledForeground": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"separatorColor": "#2d2a2e",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"MenuBar": {
|
||||
"borderColor": "#363337",
|
||||
"disabledBackground": "#2d2a2e",
|
||||
"disabledForeground": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"highlight": "#2d2a2e",
|
||||
"selectionBackground": "#403e41",
|
||||
"selectionForeground": "#ffd866",
|
||||
"shadow": "#221f22"
|
||||
},
|
||||
"MenuItem": {
|
||||
"acceleratorForeground": "#939293",
|
||||
"background": "#2d2a2e",
|
||||
"disabledBackground": "#2d2a2e",
|
||||
"disabledForeground": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"selectionBackground": "#403e41",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"NavBar": {
|
||||
"borderColor": "#363337"
|
||||
},
|
||||
"Notification": {
|
||||
"background": "#363337",
|
||||
"borderColor": "#221f22",
|
||||
"errorBackground": "#221f22",
|
||||
"errorBorderColor": "#221f22",
|
||||
"foreground": "#fcfcfa",
|
||||
"MoreButton": {
|
||||
"background": "#403e41",
|
||||
"foreground": "#fcfcfa",
|
||||
"innerBorderColor": "#363337"
|
||||
},
|
||||
"ToolWindow": {
|
||||
"errorBackground": "#363337",
|
||||
"errorBorderColor": "#363337",
|
||||
"informativeBackground": "#363337",
|
||||
"informativeBorderColor": "#363337",
|
||||
"warningBackground": "#363337",
|
||||
"warningBorderColor": "#363337"
|
||||
}
|
||||
},
|
||||
"OptionPane": {
|
||||
"background": "#2d2a2e",
|
||||
"foreground": "#fcfcfa",
|
||||
"messageForeground": "#fcfcfa"
|
||||
},
|
||||
"Panel": {
|
||||
"background": "#2d2a2e",
|
||||
"foreground": "#939293"
|
||||
},
|
||||
"ParameterInfo": {
|
||||
"background": "#403e41",
|
||||
"borderColor": "#363337",
|
||||
"currentOverloadBackground": "#403e41",
|
||||
"currentParameterForeground": "#ffd866",
|
||||
"disabledForeground": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"infoForeground": "#939293",
|
||||
"lineSeparatorColor": "#363337"
|
||||
},
|
||||
"PasswordField": {
|
||||
"background": "#403e41",
|
||||
"capsLockIconColor": "#ffd866",
|
||||
"caretForeground": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"inactiveForeground": "#5b595c",
|
||||
"selectionBackground": "#5b595c",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"Plugins": {
|
||||
"background": "#2d2a2e",
|
||||
"disabledForeground": "#939293",
|
||||
"eapTagBackground": "#5b595c",
|
||||
"lightSelectionBackground": "#363337",
|
||||
"hoverBackground": "#363337",
|
||||
"tagForeground": "#ffd866",
|
||||
"tagBackground": "#5b595c",
|
||||
"Button": {
|
||||
"installBackground": "#221f22",
|
||||
"installBorderColor": "#221f22",
|
||||
"installForeground": "#fcfcfa",
|
||||
"installFocusedBackground": "#221f22",
|
||||
"installFillForeground": "#939293",
|
||||
"installFillBackground": "#221f22",
|
||||
"updateBackground": "#221f22",
|
||||
"updateBorderColor": "#221f22",
|
||||
"updateForeground": "#fcfcfa"
|
||||
},
|
||||
"SearchField": {
|
||||
"background": "#363337",
|
||||
"borderColor": "#363337"
|
||||
},
|
||||
"SectionHeader": {
|
||||
"background": "#2d2a2e",
|
||||
"foreground": "#939293"
|
||||
},
|
||||
"Tab": {
|
||||
"hoverBackground": "#363337",
|
||||
"selectedForeground": "#fcfcfa",
|
||||
"selectedBackground": "#363337"
|
||||
}
|
||||
},
|
||||
"Popup": {
|
||||
"Advertiser": {
|
||||
"background": "#2d2a2e",
|
||||
"borderColor": "#2d2a2e",
|
||||
"foreground": "#ffd866"
|
||||
},
|
||||
"borderColor": "#221f22",
|
||||
"inactiveBorderColor": "#2d2a2e",
|
||||
"innerBorderColor": "#2d2a2e",
|
||||
"Header": {
|
||||
"activeBackground": "#2d2a2e",
|
||||
"inactiveBackground": "#221f22"
|
||||
},
|
||||
"paintBorder": true,
|
||||
"separatorForeground": "#fcfcfa",
|
||||
"separatorColor": "#2d2a2e",
|
||||
"Toolbar": {
|
||||
"background": "#221f22",
|
||||
"borderColor": "#363337"
|
||||
}
|
||||
},
|
||||
"PopupMenu": {
|
||||
"background": "#2d2a2e",
|
||||
"foreground": "#fcfcfa",
|
||||
"translucentBackground": "#2d2a2e",
|
||||
"selectionBackground": "#403e41"
|
||||
},
|
||||
"PopupMenuSeparator": {
|
||||
"height": 10,
|
||||
"stripeIndent": 5
|
||||
},
|
||||
"ProgressBar": {
|
||||
"background": "#2d2a2e",
|
||||
"foreground": "#ffd866",
|
||||
"indeterminateEndColor": "#ffd866",
|
||||
"indeterminateStartColor": "#ffd866",
|
||||
"progressColor": "#ffd866",
|
||||
"selectionBackground": "#5b595c",
|
||||
"trackColor": "#5b595c"
|
||||
},
|
||||
"RadioButton": {
|
||||
"background": "#2d2a2e",
|
||||
"disabledText": "#5b595c",
|
||||
"foreground": "#fcfcfa"
|
||||
},
|
||||
"RadioButtonMenuItem": {
|
||||
"acceleratorForeground": "#939293",
|
||||
"acceleratorSelectionForeground": "#939293",
|
||||
"background": "#2d2a2e",
|
||||
"disabledBackground": "#2d2a2e",
|
||||
"disabledForeground": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"selectionBackground": "#403e41",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"SearchEverywhere": {
|
||||
"Advertiser": {
|
||||
"background": "#221f22",
|
||||
"foreground": "#939293"
|
||||
},
|
||||
"Header": {
|
||||
"background": "#2d2a2e"
|
||||
},
|
||||
"List": {
|
||||
"separatorColor": "#2d2a2e",
|
||||
"separatorForeground": "#939293"
|
||||
},
|
||||
"SearchField": {
|
||||
"background": "#2d2a2e",
|
||||
"borderColor": "#221f22",
|
||||
"infoForeground": "#939293"
|
||||
},
|
||||
"Tab": {
|
||||
"selectedForeground": "#ffd866",
|
||||
"selectedBackground": "#5b595c"
|
||||
}
|
||||
},
|
||||
"SearchMatch": {
|
||||
"endBackground": "#ffd866",
|
||||
"startBackground": "#ffd866"
|
||||
},
|
||||
"Separator": {
|
||||
"separatorColor": "#363337"
|
||||
},
|
||||
"SidePanel": {
|
||||
"background": "#221f22"
|
||||
},
|
||||
"Slider": {
|
||||
"background": "#2d2a2e",
|
||||
"buttonBorderColor": "#ffd866",
|
||||
"buttonColor": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"tickColor": "#403e41",
|
||||
"trackColor": "#403e41"
|
||||
},
|
||||
"SpeedSearch": {
|
||||
"background": "#5b595c",
|
||||
"borderColor": "#2d2a2e",
|
||||
"errorForeground": "#fcfcfa",
|
||||
"foreground": "#fcfcfa"
|
||||
},
|
||||
"Spinner": {
|
||||
"background": "#2d2a2e"
|
||||
},
|
||||
"SplitPane": {
|
||||
"background": "#2d2a2e",
|
||||
"highlight": "#221f22"
|
||||
},
|
||||
"SplitPaneDivider": {
|
||||
"draggingColor": "#403e41"
|
||||
},
|
||||
"StatusBar": {
|
||||
"borderColor": "#363337",
|
||||
"hoverBackground": "#363337"
|
||||
},
|
||||
"TabbedPane": {
|
||||
"background": "#2d2a2e",
|
||||
"contentAreaColor": "#5b595c",
|
||||
"disabledForeground": "#5b595c",
|
||||
"disabledUnderlineColor": "#5b595c",
|
||||
"focus": "#403e41",
|
||||
"focusColor": "#403e41",
|
||||
"foreground": "#fcfcfa",
|
||||
"hoverColor": "#363337",
|
||||
"tabSelectionHeight": 2,
|
||||
"underlineColor": "#ffd866"
|
||||
},
|
||||
"Table": {
|
||||
"background": "#221f22",
|
||||
"dropLineColor": "#ffd866",
|
||||
"dropLineShortColor": "#ffd866",
|
||||
"focusCellBackground": "#221f22",
|
||||
"focusCellForeground": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"gridColor": "#221f22",
|
||||
"lightSelectionForeground": "#ffd866",
|
||||
"lightSelectionInactiveForeground": "#fcfcfa",
|
||||
"lightSelectionInactiveBackground": "#363337",
|
||||
"selectionBackground": "#363337",
|
||||
"selectionForeground": "#ffd866",
|
||||
"selectionInactiveBackground": "#363337",
|
||||
"selectionInactiveForeground": "#fcfcfa",
|
||||
"sortIconColor": "#fcfcfa",
|
||||
"stripeColor": "#221f22"
|
||||
},
|
||||
"TableHeader": {
|
||||
"background": "#2d2a2e",
|
||||
"bottomSeparatorColor": "#363337",
|
||||
"cellBorder": "4,0,4,0",
|
||||
"foreground": "#fcfcfa",
|
||||
"focusCellBackground": "#403e41",
|
||||
"separatorColor": "#363337"
|
||||
},
|
||||
"textText": "#939293",
|
||||
"TextArea": {
|
||||
"background": "#363337",
|
||||
"caretForeground": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"inactiveForeground": "#5b595c",
|
||||
"selectionBackground": "#5b595c",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"TextField": {
|
||||
"background": "#363337",
|
||||
"caretForeground": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"inactiveForeground": "#5b595c",
|
||||
"selectionBackground": "#5b595c",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"TextPane": {
|
||||
"background": "#363337",
|
||||
"caretForeground": "#ffd866",
|
||||
"foreground": "#fcfcfa",
|
||||
"inactiveForeground": "#5b595c",
|
||||
"selectionBackground": "#5b595c",
|
||||
"selectionForeground": "#ffd866"
|
||||
},
|
||||
"TitlePane": {
|
||||
"background": "#221f22",
|
||||
"Button.hoverBackground": "#5b595c",
|
||||
"inactiveBackground": "#2d2a2e",
|
||||
"infoForeground": "#939293",
|
||||
"inactiveInfoForeground": "#939293"
|
||||
},
|
||||
"TitledBorder": {
|
||||
"titleColor": "#2d2a2e"
|
||||
},
|
||||
"ToggleButton": {
|
||||
"borderColor": "#403e41",
|
||||
"buttonColor": "#fcfcfa",
|
||||
"disabledText": "#5b595c",
|
||||
"foreground": "#939293",
|
||||
"offForeground": "#2d2a2e",
|
||||
"offBackground": "#2d2a2e",
|
||||
"onBackground": "#ffd866",
|
||||
"onForeground": "#ffd866"
|
||||
},
|
||||
"ToolBar": {
|
||||
"background": "#221f22",
|
||||
"borderHandleColor": "#939293",
|
||||
"floatingForeground": "#939293",
|
||||
"foreground": "#fcfcfa"
|
||||
},
|
||||
"ToolTip": {
|
||||
"Actions": {
|
||||
"background": "#2d2a2e",
|
||||
"infoForeground": "#939293"
|
||||
},
|
||||
"background": "#2d2a2e",
|
||||
"borderColor": "#5b595c",
|
||||
"foreground": "#fcfcfa",
|
||||
"infoForeground": "#939293",
|
||||
"shortcutForeground": "#939293"
|
||||
},
|
||||
"ToolWindow": {
|
||||
"Button": {
|
||||
"hoverBackground": "#363337",
|
||||
"selectedForeground": "#ffd866",
|
||||
"selectedBackground": "#363337"
|
||||
},
|
||||
"Header": {
|
||||
"background": "#2d2a2e",
|
||||
"borderColor": "#363337",
|
||||
"inactiveBackground": "#2d2a2e"
|
||||
},
|
||||
"HeaderCloseButton": {
|
||||
"background": "#2d2a2e"
|
||||
},
|
||||
"HeaderTab": {
|
||||
"hoverBackground": "#363337",
|
||||
"hoverInactiveBackground": "#363337",
|
||||
"inactiveUnderlineColor": "#ffd866",
|
||||
"selectedInactiveBackground": "#2d2a2e",
|
||||
"underlineColor": "#ffd866",
|
||||
"underlinedTabBackground": "#363337",
|
||||
"underlinedTabInactiveBackground": "#363337"
|
||||
}
|
||||
},
|
||||
"Tree": {
|
||||
"background": "#221f22",
|
||||
"foreground": "#939293",
|
||||
"hash": "#2d2a2e",
|
||||
"modifiedItemForeground": "#ffd866",
|
||||
"rowHeight": 22,
|
||||
"selectionBackground": "#2d2a2e",
|
||||
"selectionForeground": "#ffd866",
|
||||
"selectionInactiveBackground": "#2d2a2e"
|
||||
},
|
||||
"UiDesigner": {
|
||||
"Panel": {
|
||||
"background": "#2d2a2e"
|
||||
},
|
||||
"Preview": {
|
||||
"background": "#2d2a2e"
|
||||
}
|
||||
},
|
||||
"ValidationTooltip": {
|
||||
"errorBackground": "#363337",
|
||||
"errorBorderColor": "#363337",
|
||||
"warningBackground": "#363337",
|
||||
"warningBorderColor": "#363337"
|
||||
},
|
||||
"VersionControl": {
|
||||
"FileHistory": {
|
||||
"Commit": {
|
||||
"selectedBranchBackground": "#2d2a2e"
|
||||
}
|
||||
},
|
||||
"GitLog": {
|
||||
"localBranchIconColor": "#ffd866",
|
||||
"otherIconColor": "#939293",
|
||||
"remoteBranchIconColor": "#fcfcfa",
|
||||
"tagIconColor": "#939293"
|
||||
},
|
||||
"HgLog": {
|
||||
"branchIconColor": "#ffd866",
|
||||
"bookmarkIconColor": "#ffd866",
|
||||
"closedBranchIconColor": "#5b595c",
|
||||
"localTagIconColor": "#939293",
|
||||
"mqTagIconColor": "#939293",
|
||||
"tagIconColor": "#939293",
|
||||
"tipIconColor": "#939293"
|
||||
},
|
||||
"Log": {
|
||||
"Commit": {
|
||||
"unmatchedForeground": "#939293",
|
||||
"currentBranchBackground": "#363337"
|
||||
}
|
||||
},
|
||||
"RefLabel": {
|
||||
"foreground": "#ffd866",
|
||||
"backgroundBase": "#5b595c"
|
||||
}
|
||||
},
|
||||
"Viewport": {
|
||||
"background": "#221f22",
|
||||
"foreground": "#fcfcfa"
|
||||
},
|
||||
"WelcomeScreen": {
|
||||
"background": "#2d2a2e",
|
||||
"borderColor": "#363337",
|
||||
"captionBackground": "#221f22",
|
||||
"captionForeground": "#fcfcfa",
|
||||
"footerBackground": "#221f22",
|
||||
"footerForeground": "#fcfcfa",
|
||||
"headerBackground": "#2d2a2e",
|
||||
"headerForeground": "#fcfcfa",
|
||||
"Projects": {
|
||||
"background": "#221f22",
|
||||
"selectionBackground": "#2d2a2e",
|
||||
"selectionInactiveBackground": "#2d2a2e"
|
||||
},
|
||||
"separatorColor": "#363337"
|
||||
},
|
||||
"window": "#2d2a2e",
|
||||
"Window": {
|
||||
"border": "0,0,0,0,#363337"
|
||||
},
|
||||
"windowBorder": "#363337",
|
||||
"windowText": "#939293"
|
||||
},
|
||||
"icons": {
|
||||
"ColorPalette": {
|
||||
"Checkbox.Background.Default.Dark": "##403e41",
|
||||
"Checkbox.Background.Disabled.Dark": "##221f22",
|
||||
"Checkbox.Background.Selected.Dark": "##403e41",
|
||||
"Checkbox.Border.Default.Dark": "##403e41",
|
||||
"Checkbox.Border.Disabled.Dark": "##221f22",
|
||||
"Checkbox.Border.Selected.Dark": "##403e41",
|
||||
"Checkbox.Focus.Thin.Default.Dark": "##403e41",
|
||||
"Checkbox.Focus.Thin.Selected.Dark": "##221f22",
|
||||
"Checkbox.Focus.Wide.Dark": "##403e41",
|
||||
"Checkbox.Foreground.Disabled.Dark": "##939293",
|
||||
"Checkbox.Foreground.Selected.Dark": "##fcfcfa"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Antelle
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"name": "Xcode-Dark",
|
||||
"dark": true,
|
||||
"author": "Antelle",
|
||||
"editorScheme": "/Xcode-Dark.xml",
|
||||
"ui": {
|
||||
"*": {
|
||||
"background": "#323333",
|
||||
"foreground": "#DFDFE0",
|
||||
|
||||
"infoForeground": "#A9A9AA",
|
||||
|
||||
"selectionBackground": "#1D7BED",
|
||||
"selectionForeground": "#F9FCFF",
|
||||
"selectionInactiveBackground": "#555657",
|
||||
"selectionBackgroundInactive": "#555657",
|
||||
|
||||
"lightSelectionBackground": "#2B4059",
|
||||
"lightSelectionForeground": "#FFFFFF",
|
||||
"lightSelectionInactiveBackground": "#555657",
|
||||
"lightSelectionInactiveForeground": "#DFDFE0",
|
||||
|
||||
"disabledBackground": "#323333",
|
||||
"inactiveBackground": "#313233",
|
||||
|
||||
"disabledForeground": "#737374",
|
||||
"disabledText": "#737374",
|
||||
"inactiveForeground": "#737374",
|
||||
|
||||
"acceleratorForeground": "#D0D0D9",
|
||||
"acceleratorSelectionForeground": "#D0D0D9",
|
||||
|
||||
"errorForeground": "#843937",
|
||||
|
||||
"borderColor": "#414141",
|
||||
"disabledBorderColor": "#414141",
|
||||
|
||||
"focusColor": "#24648D",
|
||||
"focusedBorderColor": "#4C8CB5",
|
||||
|
||||
"separatorForeground": "#5A5B5C",
|
||||
"separatorColor": "#5A5B5C",
|
||||
"lineSeparatorColor": "#5A5B5C",
|
||||
|
||||
"modifiedItemForeground": "#1E4D86"
|
||||
},
|
||||
|
||||
"ActionButton": {
|
||||
"hoverBackground": "#5A5B5C",
|
||||
"hoverBorderColor": "#5A5B5C",
|
||||
"pressedBackground": "#414141",
|
||||
"pressedBorderColor": "#414141"
|
||||
},
|
||||
|
||||
"Button": {
|
||||
"startBackground": "#424242",
|
||||
"endBackground": "#424242",
|
||||
"startBorderColor": "#525252",
|
||||
"endBorderColor": "#525252",
|
||||
"shadowColor": "#363636",
|
||||
|
||||
"default": {
|
||||
"foreground": "#DDE9FA",
|
||||
"startBackground": "#206DE3",
|
||||
"endBackground": "#1C61CA",
|
||||
"startBorderColor": "#6099EC",
|
||||
"endBorderColor": "#1C61CA",
|
||||
"focusedBorderColor": "#45A1F4",
|
||||
"focusColor": "#245F84",
|
||||
"shadowColor": "#363636"
|
||||
}
|
||||
},
|
||||
|
||||
"Borders": {
|
||||
"color": "#393A3B",
|
||||
"ContrastBorderColor": "#4b4c4d"
|
||||
},
|
||||
|
||||
"ComboBox": {
|
||||
"nonEditableBackground": "#4f5051",
|
||||
"background": "#414141",
|
||||
"ArrowButton": {
|
||||
"iconColor": "#DBDBDB",
|
||||
"background": "#1E67D7",
|
||||
"disabledIconColor": "#6B6B6C",
|
||||
"nonEditableBackground": "#4f5051"
|
||||
}
|
||||
},
|
||||
|
||||
"ComboPopup.border": "1,1,1,1,3F3F3F",
|
||||
|
||||
"Component": {
|
||||
"errorFocusColor": "#843937",
|
||||
"inactiveErrorFocusColor": "#433239",
|
||||
"warningFocusColor": "#8F7B2E",
|
||||
"inactiveWarningFocusColor": "#434136",
|
||||
"iconColor": "#DFDFE0",
|
||||
"hoverIconColor": "#FFFFFF"
|
||||
},
|
||||
|
||||
"Counter": {
|
||||
"background": "#909090",
|
||||
"foreground": "#000000"
|
||||
},
|
||||
|
||||
"DebuggerPopup.borderColor": "#414141",
|
||||
|
||||
"DefaultTabs": {
|
||||
"borderColor": "#484949",
|
||||
"background": "#2A2B2B",
|
||||
"inactiveUnderlineColor": "#24648D",
|
||||
"hoverBackground": "#262727",
|
||||
"underlineColor": "#1D7BED",
|
||||
"underlineHeight": 2,
|
||||
"underlinedTabBackground": "#3D3E3F"
|
||||
},
|
||||
|
||||
"DragAndDrop": {
|
||||
"areaForeground": "#DFDFE0",
|
||||
"areaBackground": "#363737",
|
||||
"areaBorderColor": "#414141"
|
||||
},
|
||||
|
||||
"EditorTabs": {
|
||||
"inactiveColoredFileBackground": "#2d281d"
|
||||
},
|
||||
|
||||
"FileColor": {
|
||||
"Yellow": "#3D3B37",
|
||||
"Green": "#383C38",
|
||||
"Blue": "#343A3E",
|
||||
"Violet": "#3C3A3D",
|
||||
"Orange": "#3D3A36",
|
||||
"Rose": "#3D383B"
|
||||
},
|
||||
|
||||
"Link": {
|
||||
"activeForeground": "#428EE1",
|
||||
"hoverForeground": "#7094FF",
|
||||
"pressedForeground": "#FC4741",
|
||||
"visitedForeground": "#7094FF"
|
||||
},
|
||||
|
||||
"Notification": {
|
||||
"errorForeground": "#DFDFE0",
|
||||
"errorBackground": "#843937",
|
||||
"errorBorderColor": "#982B31",
|
||||
|
||||
"MoreButton.innerBorderColor": "#4b4c4d",
|
||||
|
||||
"ToolWindow": {
|
||||
"informativeForeground": "#DFDFE0",
|
||||
"informativeBackground": "#225DA1",
|
||||
"informativeBorderColor": "#1C61CA",
|
||||
|
||||
"warningForeground": "#DFDFE0",
|
||||
"warningBackground": "#A98938",
|
||||
"warningBorderColor": "#FEC42E",
|
||||
|
||||
"errorForeground": "#DFDFE0",
|
||||
"errorBackground": "#843937",
|
||||
"errorBorderColor": "#982B31"
|
||||
}
|
||||
},
|
||||
|
||||
"ProgressBar": {
|
||||
"trackColor": "#252525",
|
||||
"progressColor": "#CDCCCC",
|
||||
"indeterminateStartColor": "#CDCCCC",
|
||||
"indeterminateEndColor": "#B4B3B3",
|
||||
"failedColor": "#DF1A21",
|
||||
"failedEndColor": "#982B31",
|
||||
"passedColor": "#3AA87B",
|
||||
"passedEndColor": "#368E68"
|
||||
},
|
||||
|
||||
"SearchMatch": {
|
||||
"startBackground": "#f5bc2d",
|
||||
"endBackground": "#e9b32b"
|
||||
},
|
||||
|
||||
"SpeedSearch": {
|
||||
"errorForeground": "#DF1A21"
|
||||
},
|
||||
|
||||
"ToggleButton": {
|
||||
"onBackground": "#1D7BED"
|
||||
},
|
||||
|
||||
"CompletionPopup": {
|
||||
"matchForeground": "#FDA14F",
|
||||
"selectionBackground": "#1D7BED"
|
||||
},
|
||||
|
||||
"Popup": {
|
||||
"Header": {
|
||||
"activeBackground": "#4A4E52",
|
||||
"inactiveBackground": "#4A4E52"
|
||||
}
|
||||
},
|
||||
|
||||
"SearchEverywhere": {
|
||||
"Tab": {
|
||||
"selectedForeground": "#F9FCFF",
|
||||
"selectedBackground": "#555A5E"
|
||||
}
|
||||
},
|
||||
|
||||
"icons": {
|
||||
"ColorPalette": {
|
||||
"Actions.Grey": "#969798",
|
||||
"Actions.Red": "#FC545B",
|
||||
"Actions.Yellow": "#e0c24c",
|
||||
"Actions.Green": "#71bf47",
|
||||
"Actions.Blue": "#3062d1",
|
||||
"Actions.GreyInline.Dark": "#6F6F70",
|
||||
|
||||
"Objects.Grey": "#6F6F70",
|
||||
"Objects.RedStatus": "#FC4741",
|
||||
"Objects.Red": "#FC545B",
|
||||
"Objects.Pink": "#F5539E",
|
||||
"Objects.Yellow": "#e0c24c",
|
||||
"Objects.Green": "#71bf47",
|
||||
"Objects.Blue": "#3062d1",
|
||||
"Objects.Purple": "#A453A5",
|
||||
"Objects.BlackText": "#000000",
|
||||
"Objects.YellowDark": "#89744D",
|
||||
"Objects.GreenAndroid": "#5D7554"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -164,6 +164,10 @@
|
||||
"background": "#323846",
|
||||
"selectionInactiveForeground": "#e5e9f0"
|
||||
},
|
||||
"MemoryIndicator": {
|
||||
"allocatedBackground": "#81a1c1",
|
||||
"usedBackground": "#5e81ac"
|
||||
},
|
||||
"Menu": {
|
||||
"background": "#323846",
|
||||
"borderColor": "#3b4252",
|
||||
@@ -231,6 +235,9 @@
|
||||
"activeBackground": "#434c5e"
|
||||
}
|
||||
},
|
||||
"PopupMenu": {
|
||||
"background": "#323846"
|
||||
},
|
||||
"ProgressBar": {
|
||||
"background": "#88c0d0",
|
||||
"failedColor": "#bf616a",
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
"backgroundColor": "#21252b",
|
||||
"borderColor": "#333841",
|
||||
"infoForeground": "#7e8491",
|
||||
"foregroundColor": "#abb2bf"
|
||||
"foregroundColor": "#abb2bf",
|
||||
"notificationBackground": "#3d424b",
|
||||
"selectionBackground": "#323844",
|
||||
"selectionForeground": "#d7dae0"
|
||||
},
|
||||
"ui": {
|
||||
"*": {
|
||||
@@ -17,10 +20,18 @@
|
||||
|
||||
"infoForeground": "#5c6370",
|
||||
|
||||
"selectionBackground": "#323844",
|
||||
"selectionBackground": {
|
||||
"os.default": "selectionBackground",
|
||||
"os.windows": "selectionBackground",
|
||||
"os.mac": "selectionBackground"
|
||||
},
|
||||
"selectionForeground": {
|
||||
"os.default": "selectionForeground",
|
||||
"os.windows": "selectionForeground",
|
||||
"os.mac": "selectionForeground"
|
||||
},
|
||||
"selectionInactiveBackground": "#2c313a",
|
||||
"selectionBackgroundInactive": "#2c313a",
|
||||
"selectionForeground": "#d7dae0",
|
||||
|
||||
"disabledBackground": "backgroundColor",
|
||||
"inactiveBackground": "backgroundColor",
|
||||
@@ -142,6 +153,9 @@
|
||||
"Editor": {
|
||||
"background": "#282c34",
|
||||
"foreground": "#abb2bf",
|
||||
"SearchField": {
|
||||
"background": "#282c34"
|
||||
},
|
||||
"shortcutForeground": "accentColor"
|
||||
},
|
||||
|
||||
@@ -192,7 +206,7 @@
|
||||
},
|
||||
|
||||
"Notification": {
|
||||
"background": "#3d424b",
|
||||
"background": "notificationBackground",
|
||||
"borderColor": "#53565f",
|
||||
|
||||
"errorForeground": "#abb2bf",
|
||||
@@ -219,6 +233,10 @@
|
||||
}
|
||||
},
|
||||
|
||||
"NotificationsToolwindow.newNotification.background" : "notificationBackground",
|
||||
"NotificationsToolwindow.newNotification.hoverBackground" : "#3d424b",
|
||||
"NotificationsToolwindow.Notification.hoverBackground" : "#3d424b",
|
||||
|
||||
"Panel.background": "backgroundColor",
|
||||
|
||||
"ParameterInfo": {
|
||||
@@ -314,6 +332,8 @@
|
||||
|
||||
"Settings.Spotlight.borderColor": "accentColor",
|
||||
|
||||
"StatusBar.background": "baseBackground",
|
||||
|
||||
"TabbedPane": {
|
||||
"underlineColor": "accentColor",
|
||||
"contentAreaColor": "#323844",
|
||||
@@ -362,6 +382,7 @@
|
||||
},
|
||||
|
||||
"ToolWindow": {
|
||||
"background": "backgroundColor",
|
||||
"Button": {
|
||||
"hoverBackground": "#323844",
|
||||
"selectedBackground": "#3d424b",
|
||||
|
||||
@@ -15,84 +15,101 @@
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id( "dev.nokee.jni-library" ) version "0.4.0"
|
||||
id( "dev.nokee.cpp-language" ) version "0.4.0"
|
||||
`cpp-library`
|
||||
}
|
||||
|
||||
library {
|
||||
targetMachines.set( listOf( machines.windows.x86, machines.windows.x86_64 ) )
|
||||
|
||||
variants.configureEach {
|
||||
sharedLibrary {
|
||||
compileTasks.configureEach {
|
||||
onlyIf { isBuildable }
|
||||
// disable debuggable for release builds to make shared libraries smaller
|
||||
binaries.configureEach( CppSharedLibrary::class ) {
|
||||
with( compileTask.get() ) {
|
||||
if( name.contains( "Release" ) )
|
||||
isDebuggable = false
|
||||
}
|
||||
with( linkTask.get() ) {
|
||||
if( name.contains( "Release" ) )
|
||||
debuggable.set( false )
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// depend on :flatlaf-core:compileJava because it generates the JNI headers
|
||||
dependsOn( ":flatlaf-core:compileJava" )
|
||||
var javaHome = System.getProperty( "java.home" )
|
||||
if( javaHome.endsWith( "jre" ) )
|
||||
javaHome += "/.."
|
||||
|
||||
doFirst {
|
||||
println( "Used Tool Chain:" )
|
||||
println( " - ${toolChain.get()}" )
|
||||
println( "Available Tool Chains:" )
|
||||
toolChains.forEach {
|
||||
println( " - $it" )
|
||||
}
|
||||
tasks {
|
||||
register( "build-natives" ) {
|
||||
group = "build"
|
||||
description = "Builds natives"
|
||||
|
||||
// copy needed JNI headers
|
||||
copy {
|
||||
from( project( ":flatlaf-core" ).buildDir.resolve( "generated/jni-headers" ) )
|
||||
into( "src/main/headers" )
|
||||
include(
|
||||
"com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder.h",
|
||||
"com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc.h"
|
||||
)
|
||||
filter<org.apache.tools.ant.filters.FixCrLfFilter>(
|
||||
"eol" to org.apache.tools.ant.filters.FixCrLfFilter.CrLf.newInstance( "lf" )
|
||||
)
|
||||
}
|
||||
}
|
||||
dependsOn( "linkReleaseX86", "linkReleaseX86-64" )
|
||||
}
|
||||
|
||||
compilerArgs.addAll( toolChain.map {
|
||||
when( it ) {
|
||||
is Gcc, is Clang -> listOf( "-O2", "-DUNICODE" )
|
||||
is VisualCpp -> listOf( "/O2", "/Zl", "/GS-", "/DUNICODE" )
|
||||
else -> emptyList()
|
||||
}
|
||||
} )
|
||||
withType<CppCompile>().configureEach {
|
||||
onlyIf { name.contains( "Release" ) }
|
||||
|
||||
// depend on :flatlaf-core:compileJava because it generates the JNI headers
|
||||
dependsOn( ":flatlaf-core:compileJava" )
|
||||
|
||||
doFirst {
|
||||
println( "Used Tool Chain:" )
|
||||
println( " - ${toolChain.get()}" )
|
||||
println( "Available Tool Chains:" )
|
||||
toolChains.forEach {
|
||||
println( " - $it" )
|
||||
}
|
||||
|
||||
linkTask.configure {
|
||||
onlyIf { isBuildable }
|
||||
|
||||
val nativesDir = project( ":flatlaf-core" ).projectDir.resolve( "src/main/resources/com/formdev/flatlaf/natives" )
|
||||
val is64Bit = targetMachine.architecture.is64Bit
|
||||
val libraryName = if( is64Bit ) "flatlaf-windows-x86_64.dll" else "flatlaf-windows-x86.dll"
|
||||
val jawt = if( is64Bit ) "lib/jawt-x86_64" else "lib/jawt-x86"
|
||||
|
||||
outputs.file( "$nativesDir/$libraryName" )
|
||||
|
||||
linkerArgs.addAll( toolChain.map {
|
||||
when( it ) {
|
||||
is Gcc, is Clang -> listOf( "-l${jawt}", "-lUser32", "-lGdi32", "-lshell32", "-lAdvAPI32", "-lKernel32" )
|
||||
is VisualCpp -> listOf( "${jawt}.lib", "User32.lib", "Gdi32.lib", "shell32.lib", "AdvAPI32.lib", "Kernel32.lib", "/NODEFAULTLIB" )
|
||||
else -> emptyList()
|
||||
}
|
||||
} )
|
||||
|
||||
doLast {
|
||||
// copy shared library to flatlaf-core resources
|
||||
copy {
|
||||
from( linkedFile )
|
||||
into( nativesDir )
|
||||
rename( "flatlaf-natives-windows.dll", libraryName )
|
||||
}
|
||||
}
|
||||
// copy needed JNI headers
|
||||
copy {
|
||||
from( project( ":flatlaf-core" ).buildDir.resolve( "generated/jni-headers" ) )
|
||||
into( "src/main/headers" )
|
||||
include(
|
||||
"com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder.h",
|
||||
"com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc.h"
|
||||
)
|
||||
filter<org.apache.tools.ant.filters.FixCrLfFilter>(
|
||||
"eol" to org.apache.tools.ant.filters.FixCrLfFilter.CrLf.newInstance( "lf" )
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
for( taskName in listOf( "jarX86", "jarX86-64" ) ) {
|
||||
tasks.named( taskName ) {
|
||||
onlyIf { false }
|
||||
}
|
||||
includes.from(
|
||||
"${javaHome}/include",
|
||||
"${javaHome}/include/win32"
|
||||
)
|
||||
|
||||
compilerArgs.addAll( toolChain.map {
|
||||
when( it ) {
|
||||
is Gcc, is Clang -> listOf( "-O2", "-DUNICODE" )
|
||||
is VisualCpp -> listOf( "/O2", "/Zl", "/GS-", "/DUNICODE" )
|
||||
else -> emptyList()
|
||||
}
|
||||
} )
|
||||
}
|
||||
|
||||
withType<LinkSharedLibrary>().configureEach {
|
||||
onlyIf { name.contains( "Release" ) }
|
||||
|
||||
val nativesDir = project( ":flatlaf-core" ).projectDir.resolve( "src/main/resources/com/formdev/flatlaf/natives" )
|
||||
val is64Bit = name.contains( "64" )
|
||||
val libraryName = if( is64Bit ) "flatlaf-windows-x86_64.dll" else "flatlaf-windows-x86.dll"
|
||||
val jawt = if( is64Bit ) "lib/jawt-x86_64" else "lib/jawt-x86"
|
||||
|
||||
linkerArgs.addAll( toolChain.map {
|
||||
when( it ) {
|
||||
is Gcc, is Clang -> listOf( "-l${jawt}", "-lUser32", "-lGdi32", "-lshell32", "-lAdvAPI32", "-lKernel32" )
|
||||
is VisualCpp -> listOf( "${jawt}.lib", "User32.lib", "Gdi32.lib", "shell32.lib", "AdvAPI32.lib", "Kernel32.lib", "/NODEFAULTLIB" )
|
||||
else -> emptyList()
|
||||
}
|
||||
} )
|
||||
|
||||
doLast {
|
||||
// copy shared library to flatlaf-core resources
|
||||
copy {
|
||||
from( linkedFile )
|
||||
into( nativesDir )
|
||||
rename( "flatlaf-natives-windows.dll", libraryName )
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1045,6 +1045,7 @@ TabbedPane.hasFullBorder false
|
||||
TabbedPane.hiddenTabsNavigation moreTabsButton
|
||||
TabbedPane.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.hoverColor #303234 HSL 210 4 20 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%)
|
||||
TabbedPane.inactiveUnderlineColor #466a92 HSL 212 35 42 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.labelShift 1
|
||||
TabbedPane.light #2f3031 HSL 210 2 19 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.scrollButtonsPlacement both
|
||||
@@ -1091,7 +1092,7 @@ Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.F
|
||||
Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000
|
||||
Table.font [active] $defaultFont [UI]
|
||||
Table.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI]
|
||||
Table.gridColor #525658 HSL 200 4 33 javax.swing.plaf.ColorUIResource [UI]
|
||||
Table.gridColor #5a5e60 HSL 200 3 36 javax.swing.plaf.ColorUIResource [UI]
|
||||
Table.intercellSpacing 0,0 javax.swing.plaf.DimensionUIResource [UI]
|
||||
Table.rowHeight 20
|
||||
Table.scrollPaneBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI]
|
||||
|
||||
@@ -1050,6 +1050,7 @@ TabbedPane.hasFullBorder false
|
||||
TabbedPane.hiddenTabsNavigation moreTabsButton
|
||||
TabbedPane.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.hoverColor #e0e0e0 HSL 0 0 88 com.formdev.flatlaf.util.DerivedColor [UI] darken(7% autoInverse)
|
||||
TabbedPane.inactiveUnderlineColor #97bbdc HSL 209 50 73 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.labelShift 1
|
||||
TabbedPane.light #e1e1e1 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.scrollButtonsPlacement both
|
||||
@@ -1096,7 +1097,7 @@ Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.F
|
||||
Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000
|
||||
Table.font [active] $defaultFont [UI]
|
||||
Table.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI]
|
||||
Table.gridColor #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI]
|
||||
Table.gridColor #ebebeb HSL 0 0 92 javax.swing.plaf.ColorUIResource [UI]
|
||||
Table.intercellSpacing 0,0 javax.swing.plaf.DimensionUIResource [UI]
|
||||
Table.rowHeight 20
|
||||
Table.scrollPaneBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI]
|
||||
|
||||
@@ -1060,6 +1060,7 @@ TabbedPane.hasFullBorder false
|
||||
TabbedPane.hiddenTabsNavigation moreTabsButton
|
||||
TabbedPane.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.hoverColor #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.inactiveUnderlineColor #ff00ff HSL 300 100 50 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.labelShift 1
|
||||
TabbedPane.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI]
|
||||
TabbedPane.scrollButtonsPlacement both
|
||||
|
||||
@@ -347,6 +347,7 @@ TabbedPane.disabledForeground = #777
|
||||
TabbedPane.selectedBackground = #0f0
|
||||
TabbedPane.selectedForeground = #00f
|
||||
TabbedPane.underlineColor = #ff0
|
||||
TabbedPane.inactiveUnderlineColor = #f0f
|
||||
TabbedPane.disabledUnderlineColor = #7a7a7a
|
||||
TabbedPane.hoverColor = #eee
|
||||
TabbedPane.focusColor = #ddd
|
||||
|
||||
@@ -821,6 +821,7 @@ TabbedPane.hasFullBorder
|
||||
TabbedPane.hiddenTabsNavigation
|
||||
TabbedPane.highlight
|
||||
TabbedPane.hoverColor
|
||||
TabbedPane.inactiveUnderlineColor
|
||||
TabbedPane.labelShift
|
||||
TabbedPane.light
|
||||
TabbedPane.scrollButtonsPlacement
|
||||
|
||||
@@ -25,8 +25,7 @@ include( "flatlaf-demo" )
|
||||
include( "flatlaf-testing" )
|
||||
include( "flatlaf-theme-editor" )
|
||||
|
||||
if( org.gradle.internal.os.OperatingSystem.current().isWindows )
|
||||
includeProject( "flatlaf-natives-windows", "flatlaf-natives/flatlaf-natives-windows" )
|
||||
includeProject( "flatlaf-natives-windows", "flatlaf-natives/flatlaf-natives-windows" )
|
||||
includeProject( "flatlaf-natives-jna", "flatlaf-natives/flatlaf-natives-jna" )
|
||||
includeProject( "flatlaf-testing-modular-app", "flatlaf-testing/flatlaf-testing-modular-app" )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user