Compare commits

...

77 Commits
0.20 ... 0.24

Author SHA1 Message Date
Karl Tauber
2bcdf774ff release 0.24 2020-01-10 10:02:54 +01:00
Karl Tauber
ef01f23384 improved Swing system colors controlHighlight, controlLtHighlight, controlShadow and controlDkShadow 2020-01-10 09:47:13 +01:00
Karl Tauber
ab7bbb6593 ProgressBar: now uses blueish color for the progress part in "Flat Dark" theme 2020-01-10 00:28:26 +01:00
Karl Tauber
f2dad88875 ToggleButton: support underline toggle button colors in IntelliJ themes 2020-01-10 00:13:39 +01:00
Karl Tauber
c474565ff5 UI inspector: support nested classes 2020-01-09 23:54:45 +01:00
Karl Tauber
fd9dbbd7e6 support smooth scrolling with touchpads and high precision mouse wheels (issue #27) 2020-01-09 23:43:58 +01:00
Karl Tauber
43ab095e0f Table: replaced Table.showGrid with Table.showHorizontalLines and Table.showVerticalLines (issue #38) 2020-01-09 20:55:55 +01:00
Karl Tauber
41e2888bf1 ScrollPane with Table: The border of buttons that are added to one of the four scroll pane corners are now removed if the center component is a table. Also, these corner buttons are made not focusable. 2020-01-08 23:25:57 +01:00
Karl Tauber
e7d5e22960 IntelliJ Themes Demo: fixed last invalid colors in Material UI Lite themes (issue #26) 2020-01-08 15:27:31 +01:00
Karl Tauber
3f3884193d Button and TextComponent: support per component minimum width 2020-01-08 14:47:40 +01:00
Karl Tauber
dfccabc2b9 ToggleButton: support underline toggle button style 2020-01-08 14:18:17 +01:00
Karl Tauber
af7c181596 Button and ToggleButton: support square button style 2020-01-08 13:59:39 +01:00
Karl Tauber
8e84112837 Label and ToolTip: fixed font sizes for HTML headings 2020-01-08 10:18:30 +01:00
Karl Tauber
822cd16daa IntelliJ Themes Demo: updated Dracula, Hiberbee and Material UI Lite themes (used IJThemesUpdater) (issue #26) 2020-01-07 23:40:24 +01:00
Karl Tauber
33ea84004d UIDefaultsLoader: changed .properties file loading order: now all core .properties files are loaded before loading addon .properties files, which makes it easier to overwrite core values in addons; also, addon loading order can be specified 2020-01-07 12:55:37 +01:00
Karl Tauber
8dbbe20840 TableHeader: paint column borders also if renderer has changed, but delegates to the system default renderer
(e.g. done in NetBeans class ETableHeader)
2020-01-06 16:36:23 +01:00
Karl Tauber
d990ccc4ab release 0.23.1 2020-01-02 22:39:34 +01:00
Karl Tauber
9f16249898 IntelliJ Themes: fixed checkbox colors in Material UI Lite dark themes 2020-01-02 21:09:11 +01:00
Karl Tauber
62fc3139cf ComboBox: fixed NPE in Oracle SQL Developer settings 2020-01-02 18:45:32 +01:00
Karl Tauber
452452dcc9 Tree: fixed wide selection if scrolled horizontally 2019-12-31 09:49:56 +01:00
Karl Tauber
b6fb06bc65 CHANGELOG.md: added some missing changes form 0.23 2019-12-30 18:10:33 +01:00
Karl Tauber
aac6bd1b7c release 0.23 2019-12-30 17:49:16 +01:00
Karl Tauber
d260001cbd IntelliJ Themes Demo: fixed progress bar in Hiberbee theme 2019-12-30 16:55:35 +01:00
Karl Tauber
9c470d77cb List and Tree: Hide cell focus indicator (black rectangle) by default. Can be enabled with List.showCellFocusIndicator=true / Tree.showCellFocusIndicator=true, but then the cell focus indicator is shown only if more than one item is selected.
Table: Hide cell focus indicator (black rectangle) by default if none of the selected cells is editable. Can be show always with `Table.showCellFocusIndicator=true`.
2019-12-30 16:31:51 +01:00
Karl Tauber
269075657d FlatDefaultsAddon: added default implementation to getDefaults() because most subclasses use the same implementation 2019-12-30 11:02:40 +01:00
Karl Tauber
d0029beb22 use 0.5 pixel "inner" focus border for "Flat Light" and "Flat Dark" themes 2019-12-30 10:48:15 +01:00
Karl Tauber
4b4837e3a1 IntelliJ Themes Demo: updated Hiberbee theme (used IJThemesUpdater) (issue #26) 2019-12-30 10:04:48 +01:00
Karl Tauber
d0160b8b6d added required module java.logging to module-info.java 2019-12-23 15:39:58 +01:00
Karl Tauber
ea351935b2 IntelliJ Themes: use CONFIG log level for reporting invalid colors so that they do not show up in the console by default (issue #26) 2019-12-23 15:30:57 +01:00
Karl Tauber
20ccc2951e IntelliJ Themes Demo: updated "Material Theme UI Lite" theme to version 7.0, downloaded from IntelliJ plugin repo (https://plugins.jetbrains.com/plugin/12124-material-theme-ui-lite/versions) because theme github repo is not up-to-date 2019-12-23 13:55:33 +01:00
Karl Tauber
6f9bad1bdf Tree: fixed painting wide selection while drag-and-drop 2019-12-23 13:43:50 +01:00
Karl Tauber
39a0d514a8 List, Table and Tree: added colors for drag-and-drop
- added "enable drag and drop" checkbox to Demo on "Data Components" tab
- support copying UI default values lazy
2019-12-23 13:10:50 +01:00
Karl Tauber
ad82c591cc use logging instead of printing errors to System.err 2019-12-23 11:29:17 +01:00
Karl Tauber
32ceb168d5 replaced prefix @@ with $ in .properties files 2019-12-23 00:18:27 +01:00
Karl Tauber
16146f4c88 support basic color functions in .properties files 2019-12-22 17:40:13 +01:00
Karl Tauber
60febbf3f8 Table: hide grid and changed intercell spacing to zero 2019-12-22 11:38:32 +01:00
Karl Tauber
4960b30cfb Tree: support wide selection (enabled by default) 2019-12-22 00:07:08 +01:00
Karl Tauber
56c161fea0 List and Tree: paint cell focus indicator (black rectangle) only if more than one item is selected 2019-12-21 21:46:36 +01:00
Karl Tauber
27c439d728 documented used UI defaults in UI delegates 2019-12-21 17:30:36 +01:00
Karl Tauber
78d5e03a66 updated colors in "Flat Light" and "Flat IntelliJ" themes with colors from "IntelliJ Light Theme", which provides blue coloring that better match platform colors 2019-12-21 11:13:11 +01:00
Karl Tauber
f25e647b6a fixed separator color in IntelliJ platform themes 2019-12-21 10:55:17 +01:00
Karl Tauber
e44212fc65 fixed link color (in HTML text) in IntelliJ platform themes 2019-12-20 18:36:25 +01:00
Karl Tauber
a483403774 Button: reset shadow variables on LaF switch 2019-12-20 14:43:08 +01:00
Karl Tauber
69750dba19 IntelliJ Themes Demo: updated themes (used IJThemesUpdater) 2019-12-19 18:26:43 +01:00
Karl Tauber
af962b99be InternalFrame: icons implemented (issue #11) 2019-12-19 17:37:36 +01:00
Karl Tauber
2399e54a4b release 0.22 2019-12-18 12:28:08 +01:00
Karl Tauber
aea5e8eb16 Demo: bottom horizontal slider bound to the progress bars 2019-12-18 12:21:38 +01:00
Karl Tauber
a3a60c1c4b ProgressBar: reduced thickness from 6 to 4 (as in IntelliJ and Windows 10) 2019-12-18 11:44:34 +01:00
Karl Tauber
c141cb6c6c CheckBox and RadioButton: fixed cut off outer focus border if checkbox/radiobutton border was explicitly set to a EmptyBorder 2019-12-17 23:24:38 +01:00
Karl Tauber
62765ab6ca TextComponent: support placeholder text that is displayed if text field is empty (set client property "JTextField.placeholderText" to a string) 2019-12-17 18:08:45 +01:00
Karl Tauber
e4f7fed523 TextComponent: scale caret width on HiDPI screens when running on Java 8 2019-12-17 17:34:54 +01:00
Karl Tauber
bf8cc268cc on Mac show mnemonics only when Ctrl and Alt keys are pressed (issue #4) 2019-12-17 11:35:16 +01:00
Karl Tauber
8450e74832 TabbedPane: support separators between tabs (TabbedPane.showTabSeparators) 2019-12-16 20:40:29 +01:00
Karl Tauber
475b258e4a Button: enabled Button.defaultButtonFollowsFocus on Windows, which allows pressing focused button with <kbd>Enter</kbd> key (as in Windows LaF) 2019-12-16 18:11:48 +01:00
Karl Tauber
f20803ae57 ProgressBar: If progress text is visible:
- use smaller font
  - reduced height
  - changed style to rounded rectangle
  - fixed painting issues on low values

Support configure of arc with `ProgressBar.arc`
2019-12-16 17:39:46 +01:00
Karl Tauber
3fcb17931a fixed clipped borders at 125%, 150% and 175% scaling when outer focus width is zero (default in "Flat Light" and "Flat Dark" themes) 2019-12-15 11:36:24 +01:00
Karl Tauber
736c7b8377 CheckBox: changed CheckBox.arc from radius to diameter to be consistent with Button.arc and Component.arc 2019-12-14 23:36:22 +01:00
Karl Tauber
05743e2d8b FlatUIUtils: renamed and documented component painting methods 2019-12-14 23:17:11 +01:00
Karl Tauber
6cd2c7f26d InternalFrame: test application implemented (issue #11) 2019-12-14 11:57:07 +01:00
Karl Tauber
469e5bd179 ToggleButton: removed "ToggleButton.arc" because it was only used for the background, but not for the border, which is painted in FlatButtonBorder 2019-12-14 00:05:47 +01:00
Karl Tauber
dbeb3f04e7 UI inspector:
- fixed wrong detection of components under mouse location if window contains a menubar
- fixed positioning of tooltip in bottom and right window area to avoid that the tooltip overlaps the inspected component
2019-12-13 23:49:49 +01:00
Karl Tauber
e9b17ac24a UI inspector: support using it in any application 2019-12-13 23:24:10 +01:00
Karl Tauber
65fbcedaa4 TabbedPane: support background color for selected tabs 2019-12-13 23:14:41 +01:00
Karl Tauber
c4183ada11 ScrollPane and FlatSpinner: made getHandler() methods private 2019-12-11 21:58:39 +01:00
Karl Tauber
27f9614633 release 0.21 2019-12-08 12:38:45 +01:00
Karl Tauber
2211cc5596 fixed Swing system colors in dark themes 2019-12-08 10:21:07 +01:00
Karl Tauber
46f0393648 UIDefaultsLoader:
- support `{instance}com.myapp.MyClass` to instantiate any public class with public no-arg constructor
- support `{class}com.myapp.MyClass`
- support loading addon classes from different classloaders (e.g. in NetBeans)
2019-12-07 17:53:59 +01:00
Karl Tauber
b4c1a97687 IntelliJ Themes:
- accept colors starting with two `#` as valid colors because IntelliJ IDEA does it too
- fixed wrong error message when a color reference is missing

(issue #26)
2019-12-06 11:13:50 +01:00
Karl Tauber
adcef385b0 FlatClientProperties: added javadoc comments 2019-12-03 11:33:12 +01:00
Karl Tauber
48e38b2855 ScrollBar: show decrease/increase arrow buttons if client property "JScrollBar.showButtons" is set to true on JScrollPane or JScrollBar (issue #25) 2019-12-03 10:53:39 +01:00
Karl Tauber
2cc8327a08 ScrollPane: paint disabled border if view component (e.g. JTextPane) is disabled 2019-12-01 18:23:30 +01:00
Karl Tauber
404e80082c Button: fixed help button styling in IntelliJ platform themes 2019-12-01 17:53:10 +01:00
Karl Tauber
3fbc21347a Demo: restore last used theme on startup 2019-12-01 13:10:38 +01:00
Karl Tauber
d76f0e2241 moved code that fixes color of links in HTML text from FlatLaf.getDefaults() to FlatLaf.initialize() and invoke it only once (for the case that getDefaults() is invoked from 3rd party code) 2019-11-30 23:23:34 +01:00
Karl Tauber
e5fcc59805 Button: optionally support shadows for improved compatibility with IntelliJ platform themes (e.g. for Material Design Dark theme) 2019-11-30 19:14:37 +01:00
Karl Tauber
de82dac873 Button: optionally support gradient border and gradient background for improved compatibility with IntelliJ platform themes (e.g. Vuesion and Spacegray themes) 2019-11-30 17:58:40 +01:00
Karl Tauber
a14ef72177 FlatLaf.isNativeLookAndFeel() now returns false 2019-11-30 15:41:27 +01:00
132 changed files with 9212 additions and 4879 deletions

View File

@@ -1,6 +1,108 @@
FlatLaf Change Log FlatLaf Change Log
================== ==================
## 0.24
- Support smooth scrolling with touchpads and high precision mouse wheels.
(issue #27)
- Changed `.properties` file loading order: Now all core `.properties` files are
loaded before loading addon `.properties` files. This makes it easier to
overwrite core values in addons. Also, addon loading order can be specified.
- TableHeader: Paint column borders if renderer has changed, but delegates to
the system default renderer (e.g. done in NetBeans).
- Label and ToolTip: Fixed font sizes for HTML headings.
- Button and ToggleButton: Support square button style (set client property
`JButton.buttonType` to `square`).
- ToggleButton: Support underline toggle button style (set client property
`JButton.buttonType` to `underline`).
- Button and TextComponent: Support per component minimum width (set client
property `JComponent.minimumWidth` to an integer).
- ScrollPane with Table: The border of buttons that are added to one of the four
scroll pane corners are now removed if the center component is a table. Also,
these corner buttons are made not focusable.
- Table: Replaced `Table.showGrid` with `Table.showHorizontalLines` and
`Table.showVerticalLines`. (issue #38)
- ProgressBar: Now uses blueish color for the progress part in "Flat Dark"
theme. In the "Flat Darcula" theme, it remains light gray.
- Improved Swing system colors `controlHighlight`, `controlLtHighlight`,
`controlShadow` and `controlDkShadow`.
## 0.23.1
- Tree: Fixed wide selection if scrolled horizontally.
- ComboBox: Fixed NPE in Oracle SQL Developer settings.
- IntelliJ Themes: Fixed checkbox colors in Material UI Lite dark themes.
## 0.23
- Updated colors in "Flat Light" and "Flat IntelliJ" themes with colors from
"IntelliJ Light Theme", which provides blue coloring that better matches
platform colors.
- Tree: Support wide selection (enabled by default).
- Table: Hide grid and changed intercell spacing to zero.
- List, Table and Tree: Added colors for drag-and-drop. Added "enable drag and
drop" checkbox to Demo on "Data Components" tab.
- List and Tree: Hide cell focus indicator (black rectangle) by default. Can be
enabled with `List.showCellFocusIndicator=true` /
`Tree.showCellFocusIndicator=true`, but then the cell focus indicator is shown
only if more than one item is selected.
- Table: Hide cell focus indicator (black rectangle) by default if none of the
selected cells is editable. Can be show always with
`Table.showCellFocusIndicator=true`.
- Support basic color functions in `.properties` files: `rgb(red,green,blue)`,
`rgba(red,green,blue,alpha)`, `hsl(hue,saturation,lightness)`,
`hsla(hue,saturation,lightness,alpha)`, `lighten(color,amount[,options])` and
`darken(color,amount[,options])`.
- Replaced prefix `@@` with `$` in `.properties` files.
- Fixed link color (in HTML text) and separator color in IntelliJ platform
themes.
- Use logging instead of printing errors to `System.err`.
- Updated IntelliJ Themes in demo to the latest versions.
- IntelliJ Themes: Fixed link and separator colors.
## 0.22
- TextComponent: Support placeholder text that is displayed if text field is
empty (set client property "JTextField.placeholderText" to a string).
- TextComponent: Scale caret width on HiDPI screens when running on Java 8.
- ProgressBar: If progress text is visible:
- use smaller font
- reduced height
- changed style to rounded rectangle
- fixed painting issues on low values
- ProgressBar: Support configure of arc with `ProgressBar.arc`.
- ProgressBar: Reduced thickness from 6 to 4.
- TabbedPane: Support background color for selected tabs
(`TabbedPane.selectedBackground`) and separators between tabs
(`TabbedPane.showTabSeparators`).
- CheckBox: changed `CheckBox.arc` from radius to diameter to be consistent with
`Button.arc` and `Component.arc`
- Button: Enabled `Button.defaultButtonFollowsFocus` on Windows, which allows
pressing focused button with <kbd>Enter</kbd> key (as in Windows LaF).
- Fixed clipped borders at 125%, 150% and 175% scaling when outer focus width is
zero (default in "Flat Light" and "Flat Dark" themes).
- On Mac show mnemonics only when <kbd>Ctrl</kbd> and <kbd>Alt</kbd> keys are
pressed. (issue #4)
## 0.21
- ScrollBar: Show decrease/increase arrow buttons if client property
"JScrollBar.showButtons" is set to `true` on `JScrollPane` or `JScrollBar`.
(issue #25)
- `FlatLaf.isNativeLookAndFeel()` now returns `false`.
- Button: Optionally support gradient borders, gradient backgrounds and shadows
for improved compatibility with IntelliJ platform themes (e.g. for Vuesion,
Spacegray and Material Design Dark themes).
- Button: Fixed help button styling in IntelliJ platform themes.
- ScrollPane: Paint disabled border if view component (e.g. JTextPane) is
disabled.
- Fixed Swing system colors in dark themes.
## 0.20 ## 0.20
- Support using IntelliJ platform themes (.theme.json files). - Support using IntelliJ platform themes (.theme.json files).

View File

@@ -45,7 +45,7 @@ build script:
groupId: com.formdev groupId: com.formdev
artifactId: flatlaf artifactId: flatlaf
version: 0.20 version: 0.24
Otherwise download `flatlaf-<version>.jar` here: Otherwise download `flatlaf-<version>.jar` here:

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
version = "0.20" version = "0.24"
allprojects { allprojects {
repositories { repositories {

View File

@@ -24,18 +24,111 @@ import javax.swing.JComponent;
*/ */
public interface FlatClientProperties public interface FlatClientProperties
{ {
/**
* Specifies type of a button.
* <p>
* <strong>Components</strong> {@link javax.swing.JButton} and {@link javax.swing.JToggleButton}<br>
* <strong>Value type</strong> {@link java.lang.String}<br>
* <strong>Allowed Values</strong> {@link #BUTTON_TYPE_SQUARE} and {@link #BUTTON_TYPE_HELP}
*/
String BUTTON_TYPE = "JButton.buttonType"; String BUTTON_TYPE = "JButton.buttonType";
/**
* Paint the button with square edges.
* <p>
* <strong>Components</strong> {@link javax.swing.JButton} and {@link javax.swing.JToggleButton}
*
* @see #BUTTON_TYPE
*/
String BUTTON_TYPE_SQUARE = "square";
/**
* Paint the toggle button in underline style.
* <p>
* <strong>Components</strong> {@link javax.swing.JToggleButton}
*
* @see #TOGGLE_BUTTON_TYPE
*/
String BUTTON_TYPE_UNDERLINE = "underline";
/**
* Paint a help button (circle with question mark).
* <p>
* <strong>Components</strong> {@link javax.swing.JButton}
*
* @see #BUTTON_TYPE
*/
String BUTTON_TYPE_HELP = "help"; String BUTTON_TYPE_HELP = "help";
/**
* Specifies selected state of a checkbox.
* <p>
* <strong>Component</strong> {@link javax.swing.JCheckBox}<br>
* <strong>Value type</strong> {@link java.lang.String}<br>
* <strong>Allowed Values</strong> {@link #SELECTED_STATE_INDETERMINATE}
*/
String SELECTED_STATE = "JButton.selectedState"; String SELECTED_STATE = "JButton.selectedState";
/**
* Paint an indeterminate state on a checkbox.
*
* @see #SELECTED_STATE
*/
String SELECTED_STATE_INDETERMINATE = "indeterminate"; String SELECTED_STATE_INDETERMINATE = "indeterminate";
/**
* Specifies minimum width of a component.
* <p>
* <strong>Component</strong> {@link javax.swing.JButton} and {@link javax.swing.text.JTextComponent}<br>
* <strong>Value type</strong> {@link java.lang.Integer}<br>
*/
String MINIMUM_WIDTH = "JComponent.minimumWidth";
/**
* Specifies whether the decrease/increase arrow buttons of a scrollbar are shown.
* <p>
* <strong>Component</strong> {@link javax.swing.JScrollBar} or {@link javax.swing.JScrollPane}<br>
* <strong>Value type</strong> {@link java.lang.Boolean}
*/
String SCROLL_BAR_SHOW_BUTTONS = "JScrollBar.showButtons";
/**
* Specifies whether separators are shown between tabs.
* <p>
* <strong>Component</strong> {@link javax.swing.JTabbedPane}<br>
* <strong>Value type</strong> {@link java.lang.Boolean}
*/
String TABBED_PANE_SHOW_TAB_SEPARATORS = "JTabbedPane.showTabSeparators";
/**
* Specifies whether a full border is painted around a tabbed pane.
* <p>
* <strong>Component</strong> {@link javax.swing.JTabbedPane}<br>
* <strong>Value type</strong> {@link java.lang.Boolean}
*/
String TABBED_PANE_HAS_FULL_BORDER = "JTabbedPane.hasFullBorder"; String TABBED_PANE_HAS_FULL_BORDER = "JTabbedPane.hasFullBorder";
/**
* Placeholder text that is only painted if the text field is empty.
* <p>
* <strong>Component</strong> {@link javax.swing.JTextField} or {@link javax.swing.JComboBox}<br>
* <strong>Value type</strong> {@link java.lang.String}
*/
String PLACEHOLDER_TEXT = "JTextField.placeholderText";
/** /**
* Checks whether a client property of a component has the given value. * Checks whether a client property of a component has the given value.
*/ */
static boolean clientPropertyEquals( JComponent c, String key, Object value ) { static boolean clientPropertyEquals( JComponent c, String key, Object value ) {
return Objects.equals( c.getClientProperty( key ), value ); return Objects.equals( c.getClientProperty( key ), value );
} }
/**
* Checks whether a client property of a component is a boolean and returns its value.
* If the client property is not set, or not a boolean, defaultValue is returned.
*/
static boolean clientPropertyBoolean( JComponent c, String key, boolean defaultValue ) {
Object value = c.getClientProperty( key );
return (value instanceof Boolean) ? (boolean) value : defaultValue;
}
} }

View File

@@ -23,11 +23,11 @@ import java.io.InputStream;
* *
* Allows loading of additional .properties files from addon JARs. * Allows loading of additional .properties files from addon JARs.
* {@link java.util.ServiceLoader} is used to load extensions of this class from addon JARs. * {@link java.util.ServiceLoader} is used to load extensions of this class from addon JARs.
* * <p>
* If you extend this class in a addon JAR, you also have to add a text file named * If you extend this class in a addon JAR, you also have to add a text file named
* {@code META-INF/services/com.formdev.flatlaf.FlatDefaultsAddon} * {@code META-INF/services/com.formdev.flatlaf.FlatDefaultsAddon}
* to the addon JAR. The file must contain a single line with the class name. * to the addon JAR. The file must contain a single line with the class name.
* * <p>
* See 'flatlaf-swingx' addon for an example * See 'flatlaf-swingx' addon for an example
* *
* @author Karl Tauber * @author Karl Tauber
@@ -37,6 +37,26 @@ public abstract class FlatDefaultsAddon
/** /**
* Finds an addon .properties file for the given LaF class and returns * Finds an addon .properties file for the given LaF class and returns
* it as input stream. Or {@code null} if not found. * it as input stream. Or {@code null} if not found.
* <p>
* This default implementation finds addon .properties file for the given LaF class
* in the same package as the subclass.
* <p>
* Override this method to load addon .properties files from other locations.
*/ */
public abstract InputStream getDefaults( Class<?> lafClass ); public InputStream getDefaults( Class<?> lafClass ) {
Class<?> addonClass = this.getClass();
String propertiesName = '/' + addonClass.getPackage().getName().replace( '.', '/' )
+ '/' + lafClass.getSimpleName() + ".properties";
return addonClass.getResourceAsStream( propertiesName );
}
/**
* Returns the priority used to sort addon loading.
* The order is only important if you want overwrite UI defaults of other addons.
* Lower numbers mean higher priority.
* Returns 10000 by default.
*/
public int getPriority() {
return 10000;
}
} }

View File

@@ -29,6 +29,9 @@ import java.awt.event.KeyEvent;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.util.List; import java.util.List;
import java.util.function.Consumer;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.AbstractButton; import javax.swing.AbstractButton;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JTabbedPane; import javax.swing.JTabbedPane;
@@ -54,21 +57,25 @@ import com.formdev.flatlaf.util.UIScale;
public abstract class FlatLaf public abstract class FlatLaf
extends BasicLookAndFeel extends BasicLookAndFeel
{ {
static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() );
private BasicLookAndFeel base; private BasicLookAndFeel base;
private String desktopPropertyName; private String desktopPropertyName;
private PropertyChangeListener desktopPropertyListener; private PropertyChangeListener desktopPropertyListener;
private KeyEventPostProcessor mnemonicListener; private KeyEventPostProcessor mnemonicListener;
private static boolean altKeyPressed; private static boolean showMnemonics;
private Consumer<UIDefaults> postInitialization;
public static boolean install( LookAndFeel newLookAndFeel ) { public static boolean install( LookAndFeel newLookAndFeel ) {
try { try {
UIManager.setLookAndFeel( newLookAndFeel ); UIManager.setLookAndFeel( newLookAndFeel );
return true; return true;
} catch( Exception ex ) { } catch( Exception ex ) {
System.err.println( "Failed to initialize look and feel " + newLookAndFeel.getClass().getName() ); LOG.log( Level.SEVERE, "FlatLaf: Failed to initialize look and feel '" + newLookAndFeel.getClass().getName() + "'.", ex );
return false; return false;
} }
} }
@@ -89,7 +96,7 @@ public abstract class FlatLaf
@Override @Override
public boolean isNativeLookAndFeel() { public boolean isNativeLookAndFeel() {
return true; return false;
} }
@Override @Override
@@ -110,8 +117,7 @@ public abstract class FlatLaf
// add mnemonic listener // add mnemonic listener
mnemonicListener = e -> { mnemonicListener = e -> {
if( e.getKeyCode() == KeyEvent.VK_ALT ) checkShowMnemonics( e );
altKeyChanged( e.getID() == KeyEvent.KEY_PRESSED );
return false; return false;
}; };
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventPostProcessor( mnemonicListener ); KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventPostProcessor( mnemonicListener );
@@ -133,6 +139,18 @@ public abstract class FlatLaf
}; };
Toolkit.getDefaultToolkit().addPropertyChangeListener( desktopPropertyName, desktopPropertyListener ); Toolkit.getDefaultToolkit().addPropertyChangeListener( desktopPropertyName, desktopPropertyListener );
} }
// Following code should be ideally in initialize(), but needs color from UI defaults.
// Do not move this code to getDefaults() to avoid side effects in the case that
// getDefaults() is directly invoked from 3rd party code. E.g. `new FlatLightLaf().getDefaults()`.
postInitialization = defaults -> {
// update link color in HTML text
Color linkColor = defaults.getColor( "Component.linkColor" );
if( linkColor != null ) {
new HTMLEditorKit().getStyleSheet().addRule(
String.format( "a { color: #%06x; }", linkColor.getRGB() & 0xffffff ) );
}
};
} }
@Override @Override
@@ -152,6 +170,7 @@ public abstract class FlatLaf
// restore default link color // restore default link color
new HTMLEditorKit().getStyleSheet().addRule( "a { color: blue; }" ); new HTMLEditorKit().getStyleSheet().addRule( "a { color: blue; }" );
postInitialization = null;
if( base != null ) if( base != null )
base.uninitialize(); base.uninitialize();
@@ -167,10 +186,11 @@ public abstract class FlatLaf
if( base == null ) { if( base == null ) {
if( SystemInfo.IS_MAC ) { if( SystemInfo.IS_MAC ) {
// use Mac Aqua LaF as base // use Mac Aqua LaF as base
String aquaLafClassName = "com.apple.laf.AquaLookAndFeel";
try { try {
base = (BasicLookAndFeel) Class.forName( "com.apple.laf.AquaLookAndFeel" ).newInstance(); base = (BasicLookAndFeel) Class.forName( aquaLafClassName ).newInstance();
} catch( Exception ex ) { } catch( Exception ex ) {
ex.printStackTrace(); LOG.log( Level.SEVERE, "FlatLaf: Failed to initialize base look and feel '" + aquaLafClassName + "'.", ex );
throw new IllegalStateException(); throw new IllegalStateException();
} }
} else } else
@@ -221,16 +241,18 @@ public abstract class FlatLaf
if( useScreenMenuBar ) if( useScreenMenuBar )
defaults.put( "MenuBarUI", aquaMenuBarUI ); defaults.put( "MenuBarUI", aquaMenuBarUI );
// update link color in HTML text invokePostInitialization( defaults );
Color linkColor = defaults.getColor( "Component.linkColor" );
if( linkColor != null ) {
new HTMLEditorKit().getStyleSheet().addRule(
String.format( "a { color: #%06x; }", linkColor.getRGB() & 0xffffff ) );
}
return defaults; return defaults;
} }
void invokePostInitialization( UIDefaults defaults ) {
if( postInitialization != null ) {
postInitialization.accept( defaults );
postInitialization = null;
}
}
List<Class<?>> getLafClassesForDefaultsLoading() { List<Class<?>> getLafClassesForDefaultsLoading() {
return null; return null;
} }
@@ -269,6 +291,9 @@ public abstract class FlatLaf
defaults.put( key, uiFont ); defaults.put( key, uiFont );
} }
defaults.put( "MenuItem.acceleratorFont", uiFont ); defaults.put( "MenuItem.acceleratorFont", uiFont );
// use smaller font for progress bar
defaults.put( "ProgressBar.font", UIScale.scaleFont( uiFont, 0.85f ) );
} }
/** /**
@@ -312,9 +337,9 @@ public abstract class FlatLaf
private static void reSetLookAndFeel() { private static void reSetLookAndFeel() {
EventQueue.invokeLater( () -> { EventQueue.invokeLater( () -> {
LookAndFeel lookAndFeel = UIManager.getLookAndFeel();
try { try {
// re-set current LaF // re-set current LaF
LookAndFeel lookAndFeel = UIManager.getLookAndFeel();
UIManager.setLookAndFeel( lookAndFeel ); UIManager.setLookAndFeel( lookAndFeel );
// must fire property change events ourself because old and new LaF are the same // must fire property change events ourself because old and new LaF are the same
@@ -325,7 +350,7 @@ public abstract class FlatLaf
// update UI // update UI
updateUI(); updateUI();
} catch( UnsupportedLookAndFeelException ex ) { } catch( UnsupportedLookAndFeelException ex ) {
ex.printStackTrace(); LOG.log( Level.SEVERE, "FlatLaf: Failed to reinitialize look and feel '" + lookAndFeel.getClass().getName() + "'.", ex );
} }
} ); } );
} }
@@ -340,14 +365,27 @@ public abstract class FlatLaf
} }
public static boolean isShowMnemonics() { public static boolean isShowMnemonics() {
return altKeyPressed || !UIManager.getBoolean( "Component.hideMnemonics" ); return showMnemonics || !UIManager.getBoolean( "Component.hideMnemonics" );
} }
private static void altKeyChanged( boolean pressed ) { private static void checkShowMnemonics( KeyEvent e ) {
if( pressed == altKeyPressed ) int keyCode = e.getKeyCode();
if( SystemInfo.IS_MAC ) {
// Ctrl+Alt keys must be pressed on Mac
if( keyCode == KeyEvent.VK_CONTROL || keyCode == KeyEvent.VK_ALT )
showMnemonics( e.getID() == KeyEvent.KEY_PRESSED && e.isControlDown() && e.isAltDown() );
} else {
// Alt key must be pressed on Windows and Linux
if( keyCode == KeyEvent.VK_ALT )
showMnemonics( e.getID() == KeyEvent.KEY_PRESSED );
}
}
private static void showMnemonics( boolean show ) {
if( show == showMnemonics )
return; return;
altKeyPressed = pressed; showMnemonics = show;
// check whether it is necessary to repaint // check whether it is necessary to repaint
if( !UIManager.getBoolean( "Component.hideMnemonics" ) ) if( !UIManager.getBoolean( "Component.hideMnemonics" ) )

View File

@@ -29,6 +29,7 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.logging.Level;
import javax.swing.UIDefaults; import javax.swing.UIDefaults;
import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.ColorUIResource;
import com.formdev.flatlaf.json.Json; import com.formdev.flatlaf.json.Json;
@@ -72,8 +73,7 @@ public class IntelliJTheme
try { try {
return FlatLaf.install( createLaf( in ) ); return FlatLaf.install( createLaf( in ) );
} catch( Exception ex ) { } catch( Exception ex ) {
System.err.println( "Failed to load IntelliJ theme" ); FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: Failed to load IntelliJ theme", ex );
ex.printStackTrace();
return false; return false;
} }
} }
@@ -128,6 +128,10 @@ public class IntelliJTheme
defaults.put( "Component.isIntelliJTheme", true ); defaults.put( "Component.isIntelliJTheme", true );
// enable button shadows
defaults.put( "Button.paintShadow", true );
defaults.put( "Button.shadowWidth", dark ? 2 : 1 );
loadNamedColors( defaults ); loadNamedColors( defaults );
// convert Json "ui" structure to UI defaults // convert Json "ui" structure to UI defaults
@@ -139,6 +143,20 @@ public class IntelliJTheme
applyColorPalette( defaults ); applyColorPalette( defaults );
applyCheckBoxColors( defaults ); applyCheckBoxColors( defaults );
// IDEA uses a SVG icon for the help button, but paints the background with Button.startBackground and Button.endBackground
Object helpButtonBackground = defaults.get( "Button.startBackground" );
Object helpButtonBorderColor = defaults.get( "Button.startBorderColor" );
if( helpButtonBackground == null )
helpButtonBackground = defaults.get( "Button.background" );
if( helpButtonBorderColor == null )
helpButtonBorderColor = defaults.get( "Button.borderColor" );
defaults.put( "HelpButton.background", helpButtonBackground );
defaults.put( "HelpButton.borderColor", helpButtonBorderColor );
defaults.put( "HelpButton.disabledBackground", defaults.get( "Panel.background" ) );
defaults.put( "HelpButton.disabledBorderColor", defaults.get( "Button.disabledBorderColor" ) );
defaults.put( "HelpButton.focusedBorderColor", defaults.get( "Button.focusedBorderColor" ) );
defaults.put( "HelpButton.focusedBackground", defaults.get( "Button.focusedBackground" ) );
// IDEA uses TextField.background for editable ComboBox and Spinner // IDEA uses TextField.background for editable ComboBox and Spinner
defaults.put( "ComboBox.editableBackground", defaults.get( "TextField.background" ) ); defaults.put( "ComboBox.editableBackground", defaults.get( "TextField.background" ) );
defaults.put( "Spinner.background", defaults.get( "TextField.background" ) ); defaults.put( "Spinner.background", defaults.get( "TextField.background" ) );
@@ -212,7 +230,9 @@ public class IntelliJTheme
if( uiValue == null ) { if( uiValue == null ) {
// fix errors (missing '#' for colors) // fix errors (missing '#' for colors)
if( !valueStr.startsWith( "#" ) && (key.endsWith( "ground" ) || key.endsWith( "Color" )) ) if( !valueStr.startsWith( "#" ) && (key.endsWith( "ground" ) || key.endsWith( "Color" )) )
valueStr = "#" + valueStr; valueStr = fixColorIfValid( "#" + valueStr, valueStr );
else if( valueStr.startsWith( "##" ) )
valueStr = fixColorIfValid( valueStr.substring( 1 ), valueStr );
else if( key.endsWith( ".border" ) || key.endsWith( "Border" ) ) { else if( key.endsWith( ".border" ) || key.endsWith( "Border" ) ) {
List<String> parts = StringUtils.split( valueStr, ',' ); List<String> parts = StringUtils.split( valueStr, ',' );
if( parts.size() == 5 && !parts.get( 4 ).startsWith( "#" ) ) { if( parts.size() == 5 && !parts.get( 4 ).startsWith( "#" ) ) {
@@ -225,7 +245,7 @@ public class IntelliJTheme
try { try {
uiValue = UIDefaultsLoader.parseValue( key, valueStr ); uiValue = UIDefaultsLoader.parseValue( key, valueStr );
} catch( RuntimeException ex ) { } catch( RuntimeException ex ) {
UIDefaultsLoader.logParseError( key, valueStr, ex ); UIDefaultsLoader.logParseError( Level.CONFIG, key, valueStr, ex );
return; // ignore invalid value return; // ignore invalid value
} }
} }
@@ -259,6 +279,17 @@ public class IntelliJTheme
} }
} }
private String fixColorIfValid( String newColorStr, String colorStr ) {
try {
// check whether it is valid
UIDefaultsLoader.parseColorRGBA( newColorStr );
return newColorStr;
} catch( IllegalArgumentException ex ) {
return colorStr;
}
}
private void applyColorPalette( UIDefaults defaults ) { private void applyColorPalette( UIDefaults defaults ) {
if( icons == null ) if( icons == null )
return; return;
@@ -324,33 +355,43 @@ public class IntelliJTheme
value = "#ffffff"; value = "#ffffff";
} }
String key2 = checkboxDuplicateColors.get( key );
if( dark ) if( dark )
key = StringUtils.removeTrailing( key, ".Dark" ); key = StringUtils.removeTrailing( key, ".Dark" );
String newKey = checkboxKeyMapping.get( key ); String newKey = checkboxKeyMapping.get( key );
if( newKey != null ) { if( newKey != null ) {
ColorUIResource color = toColor( (String) value ); ColorUIResource color = toColor( (String) value );
if( color != null ) if( color != null ) {
defaults.put( newKey, color ); defaults.put( newKey, color );
if( key2 != null ) {
// When IDEA replaces colors in SVGs it uses color values and not the keys
// from com.intellij.ide.ui.UITheme.colorPalette, but there are some keys that
// have same color value:
// - Checkbox.Background.Default.Dark has same color as Checkbox.Background.Selected.Dark
// - Checkbox.Border.Default.Dark has same color as Checkbox.Border.Selected.Dark
// - Checkbox.Focus.Thin.Default.Dark has same color as Checkbox.Focus.Thin.Selected.Dark
//
// So if only e.g. Checkbox.Background.Default.Dark is specified in .theme.json,
// then this color is also used for Checkbox.Background.Selected.Dark.
//
// If Checkbox.Background.Default.Dark and Checkbox.Background.Selected.Dark
// are specified in .theme.json, then the later specified is used for both.
if( dark )
key2 = StringUtils.removeTrailing( key2, ".Dark" );
String newKey2 = checkboxKeyMapping.get( key2 );
if( newKey2 != null )
defaults.put( newKey2, color );
}
}
checkboxModified = true; checkboxModified = true;
} }
} }
// When IDEA replaces colors in SVGs it uses color values and not the keys
// from com.intellij.ide.ui.UITheme.colorPalette, but there are some keys that
// have same color value:
// - Checkbox.Background.Default.Dark has same color as Checkbox.Background.Selected.Dark
// - Checkbox.Border.Default.Dark has same color as Checkbox.Border.Selected.Dark
// - Checkbox.Focus.Thin.Default.Dark has same color as Checkbox.Focus.Thin.Selected.Dark
//
// So if only e.g. Checkbox.Background.Default.Dark is specified in .theme.json,
// then this color is also used for Checkbox.Background.Selected.Dark.
// Occurs e.g. in "Dark purple" theme.
fixCheckBoxColor( defaults, colorPalette, "Checkbox.Background.Default.Dark", "Checkbox.Background.Selected.Dark" );
fixCheckBoxColor( defaults, colorPalette, "Checkbox.Border.Default.Dark", "Checkbox.Border.Selected.Dark" );
fixCheckBoxColor( defaults, colorPalette, "Checkbox.Focus.Thin.Default.Dark", "Checkbox.Focus.Thin.Selected.Dark" );
// remove hover and pressed colors // remove hover and pressed colors
if( checkboxModified ) { if( checkboxModified ) {
defaults.remove( "CheckBox.icon.hoverBorderColor" ); defaults.remove( "CheckBox.icon.hoverBorderColor" );
@@ -360,37 +401,20 @@ public class IntelliJTheme
defaults.remove( "CheckBox.icon.selectedHoverBackground" ); defaults.remove( "CheckBox.icon.selectedHoverBackground" );
defaults.remove( "CheckBox.icon.selectedPressedBackground" ); defaults.remove( "CheckBox.icon.selectedPressedBackground" );
} }
}
private void fixCheckBoxColor( UIDefaults defaults, Map<String, Object> colorPalette, String key1, String key2 ) { // copy values
if( colorPalette.containsKey( key1 ) == colorPalette.containsKey( key2 ) ) for( Map.Entry<String, String> e : uiKeyCopying.entrySet() )
return; defaults.put( e.getKey(), defaults.get( e.getValue() ) );
String newKey1 = checkboxKeyMapping.get( StringUtils.removeTrailing( key1, ".Dark" ) );
String newKey2 = checkboxKeyMapping.get( StringUtils.removeTrailing( key2, ".Dark" ) );
if( colorPalette.containsKey( key1 ) )
defaults.put( newKey2, defaults.get( newKey1 ) );
else
defaults.put( newKey1, defaults.get( newKey2 ) );
} }
private static Map<String, String> uiKeyMapping = new HashMap<>(); private static Map<String, String> uiKeyMapping = new HashMap<>();
private static Map<String, String> uiKeyCopying = new HashMap<>();
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 Set<String> noWildcardReplace = new HashSet<>(); private static Set<String> noWildcardReplace = new HashSet<>();
static { static {
// Button
// IDEA buttons support gradient for background and border, but FlatLaf does not
uiKeyMapping.put( "Button.startBackground", "Button.background" );
uiKeyMapping.put( "Button.startBorderColor", "Button.borderColor" );
uiKeyMapping.put( "Button.default.startBackground", "Button.default.background" );
uiKeyMapping.put( "Button.default.startBorderColor", "Button.default.borderColor" );
uiKeyMapping.put( "Button.endBackground", "" ); // ignore
uiKeyMapping.put( "Button.endBorderColor", "" ); // ignore
uiKeyMapping.put( "Button.default.endBackground", "" ); // ignore
uiKeyMapping.put( "Button.default.endBorderColor", "" ); // ignore
// ComboBox // ComboBox
uiKeyMapping.put( "ComboBox.background", "" ); // ignore uiKeyMapping.put( "ComboBox.background", "" ); // ignore
uiKeyMapping.put( "ComboBox.nonEditableBackground", "ComboBox.background" ); uiKeyMapping.put( "ComboBox.nonEditableBackground", "ComboBox.background" );
@@ -399,6 +423,9 @@ public class IntelliJTheme
uiKeyMapping.put( "ComboBox.ArrowButton.iconColor", "ComboBox.buttonArrowColor" ); uiKeyMapping.put( "ComboBox.ArrowButton.iconColor", "ComboBox.buttonArrowColor" );
uiKeyMapping.put( "ComboBox.ArrowButton.nonEditableBackground", "ComboBox.buttonBackground" ); uiKeyMapping.put( "ComboBox.ArrowButton.nonEditableBackground", "ComboBox.buttonBackground" );
// Link
uiKeyMapping.put( "Link.activeForeground", "Component.linkColor" );
// ProgressBar // ProgressBar
uiKeyMapping.put( "ProgressBar.background", "" ); // ignore uiKeyMapping.put( "ProgressBar.background", "" ); // ignore
uiKeyMapping.put( "ProgressBar.foreground", "" ); // ignore uiKeyMapping.put( "ProgressBar.foreground", "" ); // ignore
@@ -409,12 +436,21 @@ public class IntelliJTheme
uiKeyMapping.put( "ScrollBar.trackColor", "ScrollBar.track" ); uiKeyMapping.put( "ScrollBar.trackColor", "ScrollBar.track" );
uiKeyMapping.put( "ScrollBar.thumbColor", "ScrollBar.thumb" ); uiKeyMapping.put( "ScrollBar.thumbColor", "ScrollBar.thumb" );
// Separator
uiKeyMapping.put( "Separator.separatorColor", "Separator.foreground" );
// Slider // Slider
uiKeyMapping.put( "Slider.trackWidth", "" ); // ignore (used in Material Theme UI Lite) uiKeyMapping.put( "Slider.trackWidth", "" ); // ignore (used in Material Theme UI Lite)
for( Map.Entry<String, String> e : uiKeyMapping.entrySet() ) for( Map.Entry<String, String> e : uiKeyMapping.entrySet() )
uiKeyInverseMapping.put( e.getValue(), e.getKey() ); uiKeyInverseMapping.put( e.getValue(), e.getKey() );
uiKeyCopying.put( "ToggleButton.underline.underlineColor", "TabbedPane.underlineColor" );
uiKeyCopying.put( "ToggleButton.underline.disabledUnderlineColor", "TabbedPane.disabledUnderlineColor" );
uiKeyCopying.put( "ToggleButton.underline.selectedBackground", "TabbedPane.selectedBackground" );
uiKeyCopying.put( "ToggleButton.underline.hoverBackground", "TabbedPane.hoverColor" );
uiKeyCopying.put( "ToggleButton.underline.focusBackground", "TabbedPane.focusColor" );
checkboxKeyMapping.put( "Checkbox.Background.Default", "CheckBox.icon.background" ); checkboxKeyMapping.put( "Checkbox.Background.Default", "CheckBox.icon.background" );
checkboxKeyMapping.put( "Checkbox.Background.Disabled", "CheckBox.icon.disabledBackground" ); checkboxKeyMapping.put( "Checkbox.Background.Disabled", "CheckBox.icon.disabledBackground" );
checkboxKeyMapping.put( "Checkbox.Border.Default", "CheckBox.icon.borderColor" ); checkboxKeyMapping.put( "Checkbox.Border.Default", "CheckBox.icon.borderColor" );
@@ -427,6 +463,14 @@ public class IntelliJTheme
checkboxKeyMapping.put( "Checkbox.Foreground.Selected", "CheckBox.icon.checkmarkColor" ); checkboxKeyMapping.put( "Checkbox.Foreground.Selected", "CheckBox.icon.checkmarkColor" );
checkboxKeyMapping.put( "Checkbox.Focus.Thin.Selected", "CheckBox.icon.selectedFocusedBorderColor" ); checkboxKeyMapping.put( "Checkbox.Focus.Thin.Selected", "CheckBox.icon.selectedFocusedBorderColor" );
checkboxDuplicateColors.put( "Checkbox.Background.Default.Dark", "Checkbox.Background.Selected.Dark" );
checkboxDuplicateColors.put( "Checkbox.Border.Default.Dark", "Checkbox.Border.Selected.Dark" );
checkboxDuplicateColors.put( "Checkbox.Focus.Thin.Default.Dark", "Checkbox.Focus.Thin.Selected.Dark" );
@SuppressWarnings( "unchecked" )
Map.Entry<String, String>[] entries = checkboxDuplicateColors.entrySet().toArray( new Map.Entry[checkboxDuplicateColors.size()] );
for( Map.Entry<String, String> e : entries )
checkboxDuplicateColors.put( e.getValue(), e.getKey() );
// because FlatLaf uses Button.background and Button.borderColor, // because FlatLaf uses Button.background and Button.borderColor,
// but IDEA uses Button.startBackground and Button.startBorderColor, // but IDEA uses Button.startBackground and Button.startBorderColor,
// our default button background and border colors may be replaced by // our default button background and border colors may be replaced by
@@ -472,9 +516,14 @@ public class IntelliJTheme
public UIDefaults getDefaults() { public UIDefaults getDefaults() {
UIDefaults defaults = super.getDefaults(); UIDefaults defaults = super.getDefaults();
theme.applyProperties( defaults ); theme.applyProperties( defaults );
super.invokePostInitialization( defaults );
return defaults; return defaults;
} }
@Override
void invokePostInitialization( UIDefaults defaults ) {
}
@Override @Override
ArrayList<Class<?>> getLafClassesForDefaultsLoading() { ArrayList<Class<?>> getLafClassesForDefaultsLoading() {
ArrayList<Class<?>> lafClasses = new ArrayList<>(); ArrayList<Class<?>> lafClasses = new ArrayList<>();

View File

@@ -27,6 +27,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import java.util.logging.Level;
import javax.swing.text.StyleContext; import javax.swing.text.StyleContext;
import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.StringUtils;
import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.SystemInfo;
@@ -161,7 +162,7 @@ class LinuxFontPolicy
if( "1".equals( strs.get( 5 ) ) ) if( "1".equals( strs.get( 5 ) ) )
style |= Font.ITALIC; style |= Font.ITALIC;
} catch( RuntimeException ex ) { } catch( RuntimeException ex ) {
ex.printStackTrace(); FlatLaf.LOG.log( Level.CONFIG, "FlatLaf: Failed to parse 'font=" + generalFont + "'.", ex );
} }
} }
@@ -175,7 +176,7 @@ class LinuxFontPolicy
if( dpi < 50 ) if( dpi < 50 )
dpi = 50; dpi = 50;
} catch( NumberFormatException ex ) { } catch( NumberFormatException ex ) {
ex.printStackTrace(); FlatLaf.LOG.log( Level.CONFIG, "FlatLaf: Failed to parse 'forceFontDPI=" + forceFontDPI + "'.", ex );
} }
} }
@@ -214,7 +215,7 @@ class LinuxFontPolicy
while( (line = reader.readLine()) != null ) while( (line = reader.readLine()) != null )
lines.add( line ); lines.add( line );
} catch( IOException ex ) { } catch( IOException ex ) {
ex.printStackTrace(); FlatLaf.LOG.log( Level.CONFIG, "FlatLaf: Failed to read '" + filename + "'.", ex );
} }
return lines; return lines;
} }

View File

@@ -22,6 +22,7 @@ import java.awt.Insets;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@@ -29,7 +30,10 @@ import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.ServiceLoader; import java.util.ServiceLoader;
import java.util.function.Function; import java.util.function.Function;
import java.util.logging.Level;
import javax.swing.UIDefaults; import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.UIDefaults.ActiveValue;
import javax.swing.UIDefaults.LazyValue; import javax.swing.UIDefaults.LazyValue;
import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.ColorUIResource;
import javax.swing.plaf.DimensionUIResource; import javax.swing.plaf.DimensionUIResource;
@@ -38,9 +42,10 @@ import com.formdev.flatlaf.ui.FlatEmptyBorder;
import com.formdev.flatlaf.ui.FlatLineBorder; import com.formdev.flatlaf.ui.FlatLineBorder;
import com.formdev.flatlaf.util.ColorFunctions; import com.formdev.flatlaf.util.ColorFunctions;
import com.formdev.flatlaf.util.DerivedColor; import com.formdev.flatlaf.util.DerivedColor;
import com.formdev.flatlaf.util.ScaledNumber; import com.formdev.flatlaf.util.HSLColor;
import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.StringUtils;
import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.SystemInfo;
import com.formdev.flatlaf.util.UIScale;
/** /**
* Load UI defaults from properties files associated to Flat LaF classes and add to UI defaults. * Load UI defaults from properties files associated to Flat LaF classes and add to UI defaults.
@@ -58,7 +63,9 @@ class UIDefaultsLoader
private static final String TYPE_PREFIX = "{"; private static final String TYPE_PREFIX = "{";
private static final String TYPE_PREFIX_END = "}"; private static final String TYPE_PREFIX_END = "}";
private static final String VARIABLE_PREFIX = "@"; private static final String VARIABLE_PREFIX = "@";
@Deprecated
private static final String REF_PREFIX = VARIABLE_PREFIX + "@"; private static final String REF_PREFIX = VARIABLE_PREFIX + "@";
private static final String PROPERTY_PREFIX = "$";
private static final String OPTIONAL_PREFIX = "?"; private static final String OPTIONAL_PREFIX = "?";
private static final String GLOBAL_PREFIX = "*."; private static final String GLOBAL_PREFIX = "*.";
@@ -77,19 +84,26 @@ class UIDefaultsLoader
static void loadDefaultsFromProperties( List<Class<?>> lafClasses, UIDefaults defaults ) { static void loadDefaultsFromProperties( List<Class<?>> lafClasses, UIDefaults defaults ) {
try { try {
// load properties files // load core properties files
Properties properties = new Properties(); Properties properties = new Properties();
ServiceLoader<FlatDefaultsAddon> addonLoader = ServiceLoader.load( FlatDefaultsAddon.class );
for( Class<?> lafClass : lafClasses ) { for( Class<?> lafClass : lafClasses ) {
// load core properties String propertiesName = '/' + lafClass.getName().replace( '.', '/' ) + ".properties";
String propertiesName = "/" + lafClass.getName().replace( '.', '/' ) + ".properties";
try( InputStream in = lafClass.getResourceAsStream( propertiesName ) ) { try( InputStream in = lafClass.getResourceAsStream( propertiesName ) ) {
if( in != null ) if( in != null )
properties.load( in ); properties.load( in );
} }
}
// load properties from addons // get addons and sort them by priority
for( FlatDefaultsAddon addon : addonLoader ) { ServiceLoader<FlatDefaultsAddon> addonLoader = ServiceLoader.load( FlatDefaultsAddon.class );
List<FlatDefaultsAddon> addonList = new ArrayList<>();
for( FlatDefaultsAddon addon : addonLoader )
addonList.add( addon );
addonList.sort( (addon1, addon2) -> addon1.getPriority() - addon2.getPriority() );
// load properties from addons
for( FlatDefaultsAddon addon : addonList ) {
for( Class<?> lafClass : lafClasses ) {
try( InputStream in = addon.getDefaults( lafClass ) ) { try( InputStream in = addon.getDefaults( lafClass ) ) {
if( in != null ) if( in != null )
properties.load( in ); properties.load( in );
@@ -97,6 +111,14 @@ class UIDefaultsLoader
} }
} }
// collect addon class loaders
List<ClassLoader> addonClassLoaders = new ArrayList<>();
for( FlatDefaultsAddon addon : addonList ) {
ClassLoader addonClassLoader = addon.getClass().getClassLoader();
if( !addonClassLoaders.contains( addonClassLoader ) )
addonClassLoaders.add( addonClassLoader );
}
// 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 key : properties.keySet() ) {
@@ -131,9 +153,9 @@ class UIDefaultsLoader
String value = resolveValue( properties, (String) e.getValue() ); String value = resolveValue( properties, (String) e.getValue() );
try { try {
globals.put( key.substring( GLOBAL_PREFIX.length() ), parseValue( key, value, resolver ) ); globals.put( key.substring( GLOBAL_PREFIX.length() ), parseValue( key, value, resolver, addonClassLoaders ) );
} catch( RuntimeException ex ) { } catch( RuntimeException ex ) {
logParseError( key, value, ex ); logParseError( Level.SEVERE, key, value, ex );
} }
} }
@@ -156,27 +178,31 @@ class UIDefaultsLoader
String value = resolveValue( properties, (String) e.getValue() ); String value = resolveValue( properties, (String) e.getValue() );
try { try {
defaults.put( key, parseValue( key, value, resolver ) ); defaults.put( key, parseValue( key, value, resolver, addonClassLoaders ) );
} catch( RuntimeException ex ) { } catch( RuntimeException ex ) {
logParseError( key, value, ex ); logParseError( Level.SEVERE, key, value, ex );
} }
} }
} catch( IOException ex ) { } catch( IOException ex ) {
ex.printStackTrace(); FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: Failed to load properties files.", ex );
} }
} }
static void logParseError( String key, String value, RuntimeException ex ) { static void logParseError( Level level, String key, String value, RuntimeException ex ) {
System.err.println( "Failed to parse: '" + key + '=' + value + '\'' ); FlatLaf.LOG.log( level, "FlatLaf: Failed to parse: '" + key + '=' + value + '\'', ex );
System.err.println( " " + ex.getMessage() );
} }
private static String resolveValue( Properties properties, String value ) { private static String resolveValue( Properties properties, String value ) {
if( !value.startsWith( VARIABLE_PREFIX ) ) if( value.startsWith( PROPERTY_PREFIX ) )
value = value.substring( PROPERTY_PREFIX.length() );
else if( !value.startsWith( VARIABLE_PREFIX ) )
return value; return value;
if( value.startsWith( REF_PREFIX ) ) // for compatibility
if( value.startsWith( REF_PREFIX ) ) {
FlatLaf.LOG.log( Level.WARNING, "FlatLaf: Usage of '@@' in .properties files is deprecated. Use '$' instead." );
value = value.substring( REF_PREFIX.length() ); value = value.substring( REF_PREFIX.length() );
}
boolean optional = false; boolean optional = false;
if( value.startsWith( OPTIONAL_PREFIX ) ) { if( value.startsWith( OPTIONAL_PREFIX ) ) {
@@ -189,19 +215,19 @@ class UIDefaultsLoader
if( optional ) if( optional )
return "null"; return "null";
throw new IllegalArgumentException( "variable or reference '" + value + "' not found" ); throw new IllegalArgumentException( "variable or property '" + value + "' not found" );
} }
return resolveValue( properties, newValue ); return resolveValue( properties, newValue );
} }
private enum ValueType { UNKNOWN, STRING, INTEGER, BORDER, ICON, INSETS, SIZE, COLOR, SCALEDNUMBER } private enum ValueType { UNKNOWN, STRING, INTEGER, FLOAT, BORDER, ICON, INSETS, DIMENSION, COLOR, SCALEDINTEGER, INSTANCE, CLASS }
static Object parseValue( String key, String value ) { static Object parseValue( String key, String value ) {
return parseValue( key, value, v -> v ); return parseValue( key, value, v -> v, Collections.emptyList() );
} }
private static Object parseValue( String key, String value, Function<String, String> resolver ) { private static Object parseValue( String key, String value, Function<String, String> resolver, List<ClassLoader> addonClassLoaders ) {
value = value.trim(); value = value.trim();
// null, false, true // null, false, true
@@ -211,12 +237,24 @@ class UIDefaultsLoader
case "true": return true; case "true": return true;
} }
// check for function "lazy"
// Syntax: lazy(uiKey)
if( value.startsWith( "lazy(" ) && value.endsWith( ")" ) ) {
String uiKey = value.substring( 5, value.length() - 1 ).trim();
return (LazyValue) t -> {
return lazyUIManagerGet( uiKey );
};
}
ValueType valueType = ValueType.UNKNOWN; ValueType valueType = ValueType.UNKNOWN;
// check whether value type is specified in the value // check whether value type is specified in the value
if( value.startsWith( "#" ) ) if( value.startsWith( "#" ) )
valueType = ValueType.COLOR; valueType = ValueType.COLOR;
else if( value.startsWith( TYPE_PREFIX ) ) { else if( value.startsWith( "\"" ) && value.endsWith( "\"" ) ) {
valueType = ValueType.STRING;
value = value.substring( 1, value.length() - 1 );
} else if( value.startsWith( TYPE_PREFIX ) ) {
int end = value.indexOf( TYPE_PREFIX_END ); int end = value.indexOf( TYPE_PREFIX_END );
if( end != -1 ) { if( end != -1 ) {
try { try {
@@ -243,7 +281,7 @@ class UIDefaultsLoader
key.endsWith( "Margins" ) || key.endsWith( "Insets" ) ) key.endsWith( "Margins" ) || key.endsWith( "Insets" ) )
valueType = ValueType.INSETS; valueType = ValueType.INSETS;
else if( key.endsWith( "Size" ) ) else if( key.endsWith( "Size" ) )
valueType = ValueType.SIZE; valueType = ValueType.DIMENSION;
else if( key.endsWith( "Width" ) || key.endsWith( "Height" ) ) else if( key.endsWith( "Width" ) || key.endsWith( "Height" ) )
valueType = ValueType.INTEGER; valueType = ValueType.INTEGER;
else if( key.endsWith( "UI" ) ) else if( key.endsWith( "UI" ) )
@@ -254,16 +292,19 @@ class UIDefaultsLoader
switch( valueType ) { switch( valueType ) {
case STRING: return value; case STRING: return value;
case INTEGER: return parseInteger( value, true ); case INTEGER: return parseInteger( value, true );
case BORDER: return parseBorder( value, resolver ); case FLOAT: return parseFloat( value, true );
case ICON: return parseInstance( value ); case BORDER: return parseBorder( value, resolver, addonClassLoaders );
case ICON: return parseInstance( value, addonClassLoaders );
case INSETS: return parseInsets( value ); case INSETS: return parseInsets( value );
case SIZE: return parseSize( value ); case DIMENSION: return parseDimension( value );
case COLOR: return parseColorOrFunction( value, true ); case COLOR: return parseColorOrFunction( value, resolver, true );
case SCALEDNUMBER: return parseScaledNumber( value ); case SCALEDINTEGER: return parseScaledInteger( value );
case INSTANCE: return parseInstance( value, addonClassLoaders );
case CLASS: return parseClass( value, addonClassLoaders );
case UNKNOWN: case UNKNOWN:
default: default:
// colors // colors
ColorUIResource color = parseColorOrFunction( value, false ); Object color = parseColorOrFunction( value, resolver, false );
if( color != null ) if( color != null )
return color; return color;
@@ -272,18 +313,23 @@ class UIDefaultsLoader
if( integer != null ) if( integer != null )
return integer; return integer;
// float
Float f = parseFloat( value, false );
if( f != null )
return f;
// string // string
return value; return value;
} }
} }
private static Object parseBorder( String value, Function<String, String> resolver ) { private static Object parseBorder( String value, Function<String, String> resolver, List<ClassLoader> addonClassLoaders ) {
if( value.indexOf( ',' ) >= 0 ) { if( value.indexOf( ',' ) >= 0 ) {
// top,left,bottom,right[,lineColor] // top,left,bottom,right[,lineColor]
List<String> parts = StringUtils.split( value, ',' ); List<String> parts = split( value, ',' );
Insets insets = parseInsets( value ); Insets insets = parseInsets( value );
ColorUIResource lineColor = (parts.size() == 5) ColorUIResource lineColor = (parts.size() == 5)
? parseColorOrFunction( resolver.apply( parts.get( 4 ) ), true ) ? (ColorUIResource) parseColorOrFunction( resolver.apply( parts.get( 4 ) ), resolver, true )
: null; : null;
return (LazyValue) t -> { return (LazyValue) t -> {
@@ -292,22 +338,51 @@ class UIDefaultsLoader
: new FlatEmptyBorder( insets ); : new FlatEmptyBorder( insets );
}; };
} else } else
return parseInstance( value ); return parseInstance( value, addonClassLoaders );
} }
private static Object parseInstance( String value ) { private static Object parseInstance( String value, List<ClassLoader> addonClassLoaders ) {
return (LazyValue) t -> { return (LazyValue) t -> {
try { try {
return Class.forName( value ).newInstance(); return findClass( value, addonClassLoaders ).newInstance();
} catch( InstantiationException | IllegalAccessException | ClassNotFoundException ex ) { } catch( InstantiationException | IllegalAccessException | ClassNotFoundException ex ) {
ex.printStackTrace(); FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: Failed to instantiate '" + value + "'.", ex );
return null; return null;
} }
}; };
} }
private static Object parseClass( String value, List<ClassLoader> addonClassLoaders ) {
return (LazyValue) t -> {
try {
return findClass( value, addonClassLoaders );
} catch( ClassNotFoundException ex ) {
FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: Failed to find class '" + value + "'.", ex );
return null;
}
};
}
private static Class<?> findClass( String className, List<ClassLoader> addonClassLoaders )
throws ClassNotFoundException
{
try {
return Class.forName( className );
} catch( ClassNotFoundException ex ) {
// search in addons class loaders
for( ClassLoader addonClassLoader : addonClassLoaders ) {
try {
return addonClassLoader.loadClass( className );
} catch( ClassNotFoundException ex2 ) {
// ignore
}
}
throw ex;
}
}
private static Insets parseInsets( String value ) { private static Insets parseInsets( String value ) {
List<String> numbers = StringUtils.split( value, ',' ); List<String> numbers = split( value, ',' );
try { try {
return new InsetsUIResource( return new InsetsUIResource(
Integer.parseInt( numbers.get( 0 ) ), Integer.parseInt( numbers.get( 0 ) ),
@@ -319,8 +394,8 @@ class UIDefaultsLoader
} }
} }
private static Dimension parseSize( String value ) { private static Dimension parseDimension( String value ) {
List<String> numbers = StringUtils.split( value, ',' ); List<String> numbers = split( value, ',' );
try { try {
return new DimensionUIResource( return new DimensionUIResource(
Integer.parseInt( numbers.get( 0 ) ), Integer.parseInt( numbers.get( 0 ) ),
@@ -330,9 +405,9 @@ class UIDefaultsLoader
} }
} }
private static ColorUIResource parseColorOrFunction( String value, boolean reportError ) { private static Object parseColorOrFunction( String value, Function<String, String> resolver, boolean reportError ) {
if( value.endsWith( ")" ) ) if( value.endsWith( ")" ) )
return parseColorFunctions( value, reportError ); return parseColorFunctions( value, resolver, reportError );
return parseColor( value, reportError ); return parseColor( value, reportError );
} }
@@ -400,7 +475,7 @@ class UIDefaultsLoader
: (((n >> 8) & 0xffffff) | ((n & 0xff) << 24)); // move alpha from lowest to highest byte : (((n >> 8) & 0xffffff) | ((n & 0xff) << 24)); // move alpha from lowest to highest byte
} }
private static ColorUIResource parseColorFunctions( String value, boolean reportError ) { private static Object parseColorFunctions( String value, Function<String, String> resolver, boolean reportError ) {
int paramsStart = value.indexOf( '(' ); int paramsStart = value.indexOf( '(' );
if( paramsStart < 0 ) { if( paramsStart < 0 ) {
if( reportError ) if( reportError )
@@ -409,37 +484,99 @@ class UIDefaultsLoader
} }
String function = value.substring( 0, paramsStart ).trim(); String function = value.substring( 0, paramsStart ).trim();
List<String> params = StringUtils.split( value.substring( paramsStart + 1, value.length() - 1 ), ',' ); List<String> params = splitFunctionParams( value.substring( paramsStart + 1, value.length() - 1 ), ',' );
if( params.isEmpty() ) if( params.isEmpty() )
throw new IllegalArgumentException( "missing parameters in function '" + value + "'" ); throw new IllegalArgumentException( "missing parameters in function '" + value + "'" );
switch( function ) { switch( function ) {
case "lighten": return parseColorLightenOrDarken( true, params, reportError ); case "rgb": return parseColorRgbOrRgba( false, params );
case "darken": return parseColorLightenOrDarken( false, params, reportError ); case "rgba": return parseColorRgbOrRgba( true, params );
case "hsl": return parseColorHslOrHsla( false, params );
case "hsla": return parseColorHslOrHsla( true, params );
case "lighten": return parseColorLightenOrDarken( true, params, resolver, reportError );
case "darken": return parseColorLightenOrDarken( false, params, resolver, reportError );
} }
throw new IllegalArgumentException( "unknown color function '" + value + "'" ); throw new IllegalArgumentException( "unknown color function '" + value + "'" );
} }
/** /**
* Syntax: lighten(amount[,options]) or darken(amount[,options]) * Syntax: rgb(red,green,blue) or rgba(red,green,blue,alpha)
* - amount: percentage 0-100% * - red: an integer 0-255
* - options: [relative] [autoInverse] * - green: an integer 0-255
* - blue: an integer 0-255
* - alpha: an integer 0-255
*/ */
private static ColorUIResource parseColorLightenOrDarken( boolean lighten, List<String> params, boolean reportError ) { private static ColorUIResource parseColorRgbOrRgba( boolean hasAlpha, List<String> params ) {
int amount = parsePercentage( params.get( 0 ) ); int red = parseInteger( params.get( 0 ), 0, 255 );
int green = parseInteger( params.get( 1 ), 0, 255 );
int blue = parseInteger( params.get( 2 ), 0, 255 );
int alpha = hasAlpha ? parseInteger( params.get( 3 ), 0, 255 ) : 255;
return hasAlpha
? new ColorUIResource( new Color( red, green, blue, alpha ) )
: new ColorUIResource( red, green, blue );
}
/**
* Syntax: hsl(hue,saturation,lightness) or hsla(hue,saturation,lightness,alpha)
* - hue: an integer 0-360 representing degrees
* - saturation: a percentage 0-100%
* - lightness: a percentage 0-100%
* - alpha: a percentage 0-100%
*/
private static ColorUIResource parseColorHslOrHsla( boolean hasAlpha, List<String> params ) {
int hue = parseInteger( params.get( 0 ), 0, 360 );
int saturation = parsePercentage( params.get( 1 ) );
int lightness = parsePercentage( params.get( 2 ) );
int alpha = hasAlpha ? parsePercentage( params.get( 3 ) ) : 100;
float[] hsl = new float[] { hue, saturation, lightness };
return new ColorUIResource( HSLColor.toRGB( hsl, alpha / 100f ) );
}
/**
* Syntax: lighten([color,]amount[,options]) or darken([color,]amount[,options])
* - color: a color (e.g. #f00) or a color function
* - amount: percentage 0-100%
* - options: [relative] [autoInverse] [lazy]
*/
private static Object parseColorLightenOrDarken( boolean lighten, List<String> params,
Function<String, String> resolver, boolean reportError )
{
boolean isDerived = params.get( 0 ).endsWith( "%" );
String colorStr = isDerived ? null : params.get( 0 );
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;
if( params.size() >= 2 ) { if( params.size() > nextParam ) {
String options = params.get( 1 ); String options = params.get( nextParam++ );
relative = options.contains( "relative" ); relative = options.contains( "relative" );
autoInverse = options.contains( "autoInverse" ); autoInverse = options.contains( "autoInverse" );
lazy = options.contains( "lazy" );
} }
return new DerivedColor( 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 )
return new DerivedColor( function );
if( lazy ) {
return (LazyValue) t -> {
Object color = lazyUIManagerGet( colorStr );
return (color instanceof Color)
? new ColorUIResource( ColorFunctions.applyFunctions( (Color) color, function ) )
: null;
};
}
ColorUIResource color = (ColorUIResource) parseColorOrFunction( resolver.apply( colorStr ), resolver, reportError );
return new ColorUIResource( ColorFunctions.applyFunctions( color, function ) );
} }
private static int parsePercentage( String value ) { private static int parsePercentage( String value ) {
@@ -458,6 +595,13 @@ class UIDefaultsLoader
return val; return val;
} }
private static Integer parseInteger( String value, int min, int max ) {
Integer integer = parseInteger( value, true );
if( integer.intValue() < min || integer.intValue() > max )
throw new NumberFormatException( "integer '" + value + "' out of range (" + min + '-' + max + ')' );
return integer;
}
private static Integer parseInteger( String value, boolean reportError ) { private static Integer parseInteger( String value, boolean reportError ) {
try { try {
return Integer.parseInt( value ); return Integer.parseInt( value );
@@ -468,11 +612,76 @@ class UIDefaultsLoader
return null; return null;
} }
private static ScaledNumber parseScaledNumber( String value ) { private static Float parseFloat( String value, boolean reportError ) {
try { try {
return new ScaledNumber( Integer.parseInt( value ) ); return Float.parseFloat( value );
} catch( NumberFormatException ex ) { } catch( NumberFormatException ex ) {
throw new NumberFormatException( "invalid integer '" + value + "'" ); if( reportError )
throw new NumberFormatException( "invalid float '" + value + "'" );
} }
return null;
}
private static ActiveValue parseScaledInteger( String value ) {
int val = parseInteger( value, true );
return (ActiveValue) t -> {
return UIScale.scale( val );
};
}
/**
* Split string and trim parts.
*/
private static List<String> split( String str, char delim ) {
List<String> result = StringUtils.split( str, delim );
// trim strings
int size = result.size();
for( int i = 0; i < size; i++ )
result.set( i, result.get( i ).trim() );
return result;
}
/**
* Splits function parameters and allows using functions as parameters.
* In other words: Delimiters surrounded by '(' and ')' are ignored.
*/
private static List<String> splitFunctionParams( String str, char delim ) {
ArrayList<String> strs = new ArrayList<>();
int nestLevel = 0;
int start = 0;
int strlen = str.length();
for( int i = 0; i < strlen; i++ ) {
char ch = str.charAt( i );
if( ch == '(' )
nestLevel++;
else if( ch == ')' )
nestLevel--;
else if( nestLevel == 0 && ch == delim ) {
strs.add( str.substring( start, i ).trim() );
start = i + 1;
}
}
strs.add( str.substring( start ).trim() );
return strs;
}
/**
* For use in LazyValue to get value for given key from UIManager and report error
* if not found. If key is prefixed by '?', then no error is reported.
*/
private static Object lazyUIManagerGet( String uiKey ) {
boolean optional = false;
if( uiKey.startsWith( OPTIONAL_PREFIX ) ) {
uiKey = uiKey.substring( OPTIONAL_PREFIX.length() );
optional = true;
}
Object value = UIManager.get( uiKey );
if( value == null && !optional )
FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: '" + uiKey + "' not found in UI defaults." );
return value;
} }
} }

View File

@@ -62,7 +62,7 @@ import com.formdev.flatlaf.ui.FlatUIUtils;
public class FlatCheckBoxIcon public class FlatCheckBoxIcon
extends FlatAbstractIcon extends FlatAbstractIcon
{ {
protected final int focusWidth = UIManager.getInt( "Component.focusWidth" ); public final int focusWidth = UIManager.getInt( "Component.focusWidth" );
protected final Color focusColor = FlatUIUtils.getUIColor( "CheckBox.icon.focusedColor", protected final Color focusColor = FlatUIUtils.getUIColor( "CheckBox.icon.focusedColor",
UIManager.getColor( "Component.focusColor" ) ); UIManager.getColor( "Component.focusColor" ) );
protected final int arc = FlatUIUtils.getUIInt( "CheckBox.arc", 2 ); protected final int arc = FlatUIUtils.getUIInt( "CheckBox.arc", 2 );
@@ -133,17 +133,17 @@ public class FlatCheckBoxIcon
protected void paintFocusBorder( Graphics2D g2 ) { protected void paintFocusBorder( Graphics2D g2 ) {
// the outline focus border is painted outside of the icon // the outline focus border is painted outside of the icon
int wh = ICON_SIZE - 1 + (focusWidth * 2); int wh = ICON_SIZE - 1 + (focusWidth * 2);
int arcwh = (arc + focusWidth) * 2; int arcwh = arc + (focusWidth * 2);
g2.fillRoundRect( -focusWidth + 1, -focusWidth, wh, wh, arcwh, arcwh ); g2.fillRoundRect( -focusWidth + 1, -focusWidth, wh, wh, arcwh, arcwh );
} }
protected void paintBorder( Graphics2D g2 ) { protected void paintBorder( Graphics2D g2 ) {
int arcwh = arc * 2; int arcwh = arc;
g2.fillRoundRect( 1, 0, 14, 14, arcwh, arcwh ); g2.fillRoundRect( 1, 0, 14, 14, arcwh, arcwh );
} }
protected void paintBackground( Graphics2D g2 ) { protected void paintBackground( Graphics2D g2 ) {
int arcwh = (arc * 2) - 1; int arcwh = arc - 1;
g2.fillRoundRect( 2, 1, 12, 12, arcwh, arcwh ); g2.fillRoundRect( 2, 1, 12, 12, arcwh, arcwh );
} }

View File

@@ -0,0 +1,52 @@
/*
* Copyright 2019 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
*
* http://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.icons;
import java.awt.BasicStroke;
import java.awt.Component;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import java.awt.geom.Path2D;
import javax.swing.UIManager;
/**
* "close" icon for {@link javax.swing.JInternalFrame}.
*
* @uiDefault InternalFrame.iconColor Color
*
* @author Karl Tauber
*/
public class FlatInternalFrameCloseIcon
extends FlatAbstractIcon
{
public FlatInternalFrameCloseIcon() {
super( 16, 16, UIManager.getColor( "InternalFrame.iconColor" ) );
}
@Override
protected void paintIcon( Component c, Graphics2D g ) {
float mx = 8;
float my = 8;
float r = 3.25f;
Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
path.append( new Line2D.Float( mx - r, my - r, mx + r, my + r ), false );
path.append( new Line2D.Float( mx - r, my + r, mx + r, my - r ), false );
g.setStroke( new BasicStroke( 1f ) );
g.draw( path );
}
}

View File

@@ -0,0 +1,41 @@
/*
* Copyright 2019 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
*
* http://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.icons;
import java.awt.Component;
import java.awt.Graphics2D;
import javax.swing.UIManager;
/**
* "iconify" icon for {@link javax.swing.JInternalFrame}.
*
* @uiDefault InternalFrame.iconColor Color
*
* @author Karl Tauber
*/
public class FlatInternalFrameIconifyIcon
extends FlatAbstractIcon
{
public FlatInternalFrameIconifyIcon() {
super( 16, 16, UIManager.getColor( "InternalFrame.iconColor" ) );
}
@Override
protected void paintIcon( Component c, Graphics2D g ) {
g.fillRect( 3, 8, 10, 1 );
}
}

View File

@@ -0,0 +1,42 @@
/*
* Copyright 2019 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
*
* http://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.icons;
import java.awt.Component;
import java.awt.Graphics2D;
import javax.swing.UIManager;
import com.formdev.flatlaf.ui.FlatUIUtils;
/**
* "maximize" icon for {@link javax.swing.JInternalFrame}.
*
* @uiDefault InternalFrame.iconColor Color
*
* @author Karl Tauber
*/
public class FlatInternalFrameMaximizeIcon
extends FlatAbstractIcon
{
public FlatInternalFrameMaximizeIcon() {
super( 16, 16, UIManager.getColor( "InternalFrame.iconColor" ) );
}
@Override
protected void paintIcon( Component c, Graphics2D g ) {
g.fill( FlatUIUtils.createRectangle( 3, 3, 10, 10, 1 ) );
}
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright 2019 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
*
* http://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.icons;
import java.awt.Component;
import java.awt.Graphics2D;
import java.awt.geom.Area;
import java.awt.geom.Path2D;
import java.awt.geom.Rectangle2D;
import javax.swing.UIManager;
import com.formdev.flatlaf.ui.FlatUIUtils;
/**
* "minimize" (actually "restore") icon for {@link javax.swing.JInternalFrame}.
*
* @uiDefault InternalFrame.iconColor Color
*
* @author Karl Tauber
*/
public class FlatInternalFrameMinimizeIcon
extends FlatAbstractIcon
{
public FlatInternalFrameMinimizeIcon() {
super( 16, 16, UIManager.getColor( "InternalFrame.iconColor" ) );
}
@Override
protected void paintIcon( Component c, Graphics2D g ) {
Path2D r1 = FlatUIUtils.createRectangle( 5, 3, 8, 8, 1 );
Path2D r2 = FlatUIUtils.createRectangle( 3, 5, 8, 8, 1 );
Area area = new Area( r1 );
area.subtract( new Area( new Rectangle2D.Float( 3, 5, 8, 8 ) ) );
g.fill( area );
g.fill( r2 );
}
}

View File

@@ -38,12 +38,15 @@ public class FlatArrowButton
extends BasicArrowButton extends BasicArrowButton
implements UIResource implements UIResource
{ {
public static final int DEFAULT_ARROW_WIDTH = 8;
private final boolean chevron; private final boolean chevron;
private final Color foreground; private final Color foreground;
private final Color disabledForeground; private final Color disabledForeground;
private final Color hoverForeground; private final Color hoverForeground;
private final Color hoverBackground; private final Color hoverBackground;
private int arrowWidth = DEFAULT_ARROW_WIDTH;
private int xOffset = 0; private int xOffset = 0;
private int yOffset = 0; private int yOffset = 0;
@@ -80,6 +83,14 @@ public class FlatArrowButton
} }
} }
public int getArrowWidth() {
return arrowWidth;
}
public void setArrowWidth( int arrowWidth ) {
this.arrowWidth = arrowWidth;
}
protected boolean isHover() { protected boolean isHover() {
return hover; return hover;
} }
@@ -128,8 +139,8 @@ public class FlatArrowButton
int direction = getDirection(); int direction = getDirection();
boolean vert = (direction == NORTH || direction == SOUTH); boolean vert = (direction == NORTH || direction == SOUTH);
int w = scale( chevron ? 8 : 9 ); int w = scale( arrowWidth + (chevron ? 0 : 1) );
int h = scale( chevron ? 4 : 5 ); int h = scale( (arrowWidth / 2) + (chevron ? 0 : 1) );
int rw = vert ? w : h; int rw = vert ? w : h;
int rh = vert ? h : w; int rh = vert ? h : w;
int x = Math.round( (width - rw) / 2f + scale( (float) xOffset ) ); int x = Math.round( (width - rw) / 2f + scale( (float) xOffset ) );

View File

@@ -23,6 +23,7 @@ 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.KeyboardFocusManager;
import java.awt.Paint;
import javax.swing.JComboBox; import javax.swing.JComboBox;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
@@ -47,7 +48,7 @@ import javax.swing.text.JTextComponent;
* {@link FlatUIUtils#paintParentBackground} to paint the empty space correctly. * {@link FlatUIUtils#paintParentBackground} to paint the empty space correctly.
* *
* @uiDefault Component.focusWidth int * @uiDefault Component.focusWidth int
* @uiDefault Component.innerFocusWidth int * @uiDefault Component.innerFocusWidth int or float
* @uiDefault Component.focusColor Color * @uiDefault Component.focusColor Color
* @uiDefault Component.borderColor Color * @uiDefault Component.borderColor Color
* @uiDefault Component.disabledBorderColor Color * @uiDefault Component.disabledBorderColor Color
@@ -59,7 +60,7 @@ public class FlatBorder
extends BasicBorders.MarginBorder extends BasicBorders.MarginBorder
{ {
protected final int focusWidth = UIManager.getInt( "Component.focusWidth" ); protected final int focusWidth = UIManager.getInt( "Component.focusWidth" );
protected final int innerFocusWidth = UIManager.getInt( "Component.innerFocusWidth" ); protected final float innerFocusWidth = FlatUIUtils.getUIFloat( "Component.innerFocusWidth", 0 );
protected final Color focusColor = UIManager.getColor( "Component.focusColor" ); protected final Color focusColor = UIManager.getColor( "Component.focusColor" );
protected final Color borderColor = UIManager.getColor( "Component.borderColor" ); protected final Color borderColor = UIManager.getColor( "Component.borderColor" );
protected final Color disabledBorderColor = UIManager.getColor( "Component.disabledBorderColor" ); protected final Color disabledBorderColor = UIManager.getColor( "Component.disabledBorderColor" );
@@ -74,16 +75,16 @@ public class FlatBorder
boolean isCellEditor = isTableCellEditor( c ); boolean isCellEditor = isTableCellEditor( c );
float focusWidth = isCellEditor ? 0 : getFocusWidth(); float focusWidth = isCellEditor ? 0 : getFocusWidth();
float borderWidth = getBorderWidth( c ); float borderWidth = getBorderWidth( c );
float arc = isCellEditor ? 0 : getArc(); float arc = isCellEditor ? 0 : getArc( c );
if( isFocused( c ) ) { if( isFocused( c ) ) {
g2.setColor( getFocusColor( c ) ); g2.setColor( getFocusColor( c ) );
FlatUIUtils.paintOutlineBorder( g2, x, y, width, height, focusWidth, FlatUIUtils.paintComponentOuterBorder( g2, x, y, width, height, focusWidth,
getLineWidth() + scale( (float) innerFocusWidth ), arc ); getLineWidth() + scale( innerFocusWidth ), arc );
} }
g2.setColor( getBorderColor( c ) ); g2.setPaint( getBorderColor( c ) );
FlatUIUtils.drawRoundRectangle( g2, x, y, width, height, focusWidth, borderWidth, arc ); FlatUIUtils.paintComponentBorder( g2, x, y, width, height, focusWidth, borderWidth, arc );
} finally { } finally {
g2.dispose(); g2.dispose();
} }
@@ -93,13 +94,24 @@ public class FlatBorder
return focusColor; return focusColor;
} }
protected Color getBorderColor( Component c ) { protected Paint getBorderColor( Component c ) {
boolean enabled = c.isEnabled() && (!(c instanceof JTextComponent) || ((JTextComponent)c).isEditable()); return isEnabled( c )
return enabled
? (isFocused( c ) ? focusedBorderColor : borderColor) ? (isFocused( c ) ? focusedBorderColor : borderColor)
: disabledBorderColor; : disabledBorderColor;
} }
protected boolean isEnabled( Component c ) {
if( c instanceof JScrollPane ) {
// check whether view component is disabled
JViewport viewport = ((JScrollPane)c).getViewport();
Component view = (viewport != null) ? viewport.getView() : null;
if( view != null && !isEnabled( view ) )
return false;
}
return c.isEnabled() && (!(c instanceof JTextComponent) || ((JTextComponent)c).isEditable());
}
protected boolean isFocused( Component c ) { protected boolean isFocused( Component c ) {
if( c instanceof JScrollPane ) { if( c instanceof JScrollPane ) {
JViewport viewport = ((JScrollPane)c).getViewport(); JViewport viewport = ((JScrollPane)c).getViewport();
@@ -161,7 +173,7 @@ public class FlatBorder
return getLineWidth(); return getLineWidth();
} }
protected float getArc() { protected float getArc( Component c ) {
return 0; return 0;
} }
} }

View File

@@ -19,8 +19,10 @@ package com.formdev.flatlaf.ui;
import static com.formdev.flatlaf.util.UIScale.scale; import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Color; import java.awt.Color;
import java.awt.Component; import java.awt.Component;
import java.awt.GradientPaint;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Insets; import java.awt.Insets;
import java.awt.Paint;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.UIResource; import javax.swing.plaf.UIResource;
@@ -29,10 +31,14 @@ import javax.swing.plaf.UIResource;
* Border for {@link javax.swing.JButton}. * Border for {@link javax.swing.JButton}.
* *
* @uiDefault Button.borderColor Color * @uiDefault Button.borderColor Color
* @uiDefault Button.startBorderColor Color optional; if set, a gradient paint is used and Button.borderColor is ignored
* @uiDefault Button.endBorderColor Color optional; if set, a gradient paint is used
* @uiDefault Button.disabledBorderColor Color * @uiDefault Button.disabledBorderColor Color
* @uiDefault Button.focusedBorderColor Color * @uiDefault Button.focusedBorderColor Color
* @uiDefault Button.hoverBorderColor Color optional * @uiDefault Button.hoverBorderColor Color optional
* @uiDefault Button.default.borderColor Color * @uiDefault Button.default.borderColor Color
* @uiDefault Button.default.startBorderColor Color optional; if set, a gradient paint is used and Button.default.borderColor is ignored
* @uiDefault Button.default.endBorderColor Color optional; if set, a gradient paint is used
* @uiDefault Button.default.hoverBorderColor Color optional * @uiDefault Button.default.hoverBorderColor Color optional
* @uiDefault Button.default.focusedBorderColor Color * @uiDefault Button.default.focusedBorderColor Color
* @uiDefault Button.default.focusColor Color * @uiDefault Button.default.focusColor Color
@@ -44,11 +50,13 @@ import javax.swing.plaf.UIResource;
public class FlatButtonBorder public class FlatButtonBorder
extends FlatBorder extends FlatBorder
{ {
protected final Color borderColor = UIManager.getColor( "Button.borderColor" ); protected final Color borderColor = FlatUIUtils.getUIColor( "Button.startBorderColor", "Button.borderColor" );
protected final Color endBorderColor = UIManager.getColor( "Button.endBorderColor" );
protected final Color disabledBorderColor = UIManager.getColor( "Button.disabledBorderColor" ); protected final Color disabledBorderColor = UIManager.getColor( "Button.disabledBorderColor" );
protected final Color focusedBorderColor = UIManager.getColor( "Button.focusedBorderColor" ); protected final Color focusedBorderColor = UIManager.getColor( "Button.focusedBorderColor" );
protected final Color hoverBorderColor = UIManager.getColor( "Button.hoverBorderColor" ); protected final Color hoverBorderColor = UIManager.getColor( "Button.hoverBorderColor" );
protected final Color defaultBorderColor = UIManager.getColor( "Button.default.borderColor" ); protected final Color defaultBorderColor = FlatUIUtils.getUIColor( "Button.default.startBorderColor", "Button.default.borderColor" );
protected final Color defaultEndBorderColor = UIManager.getColor( "Button.default.endBorderColor" );
protected final Color defaultHoverBorderColor = UIManager.getColor( "Button.default.hoverBorderColor" ); protected final Color defaultHoverBorderColor = UIManager.getColor( "Button.default.hoverBorderColor" );
protected final Color defaultFocusedBorderColor = UIManager.getColor( "Button.default.focusedBorderColor" ); protected final Color defaultFocusedBorderColor = UIManager.getColor( "Button.default.focusedBorderColor" );
protected final Color defaultFocusColor = UIManager.getColor( "Button.default.focusColor" ); protected final Color defaultFocusColor = UIManager.getColor( "Button.default.focusColor" );
@@ -57,7 +65,7 @@ public class FlatButtonBorder
@Override @Override
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) { public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) {
if( FlatButtonUI.isContentAreaFilled( c ) && !FlatButtonUI.isHelpButton( c ) ) if( FlatButtonUI.isContentAreaFilled( c ) && !FlatButtonUI.isHelpButton( c ) && !FlatToggleButtonUI.isUnderlineButton( c ) )
super.paintBorder( c, g, x, y, width, height ); super.paintBorder( c, g, x, y, width, height );
} }
@@ -67,14 +75,22 @@ public class FlatButtonBorder
} }
@Override @Override
protected Color getBorderColor( Component c ) { protected Paint getBorderColor( Component c ) {
boolean def = FlatButtonUI.isDefaultButton( c ); boolean def = FlatButtonUI.isDefaultButton( c );
return FlatButtonUI.buttonStateColor( c, Paint color = FlatButtonUI.buttonStateColor( c,
def ? defaultBorderColor : borderColor, def ? defaultBorderColor : borderColor,
disabledBorderColor, disabledBorderColor,
def ? defaultFocusedBorderColor : focusedBorderColor, def ? defaultFocusedBorderColor : focusedBorderColor,
def ? defaultHoverBorderColor : hoverBorderColor, def ? defaultHoverBorderColor : hoverBorderColor,
null ); null );
// change to gradient paint if start/end colors are specified
Color startBg = def ? defaultBorderColor : borderColor;
Color endBg = def ? defaultEndBorderColor : endBorderColor;
if( color == startBg && endBg != null && !startBg.equals( endBg ) )
color = new GradientPaint( 0, 0, startBg, 0, c.getHeight(), endBg );
return color;
} }
@Override @Override
@@ -94,7 +110,7 @@ public class FlatButtonBorder
} }
@Override @Override
protected float getArc() { protected float getArc( Component c ) {
return scale( (float) arc ); return FlatButtonUI.isSquareButton( c ) ? 0 : scale( (float) arc );
} }
} }

View File

@@ -23,9 +23,11 @@ import java.awt.Component;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Font; import java.awt.Font;
import java.awt.FontMetrics; import java.awt.FontMetrics;
import java.awt.GradientPaint;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.geom.RoundRectangle2D;
import javax.swing.AbstractButton; import javax.swing.AbstractButton;
import javax.swing.ButtonModel; import javax.swing.ButtonModel;
import javax.swing.Icon; import javax.swing.Icon;
@@ -39,6 +41,7 @@ import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.UIResource; import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicButtonUI; import javax.swing.plaf.basic.BasicButtonUI;
import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.util.UIScale;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JButton}. * Provides the Flat LaF UI delegate for {@link javax.swing.JButton}.
@@ -58,16 +61,24 @@ import com.formdev.flatlaf.FlatLaf;
* @uiDefault Button.arc int * @uiDefault Button.arc int
* @uiDefault Button.minimumWidth int * @uiDefault Button.minimumWidth int
* @uiDefault Button.iconTextGap int * @uiDefault Button.iconTextGap int
* @uiDefault Button.startBackground Color optional; if set, a gradient paint is used and Button.background is ignored
* @uiDefault Button.endBackground Color optional; if set, a gradient paint is used
* @uiDefault Button.focusedBackground Color optional * @uiDefault Button.focusedBackground Color optional
* @uiDefault Button.hoverBackground Color optional * @uiDefault Button.hoverBackground Color optional
* @uiDefault Button.pressedBackground Color optional * @uiDefault Button.pressedBackground Color optional
* @uiDefault Button.disabledText Color * @uiDefault Button.disabledText Color
* @uiDefault Button.default.background Color * @uiDefault Button.default.background Color
* @uiDefault Button.default.startBackground Color optional; if set, a gradient paint is used and Button.default.background is ignored
* @uiDefault Button.default.endBackground Color optional; if set, a gradient paint is used
* @uiDefault Button.default.foreground Color * @uiDefault Button.default.foreground Color
* @uiDefault Button.default.focusedBackground Color optional * @uiDefault Button.default.focusedBackground Color optional
* @uiDefault Button.default.hoverBackground Color optional * @uiDefault Button.default.hoverBackground Color optional
* @uiDefault Button.default.pressedBackground Color optional * @uiDefault Button.default.pressedBackground Color optional
* @uiDefault Button.default.boldText boolean * @uiDefault Button.default.boldText boolean
* @uiDefault Button.paintShadow boolean default is false
* @uiDefault Button.shadowWidth int default is 2
* @uiDefault Button.shadowColor Color optional
* @uiDefault Button.default.shadowColor Color optional
* @uiDefault Button.toolbar.hoverBackground Color * @uiDefault Button.toolbar.hoverBackground Color
* @uiDefault Button.toolbar.pressedBackground Color * @uiDefault Button.toolbar.pressedBackground Color
* *
@@ -81,18 +92,25 @@ public class FlatButtonUI
protected int minimumWidth; protected int minimumWidth;
protected int iconTextGap; protected int iconTextGap;
protected Color startBackground;
protected Color endBackground;
protected Color focusedBackground; protected Color focusedBackground;
protected Color hoverBackground; protected Color hoverBackground;
protected Color pressedBackground; protected Color pressedBackground;
protected Color disabledText; protected Color disabledText;
protected Color defaultBackground; protected Color defaultBackground;
protected Color defaultEndBackground;
protected Color defaultForeground; protected Color defaultForeground;
protected Color defaultFocusedBackground; protected Color defaultFocusedBackground;
protected Color defaultHoverBackground; protected Color defaultHoverBackground;
protected Color defaultPressedBackground; protected Color defaultPressedBackground;
protected boolean defaultBoldText; protected boolean defaultBoldText;
protected int shadowWidth;
protected Color shadowColor;
protected Color defaultShadowColor;
protected Color toolbarHoverBackground; protected Color toolbarHoverBackground;
protected Color toolbarPressedBackground; protected Color toolbarPressedBackground;
@@ -116,16 +134,29 @@ public class FlatButtonUI
String prefix = getPropertyPrefix(); String prefix = getPropertyPrefix();
focusWidth = UIManager.getInt( "Component.focusWidth" ); focusWidth = UIManager.getInt( "Component.focusWidth" );
arc = UIManager.getInt( prefix + "arc" ); arc = UIManager.getInt( "Button.arc" );
minimumWidth = UIManager.getInt( prefix + "minimumWidth" ); minimumWidth = UIManager.getInt( prefix + "minimumWidth" );
iconTextGap = FlatUIUtils.getUIInt( prefix + "iconTextGap", 4 ); iconTextGap = FlatUIUtils.getUIInt( prefix + "iconTextGap", 4 );
startBackground = UIManager.getColor( prefix + "startBackground" );
endBackground = UIManager.getColor( prefix + "endBackground" );
focusedBackground = UIManager.getColor( prefix + "focusedBackground" ); focusedBackground = UIManager.getColor( prefix + "focusedBackground" );
hoverBackground = UIManager.getColor( prefix + "hoverBackground" ); hoverBackground = UIManager.getColor( prefix + "hoverBackground" );
pressedBackground = UIManager.getColor( prefix + "pressedBackground" ); pressedBackground = UIManager.getColor( prefix + "pressedBackground" );
disabledText = UIManager.getColor( prefix + "disabledText" ); disabledText = UIManager.getColor( prefix + "disabledText" );
defaultBackground = UIManager.getColor( "Button.default.background" ); if( UIManager.getBoolean( "Button.paintShadow" ) ) {
shadowWidth = FlatUIUtils.getUIInt( "Button.shadowWidth", 2 );
shadowColor = UIManager.getColor( "Button.shadowColor" );
defaultShadowColor = UIManager.getColor( "Button.default.shadowColor" );
} else {
shadowWidth = 0;
shadowColor = null;
defaultShadowColor = null;
}
defaultBackground = FlatUIUtils.getUIColor( "Button.default.startBackground", "Button.default.background" );
defaultEndBackground = UIManager.getColor( "Button.default.endBackground" );
defaultForeground = UIManager.getColor( "Button.default.foreground" ); defaultForeground = UIManager.getColor( "Button.default.foreground" );
defaultFocusedBackground = UIManager.getColor( "Button.default.focusedBackground" ); defaultFocusedBackground = UIManager.getColor( "Button.default.focusedBackground" );
defaultHoverBackground = UIManager.getColor( "Button.default.hoverBackground" ); defaultHoverBackground = UIManager.getColor( "Button.default.hoverBackground" );
@@ -140,6 +171,12 @@ public class FlatButtonUI
defaults_initialized = true; defaults_initialized = true;
} }
if( startBackground != null ) {
Color bg = b.getBackground();
if( bg == null || bg instanceof UIResource )
b.setBackground( startBackground );
}
LookAndFeel.installProperty( b, "opaque", false ); LookAndFeel.installProperty( b, "opaque", false );
LookAndFeel.installProperty( b, "iconTextGap", scale( iconTextGap ) ); LookAndFeel.installProperty( b, "iconTextGap", scale( iconTextGap ) );
@@ -172,6 +209,10 @@ public class FlatButtonUI
(icon == null && text != null && ("...".equals( text ) || text.length() == 1)); (icon == null && text != null && ("...".equals( text ) || text.length() == 1));
} }
static boolean isSquareButton( Component c ) {
return c instanceof AbstractButton && clientPropertyEquals( (AbstractButton) c, BUTTON_TYPE, BUTTON_TYPE_SQUARE );
}
static boolean isHelpButton( Component c ) { static boolean isHelpButton( Component c ) {
return c instanceof JButton && clientPropertyEquals( (JButton) c, BUTTON_TYPE, BUTTON_TYPE_HELP ); return c instanceof JButton && clientPropertyEquals( (JButton) c, BUTTON_TYPE, BUTTON_TYPE_HELP );
} }
@@ -191,28 +232,47 @@ public class FlatButtonUI
return; return;
} }
if( isContentAreaFilled( c ) ) { if( isContentAreaFilled( c ) )
Color background = getBackground( c ); paintBackground( g, c );
if( background != null ) {
Graphics2D g2 = (Graphics2D) g.create();
try {
FlatUIUtils.setRenderingHints( g2 );
Border border = c.getBorder();
float focusWidth = (border instanceof FlatBorder) ? scale( (float) this.focusWidth ) : 0;
float arc = (border instanceof FlatButtonBorder || isToolBarButton( c )) ? scale( (float) this.arc ) : 0;
FlatUIUtils.setColor( g2, background, isDefaultButton(c) ? defaultBackground : c.getBackground() );
FlatUIUtils.fillRoundRectangle( g2, 0, 0, c.getWidth(), c.getHeight(), focusWidth, arc );
} finally {
g2.dispose();
}
}
}
paint( g, c ); paint( g, c );
} }
protected void paintBackground( Graphics g, JComponent c ) {
Color background = getBackground( c );
if( background != null ) {
Graphics2D g2 = (Graphics2D) g.create();
try {
FlatUIUtils.setRenderingHints( g2 );
Border border = c.getBorder();
float focusWidth = (border instanceof FlatBorder) ? scale( (float) this.focusWidth ) : 0;
float arc = ((border instanceof FlatButtonBorder && !isSquareButton( c )) || isToolBarButton( c ))
? scale( (float) this.arc ) : 0;
boolean def = isDefaultButton( c );
// paint shadow
Color shadowColor = def ? defaultShadowColor : this.shadowColor;
if( shadowColor != null && shadowWidth > 0 && focusWidth > 0 && !c.hasFocus() && c.isEnabled() ) {
g2.setColor( shadowColor );
g2.fill( new RoundRectangle2D.Float( focusWidth, focusWidth + UIScale.scale( (float) shadowWidth ),
c.getWidth() - focusWidth * 2, c.getHeight() - focusWidth * 2, arc, arc ) );
}
// paint background
Color startBg = def ? defaultBackground : startBackground;
Color endBg = def ? defaultEndBackground : endBackground;
if( background == startBg && endBg != null && !startBg.equals( endBg ) )
g2.setPaint( new GradientPaint( 0, 0, startBg, 0, c.getHeight(), endBg ) );
else
FlatUIUtils.setColor( g2, background, def ? defaultBackground : c.getBackground() );
FlatUIUtils.paintComponentBackground( g2, 0, 0, c.getWidth(), c.getHeight(), focusWidth, arc );
} finally {
g2.dispose();
}
}
}
@Override @Override
protected void paintText( Graphics g, AbstractButton b, Rectangle textRect, String text ) { protected void paintText( Graphics g, AbstractButton b, Rectangle textRect, String text ) {
if( isHelpButton( b ) ) if( isHelpButton( b ) )
@@ -303,7 +363,7 @@ public class FlatButtonUI
if( isIconOnlyButton( c ) ) if( isIconOnlyButton( c ) )
prefSize.width = Math.max( prefSize.width, prefSize.height ); prefSize.width = Math.max( prefSize.width, prefSize.height );
else if( !isToolBarButton( c ) ) else if( !isToolBarButton( c ) )
prefSize.width = Math.max( prefSize.width, scale( minimumWidth + (focusWidth * 2) ) ); prefSize.width = Math.max( prefSize.width, scale( FlatUIUtils.minimumWidth( c, minimumWidth ) + (focusWidth * 2) ) );
return prefSize; return prefSize;
} }

View File

@@ -36,6 +36,7 @@ import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JComboBox; import javax.swing.JComboBox;
import javax.swing.JComponent; import javax.swing.JComponent;
@@ -52,6 +53,7 @@ import javax.swing.plaf.basic.BasicComboBoxUI;
import javax.swing.plaf.basic.BasicComboPopup; import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup; import javax.swing.plaf.basic.ComboPopup;
import javax.swing.text.JTextComponent; import javax.swing.text.JTextComponent;
import com.formdev.flatlaf.FlatClientProperties;
import com.formdev.flatlaf.util.UIScale; import com.formdev.flatlaf.util.UIScale;
/** /**
@@ -239,7 +241,8 @@ public class FlatComboBoxUI
} else if( editor != null && source == comboBox && propertyName == "componentOrientation" ) { } else if( editor != null && source == comboBox && propertyName == "componentOrientation" ) {
ComponentOrientation o = (ComponentOrientation) e.getNewValue(); ComponentOrientation o = (ComponentOrientation) e.getNewValue();
editor.applyComponentOrientation( o ); editor.applyComponentOrientation( o );
} } else if( editor != null && FlatClientProperties.PLACEHOLDER_TEXT.equals( propertyName ) )
editor.repaint();
} }
}; };
} }
@@ -316,7 +319,7 @@ public class FlatComboBoxUI
g2.setColor( enabled g2.setColor( enabled
? (editableBackground != null && comboBox.isEditable() ? editableBackground : c.getBackground()) ? (editableBackground != null && comboBox.isEditable() ? editableBackground : c.getBackground())
: getDisabledBackground( comboBox ) ); : getDisabledBackground( comboBox ) );
FlatUIUtils.fillRoundRectangle( g2, 0, 0, width, height, focusWidth, arc ); FlatUIUtils.paintComponentBackground( g2, 0, 0, width, height, focusWidth, arc );
// paint arrow button background // paint arrow button background
if( enabled ) { if( enabled ) {
@@ -326,7 +329,7 @@ public class FlatComboBoxUI
g2.clipRect( arrowX, 0, width - arrowX, height ); g2.clipRect( arrowX, 0, width - arrowX, height );
else else
g2.clipRect( 0, 0, arrowX + arrowWidth, height ); g2.clipRect( 0, 0, arrowX + arrowWidth, height );
FlatUIUtils.fillRoundRectangle( g2, 0, 0, width, height, focusWidth, arc ); FlatUIUtils.paintComponentBackground( g2, 0, 0, width, height, focusWidth, arc );
g2.setClip( oldClip ); g2.setClip( oldClip );
} }
@@ -335,7 +338,7 @@ public class FlatComboBoxUI
g2.setColor( enabled ? borderColor : disabledBorderColor ); g2.setColor( enabled ? borderColor : disabledBorderColor );
float lw = scale( 1f ); float lw = scale( 1f );
float lx = isLeftToRight ? arrowX : arrowX + arrowWidth - lw; float lx = isLeftToRight ? arrowX : arrowX + arrowWidth - lw;
g2.fill( new Rectangle2D.Float( lx, focusWidth, lw, height - (focusWidth * 2) ) ); g2.fill( new Rectangle2D.Float( lx, focusWidth, lw, height - 1 - (focusWidth * 2)) );
} }
paint( g, c ); paint( g, c );
@@ -346,6 +349,8 @@ public class FlatComboBoxUI
public void paintCurrentValue( Graphics g, Rectangle bounds, boolean hasFocus ) { public void paintCurrentValue( Graphics g, Rectangle bounds, boolean hasFocus ) {
ListCellRenderer<Object> renderer = comboBox.getRenderer(); ListCellRenderer<Object> renderer = comboBox.getRenderer();
uninstallCellPaddingBorder( renderer ); uninstallCellPaddingBorder( renderer );
if( renderer == null )
renderer = new DefaultListCellRenderer();
Component c = renderer.getListCellRendererComponent( listBox, comboBox.getSelectedItem(), -1, false, false ); Component c = renderer.getListCellRendererComponent( listBox, comboBox.getSelectedItem(), -1, false, false );
c.setFont( comboBox.getFont() ); c.setFont( comboBox.getFont() );
c.applyComponentOrientation( comboBox.getComponentOrientation() ); c.applyComponentOrientation( comboBox.getComponentOrientation() );
@@ -518,6 +523,8 @@ public class FlatComboBoxUI
CellPaddingBorder.uninstall( renderer ); CellPaddingBorder.uninstall( renderer );
CellPaddingBorder.uninstall( lastRendererComponent ); CellPaddingBorder.uninstall( lastRendererComponent );
if( renderer == null )
renderer = new DefaultListCellRenderer();
Component c = renderer.getListCellRendererComponent( list, value, index, isSelected, cellHasFocus ); Component c = renderer.getListCellRendererComponent( list, value, index, isSelected, cellHasFocus );
c.applyComponentOrientation( comboBox.getComponentOrientation() ); c.applyComponentOrientation( comboBox.getComponentOrientation() );

View File

@@ -98,6 +98,7 @@ public class FlatEditorPaneUI
// and subtract 1px border line width. // and subtract 1px border line width.
// Using "(scale( 1 ) * 2)" instead of "scale( 2 )" to deal with rounding // Using "(scale( 1 ) * 2)" instead of "scale( 2 )" to deal with rounding
// issues. E.g. at scale factor 1.5 the first returns 4, but the second 3. // issues. E.g. at scale factor 1.5 the first returns 4, but the second 3.
int minimumWidth = FlatUIUtils.minimumWidth( getComponent(), this.minimumWidth );
size.width = Math.max( size.width, scale( minimumWidth ) - (scale( 1 ) * 2) ); size.width = Math.max( size.width, scale( minimumWidth ) - (scale( 1 ) * 2) );
return size; return size;
} }

View File

@@ -26,7 +26,76 @@ import com.formdev.flatlaf.util.UIScale;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JFileChooser}. * Provides the Flat LaF UI delegate for {@link javax.swing.JFileChooser}.
* *
* TODO document used UI defaults of superclass * <!-- BasicFileChooserUI -->
*
* @uiDefault FileView.directoryIcon Icon
* @uiDefault FileView.fileIcon Icon
* @uiDefault FileView.computerIcon Icon
* @uiDefault FileView.hardDriveIcon Icon
* @uiDefault FileView.floppyDriveIcon Icon
*
* @uiDefault FileChooser.newFolderIcon Icon
* @uiDefault FileChooser.upFolderIcon Icon
* @uiDefault FileChooser.homeFolderIcon Icon
* @uiDefault FileChooser.detailsViewIcon Icon
* @uiDefault FileChooser.listViewIcon Icon
* @uiDefault FileChooser.viewMenuIcon Icon
*
* @uiDefault FileChooser.usesSingleFilePane boolean
* @uiDefault FileChooser.readOnly boolean if true, "New Folder" is disabled
*
* @uiDefault FileChooser.newFolderErrorText String
* @uiDefault FileChooser.newFolderErrorSeparator String
* @uiDefault FileChooser.newFolderParentDoesntExistTitleText String
* @uiDefault FileChooser.newFolderParentDoesntExistText String
* @uiDefault FileChooser.fileDescriptionText String
* @uiDefault FileChooser.directoryDescriptionText String
* @uiDefault FileChooser.saveButtonText String
* @uiDefault FileChooser.openButtonText String
* @uiDefault FileChooser.saveDialogTitleText String
* @uiDefault FileChooser.openDialogTitleText String
* @uiDefault FileChooser.cancelButtonText String
* @uiDefault FileChooser.updateButtonText String
* @uiDefault FileChooser.helpButtonText String
* @uiDefault FileChooser.directoryOpenButtonText String
*
* @uiDefault FileChooser.saveButtonMnemonic String
* @uiDefault FileChooser.openButtonMnemonic String
* @uiDefault FileChooser.cancelButtonMnemonic String
* @uiDefault FileChooser.updateButtonMnemonic String
* @uiDefault FileChooser.helpButtonMnemonic String
* @uiDefault FileChooser.directoryOpenButtonMnemonic String
*
* @uiDefault FileChooser.saveButtonToolTipText String
* @uiDefault FileChooser.openButtonToolTipText String
* @uiDefault FileChooser.cancelButtonToolTipText String
* @uiDefault FileChooser.updateButtonToolTipText String
* @uiDefault FileChooser.helpButtonToolTipText String
* @uiDefault FileChooser.directoryOpenButtonToolTipText String
*
* @uiDefault FileChooser.acceptAllFileFilterText String
*
* <!-- MetalFileChooserUI -->
*
* @uiDefault FileChooser.lookInLabelMnemonic String
* @uiDefault FileChooser.lookInLabelText String
* @uiDefault FileChooser.saveInLabelText String
* @uiDefault FileChooser.fileNameLabelMnemonic String
* @uiDefault FileChooser.fileNameLabelText String
* @uiDefault FileChooser.folderNameLabelMnemonic String
* @uiDefault FileChooser.folderNameLabelText String
* @uiDefault FileChooser.filesOfTypeLabelMnemonic String
* @uiDefault FileChooser.filesOfTypeLabelText String
* @uiDefault FileChooser.upFolderToolTipText String
* @uiDefault FileChooser.upFolderAccessibleName String
* @uiDefault FileChooser.homeFolderToolTipText String
* @uiDefault FileChooser.homeFolderAccessibleName String
* @uiDefault FileChooser.newFolderToolTipText String
* @uiDefault FileChooser.newFolderAccessibleName String
* @uiDefault FileChooser.listViewButtonToolTipText String
* @uiDefault FileChooser.listViewButtonAccessibleName String
* @uiDefault FileChooser.detailsViewButtonToolTipText String
* @uiDefault FileChooser.detailsViewButtonAccessibleName String
* *
* @author Karl Tauber * @author Karl Tauber
*/ */

View File

@@ -39,8 +39,10 @@ import javax.swing.plaf.ComponentUI;
* *
* <!-- FlatTextFieldUI --> * <!-- FlatTextFieldUI -->
* *
* @uiDefault Component.focusWidth int * @uiDefault Component.focusWidth int
* @uiDefault Component.minimumWidth int * @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean
* @uiDefault FormattedTextField.placeholderForeground Color
* *
* @author Karl Tauber * @author Karl Tauber
*/ */

View File

@@ -20,12 +20,14 @@ import java.awt.Color;
import java.awt.FontMetrics; import java.awt.FontMetrics;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.beans.PropertyChangeEvent;
import javax.swing.Icon; import javax.swing.Icon;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicHTML;
import javax.swing.plaf.basic.BasicLabelUI; import javax.swing.plaf.basic.BasicLabelUI;
import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.util.UIScale; import com.formdev.flatlaf.util.UIScale;
@@ -77,6 +79,51 @@ public class FlatLabelUI
defaults_initialized = false; defaults_initialized = false;
} }
@Override
protected void installComponents( JLabel c ) {
super.installComponents( c );
// update HTML renderer if necessary
updateHTMLRenderer( c, c.getText(), false );
}
@Override
public void propertyChange( PropertyChangeEvent e ) {
String name = e.getPropertyName();
if( name == "text" || name == "font" || name == "foreground" ) {
JLabel label = (JLabel) e.getSource();
updateHTMLRenderer( label, label.getText(), true );
} else
super.propertyChange( e );
}
/**
* Checks whether text contains HTML headings and adds a special CSS rule to
* re-calculate heading font sizes based on current component font size.
*/
static void updateHTMLRenderer( JComponent c, String text, boolean always ) {
if( BasicHTML.isHTMLString( text ) &&
c.getClientProperty( "html.disable" ) != Boolean.TRUE &&
text.contains( "<h" ) &&
(text.contains( "<h1" ) || text.contains( "<h2" ) || text.contains( "<h3" ) ||
text.contains( "<h4" ) || text.contains( "<h5" ) || text.contains( "<h6" )) )
{
int headIndex = text.indexOf( "<head>" );
String style = "<style>BASE_SIZE " + c.getFont().getSize() + "</style>";
if( headIndex < 0 )
style = "<head>" + style + "</head>";
int insertIndex = headIndex >= 0 ? (headIndex + "<head>".length()) : "<html>".length();
text = text.substring( 0, insertIndex )
+ style
+ text.substring( insertIndex );
} else if( !always )
return; // not necessary to invoke BasicHTML.updateRenderer()
BasicHTML.updateRenderer( c, text );
}
@Override @Override
protected void paintEnabledText( JLabel l, Graphics g, String s, int textX, int textY ) { protected void paintEnabledText( JLabel l, Graphics g, String s, int textX, int textY ) {
int mnemIndex = FlatLaf.isShowMnemonics() ? l.getDisplayedMnemonicIndex() : -1; int mnemIndex = FlatLaf.isShowMnemonics() ? l.getDisplayedMnemonicIndex() : -1;

View File

@@ -48,7 +48,7 @@ public class FlatLineBorder
try { try {
FlatUIUtils.setRenderingHints( g2 ); FlatUIUtils.setRenderingHints( g2 );
g2.setColor( lineColor ); g2.setColor( lineColor );
FlatUIUtils.drawRoundRectangle( g2, x, y, width, height, 0f, scale( 1f ), 0f ); FlatUIUtils.paintComponentBorder( g2, x, y, width, height, 0f, scale( 1f ), 0f );
} finally { } finally {
g2.dispose(); g2.dispose();
} }

View File

@@ -0,0 +1,88 @@
/*
* Copyright 2019 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
*
* http://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.ui;
import java.awt.Component;
import java.awt.Graphics;
import javax.swing.JList;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
/**
* Cell border for {@link javax.swing.DefaultListCellRenderer}
* (used by {@link javax.swing.JList}).
* <p>
* Uses separate cell margins from UI defaults to allow easy customizing.
*
* @author Karl Tauber
*/
public class FlatListCellBorder
extends FlatLineBorder
{
final boolean showCellFocusIndicator = UIManager.getBoolean( "List.showCellFocusIndicator" );
protected FlatListCellBorder() {
super( UIManager.getInsets( "List.cellMargins" ), UIManager.getColor( "List.cellFocusColor" ) );
}
//---- class Default ------------------------------------------------------
/**
* Border for unselected cell that uses margins, but does not paint focus indicator border.
*/
public static class Default
extends FlatListCellBorder
{
@Override
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) {
// do not paint focus indicator border
}
}
//---- class Focused ------------------------------------------------------
/**
* Border for focused unselected cell that uses margins and paints focus indicator border.
*/
public static class Focused
extends FlatListCellBorder
{
}
//---- class Selected -----------------------------------------------------
/**
* Border for selected cell that uses margins and paints focus indicator border
* if enabled (List.showCellFocusIndicator=true) and exactly one item is selected.
*/
public static class Selected
extends FlatListCellBorder
{
@Override
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) {
if( !showCellFocusIndicator )
return;
// paint focus indicator border only if exactly one item is selected
JList<?> list = (JList<?>) SwingUtilities.getAncestorOfClass( JList.class, c );
if( list != null && list.getMinSelectionIndex() == list.getMaxSelectionIndex() )
return;
super.paintBorder( c, g, x, y, width, height );
}
}
}

View File

@@ -52,6 +52,12 @@ import javax.swing.plaf.basic.BasicListUI;
* @uiDefault List.selectionInactiveBackground Color * @uiDefault List.selectionInactiveBackground Color
* @uiDefault List.selectionInactiveForeground Color * @uiDefault List.selectionInactiveForeground Color
* *
* <!-- FlatListCellBorder -->
*
* @uiDefault List.cellMargins Insets
* @uiDefault List.cellFocusColor Color
* @uiDefault List.showCellFocusIndicator boolean
*
* @author Karl Tauber * @author Karl Tauber
*/ */
public class FlatListUI public class FlatListUI

View File

@@ -35,20 +35,19 @@ import com.formdev.flatlaf.util.UIScale;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JOptionPane}. * Provides the Flat LaF UI delegate for {@link javax.swing.JOptionPane}.
* *
* <!-- BasicOptionPaneUI -->
*
* @uiDefault OptionPane.font Font unused * @uiDefault OptionPane.font Font unused
* @uiDefault OptionPane.background Color * @uiDefault OptionPane.background Color
* @uiDefault OptionPane.foreground Color unused * @uiDefault OptionPane.foreground Color unused
* @uiDefault OptionPane.border Border * @uiDefault OptionPane.border Border
* @uiDefault OptionPane.messageAreaBorder Border * @uiDefault OptionPane.messageAreaBorder Border
* @uiDefault OptionPane.buttonAreaBorder Border * @uiDefault OptionPane.buttonAreaBorder Border
* @uiDefault OptionPane.messageForeground Color * @uiDefault OptionPane.messageForeground Color optional; defaults to Label.foreground
* @uiDefault OptionPane.messageFont Font * @uiDefault OptionPane.messageFont Font optional; defaults to Label.font
* @uiDefault OptionPane.buttonFont Font * @uiDefault OptionPane.buttonFont Font optional; defaults to Button.font
* *
* @uiDefault OptionPane.minimumSize Dimension * @uiDefault OptionPane.minimumSize Dimension
* @uiDefault OptionPane.maxCharactersPerLine int
* @uiDefault OptionPane.iconMessageGap int
* @uiDefault OptionPane.messagePadding int
* @uiDefault OptionPane.buttonPadding int * @uiDefault OptionPane.buttonPadding int
* @uiDefault OptionPane.buttonMinimumWidth int -1=disabled * @uiDefault OptionPane.buttonMinimumWidth int -1=disabled
* @uiDefault OptionPane.sameSizeButtons boolean if true, gives all buttons same size * @uiDefault OptionPane.sameSizeButtons boolean if true, gives all buttons same size
@@ -61,6 +60,25 @@ import com.formdev.flatlaf.util.UIScale;
* @uiDefault OptionPane.questionIcon Icon * @uiDefault OptionPane.questionIcon Icon
* @uiDefault OptionPane.warningIcon Icon * @uiDefault OptionPane.warningIcon Icon
* *
* @uiDefault OptionPane.okButtonText String
* @uiDefault OptionPane.okButtonMnemonic String
* @uiDefault OptionPane.okIcon Icon
* @uiDefault OptionPane.cancelButtonText String
* @uiDefault OptionPane.cancelButtonMnemonic String
* @uiDefault OptionPane.cancelIcon Icon
* @uiDefault OptionPane.yesButtonText String
* @uiDefault OptionPane.yesButtonMnemonic String
* @uiDefault OptionPane.yesIcon Icon
* @uiDefault OptionPane.noButtonText String
* @uiDefault OptionPane.noButtonMnemonic String
* @uiDefault OptionPane.noIcon Icon
*
* <!-- FlatOptionPaneUI -->
*
* @uiDefault OptionPane.iconMessageGap int
* @uiDefault OptionPane.messagePadding int
* @uiDefault OptionPane.maxCharactersPerLine int
*
* @author Karl Tauber * @author Karl Tauber
*/ */
public class FlatOptionPaneUI public class FlatOptionPaneUI

View File

@@ -17,14 +17,17 @@
package com.formdev.flatlaf.ui; package com.formdev.flatlaf.ui;
import static com.formdev.flatlaf.util.UIScale.scale; import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.event.FocusListener; import java.awt.event.FocusListener;
import java.beans.PropertyChangeEvent;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicPasswordFieldUI; import javax.swing.plaf.basic.BasicPasswordFieldUI;
import com.formdev.flatlaf.FlatClientProperties;
import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.SystemInfo;
/** /**
@@ -51,6 +54,7 @@ import com.formdev.flatlaf.util.SystemInfo;
* @uiDefault Component.focusWidth int * @uiDefault Component.focusWidth int
* @uiDefault Component.minimumWidth int * @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean * @uiDefault Component.isIntelliJTheme boolean
* @uiDefault PasswordField.placeholderForeground Color
* *
* @author Karl Tauber * @author Karl Tauber
*/ */
@@ -60,6 +64,7 @@ public class FlatPasswordFieldUI
protected int focusWidth; protected int focusWidth;
protected int minimumWidth; protected int minimumWidth;
protected boolean isIntelliJTheme; protected boolean isIntelliJTheme;
protected Color placeholderForeground;
private FocusListener focusListener; private FocusListener focusListener;
@@ -75,9 +80,11 @@ public class FlatPasswordFieldUI
if( SystemInfo.IS_MAC ) if( SystemInfo.IS_MAC )
LookAndFeel.installProperty( getComponent(), "echoChar", '\u2022' ); LookAndFeel.installProperty( getComponent(), "echoChar", '\u2022' );
String prefix = getPropertyPrefix();
focusWidth = UIManager.getInt( "Component.focusWidth" ); focusWidth = UIManager.getInt( "Component.focusWidth" );
minimumWidth = UIManager.getInt( "Component.minimumWidth" ); minimumWidth = UIManager.getInt( "Component.minimumWidth" );
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" ); isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
placeholderForeground = UIManager.getColor( prefix + ".placeholderForeground" );
LookAndFeel.installProperty( getComponent(), "opaque", focusWidth == 0 ); LookAndFeel.installProperty( getComponent(), "opaque", focusWidth == 0 );
@@ -88,6 +95,8 @@ public class FlatPasswordFieldUI
protected void uninstallDefaults() { protected void uninstallDefaults() {
super.uninstallDefaults(); super.uninstallDefaults();
placeholderForeground = null;
MigLayoutVisualPadding.uninstall( getComponent() ); MigLayoutVisualPadding.uninstall( getComponent() );
} }
@@ -107,9 +116,18 @@ public class FlatPasswordFieldUI
focusListener = null; focusListener = null;
} }
@Override
protected void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );
if( FlatClientProperties.PLACEHOLDER_TEXT.equals( e.getPropertyName() ) )
getComponent().repaint();
}
@Override @Override
protected void paintSafely( Graphics g ) { protected void paintSafely( Graphics g ) {
FlatTextFieldUI.paintBackground( g, getComponent(), focusWidth, isIntelliJTheme ); FlatTextFieldUI.paintBackground( g, getComponent(), focusWidth, isIntelliJTheme );
FlatTextFieldUI.paintPlaceholder( g, getComponent(), placeholderForeground );
super.paintSafely( g ); super.paintSafely( g );
} }
@@ -129,6 +147,7 @@ public class FlatPasswordFieldUI
} }
private Dimension applyMinimumWidth( Dimension size, JComponent c ) { private Dimension applyMinimumWidth( Dimension size, JComponent c ) {
int minimumWidth = FlatUIUtils.minimumWidth( getComponent(), this.minimumWidth );
int focusWidth = (c.getBorder() instanceof FlatBorder) ? this.focusWidth : 0; int focusWidth = (c.getBorder() instanceof FlatBorder) ? this.focusWidth : 0;
size.width = Math.max( size.width, scale( minimumWidth + (focusWidth * 2) ) ); size.width = Math.max( size.width, scale( minimumWidth + (focusWidth * 2) ) );
return size; return size;

View File

@@ -17,13 +17,16 @@
package com.formdev.flatlaf.ui; package com.formdev.flatlaf.ui;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.FontMetrics;
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.geom.Area;
import java.awt.geom.RoundRectangle2D; import java.awt.geom.RoundRectangle2D;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JProgressBar; import javax.swing.JProgressBar;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicProgressBarUI; import javax.swing.plaf.basic.BasicProgressBarUI;
import com.formdev.flatlaf.util.UIScale; import com.formdev.flatlaf.util.UIScale;
@@ -44,11 +47,19 @@ import com.formdev.flatlaf.util.UIScale;
* @uiDefault ProgressBar.repaintInterval int default is 50 milliseconds * @uiDefault ProgressBar.repaintInterval int default is 50 milliseconds
* @uiDefault ProgressBar.cycleTime int default is 3000 milliseconds * @uiDefault ProgressBar.cycleTime int default is 3000 milliseconds
* *
* <!-- FlatProgressBarUI -->
*
* @uiDefault ProgressBar.arc int
*
* @author Karl Tauber * @author Karl Tauber
*/ */
public class FlatProgressBarUI public class FlatProgressBarUI
extends BasicProgressBarUI extends BasicProgressBarUI
{ {
protected int arc;
protected Dimension horizontalSize;
protected Dimension verticalSize;
public static ComponentUI createUI( JComponent c ) { public static ComponentUI createUI( JComponent c ) {
return new FlatProgressBarUI(); return new FlatProgressBarUI();
} }
@@ -58,16 +69,37 @@ public class FlatProgressBarUI
super.installDefaults(); super.installDefaults();
LookAndFeel.installProperty( progressBar, "opaque", false ); LookAndFeel.installProperty( progressBar, "opaque", false );
arc = UIManager.getInt( "ProgressBar.arc" );
horizontalSize = UIManager.getDimension( "ProgressBar.horizontalSize" );
verticalSize = UIManager.getDimension( "ProgressBar.verticalSize" );
}
@Override
public Dimension getPreferredSize( JComponent c ) {
Dimension size = super.getPreferredSize( c );
if( progressBar.isStringPainted() ) {
// recalculate progress height/width to make it smaller
Insets insets = progressBar.getInsets();
FontMetrics fm = progressBar.getFontMetrics( progressBar.getFont() );
if( progressBar.getOrientation() == JProgressBar.HORIZONTAL )
size.height = Math.max( fm.getHeight() + insets.top + insets.bottom, getPreferredInnerHorizontal().height );
else
size.width = Math.max( fm.getHeight() + insets.left + insets.right, getPreferredInnerVertical().width );
}
return size;
} }
@Override @Override
protected Dimension getPreferredInnerHorizontal() { protected Dimension getPreferredInnerHorizontal() {
return UIScale.scale( super.getPreferredInnerHorizontal() ); return UIScale.scale( horizontalSize );
} }
@Override @Override
protected Dimension getPreferredInnerVertical() { protected Dimension getPreferredInnerVertical() {
return UIScale.scale( super.getPreferredInnerVertical() ); return UIScale.scale( verticalSize );
} }
@Override @Override
@@ -90,13 +122,14 @@ public class FlatProgressBarUI
return; return;
boolean horizontal = (progressBar.getOrientation() == JProgressBar.HORIZONTAL); boolean horizontal = (progressBar.getOrientation() == JProgressBar.HORIZONTAL);
int arc = horizontal ? height : width; int arc = Math.min( UIScale.scale( this.arc ), horizontal ? height : width );
FlatUIUtils.setRenderingHints( (Graphics2D) g ); FlatUIUtils.setRenderingHints( (Graphics2D) g );
// paint track // paint track
RoundRectangle2D.Float trackShape = new RoundRectangle2D.Float( x, y, width, height, arc, arc );
g.setColor( progressBar.getBackground() ); g.setColor( progressBar.getBackground() );
((Graphics2D)g).fill( new RoundRectangle2D.Float( x, y, width, height, arc, arc ) ); ((Graphics2D)g).fill( trackShape );
// paint progress // paint progress
if( progressBar.isIndeterminate() ) { if( progressBar.isIndeterminate() ) {
@@ -112,11 +145,19 @@ public class FlatProgressBarUI
} else { } else {
int amountFull = getAmountFull( insets, width, height ); int amountFull = getAmountFull( insets, width, height );
g.setColor( progressBar.getForeground() ); RoundRectangle2D.Float progressShape = horizontal
((Graphics2D)g).fill( horizontal
? new RoundRectangle2D.Float( c.getComponentOrientation().isLeftToRight() ? x : x + (width - amountFull), ? new RoundRectangle2D.Float( c.getComponentOrientation().isLeftToRight() ? x : x + (width - amountFull),
y, amountFull, height, arc, arc ) y, amountFull, height, arc, arc )
: new RoundRectangle2D.Float( x, y + (height - amountFull), width, amountFull, arc, arc ) ); : new RoundRectangle2D.Float( x, y + (height - amountFull), width, amountFull, arc, arc );
g.setColor( progressBar.getForeground() );
if( amountFull < (horizontal ? height : width) ) {
// special painting for low amounts to avoid painting outside of track
Area area = new Area( trackShape );
area.intersect( new Area( progressShape ) );
((Graphics2D)g).fill( area );
} else
((Graphics2D)g).fill( progressShape );
if( progressBar.isStringPainted() ) if( progressBar.isStringPainted() )
paintString( g, x, y, width, height, amountFull, insets ); paintString( g, x, y, width, height, amountFull, insets );

View File

@@ -18,7 +18,9 @@ package com.formdev.flatlaf.ui;
import static com.formdev.flatlaf.util.UIScale.scale; import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Insets;
import java.awt.Rectangle; import java.awt.Rectangle;
import javax.swing.AbstractButton; import javax.swing.AbstractButton;
import javax.swing.CellRendererPane; import javax.swing.CellRendererPane;
@@ -28,6 +30,8 @@ import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.UIResource; import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicRadioButtonUI; import javax.swing.plaf.basic.BasicRadioButtonUI;
import com.formdev.flatlaf.icons.FlatCheckBoxIcon;
import com.formdev.flatlaf.util.UIScale;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JRadioButton}. * Provides the Flat LaF UI delegate for {@link javax.swing.JRadioButton}.
@@ -92,6 +96,26 @@ public class FlatRadioButtonUI
defaults_initialized = false; defaults_initialized = false;
} }
private static Insets tempInsets = new Insets( 0, 0, 0, 0 );
@Override
public Dimension getPreferredSize( JComponent c ) {
Dimension size = super.getPreferredSize( c );
// small insets fix
int focusWidth = getIconFocusWidth( c );
if( focusWidth > 0 ) {
// Increase preferred width and height if insets were explicitly reduced (e.g. with
// an EmptyBorder) and icon has a focus width, which is not included in icon size.
// Otherwise the component may be too small and outer focus border may be cut off.
Insets insets = c.getInsets( tempInsets );
size.width += Math.max( focusWidth - insets.left, 0 ) + Math.max( focusWidth - insets.right, 0 );
size.height += Math.max( focusWidth - insets.top, 0 ) + Math.max( focusWidth - insets.bottom, 0 );
}
return size;
}
@Override @Override
public void paint( Graphics g, JComponent c ) { public void paint( Graphics g, JComponent c ) {
// fill background even if opaque if // fill background even if opaque if
@@ -104,6 +128,29 @@ public class FlatRadioButtonUI
g.fillRect( 0, 0, c.getWidth(), c.getHeight() ); g.fillRect( 0, 0, c.getWidth(), c.getHeight() );
} }
// small insets fix
int focusWidth = getIconFocusWidth( c );
if( focusWidth > 0 ) {
boolean ltr = c.getComponentOrientation().isLeftToRight();
Insets insets = c.getInsets( tempInsets );
int leftOrRightInset = ltr ? insets.left : insets.right;
if( focusWidth > leftOrRightInset ) {
// The left (or right) inset is smaller than the focus width, which may be
// the case if insets were explicitly reduced (e.g. with an EmptyBorder).
// In this case the width has been increased in getPreferredSize() and
// here it is necessary to fix icon and text painting location.
int offset = focusWidth - leftOrRightInset;
if( !ltr )
offset = -offset;
// move the graphics origin to the left (or right)
g.translate( offset, 0 );
super.paint( g, c );
g.translate( -offset, 0 );
return;
}
}
super.paint( g, c ); super.paint( g, c );
} }
@@ -111,4 +158,11 @@ public class FlatRadioButtonUI
protected void paintText( Graphics g, AbstractButton b, Rectangle textRect, String text ) { protected void paintText( Graphics g, AbstractButton b, Rectangle textRect, String text ) {
FlatButtonUI.paintText( g, b, textRect, text, b.isEnabled() ? b.getForeground() : disabledText ); FlatButtonUI.paintText( g, b, textRect, text, b.isEnabled() ? b.getForeground() : disabledText );
} }
private int getIconFocusWidth( JComponent c ) {
AbstractButton b = (AbstractButton) c;
return (b.getIcon() == null && getDefaultIcon() instanceof FlatCheckBoxIcon)
? UIScale.scale( ((FlatCheckBoxIcon)getDefaultIcon()).focusWidth )
: 0;
}
} }

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.ui; package com.formdev.flatlaf.ui;
import static com.formdev.flatlaf.util.UIScale.scale; import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Component;
import javax.swing.UIManager; import javax.swing.UIManager;
/** /**
@@ -32,7 +33,7 @@ public class FlatRoundBorder
protected final int arc = UIManager.getInt( "Component.arc" ); protected final int arc = UIManager.getInt( "Component.arc" );
@Override @Override
protected float getArc() { protected float getArc( Component c ) {
return scale( (float) arc ); return scale( (float) arc );
} }
} }

View File

@@ -22,11 +22,16 @@ import java.awt.Graphics;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Objects;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JScrollPane;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.basic.BasicScrollBarUI;
import com.formdev.flatlaf.FlatClientProperties;
import com.formdev.flatlaf.util.UIScale; import com.formdev.flatlaf.util.UIScale;
/** /**
@@ -38,13 +43,20 @@ import com.formdev.flatlaf.util.UIScale;
* @uiDefault ScrollBar.foreground Color * @uiDefault ScrollBar.foreground Color
* @uiDefault ScrollBar.track Color * @uiDefault ScrollBar.track Color
* @uiDefault ScrollBar.thumb Color * @uiDefault ScrollBar.thumb Color
* @uiDefault ScrollBar.hoverTrackColor Color
* @uiDefault ScrollBar.hoverThumbColor Color
* @uiDefault ScrollBar.width int * @uiDefault ScrollBar.width int
* @uiDefault ScrollBar.minimumThumbSize Dimension * @uiDefault ScrollBar.minimumThumbSize Dimension
* @uiDefault ScrollBar.maximumThumbSize Dimension * @uiDefault ScrollBar.maximumThumbSize Dimension
* @uiDefault ScrollBar.allowsAbsolutePositioning boolean * @uiDefault ScrollBar.allowsAbsolutePositioning boolean
* *
* <!-- FlatScrollBarUI -->
*
* @uiDefault ScrollBar.hoverTrackColor Color
* @uiDefault ScrollBar.hoverThumbColor Color
* @uiDefault Component.arrowType String triangle (default) or chevron
* @uiDefault ScrollBar.showButtons boolean
* @uiDefault ScrollBar.buttonArrowColor Color
* @uiDefault ScrollBar.buttonDisabledArrowColor Color
*
* @author Karl Tauber * @author Karl Tauber
*/ */
public class FlatScrollBarUI public class FlatScrollBarUI
@@ -53,6 +65,11 @@ public class FlatScrollBarUI
protected Color hoverTrackColor; protected Color hoverTrackColor;
protected Color hoverThumbColor; protected Color hoverThumbColor;
protected boolean showButtons;
protected String arrowType;
protected Color buttonArrowColor;
protected Color buttonDisabledArrowColor;
private MouseAdapter hoverListener; private MouseAdapter hoverListener;
private boolean hoverTrack; private boolean hoverTrack;
private boolean hoverThumb; private boolean hoverThumb;
@@ -85,6 +102,11 @@ public class FlatScrollBarUI
hoverTrackColor = UIManager.getColor( "ScrollBar.hoverTrackColor" ); hoverTrackColor = UIManager.getColor( "ScrollBar.hoverTrackColor" );
hoverThumbColor = UIManager.getColor( "ScrollBar.hoverThumbColor" ); hoverThumbColor = UIManager.getColor( "ScrollBar.hoverThumbColor" );
showButtons = UIManager.getBoolean( "ScrollBar.showButtons" );
arrowType = UIManager.getString( "Component.arrowType" );
buttonArrowColor = UIManager.getColor( "ScrollBar.buttonArrowColor" );
buttonDisabledArrowColor = UIManager.getColor( "ScrollBar.buttonDisabledArrowColor" );
} }
@Override @Override
@@ -93,6 +115,24 @@ public class FlatScrollBarUI
hoverTrackColor = null; hoverTrackColor = null;
hoverThumbColor = null; hoverThumbColor = null;
buttonArrowColor = null;
buttonDisabledArrowColor = null;
}
@Override
protected PropertyChangeListener createPropertyChangeListener() {
return new BasicScrollBarUI.PropertyChangeHandler() {
@Override
public void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );
if( FlatClientProperties.SCROLL_BAR_SHOW_BUTTONS.equals( e.getPropertyName() ) ) {
scrollbar.revalidate();
scrollbar.repaint();
}
}
};
} }
@Override @Override
@@ -102,24 +142,50 @@ public class FlatScrollBarUI
@Override @Override
protected JButton createDecreaseButton( int orientation ) { protected JButton createDecreaseButton( int orientation ) {
return createInvisibleButton(); return createArrowButton( orientation );
} }
@Override @Override
protected JButton createIncreaseButton( int orientation ) { protected JButton createIncreaseButton( int orientation ) {
return createInvisibleButton(); return createArrowButton( orientation );
} }
private JButton createInvisibleButton() { private JButton createArrowButton( int orientation ) {
JButton button = new JButton(); FlatArrowButton button = new FlatArrowButton( orientation,
button.setMinimumSize( new Dimension() ); arrowType, buttonArrowColor, buttonDisabledArrowColor, null, hoverTrackColor )
button.setMaximumSize( new Dimension() ); {
button.setPreferredSize( new Dimension() ); @Override
public Dimension getPreferredSize() {
if( isShowButtons() ) {
int w = UIScale.scale( scrollBarWidth );
return new Dimension( w, w );
} else
return new Dimension();
}
@Override
public Dimension getMinimumSize() {
return isShowButtons() ? super.getMinimumSize() : new Dimension();
}
@Override
public Dimension getMaximumSize() {
return isShowButtons() ? super.getMaximumSize() : new Dimension();
}
};
button.setArrowWidth( FlatArrowButton.DEFAULT_ARROW_WIDTH - 2 );
button.setFocusable( false ); button.setFocusable( false );
button.setRequestFocusEnabled( false ); button.setRequestFocusEnabled( false );
return button; return button;
} }
private boolean isShowButtons() {
Object showButtons = scrollbar.getClientProperty( FlatClientProperties.SCROLL_BAR_SHOW_BUTTONS );
if( showButtons == null && scrollbar.getParent() instanceof JScrollPane )
showButtons = ((JScrollPane)scrollbar.getParent()).getClientProperty( FlatClientProperties.SCROLL_BAR_SHOW_BUTTONS );
return (showButtons != null) ? Objects.equals( showButtons, true ) : this.showButtons;
}
@Override @Override
protected void paintDecreaseHighlight( Graphics g ) { protected void paintDecreaseHighlight( Graphics g ) {
// do not paint // do not paint

View File

@@ -14,23 +14,41 @@
* limitations under the License. * limitations under the License.
*/ */
/*
* Smooth scrolling code partly based on code from IntelliJ IDEA Community Edition,
* which is licensed under the Apache 2.0 license. Copyright 2000-2016 JetBrains s.r.o.
* See: https://github.com/JetBrains/intellij-community/blob/31e1b5a8e43219b9571951bab6457cfb3012e3ef/platform/platform-api/src/com/intellij/ui/components/SmoothScrollPane.java#L141-L185
*
*/
package com.formdev.flatlaf.ui; package com.formdev.flatlaf.ui;
import java.awt.Component; import java.awt.Component;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Insets; import java.awt.Insets;
import java.awt.Rectangle;
import java.awt.event.ContainerEvent; import java.awt.event.ContainerEvent;
import java.awt.event.ContainerListener; import java.awt.event.ContainerListener;
import java.awt.event.FocusEvent; import java.awt.event.FocusEvent;
import java.awt.event.FocusListener; import java.awt.event.FocusListener;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JViewport; import javax.swing.JViewport;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.ScrollPaneConstants;
import javax.swing.Scrollable;
import javax.swing.SwingConstants;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicScrollPaneUI; import javax.swing.plaf.basic.BasicScrollPaneUI;
import com.formdev.flatlaf.FlatClientProperties;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JScrollPane}. * Provides the Flat LaF UI delegate for {@link javax.swing.JScrollPane}.
@@ -43,6 +61,10 @@ import javax.swing.plaf.basic.BasicScrollPaneUI;
* @uiDefault ScrollPane.border Border * @uiDefault ScrollPane.border Border
* @uiDefault ScrollPane.viewportBorder Border * @uiDefault ScrollPane.viewportBorder Border
* *
* <!-- FlatScrollPaneUI -->
*
* @uiDefault ScrollPane.smoothScrolling boolean
*
* @author Karl Tauber * @author Karl Tauber
*/ */
public class FlatScrollPaneUI public class FlatScrollPaneUI
@@ -87,7 +109,172 @@ public class FlatScrollPaneUI
handler = null; handler = null;
} }
public Handler getHandler() { @Override
protected MouseWheelListener createMouseWheelListener() {
return new BasicScrollPaneUI.MouseWheelHandler() {
@Override
public void mouseWheelMoved( MouseWheelEvent e ) {
// Note: Getting UI value "ScrollPane.smoothScrolling" here to allow
// applications to turn smooth scrolling on or off at any time
// (e.g. in application options dialog).
if( UIManager.getBoolean( "ScrollPane.smoothScrolling" ) &&
scrollpane.isWheelScrollingEnabled() &&
e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL &&
e.getPreciseWheelRotation() != 0 &&
e.getPreciseWheelRotation() != e.getWheelRotation() )
{
mouseWheelMovedSmooth( e );
} else
super.mouseWheelMoved( e );
}
};
}
private static final double EPSILON = 1e-5d;
private void mouseWheelMovedSmooth( MouseWheelEvent e ) {
// return if there is no viewport
JViewport viewport = scrollpane.getViewport();
if( viewport == null )
return;
// find scrollbar to scroll
JScrollBar scrollbar = scrollpane.getVerticalScrollBar();
if( scrollbar == null || !scrollbar.isVisible() || e.isShiftDown() ) {
scrollbar = scrollpane.getHorizontalScrollBar();
if( scrollbar == null || !scrollbar.isVisible() )
return;
}
// consume event
e.consume();
// get precise wheel rotation
double rotation = e.getPreciseWheelRotation();
// get unit and block increment
int unitIncrement;
int blockIncrement;
int orientation = scrollbar.getOrientation();
Component view = viewport.getView();
if( view instanceof Scrollable ) {
Scrollable scrollable = (Scrollable) view;
// Use (0, 0) view position to obtain constant unit increment of first item
// (which might otherwise be variable on smaller-than-unit scrolling).
Rectangle visibleRect = new Rectangle( viewport.getViewSize() );
unitIncrement = scrollable.getScrollableUnitIncrement( visibleRect, orientation, 1 );
blockIncrement = scrollable.getScrollableBlockIncrement( visibleRect, orientation, 1 );
if( unitIncrement > 0 ) {
// For the case that the first item (e.g. in a list) is larger
// than the other items, get the unit increment of the second item
// and use the smaller one.
if( orientation == SwingConstants.VERTICAL ) {
visibleRect.y += unitIncrement;
visibleRect.height -= unitIncrement;
} else {
visibleRect.x += unitIncrement;
visibleRect.width -= unitIncrement;
}
int unitIncrement2 = scrollable.getScrollableUnitIncrement( visibleRect, orientation, 1 );
if( unitIncrement2 > 0 )
unitIncrement = Math.min( unitIncrement, unitIncrement2 );
}
} else {
int direction = rotation < 0 ? -1 : 1;
unitIncrement = scrollbar.getUnitIncrement( direction );
blockIncrement = scrollbar.getBlockIncrement( direction );
}
// limit scroll amount (number of units to scroll) for small viewports
// (e.g. vertical scrolling in file chooser)
int scrollAmount = e.getScrollAmount();
int viewportWH = (orientation == SwingConstants.VERTICAL)
? viewport.getHeight()
: viewport.getWidth();
if( unitIncrement * scrollAmount > viewportWH )
scrollAmount = Math.max( viewportWH / unitIncrement, 1 );
// compute relative delta
double delta = rotation * scrollAmount * unitIncrement;
boolean adjustDelta = Math.abs( rotation ) < (1.0 + EPSILON);
double adjustedDelta = adjustDelta
? Math.max( -blockIncrement, Math.min( delta, blockIncrement ) )
: delta;
// compute new value
int value = scrollbar.getValue();
double minDelta = scrollbar.getMinimum() - value;
double maxDelta = scrollbar.getMaximum() - scrollbar.getModel().getExtent() - value;
double boundedDelta = Math.max( minDelta, Math.min( adjustedDelta, maxDelta ) );
int newValue = value + (int) Math.round( boundedDelta );
// set new value
if( newValue != value )
scrollbar.setValue( newValue );
/*debug
System.out.println( String.format( "%4d %9f / %4d %4d / %12f %5s %12f / %4d %4d %4d / %12f %12f %12f / %4d",
e.getWheelRotation(),
e.getPreciseWheelRotation(),
unitIncrement,
blockIncrement,
delta,
adjustDelta,
adjustedDelta,
value,
scrollbar.getMinimum(),
scrollbar.getMaximum(),
minDelta,
maxDelta,
boundedDelta,
newValue ) );
*/
}
@Override
protected PropertyChangeListener createPropertyChangeListener() {
return new BasicScrollPaneUI.PropertyChangeHandler() {
@Override
public void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );
switch( e.getPropertyName() ) {
case FlatClientProperties.SCROLL_BAR_SHOW_BUTTONS:
JScrollBar vsb = scrollpane.getVerticalScrollBar();
JScrollBar hsb = scrollpane.getHorizontalScrollBar();
if( vsb != null ) {
vsb.revalidate();
vsb.repaint();
}
if( hsb != null ) {
hsb.revalidate();
hsb.repaint();
}
break;
case ScrollPaneConstants.LOWER_LEFT_CORNER:
case ScrollPaneConstants.LOWER_RIGHT_CORNER:
case ScrollPaneConstants.UPPER_LEFT_CORNER:
case ScrollPaneConstants.UPPER_RIGHT_CORNER:
// remove border from buttons added to corners
Object corner = e.getNewValue();
if( corner instanceof JButton &&
((JButton)corner).getBorder() instanceof FlatButtonBorder &&
scrollpane.getViewport() != null &&
scrollpane.getViewport().getView() instanceof JTable )
{
((JButton)corner).setBorder( BorderFactory.createEmptyBorder() );
((JButton)corner).setFocusable( false );
}
break;
}
}
};
}
private Handler getHandler() {
if( handler == null ) if( handler == null )
handler = new Handler(); handler = new Handler();
return handler; return handler;

View File

@@ -159,7 +159,7 @@ public class FlatSpinnerUI
handler = null; handler = null;
} }
public Handler getHandler() { private Handler getHandler() {
if( handler == null ) if( handler == null )
handler = new Handler(); handler = new Handler();
return handler; return handler;
@@ -267,7 +267,7 @@ public class FlatSpinnerUI
g2.setColor( enabled g2.setColor( enabled
? c.getBackground() ? c.getBackground()
: (isIntelliJTheme ? FlatUIUtils.getParentBackground( c ) : disabledBackground) ); : (isIntelliJTheme ? FlatUIUtils.getParentBackground( c ) : disabledBackground) );
FlatUIUtils.fillRoundRectangle( g2, 0, 0, width, height, focusWidth, arc ); FlatUIUtils.paintComponentBackground( g2, 0, 0, width, height, focusWidth, arc );
// paint arrow buttons background // paint arrow buttons background
if( enabled ) { if( enabled ) {
@@ -277,7 +277,7 @@ public class FlatSpinnerUI
g2.clipRect( arrowX, 0, width - arrowX, height ); g2.clipRect( arrowX, 0, width - arrowX, height );
else else
g2.clipRect( 0, 0, arrowX + arrowWidth, height ); g2.clipRect( 0, 0, arrowX + arrowWidth, height );
FlatUIUtils.fillRoundRectangle( g2, 0, 0, width, height, focusWidth, arc ); FlatUIUtils.paintComponentBackground( g2, 0, 0, width, height, focusWidth, arc );
g2.setClip( oldClip ); g2.setClip( oldClip );
} }
@@ -285,7 +285,7 @@ public class FlatSpinnerUI
g2.setColor( enabled ? borderColor : disabledBorderColor ); g2.setColor( enabled ? borderColor : disabledBorderColor );
float lw = scale( 1f ); float lw = scale( 1f );
float lx = isLeftToRight ? arrowX : arrowX + arrowWidth - lw; float lx = isLeftToRight ? arrowX : arrowX + arrowWidth - lw;
g2.fill( new Rectangle2D.Float( lx, focusWidth, lw, height - (focusWidth * 2) ) ); g2.fill( new Rectangle2D.Float( lx, focusWidth, lw, height - 1 - (focusWidth * 2) ) );
paint( g, c ); paint( g, c );
} }
@@ -326,6 +326,7 @@ public class FlatSpinnerUI
Dimension editorSize = (editor != null) ? editor.getPreferredSize() : new Dimension( 0, 0 ); Dimension editorSize = (editor != null) ? editor.getPreferredSize() : new Dimension( 0, 0 );
// the arrows width is the same as the inner height so that the arrows area is square // the arrows width is the same as the inner height so that the arrows area is square
int minimumWidth = FlatUIUtils.minimumWidth( spinner, FlatSpinnerUI.this.minimumWidth );
int innerHeight = editorSize.height + padding.top + padding.bottom; int innerHeight = editorSize.height + padding.top + padding.bottom;
return new Dimension( return new Dimension(
Math.max( insets.left + insets.right + editorSize.width + padding.left + padding.right + innerHeight, scale( minimumWidth + (focusWidth * 2) ) ), Math.max( insets.left + insets.right + editorSize.width + padding.left + padding.right + innerHeight, scale( minimumWidth + (focusWidth * 2) ) ),

View File

@@ -41,30 +41,47 @@ import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicTabbedPaneUI; import javax.swing.plaf.basic.BasicTabbedPaneUI;
import javax.swing.text.View; import javax.swing.text.View;
import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.util.UIScale;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JTabbedPane}. * Provides the Flat LaF UI delegate for {@link javax.swing.JTabbedPane}.
* *
* @clientProperty JTabbedPane.showTabSeparators boolean
* @clientProperty JTabbedPane.hasFullBorder boolean * @clientProperty JTabbedPane.hasFullBorder boolean
* *
* @uiDefault Component.arrowType String triangle (default) or chevron * <!-- BasicTabbedPaneUI -->
*
* @uiDefault TabbedPane.font Font * @uiDefault TabbedPane.font Font
* @uiDefault TabbedPane.background Color * @uiDefault TabbedPane.background Color
* @uiDefault TabbedPane.foreground Color * @uiDefault TabbedPane.foreground Color
* @uiDefault TabbedPane.shadow Color used for scroll arrows and cropped line * @uiDefault TabbedPane.shadow Color used for scroll arrows and cropped line
* @uiDefault TabbedPane.textIconGap int
* @uiDefault TabbedPane.tabInsets Insets
* @uiDefault TabbedPane.selectedTabPadInsets Insets
* @uiDefault TabbedPane.tabAreaInsets Insets
* @uiDefault TabbedPane.tabsOverlapBorder boolean
* @uiDefault TabbedPane.tabRunOverlay int
* @uiDefault TabbedPane.tabsOpaque boolean
* @uiDefault TabbedPane.contentOpaque boolean unused
* @uiDefault TabbedPane.opaque boolean
* @uiDefault TabbedPane.selectionFollowsFocus boolean default is true
*
* <!-- FlatTabbedPaneUI -->
*
* @uiDefault Component.arrowType String triangle (default) or chevron
* @uiDefault TabbedPane.disabledForeground Color * @uiDefault TabbedPane.disabledForeground Color
* @uiDefault TabbedPane.selectedBackground Color optional
* @uiDefault TabbedPane.selectedForeground Color * @uiDefault TabbedPane.selectedForeground Color
* @uiDefault TabbedPane.underlineColor Color * @uiDefault TabbedPane.underlineColor Color
* @uiDefault TabbedPane.disabledUnderlineColor Color * @uiDefault TabbedPane.disabledUnderlineColor Color
* @uiDefault TabbedPane.hoverColor Color * @uiDefault TabbedPane.hoverColor Color
* @uiDefault TabbedPane.focusColor Color * @uiDefault TabbedPane.focusColor Color
* @uiDefault TabbedPane.tabSeparatorColor Color optional; defaults to TabbedPane.contentAreaColor
* @uiDefault TabbedPane.contentAreaColor Color * @uiDefault TabbedPane.contentAreaColor Color
* @uiDefault TabbedPane.textIconGap int
* @uiDefault TabbedPane.tabInsets Insets
* @uiDefault TabbedPane.tabAreaInsets Insets
* @uiDefault TabbedPane.tabHeight int * @uiDefault TabbedPane.tabHeight int
* @uiDefault TabbedPane.tabSelectionHeight int * @uiDefault TabbedPane.tabSelectionHeight int
* @uiDefault TabbedPane.contentSeparatorHeight int * @uiDefault TabbedPane.contentSeparatorHeight int
* @uiDefault TabbedPane.showTabSeparators boolean
* @uiDefault TabbedPane.hasFullBorder boolean * @uiDefault TabbedPane.hasFullBorder boolean
* *
* @author Karl Tauber * @author Karl Tauber
@@ -73,16 +90,19 @@ public class FlatTabbedPaneUI
extends BasicTabbedPaneUI extends BasicTabbedPaneUI
{ {
protected Color disabledForeground; protected Color disabledForeground;
protected Color selectedBackground;
protected Color selectedForeground; protected Color selectedForeground;
protected Color underlineColor; protected Color underlineColor;
protected Color disabledUnderlineColor; protected Color disabledUnderlineColor;
protected Color hoverColor; protected Color hoverColor;
protected Color focusColor; protected Color focusColor;
protected Color tabSeparatorColor;
protected Color contentAreaColor; protected Color contentAreaColor;
protected int tabHeight; protected int tabHeight;
protected int tabSelectionHeight; protected int tabSelectionHeight;
protected int contentSeparatorHeight; protected int contentSeparatorHeight;
protected boolean showTabSeparators;
protected boolean hasFullBorder; protected boolean hasFullBorder;
protected boolean tabsOverlapBorder; protected boolean tabsOverlapBorder;
@@ -95,16 +115,19 @@ public class FlatTabbedPaneUI
super.installDefaults(); super.installDefaults();
disabledForeground = UIManager.getColor( "TabbedPane.disabledForeground" ); disabledForeground = UIManager.getColor( "TabbedPane.disabledForeground" );
selectedBackground = UIManager.getColor( "TabbedPane.selectedBackground" );
selectedForeground = UIManager.getColor( "TabbedPane.selectedForeground" ); selectedForeground = UIManager.getColor( "TabbedPane.selectedForeground" );
underlineColor = UIManager.getColor( "TabbedPane.underlineColor" ); underlineColor = UIManager.getColor( "TabbedPane.underlineColor" );
disabledUnderlineColor = UIManager.getColor( "TabbedPane.disabledUnderlineColor" ); disabledUnderlineColor = UIManager.getColor( "TabbedPane.disabledUnderlineColor" );
hoverColor = UIManager.getColor( "TabbedPane.hoverColor" ); hoverColor = UIManager.getColor( "TabbedPane.hoverColor" );
focusColor = UIManager.getColor( "TabbedPane.focusColor" ); focusColor = UIManager.getColor( "TabbedPane.focusColor" );
tabSeparatorColor = UIManager.getColor( "TabbedPane.tabSeparatorColor" );
contentAreaColor = UIManager.getColor( "TabbedPane.contentAreaColor" ); contentAreaColor = UIManager.getColor( "TabbedPane.contentAreaColor" );
tabHeight = UIManager.getInt( "TabbedPane.tabHeight" ); tabHeight = UIManager.getInt( "TabbedPane.tabHeight" );
tabSelectionHeight = UIManager.getInt( "TabbedPane.tabSelectionHeight" ); tabSelectionHeight = UIManager.getInt( "TabbedPane.tabSelectionHeight" );
contentSeparatorHeight = UIManager.getInt( "TabbedPane.contentSeparatorHeight" ); contentSeparatorHeight = UIManager.getInt( "TabbedPane.contentSeparatorHeight" );
showTabSeparators = UIManager.getBoolean( "TabbedPane.showTabSeparators" );
hasFullBorder = UIManager.getBoolean( "TabbedPane.hasFullBorder" ); hasFullBorder = UIManager.getBoolean( "TabbedPane.hasFullBorder" );
tabsOverlapBorder = UIManager.getBoolean( "TabbedPane.tabsOverlapBorder" ); tabsOverlapBorder = UIManager.getBoolean( "TabbedPane.tabsOverlapBorder" );
@@ -124,11 +147,13 @@ public class FlatTabbedPaneUI
super.uninstallDefaults(); super.uninstallDefaults();
disabledForeground = null; disabledForeground = null;
selectedBackground = null;
selectedForeground = null; selectedForeground = null;
underlineColor = null; underlineColor = null;
disabledUnderlineColor = null; disabledUnderlineColor = null;
hoverColor = null; hoverColor = null;
focusColor = null; focusColor = null;
tabSeparatorColor = null;
contentAreaColor = null; contentAreaColor = null;
MigLayoutVisualPadding.uninstall( tabPane ); MigLayoutVisualPadding.uninstall( tabPane );
@@ -141,9 +166,12 @@ public class FlatTabbedPaneUI
public void propertyChange( PropertyChangeEvent e ) { public void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e ); super.propertyChange( e );
if( TABBED_PANE_HAS_FULL_BORDER.equals( e.getPropertyName() ) ) { switch( e.getPropertyName() ) {
tabPane.revalidate(); case TABBED_PANE_SHOW_TAB_SEPARATORS:
tabPane.repaint(); case TABBED_PANE_HAS_FULL_BORDER:
tabPane.revalidate();
tabPane.repaint();
break;
} }
} }
}; };
@@ -197,7 +225,7 @@ public class FlatTabbedPaneUI
*/ */
@Override @Override
protected Insets getContentBorderInsets( int tabPlacement ) { protected Insets getContentBorderInsets( int tabPlacement ) {
boolean hasFullBorder = this.hasFullBorder || clientPropertyEquals( tabPane, TABBED_PANE_HAS_FULL_BORDER, true ); boolean hasFullBorder = clientPropertyBoolean( tabPane, TABBED_PANE_HAS_FULL_BORDER, this.hasFullBorder );
int sh = scale( contentSeparatorHeight ); int sh = scale( contentSeparatorHeight );
Insets insets = hasFullBorder ? new Insets( sh, sh, sh, sh ) : new Insets( sh, 0, 0, 0 ); Insets insets = hasFullBorder ? new Insets( sh, sh, sh, sh ) : new Insets( sh, 0, 0, 0 );
@@ -262,7 +290,9 @@ public class FlatTabbedPaneUI
? hoverColor ? hoverColor
: (enabled && isSelected && tabPane.hasFocus() : (enabled && isSelected && tabPane.hasFocus()
? focusColor ? focusColor
: tabPane.getBackgroundAt( tabIndex )) ); : (selectedBackground != null && enabled && isSelected
? selectedBackground
: tabPane.getBackgroundAt( tabIndex ))) );
g.fillRect( x, y, w, h ); g.fillRect( x, y, w, h );
} }
@@ -270,6 +300,26 @@ public class FlatTabbedPaneUI
protected void paintTabBorder( Graphics g, int tabPlacement, int tabIndex, protected void paintTabBorder( Graphics g, int tabPlacement, int tabIndex,
int x, int y, int w, int h, boolean isSelected ) int x, int y, int w, int h, boolean isSelected )
{ {
// paint tab separators
if( clientPropertyBoolean( tabPane, TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators ) &&
!isLastInRun( tabIndex ) )
{
float sepWidth = UIScale.scale( 1f );
float offset = UIScale.scale( 5f );
g.setColor( (tabSeparatorColor != null) ? tabSeparatorColor : contentAreaColor );
if( tabPlacement == LEFT || tabPlacement == RIGHT ) {
// paint tab separator at bottom side
((Graphics2D)g).fill( new Rectangle2D.Float( x + offset, y + h - sepWidth, w - (offset * 2), sepWidth ) );
} else if( tabPane.getComponentOrientation().isLeftToRight() ) {
// paint tab separator at right side
((Graphics2D)g).fill( new Rectangle2D.Float( x + w - sepWidth, y + offset, sepWidth, h - (offset * 2) ) );
} else {
// paint tab separator at left side
((Graphics2D)g).fill( new Rectangle2D.Float( x, y + offset, sepWidth, h - (offset * 2) ) );
}
}
if( isSelected ) if( isSelected )
paintTabSelection( g, tabPlacement, x, y, w, h ); paintTabSelection( g, tabPlacement, x, y, w, h );
} }
@@ -334,7 +384,7 @@ public class FlatTabbedPaneUI
} }
/** /**
* Actually does the nearly the same as super.paintContentBorder() but * Actually does nearly the same as super.paintContentBorder() but
* - not using UIManager.getColor("TabbedPane.contentAreaColor") to be GUI builder friendly * - not using UIManager.getColor("TabbedPane.contentAreaColor") to be GUI builder friendly
* - not invoking paintContentBorder*Edge() methods * - not invoking paintContentBorder*Edge() methods
* - repaint selection * - repaint selection
@@ -379,7 +429,7 @@ public class FlatTabbedPaneUI
} }
// compute insets for separator or full border // compute insets for separator or full border
boolean hasFullBorder = this.hasFullBorder || clientPropertyEquals( tabPane, TABBED_PANE_HAS_FULL_BORDER, true ); boolean hasFullBorder = clientPropertyBoolean( tabPane, TABBED_PANE_HAS_FULL_BORDER, this.hasFullBorder );
int sh = scale( contentSeparatorHeight * 100 ); // multiply by 100 because rotateInsets() does not use floats int sh = scale( contentSeparatorHeight * 100 ); // multiply by 100 because rotateInsets() does not use floats
Insets ci = new Insets( 0, 0, 0, 0 ); Insets ci = new Insets( 0, 0, 0, 0 );
rotateInsets( hasFullBorder ? new Insets( sh, sh, sh, sh ) : new Insets( sh, 0, 0, 0 ), ci, tabPlacement ); rotateInsets( hasFullBorder ? new Insets( sh, sh, sh, sh ) : new Insets( sh, 0, 0, 0 ), ci, tabPlacement );
@@ -414,6 +464,11 @@ public class FlatTabbedPaneUI
{ {
} }
private boolean isLastInRun( int tabIndex ) {
int run = getRunForTab( tabPane.getTabCount(), tabIndex );
return lastTabInRun( tabPane.getTabCount(), run ) == tabIndex;
}
private boolean isScrollTabLayout() { private boolean isScrollTabLayout() {
return tabPane.getTabLayoutPolicy() == JTabbedPane.SCROLL_TAB_LAYOUT; return tabPane.getTabLayoutPolicy() == JTabbedPane.SCROLL_TAB_LAYOUT;
} }

View File

@@ -0,0 +1,115 @@
/*
* Copyright 2019 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
*
* http://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.ui;
import java.awt.Component;
import java.awt.Graphics;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
/**
* Cell border for {@link javax.swing.table.DefaultTableCellRenderer}
* (used by {@link javax.swing.JTable}).
* <p>
* Uses separate cell margins from UI defaults to allow easy customizing.
*
* @author Karl Tauber
*/
public class FlatTableCellBorder
extends FlatLineBorder
{
final boolean showCellFocusIndicator = UIManager.getBoolean( "Table.showCellFocusIndicator" );
protected FlatTableCellBorder() {
super( UIManager.getInsets( "Table.cellMargins" ), UIManager.getColor( "Table.cellFocusColor" ) );
}
//---- class Default ------------------------------------------------------
/**
* Border for unselected cell that uses margins, but does not paint focus indicator border.
*/
public static class Default
extends FlatTableCellBorder
{
@Override
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) {
// do not paint focus indicator border
}
}
//---- class Focused ------------------------------------------------------
/**
* Border for focused unselected cell that uses margins and paints focus indicator border.
*/
public static class Focused
extends FlatTableCellBorder
{
}
//---- class Selected -----------------------------------------------------
/**
* Border for selected cell that uses margins and paints focus indicator border
* if enabled (Table.showCellFocusIndicator=true) or at least one selected cell is editable.
*/
public static class Selected
extends FlatTableCellBorder
{
@Override
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) {
if( !showCellFocusIndicator ) {
JTable table = (JTable) SwingUtilities.getAncestorOfClass( JTable.class, c );
if( table != null && !isSelectionEditable( table ) )
return;
}
super.paintBorder( c, g, x, y, width, height );
}
/**
* Checks whether at least one selected cell is editable.
*/
private boolean isSelectionEditable( JTable table ) {
if( table.getRowSelectionAllowed() ) {
int columnCount = table.getColumnCount();
int[] selectedRows = table.getSelectedRows();
for( int selectedRow : selectedRows ) {
for( int column = 0; column < columnCount; column++ ) {
if( table.isCellEditable( selectedRow, column ) )
return true;
}
}
}
if( table.getColumnSelectionAllowed() ) {
int rowCount = table.getRowCount();
int[] selectedColumns = table.getSelectedColumns();
for( int selectedColumn : selectedColumns ) {
for( int row = 0; row < rowCount; row++ ) {
if( table.isCellEditable( row, selectedColumn ) )
return true;
}
}
}
return false;
}
}
}

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.ui; package com.formdev.flatlaf.ui;
import java.awt.Color; import java.awt.Color;
import java.awt.Component;
import java.awt.Container; import java.awt.Container;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics; import java.awt.Graphics;
@@ -29,6 +30,7 @@ import javax.swing.JTable;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicTableHeaderUI; import javax.swing.plaf.basic.BasicTableHeaderUI;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn; import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel; import javax.swing.table.TableColumnModel;
import com.formdev.flatlaf.util.UIScale; import com.formdev.flatlaf.util.UIScale;
@@ -81,10 +83,14 @@ public class FlatTableHeaderUI
@Override @Override
public void paint( Graphics g, JComponent c ) { public void paint( Graphics g, JComponent c ) {
// do not paint borders if JTableHeader.setDefaultRenderer() was used // do not paint borders if JTableHeader.setDefaultRenderer() was used
String rendererClassName = header.getDefaultRenderer().getClass().getName(); TableCellRenderer defaultRenderer = header.getDefaultRenderer();
boolean paintBorders = boolean paintBorders = isSystemDefaultRenderer( defaultRenderer );
rendererClassName.equals( "sun.swing.table.DefaultTableCellHeaderRenderer" ) || if( !paintBorders && header.getColumnModel().getColumnCount() > 0 ) {
rendererClassName.equals( "sun.swing.FilePane$AlignableTableHeaderRenderer" ); // check whether the renderer delegates to the system default renderer
Component rendererComponent = defaultRenderer.getTableCellRendererComponent(
header.getTable(), "", false, false, -1, 0 );
paintBorders = isSystemDefaultRenderer( rendererComponent );
}
if( paintBorders ) if( paintBorders )
paintColumnBorders( g, c ); paintColumnBorders( g, c );
@@ -95,6 +101,12 @@ public class FlatTableHeaderUI
paintDraggedColumnBorders( g, c ); paintDraggedColumnBorders( g, c );
} }
private boolean isSystemDefaultRenderer( Object headerRenderer ) {
String rendererClassName = headerRenderer.getClass().getName();
return rendererClassName.equals( "sun.swing.table.DefaultTableCellHeaderRenderer" ) ||
rendererClassName.equals( "sun.swing.FilePane$AlignableTableHeaderRenderer" );
}
private void paintColumnBorders( Graphics g, JComponent c ) { private void paintColumnBorders( Graphics g, JComponent c ) {
int width = c.getWidth(); int width = c.getWidth();
int height = c.getHeight(); int height = c.getHeight();

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.ui; package com.formdev.flatlaf.ui;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.FocusEvent; import java.awt.event.FocusEvent;
import java.awt.event.FocusListener; import java.awt.event.FocusListener;
import javax.swing.JComponent; import javax.swing.JComponent;
@@ -54,28 +55,59 @@ import com.formdev.flatlaf.util.UIScale;
* *
* <!-- FlatTableUI --> * <!-- FlatTableUI -->
* *
* @uiDefault Table.rowHeight int * @uiDefault Table.rowHeight int
* @uiDefault Table.selectionInactiveBackground Color * @uiDefault Table.showHorizontalLines boolean
* @uiDefault Table.selectionInactiveForeground Color * @uiDefault Table.showVerticalLines boolean
* @uiDefault Table.intercellSpacing Dimension
* @uiDefault Table.selectionInactiveBackground Color
* @uiDefault Table.selectionInactiveForeground Color
*
* <!-- FlatTableCellBorder -->
*
* @uiDefault Table.cellMargins Insets
* @uiDefault Table.cellFocusColor Color
* @uiDefault Table.showCellFocusIndicator boolean
* *
* @author Karl Tauber * @author Karl Tauber
*/ */
public class FlatTableUI public class FlatTableUI
extends BasicTableUI extends BasicTableUI
{ {
protected boolean showHorizontalLines;
protected boolean showVerticalLines;
protected Dimension intercellSpacing;
protected Color selectionBackground; protected Color selectionBackground;
protected Color selectionForeground; protected Color selectionForeground;
protected Color selectionInactiveBackground; protected Color selectionInactiveBackground;
protected Color selectionInactiveForeground; protected Color selectionInactiveForeground;
private boolean oldShowHorizontalLines;
private boolean oldShowVerticalLines;
private Dimension oldIntercellSpacing;
public static ComponentUI createUI( JComponent c ) { public static ComponentUI createUI( JComponent c ) {
return new FlatTableUI(); return new FlatTableUI();
} }
@Override
public void installUI( JComponent c ) {
super.installUI( c );
}
@Override
public void uninstallUI( JComponent c ) {
super.uninstallUI( c );
}
@Override @Override
protected void installDefaults() { protected void installDefaults() {
super.installDefaults(); super.installDefaults();
showHorizontalLines = UIManager.getBoolean( "Table.showHorizontalLines" );
showVerticalLines = UIManager.getBoolean( "Table.showVerticalLines" );
intercellSpacing = UIManager.getDimension( "Table.intercellSpacing" );
selectionBackground = UIManager.getColor( "Table.selectionBackground" ); selectionBackground = UIManager.getColor( "Table.selectionBackground" );
selectionForeground = UIManager.getColor( "Table.selectionForeground" ); selectionForeground = UIManager.getColor( "Table.selectionForeground" );
selectionInactiveBackground = UIManager.getColor( "Table.selectionInactiveBackground" ); selectionInactiveBackground = UIManager.getColor( "Table.selectionInactiveBackground" );
@@ -86,6 +118,20 @@ public class FlatTableUI
int rowHeight = FlatUIUtils.getUIInt( "Table.rowHeight", 16 ); int rowHeight = FlatUIUtils.getUIInt( "Table.rowHeight", 16 );
if( rowHeight > 0 ) if( rowHeight > 0 )
LookAndFeel.installProperty( table, "rowHeight", UIScale.scale( rowHeight ) ); LookAndFeel.installProperty( table, "rowHeight", UIScale.scale( rowHeight ) );
if( !showHorizontalLines ) {
oldShowHorizontalLines = table.getShowHorizontalLines();
table.setShowHorizontalLines( false );
}
if( !showVerticalLines ) {
oldShowVerticalLines = table.getShowVerticalLines();
table.setShowVerticalLines( false );
}
if( intercellSpacing != null ) {
oldIntercellSpacing = table.getIntercellSpacing();
table.setIntercellSpacing( intercellSpacing );
}
} }
@Override @Override
@@ -96,6 +142,16 @@ public class FlatTableUI
selectionForeground = null; selectionForeground = null;
selectionInactiveBackground = null; selectionInactiveBackground = null;
selectionInactiveForeground = null; selectionInactiveForeground = null;
// restore old show horizontal/vertical lines (if not modified)
if( !showHorizontalLines && oldShowHorizontalLines && !table.getShowHorizontalLines() )
table.setShowHorizontalLines( true );
if( !showVerticalLines && oldShowVerticalLines && !table.getShowVerticalLines() )
table.setShowVerticalLines( true );
// restore old intercell spacing (if not modified)
if( intercellSpacing != null && table.getIntercellSpacing().equals( intercellSpacing ) )
table.setIntercellSpacing( oldIntercellSpacing );
} }
@Override @Override

View File

@@ -117,6 +117,7 @@ public class FlatTextAreaUI
// and subtract 1px border line width. // and subtract 1px border line width.
// Using "(scale( 1 ) * 2)" instead of "scale( 2 )" to deal with rounding // Using "(scale( 1 ) * 2)" instead of "scale( 2 )" to deal with rounding
// issues. E.g. at scale factor 1.5 the first returns 4, but the second 3. // issues. E.g. at scale factor 1.5 the first returns 4, but the second 3.
int minimumWidth = FlatUIUtils.minimumWidth( getComponent(), this.minimumWidth );
size.width = Math.max( size.width, scale( minimumWidth ) - (scale( 1 ) * 2) ); size.width = Math.max( size.width, scale( minimumWidth ) - (scale( 1 ) * 2) );
return size; return size;
} }

View File

@@ -20,9 +20,12 @@ import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Color; import java.awt.Color;
import java.awt.Container; import java.awt.Container;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.FontMetrics;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.event.FocusListener; import java.awt.event.FocusListener;
import java.beans.PropertyChangeEvent;
import javax.swing.JComboBox; import javax.swing.JComboBox;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JSpinner; import javax.swing.JSpinner;
@@ -33,6 +36,7 @@ import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.UIResource; import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicTextFieldUI; import javax.swing.plaf.basic.BasicTextFieldUI;
import javax.swing.text.JTextComponent; import javax.swing.text.JTextComponent;
import com.formdev.flatlaf.FlatClientProperties;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JTextField}. * Provides the Flat LaF UI delegate for {@link javax.swing.JTextField}.
@@ -57,6 +61,7 @@ import javax.swing.text.JTextComponent;
* @uiDefault Component.focusWidth int * @uiDefault Component.focusWidth int
* @uiDefault Component.minimumWidth int * @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean * @uiDefault Component.isIntelliJTheme boolean
* @uiDefault TextField.placeholderForeground Color
* *
* @author Karl Tauber * @author Karl Tauber
*/ */
@@ -66,6 +71,7 @@ public class FlatTextFieldUI
protected int focusWidth; protected int focusWidth;
protected int minimumWidth; protected int minimumWidth;
protected boolean isIntelliJTheme; protected boolean isIntelliJTheme;
protected Color placeholderForeground;
private FocusListener focusListener; private FocusListener focusListener;
@@ -77,9 +83,11 @@ public class FlatTextFieldUI
protected void installDefaults() { protected void installDefaults() {
super.installDefaults(); super.installDefaults();
String prefix = getPropertyPrefix();
focusWidth = UIManager.getInt( "Component.focusWidth" ); focusWidth = UIManager.getInt( "Component.focusWidth" );
minimumWidth = UIManager.getInt( "Component.minimumWidth" ); minimumWidth = UIManager.getInt( "Component.minimumWidth" );
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" ); isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
placeholderForeground = UIManager.getColor( prefix + ".placeholderForeground" );
LookAndFeel.installProperty( getComponent(), "opaque", focusWidth == 0 ); LookAndFeel.installProperty( getComponent(), "opaque", focusWidth == 0 );
@@ -90,6 +98,8 @@ public class FlatTextFieldUI
protected void uninstallDefaults() { protected void uninstallDefaults() {
super.uninstallDefaults(); super.uninstallDefaults();
placeholderForeground = null;
MigLayoutVisualPadding.uninstall( getComponent() ); MigLayoutVisualPadding.uninstall( getComponent() );
} }
@@ -109,9 +119,18 @@ public class FlatTextFieldUI
focusListener = null; focusListener = null;
} }
@Override
protected void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );
if( FlatClientProperties.PLACEHOLDER_TEXT.equals( e.getPropertyName() ) )
getComponent().repaint();
}
@Override @Override
protected void paintSafely( Graphics g ) { protected void paintSafely( Graphics g ) {
paintBackground( g, getComponent(), focusWidth, isIntelliJTheme ); paintBackground( g, getComponent(), focusWidth, isIntelliJTheme );
paintPlaceholder( g, getComponent(), placeholderForeground );
super.paintSafely( g ); super.paintSafely( g );
} }
@@ -146,12 +165,37 @@ public class FlatTextFieldUI
: (isIntelliJTheme && (!c.isEnabled() || !c.isEditable()) : (isIntelliJTheme && (!c.isEnabled() || !c.isEditable())
? FlatUIUtils.getParentBackground( c ) ? FlatUIUtils.getParentBackground( c )
: background) ); : background) );
FlatUIUtils.fillRoundRectangle( g2, 0, 0, c.getWidth(), c.getHeight(), fFocusWidth, 0 ); FlatUIUtils.paintComponentBackground( g2, 0, 0, c.getWidth(), c.getHeight(), fFocusWidth, 0 );
} finally { } finally {
g2.dispose(); g2.dispose();
} }
} }
static void paintPlaceholder( Graphics g, JTextComponent c, Color placeholderForeground ) {
// check whether text component is empty
if( c.getDocument().getLength() > 0 )
return;
// check for JComboBox
Container parent = c.getParent();
JComponent jc = (parent instanceof JComboBox) ? (JComboBox<?>) parent : c;
// get placeholder text
Object placeholder = jc.getClientProperty( FlatClientProperties.PLACEHOLDER_TEXT );
if( !(placeholder instanceof String) )
return;
// compute placeholder location
Insets insets = c.getInsets();
FontMetrics fm = c.getFontMetrics( c.getFont() );
int x = insets.left;
int y = insets.top + fm.getAscent() + ((c.getHeight() - insets.top - insets.bottom - fm.getHeight()) / 2);
// paint placeholder
g.setColor( placeholderForeground );
FlatUIUtils.drawString( c, g, (String) placeholder, x, y );
}
@Override @Override
public Dimension getPreferredSize( JComponent c ) { public Dimension getPreferredSize( JComponent c ) {
return applyMinimumWidth( super.getPreferredSize( c ), c ); return applyMinimumWidth( super.getPreferredSize( c ), c );
@@ -173,6 +217,7 @@ public class FlatTextFieldUI
(parent != null && parent.getParent() instanceof JSpinner) ) (parent != null && parent.getParent() instanceof JSpinner) )
return size; return size;
int minimumWidth = FlatUIUtils.minimumWidth( getComponent(), this.minimumWidth );
int focusWidth = (c.getBorder() instanceof FlatBorder) ? this.focusWidth : 0; int focusWidth = (c.getBorder() instanceof FlatBorder) ? this.focusWidth : 0;
size.width = Math.max( size.width, scale( minimumWidth + (focusWidth * 2) ) ); size.width = Math.max( size.width, scale( minimumWidth + (focusWidth * 2) ) );
return size; return size;

View File

@@ -98,6 +98,7 @@ public class FlatTextPaneUI
// and subtract 1px border line width. // and subtract 1px border line width.
// Using "(scale( 1 ) * 2)" instead of "scale( 2 )" to deal with rounding // Using "(scale( 1 ) * 2)" instead of "scale( 2 )" to deal with rounding
// issues. E.g. at scale factor 1.5 the first returns 4, but the second 3. // issues. E.g. at scale factor 1.5 the first returns 4, but the second 3.
int minimumWidth = FlatUIUtils.minimumWidth( getComponent(), this.minimumWidth );
size.width = Math.max( size.width, scale( minimumWidth ) - (scale( 1 ) * 2) ); size.width = Math.max( size.width, scale( minimumWidth ) - (scale( 1 ) * 2) );
return size; return size;
} }

View File

@@ -16,12 +16,17 @@
package com.formdev.flatlaf.ui; package com.formdev.flatlaf.ui;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.Color; import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import javax.swing.AbstractButton; import javax.swing.AbstractButton;
import javax.swing.ButtonModel; import javax.swing.ButtonModel;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JToggleButton;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import com.formdev.flatlaf.util.UIScale;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JToggleButton}. * Provides the Flat LaF UI delegate for {@link javax.swing.JToggleButton}.
@@ -38,9 +43,11 @@ import javax.swing.plaf.ComponentUI;
* <!-- FlatButtonUI --> * <!-- FlatButtonUI -->
* *
* @uiDefault Component.focusWidth int * @uiDefault Component.focusWidth int
* @uiDefault ToggleButton.arc int * @uiDefault Button.arc int
* @uiDefault ToggleButton.minimumWidth int * @uiDefault ToggleButton.minimumWidth int
* @uiDefault ToggleButton.iconTextGap int * @uiDefault ToggleButton.iconTextGap int
* @uiDefault ToggleButton.startBackground Color optional; if set, a gradient paint is used and ToggleButton.background is ignored
* @uiDefault ToggleButton.endBackground Color optional; if set, a gradient paint is used
* @uiDefault ToggleButton.pressedBackground Color * @uiDefault ToggleButton.pressedBackground Color
* @uiDefault ToggleButton.disabledText Color * @uiDefault ToggleButton.disabledText Color
* @uiDefault ToggleButton.toolbar.hoverBackground Color * @uiDefault ToggleButton.toolbar.hoverBackground Color
@@ -53,6 +60,13 @@ import javax.swing.plaf.ComponentUI;
* @uiDefault ToggleButton.disabledSelectedBackground Color * @uiDefault ToggleButton.disabledSelectedBackground Color
* @uiDefault ToggleButton.toolbar.selectedBackground Color * @uiDefault ToggleButton.toolbar.selectedBackground Color
* *
* @uiDefault ToggleButton.underline.underlineHeight int
* @uiDefault ToggleButton.underline.underlineColor Color
* @uiDefault ToggleButton.underline.disabledUnderlineColor Color
* @uiDefault ToggleButton.underline.selectedBackground Color optional
* @uiDefault ToggleButton.underline.hoverBackground Color
* @uiDefault ToggleButton.underline.focusBackground Color
*
* *
* @author Karl Tauber * @author Karl Tauber
*/ */
@@ -65,6 +79,13 @@ public class FlatToggleButtonUI
protected Color toolbarSelectedBackground; protected Color toolbarSelectedBackground;
protected int underlineHeight;
protected Color underlineColor;
protected Color disabledUnderlineColor;
protected Color underlineSelectedBackground;
protected Color underlineHoverBackground;
protected Color underlineFocusBackground;
private boolean defaults_initialized = false; private boolean defaults_initialized = false;
private static ComponentUI instance; private static ComponentUI instance;
@@ -91,6 +112,13 @@ public class FlatToggleButtonUI
toolbarSelectedBackground = UIManager.getColor( "ToggleButton.toolbar.selectedBackground" ); toolbarSelectedBackground = UIManager.getColor( "ToggleButton.toolbar.selectedBackground" );
underlineHeight = UIManager.getInt( "ToggleButton.underline.underlineHeight" );
underlineColor = UIManager.getColor( "ToggleButton.underline.underlineColor" );
disabledUnderlineColor = UIManager.getColor( "ToggleButton.underline.disabledUnderlineColor" );
underlineSelectedBackground = UIManager.getColor( "ToggleButton.underline.selectedBackground" );
underlineHoverBackground = UIManager.getColor( "ToggleButton.underline.hoverBackground" );
underlineFocusBackground = UIManager.getColor( "ToggleButton.underline.focusBackground" );
defaults_initialized = true; defaults_initialized = true;
} }
} }
@@ -101,6 +129,36 @@ public class FlatToggleButtonUI
defaults_initialized = false; defaults_initialized = false;
} }
static boolean isUnderlineButton( Component c ) {
return c instanceof JToggleButton && clientPropertyEquals( (JToggleButton) c, BUTTON_TYPE, BUTTON_TYPE_UNDERLINE );
}
@Override
protected void paintBackground( Graphics g, JComponent c ) {
if( isUnderlineButton( c ) ) {
int height = c.getHeight();
int width = c.getWidth();
boolean selected = ((AbstractButton)c).isSelected();
// paint background
Color background = buttonStateColor( c,
selected ? underlineSelectedBackground : null,
null, underlineFocusBackground, underlineHoverBackground, null );
if( background != null ) {
g.setColor( background );
g.fillRect( 0, 0, width, height );
}
// paint underline if selected
if( selected ) {
int underlineHeight = UIScale.scale( this.underlineHeight );
g.setColor( c.isEnabled() ? underlineColor : disabledUnderlineColor );
g.fillRect( 0, height - underlineHeight, width, underlineHeight );
}
} else
super.paintBackground( g, c );
}
@Override @Override
protected Color getBackground( JComponent c ) { protected Color getBackground( JComponent c ) {
ButtonModel model = ((AbstractButton)c).getModel(); ButtonModel model = ((AbstractButton)c).getModel();

View File

@@ -21,6 +21,7 @@ import java.awt.FontMetrics;
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.beans.PropertyChangeListener;
import java.util.List; import java.util.List;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JToolTip; import javax.swing.JToolTip;
@@ -47,6 +48,8 @@ import com.formdev.flatlaf.util.StringUtils;
public class FlatToolTipUI public class FlatToolTipUI
extends BasicToolTipUI extends BasicToolTipUI
{ {
private static PropertyChangeListener sharedPropertyChangedListener;
private static ComponentUI instance; private static ComponentUI instance;
public static ComponentUI createUI( JComponent c ) { public static ComponentUI createUI( JComponent c ) {
@@ -55,6 +58,38 @@ public class FlatToolTipUI
return instance; return instance;
} }
@Override
public void installUI( JComponent c ) {
super.installUI( c );
// update HTML renderer if necessary
FlatLabelUI.updateHTMLRenderer( c, ((JToolTip)c).getTipText(), false );
}
@Override
protected void installListeners( JComponent c ) {
super.installListeners( c );
if( sharedPropertyChangedListener == null ) {
sharedPropertyChangedListener = e -> {
String name = e.getPropertyName();
if( name == "text" || name == "font" || name == "foreground" ) {
JToolTip toolTip = (JToolTip) e.getSource();
FlatLabelUI.updateHTMLRenderer( toolTip, toolTip.getTipText(), false );
}
};
}
c.addPropertyChangeListener( sharedPropertyChangedListener );
}
@Override
protected void uninstallListeners( JComponent c ) {
super.uninstallListeners( c );
c.removePropertyChangeListener( sharedPropertyChangedListener );
}
@Override @Override
public Dimension getPreferredSize( JComponent c ) { public Dimension getPreferredSize( JComponent c ) {
if( isMultiLine( c ) ) { if( isMultiLine( c ) ) {

View File

@@ -21,9 +21,16 @@ import java.awt.Component;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Insets; import java.awt.Insets;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JTree;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.JTree.DropLocation;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicTreeUI; import javax.swing.plaf.basic.BasicTreeUI;
import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.DefaultTreeCellRenderer;
@@ -33,13 +40,50 @@ import com.formdev.flatlaf.util.UIScale;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JTree}. * Provides the Flat LaF UI delegate for {@link javax.swing.JTree}.
* *
* TODO document used UI defaults of superclass * <!-- BasicTreeUI -->
*
* @uiDefault Tree.font Font
* @uiDefault Tree.background Color
* @uiDefault Tree.hash Color
* @uiDefault Tree.dropLineColor Color
* @uiDefault Tree.expandedIcon Icon
* @uiDefault Tree.collapsedIcon Icon
* @uiDefault Tree.leftChildIndent int
* @uiDefault Tree.rightChildIndent int
* @uiDefault Tree.rowHeight int
* @uiDefault Tree.scrollsOnExpand boolean
* @uiDefault Tree.scrollsHorizontallyAndVertically boolean
* @uiDefault Tree.paintLines boolean
* @uiDefault Tree.lineTypeDashed boolean
* @uiDefault Tree.showsRootHandles boolean
* @uiDefault Tree.repaintWholeRow boolean
*
* <!-- DefaultTreeCellRenderer -->
*
* @uiDefault Tree.leafIcon Icon
* @uiDefault Tree.closedIcon Icon
* @uiDefault Tree.openIcon Icon
* @uiDefault Tree.textBackground Color
* @uiDefault Tree.textForeground Color
* @uiDefault Tree.selectionBackground Color
* @uiDefault Tree.selectionForeground Color
* @uiDefault Tree.selectionBorderColor Color focus indicator border color
* @uiDefault Tree.drawsFocusBorderAroundIcon boolean
* @uiDefault Tree.drawDashedFocusIndicator boolean
* @uiDefault Tree.rendererFillBackground boolean default is true
* @uiDefault Tree.rendererMargins Insets
* @uiDefault Tree.dropCellBackground Color
* @uiDefault Tree.dropCellForeground Color
*
* <!-- FlatTreeUI -->
* *
* @uiDefault Tree.border Border * @uiDefault Tree.border Border
* @uiDefault Tree.selectionBackground Color * @uiDefault Tree.selectionBackground Color
* @uiDefault Tree.selectionForeground Color * @uiDefault Tree.selectionForeground Color
* @uiDefault Tree.selectionInactiveBackground Color * @uiDefault Tree.selectionInactiveBackground Color
* @uiDefault Tree.selectionInactiveForeground Color * @uiDefault Tree.selectionInactiveForeground Color
* @uiDefault Tree.wideSelection boolean
* @uiDefault Tree.showCellFocusIndicator boolean
* *
* @author Karl Tauber * @author Karl Tauber
*/ */
@@ -50,6 +94,9 @@ public class FlatTreeUI
protected Color selectionForeground; protected Color selectionForeground;
protected Color selectionInactiveBackground; protected Color selectionInactiveBackground;
protected Color selectionInactiveForeground; protected Color selectionInactiveForeground;
protected Color selectionBorderColor;
protected boolean wideSelection;
protected boolean showCellFocusIndicator;
public static ComponentUI createUI( JComponent c ) { public static ComponentUI createUI( JComponent c ) {
return new FlatTreeUI(); return new FlatTreeUI();
@@ -65,6 +112,9 @@ public class FlatTreeUI
selectionForeground = UIManager.getColor( "Tree.selectionForeground" ); selectionForeground = UIManager.getColor( "Tree.selectionForeground" );
selectionInactiveBackground = UIManager.getColor( "Tree.selectionInactiveBackground" ); selectionInactiveBackground = UIManager.getColor( "Tree.selectionInactiveBackground" );
selectionInactiveForeground = UIManager.getColor( "Tree.selectionInactiveForeground" ); selectionInactiveForeground = UIManager.getColor( "Tree.selectionInactiveForeground" );
selectionBorderColor = UIManager.getColor( "Tree.selectionBorderColor" );
wideSelection = UIManager.getBoolean( "Tree.wideSelection" );
showCellFocusIndicator = UIManager.getBoolean( "Tree.showCellFocusIndicator" );
// scale // scale
int rowHeight = FlatUIUtils.getUIInt( "Tree.rowHeight", 16 ); int rowHeight = FlatUIUtils.getUIInt( "Tree.rowHeight", 16 );
@@ -84,21 +134,115 @@ public class FlatTreeUI
selectionForeground = null; selectionForeground = null;
selectionInactiveBackground = null; selectionInactiveBackground = null;
selectionInactiveForeground = null; selectionInactiveForeground = null;
selectionBorderColor = null;
}
@Override
protected MouseListener createMouseListener() {
if( !wideSelection )
return super.createMouseListener();
return new BasicTreeUI.MouseHandler() {
@Override
public void mousePressed( MouseEvent e ) {
super.mousePressed( handleWideMouseEvent( e ) );
}
@Override
public void mouseReleased( MouseEvent e ) {
super.mouseReleased( handleWideMouseEvent( e ) );
}
@Override
public void mouseDragged( MouseEvent e ) {
super.mouseDragged( handleWideMouseEvent( e ) );
}
private MouseEvent handleWideMouseEvent( MouseEvent e ) {
if( !tree.isEnabled() || !SwingUtilities.isLeftMouseButton( e ) || e.isConsumed() )
return e;
int x = e.getX();
int y = e.getY();
TreePath path = getClosestPathForLocation( tree, x, y );
if( path == null || isLocationInExpandControl( path, x, y ) )
return e;
Rectangle bounds = getPathBounds( tree, path );
if( bounds == null || y < bounds.y || y >= (bounds.y + bounds.height) )
return e;
int newX = Math.max( bounds.x, Math.min( x, bounds.x + bounds.width - 1 ) );
if( newX == x )
return e;
// clone mouse event, but with new X coordinate
return new MouseEvent( e.getComponent(), e.getID(), e.getWhen(),
e.getModifiers() | e.getModifiersEx(), newX, e.getY(),
e.getClickCount(), e.isPopupTrigger(), e.getButton() );
}
};
}
@Override
protected PropertyChangeListener createPropertyChangeListener() {
if( !wideSelection )
return super.createPropertyChangeListener();
return new BasicTreeUI.PropertyChangeHandler() {
@Override
public void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );
if( e.getSource() == tree && e.getPropertyName() == "dropLocation" ) {
JTree.DropLocation oldValue = (JTree.DropLocation) e.getOldValue();
repaintWideDropLocation( oldValue );
repaintWideDropLocation( tree.getDropLocation() );
}
}
private void repaintWideDropLocation(JTree.DropLocation loc) {
if( loc == null || isDropLine( loc ) )
return;
Rectangle r = tree.getPathBounds( loc.getPath() );
if( r != null )
tree.repaint( 0, r.y, tree.getWidth(), r.height );
}
};
} }
/** /**
* Same as super.paintRow(), but uses inactive selection background/foreground if tree is not focused. * Same as super.paintRow(), but supports wide selection and uses
* inactive selection background/foreground if tree is not focused.
*/ */
@Override @Override
protected void paintRow( Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, protected void paintRow( Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds,
boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf ) TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf )
{ {
if( editingComponent != null && editingRow == row ) boolean isEditing = (editingComponent != null && editingRow == row);
return;
boolean hasFocus = tree.hasFocus(); boolean hasFocus = tree.hasFocus();
boolean cellHasFocus = hasFocus && (row == getLeadSelectionRow()); boolean cellHasFocus = hasFocus && (row == getLeadSelectionRow());
boolean isSelected = tree.isRowSelected( row ); boolean isSelected = tree.isRowSelected( row );
boolean isDropRow = isDropRow( row );
// wide selection background
if( wideSelection && (isSelected || isDropRow) ) {
// fill background
g.setColor( isDropRow
? UIManager.getColor( "Tree.dropCellBackground" )
: (hasFocus ? selectionBackground : selectionInactiveBackground) );
g.fillRect( 0, bounds.y, tree.getWidth(), bounds.height );
// paint expand/collapse icon
if( shouldPaintExpandControl( path, row, isExpanded, hasBeenExpanded, isLeaf ) ) {
paintExpandControl( g, clipBounds, insets, bounds,
path, row, isExpanded, hasBeenExpanded, isLeaf );
}
}
if( isEditing )
return;
// get renderer component // get renderer component
Component rendererComponent = currentCellRenderer.getTreeCellRendererComponent( tree, Component rendererComponent = currentCellRenderer.getTreeCellRendererComponent( tree,
@@ -106,7 +250,7 @@ public class FlatTreeUI
// apply inactive selection background/foreground if tree is not focused // apply inactive selection background/foreground if tree is not focused
Color oldBackgroundSelectionColor = null; Color oldBackgroundSelectionColor = null;
if( isSelected && !hasFocus ) { if( isSelected && !hasFocus && !isDropRow ) {
if( rendererComponent instanceof DefaultTreeCellRenderer ) { if( rendererComponent instanceof DefaultTreeCellRenderer ) {
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) rendererComponent; DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) rendererComponent;
if( renderer.getBackgroundSelectionColor() == selectionBackground ) { if( renderer.getBackgroundSelectionColor() == selectionBackground ) {
@@ -122,11 +266,43 @@ public class FlatTreeUI
rendererComponent.setForeground( selectionInactiveForeground ); rendererComponent.setForeground( selectionInactiveForeground );
} }
// remove focus selection border if exactly one item is selected
Color oldBorderSelectionColor = null;
if( isSelected && hasFocus &&
(!showCellFocusIndicator || tree.getMinSelectionRow() == tree.getMaxSelectionRow()) &&
rendererComponent instanceof DefaultTreeCellRenderer )
{
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) rendererComponent;
if( renderer.getBorderSelectionColor() == selectionBorderColor ) {
oldBorderSelectionColor = renderer.getBorderSelectionColor();
renderer.setBorderSelectionColor( null );
}
}
// paint renderer // paint renderer
rendererPane.paintComponent( g, rendererComponent, tree, bounds.x, bounds.y, bounds.width, bounds.height, true ); rendererPane.paintComponent( g, rendererComponent, tree, bounds.x, bounds.y, bounds.width, bounds.height, true );
// restore background selection color // restore background selection color and border selection color
if( oldBackgroundSelectionColor != null ) if( oldBackgroundSelectionColor != null )
((DefaultTreeCellRenderer)rendererComponent).setBackgroundSelectionColor( oldBackgroundSelectionColor ); ((DefaultTreeCellRenderer)rendererComponent).setBackgroundSelectionColor( oldBackgroundSelectionColor );
if( oldBorderSelectionColor != null )
((DefaultTreeCellRenderer)rendererComponent).setBorderSelectionColor( oldBorderSelectionColor );
}
/**
* Checks whether dropping on a row.
* See DefaultTreeCellRenderer.getTreeCellRendererComponent().
*/
private boolean isDropRow( int row ) {
JTree.DropLocation dropLocation = tree.getDropLocation();
return dropLocation != null &&
dropLocation.getChildIndex() == -1 &&
tree.getRowForPath( dropLocation.getPath() ) == row;
}
@Override
protected Rectangle getDropLineRect( DropLocation loc ) {
Rectangle r = super.getDropLineRect( loc );
return wideSelection ? new Rectangle( 0, r.y, tree.getWidth(), r.height ) : r;
} }
} }

View File

@@ -38,7 +38,9 @@ import javax.swing.JComponent;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.ColorUIResource;
import com.formdev.flatlaf.FlatClientProperties;
import com.formdev.flatlaf.util.DerivedColor; import com.formdev.flatlaf.util.DerivedColor;
import com.formdev.flatlaf.util.HiDPIUtils;
import com.formdev.flatlaf.util.JavaCompatibility; import com.formdev.flatlaf.util.JavaCompatibility;
import com.formdev.flatlaf.util.UIScale; import com.formdev.flatlaf.util.UIScale;
@@ -101,10 +103,20 @@ public class FlatUIUtils
return (value instanceof Integer) ? (Integer) value : defaultValue; return (value instanceof Integer) ? (Integer) value : defaultValue;
} }
public static float getUIFloat( String key, float defaultValue ) {
Object value = UIManager.get( key );
return (value instanceof Number) ? ((Number)value).floatValue() : defaultValue;
}
public static Color nonUIResource( Color c ) { public static Color nonUIResource( Color c ) {
return (c instanceof ColorUIResource) ? new Color( c.getRGB(), true ) : c; return (c instanceof ColorUIResource) ? new Color( c.getRGB(), true ) : c;
} }
public static int minimumWidth( JComponent c, int minimumWidth ) {
Object p = c.getClientProperty( FlatClientProperties.MINIMUM_WIDTH );
return (p instanceof Integer) ? ((Integer)p).intValue() : minimumWidth;
}
public static boolean isTableCellEditor( Component c ) { public static boolean isTableCellEditor( Component c ) {
return c instanceof JComponent && Boolean.TRUE.equals( ((JComponent)c).getClientProperty( "JComboBox.isTableCellEditor" ) ); return c instanceof JComponent && Boolean.TRUE.equals( ((JComponent)c).getClientProperty( "JComboBox.isTableCellEditor" ) );
} }
@@ -125,9 +137,73 @@ public class FlatUIUtils
} }
/** /**
* Draws a round rectangle. * Paints an outer border, which is usually a focus border.
* <p>
* The outside bounds of the painted border are {@code x,y,width,height}.
* The line width of the painted border is {@code focusWidth + lineWidth}.
* The given arc diameter refers to the inner rectangle ({@code x,y,width,height} minus {@code focusWidth}).
*
* @see #paintComponentBorder
* @see #paintComponentBackground
*/ */
public static void drawRoundRectangle( Graphics2D g, int x, int y, int width, int height, public static void paintComponentOuterBorder( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float lineWidth, float arc )
{
double systemScaleFactor = UIScale.getSystemScaleFactor( g );
if( systemScaleFactor != 1 && systemScaleFactor != 2 ) {
// paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175%
HiDPIUtils.paintAtScale1x( g, x, y, width, height, systemScaleFactor,
(g2d, x2, y2, width2, height2, scaleFactor) -> {
paintComponentOuterBorderImpl( g2d, x2, y2, width2, height2,
(float) (focusWidth * scaleFactor), (float) (lineWidth * scaleFactor), (float) (arc * scaleFactor) );
} );
return;
}
paintComponentOuterBorderImpl( g, x, y, width, height, focusWidth, lineWidth, arc );
}
private static void paintComponentOuterBorderImpl( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float lineWidth, float arc )
{
float outerRadius = (arc > 0) ? arc + focusWidth - UIScale.scale( 2f ) : focusWidth;
float ow = focusWidth + lineWidth;
float innerRadius = outerRadius - ow;
Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
path.append( createRoundRectanglePath( x, y, width, height, outerRadius, outerRadius, outerRadius, outerRadius ), false );
path.append( createRoundRectanglePath( x + ow, y + ow, width - (ow * 2), height - (ow * 2), innerRadius, innerRadius, innerRadius, innerRadius ), false );
g.fill( path );
}
/**
* Draws the border of a component as round rectangle.
* <p>
* The outside bounds of the painted border are
* {@code x + focusWidth, y + focusWidth, width - (focusWidth * 2), height - (focusWidth * 2)}.
* The given arc diameter refers to the painted rectangle (and not to {@code x,y,width,height}).
*
* @see #paintComponentOuterBorder
* @see #paintComponentBackground
*/
public static void paintComponentBorder( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float lineWidth, float arc )
{
double systemScaleFactor = UIScale.getSystemScaleFactor( g );
if( systemScaleFactor != 1 && systemScaleFactor != 2 ) {
// paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175%
HiDPIUtils.paintAtScale1x( g, x, y, width, height, systemScaleFactor,
(g2d, x2, y2, width2, height2, scaleFactor) -> {
paintComponentBorderImpl( g2d, x2, y2, width2, height2,
(float) (focusWidth * scaleFactor), (float) (lineWidth * scaleFactor), (float) (arc * scaleFactor) );
} );
return;
}
paintComponentBorderImpl( g, x, y, width, height, focusWidth, lineWidth, arc );
}
private static void paintComponentBorderImpl( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float lineWidth, float arc ) float focusWidth, float lineWidth, float arc )
{ {
float arc2 = arc > lineWidth ? arc - lineWidth : 0f; float arc2 = arc > lineWidth ? arc - lineWidth : 0f;
@@ -146,9 +222,33 @@ public class FlatUIUtils
} }
/** /**
* Fills a round rectangle. * Fills the background of a component with a round rectangle.
* <p>
* The bounds of the painted round rectangle are
* {@code x + focusWidth, y + focusWidth, width - (focusWidth * 2), height - (focusWidth * 2)}.
* The given arc diameter refers to the painted rectangle (and not to {@code x,y,width,height}).
*
* @see #paintComponentOuterBorder
* @see #paintComponentBorder
*/ */
public static void fillRoundRectangle( Graphics2D g, int x, int y, int width, int height, public static void paintComponentBackground( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float arc )
{
double systemScaleFactor = UIScale.getSystemScaleFactor( g );
if( systemScaleFactor != 1 && systemScaleFactor != 2 ) {
// paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175%
HiDPIUtils.paintAtScale1x( g, x, y, width, height, systemScaleFactor,
(g2d, x2, y2, width2, height2, scaleFactor) -> {
paintComponentBackgroundImpl( g2d, x2, y2, width2, height2,
(float) (focusWidth * scaleFactor), (float) (arc * scaleFactor) );
} );
return;
}
paintComponentBackgroundImpl( g, x, y, width, height, focusWidth, arc );
}
private static void paintComponentBackgroundImpl( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float arc ) float focusWidth, float arc )
{ {
g.fill( new RoundRectangle2D.Float( g.fill( new RoundRectangle2D.Float(
@@ -190,22 +290,14 @@ public class FlatUIUtils
} }
/** /**
* Paints an outline border. * Creates a not-filled rectangle shape with the given line width.
*/ */
public static void paintOutlineBorder( Graphics2D g, int x, int y, int width, int height, public static Path2D createRectangle( float x, float y, float width, float height, float lineWidth ) {
float focusWidth, float lineWidth, float arc )
{
float outerArc = (arc > 0) ? arc + focusWidth - UIScale.scale( 2f ) : focusWidth;
float ow = focusWidth + lineWidth;
Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD ); Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
path.append( createOutlinePath( x, y, width, height, outerArc ), false ); path.append( new Rectangle2D.Float( x, y, width, height ), false );
path.append( createOutlinePath( x + ow, y + ow, width - (ow * 2), height - (ow * 2), outerArc - ow ), false ); path.append( new Rectangle2D.Float( x + lineWidth, y + lineWidth,
g.fill( path ); width - (lineWidth * 2), height - (lineWidth * 2) ), false );
} return path;
private static Shape createOutlinePath( float x, float y, float width, float height, float arc ) {
return createRoundRectanglePath( x, y, width, height, arc, arc, arc, arc );
} }
/** /**
@@ -222,7 +314,7 @@ public class FlatUIUtils
} }
/** /**
* Creates a filled rounded rectangle shape and allows specifying the radius or each corner. * Creates a filled rounded rectangle shape and allows specifying the radius of each corner.
*/ */
public static Shape createRoundRectanglePath( float x, float y, float width, float height, public static Shape createRoundRectanglePath( float x, float y, float width, float height,
float arcTopLeft, float arcTopRight, float arcBottomLeft, float arcBottomRight ) float arcTopLeft, float arcTopRight, float arcBottomLeft, float arcBottomRight )
@@ -256,10 +348,16 @@ public class FlatUIUtils
return rect; return rect;
} }
/**
* Creates a closed path for the given points.
*/
public static Path2D createPath( double... points ) { public static Path2D createPath( double... points ) {
return createPath( true, points ); return createPath( true, points );
} }
/**
* Creates a open or closed path for the given points.
*/
public static Path2D createPath( boolean close, double... points ) { public static Path2D createPath( boolean close, double... points ) {
Path2D path = new Path2D.Float(); Path2D path = new Path2D.Float();
path.moveTo( points[0], points[1] ); path.moveTo( points[0], points[1] );

View File

@@ -25,7 +25,7 @@ import java.awt.Color;
*/ */
public class ColorFunctions public class ColorFunctions
{ {
public static Color applyFunctions( Color color, ColorFunction[] functions ) { public static Color applyFunctions( Color color, ColorFunction... functions ) {
float[] hsl = HSLColor.fromRGB( color ); float[] hsl = HSLColor.fromRGB( color );
float alpha = color.getAlpha() / 255f; float alpha = color.getAlpha() / 255f;

View File

@@ -0,0 +1,111 @@
/*
* Copyright 2019 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
*
* http://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.util;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import javax.swing.JComponent;
/**
* @author Karl Tauber
*/
public class HiDPIUtils
{
public interface Painter {
public void paint( Graphics2D g, int x, int y, int width, int height, double scaleFactor );
}
public static void paintAtScale1x( Graphics2D g, JComponent c, Painter painter ) {
paintAtScale1x( g, 0, 0, c.getWidth(), c.getHeight(), painter );
}
public static void paintAtScale1x( Graphics2D g, int x, int y, int width, int height, Painter painter ) {
paintAtScale1x( g, x, y, width, height, UIScale.getSystemScaleFactor( g ), painter );
}
/**
* Paint at system scale factor 1x to avoid rounding issues at 125%, 150% and 175% scaling.
* <p>
* Scales the given Graphics2D down to 100% and invokes the
* given painter passing scaled x, y, width and height.
* <p>
* Uses the same scaling calculation as the JRE uses.
*/
public static void paintAtScale1x( Graphics2D g, int x, int y, int width, int height,
double scaleFactor, Painter painter )
{
if( scaleFactor == 1 ) {
painter.paint( g, x, y, width, height, 1 );
return;
}
// save original transform
AffineTransform transform = g.getTransform();
// scale rectangle
Rectangle2D.Double scaledRect = scale( transform, x, y, width, height );
try {
// unscale to factor 1.0
double scale = 1.0 / scaleFactor;
g.scale( scale, scale );
// compute origin delta x/y
double dx = Math.floor( scaledRect.x ) - transform.getTranslateX();
double dy = Math.floor( scaledRect.y ) - transform.getTranslateY();
// move origin to make sure that origin x/y are at whole numbers
if( dx != 0 || dy != 0 )
g.translate( dx, dy );
int swidth = (int) scaledRect.width;
int sheight = (int) scaledRect.height;
// paint
painter.paint( g, 0, 0, swidth, sheight, scaleFactor );
} finally {
// restore original transform
g.setTransform( transform );
}
}
/**
* Scales a rectangle in the same way as the JRE does in
* sun.java2d.pipe.PixelToParallelogramConverter.fillRectangle(),
* which is used by Graphics.fillRect().
*/
private static Rectangle2D.Double scale( AffineTransform transform, int x, int y, int width, int height ) {
double dx1 = transform.getScaleX();
double dy2 = transform.getScaleY();
double px = x * dx1 + transform.getTranslateX();
double py = y * dy2 + transform.getTranslateY();
dx1 *= width;
dy2 *= height;
double newx = normalize( px );
double newy = normalize( py );
dx1 = normalize( px + dx1 ) - newx;
dy2 = normalize( py + dy2 ) - newy;
return new Rectangle2D.Double( newx, newy, dx1, dy2 );
}
private static double normalize( double value ) {
return Math.floor( value + 0.25 ) + 0.25;
}
}

View File

@@ -20,7 +20,10 @@ import java.awt.Graphics;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComponent; import javax.swing.JComponent;
import com.formdev.flatlaf.FlatLaf;
/** /**
* Provides Java version compatibility methods. * Provides Java version compatibility methods.
@@ -52,7 +55,7 @@ public class JavaCompatibility
? new Class[] { JComponent.class, Graphics2D.class, String.class, int.class, float.class, float.class } ? new Class[] { JComponent.class, Graphics2D.class, String.class, int.class, float.class, float.class }
: new Class[] { JComponent.class, Graphics.class, String.class, int.class, int.class, int.class } ); : new Class[] { JComponent.class, Graphics.class, String.class, int.class, int.class, int.class } );
} catch( Exception ex ) { } catch( Exception ex ) {
ex.printStackTrace(); Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex );
throw new RuntimeException( ex ); throw new RuntimeException( ex );
} }
} }
@@ -64,7 +67,7 @@ public class JavaCompatibility
else else
drawStringUnderlineCharAtMethod.invoke( null, c, g, text, underlinedIndex, x, y ); drawStringUnderlineCharAtMethod.invoke( null, c, g, text, underlinedIndex, x, y );
} catch( IllegalAccessException | IllegalArgumentException | InvocationTargetException ex ) { } catch( IllegalAccessException | IllegalArgumentException | InvocationTargetException ex ) {
ex.printStackTrace(); Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex );
throw new RuntimeException( ex ); throw new RuntimeException( ex );
} }
} }

View File

@@ -1,77 +0,0 @@
/*
* Copyright 2019 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
*
* http://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.util;
import static com.formdev.flatlaf.util.UIScale.scale;
/**
* A number that scales its value.
*
* NOTE:
* Using ScaledNumber in UI defaults works only if the value is get with
* sun.swing.DefaultLookup.getInt(), which is used by some basic UI delegates,
* because this method uses "instanceof Number".
* UIManager.getInt() on the other hand uses "instanceof Integer" and does not work.
*
* @author Karl Tauber
*/
public class ScaledNumber
extends Number
{
private final int value;
public ScaledNumber( int value ) {
this.value = value;
}
@Override
public int intValue() {
return scale( value );
}
@Override
public long longValue() {
return scale( value );
}
@Override
public float floatValue() {
return scale( (float) value );
}
@Override
public double doubleValue() {
return scale( (float) value );
}
@Override
public int hashCode() {
return Integer.hashCode( value );
}
@Override
public boolean equals( Object obj ) {
return (obj instanceof ScaledNumber)
? (value == ((ScaledNumber)obj).value)
: false;
}
@Override
public String toString() {
return Integer.toString( value );
}
}

View File

@@ -197,6 +197,14 @@ public class UIScale
return new FontUIResource( font.getFamily(), font.getStyle(), newFontSize ); return new FontUIResource( font.getFamily(), font.getStyle(), newFontSize );
} }
/**
* Scales the given font.
*/
public static FontUIResource scaleFont( FontUIResource font, float scaleFactor ) {
int newFontSize = Math.round( font.getSize() * scaleFactor );
return new FontUIResource( font.getFamily(), font.getStyle(), newFontSize );
}
/** /**
* Similar to sun.java2d.SunGraphicsEnvironment.getScaleFactor(String) * Similar to sun.java2d.SunGraphicsEnvironment.getScaleFactor(String)
*/ */

View File

@@ -19,6 +19,7 @@
*/ */
module com.formdev.flatlaf { module com.formdev.flatlaf {
requires java.desktop; requires java.desktop;
requires java.logging;
exports com.formdev.flatlaf; exports com.formdev.flatlaf;
exports com.formdev.flatlaf.icons; exports com.formdev.flatlaf.icons;

View File

@@ -30,6 +30,12 @@ Component.innerFocusWidth=0
Component.arrowType=triangle Component.arrowType=triangle
#---- ProgressBar ----
ProgressBar.foreground=#a0a0a0
ProgressBar.selectionForeground=@background
#---- RadioButton ---- #---- RadioButton ----
RadioButton.icon.centerDiameter=5 RadioButton.icon.centerDiameter=5

View File

@@ -35,6 +35,12 @@
@buttonHoverBackground=lighten(3%,autoInverse) @buttonHoverBackground=lighten(3%,autoInverse)
@buttonPressedBackground=lighten(6%,autoInverse) @buttonPressedBackground=lighten(6%,autoInverse)
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
@dropCellBackground=darken(List.selectionBackground,10%,lazy)
@dropCellForeground=lazy(List.selectionForeground)
@dropLineColor=lighten(List.selectionBackground,10%,lazy)
@dropLineShortColor=lighten(List.selectionBackground,30%,lazy)
#---- globals ---- #---- globals ----
@@ -54,14 +60,13 @@
*.acceleratorSelectionForeground=@selectionForeground *.acceleratorSelectionForeground=@selectionForeground
#---- system ---- #---- system colors ----
control=@background activeCaption=#434E60
controlText=@foreground inactiveCaption=#393C3D
infoText=@foreground controlHighlight=darken($controlShadow,20%)
text=@foreground controlLtHighlight=darken($controlShadow,25%)
textText=@foreground controlDkShadow=lighten($controlShadow,10%)
window=@background
#---- Button ---- #---- Button ----
@@ -73,7 +78,7 @@ Button.pressedBackground=@buttonPressedBackground
Button.borderColor=#5e6060 Button.borderColor=#5e6060
Button.disabledBorderColor=#5e6060 Button.disabledBorderColor=#5e6060
Button.focusedBorderColor=#466d94 Button.focusedBorderColor=#466d94
Button.hoverBorderColor=@@Button.focusedBorderColor Button.hoverBorderColor=$Button.focusedBorderColor
Button.default.background=#365880 Button.default.background=#365880
Button.default.foreground=#bbbbbb Button.default.foreground=#bbbbbb
@@ -95,7 +100,7 @@ CheckBox.icon.borderColor=#6B6B6B
CheckBox.icon.disabledBorderColor=#545556 CheckBox.icon.disabledBorderColor=#545556
CheckBox.icon.selectedBorderColor=#6B6B6B CheckBox.icon.selectedBorderColor=#6B6B6B
CheckBox.icon.focusedBorderColor=#466D94 CheckBox.icon.focusedBorderColor=#466D94
CheckBox.icon.hoverBorderColor=@@CheckBox.icon.focusedBorderColor 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
@@ -155,8 +160,8 @@ PopupMenu.borderColor=#515151
#---- ProgressBar ---- #---- ProgressBar ----
ProgressBar.background=#555555 ProgressBar.background=#555555
ProgressBar.foreground=#a0a0a0 ProgressBar.foreground=#4A88C7
ProgressBar.selectionForeground=@background ProgressBar.selectionForeground=@foreground
ProgressBar.selectionBackground=@foreground ProgressBar.selectionBackground=@foreground
@@ -190,7 +195,7 @@ SplitPaneDivider.oneTouchHoverArrowColor=#7A7D81
#---- TabbedPane ---- #---- TabbedPane ----
TabbedPane.disabledForeground=#777777 TabbedPane.disabledForeground=@disabledText
TabbedPane.underlineColor=#4A88C7 TabbedPane.underlineColor=#4A88C7
TabbedPane.disabledUnderlineColor=#7a7a7a TabbedPane.disabledUnderlineColor=#7a7a7a
TabbedPane.hoverColor=#2e3133 TabbedPane.hoverColor=#2e3133

View File

@@ -22,23 +22,22 @@
Button.focusedBackground=null Button.focusedBackground=null
Button.default.background=#4A86C7 Button.default.background=#4D8AC9
Button.default.foreground=#f0f0f0 Button.default.foreground=#FFFFFF
Button.default.focusedBackground=null Button.default.focusedBackground=null
Button.default.hoverBackground=#5B91CC Button.default.borderColor=#3D75B2
Button.default.pressedBackground=#6E9ED2 Button.default.hoverBorderColor=#A9C9F5
Button.default.borderColor=#3167ad Button.default.focusedBorderColor=#A9C9F5
Button.default.hoverBorderColor=#a8cef6
Button.default.focusedBorderColor=#a8cef6
Button.default.focusColor=#97c3f3 Button.default.focusColor=#97c3f3
Button.default.boldText=true Button.default.boldText=true
Button.default.borderWidth=1
#---- CheckBox ---- #---- CheckBox ----
CheckBox.icon.selectedBorderColor=#4982CC CheckBox.icon.selectedBorderColor=#4B97D9
CheckBox.icon.selectedFocusedBorderColor=#ACCFF7 CheckBox.icon.selectedFocusedBorderColor=#ACCFF7
CheckBox.icon.selectedBackground=#4D89C9 CheckBox.icon.selectedBackground=#4F9EE3
CheckBox.icon.checkmarkColor=#FFFFFF CheckBox.icon.checkmarkColor=#FFFFFF
CheckBox.icon.selectedHoverBackground=#5E94CE CheckBox.icon.selectedHoverBackground=#5E94CE

View File

@@ -61,6 +61,31 @@ ViewportUI=com.formdev.flatlaf.ui.FlatViewportUI
@textComponentMargin=2,6,2,6 @textComponentMargin=2,6,2,6
#---- system colors ----
desktop=@textComponentBackground
activeCaptionText=@foreground
activeCaptionBorder=$activeCaption
inactiveCaptionText=@foreground
inactiveCaptionBorder=$inactiveCaption
window=@background
windowBorder=@foreground
windowText=@foreground
menu=@background
menuText=@foreground
text=@textComponentBackground
textText=@foreground
textHighlight=@selectionBackground
textHighlightText=@selectionForeground
textInactiveText=@disabledText
control=@background
controlText=@foreground
controlShadow=$Component.borderColor
scrollbar=$ScrollBar.track
info=$ToolTip.background
infoText=@foreground
#---- Button ---- #---- Button ----
Button.border=com.formdev.flatlaf.ui.FlatButtonBorder Button.border=com.formdev.flatlaf.ui.FlatButtonBorder
@@ -70,15 +95,21 @@ Button.margin=2,14,2,14
Button.iconTextGap=4 Button.iconTextGap=4
Button.rollover=true Button.rollover=true
Button.defaultButtonFollowsFocus=false Button.defaultButtonFollowsFocus=false
[win]Button.defaultButtonFollowsFocus=true
Button.default.borderWidth=1 Button.default.borderWidth=1
#---- Caret ----
Caret.width={scaledInteger}1
#---- CheckBox ---- #---- CheckBox ----
CheckBox.border=com.formdev.flatlaf.ui.FlatMarginBorder CheckBox.border=com.formdev.flatlaf.ui.FlatMarginBorder
CheckBox.icon=com.formdev.flatlaf.icons.FlatCheckBoxIcon CheckBox.icon=com.formdev.flatlaf.icons.FlatCheckBoxIcon
CheckBox.arc=2 CheckBox.arc=4
CheckBox.margin=2,2,2,2 CheckBox.margin=2,2,2,2
CheckBox.iconTextGap=4 CheckBox.iconTextGap=4
CheckBox.rollover=true CheckBox.rollover=true
@@ -107,7 +138,7 @@ ComboBox.padding=2,6,2,6
#---- Component ---- #---- Component ----
Component.focusWidth=0 Component.focusWidth=0
Component.innerFocusWidth=0 Component.innerFocusWidth={float}0.5
Component.arc=5 Component.arc=5
Component.minimumWidth=64 Component.minimumWidth=64
Component.arrowType=chevron Component.arrowType=chevron
@@ -117,8 +148,8 @@ Component.hideMnemonics=true
#---- EditorPane ---- #---- EditorPane ----
EditorPane.border=com.formdev.flatlaf.ui.FlatMarginBorder EditorPane.border=com.formdev.flatlaf.ui.FlatMarginBorder
EditorPane.background=@textComponentBackground
EditorPane.margin=@textComponentMargin EditorPane.margin=@textComponentMargin
EditorPane.background=@textComponentBackground
#---- FileChooser ---- #---- FileChooser ----
@@ -142,34 +173,41 @@ FileView.floppyDriveIcon=com.formdev.flatlaf.icons.FlatFileViewFloppyDriveIcon
#---- FormattedTextField ---- #---- FormattedTextField ----
FormattedTextField.border=com.formdev.flatlaf.ui.FlatBorder FormattedTextField.border=com.formdev.flatlaf.ui.FlatBorder
FormattedTextField.background=@textComponentBackground
FormattedTextField.margin=@textComponentMargin FormattedTextField.margin=@textComponentMargin
FormattedTextField.background=@textComponentBackground
FormattedTextField.placeholderForeground=@disabledText
#---- HelpButton ---- #---- HelpButton ----
HelpButton.icon=com.formdev.flatlaf.icons.FlatHelpButtonIcon HelpButton.icon=com.formdev.flatlaf.icons.FlatHelpButtonIcon
HelpButton.borderColor=@@CheckBox.icon.borderColor HelpButton.borderColor=$CheckBox.icon.borderColor
HelpButton.disabledBorderColor=@@CheckBox.icon.disabledBorderColor HelpButton.disabledBorderColor=$CheckBox.icon.disabledBorderColor
HelpButton.focusedBorderColor=@@CheckBox.icon.focusedBorderColor HelpButton.focusedBorderColor=$CheckBox.icon.focusedBorderColor
HelpButton.hoverBorderColor=@@?CheckBox.icon.hoverBorderColor HelpButton.hoverBorderColor=$?CheckBox.icon.hoverBorderColor
HelpButton.background=@@CheckBox.icon.background HelpButton.background=$CheckBox.icon.background
HelpButton.disabledBackground=@@CheckBox.icon.disabledBackground HelpButton.disabledBackground=$CheckBox.icon.disabledBackground
HelpButton.focusedBackground=@@?CheckBox.icon.focusedBackground HelpButton.focusedBackground=$?CheckBox.icon.focusedBackground
HelpButton.hoverBackground=@@?CheckBox.icon.hoverBackground HelpButton.hoverBackground=$?CheckBox.icon.hoverBackground
HelpButton.pressedBackground=@@?CheckBox.icon.pressedBackground HelpButton.pressedBackground=$?CheckBox.icon.pressedBackground
HelpButton.questionMarkColor=@@CheckBox.icon.checkmarkColor HelpButton.questionMarkColor=$CheckBox.icon.checkmarkColor
HelpButton.disabledQuestionMarkColor=@@CheckBox.icon.disabledCheckmarkColor HelpButton.disabledQuestionMarkColor=$CheckBox.icon.disabledCheckmarkColor
#---- List ---- #---- List ----
List.border=1,0,1,0 List.border=1,0,1,0
List.cellNoFocusBorder=1,6,1,6 List.border=0,0,0,0
List.focusCellHighlightBorder=1,6,1,6,@cellFocusColor List.cellMargins=1,6,1,6
List.focusSelectedCellHighlightBorder=1,6,1,6,@cellFocusColor List.cellFocusColor=@cellFocusColor
List.cellNoFocusBorder=com.formdev.flatlaf.ui.FlatListCellBorder$Default
List.focusCellHighlightBorder=com.formdev.flatlaf.ui.FlatListCellBorder$Focused
List.focusSelectedCellHighlightBorder=com.formdev.flatlaf.ui.FlatListCellBorder$Selected
List.selectionInactiveBackground=@selectionInactiveBackground List.selectionInactiveBackground=@selectionInactiveBackground
List.selectionInactiveForeground=@selectionInactiveForeground List.selectionInactiveForeground=@selectionInactiveForeground
List.dropCellBackground=@dropCellBackground
List.dropCellForeground=@dropCellForeground
List.dropLineColor=@dropLineColor
#---- Menu ---- #---- Menu ----
@@ -202,7 +240,7 @@ OptionPane.maxCharactersPerLine=80
OptionPane.iconMessageGap=16 OptionPane.iconMessageGap=16
OptionPane.messagePadding=3 OptionPane.messagePadding=3
OptionPane.buttonPadding=8 OptionPane.buttonPadding=8
OptionPane.buttonMinimumWidth={scaledNumber}72 OptionPane.buttonMinimumWidth={scaledInteger}72
OptionPane.sameSizeButtons=true OptionPane.sameSizeButtons=true
OptionPane.setButtonMargin=false OptionPane.setButtonMargin=false
OptionPane.buttonOrientation=4 OptionPane.buttonOrientation=4
@@ -217,8 +255,9 @@ OptionPane.warningIcon=com.formdev.flatlaf.icons.FlatOptionPaneWarningIcon
#---- PasswordField ---- #---- PasswordField ----
PasswordField.border=com.formdev.flatlaf.ui.FlatBorder PasswordField.border=com.formdev.flatlaf.ui.FlatBorder
PasswordField.background=@textComponentBackground
PasswordField.margin=@textComponentMargin PasswordField.margin=@textComponentMargin
PasswordField.background=@textComponentBackground
PasswordField.placeholderForeground=@disabledText
#---- PopupMenu ---- #---- PopupMenu ----
@@ -237,8 +276,9 @@ PopupMenuSeparator.stripeIndent=4
#---- ProgressBar ---- #---- ProgressBar ----
ProgressBar.border=com.formdev.flatlaf.ui.FlatEmptyBorder ProgressBar.border=com.formdev.flatlaf.ui.FlatEmptyBorder
ProgressBar.horizontalSize=146,6 ProgressBar.arc=4
ProgressBar.verticalSize=6,146 ProgressBar.horizontalSize=146,4
ProgressBar.verticalSize=4,146
#---- RadioButton ---- #---- RadioButton ----
@@ -262,13 +302,18 @@ RadioButtonMenuItem.margin=2,2,2,2
#---- ScrollBar ---- #---- ScrollBar ----
ScrollBar.width=10 ScrollBar.width=10
ScrollBar.showButtons=false
ScrollBar.squareButtons=false
ScrollBar.buttonArrowColor=$ComboBox.buttonArrowColor
ScrollBar.buttonDisabledArrowColor=$ComboBox.buttonDisabledArrowColor
#---- ScrollPane ---- #---- ScrollPane ----
ScrollPane.border=com.formdev.flatlaf.ui.FlatBorder ScrollPane.border=com.formdev.flatlaf.ui.FlatBorder
ScrollPane.background=@@ScrollBar.track ScrollPane.background=$ScrollBar.track
ScrollPane.fillUpperCorner=true ScrollPane.fillUpperCorner=true
ScrollPane.smoothScrolling=true
#---- Separator ---- #---- Separator ----
@@ -289,10 +334,10 @@ Slider.thumbWidth=11
Spinner.border=com.formdev.flatlaf.ui.FlatRoundBorder Spinner.border=com.formdev.flatlaf.ui.FlatRoundBorder
Spinner.background=@textComponentBackground Spinner.background=@textComponentBackground
Spinner.buttonBackground=@@ComboBox.buttonEditableBackground Spinner.buttonBackground=$ComboBox.buttonEditableBackground
Spinner.buttonArrowColor=@@ComboBox.buttonArrowColor Spinner.buttonArrowColor=$ComboBox.buttonArrowColor
Spinner.buttonDisabledArrowColor=@@ComboBox.buttonDisabledArrowColor Spinner.buttonDisabledArrowColor=$ComboBox.buttonDisabledArrowColor
Spinner.buttonHoverArrowColor=@@ComboBox.buttonHoverArrowColor Spinner.buttonHoverArrowColor=$ComboBox.buttonHoverArrowColor
Spinner.padding=@textComponentMargin Spinner.padding=@textComponentMargin
Spinner.editorBorderPainted=false Spinner.editorBorderPainted=false
@@ -303,11 +348,11 @@ SplitPane.dividerSize={integer}5
SplitPane.continuousLayout=true SplitPane.continuousLayout=true
SplitPane.border=null SplitPane.border=null
SplitPane.centerOneTouchButtons=true SplitPane.centerOneTouchButtons=true
SplitPane.oneTouchButtonSize={scaledNumber}6 SplitPane.oneTouchButtonSize={scaledInteger}6
SplitPane.oneTouchButtonOffset={scaledNumber}2 SplitPane.oneTouchButtonOffset={scaledInteger}2
SplitPaneDivider.border=null SplitPaneDivider.border=null
SplitPaneDivider.oneTouchArrowColor=@@ComboBox.buttonArrowColor SplitPaneDivider.oneTouchArrowColor=$ComboBox.buttonArrowColor
#---- TabbedPane ---- #---- TabbedPane ----
@@ -321,20 +366,30 @@ TabbedPane.tabAreaInsets=0,0,0,0
TabbedPane.selectedTabPadInsets=0,0,0,0 TabbedPane.selectedTabPadInsets=0,0,0,0
TabbedPane.tabRunOverlay=0 TabbedPane.tabRunOverlay=0
TabbedPane.tabsOverlapBorder=true TabbedPane.tabsOverlapBorder=true
TabbedPane.shadow=@@ComboBox.buttonArrowColor TabbedPane.shadow=$ComboBox.buttonArrowColor
#---- Table ---- #---- Table ----
Table.rowHeight=20 Table.rowHeight=20
Table.showHorizontalLines=false
Table.showVerticalLines=false
Table.intercellSpacing={dimension}0,0
Table.scrollPaneBorder=com.formdev.flatlaf.ui.FlatBorder Table.scrollPaneBorder=com.formdev.flatlaf.ui.FlatBorder
Table.ascendingSortIcon=com.formdev.flatlaf.icons.FlatAscendingSortIcon Table.ascendingSortIcon=com.formdev.flatlaf.icons.FlatAscendingSortIcon
Table.descendingSortIcon=com.formdev.flatlaf.icons.FlatDescendingSortIcon Table.descendingSortIcon=com.formdev.flatlaf.icons.FlatDescendingSortIcon
Table.sortIconColor=@icon Table.sortIconColor=@icon
Table.cellNoFocusBorder=2,3,2,3 Table.cellMargins=2,3,2,3
Table.focusSelectedCellHighlightBorder=2,3,2,3,@cellFocusColor Table.cellFocusColor=@cellFocusColor
Table.cellNoFocusBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Default
Table.focusCellHighlightBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Focused
Table.focusSelectedCellHighlightBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Selected
Table.selectionInactiveBackground=@selectionInactiveBackground Table.selectionInactiveBackground=@selectionInactiveBackground
Table.selectionInactiveForeground=@selectionInactiveForeground Table.selectionInactiveForeground=@selectionInactiveForeground
Table.dropCellBackground=@dropCellBackground
Table.dropCellForeground=@dropCellForeground
Table.dropLineColor=@dropLineColor
Table.dropLineShortColor=@dropLineShortColor
#---- TableHeader ---- #---- TableHeader ----
@@ -346,43 +401,51 @@ TableHeader.cellBorder=2,3,2,3
#---- TextArea ---- #---- TextArea ----
TextArea.border=com.formdev.flatlaf.ui.FlatMarginBorder TextArea.border=com.formdev.flatlaf.ui.FlatMarginBorder
TextArea.background=@textComponentBackground
TextArea.margin=@textComponentMargin TextArea.margin=@textComponentMargin
TextArea.background=@textComponentBackground
#---- TextField ---- #---- TextField ----
TextField.border=com.formdev.flatlaf.ui.FlatBorder TextField.border=com.formdev.flatlaf.ui.FlatBorder
TextField.background=@textComponentBackground
TextField.margin=@textComponentMargin TextField.margin=@textComponentMargin
TextField.background=@textComponentBackground
TextField.placeholderForeground=@disabledText
#---- TextPane ---- #---- TextPane ----
TextPane.border=com.formdev.flatlaf.ui.FlatMarginBorder TextPane.border=com.formdev.flatlaf.ui.FlatMarginBorder
TextPane.background=@textComponentBackground
TextPane.margin=@textComponentMargin TextPane.margin=@textComponentMargin
TextPane.background=@textComponentBackground
#---- TitledBorder ---- #---- TitledBorder ----
TitledBorder.titleColor=@foreground TitledBorder.titleColor=@foreground
TitledBorder.border=1,1,1,1,@@Separator.foreground TitledBorder.border=1,1,1,1,$Separator.foreground
#---- ToggleButton ---- #---- ToggleButton ----
ToggleButton.border=com.formdev.flatlaf.ui.FlatButtonBorder ToggleButton.border=com.formdev.flatlaf.ui.FlatButtonBorder
ToggleButton.arc=6
ToggleButton.margin=2,14,2,14 ToggleButton.margin=2,14,2,14
ToggleButton.iconTextGap=4 ToggleButton.iconTextGap=4
ToggleButton.rollover=true ToggleButton.rollover=true
ToggleButton.background=@@Button.background ToggleButton.background=$Button.background
ToggleButton.pressedBackground=@@Button.pressedBackground ToggleButton.pressedBackground=$Button.pressedBackground
ToggleButton.toolbar.hoverBackground=@@Button.toolbar.hoverBackground ToggleButton.toolbar.hoverBackground=$Button.toolbar.hoverBackground
ToggleButton.toolbar.pressedBackground=@@Button.toolbar.pressedBackground ToggleButton.toolbar.pressedBackground=$Button.toolbar.pressedBackground
# button type "underline"
ToggleButton.underline.underlineHeight=2
ToggleButton.underline.underlineColor=$TabbedPane.underlineColor
ToggleButton.underline.disabledUnderlineColor=$TabbedPane.disabledUnderlineColor
ToggleButton.underline.selectedBackground=$?TabbedPane.selectedBackground
ToggleButton.underline.hoverBackground=$TabbedPane.hoverColor
ToggleButton.underline.focusBackground=$TabbedPane.focusColor
#---- ToolBar ---- #---- ToolBar ----
@@ -396,14 +459,14 @@ ToolBar.floatingBackground=@background
ToolBar.separatorSize=null ToolBar.separatorSize=null
ToolBar.separatorWidth=7 ToolBar.separatorWidth=7
ToolBar.separatorColor=@@Separator.foreground ToolBar.separatorColor=$Separator.foreground
#---- ToolTip ---- #---- ToolTip ----
ToolTip.border=4,6,4,6,@@Component.borderColor ToolTip.border=4,6,4,6,$Component.borderColor
ToolTip.borderInactive=null ToolTip.borderInactive=null
ToolTip.backgroundInactive=@@ToolTip.background ToolTip.backgroundInactive=$ToolTip.background
ToolTip.foregroundInactive=@disabledText ToolTip.foregroundInactive=@disabledText
@@ -414,7 +477,11 @@ Tree.selectionInactiveBackground=@selectionInactiveBackground
Tree.selectionInactiveForeground=@selectionInactiveForeground Tree.selectionInactiveForeground=@selectionInactiveForeground
Tree.textBackground=null Tree.textBackground=null
Tree.selectionBorderColor=@cellFocusColor Tree.selectionBorderColor=@cellFocusColor
Tree.dropCellBackground=@dropCellBackground
Tree.dropCellForeground=@dropCellForeground
Tree.dropLineColor=@dropLineColor
Tree.rendererMargins=1,2,1,2 Tree.rendererMargins=1,2,1,2
Tree.wideSelection=true
Tree.paintLines=false Tree.paintLines=false
Tree.leftChildIndent=7 Tree.leftChildIndent=7
Tree.rightChildIndent=11 Tree.rightChildIndent=11

View File

@@ -22,11 +22,11 @@
@background=#f2f2f2 @background=#f2f2f2
@foreground=#000000 @foreground=#000000
@selectionBackground=#4A6EB7 @selectionBackground=#2675BF
@selectionForeground=#ffffff @selectionForeground=#ffffff
@selectionInactiveBackground=#d4d4d4 @selectionInactiveBackground=#d4d4d4
@selectionInactiveForeground=@foreground @selectionInactiveForeground=@foreground
@disabledText=#999999 @disabledText=#8C8C8C
@textComponentBackground=#ffffff @textComponentBackground=#ffffff
@cellFocusColor=#000000 @cellFocusColor=#000000
@icon=#afafaf @icon=#afafaf
@@ -35,6 +35,12 @@
@buttonHoverBackground=darken(3%,autoInverse) @buttonHoverBackground=darken(3%,autoInverse)
@buttonPressedBackground=darken(10%,autoInverse) @buttonPressedBackground=darken(10%,autoInverse)
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
@dropCellBackground=lighten(List.selectionBackground,10%,lazy)
@dropCellForeground=lazy(List.selectionForeground)
@dropLineColor=lighten(List.selectionBackground,20%,lazy)
@dropLineShortColor=darken(List.selectionBackground,20%,lazy)
#---- globals ---- #---- globals ----
@@ -44,7 +50,7 @@
*.textForeground=@foreground *.textForeground=@foreground
*.caretForeground=@foreground *.caretForeground=@foreground
*.inactiveBackground=@background *.inactiveBackground=@background
*.inactiveForeground=#777777 *.inactiveForeground=@disabledText
*.selectionBackground=@selectionBackground *.selectionBackground=@selectionBackground
*.selectionForeground=@selectionForeground *.selectionForeground=@selectionForeground
*.disabledBackground=@background *.disabledBackground=@background
@@ -54,14 +60,13 @@
*.acceleratorSelectionForeground=@selectionForeground *.acceleratorSelectionForeground=@selectionForeground
#---- system ---- #---- system colors ----
control=#e0e0e0 activeCaption=#99b4d1
controlText=@foreground inactiveCaption=#bfcddb
infoText=@foreground controlHighlight=#e3e3e3
text=@foreground controlLtHighlight=#fff
textText=@foreground controlDkShadow=darken($controlShadow,15%)
window=@background
#---- Button ---- #---- Button ----
@@ -71,20 +76,20 @@ Button.focusedBackground=#e3f1fa
Button.hoverBackground=@buttonHoverBackground Button.hoverBackground=@buttonHoverBackground
Button.pressedBackground=@buttonPressedBackground Button.pressedBackground=@buttonPressedBackground
Button.borderColor=#bfbfbf Button.borderColor=$Component.borderColor
Button.disabledBorderColor=#cfcfcf Button.disabledBorderColor=$Component.disabledBorderColor
Button.focusedBorderColor=#87afda Button.focusedBorderColor=$Component.focusedBorderColor
Button.hoverBorderColor=@@Button.focusedBorderColor 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=@buttonHoverBackground
Button.default.pressedBackground=@buttonPressedBackground Button.default.pressedBackground=@buttonPressedBackground
Button.default.borderColor=#4D89C9 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=#dfdfdf
@@ -93,18 +98,18 @@ Button.toolbar.pressedBackground=#d8d8d8
#---- CheckBox ---- #---- CheckBox ----
CheckBox.icon.borderColor=#878787 CheckBox.icon.borderColor=#b0b0b0
CheckBox.icon.disabledBorderColor=#BDBDBD CheckBox.icon.disabledBorderColor=#BDBDBD
CheckBox.icon.selectedBorderColor=#878787 CheckBox.icon.selectedBorderColor=$CheckBox.icon.borderColor
CheckBox.icon.focusedBorderColor=#7B9FC7 CheckBox.icon.focusedBorderColor=#7B9FC7
CheckBox.icon.hoverBorderColor=@@CheckBox.icon.focusedBorderColor 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=@buttonHoverBackground
CheckBox.icon.pressedBackground=@buttonPressedBackground CheckBox.icon.pressedBackground=@buttonPressedBackground
CheckBox.icon.selectedBackground=#FFFFFF CheckBox.icon.selectedBackground=#FFFFFF
CheckBox.icon.checkmarkColor=#4D89C9 CheckBox.icon.checkmarkColor=#4F9EE3
CheckBox.icon.disabledCheckmarkColor=#ABABAB CheckBox.icon.disabledCheckmarkColor=#ABABAB
@@ -124,12 +129,12 @@ Component.borderColor=#c4c4c4
Component.disabledBorderColor=#cfcfcf Component.disabledBorderColor=#cfcfcf
Component.focusedBorderColor=#87afda Component.focusedBorderColor=#87afda
Component.focusColor=#97c3f3 Component.focusColor=#97c3f3
Component.linkColor=#4a78c2 Component.linkColor=#2470B3
#---- HelpButton ---- #---- HelpButton ----
HelpButton.questionMarkColor=#4D89C9 HelpButton.questionMarkColor=#4F9EE3
#---- List ---- #---- List ----
@@ -150,19 +155,19 @@ MenuBar.borderColor=#cdcdcd
#---- MenuItemCheckBox ---- #---- MenuItemCheckBox ----
MenuItemCheckBox.icon.checkmarkColor=#4D89C9 MenuItemCheckBox.icon.checkmarkColor=#4F9EE3
MenuItemCheckBox.icon.disabledCheckmarkColor=#ABABAB MenuItemCheckBox.icon.disabledCheckmarkColor=#ABABAB
#---- PopupMenu ---- #---- PopupMenu ----
PopupMenu.borderColor=#cdcdcd PopupMenu.borderColor=#adadad
#---- ProgressBar ---- #---- ProgressBar ----
ProgressBar.background=#c4c4c4 ProgressBar.background=#D1D1D1
ProgressBar.foreground=#808080 ProgressBar.foreground=#1E82E6
ProgressBar.selectionForeground=@textComponentBackground ProgressBar.selectionForeground=@textComponentBackground
ProgressBar.selectionBackground=@foreground ProgressBar.selectionBackground=@foreground
@@ -177,7 +182,7 @@ ScrollBar.hoverThumbColor=#c6c6c6
#---- Separator ---- #---- Separator ----
Separator.foreground=#cdcdcd Separator.foreground=#d1d1d1
#---- Slider ---- #---- Slider ----
@@ -197,7 +202,7 @@ SplitPaneDivider.oneTouchHoverArrowColor=#333333
#---- TabbedPane ---- #---- TabbedPane ----
TabbedPane.disabledForeground=#999999 TabbedPane.disabledForeground=@disabledText
TabbedPane.underlineColor=#4083C9 TabbedPane.underlineColor=#4083C9
TabbedPane.disabledUnderlineColor=#ababab TabbedPane.disabledUnderlineColor=#ababab
TabbedPane.hoverColor=#d9d9d9 TabbedPane.hoverColor=#d9d9d9

View File

@@ -19,5 +19,7 @@
Button.hoverBorderColor=null Button.hoverBorderColor=null
Button.default.hoverBorderColor=null Button.default.hoverBorderColor=null
Button.default.hoverBackground=@buttonHoverBackground
Button.default.pressedBackground=@buttonPressedBackground #---- HelpButton ----
HelpButton.hoverBorderColor=null

View File

@@ -37,6 +37,8 @@ class BasicComponentsPanel
JLabel buttonLabel = new JLabel(); JLabel buttonLabel = new JLabel();
JButton button1 = new JButton(); JButton button1 = new JButton();
JButton button2 = new JButton(); JButton button2 = new JButton();
JButton button5 = new JButton();
JButton button6 = new JButton();
JButton button3 = new JButton(); JButton button3 = new JButton();
JButton button4 = new JButton(); JButton button4 = new JButton();
JButton button13 = new JButton(); JButton button13 = new JButton();
@@ -62,21 +64,25 @@ class BasicComponentsPanel
JLabel spinnerLabel = new JLabel(); JLabel spinnerLabel = new JLabel();
JSpinner spinner1 = new JSpinner(); JSpinner spinner1 = new JSpinner();
JSpinner spinner2 = new JSpinner(); JSpinner spinner2 = new JSpinner();
JComboBox<String> comboBox6 = new JComboBox<>();
JLabel textFieldLabel = new JLabel(); JLabel textFieldLabel = new JLabel();
JTextField textField1 = new JTextField(); JTextField textField1 = new JTextField();
JTextField textField2 = new JTextField(); JTextField textField2 = new JTextField();
JTextField textField3 = new JTextField(); JTextField textField3 = new JTextField();
JTextField textField4 = new JTextField(); JTextField textField4 = new JTextField();
JTextField textField6 = new JTextField();
JLabel formattedTextFieldLabel = new JLabel(); JLabel formattedTextFieldLabel = new JLabel();
JFormattedTextField formattedTextField1 = new JFormattedTextField(); JFormattedTextField formattedTextField1 = new JFormattedTextField();
JFormattedTextField formattedTextField2 = new JFormattedTextField(); JFormattedTextField formattedTextField2 = new JFormattedTextField();
JFormattedTextField formattedTextField3 = new JFormattedTextField(); JFormattedTextField formattedTextField3 = new JFormattedTextField();
JFormattedTextField formattedTextField4 = new JFormattedTextField(); JFormattedTextField formattedTextField4 = new JFormattedTextField();
JFormattedTextField formattedTextField5 = new JFormattedTextField();
JLabel passwordFieldLabel = new JLabel(); JLabel passwordFieldLabel = new JLabel();
JPasswordField passwordField1 = new JPasswordField(); JPasswordField passwordField1 = new JPasswordField();
JPasswordField passwordField2 = new JPasswordField(); JPasswordField passwordField2 = new JPasswordField();
JPasswordField passwordField3 = new JPasswordField(); JPasswordField passwordField3 = new JPasswordField();
JPasswordField passwordField4 = new JPasswordField(); JPasswordField passwordField4 = new JPasswordField();
JPasswordField passwordField5 = new JPasswordField();
JLabel textAreaLabel = new JLabel(); JLabel textAreaLabel = new JLabel();
JScrollPane scrollPane1 = new JScrollPane(); JScrollPane scrollPane1 = new JScrollPane();
JTextArea textArea1 = new JTextArea(); JTextArea textArea1 = new JTextArea();
@@ -162,10 +168,21 @@ class BasicComponentsPanel
button2.setEnabled(false); button2.setEnabled(false);
add(button2, "cell 2 1"); add(button2, "cell 2 1");
//---- button5 ----
button5.setText("square");
button5.putClientProperty("JButton.buttonType", "square");
add(button5, "cell 3 1");
//---- button6 ----
button6.setText("square");
button6.setEnabled(false);
button6.putClientProperty("JButton.buttonType", "square");
add(button6, "cell 4 1");
//---- button3 ---- //---- button3 ----
button3.setText("Help"); button3.setText("Help");
button3.putClientProperty("JButton.buttonType", "help"); button3.putClientProperty("JButton.buttonType", "help");
add(button3, "cell 3 1"); add(button3, "cell 4 1");
//---- button4 ---- //---- button4 ----
button4.setText("Help"); button4.setText("Help");
@@ -304,6 +321,11 @@ class BasicComponentsPanel
spinner2.setEnabled(false); spinner2.setEnabled(false);
add(spinner2, "cell 2 5,growx"); add(spinner2, "cell 2 5,growx");
//---- comboBox6 ----
comboBox6.setEditable(true);
comboBox6.putClientProperty("JTextField.placeholderText", "placeholder");
add(comboBox6, "cell 5 5,growx");
//---- textFieldLabel ---- //---- textFieldLabel ----
textFieldLabel.setText("JTextField:"); textFieldLabel.setText("JTextField:");
add(textFieldLabel, "cell 0 6"); add(textFieldLabel, "cell 0 6");
@@ -328,6 +350,10 @@ class BasicComponentsPanel
textField4.setEditable(false); textField4.setEditable(false);
add(textField4, "cell 4 6,growx"); add(textField4, "cell 4 6,growx");
//---- textField6 ----
textField6.putClientProperty("JTextField.placeholderText", "placeholder");
add(textField6, "cell 5 6,growx");
//---- formattedTextFieldLabel ---- //---- formattedTextFieldLabel ----
formattedTextFieldLabel.setText("JFormattedTextField:"); formattedTextFieldLabel.setText("JFormattedTextField:");
add(formattedTextFieldLabel, "cell 0 7"); add(formattedTextFieldLabel, "cell 0 7");
@@ -352,6 +378,10 @@ class BasicComponentsPanel
formattedTextField4.setEditable(false); formattedTextField4.setEditable(false);
add(formattedTextField4, "cell 4 7,growx"); add(formattedTextField4, "cell 4 7,growx");
//---- formattedTextField5 ----
formattedTextField5.putClientProperty("JTextField.placeholderText", "placeholder");
add(formattedTextField5, "cell 5 7,growx");
//---- passwordFieldLabel ---- //---- passwordFieldLabel ----
passwordFieldLabel.setText("JPasswordField:"); passwordFieldLabel.setText("JPasswordField:");
add(passwordFieldLabel, "cell 0 8"); add(passwordFieldLabel, "cell 0 8");
@@ -376,6 +406,10 @@ class BasicComponentsPanel
passwordField4.setEditable(false); passwordField4.setEditable(false);
add(passwordField4, "cell 4 8,growx"); add(passwordField4, "cell 4 8,growx");
//---- passwordField5 ----
passwordField5.putClientProperty("JTextField.placeholderText", "placeholder");
add(passwordField5, "cell 5 8,growx");
//---- textAreaLabel ---- //---- textAreaLabel ----
textAreaLabel.setText("JTextArea:"); textAreaLabel.setText("JTextArea:");
add(textAreaLabel, "cell 0 9"); add(textAreaLabel, "cell 0 9");

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "11.0.2" encoding: "UTF-8" JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -54,12 +54,27 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 1" "value": "cell 2 1"
} ) } )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button5"
"text": "square"
"$client.JButton.buttonType": "square"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 1"
} )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button6"
"text": "square"
"enabled": false
"$client.JButton.buttonType": "square"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 1"
} )
add( new FormComponent( "javax.swing.JButton" ) { add( new FormComponent( "javax.swing.JButton" ) {
name: "button3" name: "button3"
"text": "Help" "text": "Help"
"$client.JButton.buttonType": "help" "$client.JButton.buttonType": "help"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 1" "value": "cell 4 1"
} ) } )
add( new FormComponent( "javax.swing.JButton" ) { add( new FormComponent( "javax.swing.JButton" ) {
name: "button4" name: "button4"
@@ -253,6 +268,16 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 5,growx" "value": "cell 2 5,growx"
} ) } )
add( new FormComponent( "javax.swing.JComboBox" ) {
name: "comboBox6"
"editable": true
"$client.JTextField.placeholderText": "placeholder"
auxiliary() {
"JavaCodeGenerator.typeParameters": "String"
}
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 5,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "textFieldLabel" name: "textFieldLabel"
"text": "JTextField:" "text": "JTextField:"
@@ -287,6 +312,12 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 6,growx" "value": "cell 4 6,growx"
} ) } )
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField6"
"$client.JTextField.placeholderText": "placeholder"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 6,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "formattedTextFieldLabel" name: "formattedTextFieldLabel"
"text": "JFormattedTextField:" "text": "JFormattedTextField:"
@@ -321,6 +352,12 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 7,growx" "value": "cell 4 7,growx"
} ) } )
add( new FormComponent( "javax.swing.JFormattedTextField" ) {
name: "formattedTextField5"
"$client.JTextField.placeholderText": "placeholder"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 7,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "passwordFieldLabel" name: "passwordFieldLabel"
"text": "JPasswordField:" "text": "JPasswordField:"
@@ -355,6 +392,12 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 8,growx" "value": "cell 4 8,growx"
} ) } )
add( new FormComponent( "javax.swing.JPasswordField" ) {
name: "passwordField5"
"$client.JTextField.placeholderText": "placeholder"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 8,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "textAreaLabel" name: "textAreaLabel"
"text": "JTextArea:" "text": "JTextArea:"

View File

@@ -77,6 +77,9 @@ class ControlBar
EventQueue.invokeLater( () -> { EventQueue.invokeLater( () -> {
// update info label because user scale factor may change // update info label because user scale factor may change
updateInfoLabel(); updateInfoLabel();
// this is necessary because embedded JOptionPane's "steal" the default button
frame.getRootPane().setDefaultButton( closeButton );
} ); } );
} }
} ); } );
@@ -164,8 +167,6 @@ class ControlBar
if( lafClassName.equals( UIManager.getLookAndFeel().getClass().getName() ) ) if( lafClassName.equals( UIManager.getLookAndFeel().getClass().getName() ) )
return; return;
FlatLafDemo.prefs.put( FlatLafDemo.KEY_LAF, lafClassName );
EventQueue.invokeLater( () -> { EventQueue.invokeLater( () -> {
try { try {
// change look and feel // change look and feel

View File

@@ -16,8 +16,12 @@
package com.formdev.flatlaf.demo; package com.formdev.flatlaf.demo;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import javax.swing.*; import javax.swing.*;
import javax.swing.table.*; import javax.swing.table.*;
import javax.swing.tree.*;
import net.miginfocom.swing.*; import net.miginfocom.swing.*;
/** /**
@@ -30,22 +34,53 @@ class DataComponentsPanel
initComponents(); initComponents();
} }
private void dndChanged() {
boolean dnd = dndCheckBox.isSelected();
list1.setDragEnabled( dnd );
list2.setDragEnabled( dnd );
tree1.setDragEnabled( dnd );
tree2.setDragEnabled( dnd );
table1.setDragEnabled( dnd );
DropMode dropMode = dnd ? DropMode.ON_OR_INSERT : DropMode.USE_SELECTION;
list1.setDropMode( dropMode );
tree1.setDropMode( dropMode );
table1.setDropMode( dropMode );
String key = "FlatLaf.oldTransferHandler";
if( dnd ) {
list1.putClientProperty( key, list1.getTransferHandler() );
list1.setTransferHandler( new DummyTransferHandler() );
tree1.putClientProperty( key, tree1.getTransferHandler() );
tree1.setTransferHandler( new DummyTransferHandler() );
table1.putClientProperty( key, table1.getTransferHandler() );
table1.setTransferHandler( new DummyTransferHandler() );
} else {
list1.setTransferHandler( (TransferHandler) list1.getClientProperty( key ) );
tree1.setTransferHandler( (TransferHandler) tree1.getClientProperty( key ) );
table1.setTransferHandler( (TransferHandler) table1.getClientProperty( key ) );
}
}
@SuppressWarnings( { "unchecked", "rawtypes" } ) @SuppressWarnings( { "unchecked", "rawtypes" } )
private void initComponents() { private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
JLabel listLabel = new JLabel(); JLabel listLabel = new JLabel();
JScrollPane scrollPane1 = new JScrollPane(); JScrollPane scrollPane1 = new JScrollPane();
JList<String> list1 = new JList<>(); list1 = new JList<>();
JScrollPane scrollPane2 = new JScrollPane(); JScrollPane scrollPane2 = new JScrollPane();
JList<String> list2 = new JList<>(); list2 = new JList<>();
JLabel treeLabel = new JLabel(); JLabel treeLabel = new JLabel();
JScrollPane scrollPane3 = new JScrollPane(); JScrollPane scrollPane3 = new JScrollPane();
JTree tree1 = new JTree(); tree1 = new JTree();
JScrollPane scrollPane4 = new JScrollPane(); JScrollPane scrollPane4 = new JScrollPane();
JTree tree2 = new JTree(); tree2 = new JTree();
JLabel tableLabel = new JLabel(); JLabel tableLabel = new JLabel();
JScrollPane scrollPane5 = new JScrollPane(); JScrollPane scrollPane5 = new JScrollPane();
JTable table1 = new JTable(); table1 = new JTable();
dndCheckBox = new JCheckBox();
//======== this ======== //======== this ========
setLayout(new MigLayout( setLayout(new MigLayout(
@@ -57,7 +92,8 @@ class DataComponentsPanel
// rows // rows
"[]" + "[]" +
"[::200]" + "[::200]" +
"[::150]")); "[::150]" +
"[]"));
//---- listLabel ---- //---- listLabel ----
listLabel.setText("JList:"); listLabel.setText("JList:");
@@ -65,15 +101,25 @@ class DataComponentsPanel
//======== scrollPane1 ======== //======== scrollPane1 ========
{ {
scrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
scrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
//---- list1 ---- //---- list1 ----
list1.setModel(new AbstractListModel<String>() { list1.setModel(new AbstractListModel<String>() {
String[] values = { String[] values = {
"abc", "item 1",
"de", "item 2",
"f" "item 3",
"item 4",
"item 5",
"item 6",
"item 7",
"item 8",
"item 9",
"item 10",
"item 11",
"item 12",
"item 13",
"item 14",
"item 15"
}; };
@Override @Override
public int getSize() { return values.length; } public int getSize() { return values.length; }
@@ -86,15 +132,25 @@ class DataComponentsPanel
//======== scrollPane2 ======== //======== scrollPane2 ========
{ {
scrollPane2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
scrollPane2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
//---- list2 ---- //---- list2 ----
list2.setModel(new AbstractListModel<String>() { list2.setModel(new AbstractListModel<String>() {
String[] values = { String[] values = {
"abc", "item 1",
"de", "item 2",
"f" "item 3",
"item 4",
"item 5",
"item 6",
"item 7",
"item 8",
"item 9",
"item 10",
"item 11",
"item 12",
"item 13",
"item 14",
"item 15"
}; };
@Override @Override
public int getSize() { return values.length; } public int getSize() { return values.length; }
@@ -115,6 +171,33 @@ class DataComponentsPanel
//---- tree1 ---- //---- tree1 ----
tree1.setShowsRootHandles(true); tree1.setShowsRootHandles(true);
tree1.setEditable(true);
tree1.setModel(new DefaultTreeModel(
new DefaultMutableTreeNode("JTree") {
{
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("colors");
node1.add(new DefaultMutableTreeNode("blue"));
node1.add(new DefaultMutableTreeNode("violet"));
node1.add(new DefaultMutableTreeNode("red"));
node1.add(new DefaultMutableTreeNode("yellow"));
add(node1);
node1 = new DefaultMutableTreeNode("sports");
node1.add(new DefaultMutableTreeNode("basketball"));
node1.add(new DefaultMutableTreeNode("soccer"));
node1.add(new DefaultMutableTreeNode("football"));
node1.add(new DefaultMutableTreeNode("hockey"));
add(node1);
node1 = new DefaultMutableTreeNode("food");
node1.add(new DefaultMutableTreeNode("hot dogs"));
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("pizza");
node2.add(new DefaultMutableTreeNode("pizza aglio e olio"));
node2.add(new DefaultMutableTreeNode("pizza margherita bianca"));
node1.add(node2);
node1.add(new DefaultMutableTreeNode("ravioli"));
node1.add(new DefaultMutableTreeNode("bananas"));
add(node1);
}
}));
scrollPane3.setViewportView(tree1); scrollPane3.setViewportView(tree1);
} }
add(scrollPane3, "cell 1 1,growx"); add(scrollPane3, "cell 1 1,growx");
@@ -138,8 +221,18 @@ class DataComponentsPanel
//---- table1 ---- //---- table1 ----
table1.setModel(new DefaultTableModel( table1.setModel(new DefaultTableModel(
new Object[][] { new Object[][] {
{"Item 1a", "Item 2a", "January", "July", 123, null}, {"item 1", "item 1b", "January", "July", 123, null},
{"Item 1b", "Item 2b", "February", "August", 456, true}, {"item 2", "item 2b", "February", "August", 456, true},
{"item 3", null, "March", null, null, null},
{"item 4", null, "April", null, null, null},
{"item 5", null, "May", null, null, null},
{"item 6", null, "June", null, null, null},
{"item 7", null, "July", null, null, null},
{"item 8", null, "August", null, null, null},
{"item 9", null, "September", null, null, null},
{"item 10", null, "October", null, null, null},
{"item 11", null, "November", null, null, null},
{"item 12", null, "December", null, null, null},
}, },
new String[] { new String[] {
"Not editable", "Text", "Combo", "Combo Editable", "Integer", "Boolean" "Not editable", "Text", "Combo", "Combo Editable", "Integer", "Boolean"
@@ -197,11 +290,60 @@ class DataComponentsPanel
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");
//---- dndCheckBox ----
dndCheckBox.setText("enable drag and drop");
dndCheckBox.setMnemonic('D');
dndCheckBox.addActionListener(e -> dndChanged());
add(dndCheckBox, "cell 0 3 3 1");
// 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 );
} }
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
private JList<String> list1;
private JList<String> list2;
private JTree tree1;
private JTree tree2;
private JTable table1;
private JCheckBox dndCheckBox;
// JFormDesigner - End of variables declaration //GEN-END:variables // JFormDesigner - End of variables declaration //GEN-END:variables
//---- class DummyTransferHandler -----------------------------------------
private static class DummyTransferHandler
extends TransferHandler
{
@Override
protected Transferable createTransferable( JComponent c ) {
if( c instanceof JList && ((JList<?>)c).isSelectionEmpty() )
return null;
if( c instanceof JTree && ((JTree)c).isSelectionEmpty() )
return null;
if( c instanceof JTable && ((JTable)c).getSelectionModel().isSelectionEmpty() )
return null;
return new StringSelection( "dummy" );
}
@Override
public int getSourceActions( JComponent c ) {
return COPY;
}
@Override
public boolean canImport( TransferSupport support ) {
return support.isDataFlavorSupported( DataFlavor.stringFlavor );
}
@Override
public boolean importData( TransferSupport support ) {
String message = String.valueOf( support.getDropLocation() );
SwingUtilities.invokeLater( () -> {
JOptionPane.showMessageDialog( null, message, "Drop", JOptionPane.PLAIN_MESSAGE );
} );
return false;
}
}
} }

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "11.0.2" encoding: "UTF-8" JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -9,7 +9,7 @@ new FormModel {
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"$layoutConstraints": "hidemode 3" "$layoutConstraints": "hidemode 3"
"$columnConstraints": "[][200][200]" "$columnConstraints": "[][200][200]"
"$rowConstraints": "[][::200][::150]" "$rowConstraints": "[][::200][::150][]"
} ) { } ) {
name: "this" name: "this"
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
@@ -20,17 +20,28 @@ new FormModel {
} ) } )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) { add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane1" name: "scrollPane1"
"verticalScrollBarPolicy": 21
"horizontalScrollBarPolicy": 31
add( new FormComponent( "javax.swing.JList" ) { add( new FormComponent( "javax.swing.JList" ) {
name: "list1" name: "list1"
"model": &DefaultListModel0 new javax.swing.DefaultListModel { "model": new javax.swing.DefaultListModel {
addElement( "abc" ) addElement( "item 1" )
addElement( "de" ) addElement( "item 2" )
addElement( "f" ) addElement( "item 3" )
addElement( "item 4" )
addElement( "item 5" )
addElement( "item 6" )
addElement( "item 7" )
addElement( "item 8" )
addElement( "item 9" )
addElement( "item 10" )
addElement( "item 11" )
addElement( "item 12" )
addElement( "item 13" )
addElement( "item 14" )
addElement( "item 15" )
} }
auxiliary() { auxiliary() {
"JavaCodeGenerator.typeParameters": "String" "JavaCodeGenerator.typeParameters": "String"
"JavaCodeGenerator.variableLocal": false
} }
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
@@ -38,14 +49,29 @@ new FormModel {
} ) } )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) { add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane2" name: "scrollPane2"
"verticalScrollBarPolicy": 21
"horizontalScrollBarPolicy": 31
add( new FormComponent( "javax.swing.JList" ) { add( new FormComponent( "javax.swing.JList" ) {
name: "list2" name: "list2"
"model": #DefaultListModel0 "model": new javax.swing.DefaultListModel {
addElement( "item 1" )
addElement( "item 2" )
addElement( "item 3" )
addElement( "item 4" )
addElement( "item 5" )
addElement( "item 6" )
addElement( "item 7" )
addElement( "item 8" )
addElement( "item 9" )
addElement( "item 10" )
addElement( "item 11" )
addElement( "item 12" )
addElement( "item 13" )
addElement( "item 14" )
addElement( "item 15" )
}
"enabled": false "enabled": false
auxiliary() { auxiliary() {
"JavaCodeGenerator.typeParameters": "String" "JavaCodeGenerator.typeParameters": "String"
"JavaCodeGenerator.variableLocal": false
} }
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
@@ -62,6 +88,64 @@ new FormModel {
add( new FormComponent( "javax.swing.JTree" ) { add( new FormComponent( "javax.swing.JTree" ) {
name: "tree1" name: "tree1"
"showsRootHandles": true "showsRootHandles": true
"editable": true
"model": new javax.swing.tree.DefaultTreeModel( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "JTree"
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "colors"
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "blue"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "violet"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "red"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "yellow"
} )
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "sports"
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "basketball"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "soccer"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "football"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "hockey"
} )
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "food"
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "hot dogs"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "pizza"
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "pizza aglio e olio"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "pizza margherita bianca"
} )
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "ravioli"
} )
add( new javax.swing.tree.DefaultMutableTreeNode {
userObject: "bananas"
} )
} )
} )
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 1,growx" "value": "cell 1 1,growx"
@@ -71,6 +155,9 @@ new FormModel {
add( new FormComponent( "javax.swing.JTree" ) { add( new FormComponent( "javax.swing.JTree" ) {
name: "tree2" name: "tree2"
"enabled": false "enabled": false
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 1,growx" "value": "cell 2 1,growx"
@@ -87,21 +174,101 @@ new FormModel {
name: "table1" name: "table1"
"model": new com.jformdesigner.model.SwingTableModel( new java.util.Vector { "model": new com.jformdesigner.model.SwingTableModel( new java.util.Vector {
add( new java.util.Vector { add( new java.util.Vector {
add( "Item 1a" ) add( "item 1" )
add( "Item 2a" ) add( "item 1b" )
add( "January" ) add( "January" )
add( "July" ) add( "July" )
add( 123 ) add( 123 )
add( null ) add( null )
} ) } )
add( new java.util.Vector { add( new java.util.Vector {
add( "Item 1b" ) add( "item 2" )
add( "Item 2b" ) add( "item 2b" )
add( "February" ) add( "February" )
add( "August" ) add( "August" )
add( 456 ) add( 456 )
add( true ) add( true )
} ) } )
add( new java.util.Vector {
add( "item 3" )
add( null )
add( "March" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 4" )
add( null )
add( "April" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 5" )
add( null )
add( "May" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 6" )
add( null )
add( "June" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 7" )
add( null )
add( "July" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 8" )
add( null )
add( "August" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 9" )
add( null )
add( "September" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 10" )
add( null )
add( "October" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 11" )
add( null )
add( "November" )
add( null )
add( null )
add( null )
} )
add( new java.util.Vector {
add( "item 12" )
add( null )
add( "December" )
add( null )
add( null )
add( null )
} )
}, new java.util.Vector { }, new java.util.Vector {
add( "Not editable" ) add( "Not editable" )
add( "Text" ) add( "Text" )
@@ -132,10 +299,24 @@ new FormModel {
add( null ) add( null )
} ) } )
"autoCreateRowSorter": true "autoCreateRowSorter": true
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 2 2 1,growx,width 300" "value": "cell 1 2 2 1,growx,width 300"
} ) } )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "dndCheckBox"
"text": "enable drag and drop"
"mnemonic": 68
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "dndChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3 3 1"
} )
}, new FormLayoutConstraints( null ) { }, new FormLayoutConstraints( null ) {
"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 )

View File

@@ -30,7 +30,7 @@ class DemoFrame
extends JFrame extends JFrame
{ {
DemoFrame() { DemoFrame() {
int tabIndex = FlatLafDemo.prefs.getInt( FlatLafDemo.KEY_TAB, 0 ); int tabIndex = DemoPrefs.getState().getInt( FlatLafDemo.KEY_TAB, 0 );
initComponents(); initComponents();
controlBar.initialize( this, tabbedPane ); controlBar.initialize( this, tabbedPane );
@@ -48,7 +48,7 @@ class DemoFrame
} }
private void selectedTabChanged() { private void selectedTabChanged() {
FlatLafDemo.prefs.putInt( FlatLafDemo.KEY_TAB, tabbedPane.getSelectedIndex() ); DemoPrefs.getState().putInt( FlatLafDemo.KEY_TAB, tabbedPane.getSelectedIndex() );
} }
private void initComponents() { private void initComponents() {

View File

@@ -0,0 +1,84 @@
/*
* Copyright 2019 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
*
* http://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;
import java.io.FileInputStream;
import java.util.prefs.Preferences;
import javax.swing.UIManager;
import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.FlatLightLaf;
import com.formdev.flatlaf.IntelliJTheme;
import com.formdev.flatlaf.demo.intellijthemes.IJThemesPanel;
/**
* @author Karl Tauber
*/
public class DemoPrefs
{
public static final String KEY_LAF = "laf";
public static final String KEY_LAF_INTELLIJ_THEME = "lafIntelliJTheme";
public static final String RESOURCE_PREFIX = "res:";
public static final String FILE_PREFIX = "file:";
public static final String INTELLIJ_THEME_UI_KEY = "__FlatLaf.demo.intelliJTheme";
private static Preferences state;
public static Preferences getState() {
return state;
}
public static void init( String rootPath ) {
state = Preferences.userRoot().node( rootPath );
}
public static void initLaf( String[] args ) {
// set look and feel
try {
if( args.length > 0 )
UIManager.setLookAndFeel( args[0] );
else {
String lafClassName = state.get( KEY_LAF, FlatLightLaf.class.getName() );
if( IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) {
String intelliJTheme = state.get( KEY_LAF_INTELLIJ_THEME, "" );
if( intelliJTheme.startsWith( RESOURCE_PREFIX ) )
IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( intelliJTheme.substring( RESOURCE_PREFIX.length() ) ) );
else if( intelliJTheme.startsWith( FILE_PREFIX ) )
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( intelliJTheme.substring( FILE_PREFIX.length() ) ) ) );
else
FlatLightLaf.install();
if( !intelliJTheme.isEmpty() )
UIManager.getLookAndFeelDefaults().put( INTELLIJ_THEME_UI_KEY, intelliJTheme );
} else
UIManager.setLookAndFeel( lafClassName );
}
} catch( Exception ex ) {
ex.printStackTrace();
// fallback
FlatLightLaf.install();
}
// remember active look and feel
UIManager.addPropertyChangeListener( e -> {
if( "lookAndFeel".equals( e.getPropertyName() ) )
state.put( KEY_LAF, UIManager.getLookAndFeel().getClass().getName() );
} );
}
}

View File

@@ -16,10 +16,7 @@
package com.formdev.flatlaf.demo; package com.formdev.flatlaf.demo;
import java.util.prefs.Preferences;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import com.formdev.flatlaf.FlatLightLaf;
/** /**
* @author Karl Tauber * @author Karl Tauber
@@ -27,29 +24,14 @@ import com.formdev.flatlaf.FlatLightLaf;
public class FlatLafDemo public class FlatLafDemo
{ {
static final String PREFS_ROOT_PATH = "/flatlaf-demo"; static final String PREFS_ROOT_PATH = "/flatlaf-demo";
static final String KEY_LAF = "laf";
static final String KEY_TAB = "tab"; static final String KEY_TAB = "tab";
static Preferences prefs;
public static void main( String[] args ) { public static void main( String[] args ) {
SwingUtilities.invokeLater( () -> { SwingUtilities.invokeLater( () -> {
prefs = Preferences.userRoot().node( PREFS_ROOT_PATH ); DemoPrefs.init( PREFS_ROOT_PATH );
// set look and feel // set look and feel
try { DemoPrefs.initLaf( args );
if( args.length > 0 )
UIManager.setLookAndFeel( args[0] );
else {
String lafClassName = prefs.get( KEY_LAF, FlatLightLaf.class.getName() );
UIManager.setLookAndFeel( lafClassName );
}
} catch( Exception ex ) {
ex.printStackTrace();
// fallback
FlatLightLaf.install();
}
// create frame // create frame
DemoFrame frame = new DemoFrame(); DemoFrame frame = new DemoFrame();

View File

@@ -31,6 +31,14 @@ class MoreComponentsPanel
initComponents(); initComponents();
} }
private void changeProgress() {
int value = slider3.getValue();
progressBar1.setValue( value );
progressBar2.setValue( value );
progressBar3.setValue( value );
progressBar4.setValue( value );
}
private void indeterminateCheckBoxActionPerformed() { private void indeterminateCheckBoxActionPerformed() {
boolean indeterminate = indeterminateCheckBox.isSelected(); boolean indeterminate = indeterminateCheckBox.isSelected();
progressBar1.setIndeterminate( indeterminate ); progressBar1.setIndeterminate( indeterminate );
@@ -46,6 +54,8 @@ class MoreComponentsPanel
JPanel panel1 = new JPanel(); JPanel panel1 = new JPanel();
JScrollBar scrollBar2 = new JScrollBar(); JScrollBar scrollBar2 = new JScrollBar();
JScrollBar scrollBar3 = new JScrollBar(); JScrollBar scrollBar3 = new JScrollBar();
JScrollBar scrollBar7 = new JScrollBar();
JScrollBar scrollBar8 = new JScrollBar();
JSeparator separator2 = new JSeparator(); JSeparator separator2 = new JSeparator();
JSlider slider2 = new JSlider(); JSlider slider2 = new JSlider();
JSlider slider4 = new JSlider(); JSlider slider4 = new JSlider();
@@ -59,14 +69,23 @@ class MoreComponentsPanel
JToggleButton toggleButton7 = new JToggleButton(); JToggleButton toggleButton7 = new JToggleButton();
JLabel scrollBarLabel = new JLabel(); JLabel scrollBarLabel = new JLabel();
JScrollBar scrollBar1 = new JScrollBar(); JScrollBar scrollBar1 = new JScrollBar();
JLabel label4 = new JLabel();
JScrollBar scrollBar4 = new JScrollBar(); JScrollBar scrollBar4 = new JScrollBar();
JPanel panel3 = new JPanel();
JLabel label3 = new JLabel();
JScrollPane scrollPane15 = new JScrollPane();
JEditorPane editorPane6 = new JEditorPane();
JScrollPane scrollPane16 = new JScrollPane();
JTextPane textPane6 = new JTextPane();
JScrollBar scrollBar5 = new JScrollBar();
JScrollBar scrollBar6 = new JScrollBar();
JLabel separatorLabel = new JLabel(); JLabel separatorLabel = new JLabel();
JSeparator separator1 = new JSeparator(); JSeparator separator1 = new JSeparator();
JPanel panel2 = new JPanel(); JPanel panel2 = new JPanel();
JLabel sliderLabel = new JLabel(); JLabel sliderLabel = new JLabel();
JSlider slider1 = new JSlider(); JSlider slider1 = new JSlider();
JSlider slider6 = new JSlider(); JSlider slider6 = new JSlider();
JSlider slider3 = new JSlider(); slider3 = new JSlider();
JSlider slider5 = new JSlider(); JSlider slider5 = new JSlider();
JLabel progressBarLabel = new JLabel(); JLabel progressBarLabel = new JLabel();
progressBar1 = new JProgressBar(); progressBar1 = new JProgressBar();
@@ -102,6 +121,8 @@ class MoreComponentsPanel
"[]" + "[]" +
"[]" + "[]" +
"[]" + "[]" +
"[]" +
"[]" +
"[]")); "[]"));
//---- scrollPaneLabel ---- //---- scrollPaneLabel ----
@@ -121,20 +142,29 @@ class MoreComponentsPanel
scrollPane13.setViewportView(panel1); scrollPane13.setViewportView(panel1);
} }
add(scrollPane13, "cell 1 0,grow,width 70,height 70"); add(scrollPane13, "cell 1 0,grow,width 70,height 70");
add(scrollBar2, "cell 2 0 1 4,growy"); add(scrollBar2, "cell 2 0 1 6,growy");
//---- scrollBar3 ---- //---- scrollBar3 ----
scrollBar3.setEnabled(false); scrollBar3.setEnabled(false);
add(scrollBar3, "cell 2 0 1 4,growy"); add(scrollBar3, "cell 2 0 1 6,growy");
//---- scrollBar7 ----
scrollBar7.putClientProperty("JScrollBar.showButtons", true);
add(scrollBar7, "cell 2 0 1 6,growy");
//---- scrollBar8 ----
scrollBar8.setEnabled(false);
scrollBar8.putClientProperty("JScrollBar.showButtons", true);
add(scrollBar8, "cell 2 0 1 6,growy");
//---- separator2 ---- //---- separator2 ----
separator2.setOrientation(SwingConstants.VERTICAL); separator2.setOrientation(SwingConstants.VERTICAL);
add(separator2, "cell 2 0 1 4,growy"); add(separator2, "cell 2 0 1 6,growy");
//---- slider2 ---- //---- slider2 ----
slider2.setOrientation(SwingConstants.VERTICAL); slider2.setOrientation(SwingConstants.VERTICAL);
slider2.setValue(30); slider2.setValue(30);
add(slider2, "cell 2 0 1 4,growy"); add(slider2, "cell 2 0 1 6,growy");
//---- slider4 ---- //---- slider4 ----
slider4.setMinorTickSpacing(10); slider4.setMinorTickSpacing(10);
@@ -143,19 +173,19 @@ class MoreComponentsPanel
slider4.setPaintLabels(true); slider4.setPaintLabels(true);
slider4.setOrientation(SwingConstants.VERTICAL); slider4.setOrientation(SwingConstants.VERTICAL);
slider4.setValue(30); slider4.setValue(30);
add(slider4, "cell 2 0 1 4,growy"); add(slider4, "cell 2 0 1 6,growy");
add(scrollPane14, "cell 3 0,grow"); add(scrollPane14, "cell 3 0,grow");
//---- progressBar3 ---- //---- progressBar3 ----
progressBar3.setOrientation(SwingConstants.VERTICAL); progressBar3.setOrientation(SwingConstants.VERTICAL);
progressBar3.setValue(50); progressBar3.setValue(60);
add(progressBar3, "cell 4 0 1 4,growy"); add(progressBar3, "cell 4 0 1 6,growy");
//---- progressBar4 ---- //---- progressBar4 ----
progressBar4.setOrientation(SwingConstants.VERTICAL); progressBar4.setOrientation(SwingConstants.VERTICAL);
progressBar4.setValue(55); progressBar4.setValue(60);
progressBar4.setStringPainted(true); progressBar4.setStringPainted(true);
add(progressBar4, "cell 4 0 1 4,growy"); add(progressBar4, "cell 4 0 1 6,growy");
//======== toolBar2 ======== //======== toolBar2 ========
{ {
@@ -178,7 +208,7 @@ class MoreComponentsPanel
toggleButton7.setIcon(UIManager.getIcon("Tree.closedIcon")); toggleButton7.setIcon(UIManager.getIcon("Tree.closedIcon"));
toolBar2.add(toggleButton7); toolBar2.add(toggleButton7);
} }
add(toolBar2, "cell 4 0 1 4,growy"); add(toolBar2, "cell 4 0 1 6,growy");
//---- scrollBarLabel ---- //---- scrollBarLabel ----
scrollBarLabel.setText("JScrollBar:"); scrollBarLabel.setText("JScrollBar:");
@@ -188,35 +218,88 @@ class MoreComponentsPanel
scrollBar1.setOrientation(Adjustable.HORIZONTAL); scrollBar1.setOrientation(Adjustable.HORIZONTAL);
add(scrollBar1, "cell 1 1,growx"); add(scrollBar1, "cell 1 1,growx");
//---- label4 ----
label4.setText("HTML:");
add(label4, "cell 5 1");
//---- scrollBar4 ---- //---- scrollBar4 ----
scrollBar4.setOrientation(Adjustable.HORIZONTAL); scrollBar4.setOrientation(Adjustable.HORIZONTAL);
scrollBar4.setEnabled(false); scrollBar4.setEnabled(false);
add(scrollBar4, "cell 1 2,growx"); add(scrollBar4, "cell 1 2,growx");
//======== panel3 ========
{
panel3.setOpaque(false);
panel3.setLayout(new MigLayout(
"ltr,insets 0,hidemode 3",
// columns
"[]",
// rows
"[]" +
"[]" +
"[]"));
//---- label3 ----
label3.setText("<html>JLabel HTML<br>Sample <b>content</b><br> <u>text</u> with <a href=\"#\">link</a></html>");
panel3.add(label3, "cell 0 0");
//======== scrollPane15 ========
{
//---- editorPane6 ----
editorPane6.setContentType("text/html");
editorPane6.setText("JEditorPane HTML<br>Sample <b>content</b><br> <u>text</u> with <a href=\"#\">link</a>");
scrollPane15.setViewportView(editorPane6);
}
panel3.add(scrollPane15, "cell 0 1,grow");
//======== scrollPane16 ========
{
//---- textPane6 ----
textPane6.setContentType("text/html");
textPane6.setText("JTextPane HTML<br>Sample <b>content</b><br> <u>text</u> with <a href=\"#\">link</a>");
scrollPane16.setViewportView(textPane6);
}
panel3.add(scrollPane16, "cell 0 2,grow");
}
add(panel3, "cell 5 2 1 9,aligny top,growy 0");
//---- scrollBar5 ----
scrollBar5.setOrientation(Adjustable.HORIZONTAL);
scrollBar5.putClientProperty("JScrollBar.showButtons", true);
add(scrollBar5, "cell 1 3,growx");
//---- scrollBar6 ----
scrollBar6.setOrientation(Adjustable.HORIZONTAL);
scrollBar6.setEnabled(false);
scrollBar6.putClientProperty("JScrollBar.showButtons", true);
add(scrollBar6, "cell 1 4,growx");
//---- separatorLabel ---- //---- separatorLabel ----
separatorLabel.setText("JSeparator:"); separatorLabel.setText("JSeparator:");
add(separatorLabel, "cell 0 3"); add(separatorLabel, "cell 0 5");
add(separator1, "cell 1 3,growx"); add(separator1, "cell 1 5,growx");
//======== panel2 ======== //======== panel2 ========
{ {
panel2.setBorder(new TitledBorder("TitledBorder")); panel2.setBorder(new TitledBorder("TitledBorder"));
panel2.setLayout(new FlowLayout()); panel2.setLayout(new FlowLayout());
} }
add(panel2, "cell 3 3,grow"); add(panel2, "cell 3 5,grow");
//---- sliderLabel ---- //---- sliderLabel ----
sliderLabel.setText("JSlider:"); sliderLabel.setText("JSlider:");
add(sliderLabel, "cell 0 4"); add(sliderLabel, "cell 0 6");
//---- slider1 ---- //---- slider1 ----
slider1.setValue(30); slider1.setValue(30);
add(slider1, "cell 1 4 3 1,aligny top,grow 100 0"); add(slider1, "cell 1 6 3 1,aligny top,grow 100 0");
//---- slider6 ---- //---- slider6 ----
slider6.setEnabled(false); slider6.setEnabled(false);
slider6.setValue(30); slider6.setValue(30);
add(slider6, "cell 1 4 3 1,aligny top,growy 0"); add(slider6, "cell 1 6 3 1,aligny top,growy 0");
//---- slider3 ---- //---- slider3 ----
slider3.setMinorTickSpacing(10); slider3.setMinorTickSpacing(10);
@@ -224,7 +307,8 @@ class MoreComponentsPanel
slider3.setMajorTickSpacing(50); slider3.setMajorTickSpacing(50);
slider3.setPaintLabels(true); slider3.setPaintLabels(true);
slider3.setValue(30); slider3.setValue(30);
add(slider3, "cell 1 5 3 1,aligny top,grow 100 0"); slider3.addChangeListener(e -> changeProgress());
add(slider3, "cell 1 7 3 1,aligny top,grow 100 0");
//---- slider5 ---- //---- slider5 ----
slider5.setMinorTickSpacing(10); slider5.setMinorTickSpacing(10);
@@ -233,41 +317,41 @@ class MoreComponentsPanel
slider5.setPaintLabels(true); slider5.setPaintLabels(true);
slider5.setEnabled(false); slider5.setEnabled(false);
slider5.setValue(30); slider5.setValue(30);
add(slider5, "cell 1 5 3 1,aligny top,growy 0"); add(slider5, "cell 1 7 3 1,aligny top,growy 0");
//---- progressBarLabel ---- //---- progressBarLabel ----
progressBarLabel.setText("JProgressBar:"); progressBarLabel.setText("JProgressBar:");
add(progressBarLabel, "cell 0 6"); add(progressBarLabel, "cell 0 8");
//---- progressBar1 ---- //---- progressBar1 ----
progressBar1.setValue(50); progressBar1.setValue(60);
add(progressBar1, "cell 1 6 3 1,growx"); add(progressBar1, "cell 1 8 3 1,growx");
//---- progressBar2 ---- //---- progressBar2 ----
progressBar2.setStringPainted(true); progressBar2.setStringPainted(true);
progressBar2.setValue(55); progressBar2.setValue(60);
add(progressBar2, "cell 1 6 3 1,growx"); add(progressBar2, "cell 1 8 3 1,growx");
//---- indeterminateCheckBox ---- //---- indeterminateCheckBox ----
indeterminateCheckBox.setText("indeterminate"); indeterminateCheckBox.setText("indeterminate");
indeterminateCheckBox.addActionListener(e -> indeterminateCheckBoxActionPerformed()); indeterminateCheckBox.addActionListener(e -> indeterminateCheckBoxActionPerformed());
add(indeterminateCheckBox, "cell 4 6"); add(indeterminateCheckBox, "cell 4 8");
//---- toolTipLabel ---- //---- toolTipLabel ----
toolTipLabel.setText("JToolTip:"); toolTipLabel.setText("JToolTip:");
add(toolTipLabel, "cell 0 7"); add(toolTipLabel, "cell 0 9");
//---- toolTip1 ---- //---- toolTip1 ----
toolTip1.setTipText("Some text in tool tip."); toolTip1.setTipText("Some text in tool tip.");
add(toolTip1, "cell 1 7 3 1"); add(toolTip1, "cell 1 9 3 1");
//---- toolTip2 ---- //---- toolTip2 ----
toolTip2.setTipText("Tool tip with\nmultiple\nlines."); toolTip2.setTipText("Tool tip with\nmultiple\nlines.");
add(toolTip2, "cell 1 7 3 1"); add(toolTip2, "cell 1 9 3 1");
//---- toolBarLabel ---- //---- toolBarLabel ----
toolBarLabel.setText("JToolBar:"); toolBarLabel.setText("JToolBar:");
add(toolBarLabel, "cell 0 8"); add(toolBarLabel, "cell 0 10");
//======== toolBar1 ======== //======== toolBar1 ========
{ {
@@ -297,13 +381,14 @@ class MoreComponentsPanel
toggleButton6.setSelected(true); toggleButton6.setSelected(true);
toolBar1.add(toggleButton6); toolBar1.add(toggleButton6);
} }
add(toolBar1, "cell 1 8 3 1,growx"); add(toolBar1, "cell 1 10 3 1,growx");
// JFormDesigner - End of component initialization //GEN-END:initComponents // JFormDesigner - End of component initialization //GEN-END:initComponents
} }
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
private JProgressBar progressBar3; private JProgressBar progressBar3;
private JProgressBar progressBar4; private JProgressBar progressBar4;
private JSlider slider3;
private JProgressBar progressBar1; private JProgressBar progressBar1;
private JProgressBar progressBar2; private JProgressBar progressBar2;
private JCheckBox indeterminateCheckBox; private JCheckBox indeterminateCheckBox;

View File

@@ -9,7 +9,7 @@ new FormModel {
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"$layoutConstraints": "hidemode 3" "$layoutConstraints": "hidemode 3"
"$columnConstraints": "[][][][][][]" "$columnConstraints": "[][][][][][]"
"$rowConstraints": "[][][][][][][][][]" "$rowConstraints": "[][][][][][][][][][][]"
} ) { } ) {
name: "this" name: "this"
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
@@ -32,26 +32,39 @@ new FormModel {
add( new FormComponent( "javax.swing.JScrollBar" ) { add( new FormComponent( "javax.swing.JScrollBar" ) {
name: "scrollBar2" name: "scrollBar2"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0 1 4,growy" "value": "cell 2 0 1 6,growy"
} ) } )
add( new FormComponent( "javax.swing.JScrollBar" ) { add( new FormComponent( "javax.swing.JScrollBar" ) {
name: "scrollBar3" name: "scrollBar3"
"enabled": false "enabled": false
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0 1 4,growy" "value": "cell 2 0 1 6,growy"
} )
add( new FormComponent( "javax.swing.JScrollBar" ) {
name: "scrollBar7"
"$client.JScrollBar.showButtons": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0 1 6,growy"
} )
add( new FormComponent( "javax.swing.JScrollBar" ) {
name: "scrollBar8"
"enabled": false
"$client.JScrollBar.showButtons": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0 1 6,growy"
} ) } )
add( new FormComponent( "javax.swing.JSeparator" ) { add( new FormComponent( "javax.swing.JSeparator" ) {
name: "separator2" name: "separator2"
"orientation": 1 "orientation": 1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0 1 4,growy" "value": "cell 2 0 1 6,growy"
} ) } )
add( new FormComponent( "javax.swing.JSlider" ) { add( new FormComponent( "javax.swing.JSlider" ) {
name: "slider2" name: "slider2"
"orientation": 1 "orientation": 1
"value": 30 "value": 30
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0 1 4,growy" "value": "cell 2 0 1 6,growy"
} ) } )
add( new FormComponent( "javax.swing.JSlider" ) { add( new FormComponent( "javax.swing.JSlider" ) {
name: "slider4" name: "slider4"
@@ -62,7 +75,7 @@ new FormModel {
"orientation": 1 "orientation": 1
"value": 30 "value": 30
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0 1 4,growy" "value": "cell 2 0 1 6,growy"
} ) } )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) { add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane14" name: "scrollPane14"
@@ -72,23 +85,23 @@ new FormModel {
add( new FormComponent( "javax.swing.JProgressBar" ) { add( new FormComponent( "javax.swing.JProgressBar" ) {
name: "progressBar3" name: "progressBar3"
"orientation": 1 "orientation": 1
"value": 50 "value": 60
auxiliary() { auxiliary() {
"JavaCodeGenerator.variableLocal": false "JavaCodeGenerator.variableLocal": false
} }
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 0 1 4,growy" "value": "cell 4 0 1 6,growy"
} ) } )
add( new FormComponent( "javax.swing.JProgressBar" ) { add( new FormComponent( "javax.swing.JProgressBar" ) {
name: "progressBar4" name: "progressBar4"
"orientation": 1 "orientation": 1
"value": 55 "value": 60
"stringPainted": true "stringPainted": true
auxiliary() { auxiliary() {
"JavaCodeGenerator.variableLocal": false "JavaCodeGenerator.variableLocal": false
} }
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 0 1 4,growy" "value": "cell 4 0 1 6,growy"
} ) } )
add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) { add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) {
name: "toolBar2" name: "toolBar2"
@@ -113,7 +126,7 @@ new FormModel {
"icon": new com.jformdesigner.model.SwingIcon( 2, "Tree.closedIcon" ) "icon": new com.jformdesigner.model.SwingIcon( 2, "Tree.closedIcon" )
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 0 1 4,growy" "value": "cell 4 0 1 6,growy"
} ) } )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "scrollBarLabel" name: "scrollBarLabel"
@@ -127,6 +140,12 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 1,growx" "value": "cell 1 1,growx"
} ) } )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label4"
"text": "HTML:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 1"
} )
add( new FormComponent( "javax.swing.JScrollBar" ) { add( new FormComponent( "javax.swing.JScrollBar" ) {
name: "scrollBar4" name: "scrollBar4"
"orientation": 0 "orientation": 0
@@ -134,41 +153,92 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 2,growx" "value": "cell 1 2,growx"
} ) } )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"$columnConstraints": "[]"
"$rowConstraints": "[][][]"
"$layoutConstraints": "ltr,insets 0,hidemode 3"
} ) {
name: "panel3"
"opaque": false
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label3"
"text": "<html>JLabel HTML<br>Sample <b>content</b><br> <u>text</u> with <a href=\"#\">link</a></html>"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 0"
} )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane15"
add( new FormComponent( "javax.swing.JEditorPane" ) {
name: "editorPane6"
"contentType": "text/html"
"text": "JEditorPane HTML<br>Sample <b>content</b><br> <u>text</u> with <a href=\"#\">link</a>"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 1,grow"
} )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane16"
add( new FormComponent( "javax.swing.JTextPane" ) {
name: "textPane6"
"contentType": "text/html"
"text": "JTextPane HTML<br>Sample <b>content</b><br> <u>text</u> with <a href=\"#\">link</a>"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 2,grow"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 2 1 9,aligny top,growy 0"
} )
add( new FormComponent( "javax.swing.JScrollBar" ) {
name: "scrollBar5"
"orientation": 0
"$client.JScrollBar.showButtons": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3,growx"
} )
add( new FormComponent( "javax.swing.JScrollBar" ) {
name: "scrollBar6"
"orientation": 0
"enabled": false
"$client.JScrollBar.showButtons": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "separatorLabel" name: "separatorLabel"
"text": "JSeparator:" "text": "JSeparator:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3" "value": "cell 0 5"
} ) } )
add( new FormComponent( "javax.swing.JSeparator" ) { add( new FormComponent( "javax.swing.JSeparator" ) {
name: "separator1" name: "separator1"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3,growx" "value": "cell 1 5,growx"
} ) } )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) {
name: "panel2" name: "panel2"
"border": new javax.swing.border.TitledBorder( "TitledBorder" ) "border": new javax.swing.border.TitledBorder( "TitledBorder" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 3,grow" "value": "cell 3 5,grow"
} ) } )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "sliderLabel" name: "sliderLabel"
"text": "JSlider:" "text": "JSlider:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 4" "value": "cell 0 6"
} ) } )
add( new FormComponent( "javax.swing.JSlider" ) { add( new FormComponent( "javax.swing.JSlider" ) {
name: "slider1" name: "slider1"
"value": 30 "value": 30
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4 3 1,aligny top,grow 100 0" "value": "cell 1 6 3 1,aligny top,grow 100 0"
} ) } )
add( new FormComponent( "javax.swing.JSlider" ) { add( new FormComponent( "javax.swing.JSlider" ) {
name: "slider6" name: "slider6"
"enabled": false "enabled": false
"value": 30 "value": 30
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4 3 1,aligny top,growy 0" "value": "cell 1 6 3 1,aligny top,growy 0"
} ) } )
add( new FormComponent( "javax.swing.JSlider" ) { add( new FormComponent( "javax.swing.JSlider" ) {
name: "slider3" name: "slider3"
@@ -177,8 +247,12 @@ new FormModel {
"majorTickSpacing": 50 "majorTickSpacing": 50
"paintLabels": true "paintLabels": true
"value": 30 "value": 30
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "javax.swing.event.ChangeListener", "stateChanged", "changeProgress", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5 3 1,aligny top,grow 100 0" "value": "cell 1 7 3 1,aligny top,grow 100 0"
} ) } )
add( new FormComponent( "javax.swing.JSlider" ) { add( new FormComponent( "javax.swing.JSlider" ) {
name: "slider5" name: "slider5"
@@ -189,32 +263,32 @@ new FormModel {
"enabled": false "enabled": false
"value": 30 "value": 30
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5 3 1,aligny top,growy 0" "value": "cell 1 7 3 1,aligny top,growy 0"
} ) } )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "progressBarLabel" name: "progressBarLabel"
"text": "JProgressBar:" "text": "JProgressBar:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 6" "value": "cell 0 8"
} ) } )
add( new FormComponent( "javax.swing.JProgressBar" ) { add( new FormComponent( "javax.swing.JProgressBar" ) {
name: "progressBar1" name: "progressBar1"
"value": 50 "value": 60
auxiliary() { auxiliary() {
"JavaCodeGenerator.variableLocal": false "JavaCodeGenerator.variableLocal": false
} }
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6 3 1,growx" "value": "cell 1 8 3 1,growx"
} ) } )
add( new FormComponent( "javax.swing.JProgressBar" ) { add( new FormComponent( "javax.swing.JProgressBar" ) {
name: "progressBar2" name: "progressBar2"
"stringPainted": true "stringPainted": true
"value": 55 "value": 60
auxiliary() { auxiliary() {
"JavaCodeGenerator.variableLocal": false "JavaCodeGenerator.variableLocal": false
} }
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6 3 1,growx" "value": "cell 1 8 3 1,growx"
} ) } )
add( new FormComponent( "javax.swing.JCheckBox" ) { add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "indeterminateCheckBox" name: "indeterminateCheckBox"
@@ -224,31 +298,31 @@ new FormModel {
} }
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "indeterminateCheckBoxActionPerformed", false ) ) addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "indeterminateCheckBoxActionPerformed", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 6" "value": "cell 4 8"
} ) } )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "toolTipLabel" name: "toolTipLabel"
"text": "JToolTip:" "text": "JToolTip:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 7" "value": "cell 0 9"
} ) } )
add( new FormComponent( "javax.swing.JToolTip" ) { add( new FormComponent( "javax.swing.JToolTip" ) {
name: "toolTip1" name: "toolTip1"
"tipText": "Some text in tool tip." "tipText": "Some text in tool tip."
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 7 3 1" "value": "cell 1 9 3 1"
} ) } )
add( new FormComponent( "javax.swing.JToolTip" ) { add( new FormComponent( "javax.swing.JToolTip" ) {
name: "toolTip2" name: "toolTip2"
"tipText": "Tool tip with\nmultiple\nlines." "tipText": "Tool tip with\nmultiple\nlines."
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 7 3 1" "value": "cell 1 9 3 1"
} ) } )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "toolBarLabel" name: "toolBarLabel"
"text": "JToolBar:" "text": "JToolBar:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 8" "value": "cell 0 10"
} ) } )
add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) { add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) {
name: "toolBar1" name: "toolBar1"
@@ -282,7 +356,7 @@ new FormModel {
"selected": true "selected": true
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 8 3 1,growx" "value": "cell 1 10 3 1,growx"
} ) } )
}, new FormLayoutConstraints( null ) { }, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 ) "location": new java.awt.Point( 0, 0 )

View File

@@ -5,6 +5,7 @@
package com.formdev.flatlaf.demo; package com.formdev.flatlaf.demo;
import static com.formdev.flatlaf.FlatClientProperties.TABBED_PANE_HAS_FULL_BORDER; import static com.formdev.flatlaf.FlatClientProperties.TABBED_PANE_HAS_FULL_BORDER;
import static com.formdev.flatlaf.FlatClientProperties.TABBED_PANE_SHOW_TAB_SEPARATORS;
import java.awt.*; import java.awt.*;
import javax.swing.*; import javax.swing.*;
import javax.swing.border.*; import javax.swing.border.*;
@@ -29,6 +30,14 @@ class TabsPanel
tabbedPane4.setTabLayoutPolicy( tabLayoutPolicy ); tabbedPane4.setTabLayoutPolicy( tabLayoutPolicy );
} }
private void showTabSeparatorsChanged() {
Boolean showTabSeparators = showTabSeparatorsCheckBox.isSelected() ? true : null;
tabbedPane1.putClientProperty( TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators );
tabbedPane2.putClientProperty( TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators );
tabbedPane3.putClientProperty( TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators );
tabbedPane4.putClientProperty( TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators );
}
private void hasFullBorderChanged() { private void hasFullBorderChanged() {
Boolean hasFullBorder = hasFullBorderCheckBox.isSelected() ? true : null; Boolean hasFullBorder = hasFullBorderCheckBox.isSelected() ? true : null;
tabbedPane1.putClientProperty( TABBED_PANE_HAS_FULL_BORDER, hasFullBorder ); tabbedPane1.putClientProperty( TABBED_PANE_HAS_FULL_BORDER, hasFullBorder );
@@ -96,6 +105,7 @@ class TabsPanel
JPanel panel14 = new JPanel(); JPanel panel14 = new JPanel();
moreTabsCheckBox = new JCheckBox(); moreTabsCheckBox = new JCheckBox();
tabScrollCheckBox = new JCheckBox(); tabScrollCheckBox = new JCheckBox();
showTabSeparatorsCheckBox = new JCheckBox();
hasFullBorderCheckBox = new JCheckBox(); hasFullBorderCheckBox = new JCheckBox();
CellConstraints cc = new CellConstraints(); CellConstraints cc = new CellConstraints();
@@ -285,6 +295,7 @@ class TabsPanel
// columns // columns
"[]" + "[]" +
"[]" + "[]" +
"[]" +
"[]", "[]",
// rows // rows
"[center]")); "[center]"));
@@ -301,11 +312,16 @@ class TabsPanel
tabScrollCheckBox.addActionListener(e -> tabScrollChanged()); tabScrollCheckBox.addActionListener(e -> tabScrollChanged());
panel14.add(tabScrollCheckBox, "cell 1 0,alignx left,growx 0"); panel14.add(tabScrollCheckBox, "cell 1 0,alignx left,growx 0");
//---- showTabSeparatorsCheckBox ----
showTabSeparatorsCheckBox.setText("JTabbedPane.showTabSeparators");
showTabSeparatorsCheckBox.addActionListener(e -> showTabSeparatorsChanged());
panel14.add(showTabSeparatorsCheckBox, "cell 2 0");
//---- hasFullBorderCheckBox ---- //---- hasFullBorderCheckBox ----
hasFullBorderCheckBox.setText("JTabbedPane.hasFullBorder"); hasFullBorderCheckBox.setText("JTabbedPane.hasFullBorder");
hasFullBorderCheckBox.setMnemonic('F'); hasFullBorderCheckBox.setMnemonic('F');
hasFullBorderCheckBox.addActionListener(e -> hasFullBorderChanged()); hasFullBorderCheckBox.addActionListener(e -> hasFullBorderChanged());
panel14.add(hasFullBorderCheckBox, "cell 2 0,alignx left,growx 0"); panel14.add(hasFullBorderCheckBox, "cell 3 0,alignx left,growx 0");
} }
panel9.add(panel14, cc.xywh(1, 11, 3, 1)); panel9.add(panel14, cc.xywh(1, 11, 3, 1));
} }
@@ -320,6 +336,7 @@ class TabsPanel
private JTabbedPane tabbedPane4; private JTabbedPane tabbedPane4;
private JCheckBox moreTabsCheckBox; private JCheckBox moreTabsCheckBox;
private JCheckBox tabScrollCheckBox; private JCheckBox tabScrollCheckBox;
private JCheckBox showTabSeparatorsCheckBox;
private JCheckBox hasFullBorderCheckBox; private JCheckBox hasFullBorderCheckBox;
// JFormDesigner - End of variables declaration //GEN-END:variables // JFormDesigner - End of variables declaration //GEN-END:variables
} }

View File

@@ -199,7 +199,7 @@ new FormModel {
} ) } )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"$layoutConstraints": "insets 0,hidemode 3" "$layoutConstraints": "insets 0,hidemode 3"
"$columnConstraints": "[][][]" "$columnConstraints": "[][][][]"
"$rowConstraints": "[center]" "$rowConstraints": "[center]"
} ) { } ) {
name: "panel14" name: "panel14"
@@ -225,6 +225,16 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 0,alignx left,growx 0" "value": "cell 1 0,alignx left,growx 0"
} ) } )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "showTabSeparatorsCheckBox"
"text": "JTabbedPane.showTabSeparators"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showTabSeparatorsChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) { add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "hasFullBorderCheckBox" name: "hasFullBorderCheckBox"
"text": "JTabbedPane.hasFullBorder" "text": "JTabbedPane.hasFullBorder"
@@ -234,7 +244,7 @@ new FormModel {
} }
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hasFullBorderChanged", false ) ) addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hasFullBorderChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0,alignx left,growx 0" "value": "cell 3 0,alignx left,growx 0"
} ) } )
}, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) {
"gridY": 11 "gridY": 11
@@ -245,7 +255,7 @@ new FormModel {
} ) } )
}, new FormLayoutConstraints( null ) { }, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 ) "location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 500, 515 ) "size": new java.awt.Dimension( 610, 515 )
} ) } )
} }
} }

View File

@@ -37,6 +37,7 @@ import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.function.Predicate;
import javax.swing.*; import javax.swing.*;
import javax.swing.border.CompoundBorder; import javax.swing.border.CompoundBorder;
import javax.swing.event.*; import javax.swing.event.*;
@@ -46,6 +47,7 @@ import com.formdev.flatlaf.FlatIntelliJLaf;
import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.FlatLightLaf; import com.formdev.flatlaf.FlatLightLaf;
import com.formdev.flatlaf.IntelliJTheme; import com.formdev.flatlaf.IntelliJTheme;
import com.formdev.flatlaf.demo.DemoPrefs;
import com.formdev.flatlaf.extras.FlatSVGIcon; import com.formdev.flatlaf.extras.FlatSVGIcon;
import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.StringUtils;
import net.miginfocom.swing.*; import net.miginfocom.swing.*;
@@ -222,12 +224,15 @@ public class IJThemesPanel
} else if( themeInfo.themeFile != null ) { } else if( themeInfo.themeFile != null ) {
try { try {
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( themeInfo.themeFile ) ) ); FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( themeInfo.themeFile ) ) );
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_INTELLIJ_THEME, DemoPrefs.FILE_PREFIX + themeInfo.themeFile );
} catch( Exception ex ) { } catch( Exception ex ) {
ex.printStackTrace(); ex.printStackTrace();
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( themeInfo.resourceName ) );
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_INTELLIJ_THEME, DemoPrefs.RESOURCE_PREFIX + themeInfo.resourceName );
}
// update all components // update all components
FlatLaf.updateUI(); FlatLaf.updateUI();
@@ -326,22 +331,36 @@ public class IJThemesPanel
private void selectedCurrentLookAndFeel() { private void selectedCurrentLookAndFeel() {
LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); LookAndFeel lookAndFeel = UIManager.getLookAndFeel();
String intelliJTheme = UIManager.getLookAndFeelDefaults().getString( DemoPrefs.INTELLIJ_THEME_UI_KEY );
if( intelliJTheme == null && lookAndFeel instanceof IntelliJTheme.ThemeLaf )
return;
Predicate<IJThemeInfo> test;
if( intelliJTheme != null && intelliJTheme.startsWith( DemoPrefs.RESOURCE_PREFIX ) ) {
String resourceName = intelliJTheme.substring( DemoPrefs.RESOURCE_PREFIX.length() );
test = ti -> Objects.equals( ti.resourceName, resourceName );
} else if( intelliJTheme != null && intelliJTheme.startsWith( DemoPrefs.FILE_PREFIX ) ) {
File themeFile = new File( intelliJTheme.substring( DemoPrefs.FILE_PREFIX.length() ) );
test = ti -> Objects.equals( ti.themeFile, themeFile );
} else {
String lafClassName = lookAndFeel.getClass().getName();
test = ti -> Objects.equals( ti.lafClassName, lafClassName );
}
int newSel = -1; int newSel = -1;
if( !(lookAndFeel instanceof IntelliJTheme.ThemeLaf) ) { for( int i = 0; i < themes.size(); i++ ) {
String lafClassName = lookAndFeel.getClass().getName(); if( test.test( themes.get( i ) ) ) {
for( int i = 0; i < themes.size(); i++ ) { newSel = i;
if( lafClassName.equals( themes.get( i ).lafClassName ) ) { break;
newSel = i;
break;
}
} }
if( newSel >= 0 )
themesList.setSelectedIndex( newSel );
else
themesList.clearSelection();
} }
if( newSel >= 0 ) {
if( newSel != themesList.getSelectedIndex() )
themesList.setSelectedIndex( newSel );
} else
themesList.clearSelection();
} }
private void initComponents() { private void initComponents() {

View File

@@ -92,9 +92,6 @@
"Rose": "#ff79c6", "Rose": "#ff79c6",
"Violet": "#bd93f9" "Violet": "#bd93f9"
}, },
"HelpTooltip": {
"shortcutForeground": "#ff79c6"
},
"Label": { "Label": {
"foreground": "#f8f8f2", "foreground": "#f8f8f2",
"errorForeground": "#ff5554" "errorForeground": "#ff5554"
@@ -163,22 +160,6 @@
"inactiveBackground": "#44475a" "inactiveBackground": "#44475a"
} }
}, },
"ScrollBar": {
"thumbColor": "#bd93f9",
"hoverThumbColor": "#bd93f9",
"Transparent": {
"thumbColor": "#bd93f9",
"hoverThumbColor": "#bd93f9"
},
"Mac": {
"thumbColor": "#bd93f9",
"hoverThumbColor": "#bd93f9",
"Transparent": {
"thumbColor": "#bd93f9",
"hoverThumbColor": "#bd93f9"
}
}
},
"SearchEverywhere": { "SearchEverywhere": {
"SearchField": { "SearchField": {
"background": "#44475a" "background": "#44475a"

View File

@@ -1,17 +1,29 @@
{ {
"author": "Vlad Volkov", "author": "Vlad Volkov",
"colors": { "colors": {
"border": "#434343", "accent": "#FFC83C",
"focused": "#5a5a5a", "greyDot15": "#d8d8d8",
"separator": "#434343", "greyDot25": "#bfbfbf",
"background": "#191919", "greyDot33": "#aaaaaa",
"paneBackground": "#252525", "greyDot50": "#7d7d7d",
"lightBackground": "#323232", "greyDot65": "#5a5a5a",
"headerBackground": "#3c3c3c", "greyDot70": "#4d4d4d",
"darkerForeground": "#7d7d7d", "greyDot75": "#434343",
"foreground": "#c8c8c8", "greyDot80": "#323232",
"shadow": "#252525", "greyDot85": "#252525",
"accent": "#FFC83C" "greyDot90": "#191919",
"navyDot85": "#191d21",
"navyDot90": "#1f2021",
"lightBlue": "#90dae6",
"green": "#5B8021",
"red": "#800040",
"desaturatedBlue": "#1e282d",
"desaturatedOrange": "#8049117f",
"transparentGreen": "#5B80217f",
"transparentRed": "#8000407f",
"transparentYellow": "#8066357f",
"transparentViolet": "#9478F67f",
"yellow": "#806635"
}, },
"dark": true, "dark": true,
"editorScheme": "/Hiberbee.xml", "editorScheme": "/Hiberbee.xml",
@@ -31,7 +43,7 @@
"Objects.Yellow": "#f7cd46", "Objects.Yellow": "#f7cd46",
"Objects.Green": "#78b756", "Objects.Green": "#78b756",
"Objects.Purple": "#9478f6", "Objects.Purple": "#9478f6",
"Objects.BlackText": "#4b4b4b", "Objects.BlackText": "#4d4d4d",
"Objects.Blue": "#49b0f1", "Objects.Blue": "#49b0f1",
"Objects.YellowDark": "#fd971f", "Objects.YellowDark": "#fd971f",
"Objects.GreenAndroid": "#78c856" "Objects.GreenAndroid": "#78c856"
@@ -39,76 +51,78 @@
}, },
"name": "Hiberbee", "name": "Hiberbee",
"ui": { "ui": {
"ActionButton.hoverBackground": "separator", "ActionButton.hoverBackground": "greyDot65",
"ActionButton.hoverBorderColor": "focused", "ActionButton.hoverBorderColor": "greyDot50",
"ActionButton.pressedBackground": "focused", "ActionButton.pressedBackground": "greyDot65",
"Borders.ContrastBorderColor": "separator", "Borders.ContrastBorderColor": "greyDot65",
"Borders.color": "border", "ActionButton.pressedBorderColor": "lightBlue",
"Borders.color": "greyDot65",
"Button.arc": "5", "Button.arc": "5",
"Button.background": "lightBackground", "Button.background": "greyDot80",
"Button.default.endBackground": "lightBackground", "Button.default.endBackground": "greyDot80",
"Button.default.endBorderColor": "border", "Button.default.endBorderColor": "greyDot65",
"Button.default.focusColor": "headerBackground", "Button.default.startBorderColor": "greyDot65",
"Button.default.focusedBorderColor": "accent", "Button.default.focusColor": "greyDot50",
"Button.default.foreground": "accent", "Button.default.focusedBorderColor": "lightBlue",
"Button.default.shadowColor": "shadow", "Button.default.foreground": "greyDot25",
"Button.default.startBackground": "lightBackground", "Button.default.shadowColor": "navyDot90",
"Button.default.startBorderColor": "border", "Button.default.startBackground": "greyDot80",
"Button.endBackground": "lightBackground", "Button.endBackground": "greyDot80",
"Button.endBorderColor": "border", "Button.startBorderColor": "greyDot65",
"Button.endBorderColor": "greyDot65",
"Button.focusedBorderColor": "accent", "Button.focusedBorderColor": "accent",
"Button.foreground": "foreground", "Button.foreground": "greyDot25",
"Button.shadowColor": "shadow", "Button.shadowColor": "navyDot90",
"Button.shadowWidth": "0", "Button.shadowWidth": "0",
"Button.startBackground": "lightBackground", "Button.startBackground": "greyDot80",
"Button.startBorderColor": "border", "CheckBox.background": "greyDot80",
"CheckBox.background": "lightBackground", "CheckBoxMenuItem.background": "greyDot80",
"CheckBoxMenuItem.background": "lightBackground", "CheckBoxMenuItem.disabledBackground": "greyDot85",
"CheckBoxMenuItem.disabledBackground": "darkBackground",
"CheckBoxMenuItem.selectionForeground": "accent", "CheckBoxMenuItem.selectionForeground": "accent",
"ComboBox.ArrowButton.disabledIconColor": "separator", "ComboBox.ArrowButton.disabledIconColor": "greyDot50",
"ComboBox.ArrowButton.iconColor": "accent", "ComboBox.ArrowButton.iconColor": "accent",
"ComboBox.ArrowButton.nonEditableBackground": "separator", "ComboBox.ArrowButton.nonEditableBackground": "greyDot70",
"ComboBox.background": "lightBackground", "ComboBox.background": "greyDot80",
"ComboBox.modifiedItemForeground": "accent", "ComboBox.modifiedItemForeground": "accent",
"ComboBox.nonEditableBackground": "headerBackground", "ComboBox.nonEditableBackground": "greyDot75",
"ComboPopup.border": "0,0,0,0,4b4b4b", "ComboPopup.border": "1,1,1,1,5a5a5a",
"CompletionPopup.foreground": "foreground", "CompletionPopup.foreground": "greyDot25",
"CompletionPopup.matchForeground": "accent", "CompletionPopup.matchForeground": "accent",
"CompletionPopup.selectionBackground": "separator", "CompletionPopup.selectionBackground": "navyDot85",
"CompletionPopup.selectionInactiveBackground": "lightBackground", "CompletionPopup.selectionInactiveBackground": "greyDot80",
"Component.arc": "5", "Component.arc": "5",
"Component.borderColor": "focused", "Component.borderColor": "greyDot65",
"Component.errorFocusColor": "#501428", "Component.errorFocusColor": "red",
"Component.focusColor": "#595959", "Component.focusColor": "accent",
"Component.focusWidth": "0", "Component.focusWidth": "0",
"Component.focusedBorderColor": "#666666", "Component.focusedBorderColor": "greyDot50",
"Component.hoverIconColor": "foreground", "Component.hoverIconColor": "accent",
"Component.iconColor": "accent", "Component.iconColor": "lightBlue",
"Component.inactiveErrorFocusColor": "#3c0a14", "Component.inactiveErrorFocusColor": "transparentRed",
"Component.inactiveWarningFocusColor": "#4b3219", "Component.inactiveWarningFocusColor": "transparentYellow",
"Component.warningFocusColor": "#966432", "Component.warningFocusColor": "yellow",
"Counter.background": "lightBackground", "Counter.background": "greyDot80",
"Counter.foreground": "foreground", "Counter.foreground": "greyDot25",
"Debugger.Variables.evaluatingExpressionForeground": "#6782cd", "Debugger.Variables.changedValueForeground": "accent",
"Debugger.Variables.changedValueForeground": "#F9D778", "Debugger.Variables.evaluatingExpressionForeground": "lightBlue",
"DebuggerPopup.borderColor": "border", "DebuggerPopup.borderColor": "greyDot65",
"DefaultTabs.background": "lightBackground", "DefaultTabs.background": "greyDot80",
"DefaultTabs.hoverBackground": "#191C21", "DefaultTabs.borderColor": "greyDot65",
"DefaultTabs.hoverBackground": "navyDot85",
"DefaultTabs.underlineColor": "accent", "DefaultTabs.underlineColor": "accent",
"DefaultTabs.underlineHeight": 1, "DefaultTabs.underlineHeight": 1,
"DefaultTabs.underlinedTabBackground": "border", "DefaultTabs.underlinedTabBackground": "greyDot75",
"DefaultTabs.underlinedTabForeground": "accent", "DefaultTabs.underlinedTabForeground": "lightBlue",
"DragAndDrop.areaBackground": "#666666", "DragAndDrop.areaBackground": "greyDot75",
"DragAndDrop.areaForeground": "foreground", "DragAndDrop.areaForeground": "greyDot25",
"Editor.background": "background", "Editor.background": "greyDot90",
"Editor.foreground": "foreground", "Editor.foreground": "greyDot25",
"EditorPane.background": "lightBackground", "EditorPane.background": "greyDot80",
"EditorPane.caretForeground": "accent", "EditorPane.caretForeground": "accent",
"EditorPane.foreground": "foreground", "EditorPane.foreground": "greyDot25",
"EditorPane.inactiveBackground": "paneBackground", "EditorPane.inactiveBackground": "greyDot85",
"EditorPane.inactiveForeground": "#808080", "EditorPane.inactiveForeground": "greyDot50",
"EditorPane.selectionBackground": "#191C21", "EditorPane.selectionBackground": "navyDot85",
"EditorPane.selectionForeground": "accent", "EditorPane.selectionForeground": "accent",
"EditorTabs.underlineHeight": 1, "EditorTabs.underlineHeight": 1,
"FileColor.Blue": "#23282d", "FileColor.Blue": "#23282d",
@@ -117,188 +131,192 @@
"FileColor.Rose": "#2d2323", "FileColor.Rose": "#2d2323",
"FileColor.Violet": "#2D232D", "FileColor.Violet": "#2D232D",
"FileColor.Yellow": "#2d2d23", "FileColor.Yellow": "#2d2d23",
"GutterTooltip.infoForeground": "darkerForeground", "GutterTooltip.infoForeground": "greyDot50",
"InplaceRefactoringPopup.borderColor": "focused", "InplaceRefactoringPopup.borderColor": "lightBlue",
"Label.background": "lightBackground", "Label.background": "greyDot80",
"Link.activeForeground": "#7da5f0", "Link.activeForeground": "lightBlue",
"Link.hoverForeground": "accent", "Link.hoverForeground": "accent",
"Link.pressedForeground": "#6782cd", "Link.pressedForeground": "lightBlue",
"Link.visitedForeground": "foreground", "Link.visitedForeground": "greyDot25",
"List.background": "lightBackground", "List.background": "greyDot80",
"List.selectionBackground": "#23262B", "List.selectionBackground": "navyDot85",
"List.selectionForeground": "accent", "List.selectionForeground": "accent",
"MemoryIndicator.allocatedBackground": "#0a3c14", "MemoryIndicator.allocatedBackground": "green",
"MemoryIndicator.usedBackground": "#320a19", "MemoryIndicator.usedBackground": "red",
"Menu.acceleratorForeground": "foreground", "Menu.acceleratorForeground": "greyDot25",
"Menu.acceleratorSelectionForeground": "accent", "Menu.acceleratorSelectionForeground": "accent",
"Menu.background": "lightBackground", "Menu.background": "greyDot80",
"Menu.foreground": "foreground", "Menu.borderColor": "greyDot65",
"Menu.foreground": "greyDot25",
"Menu.selectionForeground": "accent", "Menu.selectionForeground": "accent",
"Menu.separatorColor": "separator", "Menu.separatorColor": "greyDot65",
"MenuBar.selectionBackground": "focused", "MenuBar.borderColor": "greyDot65",
"MenuBar.shadow": "shadow", "MenuBar.selectionBackground": "navyDot85",
"MenuBar.shadow": "navyDot90",
"MenuItem.selectionForeground": "accent", "MenuItem.selectionForeground": "accent",
"Notification.MoreButton.background": "paneBackground", "Notification.MoreButton.background": "greyDot85",
"Notification.MoreButton.innerBorderColor": "separator", "Notification.MoreButton.innerBorderColor": "greyDot65",
"Notification.ToolWindow.errorBackground": "#37160b", "Notification.ToolWindow.errorBackground": "red",
"Notification.ToolWindow.errorBorderColor": "#ed6b88", "Notification.ToolWindow.errorBorderColor": "greyDot50",
"Notification.ToolWindow.errorForeground": "#e1e1e1", "Notification.ToolWindow.errorForeground": "greyDot15",
"Notification.ToolWindow.informativeBackground": "#3c5014", "Notification.ToolWindow.informativeBackground": "#304000",
"Notification.ToolWindow.informativeBorderColor": "#556914", "Notification.ToolWindow.informativeBorderColor": "greyDot65",
"Notification.ToolWindow.informativeForeground": "darkerForeground", "Notification.ToolWindow.informativeForeground": "greyDot15",
"Notification.ToolWindow.warningBackground": "#372c0b", "Notification.ToolWindow.warningBackground": "yellow",
"Notification.ToolWindow.warningBorderColor": "accent", "Notification.ToolWindow.warningBorderColor": "greyDot65",
"Notification.ToolWindow.warningForeground": "#e1e1e1", "Notification.ToolWindow.warningForeground": "greyDot15",
"Notification.background": "paneBackground", "Notification.background": "greyDot85",
"Notification.errorBackground": "#37160b", "Notification.errorBackground": "red",
"Notification.errorBorderColor": "#ed6b88", "Notification.errorBorderColor": "greyDot65",
"Notification.errorForeground": "foreground", "Notification.errorForeground": "greyDot15",
"Notification.foreground": "foreground", "Notification.foreground": "greyDot25",
"OptionPane.background": "lightBackground", "OptionPane.background": "greyDot80",
"OptionPane.foreground": "foreground", "OptionPane.foreground": "greyDot25",
"Panel.background": "lightBackground", "Panel.background": "greyDot80",
"Panel.foreground": "foreground", "Panel.foreground": "greyDot25",
"ParameterInfo.background": "paneBackground", "ParameterInfo.background": "greyDot85",
"ParameterInfo.currentOverloadBackground": "foreground", "ParameterInfo.currentOverloadBackground": "lightBlue",
"ParameterInfo.currentParameterForeground": "accent", "ParameterInfo.currentParameterForeground": "accent",
"ParameterInfo.foreground": "foreground", "ParameterInfo.foreground": "greyDot25",
"ParameterInfo.infoForeground": "darkerForeground", "ParameterInfo.infoForeground": "greyDot33",
"ParameterInfo.lineSeparatorColor": "separator", "ParameterInfo.lineSeparatorColor": "greyDot70",
"Plugins.Button.installBackground": "lightBackground", "Plugins.Button.installBackground": "greyDot80",
"Plugins.Button.installBorderColor": "border", "Plugins.Button.installBorderColor": "greyDot65",
"Plugins.Button.installFillBackground": "lightBackground", "Plugins.Button.installFillBackground": "greyDot80",
"Plugins.Button.installFillForeground": "foreground", "Plugins.Button.installFillForeground": "greyDot25",
"Plugins.Button.installForeground": "accent", "Plugins.Button.installForeground": "accent",
"Plugins.SearchField.background": "headerBackground", "Plugins.SearchField.background": "greyDot75",
"Plugins.SectionHeader.background": "headerBackground", "Plugins.SectionHeader.background": "greyDot75",
"Plugins.SectionHeader.foreground": "foreground", "Plugins.SectionHeader.foreground": "greyDot25",
"Plugins.Tab.hoverBackground": "paneBackground", "Plugins.Tab.hoverBackground": "navyDot85",
"Plugins.Tab.selectedBackground": "#191C21", "Plugins.Tab.selectedBackground": "greyDot85",
"Plugins.background": "lightBackground", "Plugins.background": "greyDot80",
"Plugins.disabledForeground": "darkerForeground", "Plugins.disabledForeground": "greyDot50",
"Plugins.lightSelectionBackground": "separator", "Plugins.lightSelectionBackground": "greyDot70",
"Plugins.tagBackground": "paneBackground", "Plugins.tagBackground": "greyDot85",
"Plugins.tagForeground": "foreground", "Plugins.tagForeground": "greyDot25",
"Popup.Advertiser.background": "paneBackground", "Popup.Advertiser.background": "greyDot85",
"Popup.Advertiser.foreground": "darkerForeground", "Popup.Advertiser.foreground": "greyDot50",
"Popup.Header.activeBackground": "headerBackground", "Popup.Header.activeBackground": "greyDot75",
"Popup.Header.inactiveBackground": "paneBackground", "Popup.Header.inactiveBackground": "greyDot85",
"Popup.paintBorder": false, "Popup.paintBorder": true,
"PopupMenu.background": "lightBackground", "PopupMenu.background": "greyDot80",
"PopupMenu.foreground": "foreground", "PopupMenu.foreground": "greyDot25",
"PopupMenu.selectionBackground": "#191C21", "PopupMenu.selectionBackground": "navyDot85",
"PopupMenu.selectionForeground": "accent", "PopupMenu.selectionForeground": "lightBlue",
"PopupMenuSeparator.stripeWidth": 1, "PopupMenuSeparator.stripeWidth": 1,
"ProgressBar.failedColor": "#ec5f5d", "ProgressBar.failedColor": "red",
"ProgressBar.failedEndColor": "#ffa9ca", "ProgressBar.failedEndColor": "greyDot65",
"ProgressBar.indeterminateEndColor": "#f9d778", "ProgressBar.indeterminateEndColor": "greyDot25",
"ProgressBar.indeterminateStartColor": "#ee9b70", "ProgressBar.indeterminateStartColor": "accent",
"ProgressBar.passedColor": "#78b756", "ProgressBar.passedColor": "green",
"ProgressBar.passedEndColor": "#b4da82", "ProgressBar.passedEndColor": "greyDot65",
"ProgressBar.progressColor": "#ffe499", "ProgressBar.progressColor": "accent",
"ProgressBar.trackColor": "accent", "ProgressBar.trackColor": "greyDot75",
"RadioButton.background": "lightBackground", "RadioButton.background": "greyDot75",
"ScrollBar.Mac.hoverTrackColor": "headerBackground", "ScrollBar.Mac.hoverTrackColor": "greyDot75",
"Slider.background": "lightBackground", "ScrollBar.Mac.trackColor": "greyDot75",
"ScrollBar.Mac.trackColor": "lightBackground", "ScrollPane.background": "greyDot85",
"ScrollPane.background": "paneBackground", "ScrollPane.foreground": "greyDot25",
"ScrollPane.foreground": "darkerForeground", "SearchEverywhere.Advertiser.background": "greyDot85",
"SearchEverywhere.Advertiser.background": "paneBackground", "SearchEverywhere.Advertiser.foreground": "greyDot33",
"SearchEverywhere.Advertiser.foreground": "darkerForeground", "SearchEverywhere.Header.background": "greyDot85",
"SearchEverywhere.Header.background": "paneBackground", "SearchEverywhere.List.separatorColor": "greyDot70",
"SearchEverywhere.List.separatorColor": "separator", "SearchEverywhere.List.separatorForeground": "greyDot70",
"SearchEverywhere.List.separatorForeground": "separator", "SearchEverywhere.SearchField.background": "greyDot75",
"SearchEverywhere.SearchField.background": "headerBackground", "SearchEverywhere.SearchField.borderColor": "greyDot70",
"SearchEverywhere.SearchField.borderColor": "border", "SearchEverywhere.SearchField.infoForeground": "greyDot50",
"SearchEverywhere.SearchField.infoForeground": "darkerForeground", "SearchEverywhere.Tab.selectedBackground": "greyDot70",
"SearchEverywhere.Tab.selectedBackground": "separator",
"SearchEverywhere.Tab.selectedForeground": "accent", "SearchEverywhere.Tab.selectedForeground": "accent",
"SearchMatch.endBackground": "accent", "SearchMatch.endBackground": "accent",
"SearchMatch.startBackground": "accent", "SearchMatch.startBackground": "accent",
"Separator.separatorColor": "separator", "Separator.separatorColor": "greyDot70",
"SidePanel.background": "paneBackground", "SidePanel.background": "greyDot85",
"Slider.focus": "focused", "Slider.background": "greyDot80",
"SpeedSearch.background": "lightBackground", "Slider.focus": "greyDot65",
"SpeedSearch.borderColor": "border", "SpeedSearch.background": "greyDot80",
"SpeedSearch.errorForeground": "#ed6b88", "SpeedSearch.borderColor": "greyDot70",
"SpeedSearch.errorForeground": "red",
"SpeedSearch.foreground": "accent", "SpeedSearch.foreground": "accent",
"SplitPane.background": "lightBackground", "SplitPane.background": "greyDot80",
"SplitPane.darkShadow": "shadow", "SplitPane.darkShadow": "navyDot90",
"SplitPane.highlight": "accent", "SplitPane.highlight": "accent",
"SplitPane.shadow": "shadow", "SplitPane.shadow": "navyDot90",
"TabbedPane.background": "lightBackground", "TabbedPane.background": "greyDot80",
"TabbedPane.contentAreaColor": "lightBackground", "TabbedPane.contentAreaColor": "greyDot80",
"TabbedPane.disabledUnderlineColor": "border", "TabbedPane.disabledUnderlineColor": "greyDot75",
"TabbedPane.focusColor": "focused", "TabbedPane.focusColor": "greyDot65",
"TabbedPane.foreground": "foreground", "TabbedPane.foreground": "greyDot25",
"TabbedPane.hoverColor": "separator", "TabbedPane.hoverColor": "navyDot85",
"TabbedPane.tabSelectionHeight": 1, "TabbedPane.tabSelectionHeight": 1,
"TabbedPane.underlineColor": "accent", "TabbedPane.underlineColor": "accent",
"Table.background": "lightBackground", "Table.background": "greyDot80",
"Table.dropLineColor": "border", "Table.dropLineColor": "greyDot75",
"Table.dropLineShortColor": "separator", "Table.dropLineShortColor": "greyDot70",
"Table.focusCellForeground": "accent", "Table.focusCellForeground": "accent",
"Table.selectionBackground": "#191C21", "Table.selectionBackground": "navyDot85",
"Table.selectionForeground": "accent", "Table.selectionForeground": "accent",
"Table.sortIconColor": "accent", "Table.sortIconColor": "accent",
"Table.stripeColor": "border", "Table.stripeColor": "greyDot75",
"TableHeader.background": "paneBackground", "TableHeader.background": "greyDot85",
"TableHeader.bottomSeparatorColor": "border", "TableHeader.bottomSeparatorColor": "greyDot75",
"TableHeader.separatorColor": "separator", "TableHeader.separatorColor": "greyDot70",
"TextArea.background": "paneBackground", "TextArea.background": "greyDot85",
"TextArea.caretForeground": "accent", "TextArea.caretForeground": "accent",
"TextArea.foreground": "foreground", "TextArea.foreground": "greyDot25",
"TextArea.selectionBackground": "#191C21", "TextArea.selectionBackground": "navyDot85",
"TextField.background": "headerBackground", "TextField.background": "greyDot75",
"TextField.caretForeground": "accent", "TextField.caretForeground": "accent",
"TextField.darkShadow": "shadow", "TextField.darkShadow": "navyDot90",
"TextField.foreground": "foreground", "TextField.foreground": "greyDot25",
"TextField.highlight": "#ffffff", "TextField.highlight": "greyDot15",
"TextField.selectionBackground": "#191C21", "TextField.selectionBackground": "navyDot85",
"TextPane.background": "lightBackground", "TextPane.background": "greyDot80",
"TitlePane.background": "paneBackground", "TitlePane.background": "greyDot85",
"ToggleButton.borderColor": "separator", "ToggleButton.borderColor": "greyDot70",
"ToggleButton.buttonColor": "headerBackground", "ToggleButton.buttonColor": "greyDot75",
"ToggleButton.offBackground": "#232323", "ToggleButton.offBackground": "greyDot75",
"ToggleButton.offForeground": "darkerForeground", "ToggleButton.offForeground": "greyDot25",
"ToggleButton.onBackground": "focused", "ToggleButton.onBackground": "greyDot50",
"ToggleButton.onForeground": "accent", "ToggleButton.onForeground": "accent",
"ToolBar.background": "lightBackground", "ToolBar.background": "greyDot80",
"ToolBar.borderHandleColor": "separator", "ToolBar.borderHandleColor": "greyDot70",
"ToolBar.shadow": "shadow", "ToolBar.darkShadow": "navyDot90",
"ToolTip.Actions.background": "lightBackground", "ToolBar.shadow": "navyDot90",
"ToolTip.Actions.infoForeground": "darkerForeground", "ToolTip.Actions.background": "greyDot80",
"ToolTip.background": "headerBackground", "ToolTip.Actions.infoForeground": "greyDot50",
"ToolTip.foreground": "foreground", "ToolTip.background": "greyDot75",
"ToolTip.infoForeground": "darkerForeground", "ToolTip.foreground": "greyDot25",
"ToolWindow.Button.hoverBackground": "focused", "ToolTip.infoForeground": "greyDot50",
"ToolWindow.Button.selectedBackground": "separator", "ToolWindow.Button.hoverBackground": "navyDot85",
"ToolWindow.Button.selectedBackground": "greyDot70",
"ToolWindow.Button.selectedForeground": "accent", "ToolWindow.Button.selectedForeground": "accent",
"ToolWindow.Header.background": "paneBackground", "ToolWindow.Header.background": "greyDot85",
"ToolWindow.Header.inactiveBackground": "lightBackground", "ToolWindow.Header.inactiveBackground": "greyDot80",
"ToolWindow.HeaderTab.hoverBackground": "border", "ToolWindow.HeaderTab.hoverBackground": "navyDot85",
"ToolWindow.HeaderTab.hoverInactiveBackground": "headerBackground", "ToolWindow.HeaderTab.hoverInactiveBackground": "navyDot90",
"ToolWindow.HeaderTab.inactiveUnderlineColor": "border", "ToolWindow.HeaderTab.inactiveUnderlineColor": "greyDot75",
"ToolWindow.HeaderTab.selectedInactiveBackground": "headerBackground", "ToolWindow.HeaderTab.selectedInactiveBackground": "greyDot80",
"ToolWindow.HeaderTab.underlineColor": "accent", "ToolWindow.HeaderTab.underlineColor": "accent",
"ToolWindow.HeaderTab.underlineHeight": 1, "ToolWindow.HeaderTab.underlineHeight": 1,
"ToolWindow.HeaderTab.underlinedTabInactiveBackground": "border", "ToolWindow.HeaderTab.underlinedTabInactiveBackground": "greyDot75",
"Tree.background": "paneBackground", "Tree.background": "greyDot85",
"Tree.modifiedItemForeground": "accent", "Tree.modifiedItemForeground": "accent",
"Tree.paintLines": 0, "Tree.paintLines": 0,
"Tree.selectionBackground": "#191C21", "Tree.rowHeight": 20,
"Tree.selectionBackground": "navyDot85",
"Tree.selectionForeground": "accent", "Tree.selectionForeground": "accent",
"Tree.selectionInactiveBackground": "#191C217f", "Tree.selectionInactiveBackground": "navyDot90",
"ValidationTooltip.errorBackground": "#261313", "ValidationTooltip.errorBackground": "red",
"ValidationTooltip.errorBorderColor": "#ff0072", "ValidationTooltip.errorBorderColor": "greyDot65",
"ValidationTooltip.warningBackground": "#372c0b", "ValidationTooltip.warningBackground": "#805e00",
"ValidationTooltip.warningBorderColor": "accent", "ValidationTooltip.warningBorderColor": "greyDot65",
"VersionControl.FileHistory.Commit.selectedBranchBackground": "separator", "VersionControl.FileHistory.Commit.selectedBranchBackground": "greyDot70",
"VersionControl.Log.Commit.currentBranchBackground": "#232323", "VersionControl.Log.Commit.currentBranchBackground": "greyDot85",
"VersionControl.Log.Commit.unmatchedForeground": "foreground", "VersionControl.Log.Commit.unmatchedForeground": "greyDot25",
"WelcomeScreen.Projects.selectionBackground": "#191C21", "WelcomeScreen.Projects.selectionBackground": "navyDot85",
"WelcomeScreen.Projects.selectionInactiveBackground": "#191C217f", "WelcomeScreen.Projects.selectionInactiveBackground": "navyDot90",
"WelcomeScreen.separatorColor": "separator", "WelcomeScreen.separatorColor": "greyDot65",
"Window.border": "1,1,1,1,4b4b4b" "Window.border": "0,0,0,0,5a5a5a"
} }
} }

View File

@@ -5,6 +5,7 @@
"editorScheme": "/Material Theme.xml", "editorScheme": "/Material Theme.xml",
"colors": { "colors": {
"mySelectionColor": "#3E6183", "mySelectionColor": "#3E6183",
"myHoverColor": "#415E83",
"mySelectionAccentColor": "#212E43", "mySelectionAccentColor": "#212E43",
"myTabBlueColor": "#314763", "myTabBlueColor": "#314763",
"myAccentRedColor": "#FF666F", "myAccentRedColor": "#FF666F",
@@ -12,31 +13,29 @@
"myThemeBackgroundColor": "#1F292E", "myThemeBackgroundColor": "#1F292E",
"myHlightControlsColor": "#21384E", "myHlightControlsColor": "#21384E",
"myControlsColor": "#293840", "myControlsColor": "#293840",
"myDisableGreyColor": "#32424A" "myDisableGreyColor": "#32424A",
"myDisableTxtColor": "#8C8C8C"
}, },
"ui": { "ui": {
"*": { "*": {
"separatorColor": "#2B3940", "separatorColor": "#2B3940",
"background": "#1F292E", "background": "myThemeBackgroundColor",
"borderColor": "#1F292E", "borderColor": "myThemeBackgroundColor",
"selectionBackground": "#3E6183", "disabledForeground": "myDisableTxtColor",
"disabledForeground": "#8C8C8C", "disabledText": "myDisableTxtColor",
"modifiedItemForeground": "#FF666F", "inactiveForeground": "myDisableTxtColor",
"disabledText": "#8C8C8C",
"inactiveForeground": "#8C8C8C",
"infoForeground": "#808080", "infoForeground": "#808080",
"highlight": "#FF666F", "modifiedItemForeground": "myAccentRedColor",
"underlineColor": "#FF666F", "highlight": "myAccentRedColor",
"focusColor": "#FF666F", "underlineColor": "myAccentRedColor",
"selectedBackground": "#3E6183", "focusColor": "myAccentRedColor",
"underlinedTabBackground": "#2B4057", "underlinedTabBackground": "myTabBlueColor",
"hoverColor": "#415E83", "hoverColor": "myHoverColor",
"pressedBackground": "#3E6183" "selectionBackground": "mySelectionColor",
"selectedBackground": "mySelectionColor",
"pressedBackground": "mySelectionColor"
}, },
"Tree.rowHeight": 24, "Tree.rowHeight": 24,
"ToolWindow.HeaderTab.hoverInactiveBackground": "mySelectionColor",
"ToolWindow.Button.hoverBackground": "mySelectionColor",
"StatusBar.hoverBackground": "mySelectionColor",
"DefaultTabs.hoverBackground": "mySelectionColor", "DefaultTabs.hoverBackground": "mySelectionColor",
"ActionButton.hoverBackground": "mySelectionColor", "ActionButton.hoverBackground": "mySelectionColor",
"Separator.separatorColor": "myDisableGreyColor", "Separator.separatorColor": "myDisableGreyColor",
@@ -63,7 +62,8 @@
"hoverInactiveBackground": "mySelectionColor" "hoverInactiveBackground": "mySelectionColor"
}, },
"Button": { "Button": {
"selectedBackground": "mySelectionColor" "selectedBackground": "mySelectionColor",
"hoverBackground": "mySelectionColor"
} }
}, },
"TextArea": { "TextArea": {
@@ -102,7 +102,10 @@
"TextField": { "TextField": {
"background": "myDisableGreyColor" "background": "myDisableGreyColor"
}, },
"StatusBar.borderColor": "myThemeBackgroundColor", "StatusBar": {
"hoverBackground": "mySelectionColor",
"borderColor": "myThemeBackgroundColor"
},
"SplitPane.highlight": "myThemeBackgroundColor", "SplitPane.highlight": "myThemeBackgroundColor",
"ProgressBar": { "ProgressBar": {
"progressColor": "myAccentRedColor", "progressColor": "myAccentRedColor",

View File

@@ -8,13 +8,13 @@
"acceleratorSelectionForeground": "#8b9eb5", "acceleratorSelectionForeground": "#8b9eb5",
"background": "#2f343f", "background": "#2f343f",
"borderColor": "#404552", "borderColor": "#404552",
"disabledBackground": "#474B57", "disabledBackground": "#37373d",
"disabledForeground": "#D3DAE3", "disabledForeground": "#D3DAE3",
"disabledText": "#D3DAE3", "disabledText": "#D3DAE3",
"focusColor": "#3F3F46", "focusColor": "#08507C",
"focusedBorderColor": "#42A5F5", "focusedBorderColor": "#42A5F5",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"inactiveBackground": "#474B57", "inactiveBackground": "#37373d",
"inactiveForeground": "#8b9eb5", "inactiveForeground": "#8b9eb5",
"infoForeground": "#8b9eb5", "infoForeground": "#8b9eb5",
"selectionBackground": "#8888FF", "selectionBackground": "#8888FF",
@@ -52,7 +52,7 @@
"disabledText": "#D3DAE3", "disabledText": "#D3DAE3",
"endBackground": "#383C4A", "endBackground": "#383C4A",
"endBorderColor": "#383C4A", "endBorderColor": "#383C4A",
"focus": "#3F3F46", "focus": "#08507C",
"focusedBorderColor": "#42A5F5", "focusedBorderColor": "#42A5F5",
"foreground": "#8b9eb5", "foreground": "#8b9eb5",
"highlight": "#FFFFFF", "highlight": "#FFFFFF",
@@ -110,21 +110,20 @@
"background": "#393f4c", "background": "#393f4c",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"infoForeground": "#8b9eb5", "infoForeground": "#8b9eb5",
"matchForeground": "#42A5F52", "matchForeground": "#42A5F5",
"matchSelectionForeground": "#42A5F5", "matchSelectionForeground": "#42A5F5",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#08507C",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#8b9eb5", "selectionInactiveInfoForeground": "#8b9eb5",
"selectionInactiveBackground": "#3F3F46", "selectionInactiveBackground": "#8888FF50",
"selectionBackground": "#8888FF80", "selectionBackground": "#8888FF80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
"Component": { "Component": {
"arc": 4, "arc": 4,
"borderColor": "#3F3F46", "borderColor": "#08507C",
"disabledBorderColor": "#383C4A", "disabledBorderColor": "#383C4A",
"focusColor": "#42A5F5", "focusColor": "#42A5F5",
"focusedBorderColor": "#42A5F5", "focusedBorderColor": "#42A5F5",
@@ -150,22 +149,22 @@
} }
}, },
"DebuggerTabs": { "DebuggerTabs": {
"selectedBackground": "#3F3F46", "selectedBackground": "#08507C",
"underlinedTabBackground": "#3F3F46" "underlinedTabBackground": "#08507C"
}, },
"DebuggerPopup": { "DebuggerPopup": {
"borderColor": "#3F3F46" "borderColor": "#08507C"
}, },
"DefaultTabs": { "DefaultTabs": {
"background": "#2f343f", "background": "#2f343f",
"borderColor": "#2f343f", "borderColor": "#2f343f",
"hoverBackground": "#41416A", "hoverBackground": "#41416A",
"hoverColor": "#262b33", "hoverColor": "#262b33",
"hoverMaskColor": "#3F3F46", "hoverMaskColor": "#08507C",
"inactiveUnderlineColor": "#D3DAE3", "inactiveUnderlineColor": "#D3DAE3",
"inactiveMaskColor": "#262b33", "inactiveMaskColor": "#262b33",
"underlineColor": "#42A5F5", "underlineColor": "#42A5F5",
"underlinedTabBackground":"#41416A" "underlinedTabBackground": "#41416A"
}, },
"Desktop.background": "#2f343f", "Desktop.background": "#2f343f",
"DialogWrapper.southPanelBackground": "#2f343f", "DialogWrapper.southPanelBackground": "#2f343f",
@@ -191,20 +190,29 @@
}, },
"EditorTabs": { "EditorTabs": {
"borderColor": "#393f4c", "borderColor": "#393f4c",
"hoverColor": "#3F3F46", "hoverColor": "#08507C",
"hoverMaskColor": "#3F3F46", "hoverMaskColor": "#08507C",
"inactiveMaskColor": "#2f343f", "inactiveMaskColor": "#2f343f",
"inactiveColoredFileBackground": "#2f343f",
"inactiveUnderlineColor": "#D3DAE3", "inactiveUnderlineColor": "#D3DAE3",
"selectedForeground": "#D3DAE3", "selectedForeground": "#D3DAE3",
"selectedBackground": "#41416A", "selectedBackground": "#41416A",
"underlineColor": "#42A5F5", "underlineColor": "#42A5F5",
"underlinedTabBackground": "#41416A" "underlinedTabBackground": "#41416A"
}, },
"EditorGroupsTabs": {
"background": "#2f343f",
"borderColor": "#393f4c",
"hoverBackground": "#08507C",
"hoverColor": "#08507C",
"inactiveUnderlineColor": "#42A5F5",
"underlineColor": "#42A5F5",
"underlinedTabBackground": "#41416A",
"underlinedTabForeground": "#D3DAE3"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
"Yellow": "#474B57", "Yellow": "#37373d",
"Orange": "#B53D00", "Orange": "#B53D00",
"Violet": "#4D2C91", "Violet": "#4D2C91",
"Rose": "#A00037" "Rose": "#A00037"
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#393f4c", "background": "#393f4c",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"selectionBackground": "#8888FF", "selectionBackground": "#8888FF50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#08507C25" "selectionInactiveBackground": "#09477125"
}, },
"material": { "material": {
"background": "#2f343f", "background": "#2f343f",
@@ -302,8 +310,8 @@
}, },
"MemoryIndicator": { "MemoryIndicator": {
"allocatedBackground": "#393f4c", "allocatedBackground": "#393f4c",
"usedColor": "#3F3F46", "usedColor": "#08507C",
"usedBackground": "#3F3F46" "usedBackground": "#08507C"
}, },
"Menu": { "Menu": {
"acceleratorForeground": "#8b9eb5", "acceleratorForeground": "#8b9eb5",
@@ -407,16 +415,16 @@
"Plugins": { "Plugins": {
"background": "#2f343f", "background": "#2f343f",
"disabledForeground": "#D3DAE3", "disabledForeground": "#D3DAE3",
"eapTagBackground": "#3F3F46", "eapTagBackground": "#08507C",
"lightSelectionBackground": "#8888FF", "lightSelectionBackground": "#8888FF",
"selectionBackground": "#8888FF", "selectionBackground": "#8888FF",
"tagForeground": "#42A5F5", "tagForeground": "#42A5F5",
"tagBackground": "#3F3F46", "tagBackground": "#08507C",
"Button": { "Button": {
"installBackground": "#383C4A", "installBackground": "#383C4A",
"installBorderColor": "#383C4A", "installBorderColor": "#383C4A",
"installForeground": "#D3DAE3", "installForeground": "#D3DAE3",
"installFocusedBackground": "#3F3F46", "installFocusedBackground": "#08507C",
"installFillForeground": "#8b9eb5", "installFillForeground": "#8b9eb5",
"installFillBackground": "#383C4A", "installFillBackground": "#383C4A",
"updateBackground": "#383C4A", "updateBackground": "#383C4A",
@@ -472,8 +480,8 @@
"indeterminateEndColor": "#42A5F5", "indeterminateEndColor": "#42A5F5",
"indeterminateStartColor": "#42A5F5", "indeterminateStartColor": "#42A5F5",
"progressColor": "#42A5F5", "progressColor": "#42A5F5",
"selectionBackground": "#3F3F46", "selectionBackground": "#08507C",
"trackColor": "#3F3F46" "trackColor": "#08507C"
}, },
"RadioButton": { "RadioButton": {
"background": "#2f343f", "background": "#2f343f",
@@ -511,7 +519,7 @@
"trackColor": "#2f343f30" "trackColor": "#2f343f30"
} }
}, },
"thumb": "#3F3F46", "thumb": "#08507C",
"thumbBorderColor": "#42A5F570", "thumbBorderColor": "#42A5F570",
"thumbColor": "#42A5F570", "thumbColor": "#42A5F570",
"trackColor": "#2f343f30", "trackColor": "#2f343f30",
@@ -533,7 +541,7 @@
"background": "#2f343f" "background": "#2f343f"
}, },
"List": { "List": {
"separatorForeground": "#D3DAE3", "separatorForeground": "#8b9eb5",
"separatorColor": "#404552" "separatorColor": "#404552"
}, },
"SearchField": { "SearchField": {
@@ -544,7 +552,7 @@
"Tab": { "Tab": {
"active.foreground": "#FFFFFF", "active.foreground": "#FFFFFF",
"selectedForeground": "#FFFFFF", "selectedForeground": "#FFFFFF",
"selectedBackground": "#3F3F46" "selectedBackground": "#08507C"
} }
}, },
"SearchMatch": { "SearchMatch": {
@@ -561,14 +569,17 @@
}, },
"Slider": { "Slider": {
"background": "#2f343f", "background": "#2f343f",
"buttonBorderColor": "#42A5F5",
"buttonColor": "#42A5F5",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#393f4c", "tickColor": "#393f4c",
"trackColor": "#41416A",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#42A5F5" "thumb": "#42A5F5"
}, },
"SpeedSearch": { "SpeedSearch": {
"background": "#3F3F46", "background": "#08507C",
"borderColor": "#404552", "borderColor": "#404552",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"errorForeground": "#D3DAE3" "errorForeground": "#D3DAE3"
@@ -589,7 +600,7 @@
}, },
"TabbedPane": { "TabbedPane": {
"background": "#2f343f", "background": "#2f343f",
"contentAreaColor": "#3F3F46", "contentAreaColor": "#08507C",
"contentBorderInsets": "3,1,1,1", "contentBorderInsets": "3,1,1,1",
"darkShadow": "#404552", "darkShadow": "#404552",
"disabledForeground": "#D3DAE3", "disabledForeground": "#D3DAE3",
@@ -599,7 +610,7 @@
"fontSizeOffset": 0, "fontSizeOffset": 0,
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"highlight": "#404552", "highlight": "#404552",
"hoverColor": "#3F3F46", "hoverColor": "#08507C",
"labelShift": 0, "labelShift": 0,
"selectedForeground": "#FFFFFF", "selectedForeground": "#FFFFFF",
"selectedLabelShift": 0, "selectedLabelShift": 0,
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#42A5F5"
}, },
"TabbedPane.mt.tab.background": "#262b33", "TabbedPane.mt.tab.background": "#262b33",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#393f4c", "lightSelectionInactiveBackground": "#393f4c",
"selectionBackground": "#41416A", "selectionBackground": "#41416A",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#08507C25", "selectionInactiveBackground": "#41416A",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#D3DAE3", "sortIconColor": "#D3DAE3",
"stripeColor": "#262b33" "stripeColor": "#262b33"
@@ -671,8 +683,8 @@
}, },
"TitlePane": { "TitlePane": {
"background": "#262b33", "background": "#262b33",
"Button.hoverBackground": "#3F3F46", "Button.hoverBackground": "#08507C",
"inactiveBackground": "#393f4c", "inactiveBackground": "#2f343f",
"infoForeground": "#8b9eb5", "infoForeground": "#8b9eb5",
"inactiveInfoForeground": "#8b9eb5" "inactiveInfoForeground": "#8b9eb5"
}, },
@@ -697,7 +709,7 @@
"Actions.background": "#2f343f", "Actions.background": "#2f343f",
"Actions.infoForeground": "#8b9eb5", "Actions.infoForeground": "#8b9eb5",
"background": "#2f343f", "background": "#2f343f",
"borderColor": "#3F3F46", "borderColor": "#08507C",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"infoForeground": "#8b9eb5", "infoForeground": "#8b9eb5",
"separatorColor": "#404552", "separatorColor": "#404552",
@@ -718,13 +730,13 @@
"background": "#2f343f" "background": "#2f343f"
}, },
"HeaderTab": { "HeaderTab": {
"hoverBackground": "#3F3F46", "hoverBackground": "#08507C",
"hoverInactiveBackground": "#393f4c", "hoverInactiveBackground": "#393f4c",
"inactiveUnderlineColor": "#42A5F5", "inactiveUnderlineColor": "#42A5F5",
"selectedBackground": "#262b33", "selectedBackground": "#262b33",
"selectedInactiveBackground": "#262b33", "selectedInactiveBackground": "#262b33",
"underlineColor": "#42A5F5", "underlineColor": "#42A5F5",
"underlinedTabBackground": "#3F3F46", "underlinedTabBackground": "#08507C",
"underlinedTabInactiveBackground": "#393f4c" "underlinedTabInactiveBackground": "#393f4c"
} }
}, },
@@ -734,10 +746,10 @@
"hash": "#404552", "hash": "#404552",
"modifiedItemForeground": "#42A5F5", "modifiedItemForeground": "#42A5F5",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#08507C", "selectionBackground": "#09477170",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#08507C25", "selectionInactiveBackground": "#09477125",
"textBackground": "#262b33" "textBackground": "#262b33"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,16 +785,16 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#8b9eb5", "Commit.unmatchedForeground": "#8b9eb5",
"Commit.currentBranchBackground": "#08507C" "Commit.currentBranchBackground": "#393f4c"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
"backgroundBase": "#3F3F46" "backgroundBase": "#08507C"
} }
}, },
"Viewport": { "Viewport": {
"background": "#262b33", "background": "#262b33",
"foreground": "%fc" "foreground": "#D3DAE3"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#2f343f", "background": "#2f343f",
@@ -826,8 +838,8 @@
"Actions.Yellow": "#F9EE98", "Actions.Yellow": "#F9EE98",
"Checkbox.Background.Default": "#262b33", "Checkbox.Background.Default": "#262b33",
"Checkbox.Background.Default.Dark": "#262b33", "Checkbox.Background.Default.Dark": "#262b33",
"Checkbox.Background.Disabled": "#474B57", "Checkbox.Background.Disabled": "#37373d",
"Checkbox.Background.Disabled.Dark": "#474B57", "Checkbox.Background.Disabled.Dark": "#37373d",
"Checkbox.Border.Default": "#404552", "Checkbox.Border.Default": "#404552",
"Checkbox.Border.Default.Dark": "#404552", "Checkbox.Border.Default.Dark": "#404552",
"Checkbox.Border.Disabled": "#D3DAE3", "Checkbox.Border.Disabled": "#D3DAE3",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#42A5F5", "Checkbox.Focus.Wide.Dark": "#42A5F5",
"Checkbox.Foreground.Disabled": "#D3DAE3", "Checkbox.Foreground.Disabled": "#D3DAE3",
"Checkbox.Foreground.Disabled.Dark": "#D3DAE3", "Checkbox.Foreground.Disabled.Dark": "#D3DAE3",
"Checkbox.Background.Selected": "#42A5F5", "Checkbox.Background.Selected": "#2f343f",
"Checkbox.Background.Selected.Dark": "#42A5F5", "Checkbox.Background.Selected.Dark": "#2f343f",
"Checkbox.Border.Selected": "#42A5F5", "Checkbox.Border.Selected": "#42A5F5",
"Checkbox.Border.Selected.Dark": "#42A5F5", "Checkbox.Border.Selected.Dark": "#42A5F5",
"Checkbox.Foreground.Selected": "#D3DAE3", "Checkbox.Foreground.Selected": "#42A5F5",
"Checkbox.Foreground.Selected.Dark": "#D3DAE3", "Checkbox.Foreground.Selected.Dark": "#42A5F5",
"Checkbox.Focus.Thin.Selected": "#D3DAE3", "Checkbox.Focus.Thin.Selected": "#D3DAE3",
"Checkbox.Focus.Thin.Selected.Dark": "#D3DAE3", "Checkbox.Focus.Thin.Selected.Dark": "#D3DAE3",
"Objects.Grey": "#747C84", "Objects.Grey": "#747C84",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#D3DAE3", "Objects.BlackText": "#D3DAE3",
"Objects.YellowDark": "#CDA869", "Objects.YellowDark": "#CDA869",
"Objects.GreenAndroid": "#8F9D6A" "Objects.GreenAndroid": "#8F9D6A"
} }
} }
} }

View File

@@ -8,13 +8,13 @@
"acceleratorSelectionForeground": "#8b9eb5", "acceleratorSelectionForeground": "#8b9eb5",
"background": "#2f343f", "background": "#2f343f",
"borderColor": "#404552", "borderColor": "#404552",
"disabledBackground": "#474B57", "disabledBackground": "#37373d",
"disabledForeground": "#D3DAE3", "disabledForeground": "#D3DAE3",
"disabledText": "#D3DAE3", "disabledText": "#D3DAE3",
"focusColor": "#3F3F46", "focusColor": "#08507C",
"focusedBorderColor": "#42A5F5", "focusedBorderColor": "#42A5F5",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"inactiveBackground": "#474B57", "inactiveBackground": "#37373d",
"inactiveForeground": "#8b9eb5", "inactiveForeground": "#8b9eb5",
"infoForeground": "#8b9eb5", "infoForeground": "#8b9eb5",
"selectionBackground": "#8888FF", "selectionBackground": "#8888FF",
@@ -52,7 +52,7 @@
"disabledText": "#D3DAE3", "disabledText": "#D3DAE3",
"endBackground": "#383C4A", "endBackground": "#383C4A",
"endBorderColor": "#383C4A", "endBorderColor": "#383C4A",
"focus": "#3F3F46", "focus": "#08507C",
"focusedBorderColor": "#42A5F5", "focusedBorderColor": "#42A5F5",
"foreground": "#8b9eb5", "foreground": "#8b9eb5",
"highlight": "#FFFFFF", "highlight": "#FFFFFF",
@@ -110,21 +110,20 @@
"background": "#393f4c", "background": "#393f4c",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"infoForeground": "#8b9eb5", "infoForeground": "#8b9eb5",
"matchForeground": "#42A5F52", "matchForeground": "#42A5F5",
"matchSelectionForeground": "#42A5F5", "matchSelectionForeground": "#42A5F5",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#08507C",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#8b9eb5", "selectionInactiveInfoForeground": "#8b9eb5",
"selectionInactiveBackground": "#3F3F46", "selectionInactiveBackground": "#8888FF50",
"selectionBackground": "#8888FF80", "selectionBackground": "#8888FF80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
"Component": { "Component": {
"arc": 4, "arc": 4,
"borderColor": "#3F3F46", "borderColor": "#08507C",
"disabledBorderColor": "#383C4A", "disabledBorderColor": "#383C4A",
"focusColor": "#42A5F5", "focusColor": "#42A5F5",
"focusedBorderColor": "#42A5F5", "focusedBorderColor": "#42A5F5",
@@ -150,22 +149,22 @@
} }
}, },
"DebuggerTabs": { "DebuggerTabs": {
"selectedBackground": "#3F3F46", "selectedBackground": "#08507C",
"underlinedTabBackground": "#3F3F46" "underlinedTabBackground": "#08507C"
}, },
"DebuggerPopup": { "DebuggerPopup": {
"borderColor": "#3F3F46" "borderColor": "#08507C"
}, },
"DefaultTabs": { "DefaultTabs": {
"background": "#2f343f", "background": "#2f343f",
"borderColor": "#2f343f", "borderColor": "#2f343f",
"hoverBackground": "#41416A", "hoverBackground": "#41416A",
"hoverColor": "#2f343f", "hoverColor": "#2f343f",
"hoverMaskColor": "#3F3F46", "hoverMaskColor": "#08507C",
"inactiveUnderlineColor": "#D3DAE3", "inactiveUnderlineColor": "#D3DAE3",
"inactiveMaskColor": "#2f343f", "inactiveMaskColor": "#2f343f",
"underlineColor": "#42A5F5", "underlineColor": "#42A5F5",
"underlinedTabBackground":"#41416A" "underlinedTabBackground": "#41416A"
}, },
"Desktop.background": "#2f343f", "Desktop.background": "#2f343f",
"DialogWrapper.southPanelBackground": "#2f343f", "DialogWrapper.southPanelBackground": "#2f343f",
@@ -191,20 +190,29 @@
}, },
"EditorTabs": { "EditorTabs": {
"borderColor": "#393f4c", "borderColor": "#393f4c",
"hoverColor": "#3F3F46", "hoverColor": "#08507C",
"hoverMaskColor": "#3F3F46", "hoverMaskColor": "#08507C",
"inactiveMaskColor": "#2f343f", "inactiveMaskColor": "#2f343f",
"inactiveColoredFileBackground": "#2f343f",
"inactiveUnderlineColor": "#D3DAE3", "inactiveUnderlineColor": "#D3DAE3",
"selectedForeground": "#D3DAE3", "selectedForeground": "#D3DAE3",
"selectedBackground": "#41416A", "selectedBackground": "#41416A",
"underlineColor": "#42A5F5", "underlineColor": "#42A5F5",
"underlinedTabBackground": "#41416A" "underlinedTabBackground": "#41416A"
}, },
"EditorGroupsTabs": {
"background": "#2f343f",
"borderColor": "#393f4c",
"hoverBackground": "#08507C",
"hoverColor": "#08507C",
"inactiveUnderlineColor": "#42A5F5",
"underlineColor": "#42A5F5",
"underlinedTabBackground": "#41416A",
"underlinedTabForeground": "#D3DAE3"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
"Yellow": "#474B57", "Yellow": "#37373d",
"Orange": "#B53D00", "Orange": "#B53D00",
"Violet": "#4D2C91", "Violet": "#4D2C91",
"Rose": "#A00037" "Rose": "#A00037"
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#393f4c", "background": "#393f4c",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"selectionBackground": "#8888FF", "selectionBackground": "#8888FF50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#08507C25" "selectionInactiveBackground": "#09477125"
}, },
"material": { "material": {
"background": "#2f343f", "background": "#2f343f",
@@ -302,8 +310,8 @@
}, },
"MemoryIndicator": { "MemoryIndicator": {
"allocatedBackground": "#393f4c", "allocatedBackground": "#393f4c",
"usedColor": "#3F3F46", "usedColor": "#08507C",
"usedBackground": "#3F3F46" "usedBackground": "#08507C"
}, },
"Menu": { "Menu": {
"acceleratorForeground": "#8b9eb5", "acceleratorForeground": "#8b9eb5",
@@ -407,16 +415,16 @@
"Plugins": { "Plugins": {
"background": "#2f343f", "background": "#2f343f",
"disabledForeground": "#D3DAE3", "disabledForeground": "#D3DAE3",
"eapTagBackground": "#3F3F46", "eapTagBackground": "#08507C",
"lightSelectionBackground": "#8888FF", "lightSelectionBackground": "#8888FF",
"selectionBackground": "#8888FF", "selectionBackground": "#8888FF",
"tagForeground": "#42A5F5", "tagForeground": "#42A5F5",
"tagBackground": "#3F3F46", "tagBackground": "#08507C",
"Button": { "Button": {
"installBackground": "#383C4A", "installBackground": "#383C4A",
"installBorderColor": "#383C4A", "installBorderColor": "#383C4A",
"installForeground": "#D3DAE3", "installForeground": "#D3DAE3",
"installFocusedBackground": "#3F3F46", "installFocusedBackground": "#08507C",
"installFillForeground": "#8b9eb5", "installFillForeground": "#8b9eb5",
"installFillBackground": "#383C4A", "installFillBackground": "#383C4A",
"updateBackground": "#383C4A", "updateBackground": "#383C4A",
@@ -472,8 +480,8 @@
"indeterminateEndColor": "#42A5F5", "indeterminateEndColor": "#42A5F5",
"indeterminateStartColor": "#42A5F5", "indeterminateStartColor": "#42A5F5",
"progressColor": "#42A5F5", "progressColor": "#42A5F5",
"selectionBackground": "#3F3F46", "selectionBackground": "#08507C",
"trackColor": "#3F3F46" "trackColor": "#08507C"
}, },
"RadioButton": { "RadioButton": {
"background": "#2f343f", "background": "#2f343f",
@@ -511,7 +519,7 @@
"trackColor": "#2f343f30" "trackColor": "#2f343f30"
} }
}, },
"thumb": "#3F3F46", "thumb": "#08507C",
"thumbBorderColor": "#42A5F570", "thumbBorderColor": "#42A5F570",
"thumbColor": "#42A5F570", "thumbColor": "#42A5F570",
"trackColor": "#2f343f30", "trackColor": "#2f343f30",
@@ -533,7 +541,7 @@
"background": "#2f343f" "background": "#2f343f"
}, },
"List": { "List": {
"separatorForeground": "#D3DAE3", "separatorForeground": "#8b9eb5",
"separatorColor": "#404552" "separatorColor": "#404552"
}, },
"SearchField": { "SearchField": {
@@ -544,7 +552,7 @@
"Tab": { "Tab": {
"active.foreground": "#FFFFFF", "active.foreground": "#FFFFFF",
"selectedForeground": "#FFFFFF", "selectedForeground": "#FFFFFF",
"selectedBackground": "#3F3F46" "selectedBackground": "#08507C"
} }
}, },
"SearchMatch": { "SearchMatch": {
@@ -561,14 +569,17 @@
}, },
"Slider": { "Slider": {
"background": "#2f343f", "background": "#2f343f",
"buttonBorderColor": "#42A5F5",
"buttonColor": "#42A5F5",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#393f4c", "tickColor": "#393f4c",
"trackColor": "#41416A",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#42A5F5" "thumb": "#42A5F5"
}, },
"SpeedSearch": { "SpeedSearch": {
"background": "#3F3F46", "background": "#08507C",
"borderColor": "#404552", "borderColor": "#404552",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"errorForeground": "#D3DAE3" "errorForeground": "#D3DAE3"
@@ -589,7 +600,7 @@
}, },
"TabbedPane": { "TabbedPane": {
"background": "#2f343f", "background": "#2f343f",
"contentAreaColor": "#3F3F46", "contentAreaColor": "#08507C",
"contentBorderInsets": "3,1,1,1", "contentBorderInsets": "3,1,1,1",
"darkShadow": "#404552", "darkShadow": "#404552",
"disabledForeground": "#D3DAE3", "disabledForeground": "#D3DAE3",
@@ -599,7 +610,7 @@
"fontSizeOffset": 0, "fontSizeOffset": 0,
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"highlight": "#404552", "highlight": "#404552",
"hoverColor": "#3F3F46", "hoverColor": "#08507C",
"labelShift": 0, "labelShift": 0,
"selectedForeground": "#FFFFFF", "selectedForeground": "#FFFFFF",
"selectedLabelShift": 0, "selectedLabelShift": 0,
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#42A5F5"
}, },
"TabbedPane.mt.tab.background": "#2f343f", "TabbedPane.mt.tab.background": "#2f343f",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#393f4c", "lightSelectionInactiveBackground": "#393f4c",
"selectionBackground": "#41416A", "selectionBackground": "#41416A",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#08507C25", "selectionInactiveBackground": "#41416A",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#D3DAE3", "sortIconColor": "#D3DAE3",
"stripeColor": "#262b33" "stripeColor": "#262b33"
@@ -671,8 +683,8 @@
}, },
"TitlePane": { "TitlePane": {
"background": "#262b33", "background": "#262b33",
"Button.hoverBackground": "#3F3F46", "Button.hoverBackground": "#08507C",
"inactiveBackground": "#393f4c", "inactiveBackground": "#2f343f",
"infoForeground": "#8b9eb5", "infoForeground": "#8b9eb5",
"inactiveInfoForeground": "#8b9eb5" "inactiveInfoForeground": "#8b9eb5"
}, },
@@ -697,7 +709,7 @@
"Actions.background": "#2f343f", "Actions.background": "#2f343f",
"Actions.infoForeground": "#8b9eb5", "Actions.infoForeground": "#8b9eb5",
"background": "#2f343f", "background": "#2f343f",
"borderColor": "#3F3F46", "borderColor": "#08507C",
"foreground": "#D3DAE3", "foreground": "#D3DAE3",
"infoForeground": "#8b9eb5", "infoForeground": "#8b9eb5",
"separatorColor": "#404552", "separatorColor": "#404552",
@@ -718,13 +730,13 @@
"background": "#2f343f" "background": "#2f343f"
}, },
"HeaderTab": { "HeaderTab": {
"hoverBackground": "#3F3F46", "hoverBackground": "#08507C",
"hoverInactiveBackground": "#393f4c", "hoverInactiveBackground": "#393f4c",
"inactiveUnderlineColor": "#42A5F5", "inactiveUnderlineColor": "#42A5F5",
"selectedBackground": "#262b33", "selectedBackground": "#262b33",
"selectedInactiveBackground": "#262b33", "selectedInactiveBackground": "#262b33",
"underlineColor": "#42A5F5", "underlineColor": "#42A5F5",
"underlinedTabBackground": "#3F3F46", "underlinedTabBackground": "#08507C",
"underlinedTabInactiveBackground": "#393f4c" "underlinedTabInactiveBackground": "#393f4c"
} }
}, },
@@ -734,10 +746,10 @@
"hash": "#404552", "hash": "#404552",
"modifiedItemForeground": "#42A5F5", "modifiedItemForeground": "#42A5F5",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#08507C", "selectionBackground": "#09477170",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#08507C25", "selectionInactiveBackground": "#09477125",
"textBackground": "#2f343f" "textBackground": "#2f343f"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,16 +785,16 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#8b9eb5", "Commit.unmatchedForeground": "#8b9eb5",
"Commit.currentBranchBackground": "#08507C" "Commit.currentBranchBackground": "#393f4c"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
"backgroundBase": "#3F3F46" "backgroundBase": "#08507C"
} }
}, },
"Viewport": { "Viewport": {
"background": "#2f343f", "background": "#2f343f",
"foreground": "%fc" "foreground": "#D3DAE3"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#2f343f", "background": "#2f343f",
@@ -826,8 +838,8 @@
"Actions.Yellow": "#F9EE98", "Actions.Yellow": "#F9EE98",
"Checkbox.Background.Default": "#262b33", "Checkbox.Background.Default": "#262b33",
"Checkbox.Background.Default.Dark": "#262b33", "Checkbox.Background.Default.Dark": "#262b33",
"Checkbox.Background.Disabled": "#474B57", "Checkbox.Background.Disabled": "#37373d",
"Checkbox.Background.Disabled.Dark": "#474B57", "Checkbox.Background.Disabled.Dark": "#37373d",
"Checkbox.Border.Default": "#404552", "Checkbox.Border.Default": "#404552",
"Checkbox.Border.Default.Dark": "#404552", "Checkbox.Border.Default.Dark": "#404552",
"Checkbox.Border.Disabled": "#D3DAE3", "Checkbox.Border.Disabled": "#D3DAE3",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#42A5F5", "Checkbox.Focus.Wide.Dark": "#42A5F5",
"Checkbox.Foreground.Disabled": "#D3DAE3", "Checkbox.Foreground.Disabled": "#D3DAE3",
"Checkbox.Foreground.Disabled.Dark": "#D3DAE3", "Checkbox.Foreground.Disabled.Dark": "#D3DAE3",
"Checkbox.Background.Selected": "#42A5F5", "Checkbox.Background.Selected": "#2f343f",
"Checkbox.Background.Selected.Dark": "#42A5F5", "Checkbox.Background.Selected.Dark": "#2f343f",
"Checkbox.Border.Selected": "#42A5F5", "Checkbox.Border.Selected": "#42A5F5",
"Checkbox.Border.Selected.Dark": "#42A5F5", "Checkbox.Border.Selected.Dark": "#42A5F5",
"Checkbox.Foreground.Selected": "#D3DAE3", "Checkbox.Foreground.Selected": "#42A5F5",
"Checkbox.Foreground.Selected.Dark": "#D3DAE3", "Checkbox.Foreground.Selected.Dark": "#42A5F5",
"Checkbox.Focus.Thin.Selected": "#D3DAE3", "Checkbox.Focus.Thin.Selected": "#D3DAE3",
"Checkbox.Focus.Thin.Selected.Dark": "#D3DAE3", "Checkbox.Focus.Thin.Selected.Dark": "#D3DAE3",
"Objects.Grey": "#747C84", "Objects.Grey": "#747C84",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#D3DAE3", "Objects.BlackText": "#D3DAE3",
"Objects.YellowDark": "#CDA869", "Objects.YellowDark": "#CDA869",
"Objects.GreenAndroid": "#8F9D6A" "Objects.GreenAndroid": "#8F9D6A"
} }
} }
} }

View File

@@ -17,7 +17,7 @@
"inactiveBackground": "#3c4150", "inactiveBackground": "#3c4150",
"inactiveForeground": "#979FAD", "inactiveForeground": "#979FAD",
"infoForeground": "#979FAD", "infoForeground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionBackgroundInactive": "#2F333D", "selectionBackgroundInactive": "#2F333D",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#2F333D", "selectionInactiveBackground": "#2F333D",
@@ -31,7 +31,7 @@
"pressedBorderColor": "#2979ff50" "pressedBorderColor": "#2979ff50"
}, },
"Autocomplete": { "Autocomplete": {
"selectionBackground": "#3A3F4B" "selectionBackground": "#4D515D"
}, },
"Borders.ContrastBorderColor": "#282C34", "Borders.ContrastBorderColor": "#282C34",
"Borders.color": "#282C34", "Borders.color": "#282C34",
@@ -79,7 +79,7 @@
"disabledBackground": "#282C34", "disabledBackground": "#282C34",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ColorChooser": { "ColorChooser": {
@@ -110,15 +110,14 @@
"background": "#2F333D", "background": "#2F333D",
"foreground": "#979FAD", "foreground": "#979FAD",
"infoForeground": "#979FAD", "infoForeground": "#979FAD",
"matchForeground": "#2979ff2", "matchForeground": "#2979ff",
"matchSelectionForeground": "#2979ff", "matchSelectionForeground": "#2979ff",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#3A3F4B",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#979FAD", "selectionInactiveInfoForeground": "#979FAD",
"selectionInactiveBackground": "#383D48", "selectionInactiveBackground": "#4D515D50",
"selectionBackground": "#3A3F4B80", "selectionBackground": "#4D515D80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#6B727D", "inactiveUnderlineColor": "#6B727D",
"inactiveMaskColor": "#21252B", "inactiveMaskColor": "#21252B",
"underlineColor": "#2979ff", "underlineColor": "#2979ff",
"underlinedTabBackground":"#383E49" "underlinedTabBackground": "#383E49"
}, },
"Desktop.background": "#282C34", "Desktop.background": "#282C34",
"DialogWrapper.southPanelBackground": "#282C34", "DialogWrapper.southPanelBackground": "#282C34",
@@ -186,7 +185,7 @@
"foreground": "#979FAD", "foreground": "#979FAD",
"inactiveBackground": "#282C34", "inactiveBackground": "#282C34",
"inactiveForeground": "#6B727D", "inactiveForeground": "#6B727D",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"EditorTabs": { "EditorTabs": {
@@ -194,13 +193,22 @@
"hoverColor": "#383D48", "hoverColor": "#383D48",
"hoverMaskColor": "#383D48", "hoverMaskColor": "#383D48",
"inactiveMaskColor": "#282C34", "inactiveMaskColor": "#282C34",
"inactiveColoredFileBackground": "#282C34",
"inactiveUnderlineColor": "#6B727D", "inactiveUnderlineColor": "#6B727D",
"selectedForeground": "#979FAD", "selectedForeground": "#979FAD",
"selectedBackground": "#383E49", "selectedBackground": "#383E49",
"underlineColor": "#2979ff", "underlineColor": "#2979ff",
"underlinedTabBackground": "#383E49" "underlinedTabBackground": "#383E49"
}, },
"EditorGroupsTabs": {
"background": "#282C34",
"borderColor": "#2F333D",
"hoverBackground": "#383D48",
"hoverColor": "#383D48",
"inactiveUnderlineColor": "#2979ff",
"underlineColor": "#2979ff",
"underlinedTabBackground": "#383E49",
"underlinedTabForeground": "#979FAD"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,7 +291,7 @@
"List": { "List": {
"background": "#2F333D", "background": "#2F333D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3A3F4B25" "selectionInactiveBackground": "#3A3F4B25"
@@ -314,7 +322,7 @@
"disabledBackground": "#2F333D", "disabledBackground": "#2F333D",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"separatorColor": "#282C34" "separatorColor": "#282C34"
}, },
@@ -325,7 +333,7 @@
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"highlight": "#282C34", "highlight": "#282C34",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"shadow": "#21252B" "shadow": "#21252B"
}, },
@@ -337,7 +345,7 @@
"disabledBackground": "#282C34", "disabledBackground": "#282C34",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"NavBar": { "NavBar": {
@@ -408,8 +416,8 @@
"background": "#282C34", "background": "#282C34",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"eapTagBackground": "#383D48", "eapTagBackground": "#383D48",
"lightSelectionBackground": "#3A3F4B", "lightSelectionBackground": "#4D515D",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"tagForeground": "#2979ff", "tagForeground": "#2979ff",
"tagBackground": "#383D48", "tagBackground": "#383D48",
"Button": { "Button": {
@@ -487,7 +495,7 @@
"disabledBackground": "#282C34", "disabledBackground": "#282C34",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ScrollBar": { "ScrollBar": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#282C34", "background": "#282C34",
"buttonBorderColor": "#2979ff",
"buttonColor": "#2979ff",
"foreground": "#979FAD", "foreground": "#979FAD",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#2F333D", "tickColor": "#2F333D",
"trackColor": "#383E49",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#2979ff" "thumb": "#2979ff"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#2979ff"
}, },
"TabbedPane.mt.tab.background": "#21252B", "TabbedPane.mt.tab.background": "#21252B",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#2F333D", "lightSelectionInactiveBackground": "#2F333D",
"selectionBackground": "#383E49", "selectionBackground": "#383E49",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#3A3F4B25", "selectionInactiveBackground": "#383E49",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#979FAD", "sortIconColor": "#979FAD",
"stripeColor": "#21252B" "stripeColor": "#21252B"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#21252B", "background": "#21252B",
"Button.hoverBackground": "#383D48", "Button.hoverBackground": "#383D48",
"inactiveBackground": "#2F333D", "inactiveBackground": "#282C34",
"infoForeground": "#979FAD", "infoForeground": "#979FAD",
"inactiveInfoForeground": "#979FAD" "inactiveInfoForeground": "#979FAD"
}, },
@@ -734,7 +746,7 @@
"hash": "#282C34", "hash": "#282C34",
"modifiedItemForeground": "#2979ff", "modifiedItemForeground": "#2979ff",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#3A3F4B", "selectionBackground": "#3A3F4B70",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3A3F4B25", "selectionInactiveBackground": "#3A3F4B25",
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#979FAD", "Commit.unmatchedForeground": "#979FAD",
"Commit.currentBranchBackground": "#3A3F4B" "Commit.currentBranchBackground": "#2F333D"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#21252B", "background": "#21252B",
"foreground": "%fc" "foreground": "#979FAD"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#282C34", "background": "#282C34",
@@ -796,7 +808,7 @@
"separatorColor": "#282C34", "separatorColor": "#282C34",
"Projects": { "Projects": {
"background": "#2F333D", "background": "#2F333D",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionInactiveBackground": "#2F333D" "selectionInactiveBackground": "#2F333D"
} }
}, },
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#2979ff", "Checkbox.Focus.Wide.Dark": "#2979ff",
"Checkbox.Foreground.Disabled": "#6B727D", "Checkbox.Foreground.Disabled": "#6B727D",
"Checkbox.Foreground.Disabled.Dark": "#6B727D", "Checkbox.Foreground.Disabled.Dark": "#6B727D",
"Checkbox.Background.Selected": "#2979ff", "Checkbox.Background.Selected": "#282C34",
"Checkbox.Background.Selected.Dark": "#2979ff", "Checkbox.Background.Selected.Dark": "#282C34",
"Checkbox.Border.Selected": "#2979ff", "Checkbox.Border.Selected": "#2979ff",
"Checkbox.Border.Selected.Dark": "#2979ff", "Checkbox.Border.Selected.Dark": "#2979ff",
"Checkbox.Foreground.Selected": "#979FAD", "Checkbox.Foreground.Selected": "#2979ff",
"Checkbox.Foreground.Selected.Dark": "#979FAD", "Checkbox.Foreground.Selected.Dark": "#2979ff",
"Checkbox.Focus.Thin.Selected": "#979FAD", "Checkbox.Focus.Thin.Selected": "#979FAD",
"Checkbox.Focus.Thin.Selected.Dark": "#979FAD", "Checkbox.Focus.Thin.Selected.Dark": "#979FAD",
"Objects.Grey": "#59626F", "Objects.Grey": "#59626F",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#979FAD", "Objects.BlackText": "#979FAD",
"Objects.YellowDark": "#D19A66", "Objects.YellowDark": "#D19A66",
"Objects.GreenAndroid": "#98C379" "Objects.GreenAndroid": "#98C379"
} }
} }
} }

View File

@@ -17,7 +17,7 @@
"inactiveBackground": "#3c4150", "inactiveBackground": "#3c4150",
"inactiveForeground": "#979FAD", "inactiveForeground": "#979FAD",
"infoForeground": "#979FAD", "infoForeground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionBackgroundInactive": "#2F333D", "selectionBackgroundInactive": "#2F333D",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#2F333D", "selectionInactiveBackground": "#2F333D",
@@ -31,7 +31,7 @@
"pressedBorderColor": "#2979ff50" "pressedBorderColor": "#2979ff50"
}, },
"Autocomplete": { "Autocomplete": {
"selectionBackground": "#3A3F4B" "selectionBackground": "#4D515D"
}, },
"Borders.ContrastBorderColor": "#282C34", "Borders.ContrastBorderColor": "#282C34",
"Borders.color": "#282C34", "Borders.color": "#282C34",
@@ -79,7 +79,7 @@
"disabledBackground": "#282C34", "disabledBackground": "#282C34",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ColorChooser": { "ColorChooser": {
@@ -110,15 +110,14 @@
"background": "#2F333D", "background": "#2F333D",
"foreground": "#979FAD", "foreground": "#979FAD",
"infoForeground": "#979FAD", "infoForeground": "#979FAD",
"matchForeground": "#2979ff2", "matchForeground": "#2979ff",
"matchSelectionForeground": "#2979ff", "matchSelectionForeground": "#2979ff",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#3A3F4B",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#979FAD", "selectionInactiveInfoForeground": "#979FAD",
"selectionInactiveBackground": "#383D48", "selectionInactiveBackground": "#4D515D50",
"selectionBackground": "#3A3F4B80", "selectionBackground": "#4D515D80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#6B727D", "inactiveUnderlineColor": "#6B727D",
"inactiveMaskColor": "#282C34", "inactiveMaskColor": "#282C34",
"underlineColor": "#2979ff", "underlineColor": "#2979ff",
"underlinedTabBackground":"#383E49" "underlinedTabBackground": "#383E49"
}, },
"Desktop.background": "#282C34", "Desktop.background": "#282C34",
"DialogWrapper.southPanelBackground": "#282C34", "DialogWrapper.southPanelBackground": "#282C34",
@@ -186,7 +185,7 @@
"foreground": "#979FAD", "foreground": "#979FAD",
"inactiveBackground": "#282C34", "inactiveBackground": "#282C34",
"inactiveForeground": "#6B727D", "inactiveForeground": "#6B727D",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"EditorTabs": { "EditorTabs": {
@@ -194,13 +193,22 @@
"hoverColor": "#383D48", "hoverColor": "#383D48",
"hoverMaskColor": "#383D48", "hoverMaskColor": "#383D48",
"inactiveMaskColor": "#282C34", "inactiveMaskColor": "#282C34",
"inactiveColoredFileBackground": "#282C34",
"inactiveUnderlineColor": "#6B727D", "inactiveUnderlineColor": "#6B727D",
"selectedForeground": "#979FAD", "selectedForeground": "#979FAD",
"selectedBackground": "#383E49", "selectedBackground": "#383E49",
"underlineColor": "#2979ff", "underlineColor": "#2979ff",
"underlinedTabBackground": "#383E49" "underlinedTabBackground": "#383E49"
}, },
"EditorGroupsTabs": {
"background": "#282C34",
"borderColor": "#2F333D",
"hoverBackground": "#383D48",
"hoverColor": "#383D48",
"inactiveUnderlineColor": "#2979ff",
"underlineColor": "#2979ff",
"underlinedTabBackground": "#383E49",
"underlinedTabForeground": "#979FAD"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,7 +291,7 @@
"List": { "List": {
"background": "#2F333D", "background": "#2F333D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3A3F4B25" "selectionInactiveBackground": "#3A3F4B25"
@@ -314,7 +322,7 @@
"disabledBackground": "#2F333D", "disabledBackground": "#2F333D",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"separatorColor": "#282C34" "separatorColor": "#282C34"
}, },
@@ -325,7 +333,7 @@
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"highlight": "#282C34", "highlight": "#282C34",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"shadow": "#282C34" "shadow": "#282C34"
}, },
@@ -337,7 +345,7 @@
"disabledBackground": "#282C34", "disabledBackground": "#282C34",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"NavBar": { "NavBar": {
@@ -408,8 +416,8 @@
"background": "#282C34", "background": "#282C34",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"eapTagBackground": "#383D48", "eapTagBackground": "#383D48",
"lightSelectionBackground": "#3A3F4B", "lightSelectionBackground": "#4D515D",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"tagForeground": "#2979ff", "tagForeground": "#2979ff",
"tagBackground": "#383D48", "tagBackground": "#383D48",
"Button": { "Button": {
@@ -487,7 +495,7 @@
"disabledBackground": "#282C34", "disabledBackground": "#282C34",
"disabledForeground": "#6B727D", "disabledForeground": "#6B727D",
"foreground": "#979FAD", "foreground": "#979FAD",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ScrollBar": { "ScrollBar": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#282C34", "background": "#282C34",
"buttonBorderColor": "#2979ff",
"buttonColor": "#2979ff",
"foreground": "#979FAD", "foreground": "#979FAD",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#2F333D", "tickColor": "#2F333D",
"trackColor": "#383E49",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#2979ff" "thumb": "#2979ff"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#2979ff"
}, },
"TabbedPane.mt.tab.background": "#282C34", "TabbedPane.mt.tab.background": "#282C34",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#2F333D", "lightSelectionInactiveBackground": "#2F333D",
"selectionBackground": "#383E49", "selectionBackground": "#383E49",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#3A3F4B25", "selectionInactiveBackground": "#383E49",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#979FAD", "sortIconColor": "#979FAD",
"stripeColor": "#21252B" "stripeColor": "#21252B"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#21252B", "background": "#21252B",
"Button.hoverBackground": "#383D48", "Button.hoverBackground": "#383D48",
"inactiveBackground": "#2F333D", "inactiveBackground": "#282C34",
"infoForeground": "#979FAD", "infoForeground": "#979FAD",
"inactiveInfoForeground": "#979FAD" "inactiveInfoForeground": "#979FAD"
}, },
@@ -734,7 +746,7 @@
"hash": "#282C34", "hash": "#282C34",
"modifiedItemForeground": "#2979ff", "modifiedItemForeground": "#2979ff",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#3A3F4B", "selectionBackground": "#3A3F4B70",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3A3F4B25", "selectionInactiveBackground": "#3A3F4B25",
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#979FAD", "Commit.unmatchedForeground": "#979FAD",
"Commit.currentBranchBackground": "#3A3F4B" "Commit.currentBranchBackground": "#2F333D"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#282C34", "background": "#282C34",
"foreground": "%fc" "foreground": "#979FAD"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#282C34", "background": "#282C34",
@@ -796,7 +808,7 @@
"separatorColor": "#282C34", "separatorColor": "#282C34",
"Projects": { "Projects": {
"background": "#2F333D", "background": "#2F333D",
"selectionBackground": "#3A3F4B", "selectionBackground": "#4D515D",
"selectionInactiveBackground": "#2F333D" "selectionInactiveBackground": "#2F333D"
} }
}, },
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#2979ff", "Checkbox.Focus.Wide.Dark": "#2979ff",
"Checkbox.Foreground.Disabled": "#6B727D", "Checkbox.Foreground.Disabled": "#6B727D",
"Checkbox.Foreground.Disabled.Dark": "#6B727D", "Checkbox.Foreground.Disabled.Dark": "#6B727D",
"Checkbox.Background.Selected": "#2979ff", "Checkbox.Background.Selected": "#282C34",
"Checkbox.Background.Selected.Dark": "#2979ff", "Checkbox.Background.Selected.Dark": "#282C34",
"Checkbox.Border.Selected": "#2979ff", "Checkbox.Border.Selected": "#2979ff",
"Checkbox.Border.Selected.Dark": "#2979ff", "Checkbox.Border.Selected.Dark": "#2979ff",
"Checkbox.Foreground.Selected": "#979FAD", "Checkbox.Foreground.Selected": "#2979ff",
"Checkbox.Foreground.Selected.Dark": "#979FAD", "Checkbox.Foreground.Selected.Dark": "#2979ff",
"Checkbox.Focus.Thin.Selected": "#979FAD", "Checkbox.Focus.Thin.Selected": "#979FAD",
"Checkbox.Focus.Thin.Selected.Dark": "#979FAD", "Checkbox.Focus.Thin.Selected.Dark": "#979FAD",
"Objects.Grey": "#59626F", "Objects.Grey": "#59626F",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#979FAD", "Objects.BlackText": "#979FAD",
"Objects.YellowDark": "#D19A66", "Objects.YellowDark": "#D19A66",
"Objects.GreenAndroid": "#98C379" "Objects.GreenAndroid": "#98C379"
} }
} }
} }

View File

@@ -8,13 +8,13 @@
"acceleratorSelectionForeground": "#6272A4", "acceleratorSelectionForeground": "#6272A4",
"background": "#282A36", "background": "#282A36",
"borderColor": "#21222C", "borderColor": "#21222C",
"disabledBackground": "#34353D", "disabledBackground": "#313341",
"disabledForeground": "#6272A4", "disabledForeground": "#6272A4",
"disabledText": "#6272A4", "disabledText": "#6272A4",
"focusColor": "#6272A4", "focusColor": "#6272A4",
"focusedBorderColor": "#FF79C5", "focusedBorderColor": "#FF79C5",
"foreground": "#F8F8F2", "foreground": "#F8F8F2",
"inactiveBackground": "#34353D", "inactiveBackground": "#313341",
"inactiveForeground": "#6272A4", "inactiveForeground": "#6272A4",
"infoForeground": "#6272A4", "infoForeground": "#6272A4",
"selectionBackground": "#44475A", "selectionBackground": "#44475A",
@@ -110,14 +110,13 @@
"background": "#282A36", "background": "#282A36",
"foreground": "#F8F8F2", "foreground": "#F8F8F2",
"infoForeground": "#6272A4", "infoForeground": "#6272A4",
"matchForeground": "#FF79C52", "matchForeground": "#FF79C5",
"matchSelectionForeground": "#FF79C5", "matchSelectionForeground": "#FF79C5",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#44475A",
"selectedGrayedForeground": "#8BE9FD", "selectedGrayedForeground": "#8BE9FD",
"selectionGrayForeground": "#8BE9FD", "selectionGrayForeground": "#8BE9FD",
"selectionInactiveInfoForeground": "#6272A4", "selectionInactiveInfoForeground": "#6272A4",
"selectionInactiveBackground": "#6272A4", "selectionInactiveBackground": "#44475A50",
"selectionBackground": "#44475A80", "selectionBackground": "#44475A80",
"selectionForeground": "#8BE9FD", "selectionForeground": "#8BE9FD",
"selectionInfoForeground": "#8BE9FD" "selectionInfoForeground": "#8BE9FD"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#6272A4", "inactiveUnderlineColor": "#6272A4",
"inactiveMaskColor": "#191A21", "inactiveMaskColor": "#191A21",
"underlineColor": "#FF79C5", "underlineColor": "#FF79C5",
"underlinedTabBackground":"#44475A" "underlinedTabBackground": "#44475A"
}, },
"Desktop.background": "#282A36", "Desktop.background": "#282A36",
"DialogWrapper.southPanelBackground": "#282A36", "DialogWrapper.southPanelBackground": "#282A36",
@@ -194,17 +193,26 @@
"hoverColor": "#6272A4", "hoverColor": "#6272A4",
"hoverMaskColor": "#6272A4", "hoverMaskColor": "#6272A4",
"inactiveMaskColor": "#282A36", "inactiveMaskColor": "#282A36",
"inactiveColoredFileBackground": "#282A36",
"inactiveUnderlineColor": "#6272A4", "inactiveUnderlineColor": "#6272A4",
"selectedForeground": "#F8F8F2", "selectedForeground": "#F8F8F2",
"selectedBackground": "#44475A", "selectedBackground": "#44475A",
"underlineColor": "#FF79C5", "underlineColor": "#FF79C5",
"underlinedTabBackground": "#44475A" "underlinedTabBackground": "#44475A"
}, },
"EditorGroupsTabs": {
"background": "#282A36",
"borderColor": "#282A36",
"hoverBackground": "#6272A4",
"hoverColor": "#6272A4",
"inactiveUnderlineColor": "#FF79C5",
"underlineColor": "#FF79C5",
"underlinedTabBackground": "#44475A",
"underlinedTabForeground": "#F8F8F2"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
"Yellow": "#34353D", "Yellow": "#313341",
"Orange": "#B53D00", "Orange": "#B53D00",
"Violet": "#4D2C91", "Violet": "#4D2C91",
"Rose": "#A00037" "Rose": "#A00037"
@@ -283,7 +291,7 @@
"List": { "List": {
"background": "#282A36", "background": "#282A36",
"foreground": "#F8F8F2", "foreground": "#F8F8F2",
"selectionBackground": "#44475A", "selectionBackground": "#44475A50",
"selectionForeground": "#8BE9FD", "selectionForeground": "#8BE9FD",
"selectionInactiveForeground": "#8BE9FD", "selectionInactiveForeground": "#8BE9FD",
"selectionInactiveBackground": "#44475A25" "selectionInactiveBackground": "#44475A25"
@@ -533,7 +541,7 @@
"background": "#282A36" "background": "#282A36"
}, },
"List": { "List": {
"separatorForeground": "#F8F8F2", "separatorForeground": "#6272A4",
"separatorColor": "#21222C" "separatorColor": "#21222C"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#282A36", "background": "#282A36",
"buttonBorderColor": "#FF79C5",
"buttonColor": "#FF79C5",
"foreground": "#F8F8F2", "foreground": "#F8F8F2",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#282A36", "tickColor": "#282A36",
"trackColor": "#44475A",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#FF79C5" "thumb": "#FF79C5"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#FF79C5"
}, },
"TabbedPane.mt.tab.background": "#191A21", "TabbedPane.mt.tab.background": "#191A21",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#282A36", "lightSelectionInactiveBackground": "#282A36",
"selectionBackground": "#44475A", "selectionBackground": "#44475A",
"selectionForeground": "#8BE9FD", "selectionForeground": "#8BE9FD",
"selectionInactiveBackground": "#44475A25", "selectionInactiveBackground": "#44475A",
"selectionInactiveForeground": "#8BE9FD", "selectionInactiveForeground": "#8BE9FD",
"sortIconColor": "#F8F8F2", "sortIconColor": "#F8F8F2",
"stripeColor": "#191A21" "stripeColor": "#191A21"
@@ -734,7 +746,7 @@
"hash": "#21222C", "hash": "#21222C",
"modifiedItemForeground": "#FF79C5", "modifiedItemForeground": "#FF79C5",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#44475A", "selectionBackground": "#44475A70",
"selectionForeground": "#8BE9FD", "selectionForeground": "#8BE9FD",
"selectionInactiveForeground": "#8BE9FD", "selectionInactiveForeground": "#8BE9FD",
"selectionInactiveBackground": "#44475A25", "selectionInactiveBackground": "#44475A25",
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#6272A4", "Commit.unmatchedForeground": "#6272A4",
"Commit.currentBranchBackground": "#44475A" "Commit.currentBranchBackground": "#282A36"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#8BE9FD", "foreground": "#8BE9FD",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#191A21", "background": "#191A21",
"foreground": "%fc" "foreground": "#F8F8F2"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#282A36", "background": "#282A36",
@@ -826,8 +838,8 @@
"Actions.Yellow": "#50FA7B", "Actions.Yellow": "#50FA7B",
"Checkbox.Background.Default": "#191A21", "Checkbox.Background.Default": "#191A21",
"Checkbox.Background.Default.Dark": "#191A21", "Checkbox.Background.Default.Dark": "#191A21",
"Checkbox.Background.Disabled": "#34353D", "Checkbox.Background.Disabled": "#313341",
"Checkbox.Background.Disabled.Dark": "#34353D", "Checkbox.Background.Disabled.Dark": "#313341",
"Checkbox.Border.Default": "#21222C", "Checkbox.Border.Default": "#21222C",
"Checkbox.Border.Default.Dark": "#21222C", "Checkbox.Border.Default.Dark": "#21222C",
"Checkbox.Border.Disabled": "#6272A4", "Checkbox.Border.Disabled": "#6272A4",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#FF79C5", "Checkbox.Focus.Wide.Dark": "#FF79C5",
"Checkbox.Foreground.Disabled": "#6272A4", "Checkbox.Foreground.Disabled": "#6272A4",
"Checkbox.Foreground.Disabled.Dark": "#6272A4", "Checkbox.Foreground.Disabled.Dark": "#6272A4",
"Checkbox.Background.Selected": "#FF79C5", "Checkbox.Background.Selected": "#282A36",
"Checkbox.Background.Selected.Dark": "#FF79C5", "Checkbox.Background.Selected.Dark": "#282A36",
"Checkbox.Border.Selected": "#FF79C5", "Checkbox.Border.Selected": "#FF79C5",
"Checkbox.Border.Selected.Dark": "#FF79C5", "Checkbox.Border.Selected.Dark": "#FF79C5",
"Checkbox.Foreground.Selected": "#F8F8F2", "Checkbox.Foreground.Selected": "#FF79C5",
"Checkbox.Foreground.Selected.Dark": "#F8F8F2", "Checkbox.Foreground.Selected.Dark": "#FF79C5",
"Checkbox.Focus.Thin.Selected": "#F8F8F2", "Checkbox.Focus.Thin.Selected": "#F8F8F2",
"Checkbox.Focus.Thin.Selected.Dark": "#F8F8F2", "Checkbox.Focus.Thin.Selected.Dark": "#F8F8F2",
"Objects.Grey": "#6272A4", "Objects.Grey": "#6272A4",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#F8F8F2", "Objects.BlackText": "#F8F8F2",
"Objects.YellowDark": "#BD93F9", "Objects.YellowDark": "#BD93F9",
"Objects.GreenAndroid": "#F1FA8C" "Objects.GreenAndroid": "#F1FA8C"
} }
} }
} }

View File

@@ -8,13 +8,13 @@
"acceleratorSelectionForeground": "#6272A4", "acceleratorSelectionForeground": "#6272A4",
"background": "#282A36", "background": "#282A36",
"borderColor": "#21222C", "borderColor": "#21222C",
"disabledBackground": "#34353D", "disabledBackground": "#313341",
"disabledForeground": "#6272A4", "disabledForeground": "#6272A4",
"disabledText": "#6272A4", "disabledText": "#6272A4",
"focusColor": "#6272A4", "focusColor": "#6272A4",
"focusedBorderColor": "#FF79C5", "focusedBorderColor": "#FF79C5",
"foreground": "#F8F8F2", "foreground": "#F8F8F2",
"inactiveBackground": "#34353D", "inactiveBackground": "#313341",
"inactiveForeground": "#6272A4", "inactiveForeground": "#6272A4",
"infoForeground": "#6272A4", "infoForeground": "#6272A4",
"selectionBackground": "#44475A", "selectionBackground": "#44475A",
@@ -110,14 +110,13 @@
"background": "#282A36", "background": "#282A36",
"foreground": "#F8F8F2", "foreground": "#F8F8F2",
"infoForeground": "#6272A4", "infoForeground": "#6272A4",
"matchForeground": "#FF79C52", "matchForeground": "#FF79C5",
"matchSelectionForeground": "#FF79C5", "matchSelectionForeground": "#FF79C5",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#44475A",
"selectedGrayedForeground": "#8BE9FD", "selectedGrayedForeground": "#8BE9FD",
"selectionGrayForeground": "#8BE9FD", "selectionGrayForeground": "#8BE9FD",
"selectionInactiveInfoForeground": "#6272A4", "selectionInactiveInfoForeground": "#6272A4",
"selectionInactiveBackground": "#6272A4", "selectionInactiveBackground": "#44475A50",
"selectionBackground": "#44475A80", "selectionBackground": "#44475A80",
"selectionForeground": "#8BE9FD", "selectionForeground": "#8BE9FD",
"selectionInfoForeground": "#8BE9FD" "selectionInfoForeground": "#8BE9FD"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#6272A4", "inactiveUnderlineColor": "#6272A4",
"inactiveMaskColor": "#282A36", "inactiveMaskColor": "#282A36",
"underlineColor": "#FF79C5", "underlineColor": "#FF79C5",
"underlinedTabBackground":"#44475A" "underlinedTabBackground": "#44475A"
}, },
"Desktop.background": "#282A36", "Desktop.background": "#282A36",
"DialogWrapper.southPanelBackground": "#282A36", "DialogWrapper.southPanelBackground": "#282A36",
@@ -194,17 +193,26 @@
"hoverColor": "#6272A4", "hoverColor": "#6272A4",
"hoverMaskColor": "#6272A4", "hoverMaskColor": "#6272A4",
"inactiveMaskColor": "#282A36", "inactiveMaskColor": "#282A36",
"inactiveColoredFileBackground": "#282A36",
"inactiveUnderlineColor": "#6272A4", "inactiveUnderlineColor": "#6272A4",
"selectedForeground": "#F8F8F2", "selectedForeground": "#F8F8F2",
"selectedBackground": "#44475A", "selectedBackground": "#44475A",
"underlineColor": "#FF79C5", "underlineColor": "#FF79C5",
"underlinedTabBackground": "#44475A" "underlinedTabBackground": "#44475A"
}, },
"EditorGroupsTabs": {
"background": "#282A36",
"borderColor": "#282A36",
"hoverBackground": "#6272A4",
"hoverColor": "#6272A4",
"inactiveUnderlineColor": "#FF79C5",
"underlineColor": "#FF79C5",
"underlinedTabBackground": "#44475A",
"underlinedTabForeground": "#F8F8F2"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
"Yellow": "#34353D", "Yellow": "#313341",
"Orange": "#B53D00", "Orange": "#B53D00",
"Violet": "#4D2C91", "Violet": "#4D2C91",
"Rose": "#A00037" "Rose": "#A00037"
@@ -283,7 +291,7 @@
"List": { "List": {
"background": "#282A36", "background": "#282A36",
"foreground": "#F8F8F2", "foreground": "#F8F8F2",
"selectionBackground": "#44475A", "selectionBackground": "#44475A50",
"selectionForeground": "#8BE9FD", "selectionForeground": "#8BE9FD",
"selectionInactiveForeground": "#8BE9FD", "selectionInactiveForeground": "#8BE9FD",
"selectionInactiveBackground": "#44475A25" "selectionInactiveBackground": "#44475A25"
@@ -533,7 +541,7 @@
"background": "#282A36" "background": "#282A36"
}, },
"List": { "List": {
"separatorForeground": "#F8F8F2", "separatorForeground": "#6272A4",
"separatorColor": "#21222C" "separatorColor": "#21222C"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#282A36", "background": "#282A36",
"buttonBorderColor": "#FF79C5",
"buttonColor": "#FF79C5",
"foreground": "#F8F8F2", "foreground": "#F8F8F2",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#282A36", "tickColor": "#282A36",
"trackColor": "#44475A",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#FF79C5" "thumb": "#FF79C5"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#FF79C5"
}, },
"TabbedPane.mt.tab.background": "#282A36", "TabbedPane.mt.tab.background": "#282A36",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#282A36", "lightSelectionInactiveBackground": "#282A36",
"selectionBackground": "#44475A", "selectionBackground": "#44475A",
"selectionForeground": "#8BE9FD", "selectionForeground": "#8BE9FD",
"selectionInactiveBackground": "#44475A25", "selectionInactiveBackground": "#44475A",
"selectionInactiveForeground": "#8BE9FD", "selectionInactiveForeground": "#8BE9FD",
"sortIconColor": "#F8F8F2", "sortIconColor": "#F8F8F2",
"stripeColor": "#191A21" "stripeColor": "#191A21"
@@ -734,7 +746,7 @@
"hash": "#21222C", "hash": "#21222C",
"modifiedItemForeground": "#FF79C5", "modifiedItemForeground": "#FF79C5",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#44475A", "selectionBackground": "#44475A70",
"selectionForeground": "#8BE9FD", "selectionForeground": "#8BE9FD",
"selectionInactiveForeground": "#8BE9FD", "selectionInactiveForeground": "#8BE9FD",
"selectionInactiveBackground": "#44475A25", "selectionInactiveBackground": "#44475A25",
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#6272A4", "Commit.unmatchedForeground": "#6272A4",
"Commit.currentBranchBackground": "#44475A" "Commit.currentBranchBackground": "#282A36"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#8BE9FD", "foreground": "#8BE9FD",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#282A36", "background": "#282A36",
"foreground": "%fc" "foreground": "#F8F8F2"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#282A36", "background": "#282A36",
@@ -826,8 +838,8 @@
"Actions.Yellow": "#50FA7B", "Actions.Yellow": "#50FA7B",
"Checkbox.Background.Default": "#191A21", "Checkbox.Background.Default": "#191A21",
"Checkbox.Background.Default.Dark": "#191A21", "Checkbox.Background.Default.Dark": "#191A21",
"Checkbox.Background.Disabled": "#34353D", "Checkbox.Background.Disabled": "#313341",
"Checkbox.Background.Disabled.Dark": "#34353D", "Checkbox.Background.Disabled.Dark": "#313341",
"Checkbox.Border.Default": "#21222C", "Checkbox.Border.Default": "#21222C",
"Checkbox.Border.Default.Dark": "#21222C", "Checkbox.Border.Default.Dark": "#21222C",
"Checkbox.Border.Disabled": "#6272A4", "Checkbox.Border.Disabled": "#6272A4",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#FF79C5", "Checkbox.Focus.Wide.Dark": "#FF79C5",
"Checkbox.Foreground.Disabled": "#6272A4", "Checkbox.Foreground.Disabled": "#6272A4",
"Checkbox.Foreground.Disabled.Dark": "#6272A4", "Checkbox.Foreground.Disabled.Dark": "#6272A4",
"Checkbox.Background.Selected": "#FF79C5", "Checkbox.Background.Selected": "#282A36",
"Checkbox.Background.Selected.Dark": "#FF79C5", "Checkbox.Background.Selected.Dark": "#282A36",
"Checkbox.Border.Selected": "#FF79C5", "Checkbox.Border.Selected": "#FF79C5",
"Checkbox.Border.Selected.Dark": "#FF79C5", "Checkbox.Border.Selected.Dark": "#FF79C5",
"Checkbox.Foreground.Selected": "#F8F8F2", "Checkbox.Foreground.Selected": "#FF79C5",
"Checkbox.Foreground.Selected.Dark": "#F8F8F2", "Checkbox.Foreground.Selected.Dark": "#FF79C5",
"Checkbox.Focus.Thin.Selected": "#F8F8F2", "Checkbox.Focus.Thin.Selected": "#F8F8F2",
"Checkbox.Focus.Thin.Selected.Dark": "#F8F8F2", "Checkbox.Focus.Thin.Selected.Dark": "#F8F8F2",
"Objects.Grey": "#6272A4", "Objects.Grey": "#6272A4",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#F8F8F2", "Objects.BlackText": "#F8F8F2",
"Objects.YellowDark": "#BD93F9", "Objects.YellowDark": "#BD93F9",
"Objects.GreenAndroid": "#F1FA8C" "Objects.GreenAndroid": "#F1FA8C"
} }
} }
} }

View File

@@ -8,19 +8,19 @@
"acceleratorSelectionForeground": "#292D31", "acceleratorSelectionForeground": "#292D31",
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#DFE1E4", "borderColor": "#DFE1E4",
"disabledBackground": "#FDFDFD", "disabledBackground": "#dcdcdc",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"focusColor": "#CCE5FF", "focusColor": "#CCE5FF",
"focusedBorderColor": "#79CB60", "focusedBorderColor": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveBackground": "#FDFDFD", "inactiveBackground": "#dcdcdc",
"inactiveForeground": "#292D31", "inactiveForeground": "#292D31",
"infoForeground": "#292D31", "infoForeground": "#292D31",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionBackgroundInactive": "#F7F8FA", "selectionBackgroundInactive": "#f3f3f3",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#F7F8FA", "selectionInactiveBackground": "#f3f3f3",
"separatorColor": "#DFE1E4" "separatorColor": "#DFE1E4"
}, },
"activeCaption": "#F7F8FA", "activeCaption": "#F7F8FA",
@@ -48,27 +48,27 @@
"startBackground": "#cce5ff", "startBackground": "#cce5ff",
"startBorderColor": "#cce5ff" "startBorderColor": "#cce5ff"
}, },
"disabledBorderColor": "#F1F3F6", "disabledBorderColor": "#edf1f5",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"endBackground": "#F1F3F6", "endBackground": "#edf1f5",
"endBorderColor": "#F1F3F6", "endBorderColor": "#edf1f5",
"focus": "#CCE5FF", "focus": "#CCE5FF",
"focusedBorderColor": "#79CB60", "focusedBorderColor": "#79CB60",
"foreground": "#292D31", "foreground": "#292D31",
"highlight": "#111111", "highlight": "#FFFFFF",
"mt.background": "#F1F3F6", "mt.background": "#edf1f5",
"mt.foreground": "#292D31", "mt.foreground": "#292D31",
"mt.selectedForeground": "#111111", "mt.selectedForeground": "#FFFFFF",
"mt.selection.color1": "#cce5ff", "mt.selection.color1": "#cce5ff",
"mt.selection.color2": "#cce5ff", "mt.selection.color2": "#cce5ff",
"startBackground": "#F1F3F6", "startBackground": "#edf1f5",
"startBorderColor": "#F1F3F6", "startBorderColor": "#edf1f5",
"shadowColor": "#F1F3F6", "shadowColor": "#edf1f5",
"shadowWidth": 0 "shadowWidth": 0
}, },
"CheckBox": { "CheckBox": {
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"select": "#79CB60" "select": "#79CB60"
}, },
@@ -77,7 +77,7 @@
"acceleratorSelectionForeground": "#292D31", "acceleratorSelectionForeground": "#292D31",
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledBackground": "#F7F8FA", "disabledBackground": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111" "selectionForeground": "#111111"
@@ -87,45 +87,44 @@
"foreground": "#5B6168", "foreground": "#5B6168",
"swatchesDefaultRecentColor": "#5B6168" "swatchesDefaultRecentColor": "#5B6168"
}, },
"ComboBoxButton.background": "#F1F3F6", "ComboBoxButton.background": "#edf1f5",
"ComboBox": { "ComboBox": {
"ArrowButton": { "ArrowButton": {
"background": "#F1F3F6", "background": "#edf1f5",
"disabledIconColor": "#6C737C", "disabledIconColor": "#9ba0a3",
"iconColor": "#5B6168", "iconColor": "#5B6168",
"nonEditableBackground": "#F7F8FA" "nonEditableBackground": "#F7F8FA"
}, },
"background": "#FFFFFF", "background": "#fafbfc",
"buttonBackground": "#F1F3F6", "buttonBackground": "#edf1f5",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"modifiedItemForeground": "#79CB60", "modifiedItemForeground": "#79CB60",
"nonEditableBackground": "#F7F8FA", "nonEditableBackground": "#f3f3f3",
"padding": "5,5,5,5", "padding": "5,5,5,5",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"ComboPopup.border": "#DFE1E4", "ComboPopup.border": "#DFE1E4",
"CompletionPopup": { "CompletionPopup": {
"background": "#F7F8FA", "background": "#f3f3f3",
"foreground": "#5B6168", "foreground": "#5B6168",
"infoForeground": "#292D31", "infoForeground": "#292D31",
"matchForeground": "#79CB602", "matchForeground": "#79CB60",
"matchSelectionForeground": "#79CB60", "matchSelectionForeground": "#79CB60",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#3A66D1", "selectedGrayedForeground": "#FFFFFF",
"selectedGrayedForeground": "#111111", "selectionGrayForeground": "#FFFFFF",
"selectionGrayForeground": "#111111",
"selectionInactiveInfoForeground": "#292D31", "selectionInactiveInfoForeground": "#292D31",
"selectionInactiveBackground": "#CCE5FF", "selectionInactiveBackground": "#3A66D150",
"selectionBackground": "#3A66D180", "selectionBackground": "#3A66D180",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#111111" "selectionInfoForeground": "#FFFFFF"
}, },
"Component": { "Component": {
"arc": 4, "arc": 4,
"borderColor": "#CCE5FF", "borderColor": "#CCE5FF",
"disabledBorderColor": "#F1F3F6", "disabledBorderColor": "#edf1f5",
"focusColor": "#79CB60", "focusColor": "#79CB60",
"focusedBorderColor": "#79CB60", "focusedBorderColor": "#79CB60",
"hoverIconColor": "#79CB60", "hoverIconColor": "#79CB60",
@@ -136,7 +135,7 @@
"controlText": "#292D31", "controlText": "#292D31",
"Counter": { "Counter": {
"background": "#79CB60", "background": "#79CB60",
"foreground": "#111111" "foreground": "#FFFFFF"
}, },
"Debugger": { "Debugger": {
"Variables": { "Variables": {
@@ -160,12 +159,12 @@
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"hoverBackground": "#cce5ff", "hoverBackground": "#cce5ff",
"hoverColor": "#FFFFFF", "hoverColor": "#fafbfc",
"hoverMaskColor": "#CCE5FF", "hoverMaskColor": "#CCE5FF",
"inactiveUnderlineColor": "#6C737C", "inactiveUnderlineColor": "#9ba0a3",
"inactiveMaskColor": "#FFFFFF", "inactiveMaskColor": "#fafbfc",
"underlineColor": "#79CB60", "underlineColor": "#79CB60",
"underlinedTabBackground":"#cce5ff" "underlinedTabBackground": "#cce5ff"
}, },
"Desktop.background": "#F7F8FA", "Desktop.background": "#F7F8FA",
"DialogWrapper.southPanelBackground": "#F7F8FA", "DialogWrapper.southPanelBackground": "#F7F8FA",
@@ -176,35 +175,44 @@
"areaForeground": "#5B6168" "areaForeground": "#5B6168"
}, },
"Editor": { "Editor": {
"background": "#FFFFFF", "background": "#fafbfc",
"foreground": "#5B6168", "foreground": "#5B6168",
"shortcutForeground": "#292D31" "shortcutForeground": "#292D31"
}, },
"EditorPane": { "EditorPane": {
"background": "#FFFFFF", "background": "#fafbfc",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveBackground": "#F7F8FA", "inactiveBackground": "#F7F8FA",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"EditorTabs": { "EditorTabs": {
"borderColor": "#F7F8FA", "borderColor": "#f3f3f3",
"hoverColor": "#CCE5FF", "hoverColor": "#CCE5FF",
"hoverMaskColor": "#CCE5FF", "hoverMaskColor": "#CCE5FF",
"inactiveMaskColor": "#F7F8FA", "inactiveMaskColor": "#F7F8FA",
"inactiveColoredFileBackground": "#F7F8FA", "inactiveUnderlineColor": "#9ba0a3",
"inactiveUnderlineColor": "#6C737C",
"selectedForeground": "#5B6168", "selectedForeground": "#5B6168",
"selectedBackground": "#cce5ff", "selectedBackground": "#cce5ff",
"underlineColor": "#79CB60", "underlineColor": "#79CB60",
"underlinedTabBackground": "#cce5ff" "underlinedTabBackground": "#cce5ff"
}, },
"EditorGroupsTabs": {
"background": "#F7F8FA",
"borderColor": "#f3f3f3",
"hoverBackground": "#CCE5FF",
"hoverColor": "#CCE5FF",
"inactiveUnderlineColor": "#79CB60",
"underlineColor": "#79CB60",
"underlinedTabBackground": "#cce5ff",
"underlinedTabForeground": "#5B6168"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
"Yellow": "#FDFDFD", "Yellow": "#dcdcdc",
"Orange": "#B53D00", "Orange": "#B53D00",
"Violet": "#4D2C91", "Violet": "#4D2C91",
"Rose": "#A00037" "Rose": "#A00037"
@@ -221,11 +229,11 @@
}, },
"Focus.color": "#DFE1E4", "Focus.color": "#DFE1E4",
"FormattedTextField": { "FormattedTextField": {
"background": "#FFFFFF", "background": "#fafbfc",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveBackground": "#F1F3F6", "inactiveBackground": "#edf1f5",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionForeground": "#111111", "selectionForeground": "#111111",
"selectionBackground": "#cce5ff" "selectionBackground": "#cce5ff"
}, },
@@ -239,7 +247,7 @@
}, },
"HeaderColor": { "HeaderColor": {
"active": "#F7F8FA", "active": "#F7F8FA",
"inactive": "#FFFFFF" "inactive": "#fafbfc"
}, },
"HelpTooltip": { "HelpTooltip": {
"background": "#F7F8FA", "background": "#F7F8FA",
@@ -249,7 +257,7 @@
"shortcutForeground": "#292D31" "shortcutForeground": "#292D31"
}, },
"Hyperlink.linkColor": "#79CB60", "Hyperlink.linkColor": "#79CB60",
"inactiveCaption": "#F7F8FA", "inactiveCaption": "#f3f3f3",
"inactiveCaptionBorder": "#F7F8FA", "inactiveCaptionBorder": "#F7F8FA",
"inactiveCaptionText": "#292D31", "inactiveCaptionText": "#292D31",
"info": "#292D31", "info": "#292D31",
@@ -266,9 +274,9 @@
}, },
"Label": { "Label": {
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"disabledShadow": "#F7F8FA", "disabledShadow": "#F7F8FA",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"infoForeground": "#292D31", "infoForeground": "#292D31",
"selectedForeground": "#111111" "selectedForeground": "#111111"
@@ -281,64 +289,64 @@
"visitedForeground": "#79CB60" "visitedForeground": "#79CB60"
}, },
"List": { "List": {
"background": "#F7F8FA", "background": "#f3f3f3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D150",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#111111", "selectionInactiveForeground": "#111111",
"selectionInactiveBackground": "#3A66D125" "selectionInactiveBackground": "#3A66D125"
}, },
"material": { "material": {
"background": "#F7F8FA", "background": "#F7F8FA",
"branchColor": "#5B6168", "branchColor": "#5B6168",
"contrast": "#FFFFFF", "contrast": "#fafbfc",
"foreground": "#5B6168", "foreground": "#5B6168",
"mergeCommits": "#F1F3F6", "mergeCommits": "#edf1f5",
"primaryColor": "#292D31", "primaryColor": "#292D31",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"tab.backgroundColor": "#F7F8FA", "tab.backgroundColor": "#F7F8FA",
"tab.borderColor": "#79CB60", "tab.borderColor": "#79CB60",
"tagColor": "#292D31" "tagColor": "#292D31"
}, },
"MemoryIndicator": { "MemoryIndicator": {
"allocatedBackground": "#F7F8FA", "allocatedBackground": "#f3f3f3",
"usedColor": "#CCE5FF", "usedColor": "#CCE5FF",
"usedBackground": "#CCE5FF" "usedBackground": "#CCE5FF"
}, },
"Menu": { "Menu": {
"acceleratorForeground": "#292D31", "acceleratorForeground": "#292D31",
"acceleratorSelectionForeground": "#111111", "acceleratorSelectionForeground": "#FFFFFF",
"background": "#F7F8FA", "background": "#F7F8FA",
"border": "4,2,4,2", "border": "4,2,4,2",
"borderColor": "#F7F8FA", "borderColor": "#f3f3f3",
"disabledBackground": "#F7F8FA", "disabledBackground": "#f3f3f3",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"separatorColor": "#DFE1E4" "separatorColor": "#DFE1E4"
}, },
"MenuBar": { "MenuBar": {
"background": "#FFFFFF", "background": "#fafbfc",
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"disabledBackground": "#F7F8FA", "disabledBackground": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"highlight": "#F7F8FA", "highlight": "#F7F8FA",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"shadow": "#FFFFFF" "shadow": "#fafbfc"
}, },
"MenuItem": { "MenuItem": {
"acceleratorForeground": "#292D31", "acceleratorForeground": "#292D31",
"acceleratorSelectionForeground": "#111111", "acceleratorSelectionForeground": "#FFFFFF",
"border": "4,2,4,2", "border": "4,2,4,2",
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledBackground": "#F7F8FA", "disabledBackground": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111" "selectionForeground": "#FFFFFF"
}, },
"NavBar": { "NavBar": {
"arrowColor": "#5B6168", "arrowColor": "#5B6168",
@@ -349,7 +357,7 @@
"background": "#F7F8FA" "background": "#F7F8FA"
}, },
"SearchField": { "SearchField": {
"background": "#FFFFFF" "background": "#fafbfc"
} }
}, },
"Notification": { "Notification": {
@@ -359,9 +367,9 @@
"errorBorderColor": "#DFECFE", "errorBorderColor": "#DFECFE",
"foreground": "#5B6168", "foreground": "#5B6168",
"MoreButton": { "MoreButton": {
"background": "#F1F3F6", "background": "#edf1f5",
"foreground": "#5B6168", "foreground": "#5B6168",
"innerBorderColor": "#F1F3F6" "innerBorderColor": "#edf1f5"
}, },
"ToolWindow": { "ToolWindow": {
"errorBackground": "#DFECFE", "errorBackground": "#DFECFE",
@@ -379,61 +387,61 @@
"messageForeground": "#5B6168" "messageForeground": "#5B6168"
}, },
"Outline": { "Outline": {
"color": "#F1F3F6" "color": "#edf1f5"
}, },
"Panel": { "Panel": {
"background": "#F7F8FA", "background": "#F7F8FA",
"foreground": "#5B6168" "foreground": "#5B6168"
}, },
"ParameterInfo": { "ParameterInfo": {
"background": "#F7F8FA", "background": "#f3f3f3",
"borderColor": "#cce5ff", "borderColor": "#cce5ff",
"currentOverloadBackground": "#cce5ff", "currentOverloadBackground": "#cce5ff",
"currentParameterForeground": "#79CB60", "currentParameterForeground": "#79CB60",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"infoForeground": "#292D31", "infoForeground": "#292D31",
"lineSeparatorColor": "#cce5ff" "lineSeparatorColor": "#cce5ff"
}, },
"PasswordField": { "PasswordField": {
"background": "#FFFFFF", "background": "#fafbfc",
"capsLockIconColor": "#79CB60", "capsLockIconColor": "#79CB60",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"Plugins": { "Plugins": {
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"eapTagBackground": "#CCE5FF", "eapTagBackground": "#CCE5FF",
"lightSelectionBackground": "#3A66D1", "lightSelectionBackground": "#3A66D1",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"tagForeground": "#79CB60", "tagForeground": "#79CB60",
"tagBackground": "#CCE5FF", "tagBackground": "#CCE5FF",
"Button": { "Button": {
"installBackground": "#F1F3F6", "installBackground": "#edf1f5",
"installBorderColor": "#F1F3F6", "installBorderColor": "#edf1f5",
"installForeground": "#5B6168", "installForeground": "#5B6168",
"installFocusedBackground": "#CCE5FF", "installFocusedBackground": "#CCE5FF",
"installFillForeground": "#292D31", "installFillForeground": "#292D31",
"installFillBackground": "#F1F3F6", "installFillBackground": "#edf1f5",
"updateBackground": "#F1F3F6", "updateBackground": "#edf1f5",
"updateBorderColor": "#F1F3F6", "updateBorderColor": "#edf1f5",
"updateForeground": "#5B6168" "updateForeground": "#5B6168"
}, },
"SearchField": { "SearchField": {
"background": "#FFFFFF", "background": "#fafbfc",
"borderColor": "#DFE1E4" "borderColor": "#DFE1E4"
}, },
"SectionHeader": { "SectionHeader": {
"background": "#F7F8FA", "background": "#f3f3f3",
"foreground": "#5B6168" "foreground": "#5B6168"
}, },
"Tab": { "Tab": {
"hoverBackground": "#cce5ff", "hoverBackground": "#cce5ff",
"selectedForeground": "#111111", "selectedForeground": "#FFFFFF",
"selectedBackground": "#cce5ff" "selectedBackground": "#cce5ff"
} }
}, },
@@ -443,19 +451,19 @@
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"foreground": "#79CB60" "foreground": "#79CB60"
}, },
"borderColor": "#FFFFFF", "borderColor": "#fafbfc",
"inactiveBorderColor": "#F7F8FA", "inactiveBorderColor": "#F7F8FA",
"innerBorderColor": "#F7F8FA", "innerBorderColor": "#f3f3f3",
"Header": { "Header": {
"activeBackground": "#F7F8FA", "activeBackground": "#F7F8FA",
"inactiveBackground": "#FFFFFF" "inactiveBackground": "#fafbfc"
}, },
"paintBorder": true, "paintBorder": true,
"separatorForeground": "#5B6168", "separatorForeground": "#5B6168",
"separatorColor": "#F7F8FA", "separatorColor": "#f3f3f3",
"Toolbar": { "Toolbar": {
"background": "#FFFFFF", "background": "#fafbfc",
"borderColor": "#FFFFFF" "borderColor": "#fafbfc"
} }
}, },
"PopupMenu": { "PopupMenu": {
@@ -477,7 +485,7 @@
}, },
"RadioButton": { "RadioButton": {
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"foreground": "#5B6168" "foreground": "#5B6168"
}, },
"RadioButtonMenuItem": { "RadioButtonMenuItem": {
@@ -485,10 +493,10 @@
"acceleratorSelectionForeground": "#292D31", "acceleratorSelectionForeground": "#292D31",
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledBackground": "#F7F8FA", "disabledBackground": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111" "selectionForeground": "#FFFFFF"
}, },
"ScrollBar": { "ScrollBar": {
"background": "#F7F8FA", "background": "#F7F8FA",
@@ -526,19 +534,19 @@
}, },
"SearchEverywhere": { "SearchEverywhere": {
"Advertiser": { "Advertiser": {
"background": "#FFFFFF", "background": "#fafbfc",
"foreground": "#292D31" "foreground": "#292D31"
}, },
"Header": { "Header": {
"background": "#F7F8FA" "background": "#F7F8FA"
}, },
"List": { "List": {
"separatorForeground": "#5B6168", "separatorForeground": "#292D31",
"separatorColor": "#DFE1E4" "separatorColor": "#DFE1E4"
}, },
"SearchField": { "SearchField": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#FFFFFF", "borderColor": "#fafbfc",
"infoForeground": "#292D31" "infoForeground": "#292D31"
}, },
"Tab": { "Tab": {
@@ -552,18 +560,21 @@
"startBackground": "#79CB60" "startBackground": "#79CB60"
}, },
"Separator": { "Separator": {
"background": "#F7F8FA", "background": "#f3f3f3",
"foreground": "#F7F8FA", "foreground": "#f3f3f3",
"separatorColor": "#F7F8FA" "separatorColor": "#f3f3f3"
}, },
"SidePanel": { "SidePanel": {
"background": "#FFFFFF" "background": "#fafbfc"
}, },
"Slider": { "Slider": {
"background": "#F7F8FA", "background": "#F7F8FA",
"buttonBorderColor": "#79CB60",
"buttonColor": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#F7F8FA", "tickColor": "#f3f3f3",
"trackColor": "#cce5ff",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#79CB60" "thumb": "#79CB60"
}, },
@@ -581,9 +592,9 @@
}, },
"SplitPane": { "SplitPane": {
"background": "#F7F8FA", "background": "#F7F8FA",
"highlight": "#FFFFFF" "highlight": "#fafbfc"
}, },
"SplitPaneDivider.draggingColor": "#F7F8FA", "SplitPaneDivider.draggingColor": "#f3f3f3",
"StatusBar": { "StatusBar": {
"borderColor": "#F7F8FA" "borderColor": "#F7F8FA"
}, },
@@ -592,8 +603,8 @@
"contentAreaColor": "#CCE5FF", "contentAreaColor": "#CCE5FF",
"contentBorderInsets": "3,1,1,1", "contentBorderInsets": "3,1,1,1",
"darkShadow": "#DFE1E4", "darkShadow": "#DFE1E4",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"disabledUnderlineColor": "#6C737C", "disabledUnderlineColor": "#9ba0a3",
"focus": "#cce5ff", "focus": "#cce5ff",
"focusColor": "#cce5ff", "focusColor": "#cce5ff",
"fontSizeOffset": 0, "fontSizeOffset": 0,
@@ -607,9 +618,10 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#79CB60"
}, },
"TabbedPane.mt.tab.background": "#FFFFFF", "TabbedPane.mt.tab.background": "#fafbfc",
"Table": { "Table": {
"background": "#F7F8FA", "background": "#F7F8FA",
"cellNoFocusBorder": "10,5,10,5", "cellNoFocusBorder": "10,5,10,5",
@@ -623,54 +635,54 @@
"highlightOuter": "#cce5ff", "highlightOuter": "#cce5ff",
"lightSelectionForeground": "#111111", "lightSelectionForeground": "#111111",
"lightSelectionInactiveForeground": "#292D31", "lightSelectionInactiveForeground": "#292D31",
"lightSelectionInactiveBackground": "#F7F8FA", "lightSelectionInactiveBackground": "#f3f3f3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111", "selectionForeground": "#111111",
"selectionInactiveBackground": "#3A66D125", "selectionInactiveBackground": "#cce5ff",
"selectionInactiveForeground": "#111111", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#5B6168", "sortIconColor": "#5B6168",
"stripeColor": "#FFFFFF" "stripeColor": "#fafbfc"
}, },
"TableHeader": { "TableHeader": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"bottomSeparatorColor": "#F7F8FA", "bottomSeparatorColor": "#f3f3f3",
"cellBorder": "4,0,4,0", "cellBorder": "4,0,4,0",
"foreground": "#5B6168", "foreground": "#5B6168",
"focusCellBackground": "#cce5ff", "focusCellBackground": "#cce5ff",
"focusCellForeground": "#111111", "focusCellForeground": "#111111",
"height": 25, "height": 25,
"separatorColor": "#F7F8FA" "separatorColor": "#f3f3f3"
}, },
"text": "#292D31", "text": "#292D31",
"textInactiveText": "#292D31", "textInactiveText": "#292D31",
"textText": "#292D31", "textText": "#292D31",
"TextArea": { "TextArea": {
"background": "#FFFFFF", "background": "#fafbfc",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"TextField": { "TextField": {
"background": "#FFFFFF", "background": "#fafbfc",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"TextPane": { "TextPane": {
"background": "#FFFFFF", "background": "#fafbfc",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"TitlePane": { "TitlePane": {
"background": "#FFFFFF", "background": "#fafbfc",
"Button.hoverBackground": "#CCE5FF", "Button.hoverBackground": "#CCE5FF",
"inactiveBackground": "#F7F8FA", "inactiveBackground": "#F7F8FA",
"infoForeground": "#292D31", "infoForeground": "#292D31",
@@ -678,9 +690,9 @@
}, },
"TitledBorder.titleColor": "#5B6168", "TitledBorder.titleColor": "#5B6168",
"ToggleButton": { "ToggleButton": {
"borderColor": "#F1F3F6", "borderColor": "#edf1f5",
"buttonColor": "#5B6168", "buttonColor": "#5B6168",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"offForeground": "#F7F8FA", "offForeground": "#F7F8FA",
"offBackground": "#F7F8FA", "offBackground": "#F7F8FA",
@@ -688,7 +700,7 @@
"onForeground": "#79CB60" "onForeground": "#79CB60"
}, },
"ToolBar": { "ToolBar": {
"background": "#FFFFFF", "background": "#fafbfc",
"borderHandleColor": "#292D31", "borderHandleColor": "#292D31",
"floatingForeground": "#292D31", "floatingForeground": "#292D31",
"foreground": "#5B6168" "foreground": "#5B6168"
@@ -707,11 +719,11 @@
"Button": { "Button": {
"hoverBackground": "#cce5ff", "hoverBackground": "#cce5ff",
"selectedForeground": "#111111", "selectedForeground": "#111111",
"selectedBackground": "#FFFFFF" "selectedBackground": "#fafbfc"
}, },
"Header": { "Header": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#F7F8FA", "borderColor": "#f3f3f3",
"inactiveBackground": "#F7F8FA" "inactiveBackground": "#F7F8FA"
}, },
"HeaderCloseButton": { "HeaderCloseButton": {
@@ -719,26 +731,26 @@
}, },
"HeaderTab": { "HeaderTab": {
"hoverBackground": "#CCE5FF", "hoverBackground": "#CCE5FF",
"hoverInactiveBackground": "#F7F8FA", "hoverInactiveBackground": "#f3f3f3",
"inactiveUnderlineColor": "#79CB60", "inactiveUnderlineColor": "#79CB60",
"selectedBackground": "#FFFFFF", "selectedBackground": "#fafbfc",
"selectedInactiveBackground": "#FFFFFF", "selectedInactiveBackground": "#fafbfc",
"underlineColor": "#79CB60", "underlineColor": "#79CB60",
"underlinedTabBackground": "#CCE5FF", "underlinedTabBackground": "#CCE5FF",
"underlinedTabInactiveBackground": "#F7F8FA" "underlinedTabInactiveBackground": "#f3f3f3"
} }
}, },
"Tree": { "Tree": {
"background": "#FFFFFF", "background": "#fafbfc",
"foreground": "#292D31", "foreground": "#292D31",
"hash": "#DFE1E4", "hash": "#DFE1E4",
"modifiedItemForeground": "#79CB60", "modifiedItemForeground": "#79CB60",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D170",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#111111", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3A66D125", "selectionInactiveBackground": "#3A66D125",
"textBackground": "#FFFFFF" "textBackground": "#fafbfc"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
"Tree.rightChildIndent": 5, "Tree.rightChildIndent": 5,
@@ -765,7 +777,7 @@
"HgLog": { "HgLog": {
"branchIconColor": "#79CB60", "branchIconColor": "#79CB60",
"bookmarkIconColor": "#111111", "bookmarkIconColor": "#111111",
"closedBranchIconColor": "#6C737C", "closedBranchIconColor": "#9ba0a3",
"localTagIconColor": "#292D31", "localTagIconColor": "#292D31",
"mqTagIconColor": "#292D31", "mqTagIconColor": "#292D31",
"tagIconColor": "#292D31", "tagIconColor": "#292D31",
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#292D31", "Commit.unmatchedForeground": "#292D31",
"Commit.currentBranchBackground": "#3A66D1" "Commit.currentBranchBackground": "#f3f3f3"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#111111", "foreground": "#111111",
@@ -781,40 +793,40 @@
} }
}, },
"Viewport": { "Viewport": {
"background": "#FFFFFF", "background": "#fafbfc",
"foreground": "%fc" "foreground": "#5B6168"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"captionBackground": "#FFFFFF", "captionBackground": "#fafbfc",
"captionForeground": "#5B6168", "captionForeground": "#5B6168",
"footerBackground": "#FFFFFF", "footerBackground": "#fafbfc",
"footerForeground": "#5B6168", "footerForeground": "#5B6168",
"headerBackground": "#F7F8FA", "headerBackground": "#F7F8FA",
"headerForeground": "#5B6168", "headerForeground": "#5B6168",
"separatorColor": "#DFE1E4", "separatorColor": "#DFE1E4",
"Projects": { "Projects": {
"background": "#F7F8FA", "background": "#f3f3f3",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionInactiveBackground": "#F7F8FA" "selectionInactiveBackground": "#f3f3f3"
} }
}, },
"window": "#FFFFFF", "window": "#fafbfc",
"windowBorder": "#DFE1E4", "windowBorder": "#DFE1E4",
"windowText": "#292D31", "windowText": "#292D31",
"Window.border": "#DFE1E4" "Window.border": "#DFE1E4"
}, },
"icons": { "icons": {
"ColorPalette": { "ColorPalette": {
"#43494A": "#FFFFFF", "#43494A": "#fafbfc",
"#6B6B6B": "#292D31", "#6B6B6B": "#292D31",
"#A7A7A7": "#F7F8FA", "#A7A7A7": "#F7F8FA",
"#3D6185": "#79CB60", "#3D6185": "#79CB60",
"#466D94": "#79CB60", "#466D94": "#79CB60",
"#3C3F41": "#F7F8FA", "#3C3F41": "#F7F8FA",
"#545556": "#6C737C", "#545556": "#9ba0a3",
"#606060": "#6C737C", "#606060": "#9ba0a3",
"#9AA7B0": "#5B6168", "#9AA7B0": "#5B6168",
"#675133": "#79CB60", "#675133": "#79CB60",
"Actions.Blue": "#6F42C1", "Actions.Blue": "#6F42C1",
@@ -824,26 +836,26 @@
"Actions.GreyInline.Dark": "#5B6168", "Actions.GreyInline.Dark": "#5B6168",
"Actions.Red": "#22863A", "Actions.Red": "#22863A",
"Actions.Yellow": "#6F42C1", "Actions.Yellow": "#6F42C1",
"Checkbox.Background.Default": "#FFFFFF", "Checkbox.Background.Default": "#fafbfc",
"Checkbox.Background.Default.Dark": "#FFFFFF", "Checkbox.Background.Default.Dark": "#fafbfc",
"Checkbox.Background.Disabled": "#FDFDFD", "Checkbox.Background.Disabled": "#dcdcdc",
"Checkbox.Background.Disabled.Dark": "#FDFDFD", "Checkbox.Background.Disabled.Dark": "#dcdcdc",
"Checkbox.Border.Default": "#DFE1E4", "Checkbox.Border.Default": "#DFE1E4",
"Checkbox.Border.Default.Dark": "#DFE1E4", "Checkbox.Border.Default.Dark": "#DFE1E4",
"Checkbox.Border.Disabled": "#6C737C", "Checkbox.Border.Disabled": "#9ba0a3",
"Checkbox.Border.Disabled.Dark": "#6C737C", "Checkbox.Border.Disabled.Dark": "#9ba0a3",
"Checkbox.Focus.Thin.Default": "#79CB60", "Checkbox.Focus.Thin.Default": "#79CB60",
"Checkbox.Focus.Thin.Default.Dark": "#79CB60", "Checkbox.Focus.Thin.Default.Dark": "#79CB60",
"Checkbox.Focus.Wide": "#79CB60", "Checkbox.Focus.Wide": "#79CB60",
"Checkbox.Focus.Wide.Dark": "#79CB60", "Checkbox.Focus.Wide.Dark": "#79CB60",
"Checkbox.Foreground.Disabled": "#6C737C", "Checkbox.Foreground.Disabled": "#9ba0a3",
"Checkbox.Foreground.Disabled.Dark": "#6C737C", "Checkbox.Foreground.Disabled.Dark": "#9ba0a3",
"Checkbox.Background.Selected": "#79CB60", "Checkbox.Background.Selected": "#F7F8FA",
"Checkbox.Background.Selected.Dark": "#79CB60", "Checkbox.Background.Selected.Dark": "#F7F8FA",
"Checkbox.Border.Selected": "#79CB60", "Checkbox.Border.Selected": "#79CB60",
"Checkbox.Border.Selected.Dark": "#79CB60", "Checkbox.Border.Selected.Dark": "#79CB60",
"Checkbox.Foreground.Selected": "#5B6168", "Checkbox.Foreground.Selected": "#79CB60",
"Checkbox.Foreground.Selected.Dark": "#5B6168", "Checkbox.Foreground.Selected.Dark": "#79CB60",
"Checkbox.Focus.Thin.Selected": "#5B6168", "Checkbox.Focus.Thin.Selected": "#5B6168",
"Checkbox.Focus.Thin.Selected.Dark": "#5B6168", "Checkbox.Focus.Thin.Selected.Dark": "#5B6168",
"Objects.Grey": "#6A737D", "Objects.Grey": "#6A737D",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#5B6168", "Objects.BlackText": "#5B6168",
"Objects.YellowDark": "#005CC5", "Objects.YellowDark": "#005CC5",
"Objects.GreenAndroid": "#032F62" "Objects.GreenAndroid": "#032F62"
} }
} }
} }

View File

@@ -8,19 +8,19 @@
"acceleratorSelectionForeground": "#292D31", "acceleratorSelectionForeground": "#292D31",
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#DFE1E4", "borderColor": "#DFE1E4",
"disabledBackground": "#FDFDFD", "disabledBackground": "#dcdcdc",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"focusColor": "#CCE5FF", "focusColor": "#CCE5FF",
"focusedBorderColor": "#79CB60", "focusedBorderColor": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveBackground": "#FDFDFD", "inactiveBackground": "#dcdcdc",
"inactiveForeground": "#292D31", "inactiveForeground": "#292D31",
"infoForeground": "#292D31", "infoForeground": "#292D31",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionBackgroundInactive": "#F7F8FA", "selectionBackgroundInactive": "#f3f3f3",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#F7F8FA", "selectionInactiveBackground": "#f3f3f3",
"separatorColor": "#DFE1E4" "separatorColor": "#DFE1E4"
}, },
"activeCaption": "#F7F8FA", "activeCaption": "#F7F8FA",
@@ -48,27 +48,27 @@
"startBackground": "#cce5ff", "startBackground": "#cce5ff",
"startBorderColor": "#cce5ff" "startBorderColor": "#cce5ff"
}, },
"disabledBorderColor": "#F1F3F6", "disabledBorderColor": "#edf1f5",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"endBackground": "#F1F3F6", "endBackground": "#edf1f5",
"endBorderColor": "#F1F3F6", "endBorderColor": "#edf1f5",
"focus": "#CCE5FF", "focus": "#CCE5FF",
"focusedBorderColor": "#79CB60", "focusedBorderColor": "#79CB60",
"foreground": "#292D31", "foreground": "#292D31",
"highlight": "#111111", "highlight": "#FFFFFF",
"mt.background": "#F1F3F6", "mt.background": "#edf1f5",
"mt.foreground": "#292D31", "mt.foreground": "#292D31",
"mt.selectedForeground": "#111111", "mt.selectedForeground": "#FFFFFF",
"mt.selection.color1": "#cce5ff", "mt.selection.color1": "#cce5ff",
"mt.selection.color2": "#cce5ff", "mt.selection.color2": "#cce5ff",
"startBackground": "#F1F3F6", "startBackground": "#edf1f5",
"startBorderColor": "#F1F3F6", "startBorderColor": "#edf1f5",
"shadowColor": "#F1F3F6", "shadowColor": "#edf1f5",
"shadowWidth": 0 "shadowWidth": 0
}, },
"CheckBox": { "CheckBox": {
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"select": "#79CB60" "select": "#79CB60"
}, },
@@ -77,7 +77,7 @@
"acceleratorSelectionForeground": "#292D31", "acceleratorSelectionForeground": "#292D31",
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledBackground": "#F7F8FA", "disabledBackground": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111" "selectionForeground": "#111111"
@@ -87,45 +87,44 @@
"foreground": "#5B6168", "foreground": "#5B6168",
"swatchesDefaultRecentColor": "#5B6168" "swatchesDefaultRecentColor": "#5B6168"
}, },
"ComboBoxButton.background": "#F1F3F6", "ComboBoxButton.background": "#edf1f5",
"ComboBox": { "ComboBox": {
"ArrowButton": { "ArrowButton": {
"background": "#F1F3F6", "background": "#edf1f5",
"disabledIconColor": "#6C737C", "disabledIconColor": "#9ba0a3",
"iconColor": "#5B6168", "iconColor": "#5B6168",
"nonEditableBackground": "#F7F8FA" "nonEditableBackground": "#F7F8FA"
}, },
"background": "#F7F8FA", "background": "#F7F8FA",
"buttonBackground": "#F1F3F6", "buttonBackground": "#edf1f5",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"modifiedItemForeground": "#79CB60", "modifiedItemForeground": "#79CB60",
"nonEditableBackground": "#F7F8FA", "nonEditableBackground": "#f3f3f3",
"padding": "5,5,5,5", "padding": "5,5,5,5",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"ComboPopup.border": "#DFE1E4", "ComboPopup.border": "#DFE1E4",
"CompletionPopup": { "CompletionPopup": {
"background": "#F7F8FA", "background": "#f3f3f3",
"foreground": "#5B6168", "foreground": "#5B6168",
"infoForeground": "#292D31", "infoForeground": "#292D31",
"matchForeground": "#79CB602", "matchForeground": "#79CB60",
"matchSelectionForeground": "#79CB60", "matchSelectionForeground": "#79CB60",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#3A66D1", "selectedGrayedForeground": "#FFFFFF",
"selectedGrayedForeground": "#111111", "selectionGrayForeground": "#FFFFFF",
"selectionGrayForeground": "#111111",
"selectionInactiveInfoForeground": "#292D31", "selectionInactiveInfoForeground": "#292D31",
"selectionInactiveBackground": "#CCE5FF", "selectionInactiveBackground": "#3A66D150",
"selectionBackground": "#3A66D180", "selectionBackground": "#3A66D180",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#111111" "selectionInfoForeground": "#FFFFFF"
}, },
"Component": { "Component": {
"arc": 4, "arc": 4,
"borderColor": "#CCE5FF", "borderColor": "#CCE5FF",
"disabledBorderColor": "#F1F3F6", "disabledBorderColor": "#edf1f5",
"focusColor": "#79CB60", "focusColor": "#79CB60",
"focusedBorderColor": "#79CB60", "focusedBorderColor": "#79CB60",
"hoverIconColor": "#79CB60", "hoverIconColor": "#79CB60",
@@ -136,7 +135,7 @@
"controlText": "#292D31", "controlText": "#292D31",
"Counter": { "Counter": {
"background": "#79CB60", "background": "#79CB60",
"foreground": "#111111" "foreground": "#FFFFFF"
}, },
"Debugger": { "Debugger": {
"Variables": { "Variables": {
@@ -162,10 +161,10 @@
"hoverBackground": "#cce5ff", "hoverBackground": "#cce5ff",
"hoverColor": "#F7F8FA", "hoverColor": "#F7F8FA",
"hoverMaskColor": "#CCE5FF", "hoverMaskColor": "#CCE5FF",
"inactiveUnderlineColor": "#6C737C", "inactiveUnderlineColor": "#9ba0a3",
"inactiveMaskColor": "#F7F8FA", "inactiveMaskColor": "#F7F8FA",
"underlineColor": "#79CB60", "underlineColor": "#79CB60",
"underlinedTabBackground":"#cce5ff" "underlinedTabBackground": "#cce5ff"
}, },
"Desktop.background": "#F7F8FA", "Desktop.background": "#F7F8FA",
"DialogWrapper.southPanelBackground": "#F7F8FA", "DialogWrapper.southPanelBackground": "#F7F8FA",
@@ -185,26 +184,35 @@
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveBackground": "#F7F8FA", "inactiveBackground": "#F7F8FA",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"EditorTabs": { "EditorTabs": {
"borderColor": "#F7F8FA", "borderColor": "#f3f3f3",
"hoverColor": "#CCE5FF", "hoverColor": "#CCE5FF",
"hoverMaskColor": "#CCE5FF", "hoverMaskColor": "#CCE5FF",
"inactiveMaskColor": "#F7F8FA", "inactiveMaskColor": "#F7F8FA",
"inactiveColoredFileBackground": "#F7F8FA", "inactiveUnderlineColor": "#9ba0a3",
"inactiveUnderlineColor": "#6C737C",
"selectedForeground": "#5B6168", "selectedForeground": "#5B6168",
"selectedBackground": "#cce5ff", "selectedBackground": "#cce5ff",
"underlineColor": "#79CB60", "underlineColor": "#79CB60",
"underlinedTabBackground": "#cce5ff" "underlinedTabBackground": "#cce5ff"
}, },
"EditorGroupsTabs": {
"background": "#F7F8FA",
"borderColor": "#f3f3f3",
"hoverBackground": "#CCE5FF",
"hoverColor": "#CCE5FF",
"inactiveUnderlineColor": "#79CB60",
"underlineColor": "#79CB60",
"underlinedTabBackground": "#cce5ff",
"underlinedTabForeground": "#5B6168"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
"Yellow": "#FDFDFD", "Yellow": "#dcdcdc",
"Orange": "#B53D00", "Orange": "#B53D00",
"Violet": "#4D2C91", "Violet": "#4D2C91",
"Rose": "#A00037" "Rose": "#A00037"
@@ -224,8 +232,8 @@
"background": "#F7F8FA", "background": "#F7F8FA",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveBackground": "#F1F3F6", "inactiveBackground": "#edf1f5",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionForeground": "#111111", "selectionForeground": "#111111",
"selectionBackground": "#cce5ff" "selectionBackground": "#cce5ff"
}, },
@@ -239,7 +247,7 @@
}, },
"HeaderColor": { "HeaderColor": {
"active": "#F7F8FA", "active": "#F7F8FA",
"inactive": "#FFFFFF" "inactive": "#fafbfc"
}, },
"HelpTooltip": { "HelpTooltip": {
"background": "#F7F8FA", "background": "#F7F8FA",
@@ -249,7 +257,7 @@
"shortcutForeground": "#292D31" "shortcutForeground": "#292D31"
}, },
"Hyperlink.linkColor": "#79CB60", "Hyperlink.linkColor": "#79CB60",
"inactiveCaption": "#F7F8FA", "inactiveCaption": "#f3f3f3",
"inactiveCaptionBorder": "#F7F8FA", "inactiveCaptionBorder": "#F7F8FA",
"inactiveCaptionText": "#292D31", "inactiveCaptionText": "#292D31",
"info": "#292D31", "info": "#292D31",
@@ -266,9 +274,9 @@
}, },
"Label": { "Label": {
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"disabledShadow": "#F7F8FA", "disabledShadow": "#F7F8FA",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"infoForeground": "#292D31", "infoForeground": "#292D31",
"selectedForeground": "#111111" "selectedForeground": "#111111"
@@ -281,64 +289,64 @@
"visitedForeground": "#79CB60" "visitedForeground": "#79CB60"
}, },
"List": { "List": {
"background": "#F7F8FA", "background": "#f3f3f3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D150",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#111111", "selectionInactiveForeground": "#111111",
"selectionInactiveBackground": "#3A66D125" "selectionInactiveBackground": "#3A66D125"
}, },
"material": { "material": {
"background": "#F7F8FA", "background": "#F7F8FA",
"branchColor": "#5B6168", "branchColor": "#5B6168",
"contrast": "#FFFFFF", "contrast": "#fafbfc",
"foreground": "#5B6168", "foreground": "#5B6168",
"mergeCommits": "#F1F3F6", "mergeCommits": "#edf1f5",
"primaryColor": "#292D31", "primaryColor": "#292D31",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"tab.backgroundColor": "#F7F8FA", "tab.backgroundColor": "#F7F8FA",
"tab.borderColor": "#79CB60", "tab.borderColor": "#79CB60",
"tagColor": "#292D31" "tagColor": "#292D31"
}, },
"MemoryIndicator": { "MemoryIndicator": {
"allocatedBackground": "#F7F8FA", "allocatedBackground": "#f3f3f3",
"usedColor": "#CCE5FF", "usedColor": "#CCE5FF",
"usedBackground": "#CCE5FF" "usedBackground": "#CCE5FF"
}, },
"Menu": { "Menu": {
"acceleratorForeground": "#292D31", "acceleratorForeground": "#292D31",
"acceleratorSelectionForeground": "#111111", "acceleratorSelectionForeground": "#FFFFFF",
"background": "#F7F8FA", "background": "#F7F8FA",
"border": "4,2,4,2", "border": "4,2,4,2",
"borderColor": "#F7F8FA", "borderColor": "#f3f3f3",
"disabledBackground": "#F7F8FA", "disabledBackground": "#f3f3f3",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"separatorColor": "#DFE1E4" "separatorColor": "#DFE1E4"
}, },
"MenuBar": { "MenuBar": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"disabledBackground": "#F7F8FA", "disabledBackground": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"highlight": "#F7F8FA", "highlight": "#F7F8FA",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"shadow": "#F7F8FA" "shadow": "#F7F8FA"
}, },
"MenuItem": { "MenuItem": {
"acceleratorForeground": "#292D31", "acceleratorForeground": "#292D31",
"acceleratorSelectionForeground": "#111111", "acceleratorSelectionForeground": "#FFFFFF",
"border": "4,2,4,2", "border": "4,2,4,2",
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledBackground": "#F7F8FA", "disabledBackground": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111" "selectionForeground": "#FFFFFF"
}, },
"NavBar": { "NavBar": {
"arrowColor": "#5B6168", "arrowColor": "#5B6168",
@@ -359,9 +367,9 @@
"errorBorderColor": "#DFECFE", "errorBorderColor": "#DFECFE",
"foreground": "#5B6168", "foreground": "#5B6168",
"MoreButton": { "MoreButton": {
"background": "#F1F3F6", "background": "#edf1f5",
"foreground": "#5B6168", "foreground": "#5B6168",
"innerBorderColor": "#F1F3F6" "innerBorderColor": "#edf1f5"
}, },
"ToolWindow": { "ToolWindow": {
"errorBackground": "#DFECFE", "errorBackground": "#DFECFE",
@@ -379,18 +387,18 @@
"messageForeground": "#5B6168" "messageForeground": "#5B6168"
}, },
"Outline": { "Outline": {
"color": "#F1F3F6" "color": "#edf1f5"
}, },
"Panel": { "Panel": {
"background": "#F7F8FA", "background": "#F7F8FA",
"foreground": "#5B6168" "foreground": "#5B6168"
}, },
"ParameterInfo": { "ParameterInfo": {
"background": "#F7F8FA", "background": "#f3f3f3",
"borderColor": "#cce5ff", "borderColor": "#cce5ff",
"currentOverloadBackground": "#cce5ff", "currentOverloadBackground": "#cce5ff",
"currentParameterForeground": "#79CB60", "currentParameterForeground": "#79CB60",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"infoForeground": "#292D31", "infoForeground": "#292D31",
"lineSeparatorColor": "#cce5ff" "lineSeparatorColor": "#cce5ff"
@@ -400,27 +408,27 @@
"capsLockIconColor": "#79CB60", "capsLockIconColor": "#79CB60",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"Plugins": { "Plugins": {
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"eapTagBackground": "#CCE5FF", "eapTagBackground": "#CCE5FF",
"lightSelectionBackground": "#3A66D1", "lightSelectionBackground": "#3A66D1",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"tagForeground": "#79CB60", "tagForeground": "#79CB60",
"tagBackground": "#CCE5FF", "tagBackground": "#CCE5FF",
"Button": { "Button": {
"installBackground": "#F1F3F6", "installBackground": "#edf1f5",
"installBorderColor": "#F1F3F6", "installBorderColor": "#edf1f5",
"installForeground": "#5B6168", "installForeground": "#5B6168",
"installFocusedBackground": "#CCE5FF", "installFocusedBackground": "#CCE5FF",
"installFillForeground": "#292D31", "installFillForeground": "#292D31",
"installFillBackground": "#F1F3F6", "installFillBackground": "#edf1f5",
"updateBackground": "#F1F3F6", "updateBackground": "#edf1f5",
"updateBorderColor": "#F1F3F6", "updateBorderColor": "#edf1f5",
"updateForeground": "#5B6168" "updateForeground": "#5B6168"
}, },
"SearchField": { "SearchField": {
@@ -428,12 +436,12 @@
"borderColor": "#DFE1E4" "borderColor": "#DFE1E4"
}, },
"SectionHeader": { "SectionHeader": {
"background": "#F7F8FA", "background": "#f3f3f3",
"foreground": "#5B6168" "foreground": "#5B6168"
}, },
"Tab": { "Tab": {
"hoverBackground": "#cce5ff", "hoverBackground": "#cce5ff",
"selectedForeground": "#111111", "selectedForeground": "#FFFFFF",
"selectedBackground": "#cce5ff" "selectedBackground": "#cce5ff"
} }
}, },
@@ -443,19 +451,19 @@
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"foreground": "#79CB60" "foreground": "#79CB60"
}, },
"borderColor": "#FFFFFF", "borderColor": "#fafbfc",
"inactiveBorderColor": "#F7F8FA", "inactiveBorderColor": "#F7F8FA",
"innerBorderColor": "#F7F8FA", "innerBorderColor": "#f3f3f3",
"Header": { "Header": {
"activeBackground": "#F7F8FA", "activeBackground": "#F7F8FA",
"inactiveBackground": "#FFFFFF" "inactiveBackground": "#fafbfc"
}, },
"paintBorder": true, "paintBorder": true,
"separatorForeground": "#5B6168", "separatorForeground": "#5B6168",
"separatorColor": "#F7F8FA", "separatorColor": "#f3f3f3",
"Toolbar": { "Toolbar": {
"background": "#FFFFFF", "background": "#fafbfc",
"borderColor": "#FFFFFF" "borderColor": "#fafbfc"
} }
}, },
"PopupMenu": { "PopupMenu": {
@@ -477,7 +485,7 @@
}, },
"RadioButton": { "RadioButton": {
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"foreground": "#5B6168" "foreground": "#5B6168"
}, },
"RadioButtonMenuItem": { "RadioButtonMenuItem": {
@@ -485,10 +493,10 @@
"acceleratorSelectionForeground": "#292D31", "acceleratorSelectionForeground": "#292D31",
"background": "#F7F8FA", "background": "#F7F8FA",
"disabledBackground": "#F7F8FA", "disabledBackground": "#F7F8FA",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionForeground": "#111111" "selectionForeground": "#FFFFFF"
}, },
"ScrollBar": { "ScrollBar": {
"background": "#F7F8FA", "background": "#F7F8FA",
@@ -526,19 +534,19 @@
}, },
"SearchEverywhere": { "SearchEverywhere": {
"Advertiser": { "Advertiser": {
"background": "#FFFFFF", "background": "#fafbfc",
"foreground": "#292D31" "foreground": "#292D31"
}, },
"Header": { "Header": {
"background": "#F7F8FA" "background": "#F7F8FA"
}, },
"List": { "List": {
"separatorForeground": "#5B6168", "separatorForeground": "#292D31",
"separatorColor": "#DFE1E4" "separatorColor": "#DFE1E4"
}, },
"SearchField": { "SearchField": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#FFFFFF", "borderColor": "#fafbfc",
"infoForeground": "#292D31" "infoForeground": "#292D31"
}, },
"Tab": { "Tab": {
@@ -552,18 +560,21 @@
"startBackground": "#79CB60" "startBackground": "#79CB60"
}, },
"Separator": { "Separator": {
"background": "#F7F8FA", "background": "#f3f3f3",
"foreground": "#F7F8FA", "foreground": "#f3f3f3",
"separatorColor": "#F7F8FA" "separatorColor": "#f3f3f3"
}, },
"SidePanel": { "SidePanel": {
"background": "#F7F8FA" "background": "#F7F8FA"
}, },
"Slider": { "Slider": {
"background": "#F7F8FA", "background": "#F7F8FA",
"buttonBorderColor": "#79CB60",
"buttonColor": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#F7F8FA", "tickColor": "#f3f3f3",
"trackColor": "#cce5ff",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#79CB60" "thumb": "#79CB60"
}, },
@@ -583,7 +594,7 @@
"background": "#F7F8FA", "background": "#F7F8FA",
"highlight": "#F7F8FA" "highlight": "#F7F8FA"
}, },
"SplitPaneDivider.draggingColor": "#F7F8FA", "SplitPaneDivider.draggingColor": "#f3f3f3",
"StatusBar": { "StatusBar": {
"borderColor": "#F7F8FA" "borderColor": "#F7F8FA"
}, },
@@ -592,8 +603,8 @@
"contentAreaColor": "#CCE5FF", "contentAreaColor": "#CCE5FF",
"contentBorderInsets": "3,1,1,1", "contentBorderInsets": "3,1,1,1",
"darkShadow": "#DFE1E4", "darkShadow": "#DFE1E4",
"disabledForeground": "#6C737C", "disabledForeground": "#9ba0a3",
"disabledUnderlineColor": "#6C737C", "disabledUnderlineColor": "#9ba0a3",
"focus": "#cce5ff", "focus": "#cce5ff",
"focusColor": "#cce5ff", "focusColor": "#cce5ff",
"fontSizeOffset": 0, "fontSizeOffset": 0,
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#79CB60"
}, },
"TabbedPane.mt.tab.background": "#F7F8FA", "TabbedPane.mt.tab.background": "#F7F8FA",
"Table": { "Table": {
@@ -623,24 +635,24 @@
"highlightOuter": "#cce5ff", "highlightOuter": "#cce5ff",
"lightSelectionForeground": "#111111", "lightSelectionForeground": "#111111",
"lightSelectionInactiveForeground": "#292D31", "lightSelectionInactiveForeground": "#292D31",
"lightSelectionInactiveBackground": "#F7F8FA", "lightSelectionInactiveBackground": "#f3f3f3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111", "selectionForeground": "#111111",
"selectionInactiveBackground": "#3A66D125", "selectionInactiveBackground": "#cce5ff",
"selectionInactiveForeground": "#111111", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#5B6168", "sortIconColor": "#5B6168",
"stripeColor": "#FFFFFF" "stripeColor": "#fafbfc"
}, },
"TableHeader": { "TableHeader": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"bottomSeparatorColor": "#F7F8FA", "bottomSeparatorColor": "#f3f3f3",
"cellBorder": "4,0,4,0", "cellBorder": "4,0,4,0",
"foreground": "#5B6168", "foreground": "#5B6168",
"focusCellBackground": "#cce5ff", "focusCellBackground": "#cce5ff",
"focusCellForeground": "#111111", "focusCellForeground": "#111111",
"height": 25, "height": 25,
"separatorColor": "#F7F8FA" "separatorColor": "#f3f3f3"
}, },
"text": "#292D31", "text": "#292D31",
"textInactiveText": "#292D31", "textInactiveText": "#292D31",
@@ -649,7 +661,7 @@
"background": "#F7F8FA", "background": "#F7F8FA",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
@@ -657,7 +669,7 @@
"background": "#F7F8FA", "background": "#F7F8FA",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
@@ -665,12 +677,12 @@
"background": "#F7F8FA", "background": "#F7F8FA",
"caretForeground": "#79CB60", "caretForeground": "#79CB60",
"foreground": "#5B6168", "foreground": "#5B6168",
"inactiveForeground": "#6C737C", "inactiveForeground": "#9ba0a3",
"selectionBackground": "#cce5ff", "selectionBackground": "#cce5ff",
"selectionForeground": "#111111" "selectionForeground": "#111111"
}, },
"TitlePane": { "TitlePane": {
"background": "#FFFFFF", "background": "#fafbfc",
"Button.hoverBackground": "#CCE5FF", "Button.hoverBackground": "#CCE5FF",
"inactiveBackground": "#F7F8FA", "inactiveBackground": "#F7F8FA",
"infoForeground": "#292D31", "infoForeground": "#292D31",
@@ -678,9 +690,9 @@
}, },
"TitledBorder.titleColor": "#5B6168", "TitledBorder.titleColor": "#5B6168",
"ToggleButton": { "ToggleButton": {
"borderColor": "#F1F3F6", "borderColor": "#edf1f5",
"buttonColor": "#5B6168", "buttonColor": "#5B6168",
"disabledText": "#6C737C", "disabledText": "#9ba0a3",
"foreground": "#5B6168", "foreground": "#5B6168",
"offForeground": "#F7F8FA", "offForeground": "#F7F8FA",
"offBackground": "#F7F8FA", "offBackground": "#F7F8FA",
@@ -707,11 +719,11 @@
"Button": { "Button": {
"hoverBackground": "#cce5ff", "hoverBackground": "#cce5ff",
"selectedForeground": "#111111", "selectedForeground": "#111111",
"selectedBackground": "#FFFFFF" "selectedBackground": "#fafbfc"
}, },
"Header": { "Header": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#F7F8FA", "borderColor": "#f3f3f3",
"inactiveBackground": "#F7F8FA" "inactiveBackground": "#F7F8FA"
}, },
"HeaderCloseButton": { "HeaderCloseButton": {
@@ -719,13 +731,13 @@
}, },
"HeaderTab": { "HeaderTab": {
"hoverBackground": "#CCE5FF", "hoverBackground": "#CCE5FF",
"hoverInactiveBackground": "#F7F8FA", "hoverInactiveBackground": "#f3f3f3",
"inactiveUnderlineColor": "#79CB60", "inactiveUnderlineColor": "#79CB60",
"selectedBackground": "#FFFFFF", "selectedBackground": "#fafbfc",
"selectedInactiveBackground": "#FFFFFF", "selectedInactiveBackground": "#fafbfc",
"underlineColor": "#79CB60", "underlineColor": "#79CB60",
"underlinedTabBackground": "#CCE5FF", "underlinedTabBackground": "#CCE5FF",
"underlinedTabInactiveBackground": "#F7F8FA" "underlinedTabInactiveBackground": "#f3f3f3"
} }
}, },
"Tree": { "Tree": {
@@ -734,9 +746,9 @@
"hash": "#DFE1E4", "hash": "#DFE1E4",
"modifiedItemForeground": "#79CB60", "modifiedItemForeground": "#79CB60",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D170",
"selectionForeground": "#111111", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#111111", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3A66D125", "selectionInactiveBackground": "#3A66D125",
"textBackground": "#F7F8FA" "textBackground": "#F7F8FA"
}, },
@@ -765,7 +777,7 @@
"HgLog": { "HgLog": {
"branchIconColor": "#79CB60", "branchIconColor": "#79CB60",
"bookmarkIconColor": "#111111", "bookmarkIconColor": "#111111",
"closedBranchIconColor": "#6C737C", "closedBranchIconColor": "#9ba0a3",
"localTagIconColor": "#292D31", "localTagIconColor": "#292D31",
"mqTagIconColor": "#292D31", "mqTagIconColor": "#292D31",
"tagIconColor": "#292D31", "tagIconColor": "#292D31",
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#292D31", "Commit.unmatchedForeground": "#292D31",
"Commit.currentBranchBackground": "#3A66D1" "Commit.currentBranchBackground": "#f3f3f3"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#111111", "foreground": "#111111",
@@ -782,22 +794,22 @@
}, },
"Viewport": { "Viewport": {
"background": "#F7F8FA", "background": "#F7F8FA",
"foreground": "%fc" "foreground": "#5B6168"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#F7F8FA", "background": "#F7F8FA",
"borderColor": "#F7F8FA", "borderColor": "#F7F8FA",
"captionBackground": "#FFFFFF", "captionBackground": "#fafbfc",
"captionForeground": "#5B6168", "captionForeground": "#5B6168",
"footerBackground": "#FFFFFF", "footerBackground": "#fafbfc",
"footerForeground": "#5B6168", "footerForeground": "#5B6168",
"headerBackground": "#F7F8FA", "headerBackground": "#F7F8FA",
"headerForeground": "#5B6168", "headerForeground": "#5B6168",
"separatorColor": "#DFE1E4", "separatorColor": "#DFE1E4",
"Projects": { "Projects": {
"background": "#F7F8FA", "background": "#f3f3f3",
"selectionBackground": "#3A66D1", "selectionBackground": "#3A66D1",
"selectionInactiveBackground": "#F7F8FA" "selectionInactiveBackground": "#f3f3f3"
} }
}, },
"window": "#F7F8FA", "window": "#F7F8FA",
@@ -807,14 +819,14 @@
}, },
"icons": { "icons": {
"ColorPalette": { "ColorPalette": {
"#43494A": "#FFFFFF", "#43494A": "#fafbfc",
"#6B6B6B": "#292D31", "#6B6B6B": "#292D31",
"#A7A7A7": "#F7F8FA", "#A7A7A7": "#F7F8FA",
"#3D6185": "#79CB60", "#3D6185": "#79CB60",
"#466D94": "#79CB60", "#466D94": "#79CB60",
"#3C3F41": "#F7F8FA", "#3C3F41": "#F7F8FA",
"#545556": "#6C737C", "#545556": "#9ba0a3",
"#606060": "#6C737C", "#606060": "#9ba0a3",
"#9AA7B0": "#5B6168", "#9AA7B0": "#5B6168",
"#675133": "#79CB60", "#675133": "#79CB60",
"Actions.Blue": "#6F42C1", "Actions.Blue": "#6F42C1",
@@ -824,26 +836,26 @@
"Actions.GreyInline.Dark": "#5B6168", "Actions.GreyInline.Dark": "#5B6168",
"Actions.Red": "#22863A", "Actions.Red": "#22863A",
"Actions.Yellow": "#6F42C1", "Actions.Yellow": "#6F42C1",
"Checkbox.Background.Default": "#FFFFFF", "Checkbox.Background.Default": "#fafbfc",
"Checkbox.Background.Default.Dark": "#FFFFFF", "Checkbox.Background.Default.Dark": "#fafbfc",
"Checkbox.Background.Disabled": "#FDFDFD", "Checkbox.Background.Disabled": "#dcdcdc",
"Checkbox.Background.Disabled.Dark": "#FDFDFD", "Checkbox.Background.Disabled.Dark": "#dcdcdc",
"Checkbox.Border.Default": "#DFE1E4", "Checkbox.Border.Default": "#DFE1E4",
"Checkbox.Border.Default.Dark": "#DFE1E4", "Checkbox.Border.Default.Dark": "#DFE1E4",
"Checkbox.Border.Disabled": "#6C737C", "Checkbox.Border.Disabled": "#9ba0a3",
"Checkbox.Border.Disabled.Dark": "#6C737C", "Checkbox.Border.Disabled.Dark": "#9ba0a3",
"Checkbox.Focus.Thin.Default": "#79CB60", "Checkbox.Focus.Thin.Default": "#79CB60",
"Checkbox.Focus.Thin.Default.Dark": "#79CB60", "Checkbox.Focus.Thin.Default.Dark": "#79CB60",
"Checkbox.Focus.Wide": "#79CB60", "Checkbox.Focus.Wide": "#79CB60",
"Checkbox.Focus.Wide.Dark": "#79CB60", "Checkbox.Focus.Wide.Dark": "#79CB60",
"Checkbox.Foreground.Disabled": "#6C737C", "Checkbox.Foreground.Disabled": "#9ba0a3",
"Checkbox.Foreground.Disabled.Dark": "#6C737C", "Checkbox.Foreground.Disabled.Dark": "#9ba0a3",
"Checkbox.Background.Selected": "#79CB60", "Checkbox.Background.Selected": "#F7F8FA",
"Checkbox.Background.Selected.Dark": "#79CB60", "Checkbox.Background.Selected.Dark": "#F7F8FA",
"Checkbox.Border.Selected": "#79CB60", "Checkbox.Border.Selected": "#79CB60",
"Checkbox.Border.Selected.Dark": "#79CB60", "Checkbox.Border.Selected.Dark": "#79CB60",
"Checkbox.Foreground.Selected": "#5B6168", "Checkbox.Foreground.Selected": "#79CB60",
"Checkbox.Foreground.Selected.Dark": "#5B6168", "Checkbox.Foreground.Selected.Dark": "#79CB60",
"Checkbox.Focus.Thin.Selected": "#5B6168", "Checkbox.Focus.Thin.Selected": "#5B6168",
"Checkbox.Focus.Thin.Selected.Dark": "#5B6168", "Checkbox.Focus.Thin.Selected.Dark": "#5B6168",
"Objects.Grey": "#6A737D", "Objects.Grey": "#6A737D",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#5B6168", "Objects.BlackText": "#5B6168",
"Objects.YellowDark": "#005CC5", "Objects.YellowDark": "#005CC5",
"Objects.GreenAndroid": "#032F62" "Objects.GreenAndroid": "#032F62"
} }
} }
} }

View File

@@ -17,7 +17,7 @@
"inactiveBackground": "#323232", "inactiveBackground": "#323232",
"inactiveForeground": "#727272", "inactiveForeground": "#727272",
"infoForeground": "#727272", "infoForeground": "#727272",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionBackgroundInactive": "#292929", "selectionBackgroundInactive": "#292929",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#292929", "selectionInactiveBackground": "#292929",
@@ -31,7 +31,7 @@
"pressedBorderColor": "#FF980050" "pressedBorderColor": "#FF980050"
}, },
"Autocomplete": { "Autocomplete": {
"selectionBackground": "#353535" "selectionBackground": "#404040"
}, },
"Borders.ContrastBorderColor": "#212121", "Borders.ContrastBorderColor": "#212121",
"Borders.color": "#292929", "Borders.color": "#292929",
@@ -79,7 +79,7 @@
"disabledBackground": "#212121", "disabledBackground": "#212121",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ColorChooser": { "ColorChooser": {
@@ -110,15 +110,14 @@
"background": "#292929", "background": "#292929",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"infoForeground": "#727272", "infoForeground": "#727272",
"matchForeground": "#FF98002", "matchForeground": "#FF9800",
"matchSelectionForeground": "#FF9800", "matchSelectionForeground": "#FF9800",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#32323270",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#727272", "selectionInactiveInfoForeground": "#727272",
"selectionInactiveBackground": "#3F3F3F", "selectionInactiveBackground": "#40404050",
"selectionBackground": "#35353580", "selectionBackground": "#40404080",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#474747", "inactiveUnderlineColor": "#474747",
"inactiveMaskColor": "#1A1A1A", "inactiveMaskColor": "#1A1A1A",
"underlineColor": "#FF9800", "underlineColor": "#FF9800",
"underlinedTabBackground":"#323232" "underlinedTabBackground": "#323232"
}, },
"Desktop.background": "#212121", "Desktop.background": "#212121",
"DialogWrapper.southPanelBackground": "#212121", "DialogWrapper.southPanelBackground": "#212121",
@@ -186,7 +185,7 @@
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"inactiveBackground": "#212121", "inactiveBackground": "#212121",
"inactiveForeground": "#474747", "inactiveForeground": "#474747",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"EditorTabs": { "EditorTabs": {
@@ -194,13 +193,22 @@
"hoverColor": "#3F3F3F", "hoverColor": "#3F3F3F",
"hoverMaskColor": "#3F3F3F", "hoverMaskColor": "#3F3F3F",
"inactiveMaskColor": "#212121", "inactiveMaskColor": "#212121",
"inactiveColoredFileBackground": "#212121",
"inactiveUnderlineColor": "#474747", "inactiveUnderlineColor": "#474747",
"selectedForeground": "#B0BEC5", "selectedForeground": "#B0BEC5",
"selectedBackground": "#323232", "selectedBackground": "#323232",
"underlineColor": "#FF9800", "underlineColor": "#FF9800",
"underlinedTabBackground": "#323232" "underlinedTabBackground": "#323232"
}, },
"EditorGroupsTabs": {
"background": "#212121",
"borderColor": "#292929",
"hoverBackground": "#3F3F3F",
"hoverColor": "#3F3F3F",
"inactiveUnderlineColor": "#FF9800",
"underlineColor": "#FF9800",
"underlinedTabBackground": "#323232",
"underlinedTabForeground": "#B0BEC5"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#292929", "background": "#292929",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#40404050",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3232327025" "selectionInactiveBackground": "#32323225"
}, },
"material": { "material": {
"background": "#212121", "background": "#212121",
@@ -314,7 +322,7 @@
"disabledBackground": "#292929", "disabledBackground": "#292929",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"separatorColor": "#292929" "separatorColor": "#292929"
}, },
@@ -325,7 +333,7 @@
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"highlight": "#212121", "highlight": "#212121",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"shadow": "#1A1A1A" "shadow": "#1A1A1A"
}, },
@@ -337,7 +345,7 @@
"disabledBackground": "#212121", "disabledBackground": "#212121",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"NavBar": { "NavBar": {
@@ -408,8 +416,8 @@
"background": "#212121", "background": "#212121",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"eapTagBackground": "#3F3F3F", "eapTagBackground": "#3F3F3F",
"lightSelectionBackground": "#353535", "lightSelectionBackground": "#404040",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"tagForeground": "#FF9800", "tagForeground": "#FF9800",
"tagBackground": "#3F3F3F", "tagBackground": "#3F3F3F",
"Button": { "Button": {
@@ -487,7 +495,7 @@
"disabledBackground": "#212121", "disabledBackground": "#212121",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ScrollBar": { "ScrollBar": {
@@ -533,7 +541,7 @@
"background": "#212121" "background": "#212121"
}, },
"List": { "List": {
"separatorForeground": "#B0BEC5", "separatorForeground": "#727272",
"separatorColor": "#292929" "separatorColor": "#292929"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#212121", "background": "#212121",
"buttonBorderColor": "#FF9800",
"buttonColor": "#FF9800",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#292929", "tickColor": "#292929",
"trackColor": "#323232",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#FF9800" "thumb": "#FF9800"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#FF9800"
}, },
"TabbedPane.mt.tab.background": "#1A1A1A", "TabbedPane.mt.tab.background": "#1A1A1A",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#292929", "lightSelectionInactiveBackground": "#292929",
"selectionBackground": "#323232", "selectionBackground": "#323232",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#3232327025", "selectionInactiveBackground": "#323232",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#B0BEC5", "sortIconColor": "#B0BEC5",
"stripeColor": "#1A1A1A" "stripeColor": "#1A1A1A"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#1A1A1A", "background": "#1A1A1A",
"Button.hoverBackground": "#3F3F3F", "Button.hoverBackground": "#3F3F3F",
"inactiveBackground": "#292929", "inactiveBackground": "#212121",
"infoForeground": "#727272", "infoForeground": "#727272",
"inactiveInfoForeground": "#727272" "inactiveInfoForeground": "#727272"
}, },
@@ -737,7 +749,7 @@
"selectionBackground": "#32323270", "selectionBackground": "#32323270",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3232327025", "selectionInactiveBackground": "#32323225",
"textBackground": "#1A1A1A" "textBackground": "#1A1A1A"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#727272", "Commit.unmatchedForeground": "#727272",
"Commit.currentBranchBackground": "#32323270" "Commit.currentBranchBackground": "#292929"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#1A1A1A", "background": "#1A1A1A",
"foreground": "%fc" "foreground": "#B0BEC5"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#212121", "background": "#212121",
@@ -796,7 +808,7 @@
"separatorColor": "#292929", "separatorColor": "#292929",
"Projects": { "Projects": {
"background": "#292929", "background": "#292929",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionInactiveBackground": "#292929" "selectionInactiveBackground": "#292929"
} }
}, },
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#FF9800", "Checkbox.Focus.Wide.Dark": "#FF9800",
"Checkbox.Foreground.Disabled": "#474747", "Checkbox.Foreground.Disabled": "#474747",
"Checkbox.Foreground.Disabled.Dark": "#474747", "Checkbox.Foreground.Disabled.Dark": "#474747",
"Checkbox.Background.Selected": "#FF9800", "Checkbox.Background.Selected": "#212121",
"Checkbox.Background.Selected.Dark": "#FF9800", "Checkbox.Background.Selected.Dark": "#212121",
"Checkbox.Border.Selected": "#FF9800", "Checkbox.Border.Selected": "#FF9800",
"Checkbox.Border.Selected.Dark": "#FF9800", "Checkbox.Border.Selected.Dark": "#FF9800",
"Checkbox.Foreground.Selected": "#B0BEC5", "Checkbox.Foreground.Selected": "#FF9800",
"Checkbox.Foreground.Selected.Dark": "#B0BEC5", "Checkbox.Foreground.Selected.Dark": "#FF9800",
"Checkbox.Focus.Thin.Selected": "#B0BEC5", "Checkbox.Focus.Thin.Selected": "#B0BEC5",
"Checkbox.Focus.Thin.Selected.Dark": "#B0BEC5", "Checkbox.Focus.Thin.Selected.Dark": "#B0BEC5",
"Objects.Grey": "#616161", "Objects.Grey": "#616161",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#B0BEC5", "Objects.BlackText": "#B0BEC5",
"Objects.YellowDark": "#f78c6c", "Objects.YellowDark": "#f78c6c",
"Objects.GreenAndroid": "#c3e88d" "Objects.GreenAndroid": "#c3e88d"
} }
} }
} }

View File

@@ -17,7 +17,7 @@
"inactiveBackground": "#323232", "inactiveBackground": "#323232",
"inactiveForeground": "#727272", "inactiveForeground": "#727272",
"infoForeground": "#727272", "infoForeground": "#727272",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionBackgroundInactive": "#292929", "selectionBackgroundInactive": "#292929",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#292929", "selectionInactiveBackground": "#292929",
@@ -31,7 +31,7 @@
"pressedBorderColor": "#FF980050" "pressedBorderColor": "#FF980050"
}, },
"Autocomplete": { "Autocomplete": {
"selectionBackground": "#353535" "selectionBackground": "#404040"
}, },
"Borders.ContrastBorderColor": "#212121", "Borders.ContrastBorderColor": "#212121",
"Borders.color": "#292929", "Borders.color": "#292929",
@@ -79,7 +79,7 @@
"disabledBackground": "#212121", "disabledBackground": "#212121",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ColorChooser": { "ColorChooser": {
@@ -110,15 +110,14 @@
"background": "#292929", "background": "#292929",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"infoForeground": "#727272", "infoForeground": "#727272",
"matchForeground": "#FF98002", "matchForeground": "#FF9800",
"matchSelectionForeground": "#FF9800", "matchSelectionForeground": "#FF9800",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#32323270",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#727272", "selectionInactiveInfoForeground": "#727272",
"selectionInactiveBackground": "#3F3F3F", "selectionInactiveBackground": "#40404050",
"selectionBackground": "#35353580", "selectionBackground": "#40404080",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#474747", "inactiveUnderlineColor": "#474747",
"inactiveMaskColor": "#212121", "inactiveMaskColor": "#212121",
"underlineColor": "#FF9800", "underlineColor": "#FF9800",
"underlinedTabBackground":"#323232" "underlinedTabBackground": "#323232"
}, },
"Desktop.background": "#212121", "Desktop.background": "#212121",
"DialogWrapper.southPanelBackground": "#212121", "DialogWrapper.southPanelBackground": "#212121",
@@ -186,7 +185,7 @@
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"inactiveBackground": "#212121", "inactiveBackground": "#212121",
"inactiveForeground": "#474747", "inactiveForeground": "#474747",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"EditorTabs": { "EditorTabs": {
@@ -194,13 +193,22 @@
"hoverColor": "#3F3F3F", "hoverColor": "#3F3F3F",
"hoverMaskColor": "#3F3F3F", "hoverMaskColor": "#3F3F3F",
"inactiveMaskColor": "#212121", "inactiveMaskColor": "#212121",
"inactiveColoredFileBackground": "#212121",
"inactiveUnderlineColor": "#474747", "inactiveUnderlineColor": "#474747",
"selectedForeground": "#B0BEC5", "selectedForeground": "#B0BEC5",
"selectedBackground": "#323232", "selectedBackground": "#323232",
"underlineColor": "#FF9800", "underlineColor": "#FF9800",
"underlinedTabBackground": "#323232" "underlinedTabBackground": "#323232"
}, },
"EditorGroupsTabs": {
"background": "#212121",
"borderColor": "#292929",
"hoverBackground": "#3F3F3F",
"hoverColor": "#3F3F3F",
"inactiveUnderlineColor": "#FF9800",
"underlineColor": "#FF9800",
"underlinedTabBackground": "#323232",
"underlinedTabForeground": "#B0BEC5"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#292929", "background": "#292929",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#40404050",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3232327025" "selectionInactiveBackground": "#32323225"
}, },
"material": { "material": {
"background": "#212121", "background": "#212121",
@@ -314,7 +322,7 @@
"disabledBackground": "#292929", "disabledBackground": "#292929",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"separatorColor": "#292929" "separatorColor": "#292929"
}, },
@@ -325,7 +333,7 @@
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"highlight": "#212121", "highlight": "#212121",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"shadow": "#212121" "shadow": "#212121"
}, },
@@ -337,7 +345,7 @@
"disabledBackground": "#212121", "disabledBackground": "#212121",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"NavBar": { "NavBar": {
@@ -408,8 +416,8 @@
"background": "#212121", "background": "#212121",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"eapTagBackground": "#3F3F3F", "eapTagBackground": "#3F3F3F",
"lightSelectionBackground": "#353535", "lightSelectionBackground": "#404040",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"tagForeground": "#FF9800", "tagForeground": "#FF9800",
"tagBackground": "#3F3F3F", "tagBackground": "#3F3F3F",
"Button": { "Button": {
@@ -487,7 +495,7 @@
"disabledBackground": "#212121", "disabledBackground": "#212121",
"disabledForeground": "#474747", "disabledForeground": "#474747",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ScrollBar": { "ScrollBar": {
@@ -533,7 +541,7 @@
"background": "#212121" "background": "#212121"
}, },
"List": { "List": {
"separatorForeground": "#B0BEC5", "separatorForeground": "#727272",
"separatorColor": "#292929" "separatorColor": "#292929"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#212121", "background": "#212121",
"buttonBorderColor": "#FF9800",
"buttonColor": "#FF9800",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#292929", "tickColor": "#292929",
"trackColor": "#323232",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#FF9800" "thumb": "#FF9800"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#FF9800"
}, },
"TabbedPane.mt.tab.background": "#212121", "TabbedPane.mt.tab.background": "#212121",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#292929", "lightSelectionInactiveBackground": "#292929",
"selectionBackground": "#323232", "selectionBackground": "#323232",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#3232327025", "selectionInactiveBackground": "#323232",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#B0BEC5", "sortIconColor": "#B0BEC5",
"stripeColor": "#1A1A1A" "stripeColor": "#1A1A1A"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#1A1A1A", "background": "#1A1A1A",
"Button.hoverBackground": "#3F3F3F", "Button.hoverBackground": "#3F3F3F",
"inactiveBackground": "#292929", "inactiveBackground": "#212121",
"infoForeground": "#727272", "infoForeground": "#727272",
"inactiveInfoForeground": "#727272" "inactiveInfoForeground": "#727272"
}, },
@@ -737,7 +749,7 @@
"selectionBackground": "#32323270", "selectionBackground": "#32323270",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#3232327025", "selectionInactiveBackground": "#32323225",
"textBackground": "#212121" "textBackground": "#212121"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#727272", "Commit.unmatchedForeground": "#727272",
"Commit.currentBranchBackground": "#32323270" "Commit.currentBranchBackground": "#292929"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#212121", "background": "#212121",
"foreground": "%fc" "foreground": "#B0BEC5"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#212121", "background": "#212121",
@@ -796,7 +808,7 @@
"separatorColor": "#292929", "separatorColor": "#292929",
"Projects": { "Projects": {
"background": "#292929", "background": "#292929",
"selectionBackground": "#353535", "selectionBackground": "#404040",
"selectionInactiveBackground": "#292929" "selectionInactiveBackground": "#292929"
} }
}, },
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#FF9800", "Checkbox.Focus.Wide.Dark": "#FF9800",
"Checkbox.Foreground.Disabled": "#474747", "Checkbox.Foreground.Disabled": "#474747",
"Checkbox.Foreground.Disabled.Dark": "#474747", "Checkbox.Foreground.Disabled.Dark": "#474747",
"Checkbox.Background.Selected": "#FF9800", "Checkbox.Background.Selected": "#212121",
"Checkbox.Background.Selected.Dark": "#FF9800", "Checkbox.Background.Selected.Dark": "#212121",
"Checkbox.Border.Selected": "#FF9800", "Checkbox.Border.Selected": "#FF9800",
"Checkbox.Border.Selected.Dark": "#FF9800", "Checkbox.Border.Selected.Dark": "#FF9800",
"Checkbox.Foreground.Selected": "#B0BEC5", "Checkbox.Foreground.Selected": "#FF9800",
"Checkbox.Foreground.Selected.Dark": "#B0BEC5", "Checkbox.Foreground.Selected.Dark": "#FF9800",
"Checkbox.Focus.Thin.Selected": "#B0BEC5", "Checkbox.Focus.Thin.Selected": "#B0BEC5",
"Checkbox.Focus.Thin.Selected.Dark": "#B0BEC5", "Checkbox.Focus.Thin.Selected.Dark": "#B0BEC5",
"Objects.Grey": "#616161", "Objects.Grey": "#616161",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#B0BEC5", "Objects.BlackText": "#B0BEC5",
"Objects.YellowDark": "#f78c6c", "Objects.YellowDark": "#f78c6c",
"Objects.GreenAndroid": "#c3e88d" "Objects.GreenAndroid": "#c3e88d"
} }
} }
} }

View File

@@ -110,14 +110,13 @@
"background": "#181A1F", "background": "#181A1F",
"foreground": "#8F93A2", "foreground": "#8F93A2",
"infoForeground": "#4B526D", "infoForeground": "#4B526D",
"matchForeground": "#84ffff2", "matchForeground": "#84ffff",
"matchSelectionForeground": "#84ffff", "matchSelectionForeground": "#84ffff",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#717CB416",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#4B526D", "selectionInactiveInfoForeground": "#4B526D",
"selectionInactiveBackground": "#1F2233", "selectionInactiveBackground": "#23263250",
"selectionBackground": "#23263280", "selectionBackground": "#23263280",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#464B5D", "inactiveUnderlineColor": "#464B5D",
"inactiveMaskColor": "#090B10", "inactiveMaskColor": "#090B10",
"underlineColor": "#84ffff", "underlineColor": "#84ffff",
"underlinedTabBackground":"#1A1C25" "underlinedTabBackground": "#1A1C25"
}, },
"Desktop.background": "#0F111A", "Desktop.background": "#0F111A",
"DialogWrapper.southPanelBackground": "#0F111A", "DialogWrapper.southPanelBackground": "#0F111A",
@@ -194,13 +193,22 @@
"hoverColor": "#1F2233", "hoverColor": "#1F2233",
"hoverMaskColor": "#1F2233", "hoverMaskColor": "#1F2233",
"inactiveMaskColor": "#0F111A", "inactiveMaskColor": "#0F111A",
"inactiveColoredFileBackground": "#0F111A",
"inactiveUnderlineColor": "#464B5D", "inactiveUnderlineColor": "#464B5D",
"selectedForeground": "#8F93A2", "selectedForeground": "#8F93A2",
"selectedBackground": "#1A1C25", "selectedBackground": "#1A1C25",
"underlineColor": "#84ffff", "underlineColor": "#84ffff",
"underlinedTabBackground": "#1A1C25" "underlinedTabBackground": "#1A1C25"
}, },
"EditorGroupsTabs": {
"background": "#0F111A",
"borderColor": "#181A1F",
"hoverBackground": "#1F2233",
"hoverColor": "#1F2233",
"inactiveUnderlineColor": "#84ffff",
"underlineColor": "#84ffff",
"underlinedTabBackground": "#1A1C25",
"underlinedTabForeground": "#8F93A2"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#181A1F", "background": "#181A1F",
"foreground": "#8F93A2", "foreground": "#8F93A2",
"selectionBackground": "#232632", "selectionBackground": "#23263250",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#717CB41625" "selectionInactiveBackground": "#717CB425"
}, },
"material": { "material": {
"background": "#0F111A", "background": "#0F111A",
@@ -533,7 +541,7 @@
"background": "#0F111A" "background": "#0F111A"
}, },
"List": { "List": {
"separatorForeground": "#8F93A2", "separatorForeground": "#4B526D",
"separatorColor": "#0F111A" "separatorColor": "#0F111A"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#0F111A", "background": "#0F111A",
"buttonBorderColor": "#84ffff",
"buttonColor": "#84ffff",
"foreground": "#8F93A2", "foreground": "#8F93A2",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#181A1F", "tickColor": "#181A1F",
"trackColor": "#1A1C25",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#84ffff" "thumb": "#84ffff"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#84ffff"
}, },
"TabbedPane.mt.tab.background": "#090B10", "TabbedPane.mt.tab.background": "#090B10",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#181A1F", "lightSelectionInactiveBackground": "#181A1F",
"selectionBackground": "#1A1C25", "selectionBackground": "#1A1C25",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#717CB41625", "selectionInactiveBackground": "#1A1C25",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#8F93A2", "sortIconColor": "#8F93A2",
"stripeColor": "#090B10" "stripeColor": "#090B10"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#090B10", "background": "#090B10",
"Button.hoverBackground": "#1F2233", "Button.hoverBackground": "#1F2233",
"inactiveBackground": "#181A1F", "inactiveBackground": "#0F111A",
"infoForeground": "#4B526D", "infoForeground": "#4B526D",
"inactiveInfoForeground": "#4B526D" "inactiveInfoForeground": "#4B526D"
}, },
@@ -734,10 +746,10 @@
"hash": "#0F111A", "hash": "#0F111A",
"modifiedItemForeground": "#84ffff", "modifiedItemForeground": "#84ffff",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#717CB416", "selectionBackground": "#717CB470",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#717CB41625", "selectionInactiveBackground": "#717CB425",
"textBackground": "#090B10" "textBackground": "#090B10"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#4B526D", "Commit.unmatchedForeground": "#4B526D",
"Commit.currentBranchBackground": "#717CB416" "Commit.currentBranchBackground": "#181A1F"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#090B10", "background": "#090B10",
"foreground": "%fc" "foreground": "#8F93A2"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#0F111A", "background": "#0F111A",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#84ffff", "Checkbox.Focus.Wide.Dark": "#84ffff",
"Checkbox.Foreground.Disabled": "#464B5D", "Checkbox.Foreground.Disabled": "#464B5D",
"Checkbox.Foreground.Disabled.Dark": "#464B5D", "Checkbox.Foreground.Disabled.Dark": "#464B5D",
"Checkbox.Background.Selected": "#84ffff", "Checkbox.Background.Selected": "#0F111A",
"Checkbox.Background.Selected.Dark": "#84ffff", "Checkbox.Background.Selected.Dark": "#0F111A",
"Checkbox.Border.Selected": "#84ffff", "Checkbox.Border.Selected": "#84ffff",
"Checkbox.Border.Selected.Dark": "#84ffff", "Checkbox.Border.Selected.Dark": "#84ffff",
"Checkbox.Foreground.Selected": "#8F93A2", "Checkbox.Foreground.Selected": "#84ffff",
"Checkbox.Foreground.Selected.Dark": "#8F93A2", "Checkbox.Foreground.Selected.Dark": "#84ffff",
"Checkbox.Focus.Thin.Selected": "#8F93A2", "Checkbox.Focus.Thin.Selected": "#8F93A2",
"Checkbox.Focus.Thin.Selected.Dark": "#8F93A2", "Checkbox.Focus.Thin.Selected.Dark": "#8F93A2",
"Objects.Grey": "#717CB4", "Objects.Grey": "#717CB4",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#8F93A2", "Objects.BlackText": "#8F93A2",
"Objects.YellowDark": "#f78c6c", "Objects.YellowDark": "#f78c6c",
"Objects.GreenAndroid": "#c3e88d" "Objects.GreenAndroid": "#c3e88d"
} }
} }
} }

View File

@@ -110,14 +110,13 @@
"background": "#181A1F", "background": "#181A1F",
"foreground": "#8F93A2", "foreground": "#8F93A2",
"infoForeground": "#4B526D", "infoForeground": "#4B526D",
"matchForeground": "#84ffff2", "matchForeground": "#84ffff",
"matchSelectionForeground": "#84ffff", "matchSelectionForeground": "#84ffff",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#717CB416",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#4B526D", "selectionInactiveInfoForeground": "#4B526D",
"selectionInactiveBackground": "#1F2233", "selectionInactiveBackground": "#23263250",
"selectionBackground": "#23263280", "selectionBackground": "#23263280",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#464B5D", "inactiveUnderlineColor": "#464B5D",
"inactiveMaskColor": "#0F111A", "inactiveMaskColor": "#0F111A",
"underlineColor": "#84ffff", "underlineColor": "#84ffff",
"underlinedTabBackground":"#1A1C25" "underlinedTabBackground": "#1A1C25"
}, },
"Desktop.background": "#0F111A", "Desktop.background": "#0F111A",
"DialogWrapper.southPanelBackground": "#0F111A", "DialogWrapper.southPanelBackground": "#0F111A",
@@ -194,13 +193,22 @@
"hoverColor": "#1F2233", "hoverColor": "#1F2233",
"hoverMaskColor": "#1F2233", "hoverMaskColor": "#1F2233",
"inactiveMaskColor": "#0F111A", "inactiveMaskColor": "#0F111A",
"inactiveColoredFileBackground": "#0F111A",
"inactiveUnderlineColor": "#464B5D", "inactiveUnderlineColor": "#464B5D",
"selectedForeground": "#8F93A2", "selectedForeground": "#8F93A2",
"selectedBackground": "#1A1C25", "selectedBackground": "#1A1C25",
"underlineColor": "#84ffff", "underlineColor": "#84ffff",
"underlinedTabBackground": "#1A1C25" "underlinedTabBackground": "#1A1C25"
}, },
"EditorGroupsTabs": {
"background": "#0F111A",
"borderColor": "#181A1F",
"hoverBackground": "#1F2233",
"hoverColor": "#1F2233",
"inactiveUnderlineColor": "#84ffff",
"underlineColor": "#84ffff",
"underlinedTabBackground": "#1A1C25",
"underlinedTabForeground": "#8F93A2"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#181A1F", "background": "#181A1F",
"foreground": "#8F93A2", "foreground": "#8F93A2",
"selectionBackground": "#232632", "selectionBackground": "#23263250",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#717CB41625" "selectionInactiveBackground": "#717CB425"
}, },
"material": { "material": {
"background": "#0F111A", "background": "#0F111A",
@@ -533,7 +541,7 @@
"background": "#0F111A" "background": "#0F111A"
}, },
"List": { "List": {
"separatorForeground": "#8F93A2", "separatorForeground": "#4B526D",
"separatorColor": "#0F111A" "separatorColor": "#0F111A"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#0F111A", "background": "#0F111A",
"buttonBorderColor": "#84ffff",
"buttonColor": "#84ffff",
"foreground": "#8F93A2", "foreground": "#8F93A2",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#181A1F", "tickColor": "#181A1F",
"trackColor": "#1A1C25",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#84ffff" "thumb": "#84ffff"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#84ffff"
}, },
"TabbedPane.mt.tab.background": "#0F111A", "TabbedPane.mt.tab.background": "#0F111A",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#181A1F", "lightSelectionInactiveBackground": "#181A1F",
"selectionBackground": "#1A1C25", "selectionBackground": "#1A1C25",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#717CB41625", "selectionInactiveBackground": "#1A1C25",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#8F93A2", "sortIconColor": "#8F93A2",
"stripeColor": "#090B10" "stripeColor": "#090B10"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#090B10", "background": "#090B10",
"Button.hoverBackground": "#1F2233", "Button.hoverBackground": "#1F2233",
"inactiveBackground": "#181A1F", "inactiveBackground": "#0F111A",
"infoForeground": "#4B526D", "infoForeground": "#4B526D",
"inactiveInfoForeground": "#4B526D" "inactiveInfoForeground": "#4B526D"
}, },
@@ -734,10 +746,10 @@
"hash": "#0F111A", "hash": "#0F111A",
"modifiedItemForeground": "#84ffff", "modifiedItemForeground": "#84ffff",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#717CB416", "selectionBackground": "#717CB470",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#717CB41625", "selectionInactiveBackground": "#717CB425",
"textBackground": "#0F111A" "textBackground": "#0F111A"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#4B526D", "Commit.unmatchedForeground": "#4B526D",
"Commit.currentBranchBackground": "#717CB416" "Commit.currentBranchBackground": "#181A1F"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#0F111A", "background": "#0F111A",
"foreground": "%fc" "foreground": "#8F93A2"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#0F111A", "background": "#0F111A",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#84ffff", "Checkbox.Focus.Wide.Dark": "#84ffff",
"Checkbox.Foreground.Disabled": "#464B5D", "Checkbox.Foreground.Disabled": "#464B5D",
"Checkbox.Foreground.Disabled.Dark": "#464B5D", "Checkbox.Foreground.Disabled.Dark": "#464B5D",
"Checkbox.Background.Selected": "#84ffff", "Checkbox.Background.Selected": "#0F111A",
"Checkbox.Background.Selected.Dark": "#84ffff", "Checkbox.Background.Selected.Dark": "#0F111A",
"Checkbox.Border.Selected": "#84ffff", "Checkbox.Border.Selected": "#84ffff",
"Checkbox.Border.Selected.Dark": "#84ffff", "Checkbox.Border.Selected.Dark": "#84ffff",
"Checkbox.Foreground.Selected": "#8F93A2", "Checkbox.Foreground.Selected": "#84ffff",
"Checkbox.Foreground.Selected.Dark": "#8F93A2", "Checkbox.Foreground.Selected.Dark": "#84ffff",
"Checkbox.Focus.Thin.Selected": "#8F93A2", "Checkbox.Focus.Thin.Selected": "#8F93A2",
"Checkbox.Focus.Thin.Selected.Dark": "#8F93A2", "Checkbox.Focus.Thin.Selected.Dark": "#8F93A2",
"Objects.Grey": "#717CB4", "Objects.Grey": "#717CB4",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#8F93A2", "Objects.BlackText": "#8F93A2",
"Objects.YellowDark": "#f78c6c", "Objects.YellowDark": "#f78c6c",
"Objects.GreenAndroid": "#c3e88d" "Objects.GreenAndroid": "#c3e88d"
} }
} }
} }

View File

@@ -8,19 +8,19 @@
"acceleratorSelectionForeground": "#94A7B0", "acceleratorSelectionForeground": "#94A7B0",
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#d3e1e8", "borderColor": "#d3e1e8",
"disabledBackground": "#eae8e8", "disabledBackground": "#CCD7DA",
"disabledForeground": "#D2D4D5", "disabledForeground": "#D2D4D5",
"disabledText": "#D2D4D5", "disabledText": "#D2D4D5",
"focusColor": "#E7E7E8", "focusColor": "#E7E7E8",
"focusedBorderColor": "#00BCD4", "focusedBorderColor": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"inactiveBackground": "#eae8e8", "inactiveBackground": "#CCD7DA",
"inactiveForeground": "#94A7B0", "inactiveForeground": "#94A7B0",
"infoForeground": "#94A7B0", "infoForeground": "#94A7B0",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC4",
"selectionBackgroundInactive": "#eae8e8", "selectionBackgroundInactive": "#FFFFFF",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInactiveBackground": "#eae8e8", "selectionInactiveBackground": "#FFFFFF",
"separatorColor": "#d3e1e8" "separatorColor": "#d3e1e8"
}, },
"activeCaption": "#FAFAFA", "activeCaption": "#FAFAFA",
@@ -95,29 +95,28 @@
"iconColor": "#546E7A", "iconColor": "#546E7A",
"nonEditableBackground": "#FAFAFA" "nonEditableBackground": "#FAFAFA"
}, },
"background": "#F4F4F4", "background": "#EEEEEE",
"buttonBackground": "#F3F4F5", "buttonBackground": "#F3F4F5",
"disabledForeground": "#D2D4D5", "disabledForeground": "#D2D4D5",
"foreground": "#546E7A", "foreground": "#546E7A",
"modifiedItemForeground": "#00BCD4", "modifiedItemForeground": "#00BCD4",
"nonEditableBackground": "#eae8e8", "nonEditableBackground": "#FFFFFF",
"padding": "5,5,5,5", "padding": "5,5,5,5",
"selectionBackground": "#E7E7E8", "selectionBackground": "#E7E7E8",
"selectionForeground": "#546e7a" "selectionForeground": "#546e7a"
}, },
"ComboPopup.border": "#d3e1e8", "ComboPopup.border": "#d3e1e8",
"CompletionPopup": { "CompletionPopup": {
"background": "#eae8e8", "background": "#FFFFFF",
"foreground": "#546E7A", "foreground": "#546E7A",
"infoForeground": "#94A7B0", "infoForeground": "#94A7B0",
"matchForeground": "#00BCD42", "matchForeground": "#00BCD4",
"matchSelectionForeground": "#00BCD4", "matchSelectionForeground": "#00BCD4",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#80CBC480",
"selectedGrayedForeground": "#546e7a", "selectedGrayedForeground": "#546e7a",
"selectionGrayForeground": "#546e7a", "selectionGrayForeground": "#546e7a",
"selectionInactiveInfoForeground": "#94A7B0", "selectionInactiveInfoForeground": "#94A7B0",
"selectionInactiveBackground": "#E7E7E8", "selectionInactiveBackground": "#80CBC450",
"selectionBackground": "#80CBC480", "selectionBackground": "#80CBC480",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInfoForeground": "#546e7a" "selectionInfoForeground": "#546e7a"
@@ -160,12 +159,12 @@
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#FAFAFA", "borderColor": "#FAFAFA",
"hoverBackground": "#E7E7E8", "hoverBackground": "#E7E7E8",
"hoverColor": "#F4F4F4", "hoverColor": "#EEEEEE",
"hoverMaskColor": "#E7E7E8", "hoverMaskColor": "#E7E7E8",
"inactiveUnderlineColor": "#D2D4D5", "inactiveUnderlineColor": "#D2D4D5",
"inactiveMaskColor": "#F4F4F4", "inactiveMaskColor": "#EEEEEE",
"underlineColor": "#00BCD4", "underlineColor": "#00BCD4",
"underlinedTabBackground":"#E7E7E8" "underlinedTabBackground": "#E7E7E8"
}, },
"Desktop.background": "#FAFAFA", "Desktop.background": "#FAFAFA",
"DialogWrapper.southPanelBackground": "#FAFAFA", "DialogWrapper.southPanelBackground": "#FAFAFA",
@@ -176,12 +175,12 @@
"areaForeground": "#546E7A" "areaForeground": "#546E7A"
}, },
"Editor": { "Editor": {
"background": "#F4F4F4", "background": "#EEEEEE",
"foreground": "#546E7A", "foreground": "#546E7A",
"shortcutForeground": "#94A7B0" "shortcutForeground": "#94A7B0"
}, },
"EditorPane": { "EditorPane": {
"background": "#F4F4F4", "background": "#EEEEEE",
"caretForeground": "#00BCD4", "caretForeground": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"inactiveBackground": "#FAFAFA", "inactiveBackground": "#FAFAFA",
@@ -190,21 +189,30 @@
"selectionForeground": "#546e7a" "selectionForeground": "#546e7a"
}, },
"EditorTabs": { "EditorTabs": {
"borderColor": "#eae8e8", "borderColor": "#FFFFFF",
"hoverColor": "#E7E7E8", "hoverColor": "#E7E7E8",
"hoverMaskColor": "#E7E7E8", "hoverMaskColor": "#E7E7E8",
"inactiveMaskColor": "#FAFAFA", "inactiveMaskColor": "#FAFAFA",
"inactiveColoredFileBackground": "#FAFAFA",
"inactiveUnderlineColor": "#D2D4D5", "inactiveUnderlineColor": "#D2D4D5",
"selectedForeground": "#546E7A", "selectedForeground": "#546E7A",
"selectedBackground": "#E7E7E8", "selectedBackground": "#E7E7E8",
"underlineColor": "#00BCD4", "underlineColor": "#00BCD4",
"underlinedTabBackground": "#E7E7E8" "underlinedTabBackground": "#E7E7E8"
}, },
"EditorGroupsTabs": {
"background": "#FAFAFA",
"borderColor": "#FFFFFF",
"hoverBackground": "#E7E7E8",
"hoverColor": "#E7E7E8",
"inactiveUnderlineColor": "#00BCD4",
"underlineColor": "#00BCD4",
"underlinedTabBackground": "#E7E7E8",
"underlinedTabForeground": "#546E7A"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
"Yellow": "#eae8e8", "Yellow": "#CCD7DA",
"Orange": "#B53D00", "Orange": "#B53D00",
"Violet": "#4D2C91", "Violet": "#4D2C91",
"Rose": "#A00037" "Rose": "#A00037"
@@ -221,7 +229,7 @@
}, },
"Focus.color": "#d3e1e8", "Focus.color": "#d3e1e8",
"FormattedTextField": { "FormattedTextField": {
"background": "#F4F4F4", "background": "#EEEEEE",
"caretForeground": "#00BCD4", "caretForeground": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"inactiveBackground": "#F3F4F5", "inactiveBackground": "#F3F4F5",
@@ -239,7 +247,7 @@
}, },
"HeaderColor": { "HeaderColor": {
"active": "#FAFAFA", "active": "#FAFAFA",
"inactive": "#F4F4F4" "inactive": "#EEEEEE"
}, },
"HelpTooltip": { "HelpTooltip": {
"background": "#FAFAFA", "background": "#FAFAFA",
@@ -249,7 +257,7 @@
"shortcutForeground": "#94A7B0" "shortcutForeground": "#94A7B0"
}, },
"Hyperlink.linkColor": "#00BCD4", "Hyperlink.linkColor": "#00BCD4",
"inactiveCaption": "#eae8e8", "inactiveCaption": "#FFFFFF",
"inactiveCaptionBorder": "#FAFAFA", "inactiveCaptionBorder": "#FAFAFA",
"inactiveCaptionText": "#94A7B0", "inactiveCaptionText": "#94A7B0",
"info": "#94A7B0", "info": "#94A7B0",
@@ -281,17 +289,17 @@
"visitedForeground": "#00BCD4" "visitedForeground": "#00BCD4"
}, },
"List": { "List": {
"background": "#eae8e8", "background": "#FFFFFF",
"foreground": "#546E7A", "foreground": "#546E7A",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC450",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInactiveForeground": "#546e7a", "selectionInactiveForeground": "#546e7a",
"selectionInactiveBackground": "#80CBC48025" "selectionInactiveBackground": "#80CBC425"
}, },
"material": { "material": {
"background": "#FAFAFA", "background": "#FAFAFA",
"branchColor": "#546E7A", "branchColor": "#546E7A",
"contrast": "#F4F4F4", "contrast": "#EEEEEE",
"foreground": "#546E7A", "foreground": "#546E7A",
"mergeCommits": "#F3F4F5", "mergeCommits": "#F3F4F5",
"primaryColor": "#94A7B0", "primaryColor": "#94A7B0",
@@ -301,7 +309,7 @@
"tagColor": "#94A7B0" "tagColor": "#94A7B0"
}, },
"MemoryIndicator": { "MemoryIndicator": {
"allocatedBackground": "#eae8e8", "allocatedBackground": "#FFFFFF",
"usedColor": "#E7E7E8", "usedColor": "#E7E7E8",
"usedBackground": "#E7E7E8" "usedBackground": "#E7E7E8"
}, },
@@ -310,8 +318,8 @@
"acceleratorSelectionForeground": "#546e7a", "acceleratorSelectionForeground": "#546e7a",
"background": "#FAFAFA", "background": "#FAFAFA",
"border": "4,2,4,2", "border": "4,2,4,2",
"borderColor": "#eae8e8", "borderColor": "#FFFFFF",
"disabledBackground": "#eae8e8", "disabledBackground": "#FFFFFF",
"disabledForeground": "#D2D4D5", "disabledForeground": "#D2D4D5",
"foreground": "#546E7A", "foreground": "#546E7A",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC4",
@@ -319,7 +327,7 @@
"separatorColor": "#d3e1e8" "separatorColor": "#d3e1e8"
}, },
"MenuBar": { "MenuBar": {
"background": "#F4F4F4", "background": "#EEEEEE",
"borderColor": "#FAFAFA", "borderColor": "#FAFAFA",
"disabledBackground": "#FAFAFA", "disabledBackground": "#FAFAFA",
"disabledForeground": "#D2D4D5", "disabledForeground": "#D2D4D5",
@@ -327,7 +335,7 @@
"highlight": "#FAFAFA", "highlight": "#FAFAFA",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC4",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"shadow": "#F4F4F4" "shadow": "#EEEEEE"
}, },
"MenuItem": { "MenuItem": {
"acceleratorForeground": "#94A7B0", "acceleratorForeground": "#94A7B0",
@@ -349,7 +357,7 @@
"background": "#FAFAFA" "background": "#FAFAFA"
}, },
"SearchField": { "SearchField": {
"background": "#F4F4F4" "background": "#EEEEEE"
} }
}, },
"Notification": { "Notification": {
@@ -386,7 +394,7 @@
"foreground": "#546E7A" "foreground": "#546E7A"
}, },
"ParameterInfo": { "ParameterInfo": {
"background": "#eae8e8", "background": "#FFFFFF",
"borderColor": "#E7E7E8", "borderColor": "#E7E7E8",
"currentOverloadBackground": "#E7E7E8", "currentOverloadBackground": "#E7E7E8",
"currentParameterForeground": "#00BCD4", "currentParameterForeground": "#00BCD4",
@@ -396,7 +404,7 @@
"lineSeparatorColor": "#E7E7E8" "lineSeparatorColor": "#E7E7E8"
}, },
"PasswordField": { "PasswordField": {
"background": "#F4F4F4", "background": "#EEEEEE",
"capsLockIconColor": "#00BCD4", "capsLockIconColor": "#00BCD4",
"caretForeground": "#00BCD4", "caretForeground": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
@@ -424,11 +432,11 @@
"updateForeground": "#546E7A" "updateForeground": "#546E7A"
}, },
"SearchField": { "SearchField": {
"background": "#F4F4F4", "background": "#EEEEEE",
"borderColor": "#d3e1e8" "borderColor": "#d3e1e8"
}, },
"SectionHeader": { "SectionHeader": {
"background": "#eae8e8", "background": "#FFFFFF",
"foreground": "#546E7A" "foreground": "#546E7A"
}, },
"Tab": { "Tab": {
@@ -443,19 +451,19 @@
"borderColor": "#FAFAFA", "borderColor": "#FAFAFA",
"foreground": "#00BCD4" "foreground": "#00BCD4"
}, },
"borderColor": "#F4F4F4", "borderColor": "#EEEEEE",
"inactiveBorderColor": "#FAFAFA", "inactiveBorderColor": "#FAFAFA",
"innerBorderColor": "#eae8e8", "innerBorderColor": "#FFFFFF",
"Header": { "Header": {
"activeBackground": "#FAFAFA", "activeBackground": "#FAFAFA",
"inactiveBackground": "#F4F4F4" "inactiveBackground": "#EEEEEE"
}, },
"paintBorder": true, "paintBorder": true,
"separatorForeground": "#546E7A", "separatorForeground": "#546E7A",
"separatorColor": "#eae8e8", "separatorColor": "#FFFFFF",
"Toolbar": { "Toolbar": {
"background": "#F4F4F4", "background": "#EEEEEE",
"borderColor": "#F4F4F4" "borderColor": "#EEEEEE"
} }
}, },
"PopupMenu": { "PopupMenu": {
@@ -526,19 +534,19 @@
}, },
"SearchEverywhere": { "SearchEverywhere": {
"Advertiser": { "Advertiser": {
"background": "#F4F4F4", "background": "#EEEEEE",
"foreground": "#94A7B0" "foreground": "#94A7B0"
}, },
"Header": { "Header": {
"background": "#FAFAFA" "background": "#FAFAFA"
}, },
"List": { "List": {
"separatorForeground": "#546E7A", "separatorForeground": "#94A7B0",
"separatorColor": "#d3e1e8" "separatorColor": "#d3e1e8"
}, },
"SearchField": { "SearchField": {
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#F4F4F4", "borderColor": "#EEEEEE",
"infoForeground": "#94A7B0" "infoForeground": "#94A7B0"
}, },
"Tab": { "Tab": {
@@ -552,18 +560,21 @@
"startBackground": "#00BCD4" "startBackground": "#00BCD4"
}, },
"Separator": { "Separator": {
"background": "#eae8e8", "background": "#FFFFFF",
"foreground": "#eae8e8", "foreground": "#FFFFFF",
"separatorColor": "#eae8e8" "separatorColor": "#FFFFFF"
}, },
"SidePanel": { "SidePanel": {
"background": "#F4F4F4" "background": "#EEEEEE"
}, },
"Slider": { "Slider": {
"background": "#FAFAFA", "background": "#FAFAFA",
"buttonBorderColor": "#00BCD4",
"buttonColor": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#eae8e8", "tickColor": "#FFFFFF",
"trackColor": "#E7E7E8",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#00BCD4" "thumb": "#00BCD4"
}, },
@@ -581,9 +592,9 @@
}, },
"SplitPane": { "SplitPane": {
"background": "#FAFAFA", "background": "#FAFAFA",
"highlight": "#F4F4F4" "highlight": "#EEEEEE"
}, },
"SplitPaneDivider.draggingColor": "#eae8e8", "SplitPaneDivider.draggingColor": "#FFFFFF",
"StatusBar": { "StatusBar": {
"borderColor": "#FAFAFA" "borderColor": "#FAFAFA"
}, },
@@ -607,9 +618,10 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#00BCD4"
}, },
"TabbedPane.mt.tab.background": "#F4F4F4", "TabbedPane.mt.tab.background": "#EEEEEE",
"Table": { "Table": {
"background": "#FAFAFA", "background": "#FAFAFA",
"cellNoFocusBorder": "10,5,10,5", "cellNoFocusBorder": "10,5,10,5",
@@ -623,30 +635,30 @@
"highlightOuter": "#E7E7E8", "highlightOuter": "#E7E7E8",
"lightSelectionForeground": "#546e7a", "lightSelectionForeground": "#546e7a",
"lightSelectionInactiveForeground": "#94A7B0", "lightSelectionInactiveForeground": "#94A7B0",
"lightSelectionInactiveBackground": "#eae8e8", "lightSelectionInactiveBackground": "#FFFFFF",
"selectionBackground": "#E7E7E8", "selectionBackground": "#E7E7E8",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInactiveBackground": "#80CBC48025", "selectionInactiveBackground": "#E7E7E8",
"selectionInactiveForeground": "#546e7a", "selectionInactiveForeground": "#546e7a",
"sortIconColor": "#546E7A", "sortIconColor": "#546E7A",
"stripeColor": "#F4F4F4" "stripeColor": "#EEEEEE"
}, },
"TableHeader": { "TableHeader": {
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#FAFAFA", "borderColor": "#FAFAFA",
"bottomSeparatorColor": "#eae8e8", "bottomSeparatorColor": "#FFFFFF",
"cellBorder": "4,0,4,0", "cellBorder": "4,0,4,0",
"foreground": "#546E7A", "foreground": "#546E7A",
"focusCellBackground": "#E7E7E8", "focusCellBackground": "#E7E7E8",
"focusCellForeground": "#546e7a", "focusCellForeground": "#546e7a",
"height": 25, "height": 25,
"separatorColor": "#eae8e8" "separatorColor": "#FFFFFF"
}, },
"text": "#94A7B0", "text": "#94A7B0",
"textInactiveText": "#94A7B0", "textInactiveText": "#94A7B0",
"textText": "#94A7B0", "textText": "#94A7B0",
"TextArea": { "TextArea": {
"background": "#F4F4F4", "background": "#EEEEEE",
"caretForeground": "#00BCD4", "caretForeground": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"inactiveForeground": "#D2D4D5", "inactiveForeground": "#D2D4D5",
@@ -654,7 +666,7 @@
"selectionForeground": "#546e7a" "selectionForeground": "#546e7a"
}, },
"TextField": { "TextField": {
"background": "#F4F4F4", "background": "#EEEEEE",
"caretForeground": "#00BCD4", "caretForeground": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"inactiveForeground": "#D2D4D5", "inactiveForeground": "#D2D4D5",
@@ -662,7 +674,7 @@
"selectionForeground": "#546e7a" "selectionForeground": "#546e7a"
}, },
"TextPane": { "TextPane": {
"background": "#F4F4F4", "background": "#EEEEEE",
"caretForeground": "#00BCD4", "caretForeground": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"inactiveForeground": "#D2D4D5", "inactiveForeground": "#D2D4D5",
@@ -670,9 +682,9 @@
"selectionForeground": "#546e7a" "selectionForeground": "#546e7a"
}, },
"TitlePane": { "TitlePane": {
"background": "#F4F4F4", "background": "#EEEEEE",
"Button.hoverBackground": "#E7E7E8", "Button.hoverBackground": "#E7E7E8",
"inactiveBackground": "#eae8e8", "inactiveBackground": "#FAFAFA",
"infoForeground": "#94A7B0", "infoForeground": "#94A7B0",
"inactiveInfoForeground": "#94A7B0" "inactiveInfoForeground": "#94A7B0"
}, },
@@ -688,7 +700,7 @@
"onForeground": "#00BCD4" "onForeground": "#00BCD4"
}, },
"ToolBar": { "ToolBar": {
"background": "#F4F4F4", "background": "#EEEEEE",
"borderHandleColor": "#94A7B0", "borderHandleColor": "#94A7B0",
"floatingForeground": "#94A7B0", "floatingForeground": "#94A7B0",
"foreground": "#546E7A" "foreground": "#546E7A"
@@ -707,11 +719,11 @@
"Button": { "Button": {
"hoverBackground": "#E7E7E8", "hoverBackground": "#E7E7E8",
"selectedForeground": "#546e7a", "selectedForeground": "#546e7a",
"selectedBackground": "#F4F4F4" "selectedBackground": "#EEEEEE"
}, },
"Header": { "Header": {
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#eae8e8", "borderColor": "#FFFFFF",
"inactiveBackground": "#FAFAFA" "inactiveBackground": "#FAFAFA"
}, },
"HeaderCloseButton": { "HeaderCloseButton": {
@@ -719,26 +731,26 @@
}, },
"HeaderTab": { "HeaderTab": {
"hoverBackground": "#E7E7E8", "hoverBackground": "#E7E7E8",
"hoverInactiveBackground": "#eae8e8", "hoverInactiveBackground": "#FFFFFF",
"inactiveUnderlineColor": "#00BCD4", "inactiveUnderlineColor": "#00BCD4",
"selectedBackground": "#F4F4F4", "selectedBackground": "#EEEEEE",
"selectedInactiveBackground": "#F4F4F4", "selectedInactiveBackground": "#EEEEEE",
"underlineColor": "#00BCD4", "underlineColor": "#00BCD4",
"underlinedTabBackground": "#E7E7E8", "underlinedTabBackground": "#E7E7E8",
"underlinedTabInactiveBackground": "#eae8e8" "underlinedTabInactiveBackground": "#FFFFFF"
} }
}, },
"Tree": { "Tree": {
"background": "#F4F4F4", "background": "#EEEEEE",
"foreground": "#94A7B0", "foreground": "#94A7B0",
"hash": "#d3e1e8", "hash": "#d3e1e8",
"modifiedItemForeground": "#00BCD4", "modifiedItemForeground": "#00BCD4",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#80CBC480", "selectionBackground": "#80CBC470",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInactiveForeground": "#546e7a", "selectionInactiveForeground": "#546e7a",
"selectionInactiveBackground": "#80CBC48025", "selectionInactiveBackground": "#80CBC425",
"textBackground": "#F4F4F4" "textBackground": "#EEEEEE"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
"Tree.rightChildIndent": 5, "Tree.rightChildIndent": 5,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#94A7B0", "Commit.unmatchedForeground": "#94A7B0",
"Commit.currentBranchBackground": "#80CBC480" "Commit.currentBranchBackground": "#FFFFFF"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#546e7a", "foreground": "#546e7a",
@@ -781,33 +793,33 @@
} }
}, },
"Viewport": { "Viewport": {
"background": "#F4F4F4", "background": "#EEEEEE",
"foreground": "%fc" "foreground": "#546E7A"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#FAFAFA", "borderColor": "#FAFAFA",
"captionBackground": "#F4F4F4", "captionBackground": "#EEEEEE",
"captionForeground": "#546E7A", "captionForeground": "#546E7A",
"footerBackground": "#F4F4F4", "footerBackground": "#EEEEEE",
"footerForeground": "#546E7A", "footerForeground": "#546E7A",
"headerBackground": "#FAFAFA", "headerBackground": "#FAFAFA",
"headerForeground": "#546E7A", "headerForeground": "#546E7A",
"separatorColor": "#d3e1e8", "separatorColor": "#d3e1e8",
"Projects": { "Projects": {
"background": "#eae8e8", "background": "#FFFFFF",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC4",
"selectionInactiveBackground": "#eae8e8" "selectionInactiveBackground": "#FFFFFF"
} }
}, },
"window": "#F4F4F4", "window": "#EEEEEE",
"windowBorder": "#d3e1e8", "windowBorder": "#d3e1e8",
"windowText": "#94A7B0", "windowText": "#94A7B0",
"Window.border": "#d3e1e8" "Window.border": "#d3e1e8"
}, },
"icons": { "icons": {
"ColorPalette": { "ColorPalette": {
"#43494A": "#F4F4F4", "#43494A": "#EEEEEE",
"#6B6B6B": "#94A7B0", "#6B6B6B": "#94A7B0",
"#A7A7A7": "#FAFAFA", "#A7A7A7": "#FAFAFA",
"#3D6185": "#00BCD4", "#3D6185": "#00BCD4",
@@ -824,10 +836,10 @@
"Actions.GreyInline.Dark": "#546E7A", "Actions.GreyInline.Dark": "#546E7A",
"Actions.Red": "#E53935", "Actions.Red": "#E53935",
"Actions.Yellow": "#F6A434", "Actions.Yellow": "#F6A434",
"Checkbox.Background.Default": "#F4F4F4", "Checkbox.Background.Default": "#EEEEEE",
"Checkbox.Background.Default.Dark": "#F4F4F4", "Checkbox.Background.Default.Dark": "#EEEEEE",
"Checkbox.Background.Disabled": "#eae8e8", "Checkbox.Background.Disabled": "#CCD7DA",
"Checkbox.Background.Disabled.Dark": "#eae8e8", "Checkbox.Background.Disabled.Dark": "#CCD7DA",
"Checkbox.Border.Default": "#d3e1e8", "Checkbox.Border.Default": "#d3e1e8",
"Checkbox.Border.Default.Dark": "#d3e1e8", "Checkbox.Border.Default.Dark": "#d3e1e8",
"Checkbox.Border.Disabled": "#D2D4D5", "Checkbox.Border.Disabled": "#D2D4D5",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#00BCD4", "Checkbox.Focus.Wide.Dark": "#00BCD4",
"Checkbox.Foreground.Disabled": "#D2D4D5", "Checkbox.Foreground.Disabled": "#D2D4D5",
"Checkbox.Foreground.Disabled.Dark": "#D2D4D5", "Checkbox.Foreground.Disabled.Dark": "#D2D4D5",
"Checkbox.Background.Selected": "#00BCD4", "Checkbox.Background.Selected": "#FAFAFA",
"Checkbox.Background.Selected.Dark": "#00BCD4", "Checkbox.Background.Selected.Dark": "#FAFAFA",
"Checkbox.Border.Selected": "#00BCD4", "Checkbox.Border.Selected": "#00BCD4",
"Checkbox.Border.Selected.Dark": "#00BCD4", "Checkbox.Border.Selected.Dark": "#00BCD4",
"Checkbox.Foreground.Selected": "#546E7A", "Checkbox.Foreground.Selected": "#00BCD4",
"Checkbox.Foreground.Selected.Dark": "#546E7A", "Checkbox.Foreground.Selected.Dark": "#00BCD4",
"Checkbox.Focus.Thin.Selected": "#546E7A", "Checkbox.Focus.Thin.Selected": "#546E7A",
"Checkbox.Focus.Thin.Selected.Dark": "#546E7A", "Checkbox.Focus.Thin.Selected.Dark": "#546E7A",
"Objects.Grey": "#AABFC9", "Objects.Grey": "#AABFC9",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#546E7A", "Objects.BlackText": "#546E7A",
"Objects.YellowDark": "#F76D47", "Objects.YellowDark": "#F76D47",
"Objects.GreenAndroid": "#91B859" "Objects.GreenAndroid": "#91B859"
} }
} }
} }

View File

@@ -8,19 +8,19 @@
"acceleratorSelectionForeground": "#94A7B0", "acceleratorSelectionForeground": "#94A7B0",
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#d3e1e8", "borderColor": "#d3e1e8",
"disabledBackground": "#eae8e8", "disabledBackground": "#CCD7DA",
"disabledForeground": "#D2D4D5", "disabledForeground": "#D2D4D5",
"disabledText": "#D2D4D5", "disabledText": "#D2D4D5",
"focusColor": "#E7E7E8", "focusColor": "#E7E7E8",
"focusedBorderColor": "#00BCD4", "focusedBorderColor": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"inactiveBackground": "#eae8e8", "inactiveBackground": "#CCD7DA",
"inactiveForeground": "#94A7B0", "inactiveForeground": "#94A7B0",
"infoForeground": "#94A7B0", "infoForeground": "#94A7B0",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC4",
"selectionBackgroundInactive": "#eae8e8", "selectionBackgroundInactive": "#FFFFFF",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInactiveBackground": "#eae8e8", "selectionInactiveBackground": "#FFFFFF",
"separatorColor": "#d3e1e8" "separatorColor": "#d3e1e8"
}, },
"activeCaption": "#FAFAFA", "activeCaption": "#FAFAFA",
@@ -100,24 +100,23 @@
"disabledForeground": "#D2D4D5", "disabledForeground": "#D2D4D5",
"foreground": "#546E7A", "foreground": "#546E7A",
"modifiedItemForeground": "#00BCD4", "modifiedItemForeground": "#00BCD4",
"nonEditableBackground": "#eae8e8", "nonEditableBackground": "#FFFFFF",
"padding": "5,5,5,5", "padding": "5,5,5,5",
"selectionBackground": "#E7E7E8", "selectionBackground": "#E7E7E8",
"selectionForeground": "#546e7a" "selectionForeground": "#546e7a"
}, },
"ComboPopup.border": "#d3e1e8", "ComboPopup.border": "#d3e1e8",
"CompletionPopup": { "CompletionPopup": {
"background": "#eae8e8", "background": "#FFFFFF",
"foreground": "#546E7A", "foreground": "#546E7A",
"infoForeground": "#94A7B0", "infoForeground": "#94A7B0",
"matchForeground": "#00BCD42", "matchForeground": "#00BCD4",
"matchSelectionForeground": "#00BCD4", "matchSelectionForeground": "#00BCD4",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#80CBC480",
"selectedGrayedForeground": "#546e7a", "selectedGrayedForeground": "#546e7a",
"selectionGrayForeground": "#546e7a", "selectionGrayForeground": "#546e7a",
"selectionInactiveInfoForeground": "#94A7B0", "selectionInactiveInfoForeground": "#94A7B0",
"selectionInactiveBackground": "#E7E7E8", "selectionInactiveBackground": "#80CBC450",
"selectionBackground": "#80CBC480", "selectionBackground": "#80CBC480",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInfoForeground": "#546e7a" "selectionInfoForeground": "#546e7a"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#D2D4D5", "inactiveUnderlineColor": "#D2D4D5",
"inactiveMaskColor": "#FAFAFA", "inactiveMaskColor": "#FAFAFA",
"underlineColor": "#00BCD4", "underlineColor": "#00BCD4",
"underlinedTabBackground":"#E7E7E8" "underlinedTabBackground": "#E7E7E8"
}, },
"Desktop.background": "#FAFAFA", "Desktop.background": "#FAFAFA",
"DialogWrapper.southPanelBackground": "#FAFAFA", "DialogWrapper.southPanelBackground": "#FAFAFA",
@@ -190,21 +189,30 @@
"selectionForeground": "#546e7a" "selectionForeground": "#546e7a"
}, },
"EditorTabs": { "EditorTabs": {
"borderColor": "#eae8e8", "borderColor": "#FFFFFF",
"hoverColor": "#E7E7E8", "hoverColor": "#E7E7E8",
"hoverMaskColor": "#E7E7E8", "hoverMaskColor": "#E7E7E8",
"inactiveMaskColor": "#FAFAFA", "inactiveMaskColor": "#FAFAFA",
"inactiveColoredFileBackground": "#FAFAFA",
"inactiveUnderlineColor": "#D2D4D5", "inactiveUnderlineColor": "#D2D4D5",
"selectedForeground": "#546E7A", "selectedForeground": "#546E7A",
"selectedBackground": "#E7E7E8", "selectedBackground": "#E7E7E8",
"underlineColor": "#00BCD4", "underlineColor": "#00BCD4",
"underlinedTabBackground": "#E7E7E8" "underlinedTabBackground": "#E7E7E8"
}, },
"EditorGroupsTabs": {
"background": "#FAFAFA",
"borderColor": "#FFFFFF",
"hoverBackground": "#E7E7E8",
"hoverColor": "#E7E7E8",
"inactiveUnderlineColor": "#00BCD4",
"underlineColor": "#00BCD4",
"underlinedTabBackground": "#E7E7E8",
"underlinedTabForeground": "#546E7A"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
"Yellow": "#eae8e8", "Yellow": "#CCD7DA",
"Orange": "#B53D00", "Orange": "#B53D00",
"Violet": "#4D2C91", "Violet": "#4D2C91",
"Rose": "#A00037" "Rose": "#A00037"
@@ -239,7 +247,7 @@
}, },
"HeaderColor": { "HeaderColor": {
"active": "#FAFAFA", "active": "#FAFAFA",
"inactive": "#F4F4F4" "inactive": "#EEEEEE"
}, },
"HelpTooltip": { "HelpTooltip": {
"background": "#FAFAFA", "background": "#FAFAFA",
@@ -249,7 +257,7 @@
"shortcutForeground": "#94A7B0" "shortcutForeground": "#94A7B0"
}, },
"Hyperlink.linkColor": "#00BCD4", "Hyperlink.linkColor": "#00BCD4",
"inactiveCaption": "#eae8e8", "inactiveCaption": "#FFFFFF",
"inactiveCaptionBorder": "#FAFAFA", "inactiveCaptionBorder": "#FAFAFA",
"inactiveCaptionText": "#94A7B0", "inactiveCaptionText": "#94A7B0",
"info": "#94A7B0", "info": "#94A7B0",
@@ -281,17 +289,17 @@
"visitedForeground": "#00BCD4" "visitedForeground": "#00BCD4"
}, },
"List": { "List": {
"background": "#eae8e8", "background": "#FFFFFF",
"foreground": "#546E7A", "foreground": "#546E7A",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC450",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInactiveForeground": "#546e7a", "selectionInactiveForeground": "#546e7a",
"selectionInactiveBackground": "#80CBC48025" "selectionInactiveBackground": "#80CBC425"
}, },
"material": { "material": {
"background": "#FAFAFA", "background": "#FAFAFA",
"branchColor": "#546E7A", "branchColor": "#546E7A",
"contrast": "#F4F4F4", "contrast": "#EEEEEE",
"foreground": "#546E7A", "foreground": "#546E7A",
"mergeCommits": "#F3F4F5", "mergeCommits": "#F3F4F5",
"primaryColor": "#94A7B0", "primaryColor": "#94A7B0",
@@ -301,7 +309,7 @@
"tagColor": "#94A7B0" "tagColor": "#94A7B0"
}, },
"MemoryIndicator": { "MemoryIndicator": {
"allocatedBackground": "#eae8e8", "allocatedBackground": "#FFFFFF",
"usedColor": "#E7E7E8", "usedColor": "#E7E7E8",
"usedBackground": "#E7E7E8" "usedBackground": "#E7E7E8"
}, },
@@ -310,8 +318,8 @@
"acceleratorSelectionForeground": "#546e7a", "acceleratorSelectionForeground": "#546e7a",
"background": "#FAFAFA", "background": "#FAFAFA",
"border": "4,2,4,2", "border": "4,2,4,2",
"borderColor": "#eae8e8", "borderColor": "#FFFFFF",
"disabledBackground": "#eae8e8", "disabledBackground": "#FFFFFF",
"disabledForeground": "#D2D4D5", "disabledForeground": "#D2D4D5",
"foreground": "#546E7A", "foreground": "#546E7A",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC4",
@@ -386,7 +394,7 @@
"foreground": "#546E7A" "foreground": "#546E7A"
}, },
"ParameterInfo": { "ParameterInfo": {
"background": "#eae8e8", "background": "#FFFFFF",
"borderColor": "#E7E7E8", "borderColor": "#E7E7E8",
"currentOverloadBackground": "#E7E7E8", "currentOverloadBackground": "#E7E7E8",
"currentParameterForeground": "#00BCD4", "currentParameterForeground": "#00BCD4",
@@ -428,7 +436,7 @@
"borderColor": "#d3e1e8" "borderColor": "#d3e1e8"
}, },
"SectionHeader": { "SectionHeader": {
"background": "#eae8e8", "background": "#FFFFFF",
"foreground": "#546E7A" "foreground": "#546E7A"
}, },
"Tab": { "Tab": {
@@ -443,19 +451,19 @@
"borderColor": "#FAFAFA", "borderColor": "#FAFAFA",
"foreground": "#00BCD4" "foreground": "#00BCD4"
}, },
"borderColor": "#F4F4F4", "borderColor": "#EEEEEE",
"inactiveBorderColor": "#FAFAFA", "inactiveBorderColor": "#FAFAFA",
"innerBorderColor": "#eae8e8", "innerBorderColor": "#FFFFFF",
"Header": { "Header": {
"activeBackground": "#FAFAFA", "activeBackground": "#FAFAFA",
"inactiveBackground": "#F4F4F4" "inactiveBackground": "#EEEEEE"
}, },
"paintBorder": true, "paintBorder": true,
"separatorForeground": "#546E7A", "separatorForeground": "#546E7A",
"separatorColor": "#eae8e8", "separatorColor": "#FFFFFF",
"Toolbar": { "Toolbar": {
"background": "#F4F4F4", "background": "#EEEEEE",
"borderColor": "#F4F4F4" "borderColor": "#EEEEEE"
} }
}, },
"PopupMenu": { "PopupMenu": {
@@ -526,19 +534,19 @@
}, },
"SearchEverywhere": { "SearchEverywhere": {
"Advertiser": { "Advertiser": {
"background": "#F4F4F4", "background": "#EEEEEE",
"foreground": "#94A7B0" "foreground": "#94A7B0"
}, },
"Header": { "Header": {
"background": "#FAFAFA" "background": "#FAFAFA"
}, },
"List": { "List": {
"separatorForeground": "#546E7A", "separatorForeground": "#94A7B0",
"separatorColor": "#d3e1e8" "separatorColor": "#d3e1e8"
}, },
"SearchField": { "SearchField": {
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#F4F4F4", "borderColor": "#EEEEEE",
"infoForeground": "#94A7B0" "infoForeground": "#94A7B0"
}, },
"Tab": { "Tab": {
@@ -552,18 +560,21 @@
"startBackground": "#00BCD4" "startBackground": "#00BCD4"
}, },
"Separator": { "Separator": {
"background": "#eae8e8", "background": "#FFFFFF",
"foreground": "#eae8e8", "foreground": "#FFFFFF",
"separatorColor": "#eae8e8" "separatorColor": "#FFFFFF"
}, },
"SidePanel": { "SidePanel": {
"background": "#FAFAFA" "background": "#FAFAFA"
}, },
"Slider": { "Slider": {
"background": "#FAFAFA", "background": "#FAFAFA",
"buttonBorderColor": "#00BCD4",
"buttonColor": "#00BCD4",
"foreground": "#546E7A", "foreground": "#546E7A",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#eae8e8", "tickColor": "#FFFFFF",
"trackColor": "#E7E7E8",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#00BCD4" "thumb": "#00BCD4"
}, },
@@ -583,7 +594,7 @@
"background": "#FAFAFA", "background": "#FAFAFA",
"highlight": "#FAFAFA" "highlight": "#FAFAFA"
}, },
"SplitPaneDivider.draggingColor": "#eae8e8", "SplitPaneDivider.draggingColor": "#FFFFFF",
"StatusBar": { "StatusBar": {
"borderColor": "#FAFAFA" "borderColor": "#FAFAFA"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#00BCD4"
}, },
"TabbedPane.mt.tab.background": "#FAFAFA", "TabbedPane.mt.tab.background": "#FAFAFA",
"Table": { "Table": {
@@ -623,24 +635,24 @@
"highlightOuter": "#E7E7E8", "highlightOuter": "#E7E7E8",
"lightSelectionForeground": "#546e7a", "lightSelectionForeground": "#546e7a",
"lightSelectionInactiveForeground": "#94A7B0", "lightSelectionInactiveForeground": "#94A7B0",
"lightSelectionInactiveBackground": "#eae8e8", "lightSelectionInactiveBackground": "#FFFFFF",
"selectionBackground": "#E7E7E8", "selectionBackground": "#E7E7E8",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInactiveBackground": "#80CBC48025", "selectionInactiveBackground": "#E7E7E8",
"selectionInactiveForeground": "#546e7a", "selectionInactiveForeground": "#546e7a",
"sortIconColor": "#546E7A", "sortIconColor": "#546E7A",
"stripeColor": "#F4F4F4" "stripeColor": "#EEEEEE"
}, },
"TableHeader": { "TableHeader": {
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#FAFAFA", "borderColor": "#FAFAFA",
"bottomSeparatorColor": "#eae8e8", "bottomSeparatorColor": "#FFFFFF",
"cellBorder": "4,0,4,0", "cellBorder": "4,0,4,0",
"foreground": "#546E7A", "foreground": "#546E7A",
"focusCellBackground": "#E7E7E8", "focusCellBackground": "#E7E7E8",
"focusCellForeground": "#546e7a", "focusCellForeground": "#546e7a",
"height": 25, "height": 25,
"separatorColor": "#eae8e8" "separatorColor": "#FFFFFF"
}, },
"text": "#94A7B0", "text": "#94A7B0",
"textInactiveText": "#94A7B0", "textInactiveText": "#94A7B0",
@@ -670,9 +682,9 @@
"selectionForeground": "#546e7a" "selectionForeground": "#546e7a"
}, },
"TitlePane": { "TitlePane": {
"background": "#F4F4F4", "background": "#EEEEEE",
"Button.hoverBackground": "#E7E7E8", "Button.hoverBackground": "#E7E7E8",
"inactiveBackground": "#eae8e8", "inactiveBackground": "#FAFAFA",
"infoForeground": "#94A7B0", "infoForeground": "#94A7B0",
"inactiveInfoForeground": "#94A7B0" "inactiveInfoForeground": "#94A7B0"
}, },
@@ -707,11 +719,11 @@
"Button": { "Button": {
"hoverBackground": "#E7E7E8", "hoverBackground": "#E7E7E8",
"selectedForeground": "#546e7a", "selectedForeground": "#546e7a",
"selectedBackground": "#F4F4F4" "selectedBackground": "#EEEEEE"
}, },
"Header": { "Header": {
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#eae8e8", "borderColor": "#FFFFFF",
"inactiveBackground": "#FAFAFA" "inactiveBackground": "#FAFAFA"
}, },
"HeaderCloseButton": { "HeaderCloseButton": {
@@ -719,13 +731,13 @@
}, },
"HeaderTab": { "HeaderTab": {
"hoverBackground": "#E7E7E8", "hoverBackground": "#E7E7E8",
"hoverInactiveBackground": "#eae8e8", "hoverInactiveBackground": "#FFFFFF",
"inactiveUnderlineColor": "#00BCD4", "inactiveUnderlineColor": "#00BCD4",
"selectedBackground": "#F4F4F4", "selectedBackground": "#EEEEEE",
"selectedInactiveBackground": "#F4F4F4", "selectedInactiveBackground": "#EEEEEE",
"underlineColor": "#00BCD4", "underlineColor": "#00BCD4",
"underlinedTabBackground": "#E7E7E8", "underlinedTabBackground": "#E7E7E8",
"underlinedTabInactiveBackground": "#eae8e8" "underlinedTabInactiveBackground": "#FFFFFF"
} }
}, },
"Tree": { "Tree": {
@@ -734,10 +746,10 @@
"hash": "#d3e1e8", "hash": "#d3e1e8",
"modifiedItemForeground": "#00BCD4", "modifiedItemForeground": "#00BCD4",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#80CBC480", "selectionBackground": "#80CBC470",
"selectionForeground": "#546e7a", "selectionForeground": "#546e7a",
"selectionInactiveForeground": "#546e7a", "selectionInactiveForeground": "#546e7a",
"selectionInactiveBackground": "#80CBC48025", "selectionInactiveBackground": "#80CBC425",
"textBackground": "#FAFAFA" "textBackground": "#FAFAFA"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#94A7B0", "Commit.unmatchedForeground": "#94A7B0",
"Commit.currentBranchBackground": "#80CBC480" "Commit.currentBranchBackground": "#FFFFFF"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#546e7a", "foreground": "#546e7a",
@@ -782,22 +794,22 @@
}, },
"Viewport": { "Viewport": {
"background": "#FAFAFA", "background": "#FAFAFA",
"foreground": "%fc" "foreground": "#546E7A"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#FAFAFA", "background": "#FAFAFA",
"borderColor": "#FAFAFA", "borderColor": "#FAFAFA",
"captionBackground": "#F4F4F4", "captionBackground": "#EEEEEE",
"captionForeground": "#546E7A", "captionForeground": "#546E7A",
"footerBackground": "#F4F4F4", "footerBackground": "#EEEEEE",
"footerForeground": "#546E7A", "footerForeground": "#546E7A",
"headerBackground": "#FAFAFA", "headerBackground": "#FAFAFA",
"headerForeground": "#546E7A", "headerForeground": "#546E7A",
"separatorColor": "#d3e1e8", "separatorColor": "#d3e1e8",
"Projects": { "Projects": {
"background": "#eae8e8", "background": "#FFFFFF",
"selectionBackground": "#80CBC4", "selectionBackground": "#80CBC4",
"selectionInactiveBackground": "#eae8e8" "selectionInactiveBackground": "#FFFFFF"
} }
}, },
"window": "#FAFAFA", "window": "#FAFAFA",
@@ -807,7 +819,7 @@
}, },
"icons": { "icons": {
"ColorPalette": { "ColorPalette": {
"#43494A": "#F4F4F4", "#43494A": "#EEEEEE",
"#6B6B6B": "#94A7B0", "#6B6B6B": "#94A7B0",
"#A7A7A7": "#FAFAFA", "#A7A7A7": "#FAFAFA",
"#3D6185": "#00BCD4", "#3D6185": "#00BCD4",
@@ -824,10 +836,10 @@
"Actions.GreyInline.Dark": "#546E7A", "Actions.GreyInline.Dark": "#546E7A",
"Actions.Red": "#E53935", "Actions.Red": "#E53935",
"Actions.Yellow": "#F6A434", "Actions.Yellow": "#F6A434",
"Checkbox.Background.Default": "#F4F4F4", "Checkbox.Background.Default": "#EEEEEE",
"Checkbox.Background.Default.Dark": "#F4F4F4", "Checkbox.Background.Default.Dark": "#EEEEEE",
"Checkbox.Background.Disabled": "#eae8e8", "Checkbox.Background.Disabled": "#CCD7DA",
"Checkbox.Background.Disabled.Dark": "#eae8e8", "Checkbox.Background.Disabled.Dark": "#CCD7DA",
"Checkbox.Border.Default": "#d3e1e8", "Checkbox.Border.Default": "#d3e1e8",
"Checkbox.Border.Default.Dark": "#d3e1e8", "Checkbox.Border.Default.Dark": "#d3e1e8",
"Checkbox.Border.Disabled": "#D2D4D5", "Checkbox.Border.Disabled": "#D2D4D5",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#00BCD4", "Checkbox.Focus.Wide.Dark": "#00BCD4",
"Checkbox.Foreground.Disabled": "#D2D4D5", "Checkbox.Foreground.Disabled": "#D2D4D5",
"Checkbox.Foreground.Disabled.Dark": "#D2D4D5", "Checkbox.Foreground.Disabled.Dark": "#D2D4D5",
"Checkbox.Background.Selected": "#00BCD4", "Checkbox.Background.Selected": "#FAFAFA",
"Checkbox.Background.Selected.Dark": "#00BCD4", "Checkbox.Background.Selected.Dark": "#FAFAFA",
"Checkbox.Border.Selected": "#00BCD4", "Checkbox.Border.Selected": "#00BCD4",
"Checkbox.Border.Selected.Dark": "#00BCD4", "Checkbox.Border.Selected.Dark": "#00BCD4",
"Checkbox.Foreground.Selected": "#546E7A", "Checkbox.Foreground.Selected": "#00BCD4",
"Checkbox.Foreground.Selected.Dark": "#546E7A", "Checkbox.Foreground.Selected.Dark": "#00BCD4",
"Checkbox.Focus.Thin.Selected": "#546E7A", "Checkbox.Focus.Thin.Selected": "#546E7A",
"Checkbox.Focus.Thin.Selected.Dark": "#546E7A", "Checkbox.Focus.Thin.Selected.Dark": "#546E7A",
"Objects.Grey": "#AABFC9", "Objects.Grey": "#AABFC9",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#546E7A", "Objects.BlackText": "#546E7A",
"Objects.YellowDark": "#F76D47", "Objects.YellowDark": "#F76D47",
"Objects.GreenAndroid": "#91B859" "Objects.GreenAndroid": "#91B859"
} }
} }
} }

View File

@@ -110,14 +110,13 @@
"background": "#32424A", "background": "#32424A",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"infoForeground": "#607D8B", "infoForeground": "#607D8B",
"matchForeground": "#0096882", "matchForeground": "#009688",
"matchSelectionForeground": "#009688", "matchSelectionForeground": "#009688",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#546E7A70",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#607D8B", "selectionInactiveInfoForeground": "#607D8B",
"selectionInactiveBackground": "#425B67", "selectionInactiveBackground": "#546E7A50",
"selectionBackground": "#546E7A80", "selectionBackground": "#546E7A80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#415967", "inactiveUnderlineColor": "#415967",
"inactiveMaskColor": "#1E272C", "inactiveMaskColor": "#1E272C",
"underlineColor": "#009688", "underlineColor": "#009688",
"underlinedTabBackground":"#314549" "underlinedTabBackground": "#314549"
}, },
"Desktop.background": "#263238", "Desktop.background": "#263238",
"DialogWrapper.southPanelBackground": "#263238", "DialogWrapper.southPanelBackground": "#263238",
@@ -194,13 +193,22 @@
"hoverColor": "#425B67", "hoverColor": "#425B67",
"hoverMaskColor": "#425B67", "hoverMaskColor": "#425B67",
"inactiveMaskColor": "#263238", "inactiveMaskColor": "#263238",
"inactiveColoredFileBackground": "#263238",
"inactiveUnderlineColor": "#415967", "inactiveUnderlineColor": "#415967",
"selectedForeground": "#B0BEC5", "selectedForeground": "#B0BEC5",
"selectedBackground": "#314549", "selectedBackground": "#314549",
"underlineColor": "#009688", "underlineColor": "#009688",
"underlinedTabBackground": "#314549" "underlinedTabBackground": "#314549"
}, },
"EditorGroupsTabs": {
"background": "#263238",
"borderColor": "#32424A",
"hoverBackground": "#425B67",
"hoverColor": "#425B67",
"inactiveUnderlineColor": "#009688",
"underlineColor": "#009688",
"underlinedTabBackground": "#314549",
"underlinedTabForeground": "#B0BEC5"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#32424A", "background": "#32424A",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#546E7A", "selectionBackground": "#546E7A50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#546E7A7025" "selectionInactiveBackground": "#546E7A25"
}, },
"material": { "material": {
"background": "#263238", "background": "#263238",
@@ -533,7 +541,7 @@
"background": "#263238" "background": "#263238"
}, },
"List": { "List": {
"separatorForeground": "#B0BEC5", "separatorForeground": "#607D8B",
"separatorColor": "#2A373E" "separatorColor": "#2A373E"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#263238", "background": "#263238",
"buttonBorderColor": "#009688",
"buttonColor": "#009688",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#32424A", "tickColor": "#32424A",
"trackColor": "#314549",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#009688" "thumb": "#009688"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#009688"
}, },
"TabbedPane.mt.tab.background": "#1E272C", "TabbedPane.mt.tab.background": "#1E272C",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#32424A", "lightSelectionInactiveBackground": "#32424A",
"selectionBackground": "#314549", "selectionBackground": "#314549",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#546E7A7025", "selectionInactiveBackground": "#314549",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#B0BEC5", "sortIconColor": "#B0BEC5",
"stripeColor": "#1E272C" "stripeColor": "#1E272C"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#1E272C", "background": "#1E272C",
"Button.hoverBackground": "#425B67", "Button.hoverBackground": "#425B67",
"inactiveBackground": "#32424A", "inactiveBackground": "#263238",
"infoForeground": "#607D8B", "infoForeground": "#607D8B",
"inactiveInfoForeground": "#607D8B" "inactiveInfoForeground": "#607D8B"
}, },
@@ -737,7 +749,7 @@
"selectionBackground": "#546E7A70", "selectionBackground": "#546E7A70",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#546E7A7025", "selectionInactiveBackground": "#546E7A25",
"textBackground": "#1E272C" "textBackground": "#1E272C"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#607D8B", "Commit.unmatchedForeground": "#607D8B",
"Commit.currentBranchBackground": "#546E7A70" "Commit.currentBranchBackground": "#32424A"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#1E272C", "background": "#1E272C",
"foreground": "%fc" "foreground": "#B0BEC5"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#263238", "background": "#263238",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#009688", "Checkbox.Focus.Wide.Dark": "#009688",
"Checkbox.Foreground.Disabled": "#415967", "Checkbox.Foreground.Disabled": "#415967",
"Checkbox.Foreground.Disabled.Dark": "#415967", "Checkbox.Foreground.Disabled.Dark": "#415967",
"Checkbox.Background.Selected": "#009688", "Checkbox.Background.Selected": "#263238",
"Checkbox.Background.Selected.Dark": "#009688", "Checkbox.Background.Selected.Dark": "#263238",
"Checkbox.Border.Selected": "#009688", "Checkbox.Border.Selected": "#009688",
"Checkbox.Border.Selected.Dark": "#009688", "Checkbox.Border.Selected.Dark": "#009688",
"Checkbox.Foreground.Selected": "#B0BEC5", "Checkbox.Foreground.Selected": "#009688",
"Checkbox.Foreground.Selected.Dark": "#B0BEC5", "Checkbox.Foreground.Selected.Dark": "#009688",
"Checkbox.Focus.Thin.Selected": "#B0BEC5", "Checkbox.Focus.Thin.Selected": "#B0BEC5",
"Checkbox.Focus.Thin.Selected.Dark": "#B0BEC5", "Checkbox.Focus.Thin.Selected.Dark": "#B0BEC5",
"Objects.Grey": "#546e7a", "Objects.Grey": "#546e7a",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#B0BEC5", "Objects.BlackText": "#B0BEC5",
"Objects.YellowDark": "#f78c6c", "Objects.YellowDark": "#f78c6c",
"Objects.GreenAndroid": "#c3e88d" "Objects.GreenAndroid": "#c3e88d"
} }
} }
} }

View File

@@ -110,14 +110,13 @@
"background": "#32424A", "background": "#32424A",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"infoForeground": "#607D8B", "infoForeground": "#607D8B",
"matchForeground": "#0096882", "matchForeground": "#009688",
"matchSelectionForeground": "#009688", "matchSelectionForeground": "#009688",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#546E7A70",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#607D8B", "selectionInactiveInfoForeground": "#607D8B",
"selectionInactiveBackground": "#425B67", "selectionInactiveBackground": "#546E7A50",
"selectionBackground": "#546E7A80", "selectionBackground": "#546E7A80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#415967", "inactiveUnderlineColor": "#415967",
"inactiveMaskColor": "#263238", "inactiveMaskColor": "#263238",
"underlineColor": "#009688", "underlineColor": "#009688",
"underlinedTabBackground":"#314549" "underlinedTabBackground": "#314549"
}, },
"Desktop.background": "#263238", "Desktop.background": "#263238",
"DialogWrapper.southPanelBackground": "#263238", "DialogWrapper.southPanelBackground": "#263238",
@@ -194,13 +193,22 @@
"hoverColor": "#425B67", "hoverColor": "#425B67",
"hoverMaskColor": "#425B67", "hoverMaskColor": "#425B67",
"inactiveMaskColor": "#263238", "inactiveMaskColor": "#263238",
"inactiveColoredFileBackground": "#263238",
"inactiveUnderlineColor": "#415967", "inactiveUnderlineColor": "#415967",
"selectedForeground": "#B0BEC5", "selectedForeground": "#B0BEC5",
"selectedBackground": "#314549", "selectedBackground": "#314549",
"underlineColor": "#009688", "underlineColor": "#009688",
"underlinedTabBackground": "#314549" "underlinedTabBackground": "#314549"
}, },
"EditorGroupsTabs": {
"background": "#263238",
"borderColor": "#32424A",
"hoverBackground": "#425B67",
"hoverColor": "#425B67",
"inactiveUnderlineColor": "#009688",
"underlineColor": "#009688",
"underlinedTabBackground": "#314549",
"underlinedTabForeground": "#B0BEC5"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#32424A", "background": "#32424A",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"selectionBackground": "#546E7A", "selectionBackground": "#546E7A50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#546E7A7025" "selectionInactiveBackground": "#546E7A25"
}, },
"material": { "material": {
"background": "#263238", "background": "#263238",
@@ -533,7 +541,7 @@
"background": "#263238" "background": "#263238"
}, },
"List": { "List": {
"separatorForeground": "#B0BEC5", "separatorForeground": "#607D8B",
"separatorColor": "#2A373E" "separatorColor": "#2A373E"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#263238", "background": "#263238",
"buttonBorderColor": "#009688",
"buttonColor": "#009688",
"foreground": "#B0BEC5", "foreground": "#B0BEC5",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#32424A", "tickColor": "#32424A",
"trackColor": "#314549",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#009688" "thumb": "#009688"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#009688"
}, },
"TabbedPane.mt.tab.background": "#263238", "TabbedPane.mt.tab.background": "#263238",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#32424A", "lightSelectionInactiveBackground": "#32424A",
"selectionBackground": "#314549", "selectionBackground": "#314549",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#546E7A7025", "selectionInactiveBackground": "#314549",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#B0BEC5", "sortIconColor": "#B0BEC5",
"stripeColor": "#1E272C" "stripeColor": "#1E272C"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#1E272C", "background": "#1E272C",
"Button.hoverBackground": "#425B67", "Button.hoverBackground": "#425B67",
"inactiveBackground": "#32424A", "inactiveBackground": "#263238",
"infoForeground": "#607D8B", "infoForeground": "#607D8B",
"inactiveInfoForeground": "#607D8B" "inactiveInfoForeground": "#607D8B"
}, },
@@ -737,7 +749,7 @@
"selectionBackground": "#546E7A70", "selectionBackground": "#546E7A70",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#546E7A7025", "selectionInactiveBackground": "#546E7A25",
"textBackground": "#263238" "textBackground": "#263238"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#607D8B", "Commit.unmatchedForeground": "#607D8B",
"Commit.currentBranchBackground": "#546E7A70" "Commit.currentBranchBackground": "#32424A"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#263238", "background": "#263238",
"foreground": "%fc" "foreground": "#B0BEC5"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#263238", "background": "#263238",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#009688", "Checkbox.Focus.Wide.Dark": "#009688",
"Checkbox.Foreground.Disabled": "#415967", "Checkbox.Foreground.Disabled": "#415967",
"Checkbox.Foreground.Disabled.Dark": "#415967", "Checkbox.Foreground.Disabled.Dark": "#415967",
"Checkbox.Background.Selected": "#009688", "Checkbox.Background.Selected": "#263238",
"Checkbox.Background.Selected.Dark": "#009688", "Checkbox.Background.Selected.Dark": "#263238",
"Checkbox.Border.Selected": "#009688", "Checkbox.Border.Selected": "#009688",
"Checkbox.Border.Selected.Dark": "#009688", "Checkbox.Border.Selected.Dark": "#009688",
"Checkbox.Foreground.Selected": "#B0BEC5", "Checkbox.Foreground.Selected": "#009688",
"Checkbox.Foreground.Selected.Dark": "#B0BEC5", "Checkbox.Foreground.Selected.Dark": "#009688",
"Checkbox.Focus.Thin.Selected": "#B0BEC5", "Checkbox.Focus.Thin.Selected": "#B0BEC5",
"Checkbox.Focus.Thin.Selected.Dark": "#B0BEC5", "Checkbox.Focus.Thin.Selected.Dark": "#B0BEC5",
"Objects.Grey": "#546e7a", "Objects.Grey": "#546e7a",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#B0BEC5", "Objects.BlackText": "#B0BEC5",
"Objects.YellowDark": "#f78c6c", "Objects.YellowDark": "#f78c6c",
"Objects.GreenAndroid": "#c3e88d" "Objects.GreenAndroid": "#c3e88d"
} }
} }
} }

View File

@@ -110,14 +110,13 @@
"background": "#34324a", "background": "#34324a",
"foreground": "#A6ACCD", "foreground": "#A6ACCD",
"infoForeground": "#676E95", "infoForeground": "#676E95",
"matchForeground": "#ab47bc2", "matchForeground": "#ab47bc",
"matchSelectionForeground": "#ab47bc", "matchSelectionForeground": "#ab47bc",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#676E9570",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#676E95", "selectionInactiveInfoForeground": "#676E95",
"selectionInactiveBackground": "#444267", "selectionInactiveBackground": "#3C435E50",
"selectionBackground": "#3C435E80", "selectionBackground": "#3C435E80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#515772", "inactiveUnderlineColor": "#515772",
"inactiveMaskColor": "#202331", "inactiveMaskColor": "#202331",
"underlineColor": "#ab47bc", "underlineColor": "#ab47bc",
"underlinedTabBackground":"#414863" "underlinedTabBackground": "#414863"
}, },
"Desktop.background": "#292D3E", "Desktop.background": "#292D3E",
"DialogWrapper.southPanelBackground": "#292D3E", "DialogWrapper.southPanelBackground": "#292D3E",
@@ -194,13 +193,22 @@
"hoverColor": "#444267", "hoverColor": "#444267",
"hoverMaskColor": "#444267", "hoverMaskColor": "#444267",
"inactiveMaskColor": "#292D3E", "inactiveMaskColor": "#292D3E",
"inactiveColoredFileBackground": "#292D3E",
"inactiveUnderlineColor": "#515772", "inactiveUnderlineColor": "#515772",
"selectedForeground": "#A6ACCD", "selectedForeground": "#A6ACCD",
"selectedBackground": "#414863", "selectedBackground": "#414863",
"underlineColor": "#ab47bc", "underlineColor": "#ab47bc",
"underlinedTabBackground": "#414863" "underlinedTabBackground": "#414863"
}, },
"EditorGroupsTabs": {
"background": "#292D3E",
"borderColor": "#34324a",
"hoverBackground": "#444267",
"hoverColor": "#444267",
"inactiveUnderlineColor": "#ab47bc",
"underlineColor": "#ab47bc",
"underlinedTabBackground": "#414863",
"underlinedTabForeground": "#A6ACCD"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#34324a", "background": "#34324a",
"foreground": "#A6ACCD", "foreground": "#A6ACCD",
"selectionBackground": "#3C435E", "selectionBackground": "#3C435E50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#676E957025" "selectionInactiveBackground": "#676E9525"
}, },
"material": { "material": {
"background": "#292D3E", "background": "#292D3E",
@@ -533,7 +541,7 @@
"background": "#292D3E" "background": "#292D3E"
}, },
"List": { "List": {
"separatorForeground": "#A6ACCD", "separatorForeground": "#676E95",
"separatorColor": "#2b2a3e" "separatorColor": "#2b2a3e"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#292D3E", "background": "#292D3E",
"buttonBorderColor": "#ab47bc",
"buttonColor": "#ab47bc",
"foreground": "#A6ACCD", "foreground": "#A6ACCD",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#34324a", "tickColor": "#34324a",
"trackColor": "#414863",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#ab47bc" "thumb": "#ab47bc"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#ab47bc"
}, },
"TabbedPane.mt.tab.background": "#202331", "TabbedPane.mt.tab.background": "#202331",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#34324a", "lightSelectionInactiveBackground": "#34324a",
"selectionBackground": "#414863", "selectionBackground": "#414863",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#676E957025", "selectionInactiveBackground": "#414863",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#A6ACCD", "sortIconColor": "#A6ACCD",
"stripeColor": "#202331" "stripeColor": "#202331"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#202331", "background": "#202331",
"Button.hoverBackground": "#444267", "Button.hoverBackground": "#444267",
"inactiveBackground": "#34324a", "inactiveBackground": "#292D3E",
"infoForeground": "#676E95", "infoForeground": "#676E95",
"inactiveInfoForeground": "#676E95" "inactiveInfoForeground": "#676E95"
}, },
@@ -737,7 +749,7 @@
"selectionBackground": "#676E9570", "selectionBackground": "#676E9570",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#676E957025", "selectionInactiveBackground": "#676E9525",
"textBackground": "#202331" "textBackground": "#202331"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#676E95", "Commit.unmatchedForeground": "#676E95",
"Commit.currentBranchBackground": "#676E9570" "Commit.currentBranchBackground": "#34324a"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#202331", "background": "#202331",
"foreground": "%fc" "foreground": "#A6ACCD"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#292D3E", "background": "#292D3E",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#ab47bc", "Checkbox.Focus.Wide.Dark": "#ab47bc",
"Checkbox.Foreground.Disabled": "#515772", "Checkbox.Foreground.Disabled": "#515772",
"Checkbox.Foreground.Disabled.Dark": "#515772", "Checkbox.Foreground.Disabled.Dark": "#515772",
"Checkbox.Background.Selected": "#ab47bc", "Checkbox.Background.Selected": "#292D3E",
"Checkbox.Background.Selected.Dark": "#ab47bc", "Checkbox.Background.Selected.Dark": "#292D3E",
"Checkbox.Border.Selected": "#ab47bc", "Checkbox.Border.Selected": "#ab47bc",
"Checkbox.Border.Selected.Dark": "#ab47bc", "Checkbox.Border.Selected.Dark": "#ab47bc",
"Checkbox.Foreground.Selected": "#A6ACCD", "Checkbox.Foreground.Selected": "#ab47bc",
"Checkbox.Foreground.Selected.Dark": "#A6ACCD", "Checkbox.Foreground.Selected.Dark": "#ab47bc",
"Checkbox.Focus.Thin.Selected": "#A6ACCD", "Checkbox.Focus.Thin.Selected": "#A6ACCD",
"Checkbox.Focus.Thin.Selected.Dark": "#A6ACCD", "Checkbox.Focus.Thin.Selected.Dark": "#A6ACCD",
"Objects.Grey": "#676E95", "Objects.Grey": "#676E95",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#A6ACCD", "Objects.BlackText": "#A6ACCD",
"Objects.YellowDark": "#f78c6c", "Objects.YellowDark": "#f78c6c",
"Objects.GreenAndroid": "#c3e88d" "Objects.GreenAndroid": "#c3e88d"
} }
} }
} }

View File

@@ -110,14 +110,13 @@
"background": "#34324a", "background": "#34324a",
"foreground": "#A6ACCD", "foreground": "#A6ACCD",
"infoForeground": "#676E95", "infoForeground": "#676E95",
"matchForeground": "#ab47bc2", "matchForeground": "#ab47bc",
"matchSelectionForeground": "#ab47bc", "matchSelectionForeground": "#ab47bc",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#676E9570",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#676E95", "selectionInactiveInfoForeground": "#676E95",
"selectionInactiveBackground": "#444267", "selectionInactiveBackground": "#3C435E50",
"selectionBackground": "#3C435E80", "selectionBackground": "#3C435E80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
@@ -165,7 +164,7 @@
"inactiveUnderlineColor": "#515772", "inactiveUnderlineColor": "#515772",
"inactiveMaskColor": "#292D3E", "inactiveMaskColor": "#292D3E",
"underlineColor": "#ab47bc", "underlineColor": "#ab47bc",
"underlinedTabBackground":"#414863" "underlinedTabBackground": "#414863"
}, },
"Desktop.background": "#292D3E", "Desktop.background": "#292D3E",
"DialogWrapper.southPanelBackground": "#292D3E", "DialogWrapper.southPanelBackground": "#292D3E",
@@ -194,13 +193,22 @@
"hoverColor": "#444267", "hoverColor": "#444267",
"hoverMaskColor": "#444267", "hoverMaskColor": "#444267",
"inactiveMaskColor": "#292D3E", "inactiveMaskColor": "#292D3E",
"inactiveColoredFileBackground": "#292D3E",
"inactiveUnderlineColor": "#515772", "inactiveUnderlineColor": "#515772",
"selectedForeground": "#A6ACCD", "selectedForeground": "#A6ACCD",
"selectedBackground": "#414863", "selectedBackground": "#414863",
"underlineColor": "#ab47bc", "underlineColor": "#ab47bc",
"underlinedTabBackground": "#414863" "underlinedTabBackground": "#414863"
}, },
"EditorGroupsTabs": {
"background": "#292D3E",
"borderColor": "#34324a",
"hoverBackground": "#444267",
"hoverColor": "#444267",
"inactiveUnderlineColor": "#ab47bc",
"underlineColor": "#ab47bc",
"underlinedTabBackground": "#414863",
"underlinedTabForeground": "#A6ACCD"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -283,10 +291,10 @@
"List": { "List": {
"background": "#34324a", "background": "#34324a",
"foreground": "#A6ACCD", "foreground": "#A6ACCD",
"selectionBackground": "#3C435E", "selectionBackground": "#3C435E50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#676E957025" "selectionInactiveBackground": "#676E9525"
}, },
"material": { "material": {
"background": "#292D3E", "background": "#292D3E",
@@ -533,7 +541,7 @@
"background": "#292D3E" "background": "#292D3E"
}, },
"List": { "List": {
"separatorForeground": "#A6ACCD", "separatorForeground": "#676E95",
"separatorColor": "#2b2a3e" "separatorColor": "#2b2a3e"
}, },
"SearchField": { "SearchField": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#292D3E", "background": "#292D3E",
"buttonBorderColor": "#ab47bc",
"buttonColor": "#ab47bc",
"foreground": "#A6ACCD", "foreground": "#A6ACCD",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#34324a", "tickColor": "#34324a",
"trackColor": "#414863",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#ab47bc" "thumb": "#ab47bc"
}, },
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#ab47bc"
}, },
"TabbedPane.mt.tab.background": "#292D3E", "TabbedPane.mt.tab.background": "#292D3E",
"Table": { "Table": {
@@ -626,7 +638,7 @@
"lightSelectionInactiveBackground": "#34324a", "lightSelectionInactiveBackground": "#34324a",
"selectionBackground": "#414863", "selectionBackground": "#414863",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#676E957025", "selectionInactiveBackground": "#414863",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#A6ACCD", "sortIconColor": "#A6ACCD",
"stripeColor": "#202331" "stripeColor": "#202331"
@@ -672,7 +684,7 @@
"TitlePane": { "TitlePane": {
"background": "#202331", "background": "#202331",
"Button.hoverBackground": "#444267", "Button.hoverBackground": "#444267",
"inactiveBackground": "#34324a", "inactiveBackground": "#292D3E",
"infoForeground": "#676E95", "infoForeground": "#676E95",
"inactiveInfoForeground": "#676E95" "inactiveInfoForeground": "#676E95"
}, },
@@ -737,7 +749,7 @@
"selectionBackground": "#676E9570", "selectionBackground": "#676E9570",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#676E957025", "selectionInactiveBackground": "#676E9525",
"textBackground": "#292D3E" "textBackground": "#292D3E"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
@@ -773,7 +785,7 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#676E95", "Commit.unmatchedForeground": "#676E95",
"Commit.currentBranchBackground": "#676E9570" "Commit.currentBranchBackground": "#34324a"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
@@ -782,7 +794,7 @@
}, },
"Viewport": { "Viewport": {
"background": "#292D3E", "background": "#292D3E",
"foreground": "%fc" "foreground": "#A6ACCD"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#292D3E", "background": "#292D3E",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#ab47bc", "Checkbox.Focus.Wide.Dark": "#ab47bc",
"Checkbox.Foreground.Disabled": "#515772", "Checkbox.Foreground.Disabled": "#515772",
"Checkbox.Foreground.Disabled.Dark": "#515772", "Checkbox.Foreground.Disabled.Dark": "#515772",
"Checkbox.Background.Selected": "#ab47bc", "Checkbox.Background.Selected": "#292D3E",
"Checkbox.Background.Selected.Dark": "#ab47bc", "Checkbox.Background.Selected.Dark": "#292D3E",
"Checkbox.Border.Selected": "#ab47bc", "Checkbox.Border.Selected": "#ab47bc",
"Checkbox.Border.Selected.Dark": "#ab47bc", "Checkbox.Border.Selected.Dark": "#ab47bc",
"Checkbox.Foreground.Selected": "#A6ACCD", "Checkbox.Foreground.Selected": "#ab47bc",
"Checkbox.Foreground.Selected.Dark": "#A6ACCD", "Checkbox.Foreground.Selected.Dark": "#ab47bc",
"Checkbox.Focus.Thin.Selected": "#A6ACCD", "Checkbox.Focus.Thin.Selected": "#A6ACCD",
"Checkbox.Focus.Thin.Selected.Dark": "#A6ACCD", "Checkbox.Focus.Thin.Selected.Dark": "#A6ACCD",
"Objects.Grey": "#676E95", "Objects.Grey": "#676E95",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#A6ACCD", "Objects.BlackText": "#A6ACCD",
"Objects.YellowDark": "#f78c6c", "Objects.YellowDark": "#f78c6c",
"Objects.GreenAndroid": "#c3e88d" "Objects.GreenAndroid": "#c3e88d"
} }
} }
} }

View File

@@ -9,15 +9,15 @@
"background": "#2D2A2E", "background": "#2D2A2E",
"borderColor": "#2d2a2e", "borderColor": "#2d2a2e",
"disabledBackground": "#3a3a3c", "disabledBackground": "#3a3a3c",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"disabledText": "#727072", "disabledText": "#5b595c",
"focusColor": "#5b595c", "focusColor": "#5b595c",
"focusedBorderColor": "#ffd866", "focusedBorderColor": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveBackground": "#3a3a3c", "inactiveBackground": "#3a3a3c",
"inactiveForeground": "#939293", "inactiveForeground": "#939293",
"infoForeground": "#939293", "infoForeground": "#939293",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionBackgroundInactive": "#403E41", "selectionBackgroundInactive": "#403E41",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#403E41", "selectionInactiveBackground": "#403E41",
@@ -31,7 +31,7 @@
"pressedBorderColor": "#ffd86650" "pressedBorderColor": "#ffd86650"
}, },
"Autocomplete": { "Autocomplete": {
"selectionBackground": "#5B595C" "selectionBackground": "#6E6C6F"
}, },
"Borders.ContrastBorderColor": "#2D2A2E", "Borders.ContrastBorderColor": "#2D2A2E",
"Borders.color": "#2d2a2e", "Borders.color": "#2d2a2e",
@@ -49,7 +49,7 @@
"startBorderColor": "#4A474B" "startBorderColor": "#4A474B"
}, },
"disabledBorderColor": "#403E41", "disabledBorderColor": "#403E41",
"disabledText": "#727072", "disabledText": "#5b595c",
"endBackground": "#403E41", "endBackground": "#403E41",
"endBorderColor": "#403E41", "endBorderColor": "#403E41",
"focus": "#5b595c", "focus": "#5b595c",
@@ -68,7 +68,7 @@
}, },
"CheckBox": { "CheckBox": {
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledText": "#727072", "disabledText": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"select": "#ffd866" "select": "#ffd866"
}, },
@@ -77,9 +77,9 @@
"acceleratorSelectionForeground": "#939293", "acceleratorSelectionForeground": "#939293",
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledBackground": "#2D2A2E", "disabledBackground": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"ColorChooser": { "ColorChooser": {
@@ -91,13 +91,13 @@
"ComboBox": { "ComboBox": {
"ArrowButton": { "ArrowButton": {
"background": "#403E41", "background": "#403E41",
"disabledIconColor": "#727072", "disabledIconColor": "#5b595c",
"iconColor": "#fcfcfa", "iconColor": "#fcfcfa",
"nonEditableBackground": "#2D2A2E" "nonEditableBackground": "#2D2A2E"
}, },
"background": "#221F22", "background": "#3a3a3c",
"buttonBackground": "#403E41", "buttonBackground": "#403E41",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"modifiedItemForeground": "#ffd866", "modifiedItemForeground": "#ffd866",
"nonEditableBackground": "#403E41", "nonEditableBackground": "#403E41",
@@ -110,15 +110,14 @@
"background": "#403E41", "background": "#403E41",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"infoForeground": "#939293", "infoForeground": "#939293",
"matchForeground": "#ffd8662", "matchForeground": "#ffd866",
"matchSelectionForeground": "#ffd866", "matchSelectionForeground": "#ffd866",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#403E41",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#939293", "selectionInactiveInfoForeground": "#939293",
"selectionInactiveBackground": "#5b595c", "selectionInactiveBackground": "#6E6C6F50",
"selectionBackground": "#5B595C80", "selectionBackground": "#6E6C6F80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
@@ -160,12 +159,12 @@
"background": "#2D2A2E", "background": "#2D2A2E",
"borderColor": "#2D2A2E", "borderColor": "#2D2A2E",
"hoverBackground": "#4A474B", "hoverBackground": "#4A474B",
"hoverColor": "#221F22", "hoverColor": "#3a3a3c",
"hoverMaskColor": "#5b595c", "hoverMaskColor": "#5b595c",
"inactiveUnderlineColor": "#727072", "inactiveUnderlineColor": "#5b595c",
"inactiveMaskColor": "#221F22", "inactiveMaskColor": "#3a3a3c",
"underlineColor": "#ffd866", "underlineColor": "#ffd866",
"underlinedTabBackground":"#4A474B" "underlinedTabBackground": "#4A474B"
}, },
"Desktop.background": "#2D2A2E", "Desktop.background": "#2D2A2E",
"DialogWrapper.southPanelBackground": "#2D2A2E", "DialogWrapper.southPanelBackground": "#2D2A2E",
@@ -176,17 +175,17 @@
"areaForeground": "#fcfcfa" "areaForeground": "#fcfcfa"
}, },
"Editor": { "Editor": {
"background": "#221F22", "background": "#3a3a3c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"shortcutForeground": "#939293" "shortcutForeground": "#939293"
}, },
"EditorPane": { "EditorPane": {
"background": "#221F22", "background": "#3a3a3c",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveBackground": "#2D2A2E", "inactiveBackground": "#2D2A2E",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"EditorTabs": { "EditorTabs": {
@@ -194,13 +193,22 @@
"hoverColor": "#5b595c", "hoverColor": "#5b595c",
"hoverMaskColor": "#5b595c", "hoverMaskColor": "#5b595c",
"inactiveMaskColor": "#2D2A2E", "inactiveMaskColor": "#2D2A2E",
"inactiveColoredFileBackground": "#2D2A2E", "inactiveUnderlineColor": "#5b595c",
"inactiveUnderlineColor": "#727072",
"selectedForeground": "#fcfcfa", "selectedForeground": "#fcfcfa",
"selectedBackground": "#4A474B", "selectedBackground": "#4A474B",
"underlineColor": "#ffd866", "underlineColor": "#ffd866",
"underlinedTabBackground": "#4A474B" "underlinedTabBackground": "#4A474B"
}, },
"EditorGroupsTabs": {
"background": "#2D2A2E",
"borderColor": "#403E41",
"hoverBackground": "#5b595c",
"hoverColor": "#5b595c",
"inactiveUnderlineColor": "#ffd866",
"underlineColor": "#ffd866",
"underlinedTabBackground": "#4A474B",
"underlinedTabForeground": "#fcfcfa"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -221,11 +229,11 @@
}, },
"Focus.color": "#2d2a2e", "Focus.color": "#2d2a2e",
"FormattedTextField": { "FormattedTextField": {
"background": "#221F22", "background": "#3a3a3c",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveBackground": "#403E41", "inactiveBackground": "#403E41",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionForeground": "#ffd866", "selectionForeground": "#ffd866",
"selectionBackground": "#4A474B" "selectionBackground": "#4A474B"
}, },
@@ -239,7 +247,7 @@
}, },
"HeaderColor": { "HeaderColor": {
"active": "#2D2A2E", "active": "#2D2A2E",
"inactive": "#221F22" "inactive": "#3a3a3c"
}, },
"HelpTooltip": { "HelpTooltip": {
"background": "#2D2A2E", "background": "#2D2A2E",
@@ -266,9 +274,9 @@
}, },
"Label": { "Label": {
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"disabledShadow": "#2D2A2E", "disabledShadow": "#2D2A2E",
"disabledText": "#727072", "disabledText": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"infoForeground": "#939293", "infoForeground": "#939293",
"selectedForeground": "#ffd866" "selectedForeground": "#ffd866"
@@ -283,7 +291,7 @@
"List": { "List": {
"background": "#403E41", "background": "#403E41",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#ffd866", "selectionInactiveForeground": "#ffd866",
"selectionInactiveBackground": "#403E4125" "selectionInactiveBackground": "#403E4125"
@@ -291,7 +299,7 @@
"material": { "material": {
"background": "#2D2A2E", "background": "#2D2A2E",
"branchColor": "#fcfcfa", "branchColor": "#fcfcfa",
"contrast": "#221F22", "contrast": "#3a3a3c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"mergeCommits": "#403E41", "mergeCommits": "#403E41",
"primaryColor": "#939293", "primaryColor": "#939293",
@@ -312,22 +320,22 @@
"border": "4,2,4,2", "border": "4,2,4,2",
"borderColor": "#403E41", "borderColor": "#403E41",
"disabledBackground": "#403E41", "disabledBackground": "#403E41",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"separatorColor": "#2d2a2e" "separatorColor": "#2d2a2e"
}, },
"MenuBar": { "MenuBar": {
"background": "#221F22", "background": "#3a3a3c",
"borderColor": "#2D2A2E", "borderColor": "#2D2A2E",
"disabledBackground": "#2D2A2E", "disabledBackground": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"highlight": "#2D2A2E", "highlight": "#2D2A2E",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"shadow": "#221F22" "shadow": "#3a3a3c"
}, },
"MenuItem": { "MenuItem": {
"acceleratorForeground": "#939293", "acceleratorForeground": "#939293",
@@ -335,9 +343,9 @@
"border": "4,2,4,2", "border": "4,2,4,2",
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledBackground": "#2D2A2E", "disabledBackground": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"NavBar": { "NavBar": {
@@ -349,7 +357,7 @@
"background": "#2D2A2E" "background": "#2D2A2E"
}, },
"SearchField": { "SearchField": {
"background": "#221F22" "background": "#3a3a3c"
} }
}, },
"Notification": { "Notification": {
@@ -390,26 +398,26 @@
"borderColor": "#4A474B", "borderColor": "#4A474B",
"currentOverloadBackground": "#4A474B", "currentOverloadBackground": "#4A474B",
"currentParameterForeground": "#ffd866", "currentParameterForeground": "#ffd866",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"infoForeground": "#939293", "infoForeground": "#939293",
"lineSeparatorColor": "#4A474B" "lineSeparatorColor": "#4A474B"
}, },
"PasswordField": { "PasswordField": {
"background": "#221F22", "background": "#3a3a3c",
"capsLockIconColor": "#ffd866", "capsLockIconColor": "#ffd866",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"Plugins": { "Plugins": {
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"eapTagBackground": "#5b595c", "eapTagBackground": "#5b595c",
"lightSelectionBackground": "#5B595C", "lightSelectionBackground": "#6E6C6F",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"tagForeground": "#ffd866", "tagForeground": "#ffd866",
"tagBackground": "#5b595c", "tagBackground": "#5b595c",
"Button": { "Button": {
@@ -424,7 +432,7 @@
"updateForeground": "#fcfcfa" "updateForeground": "#fcfcfa"
}, },
"SearchField": { "SearchField": {
"background": "#221F22", "background": "#3a3a3c",
"borderColor": "#2d2a2e" "borderColor": "#2d2a2e"
}, },
"SectionHeader": { "SectionHeader": {
@@ -443,19 +451,19 @@
"borderColor": "#2D2A2E", "borderColor": "#2D2A2E",
"foreground": "#ffd866" "foreground": "#ffd866"
}, },
"borderColor": "#221F22", "borderColor": "#3a3a3c",
"inactiveBorderColor": "#2D2A2E", "inactiveBorderColor": "#2D2A2E",
"innerBorderColor": "#403E41", "innerBorderColor": "#403E41",
"Header": { "Header": {
"activeBackground": "#2D2A2E", "activeBackground": "#2D2A2E",
"inactiveBackground": "#221F22" "inactiveBackground": "#3a3a3c"
}, },
"paintBorder": true, "paintBorder": true,
"separatorForeground": "#fcfcfa", "separatorForeground": "#fcfcfa",
"separatorColor": "#403E41", "separatorColor": "#403E41",
"Toolbar": { "Toolbar": {
"background": "#221F22", "background": "#3a3a3c",
"borderColor": "#221F22" "borderColor": "#3a3a3c"
} }
}, },
"PopupMenu": { "PopupMenu": {
@@ -477,7 +485,7 @@
}, },
"RadioButton": { "RadioButton": {
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledText": "#727072", "disabledText": "#5b595c",
"foreground": "#fcfcfa" "foreground": "#fcfcfa"
}, },
"RadioButtonMenuItem": { "RadioButtonMenuItem": {
@@ -485,9 +493,9 @@
"acceleratorSelectionForeground": "#939293", "acceleratorSelectionForeground": "#939293",
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledBackground": "#2D2A2E", "disabledBackground": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ScrollBar": { "ScrollBar": {
@@ -526,19 +534,19 @@
}, },
"SearchEverywhere": { "SearchEverywhere": {
"Advertiser": { "Advertiser": {
"background": "#221F22", "background": "#3a3a3c",
"foreground": "#939293" "foreground": "#939293"
}, },
"Header": { "Header": {
"background": "#2D2A2E" "background": "#2D2A2E"
}, },
"List": { "List": {
"separatorForeground": "#fcfcfa", "separatorForeground": "#939293",
"separatorColor": "#2d2a2e" "separatorColor": "#2d2a2e"
}, },
"SearchField": { "SearchField": {
"background": "#2D2A2E", "background": "#2D2A2E",
"borderColor": "#221F22", "borderColor": "#3a3a3c",
"infoForeground": "#939293" "infoForeground": "#939293"
}, },
"Tab": { "Tab": {
@@ -557,13 +565,16 @@
"separatorColor": "#403E41" "separatorColor": "#403E41"
}, },
"SidePanel": { "SidePanel": {
"background": "#221F22" "background": "#3a3a3c"
}, },
"Slider": { "Slider": {
"background": "#2D2A2E", "background": "#2D2A2E",
"buttonBorderColor": "#ffd866",
"buttonColor": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#403E41", "tickColor": "#403E41",
"trackColor": "#4A474B",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#ffd866" "thumb": "#ffd866"
}, },
@@ -581,7 +592,7 @@
}, },
"SplitPane": { "SplitPane": {
"background": "#2D2A2E", "background": "#2D2A2E",
"highlight": "#221F22" "highlight": "#3a3a3c"
}, },
"SplitPaneDivider.draggingColor": "#403E41", "SplitPaneDivider.draggingColor": "#403E41",
"StatusBar": { "StatusBar": {
@@ -592,8 +603,8 @@
"contentAreaColor": "#5b595c", "contentAreaColor": "#5b595c",
"contentBorderInsets": "3,1,1,1", "contentBorderInsets": "3,1,1,1",
"darkShadow": "#2d2a2e", "darkShadow": "#2d2a2e",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"disabledUnderlineColor": "#727072", "disabledUnderlineColor": "#5b595c",
"focus": "#4A474B", "focus": "#4A474B",
"focusColor": "#4A474B", "focusColor": "#4A474B",
"fontSizeOffset": 0, "fontSizeOffset": 0,
@@ -607,9 +618,10 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#ffd866"
}, },
"TabbedPane.mt.tab.background": "#221F22", "TabbedPane.mt.tab.background": "#3a3a3c",
"Table": { "Table": {
"background": "#2D2A2E", "background": "#2D2A2E",
"cellNoFocusBorder": "10,5,10,5", "cellNoFocusBorder": "10,5,10,5",
@@ -626,10 +638,10 @@
"lightSelectionInactiveBackground": "#403E41", "lightSelectionInactiveBackground": "#403E41",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866", "selectionForeground": "#ffd866",
"selectionInactiveBackground": "#403E4125", "selectionInactiveBackground": "#4A474B",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#fcfcfa", "sortIconColor": "#fcfcfa",
"stripeColor": "#221F22" "stripeColor": "#3a3a3c"
}, },
"TableHeader": { "TableHeader": {
"background": "#2D2A2E", "background": "#2D2A2E",
@@ -646,33 +658,33 @@
"textInactiveText": "#939293", "textInactiveText": "#939293",
"textText": "#939293", "textText": "#939293",
"TextArea": { "TextArea": {
"background": "#221F22", "background": "#3a3a3c",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"TextField": { "TextField": {
"background": "#221F22", "background": "#3a3a3c",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"TextPane": { "TextPane": {
"background": "#221F22", "background": "#3a3a3c",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"TitlePane": { "TitlePane": {
"background": "#221F22", "background": "#3a3a3c",
"Button.hoverBackground": "#5b595c", "Button.hoverBackground": "#5b595c",
"inactiveBackground": "#403E41", "inactiveBackground": "#2D2A2E",
"infoForeground": "#939293", "infoForeground": "#939293",
"inactiveInfoForeground": "#939293" "inactiveInfoForeground": "#939293"
}, },
@@ -680,7 +692,7 @@
"ToggleButton": { "ToggleButton": {
"borderColor": "#403E41", "borderColor": "#403E41",
"buttonColor": "#fcfcfa", "buttonColor": "#fcfcfa",
"disabledText": "#727072", "disabledText": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"offForeground": "#2D2A2E", "offForeground": "#2D2A2E",
"offBackground": "#2D2A2E", "offBackground": "#2D2A2E",
@@ -688,7 +700,7 @@
"onForeground": "#ffd866" "onForeground": "#ffd866"
}, },
"ToolBar": { "ToolBar": {
"background": "#221F22", "background": "#3a3a3c",
"borderHandleColor": "#939293", "borderHandleColor": "#939293",
"floatingForeground": "#939293", "floatingForeground": "#939293",
"foreground": "#fcfcfa" "foreground": "#fcfcfa"
@@ -707,7 +719,7 @@
"Button": { "Button": {
"hoverBackground": "#4A474B", "hoverBackground": "#4A474B",
"selectedForeground": "#ffd866", "selectedForeground": "#ffd866",
"selectedBackground": "#221F22" "selectedBackground": "#3a3a3c"
}, },
"Header": { "Header": {
"background": "#2D2A2E", "background": "#2D2A2E",
@@ -721,24 +733,24 @@
"hoverBackground": "#5b595c", "hoverBackground": "#5b595c",
"hoverInactiveBackground": "#403E41", "hoverInactiveBackground": "#403E41",
"inactiveUnderlineColor": "#ffd866", "inactiveUnderlineColor": "#ffd866",
"selectedBackground": "#221F22", "selectedBackground": "#3a3a3c",
"selectedInactiveBackground": "#221F22", "selectedInactiveBackground": "#3a3a3c",
"underlineColor": "#ffd866", "underlineColor": "#ffd866",
"underlinedTabBackground": "#5b595c", "underlinedTabBackground": "#5b595c",
"underlinedTabInactiveBackground": "#403E41" "underlinedTabInactiveBackground": "#403E41"
} }
}, },
"Tree": { "Tree": {
"background": "#221F22", "background": "#3a3a3c",
"foreground": "#939293", "foreground": "#939293",
"hash": "#2d2a2e", "hash": "#2d2a2e",
"modifiedItemForeground": "#ffd866", "modifiedItemForeground": "#ffd866",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#403E41", "selectionBackground": "#403E4170",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#403E4125", "selectionInactiveBackground": "#403E4125",
"textBackground": "#221F22" "textBackground": "#3a3a3c"
}, },
"Tree.leftChildIndent": 10, "Tree.leftChildIndent": 10,
"Tree.rightChildIndent": 5, "Tree.rightChildIndent": 5,
@@ -765,7 +777,7 @@
"HgLog": { "HgLog": {
"branchIconColor": "#ffd866", "branchIconColor": "#ffd866",
"bookmarkIconColor": "#ffd866", "bookmarkIconColor": "#ffd866",
"closedBranchIconColor": "#727072", "closedBranchIconColor": "#5b595c",
"localTagIconColor": "#939293", "localTagIconColor": "#939293",
"mqTagIconColor": "#939293", "mqTagIconColor": "#939293",
"tagIconColor": "#939293", "tagIconColor": "#939293",
@@ -781,40 +793,40 @@
} }
}, },
"Viewport": { "Viewport": {
"background": "#221F22", "background": "#3a3a3c",
"foreground": "%fc" "foreground": "#fcfcfa"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#2D2A2E", "background": "#2D2A2E",
"borderColor": "#2D2A2E", "borderColor": "#2D2A2E",
"captionBackground": "#221F22", "captionBackground": "#3a3a3c",
"captionForeground": "#fcfcfa", "captionForeground": "#fcfcfa",
"footerBackground": "#221F22", "footerBackground": "#3a3a3c",
"footerForeground": "#fcfcfa", "footerForeground": "#fcfcfa",
"headerBackground": "#2D2A2E", "headerBackground": "#2D2A2E",
"headerForeground": "#fcfcfa", "headerForeground": "#fcfcfa",
"separatorColor": "#2d2a2e", "separatorColor": "#2d2a2e",
"Projects": { "Projects": {
"background": "#403E41", "background": "#403E41",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionInactiveBackground": "#403E41" "selectionInactiveBackground": "#403E41"
} }
}, },
"window": "#221F22", "window": "#3a3a3c",
"windowBorder": "#2d2a2e", "windowBorder": "#2d2a2e",
"windowText": "#939293", "windowText": "#939293",
"Window.border": "#2d2a2e" "Window.border": "#2d2a2e"
}, },
"icons": { "icons": {
"ColorPalette": { "ColorPalette": {
"#43494A": "#221F22", "#43494A": "#3a3a3c",
"#6B6B6B": "#939293", "#6B6B6B": "#939293",
"#A7A7A7": "#2D2A2E", "#A7A7A7": "#2D2A2E",
"#3D6185": "#ffd866", "#3D6185": "#ffd866",
"#466D94": "#ffd866", "#466D94": "#ffd866",
"#3C3F41": "#2D2A2E", "#3C3F41": "#2D2A2E",
"#545556": "#727072", "#545556": "#5b595c",
"#606060": "#727072", "#606060": "#5b595c",
"#9AA7B0": "#fcfcfa", "#9AA7B0": "#fcfcfa",
"#675133": "#ffd866", "#675133": "#ffd866",
"Actions.Blue": "#A9DC76", "Actions.Blue": "#A9DC76",
@@ -824,26 +836,26 @@
"Actions.GreyInline.Dark": "#fcfcfa", "Actions.GreyInline.Dark": "#fcfcfa",
"Actions.Red": "#FF6188", "Actions.Red": "#FF6188",
"Actions.Yellow": "#78DCE8", "Actions.Yellow": "#78DCE8",
"Checkbox.Background.Default": "#221F22", "Checkbox.Background.Default": "#3a3a3c",
"Checkbox.Background.Default.Dark": "#221F22", "Checkbox.Background.Default.Dark": "#3a3a3c",
"Checkbox.Background.Disabled": "#3a3a3c", "Checkbox.Background.Disabled": "#3a3a3c",
"Checkbox.Background.Disabled.Dark": "#3a3a3c", "Checkbox.Background.Disabled.Dark": "#3a3a3c",
"Checkbox.Border.Default": "#2d2a2e", "Checkbox.Border.Default": "#2d2a2e",
"Checkbox.Border.Default.Dark": "#2d2a2e", "Checkbox.Border.Default.Dark": "#2d2a2e",
"Checkbox.Border.Disabled": "#727072", "Checkbox.Border.Disabled": "#5b595c",
"Checkbox.Border.Disabled.Dark": "#727072", "Checkbox.Border.Disabled.Dark": "#5b595c",
"Checkbox.Focus.Thin.Default": "#ffd866", "Checkbox.Focus.Thin.Default": "#ffd866",
"Checkbox.Focus.Thin.Default.Dark": "#ffd866", "Checkbox.Focus.Thin.Default.Dark": "#ffd866",
"Checkbox.Focus.Wide": "#ffd866", "Checkbox.Focus.Wide": "#ffd866",
"Checkbox.Focus.Wide.Dark": "#ffd866", "Checkbox.Focus.Wide.Dark": "#ffd866",
"Checkbox.Foreground.Disabled": "#727072", "Checkbox.Foreground.Disabled": "#5b595c",
"Checkbox.Foreground.Disabled.Dark": "#727072", "Checkbox.Foreground.Disabled.Dark": "#5b595c",
"Checkbox.Background.Selected": "#ffd866", "Checkbox.Background.Selected": "#2D2A2E",
"Checkbox.Background.Selected.Dark": "#ffd866", "Checkbox.Background.Selected.Dark": "#2D2A2E",
"Checkbox.Border.Selected": "#ffd866", "Checkbox.Border.Selected": "#ffd866",
"Checkbox.Border.Selected.Dark": "#ffd866", "Checkbox.Border.Selected.Dark": "#ffd866",
"Checkbox.Foreground.Selected": "#fcfcfa", "Checkbox.Foreground.Selected": "#ffd866",
"Checkbox.Foreground.Selected.Dark": "#fcfcfa", "Checkbox.Foreground.Selected.Dark": "#ffd866",
"Checkbox.Focus.Thin.Selected": "#fcfcfa", "Checkbox.Focus.Thin.Selected": "#fcfcfa",
"Checkbox.Focus.Thin.Selected.Dark": "#fcfcfa", "Checkbox.Focus.Thin.Selected.Dark": "#fcfcfa",
"Objects.Grey": "#727072", "Objects.Grey": "#727072",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#fcfcfa", "Objects.BlackText": "#fcfcfa",
"Objects.YellowDark": "#AB9DF2", "Objects.YellowDark": "#AB9DF2",
"Objects.GreenAndroid": "#FFD866" "Objects.GreenAndroid": "#FFD866"
} }
} }
} }

View File

@@ -9,15 +9,15 @@
"background": "#2D2A2E", "background": "#2D2A2E",
"borderColor": "#2d2a2e", "borderColor": "#2d2a2e",
"disabledBackground": "#3a3a3c", "disabledBackground": "#3a3a3c",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"disabledText": "#727072", "disabledText": "#5b595c",
"focusColor": "#5b595c", "focusColor": "#5b595c",
"focusedBorderColor": "#ffd866", "focusedBorderColor": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveBackground": "#3a3a3c", "inactiveBackground": "#3a3a3c",
"inactiveForeground": "#939293", "inactiveForeground": "#939293",
"infoForeground": "#939293", "infoForeground": "#939293",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionBackgroundInactive": "#403E41", "selectionBackgroundInactive": "#403E41",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#403E41", "selectionInactiveBackground": "#403E41",
@@ -31,7 +31,7 @@
"pressedBorderColor": "#ffd86650" "pressedBorderColor": "#ffd86650"
}, },
"Autocomplete": { "Autocomplete": {
"selectionBackground": "#5B595C" "selectionBackground": "#6E6C6F"
}, },
"Borders.ContrastBorderColor": "#2D2A2E", "Borders.ContrastBorderColor": "#2D2A2E",
"Borders.color": "#2d2a2e", "Borders.color": "#2d2a2e",
@@ -49,7 +49,7 @@
"startBorderColor": "#4A474B" "startBorderColor": "#4A474B"
}, },
"disabledBorderColor": "#403E41", "disabledBorderColor": "#403E41",
"disabledText": "#727072", "disabledText": "#5b595c",
"endBackground": "#403E41", "endBackground": "#403E41",
"endBorderColor": "#403E41", "endBorderColor": "#403E41",
"focus": "#5b595c", "focus": "#5b595c",
@@ -68,7 +68,7 @@
}, },
"CheckBox": { "CheckBox": {
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledText": "#727072", "disabledText": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"select": "#ffd866" "select": "#ffd866"
}, },
@@ -77,9 +77,9 @@
"acceleratorSelectionForeground": "#939293", "acceleratorSelectionForeground": "#939293",
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledBackground": "#2D2A2E", "disabledBackground": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"ColorChooser": { "ColorChooser": {
@@ -91,13 +91,13 @@
"ComboBox": { "ComboBox": {
"ArrowButton": { "ArrowButton": {
"background": "#403E41", "background": "#403E41",
"disabledIconColor": "#727072", "disabledIconColor": "#5b595c",
"iconColor": "#fcfcfa", "iconColor": "#fcfcfa",
"nonEditableBackground": "#2D2A2E" "nonEditableBackground": "#2D2A2E"
}, },
"background": "#2D2A2E", "background": "#2D2A2E",
"buttonBackground": "#403E41", "buttonBackground": "#403E41",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"modifiedItemForeground": "#ffd866", "modifiedItemForeground": "#ffd866",
"nonEditableBackground": "#403E41", "nonEditableBackground": "#403E41",
@@ -110,15 +110,14 @@
"background": "#403E41", "background": "#403E41",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"infoForeground": "#939293", "infoForeground": "#939293",
"matchForeground": "#ffd8662", "matchForeground": "#ffd866",
"matchSelectionForeground": "#ffd866", "matchSelectionForeground": "#ffd866",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#403E41",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#939293", "selectionInactiveInfoForeground": "#939293",
"selectionInactiveBackground": "#5b595c", "selectionInactiveBackground": "#6E6C6F50",
"selectionBackground": "#5B595C80", "selectionBackground": "#6E6C6F80",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
@@ -162,10 +161,10 @@
"hoverBackground": "#4A474B", "hoverBackground": "#4A474B",
"hoverColor": "#2D2A2E", "hoverColor": "#2D2A2E",
"hoverMaskColor": "#5b595c", "hoverMaskColor": "#5b595c",
"inactiveUnderlineColor": "#727072", "inactiveUnderlineColor": "#5b595c",
"inactiveMaskColor": "#2D2A2E", "inactiveMaskColor": "#2D2A2E",
"underlineColor": "#ffd866", "underlineColor": "#ffd866",
"underlinedTabBackground":"#4A474B" "underlinedTabBackground": "#4A474B"
}, },
"Desktop.background": "#2D2A2E", "Desktop.background": "#2D2A2E",
"DialogWrapper.southPanelBackground": "#2D2A2E", "DialogWrapper.southPanelBackground": "#2D2A2E",
@@ -185,8 +184,8 @@
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveBackground": "#2D2A2E", "inactiveBackground": "#2D2A2E",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"EditorTabs": { "EditorTabs": {
@@ -194,13 +193,22 @@
"hoverColor": "#5b595c", "hoverColor": "#5b595c",
"hoverMaskColor": "#5b595c", "hoverMaskColor": "#5b595c",
"inactiveMaskColor": "#2D2A2E", "inactiveMaskColor": "#2D2A2E",
"inactiveColoredFileBackground": "#2D2A2E", "inactiveUnderlineColor": "#5b595c",
"inactiveUnderlineColor": "#727072",
"selectedForeground": "#fcfcfa", "selectedForeground": "#fcfcfa",
"selectedBackground": "#4A474B", "selectedBackground": "#4A474B",
"underlineColor": "#ffd866", "underlineColor": "#ffd866",
"underlinedTabBackground": "#4A474B" "underlinedTabBackground": "#4A474B"
}, },
"EditorGroupsTabs": {
"background": "#2D2A2E",
"borderColor": "#403E41",
"hoverBackground": "#5b595c",
"hoverColor": "#5b595c",
"inactiveUnderlineColor": "#ffd866",
"underlineColor": "#ffd866",
"underlinedTabBackground": "#4A474B",
"underlinedTabForeground": "#fcfcfa"
},
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
"Blue": "#004BA0", "Blue": "#004BA0",
@@ -225,7 +233,7 @@
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveBackground": "#403E41", "inactiveBackground": "#403E41",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionForeground": "#ffd866", "selectionForeground": "#ffd866",
"selectionBackground": "#4A474B" "selectionBackground": "#4A474B"
}, },
@@ -239,7 +247,7 @@
}, },
"HeaderColor": { "HeaderColor": {
"active": "#2D2A2E", "active": "#2D2A2E",
"inactive": "#221F22" "inactive": "#3a3a3c"
}, },
"HelpTooltip": { "HelpTooltip": {
"background": "#2D2A2E", "background": "#2D2A2E",
@@ -266,9 +274,9 @@
}, },
"Label": { "Label": {
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"disabledShadow": "#2D2A2E", "disabledShadow": "#2D2A2E",
"disabledText": "#727072", "disabledText": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"infoForeground": "#939293", "infoForeground": "#939293",
"selectedForeground": "#ffd866" "selectedForeground": "#ffd866"
@@ -283,7 +291,7 @@
"List": { "List": {
"background": "#403E41", "background": "#403E41",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F50",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#ffd866", "selectionInactiveForeground": "#ffd866",
"selectionInactiveBackground": "#403E4125" "selectionInactiveBackground": "#403E4125"
@@ -291,7 +299,7 @@
"material": { "material": {
"background": "#2D2A2E", "background": "#2D2A2E",
"branchColor": "#fcfcfa", "branchColor": "#fcfcfa",
"contrast": "#221F22", "contrast": "#3a3a3c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"mergeCommits": "#403E41", "mergeCommits": "#403E41",
"primaryColor": "#939293", "primaryColor": "#939293",
@@ -312,9 +320,9 @@
"border": "4,2,4,2", "border": "4,2,4,2",
"borderColor": "#403E41", "borderColor": "#403E41",
"disabledBackground": "#403E41", "disabledBackground": "#403E41",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"separatorColor": "#2d2a2e" "separatorColor": "#2d2a2e"
}, },
@@ -322,10 +330,10 @@
"background": "#2D2A2E", "background": "#2D2A2E",
"borderColor": "#2D2A2E", "borderColor": "#2D2A2E",
"disabledBackground": "#2D2A2E", "disabledBackground": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"highlight": "#2D2A2E", "highlight": "#2D2A2E",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"shadow": "#2D2A2E" "shadow": "#2D2A2E"
}, },
@@ -335,9 +343,9 @@
"border": "4,2,4,2", "border": "4,2,4,2",
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledBackground": "#2D2A2E", "disabledBackground": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"NavBar": { "NavBar": {
@@ -390,7 +398,7 @@
"borderColor": "#4A474B", "borderColor": "#4A474B",
"currentOverloadBackground": "#4A474B", "currentOverloadBackground": "#4A474B",
"currentParameterForeground": "#ffd866", "currentParameterForeground": "#ffd866",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"infoForeground": "#939293", "infoForeground": "#939293",
"lineSeparatorColor": "#4A474B" "lineSeparatorColor": "#4A474B"
@@ -400,16 +408,16 @@
"capsLockIconColor": "#ffd866", "capsLockIconColor": "#ffd866",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"Plugins": { "Plugins": {
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"eapTagBackground": "#5b595c", "eapTagBackground": "#5b595c",
"lightSelectionBackground": "#5B595C", "lightSelectionBackground": "#6E6C6F",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"tagForeground": "#ffd866", "tagForeground": "#ffd866",
"tagBackground": "#5b595c", "tagBackground": "#5b595c",
"Button": { "Button": {
@@ -443,19 +451,19 @@
"borderColor": "#2D2A2E", "borderColor": "#2D2A2E",
"foreground": "#ffd866" "foreground": "#ffd866"
}, },
"borderColor": "#221F22", "borderColor": "#3a3a3c",
"inactiveBorderColor": "#2D2A2E", "inactiveBorderColor": "#2D2A2E",
"innerBorderColor": "#403E41", "innerBorderColor": "#403E41",
"Header": { "Header": {
"activeBackground": "#2D2A2E", "activeBackground": "#2D2A2E",
"inactiveBackground": "#221F22" "inactiveBackground": "#3a3a3c"
}, },
"paintBorder": true, "paintBorder": true,
"separatorForeground": "#fcfcfa", "separatorForeground": "#fcfcfa",
"separatorColor": "#403E41", "separatorColor": "#403E41",
"Toolbar": { "Toolbar": {
"background": "#221F22", "background": "#3a3a3c",
"borderColor": "#221F22" "borderColor": "#3a3a3c"
} }
}, },
"PopupMenu": { "PopupMenu": {
@@ -477,7 +485,7 @@
}, },
"RadioButton": { "RadioButton": {
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledText": "#727072", "disabledText": "#5b595c",
"foreground": "#fcfcfa" "foreground": "#fcfcfa"
}, },
"RadioButtonMenuItem": { "RadioButtonMenuItem": {
@@ -485,9 +493,9 @@
"acceleratorSelectionForeground": "#939293", "acceleratorSelectionForeground": "#939293",
"background": "#2D2A2E", "background": "#2D2A2E",
"disabledBackground": "#2D2A2E", "disabledBackground": "#2D2A2E",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ScrollBar": { "ScrollBar": {
@@ -526,19 +534,19 @@
}, },
"SearchEverywhere": { "SearchEverywhere": {
"Advertiser": { "Advertiser": {
"background": "#221F22", "background": "#3a3a3c",
"foreground": "#939293" "foreground": "#939293"
}, },
"Header": { "Header": {
"background": "#2D2A2E" "background": "#2D2A2E"
}, },
"List": { "List": {
"separatorForeground": "#fcfcfa", "separatorForeground": "#939293",
"separatorColor": "#2d2a2e" "separatorColor": "#2d2a2e"
}, },
"SearchField": { "SearchField": {
"background": "#2D2A2E", "background": "#2D2A2E",
"borderColor": "#221F22", "borderColor": "#3a3a3c",
"infoForeground": "#939293" "infoForeground": "#939293"
}, },
"Tab": { "Tab": {
@@ -561,9 +569,12 @@
}, },
"Slider": { "Slider": {
"background": "#2D2A2E", "background": "#2D2A2E",
"buttonBorderColor": "#ffd866",
"buttonColor": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#403E41", "tickColor": "#403E41",
"trackColor": "#4A474B",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#ffd866" "thumb": "#ffd866"
}, },
@@ -592,8 +603,8 @@
"contentAreaColor": "#5b595c", "contentAreaColor": "#5b595c",
"contentBorderInsets": "3,1,1,1", "contentBorderInsets": "3,1,1,1",
"darkShadow": "#2d2a2e", "darkShadow": "#2d2a2e",
"disabledForeground": "#727072", "disabledForeground": "#5b595c",
"disabledUnderlineColor": "#727072", "disabledUnderlineColor": "#5b595c",
"focus": "#4A474B", "focus": "#4A474B",
"focusColor": "#4A474B", "focusColor": "#4A474B",
"fontSizeOffset": 0, "fontSizeOffset": 0,
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#ffd866"
}, },
"TabbedPane.mt.tab.background": "#2D2A2E", "TabbedPane.mt.tab.background": "#2D2A2E",
"Table": { "Table": {
@@ -626,10 +638,10 @@
"lightSelectionInactiveBackground": "#403E41", "lightSelectionInactiveBackground": "#403E41",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866", "selectionForeground": "#ffd866",
"selectionInactiveBackground": "#403E4125", "selectionInactiveBackground": "#4A474B",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#fcfcfa", "sortIconColor": "#fcfcfa",
"stripeColor": "#221F22" "stripeColor": "#3a3a3c"
}, },
"TableHeader": { "TableHeader": {
"background": "#2D2A2E", "background": "#2D2A2E",
@@ -649,7 +661,7 @@
"background": "#2D2A2E", "background": "#2D2A2E",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
@@ -657,7 +669,7 @@
"background": "#2D2A2E", "background": "#2D2A2E",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
@@ -665,14 +677,14 @@
"background": "#2D2A2E", "background": "#2D2A2E",
"caretForeground": "#ffd866", "caretForeground": "#ffd866",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"inactiveForeground": "#727072", "inactiveForeground": "#5b595c",
"selectionBackground": "#4A474B", "selectionBackground": "#4A474B",
"selectionForeground": "#ffd866" "selectionForeground": "#ffd866"
}, },
"TitlePane": { "TitlePane": {
"background": "#221F22", "background": "#3a3a3c",
"Button.hoverBackground": "#5b595c", "Button.hoverBackground": "#5b595c",
"inactiveBackground": "#403E41", "inactiveBackground": "#2D2A2E",
"infoForeground": "#939293", "infoForeground": "#939293",
"inactiveInfoForeground": "#939293" "inactiveInfoForeground": "#939293"
}, },
@@ -680,7 +692,7 @@
"ToggleButton": { "ToggleButton": {
"borderColor": "#403E41", "borderColor": "#403E41",
"buttonColor": "#fcfcfa", "buttonColor": "#fcfcfa",
"disabledText": "#727072", "disabledText": "#5b595c",
"foreground": "#fcfcfa", "foreground": "#fcfcfa",
"offForeground": "#2D2A2E", "offForeground": "#2D2A2E",
"offBackground": "#2D2A2E", "offBackground": "#2D2A2E",
@@ -707,7 +719,7 @@
"Button": { "Button": {
"hoverBackground": "#4A474B", "hoverBackground": "#4A474B",
"selectedForeground": "#ffd866", "selectedForeground": "#ffd866",
"selectedBackground": "#221F22" "selectedBackground": "#3a3a3c"
}, },
"Header": { "Header": {
"background": "#2D2A2E", "background": "#2D2A2E",
@@ -721,8 +733,8 @@
"hoverBackground": "#5b595c", "hoverBackground": "#5b595c",
"hoverInactiveBackground": "#403E41", "hoverInactiveBackground": "#403E41",
"inactiveUnderlineColor": "#ffd866", "inactiveUnderlineColor": "#ffd866",
"selectedBackground": "#221F22", "selectedBackground": "#3a3a3c",
"selectedInactiveBackground": "#221F22", "selectedInactiveBackground": "#3a3a3c",
"underlineColor": "#ffd866", "underlineColor": "#ffd866",
"underlinedTabBackground": "#5b595c", "underlinedTabBackground": "#5b595c",
"underlinedTabInactiveBackground": "#403E41" "underlinedTabInactiveBackground": "#403E41"
@@ -734,7 +746,7 @@
"hash": "#2d2a2e", "hash": "#2d2a2e",
"modifiedItemForeground": "#ffd866", "modifiedItemForeground": "#ffd866",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#403E41", "selectionBackground": "#403E4170",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#403E4125", "selectionInactiveBackground": "#403E4125",
@@ -765,7 +777,7 @@
"HgLog": { "HgLog": {
"branchIconColor": "#ffd866", "branchIconColor": "#ffd866",
"bookmarkIconColor": "#ffd866", "bookmarkIconColor": "#ffd866",
"closedBranchIconColor": "#727072", "closedBranchIconColor": "#5b595c",
"localTagIconColor": "#939293", "localTagIconColor": "#939293",
"mqTagIconColor": "#939293", "mqTagIconColor": "#939293",
"tagIconColor": "#939293", "tagIconColor": "#939293",
@@ -782,21 +794,21 @@
}, },
"Viewport": { "Viewport": {
"background": "#2D2A2E", "background": "#2D2A2E",
"foreground": "%fc" "foreground": "#fcfcfa"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#2D2A2E", "background": "#2D2A2E",
"borderColor": "#2D2A2E", "borderColor": "#2D2A2E",
"captionBackground": "#221F22", "captionBackground": "#3a3a3c",
"captionForeground": "#fcfcfa", "captionForeground": "#fcfcfa",
"footerBackground": "#221F22", "footerBackground": "#3a3a3c",
"footerForeground": "#fcfcfa", "footerForeground": "#fcfcfa",
"headerBackground": "#2D2A2E", "headerBackground": "#2D2A2E",
"headerForeground": "#fcfcfa", "headerForeground": "#fcfcfa",
"separatorColor": "#2d2a2e", "separatorColor": "#2d2a2e",
"Projects": { "Projects": {
"background": "#403E41", "background": "#403E41",
"selectionBackground": "#5B595C", "selectionBackground": "#6E6C6F",
"selectionInactiveBackground": "#403E41" "selectionInactiveBackground": "#403E41"
} }
}, },
@@ -807,14 +819,14 @@
}, },
"icons": { "icons": {
"ColorPalette": { "ColorPalette": {
"#43494A": "#221F22", "#43494A": "#3a3a3c",
"#6B6B6B": "#939293", "#6B6B6B": "#939293",
"#A7A7A7": "#2D2A2E", "#A7A7A7": "#2D2A2E",
"#3D6185": "#ffd866", "#3D6185": "#ffd866",
"#466D94": "#ffd866", "#466D94": "#ffd866",
"#3C3F41": "#2D2A2E", "#3C3F41": "#2D2A2E",
"#545556": "#727072", "#545556": "#5b595c",
"#606060": "#727072", "#606060": "#5b595c",
"#9AA7B0": "#fcfcfa", "#9AA7B0": "#fcfcfa",
"#675133": "#ffd866", "#675133": "#ffd866",
"Actions.Blue": "#A9DC76", "Actions.Blue": "#A9DC76",
@@ -824,26 +836,26 @@
"Actions.GreyInline.Dark": "#fcfcfa", "Actions.GreyInline.Dark": "#fcfcfa",
"Actions.Red": "#FF6188", "Actions.Red": "#FF6188",
"Actions.Yellow": "#78DCE8", "Actions.Yellow": "#78DCE8",
"Checkbox.Background.Default": "#221F22", "Checkbox.Background.Default": "#3a3a3c",
"Checkbox.Background.Default.Dark": "#221F22", "Checkbox.Background.Default.Dark": "#3a3a3c",
"Checkbox.Background.Disabled": "#3a3a3c", "Checkbox.Background.Disabled": "#3a3a3c",
"Checkbox.Background.Disabled.Dark": "#3a3a3c", "Checkbox.Background.Disabled.Dark": "#3a3a3c",
"Checkbox.Border.Default": "#2d2a2e", "Checkbox.Border.Default": "#2d2a2e",
"Checkbox.Border.Default.Dark": "#2d2a2e", "Checkbox.Border.Default.Dark": "#2d2a2e",
"Checkbox.Border.Disabled": "#727072", "Checkbox.Border.Disabled": "#5b595c",
"Checkbox.Border.Disabled.Dark": "#727072", "Checkbox.Border.Disabled.Dark": "#5b595c",
"Checkbox.Focus.Thin.Default": "#ffd866", "Checkbox.Focus.Thin.Default": "#ffd866",
"Checkbox.Focus.Thin.Default.Dark": "#ffd866", "Checkbox.Focus.Thin.Default.Dark": "#ffd866",
"Checkbox.Focus.Wide": "#ffd866", "Checkbox.Focus.Wide": "#ffd866",
"Checkbox.Focus.Wide.Dark": "#ffd866", "Checkbox.Focus.Wide.Dark": "#ffd866",
"Checkbox.Foreground.Disabled": "#727072", "Checkbox.Foreground.Disabled": "#5b595c",
"Checkbox.Foreground.Disabled.Dark": "#727072", "Checkbox.Foreground.Disabled.Dark": "#5b595c",
"Checkbox.Background.Selected": "#ffd866", "Checkbox.Background.Selected": "#2D2A2E",
"Checkbox.Background.Selected.Dark": "#ffd866", "Checkbox.Background.Selected.Dark": "#2D2A2E",
"Checkbox.Border.Selected": "#ffd866", "Checkbox.Border.Selected": "#ffd866",
"Checkbox.Border.Selected.Dark": "#ffd866", "Checkbox.Border.Selected.Dark": "#ffd866",
"Checkbox.Foreground.Selected": "#fcfcfa", "Checkbox.Foreground.Selected": "#ffd866",
"Checkbox.Foreground.Selected.Dark": "#fcfcfa", "Checkbox.Foreground.Selected.Dark": "#ffd866",
"Checkbox.Focus.Thin.Selected": "#fcfcfa", "Checkbox.Focus.Thin.Selected": "#fcfcfa",
"Checkbox.Focus.Thin.Selected.Dark": "#fcfcfa", "Checkbox.Focus.Thin.Selected.Dark": "#fcfcfa",
"Objects.Grey": "#727072", "Objects.Grey": "#727072",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#fcfcfa", "Objects.BlackText": "#fcfcfa",
"Objects.YellowDark": "#AB9DF2", "Objects.YellowDark": "#AB9DF2",
"Objects.GreenAndroid": "#FFD866" "Objects.GreenAndroid": "#FFD866"
} }
} }
} }

View File

@@ -11,7 +11,7 @@
"disabledBackground": "#083F4D", "disabledBackground": "#083F4D",
"disabledForeground": "#2E5861", "disabledForeground": "#2E5861",
"disabledText": "#2E5861", "disabledText": "#2E5861",
"focusColor": "#11353F", "focusColor": "#005a6f",
"focusedBorderColor": "#d33682", "focusedBorderColor": "#d33682",
"foreground": "#839496", "foreground": "#839496",
"inactiveBackground": "#083F4D", "inactiveBackground": "#083F4D",
@@ -39,28 +39,28 @@
"arc": 0, "arc": 0,
"background": "#002B36", "background": "#002B36",
"default": { "default": {
"endBackground": "#11353F", "endBackground": "#003946",
"endBorderColor": "#11353F", "endBorderColor": "#003946",
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
"focusColor": "#d33682", "focusColor": "#d33682",
"focusedBorderColor": "#d33682", "focusedBorderColor": "#d33682",
"shadowColor": "#11353F", "shadowColor": "#003946",
"startBackground": "#11353F", "startBackground": "#003946",
"startBorderColor": "#11353F" "startBorderColor": "#003946"
}, },
"disabledBorderColor": "#073642", "disabledBorderColor": "#073642",
"disabledText": "#2E5861", "disabledText": "#2E5861",
"endBackground": "#073642", "endBackground": "#073642",
"endBorderColor": "#073642", "endBorderColor": "#073642",
"focus": "#11353F", "focus": "#005a6f",
"focusedBorderColor": "#d33682", "focusedBorderColor": "#d33682",
"foreground": "#586e75", "foreground": "#586e75",
"highlight": "#FFFFFF", "highlight": "#FFFFFF",
"mt.background": "#073642", "mt.background": "#073642",
"mt.foreground": "#586e75", "mt.foreground": "#586e75",
"mt.selectedForeground": "#FFFFFF", "mt.selectedForeground": "#FFFFFF",
"mt.selection.color1": "#11353F", "mt.selection.color1": "#003946",
"mt.selection.color2": "#11353F", "mt.selection.color2": "#003946",
"startBackground": "#073642", "startBackground": "#073642",
"startBorderColor": "#073642", "startBorderColor": "#073642",
"shadowColor": "#073642", "shadowColor": "#073642",
@@ -102,7 +102,7 @@
"modifiedItemForeground": "#d33682", "modifiedItemForeground": "#d33682",
"nonEditableBackground": "#003745", "nonEditableBackground": "#003745",
"padding": "5,5,5,5", "padding": "5,5,5,5",
"selectionBackground": "#11353F", "selectionBackground": "#003946",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"ComboPopup.border": "#0D3640", "ComboPopup.border": "#0D3640",
@@ -110,21 +110,20 @@
"background": "#003745", "background": "#003745",
"foreground": "#839496", "foreground": "#839496",
"infoForeground": "#586e75", "infoForeground": "#586e75",
"matchForeground": "#d336822", "matchForeground": "#d33682",
"matchSelectionForeground": "#d33682", "matchSelectionForeground": "#d33682",
"nonFocusedState": "false", "nonFocusedState": "false",
"nonFocusedMask": "#2E4C52",
"selectedGrayedForeground": "#FFFFFF", "selectedGrayedForeground": "#FFFFFF",
"selectionGrayForeground": "#FFFFFF", "selectionGrayForeground": "#FFFFFF",
"selectionInactiveInfoForeground": "#586e75", "selectionInactiveInfoForeground": "#586e75",
"selectionInactiveBackground": "#11353F", "selectionInactiveBackground": "#2E4C5250",
"selectionBackground": "#2E4C5280", "selectionBackground": "#2E4C5280",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInfoForeground": "#FFFFFF" "selectionInfoForeground": "#FFFFFF"
}, },
"Component": { "Component": {
"arc": 4, "arc": 4,
"borderColor": "#11353F", "borderColor": "#005a6f",
"disabledBorderColor": "#073642", "disabledBorderColor": "#073642",
"focusColor": "#d33682", "focusColor": "#d33682",
"focusedBorderColor": "#d33682", "focusedBorderColor": "#d33682",
@@ -150,22 +149,22 @@
} }
}, },
"DebuggerTabs": { "DebuggerTabs": {
"selectedBackground": "#11353F", "selectedBackground": "#005a6f",
"underlinedTabBackground": "#11353F" "underlinedTabBackground": "#005a6f"
}, },
"DebuggerPopup": { "DebuggerPopup": {
"borderColor": "#11353F" "borderColor": "#005a6f"
}, },
"DefaultTabs": { "DefaultTabs": {
"background": "#002B36", "background": "#002B36",
"borderColor": "#002B36", "borderColor": "#002B36",
"hoverBackground": "#11353F", "hoverBackground": "#003946",
"hoverColor": "#00252E", "hoverColor": "#00252E",
"hoverMaskColor": "#11353F", "hoverMaskColor": "#005a6f",
"inactiveUnderlineColor": "#2E5861", "inactiveUnderlineColor": "#2E5861",
"inactiveMaskColor": "#00252E", "inactiveMaskColor": "#00252E",
"underlineColor": "#d33682", "underlineColor": "#d33682",
"underlinedTabBackground":"#11353F" "underlinedTabBackground": "#003946"
}, },
"Desktop.background": "#002B36", "Desktop.background": "#002B36",
"DialogWrapper.southPanelBackground": "#002B36", "DialogWrapper.southPanelBackground": "#002B36",
@@ -191,15 +190,24 @@
}, },
"EditorTabs": { "EditorTabs": {
"borderColor": "#003745", "borderColor": "#003745",
"hoverColor": "#11353F", "hoverColor": "#005a6f",
"hoverMaskColor": "#11353F", "hoverMaskColor": "#005a6f",
"inactiveMaskColor": "#002B36", "inactiveMaskColor": "#002B36",
"inactiveColoredFileBackground": "#002B36",
"inactiveUnderlineColor": "#2E5861", "inactiveUnderlineColor": "#2E5861",
"selectedForeground": "#839496", "selectedForeground": "#839496",
"selectedBackground": "#11353F", "selectedBackground": "#003946",
"underlineColor": "#d33682", "underlineColor": "#d33682",
"underlinedTabBackground": "#11353F" "underlinedTabBackground": "#003946"
},
"EditorGroupsTabs": {
"background": "#002B36",
"borderColor": "#003745",
"hoverBackground": "#005a6f",
"hoverColor": "#005a6f",
"inactiveUnderlineColor": "#d33682",
"underlineColor": "#d33682",
"underlinedTabBackground": "#003946",
"underlinedTabForeground": "#839496"
}, },
"FileColor": { "FileColor": {
"Green": "#387002", "Green": "#387002",
@@ -227,7 +235,7 @@
"inactiveBackground": "#073642", "inactiveBackground": "#073642",
"inactiveForeground": "#2E5861", "inactiveForeground": "#2E5861",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionBackground": "#11353F" "selectionBackground": "#003946"
}, },
"Group": { "Group": {
"disabledSeparatorColor": "#0D3640", "disabledSeparatorColor": "#0D3640",
@@ -283,7 +291,7 @@
"List": { "List": {
"background": "#003745", "background": "#003745",
"foreground": "#839496", "foreground": "#839496",
"selectionBackground": "#2E4C52", "selectionBackground": "#2E4C5250",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#2E4C5225" "selectionInactiveBackground": "#2E4C5225"
@@ -302,8 +310,8 @@
}, },
"MemoryIndicator": { "MemoryIndicator": {
"allocatedBackground": "#003745", "allocatedBackground": "#003745",
"usedColor": "#11353F", "usedColor": "#005a6f",
"usedBackground": "#11353F" "usedBackground": "#005a6f"
}, },
"Menu": { "Menu": {
"acceleratorForeground": "#586e75", "acceleratorForeground": "#586e75",
@@ -387,13 +395,13 @@
}, },
"ParameterInfo": { "ParameterInfo": {
"background": "#003745", "background": "#003745",
"borderColor": "#11353F", "borderColor": "#003946",
"currentOverloadBackground": "#11353F", "currentOverloadBackground": "#003946",
"currentParameterForeground": "#d33682", "currentParameterForeground": "#d33682",
"disabledForeground": "#2E5861", "disabledForeground": "#2E5861",
"foreground": "#839496", "foreground": "#839496",
"infoForeground": "#586e75", "infoForeground": "#586e75",
"lineSeparatorColor": "#11353F" "lineSeparatorColor": "#003946"
}, },
"PasswordField": { "PasswordField": {
"background": "#00252E", "background": "#00252E",
@@ -401,22 +409,22 @@
"caretForeground": "#d33682", "caretForeground": "#d33682",
"foreground": "#839496", "foreground": "#839496",
"inactiveForeground": "#2E5861", "inactiveForeground": "#2E5861",
"selectionBackground": "#11353F", "selectionBackground": "#003946",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"Plugins": { "Plugins": {
"background": "#002B36", "background": "#002B36",
"disabledForeground": "#2E5861", "disabledForeground": "#2E5861",
"eapTagBackground": "#11353F", "eapTagBackground": "#005a6f",
"lightSelectionBackground": "#2E4C52", "lightSelectionBackground": "#2E4C52",
"selectionBackground": "#2E4C52", "selectionBackground": "#2E4C52",
"tagForeground": "#d33682", "tagForeground": "#d33682",
"tagBackground": "#11353F", "tagBackground": "#005a6f",
"Button": { "Button": {
"installBackground": "#073642", "installBackground": "#073642",
"installBorderColor": "#073642", "installBorderColor": "#073642",
"installForeground": "#839496", "installForeground": "#839496",
"installFocusedBackground": "#11353F", "installFocusedBackground": "#005a6f",
"installFillForeground": "#586e75", "installFillForeground": "#586e75",
"installFillBackground": "#073642", "installFillBackground": "#073642",
"updateBackground": "#073642", "updateBackground": "#073642",
@@ -432,9 +440,9 @@
"foreground": "#839496" "foreground": "#839496"
}, },
"Tab": { "Tab": {
"hoverBackground": "#11353F", "hoverBackground": "#003946",
"selectedForeground": "#FFFFFF", "selectedForeground": "#FFFFFF",
"selectedBackground": "#11353F" "selectedBackground": "#003946"
} }
}, },
"Popup": { "Popup": {
@@ -472,8 +480,8 @@
"indeterminateEndColor": "#d33682", "indeterminateEndColor": "#d33682",
"indeterminateStartColor": "#d33682", "indeterminateStartColor": "#d33682",
"progressColor": "#d33682", "progressColor": "#d33682",
"selectionBackground": "#11353F", "selectionBackground": "#005a6f",
"trackColor": "#11353F" "trackColor": "#005a6f"
}, },
"RadioButton": { "RadioButton": {
"background": "#002B36", "background": "#002B36",
@@ -511,7 +519,7 @@
"trackColor": "#002B3630" "trackColor": "#002B3630"
} }
}, },
"thumb": "#11353F", "thumb": "#005a6f",
"thumbBorderColor": "#d3368270", "thumbBorderColor": "#d3368270",
"thumbColor": "#d3368270", "thumbColor": "#d3368270",
"trackColor": "#002B3630", "trackColor": "#002B3630",
@@ -533,7 +541,7 @@
"background": "#002B36" "background": "#002B36"
}, },
"List": { "List": {
"separatorForeground": "#839496", "separatorForeground": "#586e75",
"separatorColor": "#0D3640" "separatorColor": "#0D3640"
}, },
"SearchField": { "SearchField": {
@@ -544,7 +552,7 @@
"Tab": { "Tab": {
"active.foreground": "#FFFFFF", "active.foreground": "#FFFFFF",
"selectedForeground": "#FFFFFF", "selectedForeground": "#FFFFFF",
"selectedBackground": "#11353F" "selectedBackground": "#005a6f"
} }
}, },
"SearchMatch": { "SearchMatch": {
@@ -561,14 +569,17 @@
}, },
"Slider": { "Slider": {
"background": "#002B36", "background": "#002B36",
"buttonBorderColor": "#d33682",
"buttonColor": "#d33682",
"foreground": "#839496", "foreground": "#839496",
"majorTickLength": 6, "majorTickLength": 6,
"tickColor": "#003745", "tickColor": "#003745",
"trackColor": "#003946",
"trackWidth": 7, "trackWidth": 7,
"thumb": "#d33682" "thumb": "#d33682"
}, },
"SpeedSearch": { "SpeedSearch": {
"background": "#11353F", "background": "#005a6f",
"borderColor": "#0D3640", "borderColor": "#0D3640",
"foreground": "#839496", "foreground": "#839496",
"errorForeground": "#839496" "errorForeground": "#839496"
@@ -589,17 +600,17 @@
}, },
"TabbedPane": { "TabbedPane": {
"background": "#002B36", "background": "#002B36",
"contentAreaColor": "#11353F", "contentAreaColor": "#005a6f",
"contentBorderInsets": "3,1,1,1", "contentBorderInsets": "3,1,1,1",
"darkShadow": "#0D3640", "darkShadow": "#0D3640",
"disabledForeground": "#2E5861", "disabledForeground": "#2E5861",
"disabledUnderlineColor": "#2E5861", "disabledUnderlineColor": "#2E5861",
"focus": "#11353F", "focus": "#003946",
"focusColor": "#11353F", "focusColor": "#003946",
"fontSizeOffset": 0, "fontSizeOffset": 0,
"foreground": "#839496", "foreground": "#839496",
"highlight": "#0D3640", "highlight": "#0D3640",
"hoverColor": "#11353F", "hoverColor": "#005a6f",
"labelShift": 0, "labelShift": 0,
"selectedForeground": "#FFFFFF", "selectedForeground": "#FFFFFF",
"selectedLabelShift": 0, "selectedLabelShift": 0,
@@ -607,7 +618,8 @@
"tabsOverlapBorder": true, "tabsOverlapBorder": true,
"tabHeight": 32, "tabHeight": 32,
"tabInsets": "5,10,5,10", "tabInsets": "5,10,5,10",
"tabSelectionHeight": 2 "tabSelectionHeight": 2,
"underlineColor": "#d33682"
}, },
"TabbedPane.mt.tab.background": "#00252E", "TabbedPane.mt.tab.background": "#00252E",
"Table": { "Table": {
@@ -616,17 +628,17 @@
"focusCellHighlightBorder": "10,5,10,5", "focusCellHighlightBorder": "10,5,10,5",
"dropLineColor": "#d33682", "dropLineColor": "#d33682",
"dropLineShortColor": "#d33682", "dropLineShortColor": "#d33682",
"focusCellBackground": "#11353F", "focusCellBackground": "#003946",
"focusCellForeground": "#FFFFFF", "focusCellForeground": "#FFFFFF",
"foreground": "#839496", "foreground": "#839496",
"gridColor": "#002B36", "gridColor": "#002B36",
"highlightOuter": "#11353F", "highlightOuter": "#003946",
"lightSelectionForeground": "#FFFFFF", "lightSelectionForeground": "#FFFFFF",
"lightSelectionInactiveForeground": "#586e75", "lightSelectionInactiveForeground": "#586e75",
"lightSelectionInactiveBackground": "#003745", "lightSelectionInactiveBackground": "#003745",
"selectionBackground": "#11353F", "selectionBackground": "#003946",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveBackground": "#2E4C5225", "selectionInactiveBackground": "#003946",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"sortIconColor": "#839496", "sortIconColor": "#839496",
"stripeColor": "#00252E" "stripeColor": "#00252E"
@@ -637,7 +649,7 @@
"bottomSeparatorColor": "#003745", "bottomSeparatorColor": "#003745",
"cellBorder": "4,0,4,0", "cellBorder": "4,0,4,0",
"foreground": "#839496", "foreground": "#839496",
"focusCellBackground": "#11353F", "focusCellBackground": "#003946",
"focusCellForeground": "#FFFFFF", "focusCellForeground": "#FFFFFF",
"height": 25, "height": 25,
"separatorColor": "#003745" "separatorColor": "#003745"
@@ -650,7 +662,7 @@
"caretForeground": "#d33682", "caretForeground": "#d33682",
"foreground": "#839496", "foreground": "#839496",
"inactiveForeground": "#2E5861", "inactiveForeground": "#2E5861",
"selectionBackground": "#11353F", "selectionBackground": "#003946",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"TextField": { "TextField": {
@@ -658,7 +670,7 @@
"caretForeground": "#d33682", "caretForeground": "#d33682",
"foreground": "#839496", "foreground": "#839496",
"inactiveForeground": "#2E5861", "inactiveForeground": "#2E5861",
"selectionBackground": "#11353F", "selectionBackground": "#003946",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"TextPane": { "TextPane": {
@@ -666,13 +678,13 @@
"caretForeground": "#d33682", "caretForeground": "#d33682",
"foreground": "#839496", "foreground": "#839496",
"inactiveForeground": "#2E5861", "inactiveForeground": "#2E5861",
"selectionBackground": "#11353F", "selectionBackground": "#003946",
"selectionForeground": "#FFFFFF" "selectionForeground": "#FFFFFF"
}, },
"TitlePane": { "TitlePane": {
"background": "#00252E", "background": "#00252E",
"Button.hoverBackground": "#11353F", "Button.hoverBackground": "#005a6f",
"inactiveBackground": "#003745", "inactiveBackground": "#002B36",
"infoForeground": "#586e75", "infoForeground": "#586e75",
"inactiveInfoForeground": "#586e75" "inactiveInfoForeground": "#586e75"
}, },
@@ -697,7 +709,7 @@
"Actions.background": "#002B36", "Actions.background": "#002B36",
"Actions.infoForeground": "#586e75", "Actions.infoForeground": "#586e75",
"background": "#002B36", "background": "#002B36",
"borderColor": "#11353F", "borderColor": "#005a6f",
"foreground": "#839496", "foreground": "#839496",
"infoForeground": "#586e75", "infoForeground": "#586e75",
"separatorColor": "#0D3640", "separatorColor": "#0D3640",
@@ -705,7 +717,7 @@
}, },
"ToolWindow": { "ToolWindow": {
"Button": { "Button": {
"hoverBackground": "#11353F", "hoverBackground": "#003946",
"selectedForeground": "#FFFFFF", "selectedForeground": "#FFFFFF",
"selectedBackground": "#00252E" "selectedBackground": "#00252E"
}, },
@@ -718,13 +730,13 @@
"background": "#002B36" "background": "#002B36"
}, },
"HeaderTab": { "HeaderTab": {
"hoverBackground": "#11353F", "hoverBackground": "#005a6f",
"hoverInactiveBackground": "#003745", "hoverInactiveBackground": "#003745",
"inactiveUnderlineColor": "#d33682", "inactiveUnderlineColor": "#d33682",
"selectedBackground": "#00252E", "selectedBackground": "#00252E",
"selectedInactiveBackground": "#00252E", "selectedInactiveBackground": "#00252E",
"underlineColor": "#d33682", "underlineColor": "#d33682",
"underlinedTabBackground": "#11353F", "underlinedTabBackground": "#005a6f",
"underlinedTabInactiveBackground": "#003745" "underlinedTabInactiveBackground": "#003745"
} }
}, },
@@ -734,7 +746,7 @@
"hash": "#0D3640", "hash": "#0D3640",
"modifiedItemForeground": "#d33682", "modifiedItemForeground": "#d33682",
"rowHeight": 28, "rowHeight": 28,
"selectionBackground": "#2E4C52", "selectionBackground": "#2E4C5270",
"selectionForeground": "#FFFFFF", "selectionForeground": "#FFFFFF",
"selectionInactiveForeground": "#FFFFFF", "selectionInactiveForeground": "#FFFFFF",
"selectionInactiveBackground": "#2E4C5225", "selectionInactiveBackground": "#2E4C5225",
@@ -773,16 +785,16 @@
}, },
"Log": { "Log": {
"Commit.unmatchedForeground": "#586e75", "Commit.unmatchedForeground": "#586e75",
"Commit.currentBranchBackground": "#2E4C52" "Commit.currentBranchBackground": "#003745"
}, },
"RefLabel": { "RefLabel": {
"foreground": "#FFFFFF", "foreground": "#FFFFFF",
"backgroundBase": "#11353F" "backgroundBase": "#005a6f"
} }
}, },
"Viewport": { "Viewport": {
"background": "#00252E", "background": "#00252E",
"foreground": "%fc" "foreground": "#839496"
}, },
"WelcomeScreen": { "WelcomeScreen": {
"background": "#002B36", "background": "#002B36",
@@ -838,12 +850,12 @@
"Checkbox.Focus.Wide.Dark": "#d33682", "Checkbox.Focus.Wide.Dark": "#d33682",
"Checkbox.Foreground.Disabled": "#2E5861", "Checkbox.Foreground.Disabled": "#2E5861",
"Checkbox.Foreground.Disabled.Dark": "#2E5861", "Checkbox.Foreground.Disabled.Dark": "#2E5861",
"Checkbox.Background.Selected": "#d33682", "Checkbox.Background.Selected": "#002B36",
"Checkbox.Background.Selected.Dark": "#d33682", "Checkbox.Background.Selected.Dark": "#002B36",
"Checkbox.Border.Selected": "#d33682", "Checkbox.Border.Selected": "#d33682",
"Checkbox.Border.Selected.Dark": "#d33682", "Checkbox.Border.Selected.Dark": "#d33682",
"Checkbox.Foreground.Selected": "#839496", "Checkbox.Foreground.Selected": "#d33682",
"Checkbox.Foreground.Selected.Dark": "#839496", "Checkbox.Foreground.Selected.Dark": "#d33682",
"Checkbox.Focus.Thin.Selected": "#839496", "Checkbox.Focus.Thin.Selected": "#839496",
"Checkbox.Focus.Thin.Selected.Dark": "#839496", "Checkbox.Focus.Thin.Selected.Dark": "#839496",
"Objects.Grey": "#657B83", "Objects.Grey": "#657B83",
@@ -857,7 +869,6 @@
"Objects.BlackText": "#839496", "Objects.BlackText": "#839496",
"Objects.YellowDark": "#D33682", "Objects.YellowDark": "#D33682",
"Objects.GreenAndroid": "#2AA198" "Objects.GreenAndroid": "#2AA198"
} }
} }
} }

Some files were not shown because too many files have changed in this diff Show More