diff --git a/src/main/java/org/jabref/gui/JabRefMaterialDesignIcon.java b/src/main/java/org/jabref/gui/JabRefMaterialDesignIcon.java
new file mode 100644
index 00000000000..c892f8f0bd1
--- /dev/null
+++ b/src/main/java/org/jabref/gui/JabRefMaterialDesignIcon.java
@@ -0,0 +1,44 @@
+package org.jabref.gui;
+
+import de.jensd.fx.glyphs.GlyphIcons;
+
+/**
+ * Provides the same true-type font interface as MaterialDesignIcon itself, but uses a font we created ourselves that
+ * contains icons that are not available in MaterialDesignIcons.
+ *
+ * @implNote The glyphs of the ttf (speak: the icons) were created with Illustrator and a template from the material design icons
+ * web-page. The art boards for each icon was exported as SVG and then converted with
+ * IcoMoon. The final TTF font is located in the resource folder.
+ * @see Tutorial on our Wiki
+ * @see Material Design Icon custom page
+ */
+public enum JabRefMaterialDesignIcon implements GlyphIcons {
+
+ TEX_STUDIO("\ue900"),
+ TEX_MAKER("\ue901"),
+ EMACS("\ue902"),
+ OPEN_OFFICE("\ue903"),
+ VIM("\ue904"),
+ LYX("\ue905"),
+ WINEDT("\ue906"),
+ ARXIV("\ue907"),
+ COPY("\ue908"),
+ PASTE("\ue909");
+
+
+ private final String unicode;
+
+ JabRefMaterialDesignIcon(String unicode) {
+ this.unicode = unicode;
+ }
+
+ @Override
+ public String unicode() {
+ return unicode;
+ }
+
+ @Override
+ public String fontFamily() {
+ return "\'JabRefMaterialDesign\'";
+ }
+}
diff --git a/src/main/java/org/jabref/gui/Main.css b/src/main/java/org/jabref/gui/Main.css
index 8ec16e91e05..68ded58af53 100644
--- a/src/main/java/org/jabref/gui/Main.css
+++ b/src/main/java/org/jabref/gui/Main.css
@@ -1,69 +1,249 @@
-/*
- * The base css file defining the style that is valid for every pane and dialog.
- */
-
.root {
+
/*
- * A strong blue to indicate something neutral.
- */
- -fx-neutral: #2980b9;
+ The theme color and some derived colors from it are used for icons, tab-headers, marking of selected inputs and
+ hover colors for the main menu. It generally defines the look of JabRef. The highlighting colors below should
+ work nicely with this base color
+ */
+
+ /*-jr-theme: #2467ab;*/
+
+ /* This theme is the original JabRef dark blue color */
+ -jr-theme: #50618F;
+ /* The base gray. Most gray-tones in the application are derived from this color. */
+ -jr-base: #f0f0f0;
+ -jr-accent: derive(-jr-theme, 50%);
+
+ -jr-white: #ffffff;
+ -jr-gray-0: #f0f0f0;
+ -jr-gray-1: #e6e6e6;
+ -jr-gray-2: #808080;
+ -jr-gray-3: #404040;
+ -jr-black: #000;
+
+ /* Highlights */
+ -jr-blue: #0abde3;
+ -jr-light-blue: #48dbfb;
+ -jr-purple: #f368e0;
+ -jr-light-purple: #ff9ff3;
+ -jr-green: #10ac84;
+ -jr-light-green: #1dd1a1;
+ -jr-red: #ee5253;
+ -jr-light-red: #ff6b6b;
+ -jr-yellow: #feca57;
+ -jr-orange: #ff9f43;
+
+ /* Some blueish greys */
+ -jr-blue-gray-1: #c8d6e5;
+ -jr-blue-gray-2: #8395a7;
+ -jr-blue-gray-3: #576574;
+ -jr-blue-gray-4: #222f3e;
+
+
+ /* maintable and group view cells*/
+ -jr-hover-cell: derive(-jr-yellow, 50%);
+ -jr-selected-cell: derive(-jr-yellow, 5%);
+ -jr-drag-target: -jr-orange;
+
+ /* Background-color of the toolbar */
+ -jr-toolbar: derive(-jr-base, 80%);
+
+ /* All icons on toolbars or next to inputs */
+ -jr-icon: -jr-theme;
+
+ /* Colors for messages and errors */
+ -jr-info: -jr-light-green;
+ -jr-warn: -jr-orange;
+ -jr-error: -jr-light-red;
+
+ /* Background-color for the small group view indicator for the number of hits */
+ -jr-group-hits-bg: -jr-gray-0;
+
+ /* Specific color for general tooltips */
+ -jr-tooltip-bg: -jr-info;
+ -jr-tooltip-fg: -jr-black;
+
+ /* Finally, some specific jr styles that depend on -fx definitions in *this* style */
+ -jr-sidepane-background: -fx-control-inner-background;
+ -jr-sidepane-header-background: -fx-background;
+ -jr-sidepane-header-color: -jr-icon;
+
+ /* Specs for the scrollbars */
+ -jr-scrollbar-thumb: -fx-outer-border;
+ -jr-scrollbar-track: -fx-control-inner-background;
/*
- * A strong green to indicate something positive.
+ Here are redefinitions of the default properties of modena. They should in principle all be derived from the
+ above colors. Goal should be to make as few as possible direct color-changes to elements and only do this for
+ very specific purposes.
*/
- -fx-positive: #27ae60;
+ -fx-base: -jr-base;
- /*
- * A strong red to indicate something negative.
+ /* A very light grey used for the background of windows. See also
+ * -fx-text-background-color, which should be used as the -fx-text-fill
+ * value for text painted on top of backgrounds colored with -fx-background.
*/
- -fx-negative: #c0392b;
+ -fx-background: derive(-fx-base, 26.4%);
- /*
- * A dark grayish blue to display information (but kind of highlighted).
+ /* Used for the inside of text boxes, password boxes, lists, trees, and
+ * tables. See also -fx-text-inner-color, which should be used as the
+ * -fx-text-fill value for text painted on top of backgrounds colored
+ * with -fx-control-inner-background.
*/
- -fx-info: #2c3e50;
+ -fx-control-inner-background: derive(-fx-base, 80%);
+ /* Version of -fx-control-inner-background for alternative rows */
+ -fx-control-inner-background-alt: derive(-fx-control-inner-background, -2%);
+
+ /* One of these colors will be chosen based upon a ladder calculation
+ * that uses the brightness of a background color. Instead of using these
+ * colors directly as -fx-text-fill values, the sections in this file should
+ * use a derived color to match the background in use. See also:
+ *
+ * -fx-text-base-color for text on top of -fx-base, -fx-color, and -fx-body-color
+ * -fx-text-background-color for text on top of -fx-background
+ * -fx-text-inner-color for text on top of -fx-control-inner-color
+ * -fx-selection-bar-text for text on top of -fx-selection-bar
+ */
+ -fx-dark-text-color: -jr-black;
+ -fx-mid-text-color: derive(-jr-base, -60%);
+ -fx-light-text-color: -jr-white;
- /*
- * A dark gray to indicate something not so important
+ /* A bright blue for highlighting/accenting objects. For example: selected
+ * text; selected items in menus, lists, trees, and tables; progress bars */
+ -fx-accent: -jr-accent;
+
+ /* Default buttons color, this is similar to accent but more subtle */
+ -fx-default-button: derive(-fx-accent, 50%);
+
+ /* A bright blue for the focus indicator of objects. Typically used as the
+ * first color in -fx-background-color for the "focused" pseudo-class. Also
+ * typically used with insets of -1.4 to provide a glowing effect.
+ */
+ -fx-focus-color: -fx-accent;
+ -fx-faint-focus-color: derive(-fx-accent, 50%);
+
+ /* The color that is used in styling controls. The default value is based
+ * on -fx-base, but is changed by pseudoclasses to change the base color.
+ * For example, the "hover" pseudoclass will typically set -fx-color to
+ * -fx-hover-base (see below) and the "armed" pseudoclass will typically
+ * set -fx-color to -fx-pressed-base.
*/
- -fx-unimportant: #595959;
+ -fx-color: -fx-base;
- /*
- * A light gray for accented background
+ -fx-hover-base: derive(-fx-base,30%);
+
+ /* A little darker than -fx-base and used as the -fx-color for the
+ * "armed" pseudoclass state.
+ *
+ * TODO: should this be renamed to -fx-armed-base?
*/
- -fx-accented-background: #dadad8;
+ -fx-pressed-base: derive(-fx-base,-6%);
- /*
- * A darker gray as background
+ /* The color to use for -fx-text-fill when text is to be painted on top of
+ * a background filled with the -fx-background color.
*/
- -fx-dark-background: #aaaaaa;
+ -fx-text-background-color: -fx-dark-text-color;
- /*
- * A strong white as background
+ /* A little darker than -fx-color and used to draw boxes around objects such
+ * as progress bars, scroll bars, scroll panes, trees, tables, and lists.
*/
- -fx-light-background: #ffffff;
+ -fx-box-border: derive(-fx-color,-5%);
- /*
- * A dark gray for borders
+ /* Darker than -fx-background and used to draw boxes around text boxes and
+ * password boxes.
*/
- -fx-border: #868786;
+ -fx-text-box-border: derive(-fx-background, -15%);
- /*
- * A light gray for background for active items in list like elements such as menus, lists, trees, and tables.
+ /* Lighter than -fx-background and used to provide a small highlight when
+ * needed on top of -fx-background. This is never a shadow in Modena but
+ * keep -fx-shadow-highlight-color name to be compatible with Caspian.
*/
- -fx-selection-bar: #e5e5e5;
+ -fx-shadow-highlight-color: rgba(255,255,255,0.07) 70%;
- /*
- * The base color for the theme
+ /* A gradient that goes from a little darker than -fx-color on the top to
+ * even more darker than -fx-color on the bottom. Typically is the second
+ * color in the -fx-background-color list as the small thin border around
+ * a control. It is typically the same size as the control (i.e., insets
+ * are 0).
*/
- -fx-theme-base: #4d4673;
+ -fx-outer-border: derive(-fx-color,-5%);
- /*
- * A slightly lighter theme-based color for backgrounds of active items (toggle button, selected list item)
+ /* A gradient that goes from a bit lighter than -fx-color on the top to
+ * a little darker at the bottom. Typically is the third color in the
+ * -fx-background-color list as a thin highlight inside the outer border.
+ * Insets are typically 1.
+ */
+ -fx-inner-border: derive(-fx-color,65%);
+ -fx-inner-border-horizontal: derive(-fx-color,65%);
+ -fx-inner-border-bottomup: derive(-fx-color,65%);
+
+ /*-fx-inner-border: red;*/
+ /*-fx-inner-border-horizontal: green;*/
+ /*-fx-inner-border-bottomup: blue;*/
+
+ /* A gradient that goes from a little lighter than -fx-color at the top to
+ * a little darker than -fx-color at the bottom and is used to fill the
+ * body of many controls such as buttons.
*/
- -fx-active-background: derive(-fx-theme-base, 20%);
+ -fx-body-color: derive(-fx-color,20%);
+ -fx-body-color-bottomup: derive(-fx-color,20%);
+ -fx-body-color-to-right: derive(-fx-color,20%);
+
+ /* The color to use as -fx-text-fill when painting text on top of
+ * backgrounds filled with -fx-base, -fx-color, and -fx-body-color.
+ */
+ -fx-text-base-color: -fx-dark-text-color 46%;
+
+ /* The color to use as -fx-text-fill when painting text on top of
+ * backgrounds filled with -fx-control-inner-background.
+ */
+ -fx-text-inner-color: -fx-dark-text-color;
+
+ /* The color to use for small mark-like objects such as checks on check
+ * boxes, filled in circles in radio buttons, arrows on scroll bars, etc.
+ */
+ -fx-mark-color: -jr-theme;
+
+ /* The small thin light "shadow" for mark-like objects. Typically used in
+ * conjunction with -fx-mark-color with an insets of 1 0 -1 0. */
+ -fx-mark-highlight-color: transparent;
+ /*-fx-mark-highlight-color: derive(-fx-color,80%);*/
+
+ /* Background for items in list like things such as menus, lists, trees,
+ * and tables. */
+ -fx-selection-bar: -fx-accent;
+
+ /* Background color to use for selection of list cells etc. This is when
+ * the control doesn't have focus or the row of a previously selected item. */
+ -fx-selection-bar-non-focused: lightgrey;
+
+ /* The color to use as -fx-text-fill when painting text on top of
+ * backgrounds filled with -fx-selection-bar.
+ *
+ * TODO: this can be removed
+ */
+ -fx-selection-bar-text: -fx-text-background-color;
+
+ /* These are needed for Popup */
+ -fx-background-color: inherit;
+ -fx-background-radius: inherit;
+ -fx-background-insets: inherit;
+ -fx-padding: inherit;
+
+ /** Focus line for keyboard focus traversal on cell based controls */
+ -fx-cell-focus-inner-border: derive(-fx-selection-bar,30%);
+
+ -fx-focused-text-base-color : -fx-dark-text-color;
+ -fx-focused-mark-color : -fx-focused-text-base-color;
+
+ /* Consistent size for headers of tab-pane and side-panels*/
+ -jr-header-height: 3em;
}
+/*
+ * The base css file defining the style that is valid for every pane and dialog.
+ */
+
.hyperlink {
-fx-padding: 0;
-fx-underline: false;
@@ -85,14 +265,13 @@
}
.tooltip {
- -fx-background-color: #616161;
+ -fx-background-color: -jr-tooltip-bg;
-fx-opacity: 95%;
- -fx-text-fill: rgba(255, 255, 255, 0.9);
+ -fx-text-fill: -jr-tooltip-fg;
-fx-font-size: 1em;
}
.tooltip > TextFlow > Text {
- -fx-fill: rgba(255, 255, 255, 0.9);
-fx-font-size: 1em;
}
@@ -114,13 +293,27 @@
-fx-shadow-highlight-color: transparent;
-fx-outer-border: transparent;
-fx-inner-border: transparent;
- -fx-focus-color: -fx-active-background;
-fx-faint-focus-color: transparent;
-fx-background-color: transparent;
- -fx-text-background-color: dimgray;
+ -fx-text-background-color: transparent;
-fx-padding: 0.5em;
}
+.flatButtonNoSpaceBottom .glyph-icon,
+.flatButtonNoSpaceTop .glyph-icon,
+.flatButton .glyph-icon {
+ -fx-fill: -jr-icon;
+ -fx-text-fill: -jr-icon;
+}
+
+.flatButtonNoSpaceBottom:hover .glyph-icon,
+.flatButtonNoSpaceTop:hover .glyph-icon,
+.flatButton:hover .glyph-icon {
+ -fx-fill: derive(-jr-icon, -30%);
+ -fx-text-fill: derive(-jr-icon, -30%);
+ -fx-effect: dropshadow(one-pass-box, -jr-icon, 5, 0, 1, 1);
+}
+
.flatButton:selected {
-fx-background-color: -fx-active-background;
-fx-text-fill: white;
@@ -136,22 +329,22 @@
}
.menu-bar {
- -fx-background-color: white;
+ -fx-background-color: -fx-body-color;
-fx-background-insets: 0;
-fx-background-radius: 0;
}
-.menu-bar > .container > .menu-button > .label {
- -fx-padding: 0.41777em 0.41777em 0.41777em 0.41777em; /* 5 5 5 5 */
-}
+/*.menu-bar > .container > .menu-button > .label {*/
+ /*-fx-padding: 0.41777em 0.41777em 0.41777em 0.41777em; !* 5 5 5 5 *!*/
+/*}*/
-.menu-bar > .menu {
- -fx-padding: 0.0em 0.666667em 0.0em 0.666667em; /* 0 8 0 8 */
-}
+/*.menu-bar > .menu {*/
+ /*-fx-padding: 0.0em 0.666667em 0.0em 0.666667em; !* 0 8 0 8 *!*/
+/*}*/
-.menu-item {
- -fx-padding: 0.5em 0.41777em 0.5em 0.41777em; /* 6 5 6 5 */
-}
+/*.menu-item {*/
+ /*-fx-padding: 0.5em 0.41777em 0.5em 0.41777em; !* 6 5 6 5 *!*/
+/*}*/
.tab-pane {
-fx-open-tab-animation: NONE;
@@ -161,24 +354,54 @@
.tab-pane > .tab-header-area > .headers-region > .tab {
-fx-background-insets: 0;
-fx-background-radius: 0;
- -fx-background-color: -fx-accented-background;
- -fx-border-color: -fx-border;
+ /*-fx-background-color: green;*/
+ /*-fx-background-color: -fx-accented-background;*/
+ -fx-border-color: -fx-outer-border;
-fx-border-width: 0.5 0.5 0.5 0.5;
- -fx-padding: 0.4em 0.9em 0.4em 0.9em;
+ -fx-padding: 0.3em 0.9em 0.3em 0.9em;
+ -fx-pref-height: -jr-header-height;
+
}
.tab-pane > .tab-header-area > .headers-region > .tab .tab-label {
- -fx-text-fill: -fx-unimportant;
+ -fx-text-fill: -fx-mid-text-color;
+}
+
+.tab-pane > .tab-header-area > .headers-region > .control-buttons-tab {
+ -fx-border-color: -jr-theme;
+ -fx-fill: -jr-theme;
+ -fx-text-fill: -jr-theme;
}
.tab-pane > .tab-header-area > .headers-region > .tab:selected {
- -fx-background-color: -fx-light-background;
- -fx-border-color: -fx-active-background;
+ /*-fx-background-color: -fx-control-inner-background;*/
+ -fx-border-color: -jr-theme;
+ -fx-fill: -jr-theme;
+ -fx-text-fill: -jr-theme;
-fx-border-width: 3 0 0 0;
}
-.tab-pane > .tab-header-area > .headers-region > .tab:selected .tab-label {
- -fx-text-fill: black;
+
+.tab-pane > .tab-header-area > .headers-region > .tab:selected .tab-label{
+ -fx-text-fill: -jr-theme;
+ -fx-fill: -jr-theme;
+}
+
+.tab-pane > .tab-header-area > .headers-region > .tab:selected .tab-close-button {
+ -fx-background-color: -jr-theme;
+}
+
+.tab-pane > .tab-header-area > .headers-region > .tab:selected .tab-close-button:hover {
+ -fx-background-color: -jr-theme;
+ -fx-fill: derive(-jr-icon, -30%);
+ -fx-text-fill: derive(-jr-icon, -30%);
+ -fx-effect: dropshadow(one-pass-box, -jr-icon, 5, 0, 1, 1);
+}
+
+
+.tab-pane > .tab-header-area > .headers-region > .tab:selected .glyph-icon {
+ -fx-text-fill: -jr-theme;
+ -fx-fill: -jr-theme;
}
.tab-pane:focused > .tab-header-area > .headers-region > .tab:selected .focus-indicator {
@@ -188,22 +411,23 @@
}
.tab-pane > .tab-header-area > .tab-header-background {
- -fx-background-color: -fx-accented-background;
+ -fx-background-color: -fx-outer-border;
}
.tab-pane > .tab-header-area > .headers-region > .tab .glyph-icon {
-glyph-size: 13px;
- -fx-text-fill: -fx-unimportant;
- -fx-fill: -fx-unimportant;
+ -fx-text-fill: -fx-mid-text-color;
+ -fx-fill: -fx-mid-text-color;
}
.tab-pane > .tab-header-area > .headers-region > .tab:selected .glyph-icon {
- -fx-text-fill: black;
- -fx-fill: black;
+ -fx-text-fill: -jr-icon;
+ -fx-fill: -jr-icon;
}
.tab-pane > .tab-header-area {
- -fx-padding: 0.416667em 5 0.0em 0em;
+ /*-fx-padding: 0.416667em 5 0.0em 0em;*/
+ -fx-padding: 0 0 0 0;
}
.table-view {
@@ -216,25 +440,25 @@
}
.split-pane > .split-pane-divider {
- -fx-background-color: -fx-accented-background;
- -fx-padding: 0 0.15ex 0 0.15ex;
+ /*-fx-background-color: -jr-separator;*/
+ -fx-padding: 0 .5 0 .5;
}
.table-row-cell:hover,
.tree-table-row-cell:hover {
- -fx-background-color: lightgrey;
+ -fx-background-color: -jr-hover-cell;
}
.table-row-cell:selected,
.tree-table-row-cell:selected {
- -fx-background-color: -fx-active-background;
- -fx-text-fill: white;
- -fx-fill: white;
+ -fx-background-color: -jr-selected-cell;
+ /*-fx-text-fill: white;*/
+ /*-fx-fill: white;*/
}
.tree-table-row-cell:selected > .tree-table-cell > .glyph-icon {
- -fx-fill: white;
- -fx-text-fill: white;
+ /*-fx-fill: white;*/
+ /*-fx-text-fill: white;*/
}
.table-view > .virtual-flow > .clipped-container > .sheet > .table-row-cell .table-cell:selected,
@@ -272,32 +496,32 @@
}
.text-input {
- -fx-background-color: #cacbca, -fx-control-inner-background;
+ -fx-background-color: -fx-outer-border, -fx-control-inner-background;
-fx-background-insets: 0, 1;
}
.text-input:focused {
- -fx-background-color: -fx-active-background, -fx-control-inner-background;
+ -fx-background-color: -fx-accent, -fx-control-inner-background;
-fx-background-insets: 0, 2;
}
.text-area {
- -fx-background-color: white;
+ -fx-background-color: -fx-control-inner-background;
}
.text-area .content {
- -fx-background-color: #cacbca, -fx-control-inner-background;
+ /*-fx-background-color: -jr-separator, -fx-control-inner-background;*/
-fx-background-insets: 0, 1;
-fx-padding: 0.333333em 0.583em 0.333333em 0.583em;
}
.text-area:focused .content {
- -fx-background-color: -fx-active-background, -fx-control-inner-background;
+ -fx-background-color: -fx-accent, -fx-control-inner-background;
-fx-background-insets: 0, 2;
}
.date-picker > .text-field:focused {
- -fx-background-color: -fx-active-background, -fx-control-inner-background;
+ -fx-background-color: -fx-accent, -fx-control-inner-background;
-fx-background-insets: 0, 2;
}
@@ -308,21 +532,21 @@
.scroll-bar:horizontal .track,
.scroll-bar:vertical .track {
- -fx-background-color: derive(#868786, 20%);
+ -fx-background-color: -jr-scrollbar-track;
-fx-opacity: 0.2;
-fx-background-radius: 0em;
}
.scroll-bar:horizontal .thumb,
.scroll-bar:vertical .thumb {
- -fx-background-color: derive(#757575, 60%);
+ -fx-background-color: -jr-scrollbar-thumb;
-fx-background-insets: 0, 0, 0;
-fx-background-radius: 0em;
}
.scroll-bar .thumb:hover,
.scroll-bar .thumb:pressed {
- -fx-background-color: derive(black, 70%);
+ -fx-background-color: derive(-jr-scrollbar-thumb, -20%);
}
/* Hide increment and decrement buttons */
@@ -365,38 +589,65 @@
}
.sidePaneComponentHeader {
- -fx-background-color: -fx-dark-background;
+ -fx-background-color: -jr-sidepane-header-background;
+ -fx-padding: 0.3em 0.9em 0.3em 0.9em;
+ -fx-pref-height: -jr-header-height;
}
-.mainMenu {
- -fx-background-color: derive(-fx-theme-base, -10%);
+.sidePaneComponentHeader > .label {
+ -fx-text-fill: -jr-sidepane-header-color;
+ -fx-font-weight: bold;
+ -fx-padding: 0.3em 0.9em 0.3em 0.9em;
}
-.menu-bar > .container > .menu-button:hover,
-.menu-bar > .container > .menu-button:focused,
-.menu-bar > .container > .menu-button:showing {
- -fx-background: derive(-fx-theme-base, 10%);
+.sidePaneComponentHeader .glyph-icon{
+ -fx-font-size: 16px;
}
+/*.mainMenu {*/
+ /*-fx-background-color: -jr-background;*/
+/*}*/
-.mainMenu > .container > .menu-button > .label {
- -fx-text-fill: white;
- -fx-font-weight: bold;
-}
+/*.menu-bar > .container > .menu-button:hover,*/
+/*.menu-bar > .container > .menu-button:focused,*/
+/*.menu-bar > .container > .menu-button:showing {*/
+ /*-fx-background: -jr-hover-cell;*/
+/*}*/
+
+/*.mainMenu > .container > .menu-button > .label {*/
+ /*-fx-text-fill: black;*/
+ /*!*-fx-font-weight: bold;*!*/
+/*}*/
+
+/*.menu-item:focused {*/
+ /*-fx-background: -jr-hover-cell;*/
+ /*-fx-background-color: -fx-background;*/
+ /*-fx-text-fill: black;*/
+/*}*/
+/*.menu-item:focused > .label {*/
+ /*-fx-text-fill: black;*/
+/*}*/
.mainToolbar {
- -fx-background-color: derive(-fx-theme-base, -10%);
+ -fx-background-color: -jr-toolbar;
+ -fx-border-color: derive(-jr-toolbar, 50%);
+ -fx-border-width: 1 1 1 1;
+ -fx-border-radius: 2 2 2 2;
+ -fx-background-radius: 2 2 2 2;
}
.mainToolbar .glyph-icon {
-fx-font-size: 1.7em;
- -fx-text-fill: white;
- -fx-fill: white;
}
-.mainToolbar .search-field {
- -fx-background-color: derive(-fx-theme-base, -15%);
+.mainToolbar .search-field .glyph-icon {
+ -fx-fill: -jr-icon;
+ -fx-text-fill: -jr-icon;
}
-.mainToolbar .search-field:focused {
- -fx-background-color: derive(-fx-theme-base, 15%);
+/* The little arrow that shows up when not all tool-bar icons fit into the tool-bar.
+We want to have a look that matches our icons in the tool-bar */
+.mainToolbar .tool-bar-overflow-button:hover > .arrow {
+ -fx-background-color: -fx-mark-highlight-color, derive(-jr-icon, -30%);
+ -fx-effect: dropshadow(one-pass-box, -jr-icon, 5, 0, 1, 1);
}
+
diff --git a/src/main/java/org/jabref/gui/SidePaneComponent.java b/src/main/java/org/jabref/gui/SidePaneComponent.java
index aeb44955b4f..87c1cbc0ec7 100644
--- a/src/main/java/org/jabref/gui/SidePaneComponent.java
+++ b/src/main/java/org/jabref/gui/SidePaneComponent.java
@@ -103,8 +103,9 @@ public final Node getHeader() {
BorderPane graphic = new BorderPane();
graphic.setCenter(icon.getGraphicNode());
BorderPane container = new BorderPane();
- container.setLeft(graphic);
- container.setCenter(new Label(title));
+// container.setLeft(graphic);
+ final Label label = new Label(title);
+ container.setCenter(label);
container.setRight(buttonContainer);
container.getStyleClass().add("sidePaneComponentHeader");
diff --git a/src/main/java/org/jabref/gui/entryeditor/EntryEditor.css b/src/main/java/org/jabref/gui/entryeditor/EntryEditor.css
index d548c167665..ae75a747177 100644
--- a/src/main/java/org/jabref/gui/entryeditor/EntryEditor.css
+++ b/src/main/java/org/jabref/gui/entryeditor/EntryEditor.css
@@ -1,6 +1,6 @@
.text-area {
- -fx-text-fill: text-area-foreground;
- -fx-control-inner-background: text-area-background;
+ /*-fx-text-fill: text-area-foreground;*/
+ /*-fx-control-inner-background: text-area-background;*/
}
.text-area *.text {
@@ -10,12 +10,12 @@
.editorPane {
-fx-hgap: 10;
-fx-vgap: 6;
- -fx-background-color: -fx-light-background;
+ /*-fx-background-color: -jr-white;*/
-fx-padding: 5 5 5 15;
}
.date-picker > .date-picker-display-node {
- -fx-text-fill: text-area-foreground;
+ /*-fx-text-fill: text-area-foreground;*/
-fx-text-origin: baseline;
}
@@ -24,12 +24,12 @@
}
.combo-box > *.text {
- -fx-text-fill: text-area-foreground;
+ /*-fx-text-fill: text-area-foreground;*/
-fx-text-origin: baseline;
}
.list-cell:odd {
- -fx-background: text-area-background;
+ /*-fx-background: text-area-background;*/
}
/* Selected rows */
@@ -48,7 +48,7 @@
.tree-table-row-cell:filled:selected,
.table-row-cell:filled > .table-cell:selected,
.tree-table-row-cell:filled > .tree-table-cell:selected {
- -fx-background: -fx-selection-bar-non-focused;
+ -fx-background: -fx-selection-bar;
}
/* focused cell (keyboard navigation) */
.list-view:focused > .virtual-flow > .clipped-container > .sheet > .list-cell:focused,
@@ -64,6 +64,14 @@
-fx-padding: 0.1em;
-fx-font-size: 1.166667em;
-fx-font-weight: bold;
+ -fx-text-fill: -jr-icon;
+}
+
+#typeLabel:hover {
+ -fx-padding: 0.1em;
+ -fx-font-size: 1.166667em;
+ -fx-font-weight: bold;
+ -fx-text-fill: derive(-jr-icon, -30%);
}
.flatButton.narrow {
@@ -78,37 +86,54 @@
-fx-padding: -0.2em 0.1em 0.1em 0.1em;
}
+/*.flatButton .glyph-icon, .flatButtonNoSpaceTop .glyph-icon, .flatButtonNoSpaceBottom .glyph-icon {*/
+ /*-fx-fill: -jr-icon;*/
+/*}*/
+
+/*.flatButton .glyph-icon:hover, .flatButtonNoSpaceTop .glyph-icon:hover, .flatButtonNoSpaceBottom .glyph-icon:hover {*/
+ /*-fx-fill: derive(-jr-icon, -30%);*/
+ /*-fx-effect: dropshadow(one-pass-box, -jr-icon, 5, 0, 1, 1);*/
+/*}*/
+
.editorPane .glyph-icon {
-glyph-size: 16px;
}
+
.tool-bar {
- -fx-background-color: #dadad8;
+ /*-fx-background-color: -jr-toolbar;*/
-fx-background-insets: 0;
+ /*-fx-border-color: -jr-gray-1;*/
+ /*-fx-border-width: 1 1 1 1;*/
+ /*-fx-border-radius: 2 2 2 2;*/
+ /*-fx-background-radius: 2 2 2 2;*/
+ /*-fx-text-fill: -jr-icon;*/
+ /*-fx-fill: -jr-icon;*/
}
+
.tool-bar > .container > .separator {
- -fx-background-color: #5e5f5e;
+ /*-fx-background-color: -jr-separator;*/
}
.tool-bar .glyph-icon {
- -glyph-size: 18px;
+ -glyph-size: 16px;
-fx-font-size: 2em;
}
.warning-icon {
- -fx-fill: #ffb500;
+ -fx-fill: -jr-warn;
}
.error-icon {
- -fx-text-fill: #bb0613;
- -fx-fill: #bb0613;
+ -fx-text-fill: -jr-error;
+ -fx-fill: -jr-error;
}
.tooltip-warning {
- -fx-background-color: #d69600;
+ -fx-background-color: -jr-warn;
}
.tooltip-error {
- -fx-background-color: #a80511;
+ -fx-background-color: -jr-error;
}
diff --git a/src/main/java/org/jabref/gui/groups/GroupTree.css b/src/main/java/org/jabref/gui/groups/GroupTree.css
index ca0fd0eb453..a05f6bbbc19 100644
--- a/src/main/java/org/jabref/gui/groups/GroupTree.css
+++ b/src/main/java/org/jabref/gui/groups/GroupTree.css
@@ -1,10 +1,10 @@
.tree-table-view, .tree-table-row-cell {
- -fx-background-color: #dadad8;
+ -fx-background-color: -jr-sidepane-background;
-fx-table-cell-border-color: transparent; /* hide grid lines */
}
.tree-table-cell {
- -fx-font-size: 105%;
+ /*-fx-font-size: 105%;*/
-fx-padding: 0.35em 0em 0.25em 0em;
}
@@ -14,19 +14,19 @@
}
.numberColumn > .hits {
- -fx-font-size: 85%;
- -fx-background-color: #c6c6c4;
+ /*-fx-font-size: 85%;*/
+ -fx-background-color: -jr-group-hits-bg;
-fx-padding: 0.1em 0.4em 0.1em 0.4em;
-fx-background-insets: 0;
-fx-background-radius: 0.8em;
}
.numberColumn > .hits:any-selected {
- -fx-background-color: #c6c44f;
+ -fx-background-color: derive(-jr-green, 70%);
}
.numberColumn > .hits:all-selected {
- -fx-background-color: #4dc64f;
+ -fx-background-color: -jr-green;
}
.disclosureNodeColumn {
@@ -34,19 +34,19 @@
}
.tree-table-row-cell:dragOver-bottom {
- -fx-border-color: #eea82f;
+ -fx-border-color: -jr-drag-target;
-fx-border-width: 0 0 2 0;
-fx-padding: 0 0 -2 0;
}
.tree-table-row-cell:dragOver-center {
- -fx-border-color: #eea82f;
+ -fx-border-color: -jr-drag-target;
-fx-border-width: 2 2 2 2;
-fx-padding: -2 -2 -2 -2;
}
.tree-table-row-cell:dragOver-top {
- -fx-border-color: #eea82f;
+ -fx-border-color: -jr-drag-target;
-fx-border-width: 2 0 0 0;
-fx-padding: -2 0 0 0;
}
@@ -61,7 +61,7 @@
.tree-table-row-cell:root {
-fx-border-width: 0 0 1 0;
- -fx-border-color: darkgrey;
+ -fx-border-color: -fx-outer-border;
}
.tree-table-row-cell:root > .tree-table-cell {
@@ -76,9 +76,9 @@
-fx-padding: 0.45em 0.2em 0.45em 0.2em;
}
-.tree-table-row-cell:selected > .tree-table-cell > .tree-disclosure-node > .arrow {
- -fx-background-color: white;
-}
+/*.tree-table-row-cell:selected > .tree-table-cell > .tree-disclosure-node > .arrow {*/
+ /*-fx-background-color: -jr-white;*/
+/*}*/
.tree-table-row-cell:empty {
-fx-background-color: transparent; /* hide cells which are not bound to a group */
@@ -92,7 +92,6 @@
.tree-table-row-cell > .tree-table-cell > .tree-disclosure-node > .arrow {
-fx-max-height: 0.5em;
-fx-max-width: 0.5em;
- -fx-background-color: #5e5f5e;
-fx-padding: 0.333333em 0.229em 0.333333em 0.229em; /* 4 */
-fx-shape: "m64,416l96,96l256,-256l-256,-256l-96,96l160,160l-160,160z";
}
@@ -106,12 +105,12 @@
}
#barBottom {
- -fx-background-color: #dadad8;
- -fx-border-color: dimgray;
- -fx-border-width: 1 0 0 0;
+ -fx-border-color: -fx-outer-border;
+ -fx-border-width: 0 0 1 0;
-fx-padding: 0em 1em 0em 1em;
}
#barBottom .glyph-icon {
+ -fx-fill: -jr-icon;
-fx-font-size: 2em;
}
diff --git a/src/main/java/org/jabref/gui/icon/IconTheme.java b/src/main/java/org/jabref/gui/icon/IconTheme.java
index 4fd2d134f8c..e4e6b291634 100644
--- a/src/main/java/org/jabref/gui/icon/IconTheme.java
+++ b/src/main/java/org/jabref/gui/icon/IconTheme.java
@@ -33,6 +33,7 @@
import org.jabref.logic.groups.DefaultGroupsFactory;
import org.jabref.preferences.JabRefPreferences;
+import de.jensd.fx.glyphs.GlyphIcons;
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
import org.apache.commons.lang3.NotImplementedException;
import org.slf4j.Logger;
@@ -55,7 +56,13 @@ public class IconTheme {
try (InputStream stream = getMaterialDesignIconsStream()) {
FONT = Font.createFont(Font.TRUETYPE_FONT, stream);
} catch (FontFormatException | IOException e) {
- LOGGER.warn("Error loading font", e);
+ LOGGER.error("Error loading font", e);
+ }
+
+ try (InputStream stream = getJabRefMaterialDesignIconsStream()) {
+ javafx.scene.text.Font.loadFont(stream, 7);
+ } catch (IOException e) {
+ LOGGER.error("Error loading custom font for custom JabRef icons", e);
}
}
@@ -63,19 +70,12 @@ private static InputStream getMaterialDesignIconsStream() {
return FontBasedIcon.class.getResourceAsStream("/fonts/materialdesignicons-webfont.ttf");
}
- public static javafx.scene.paint.Color getDefaultColor() {
- return ColorUtil.toFX(DEFAULT_COLOR);
+ private static InputStream getJabRefMaterialDesignIconsStream() throws IOException {
+ return FontBasedIcon.class.getResource("/fonts/JabRefMaterialDesign.ttf").openStream();
}
- /**
- * Constructs an ImageIcon for the image representing the given function, in the resource
- * file listing images.
- *
- * @param name The name of the icon, such as "open", "save", "saveAs" etc.
- * @return The ImageIcon for the function.
- */
- public static ImageIcon getImage(String name) {
- return new ImageIcon(getIconUrl(name));
+ public static javafx.scene.paint.Color getDefaultColor() {
+ return ColorUtil.toFX(DEFAULT_COLOR);
}
public static Image getJabRefImageFX() {
@@ -174,26 +174,26 @@ public static List getLogoSetFX() {
public enum JabRefIcons implements JabRefIcon {
- ADD(MaterialDesignIcon.PLUS_BOX),
+ ADD(MaterialDesignIcon.PLUS_CIRCLE_OUTLINE),
ADD_NOBOX(MaterialDesignIcon.PLUS),
- ADD_ENTRY(MaterialDesignIcon.TOOLTIP_OUTLINE_PLUS),
+ ADD_ENTRY(MaterialDesignIcon.BOOKMARK_PLUS),
EDIT_ENTRY(MaterialDesignIcon.TOOLTIP_EDIT),
EDIT_STRINGS(MaterialDesignIcon.TOOLTIP_TEXT),
FOLDER(MaterialDesignIcon.FOOD_FORK_DRINK),
REMOVE(MaterialDesignIcon.MINUS_BOX),
REMOVE_NOBOX(MaterialDesignIcon.MINUS),
- FILE(MaterialDesignIcon.FILE),
+ FILE(MaterialDesignIcon.FILE_OUTLINE),
PDF_FILE(MaterialDesignIcon.FILE_PDF),
DOI(MaterialDesignIcon.BARCODE_SCAN),
DUPLICATE(MaterialDesignIcon.CONTENT_DUPLICATE),
EDIT(MaterialDesignIcon.PENCIL),
- NEW(MaterialDesignIcon.FILE_OUTLINE),
+ NEW(MaterialDesignIcon.FOLDER_PLUS),
SAVE(MaterialDesignIcon.CONTENT_SAVE),
SAVE_ALL(MaterialDesignIcon.CONTENT_SAVE_ALL),
- CLOSE(MaterialDesignIcon.CLOSE),
- PASTE(MaterialDesignIcon.CONTENT_PASTE),
+ CLOSE(MaterialDesignIcon.CLOSE_CIRCLE),
+ PASTE(JabRefMaterialDesignIcon.PASTE),
CUT(MaterialDesignIcon.CONTENT_CUT),
- COPY(MaterialDesignIcon.CONTENT_COPY),
+ COPY(JabRefMaterialDesignIcon.COPY),
COMMENT(MaterialDesignIcon.COMMENT),
REDO(MaterialDesignIcon.REDO),
UNDO(MaterialDesignIcon.UNDO),
@@ -204,8 +204,8 @@ public enum JabRefIcons implements JabRefIcon {
ADVANCED_SEARCH(Color.CYAN, MaterialDesignIcon.MAGNIFY),
PREFERENCES(MaterialDesignIcon.SETTINGS),
HELP(MaterialDesignIcon.HELP_CIRCLE),
- UP(MaterialDesignIcon.CHEVRON_UP),
- DOWN(MaterialDesignIcon.CHEVRON_DOWN),
+ UP(MaterialDesignIcon.ARROW_UP),
+ DOWN(MaterialDesignIcon.ARROW_DOWN),
LEFT(MaterialDesignIcon.ARROW_LEFT_BOLD),
RIGHT(MaterialDesignIcon.ARROW_RIGHT_BOLD),
SOURCE(MaterialDesignIcon.CODE_BRACES),
@@ -261,13 +261,13 @@ public enum JabRefIcons implements JabRefIcon {
FILE_POWERPOINT(MaterialDesignIcon.FILE_POWERPOINT), /*css: file-powerpoint */
FILE_TEXT(MaterialDesignIcon.FILE_DOCUMENT), /*css: file-document */
FILE_MULTIPLE(MaterialDesignIcon.FILE_MULTIPLE), /*css: file-multiple */
- FILE_OPENOFFICE(IconTheme.getImage("openoffice")),
- APPLICATION_EMACS(IconTheme.getImage("emacs")),
- APPLICATION_LYX(IconTheme.getImage("lyx")),
- APPLICATION_TEXSTUDIO(IconTheme.getImage("texstudio")),
- APPLICATION_TEXMAKER(IconTheme.getImage("texmaker")),
- APPLICATION_VIM(IconTheme.getImage("vim")),
- APPLICATION_WINEDT(IconTheme.getImage("winedt")),
+ FILE_OPENOFFICE(JabRefMaterialDesignIcon.OPEN_OFFICE),
+ APPLICATION_EMACS(JabRefMaterialDesignIcon.EMACS),
+ APPLICATION_LYX(JabRefMaterialDesignIcon.LYX),
+ APPLICATION_TEXSTUDIO(JabRefMaterialDesignIcon.TEX_STUDIO),
+ APPLICATION_TEXMAKER(JabRefMaterialDesignIcon.TEX_MAKER),
+ APPLICATION_VIM(JabRefMaterialDesignIcon.VIM),
+ APPLICATION_WINEDT(JabRefMaterialDesignIcon.WINEDT),
KEY_BINDINGS(MaterialDesignIcon.KEYBOARD), /*css: keyboard */
FIND_DUPLICATES(MaterialDesignIcon.CODE_EQUAL), /*css: code-equal */
PULL(MaterialDesignIcon.SOURCE_PULL), /*source-pull*/
@@ -284,7 +284,7 @@ public enum JabRefIcons implements JabRefIcon {
BLOG(MaterialDesignIcon.RSS), /* css: rss */
GLOBAL_SEARCH(MaterialDesignIcon.EARTH), /* css: earth */
DATE_PICKER(MaterialDesignIcon.CALENDAR), /* css: calendar */
- DEFAULT_GROUP_ICON_COLORED(MaterialDesignIcon.CHECKBOX_BLANK_CIRCLE),
+ DEFAULT_GROUP_ICON_COLORED(MaterialDesignIcon.MENU_RIGHT),
DEFAULT_GROUP_ICON(MaterialDesignIcon.LABEL_OUTLINE),
ALL_ENTRIES_GROUP_ICON(DefaultGroupsFactory.ALL_ENTRIES_GROUP_DEFAULT_ICON),
IMPORT_EXPORT(MaterialDesignIcon.SWAP_VERTICAL),
@@ -310,7 +310,7 @@ public enum JabRefIcons implements JabRefIcon {
private final JabRefIcon icon;
- JabRefIcons(MaterialDesignIcon... icons) {
+ JabRefIcons(GlyphIcons... icons) {
icon = new InternalMaterialDesignIcon(icons);
}
@@ -318,10 +318,6 @@ public enum JabRefIcons implements JabRefIcon {
icon = new InternalMaterialDesignIcon(color, icons);
}
- JabRefIcons(ImageIcon imageIcon) {
- icon = new InternalFileIcon(imageIcon);
- }
-
@Override
public Icon getIcon() {
return icon.getIcon();
@@ -356,56 +352,6 @@ public String unicode() {
public String fontFamily() {
return icon.fontFamily();
}
-
- private class InternalFileIcon implements JabRefIcon {
-
- private final ImageIcon imageIcon;
-
- InternalFileIcon(ImageIcon imageIcon) {
- this.imageIcon = imageIcon;
- }
-
- @Override
- public Icon getIcon() {
- return imageIcon;
- }
-
- @Override
- public Icon getSmallIcon() {
- return imageIcon;
- }
-
- @Override
- public Node getGraphicNode() {
- return new ImageView(new Image(imageIcon.getDescription()));
- }
-
- @Override
- public JabRefIcon disabled() {
- throw new NotImplementedException("Cannot create disabled version of a file-based icon");
- }
-
- @Override
- public JabRefIcon withColor(javafx.scene.paint.Color color) {
- throw new NotImplementedException("Cannot create colored version of a file-based icon");
- }
-
- @Override
- public String name() {
- throw new NotImplementedException("Cannot get name of a file-based icon");
- }
-
- @Override
- public String unicode() {
- throw new NotImplementedException("Cannot get unicode of a file-based icon");
- }
-
- @Override
- public String fontFamily() {
- throw new NotImplementedException("Cannot get font family of a file-based icon");
- }
- }
-
public Button asButton() {
Button button = new Button();
button.setGraphic(getGraphicNode());
diff --git a/src/main/java/org/jabref/gui/icon/InternalMaterialDesignIcon.java b/src/main/java/org/jabref/gui/icon/InternalMaterialDesignIcon.java
index af309123c85..1b6f63bdea1 100644
--- a/src/main/java/org/jabref/gui/icon/InternalMaterialDesignIcon.java
+++ b/src/main/java/org/jabref/gui/icon/InternalMaterialDesignIcon.java
@@ -14,33 +14,34 @@
import org.jabref.gui.util.ColorUtil;
import org.jabref.preferences.JabRefPreferences;
+import de.jensd.fx.glyphs.GlyphIcons;
import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIcon;
public class InternalMaterialDesignIcon implements JabRefIcon {
- private final List icons;
+ private final List icons;
private Optional color;
private final String unicode;
- public InternalMaterialDesignIcon(java.awt.Color color, MaterialDesignIcon... icons) {
+ public InternalMaterialDesignIcon(java.awt.Color color, GlyphIcons... icons) {
this(ColorUtil.toFX(color), Arrays.asList(icons));
}
- public InternalMaterialDesignIcon(Color color, MaterialDesignIcon... icons) {
+ public InternalMaterialDesignIcon(Color color, GlyphIcons... icons) {
this(color, Arrays.asList(icons));
}
- InternalMaterialDesignIcon(Color color, List icons) {
+ InternalMaterialDesignIcon(Color color, List icons) {
this(icons);
this.color = Optional.of(color);
}
- public InternalMaterialDesignIcon(MaterialDesignIcon... icons) {
+ public InternalMaterialDesignIcon(GlyphIcons... icons) {
this(Arrays.asList(icons));
}
- public InternalMaterialDesignIcon(List icons) {
+ public InternalMaterialDesignIcon(List icons) {
this.icons = icons;
- this.unicode = icons.stream().map(MaterialDesignIcon::unicode).collect(Collectors.joining());
+ this.unicode = icons.stream().map(GlyphIcons::unicode).collect(Collectors.joining());
this.color = Optional.empty();
}
@@ -56,7 +57,7 @@ public Icon getSmallIcon() {
@Override
public Node getGraphicNode() {
- MaterialDesignIcon icon = icons.get(0);
+ GlyphIcons icon = icons.get(0);
Text text = new Text(icon.unicode());
text.getStyleClass().add("glyph-icon");
diff --git a/src/main/java/org/jabref/gui/maintable/MainTable.css b/src/main/java/org/jabref/gui/maintable/MainTable.css
index 90b6289d03f..c4f1a04fc6c 100644
--- a/src/main/java/org/jabref/gui/maintable/MainTable.css
+++ b/src/main/java/org/jabref/gui/maintable/MainTable.css
@@ -2,38 +2,41 @@
-fx-border-width: 0;
-fx-padding: 0;
-fx-border-insets: 0;
- -fx-background-color: -fx-light-background;
-fx-table-cell-border-color: transparent;
+ /*-fx-background-color: -jr-foreground;*/
}
.table-view .column-header-background {
- -fx-background-color: -fx-light-background;
+ -fx-background-color: -fx-control-inner-background;
-fx-border-width: 0 0 1 0;
- -fx-border-color: darkgrey;
+ -fx-border-color: -fx-background;
}
.table-view .column-header-background:hover {
- -fx-background-color: darkgray;
+ -fx-background-color: derive(-fx-control-inner-background, -10%);
}
+
.table-view .column-header,
.table-view .filler {
- -fx-background-color: transparent, -fx-light-background;
+ -fx-background-color: transparent, -fx-control-inner-background;
-fx-background-insets: 0, 0 0.02em 0 0.02em;
-fx-font-weight: bold;
-fx-size: 3em;
+ -fx-border-width: 0 0 1 0;
+ /*-fx-border-color: -jr-separator;*/
}
.table-view .column-header > .label {
-fx-padding: 0 1em 0 1em;
-fx-alignment: center-left;
- -fx-text-fill: -fx-unimportant;
+ -fx-text-fill: -jr-theme;
}
.table-view .column-header .glyph-icon {
-fx-alignment: baseline-center;
- -fx-text-fill: -fx-unimportant;
- -fx-fill: -fx-unimportant;
+ -fx-text-fill: -jr-icon;
+ -fx-fill: -jr-icon;
}
.table-cell {
@@ -41,9 +44,9 @@
-fx-cell-size: 4.0em;
}
-.table-row-cell:odd {
- -fx-background: -fx-control-inner-background;
-}
+/*.table-row-cell:odd {*/
+ /*-fx-background: derive(-jr-foreground, -2%);*/
+/*}*/
.column-icon {
-fx-alignment: baseline-center;
@@ -61,7 +64,7 @@
.table-row-cell:hover .empty-special-field {
visibility: visible;
- -fx-fill: -fx-unimportant;
+ /*-fx-fill: -jr-grayed-text;*/
}
.rating > .container {
diff --git a/src/main/resources/fonts/JabRefMaterialDesign.ttf b/src/main/resources/fonts/JabRefMaterialDesign.ttf
new file mode 100644
index 00000000000..c18f51fa3f2
Binary files /dev/null and b/src/main/resources/fonts/JabRefMaterialDesign.ttf differ