diff --git a/src/main/resources/icons/logo-512.png b/assets/linux/MooInfo.png similarity index 100% rename from src/main/resources/icons/logo-512.png rename to assets/linux/MooInfo.png diff --git a/assets/logo/MooInfo.svg b/assets/logo/MooInfo.svg index 64500f0..17dde3f 100644 --- a/assets/logo/MooInfo.svg +++ b/assets/logo/MooInfo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/mac/MooInfo.icns b/assets/mac/MooInfo.icns new file mode 100644 index 0000000..69508cb Binary files /dev/null and b/assets/mac/MooInfo.icns differ diff --git a/assets/material/gui_build.png b/assets/material/gui_build.png new file mode 100644 index 0000000..a33d0b1 Binary files /dev/null and b/assets/material/gui_build.png differ diff --git a/assets/windows/MooInfo.ico b/assets/windows/MooInfo.ico new file mode 100644 index 0000000..8d1e487 Binary files /dev/null and b/assets/windows/MooInfo.ico differ diff --git a/pom.xml b/pom.xml index 87b455c..d27d69e 100644 --- a/pom.xml +++ b/pom.xml @@ -18,19 +18,18 @@ 1.8 1.8 - 1.8 - 1.2.3 + 1.2.10 7.0.3 - 1.4 - 1.18.20 - 5.8.1 - 3.11 - 29.0-jre - 4.9.0 - 1.6.2 - 1.6.2 - 5.6.3 - 1.2.74 + 1.18.22 + 5.8.2 + 3.12.0 + 31.0.1-jre + 4.9.3 + 2.2 + 2.2 + 2.2 + 5.7.21 + 1.2.79 @@ -54,12 +53,6 @@ ${forms_rt.version} - - com.apple - AppleJavaExtensions - ${AppleJavaExtensions.version} - - org.projectlombok lombok @@ -83,6 +76,12 @@ com.squareup.okhttp3 okhttp ${okhttp.version} + + + kotlin-stdlib + org.jetbrains.kotlin + + @@ -97,6 +96,12 @@ ${flatlaf-extras.version} + + com.formdev + flatlaf-intellij-themes + ${flatlaf-intellij-themes.version} + + cn.hutool hutool-all @@ -115,7 +120,7 @@ io.github.fvarrui javapackager - 1.6.2 + 1.6.5 true com.luoboduner.moo.info.App @@ -141,7 +146,7 @@ installForAllUsers - + true false false diff --git a/src/main/java/com/luoboduner/moo/info/App.java b/src/main/java/com/luoboduner/moo/info/App.java index 7818b64..5ee0b13 100644 --- a/src/main/java/com/luoboduner/moo/info/App.java +++ b/src/main/java/com/luoboduner/moo/info/App.java @@ -1,12 +1,20 @@ package com.luoboduner.moo.info; +import com.formdev.flatlaf.extras.FlatDesktop; +import com.formdev.flatlaf.extras.FlatInspector; +import com.formdev.flatlaf.extras.FlatUIDefaultsInspector; import com.formdev.flatlaf.util.SystemInfo; import com.luoboduner.moo.info.ui.Init; +import com.luoboduner.moo.info.ui.dialog.AboutDialog; +import com.luoboduner.moo.info.ui.dialog.SettingDialog; import com.luoboduner.moo.info.ui.form.LoadingForm; import com.luoboduner.moo.info.ui.form.MainWindow; import com.luoboduner.moo.info.ui.frame.MainFrame; import com.luoboduner.moo.info.util.ConfigUtil; +import com.luoboduner.moo.info.util.UIUtil; import com.luoboduner.moo.info.util.UpgradeUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.exception.ExceptionUtils; import javax.swing.*; import java.awt.*; @@ -17,6 +25,7 @@ * @author RememBerBer * @since 2021/11/07. */ +@Slf4j public class App { public static ConfigUtil config = ConfigUtil.getInstance(); @@ -32,9 +41,40 @@ public static void main(String[] args) { System.setProperty("apple.laf.useScreenMenuBar", "true"); System.setProperty("apple.awt.application.name", "MooInfo"); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "MooInfo"); + if (UIUtil.isDarkLaf()) { + System.setProperty("apple.awt.application.appearance", "system"); + } + + FlatDesktop.setAboutHandler(() -> { + try { + AboutDialog dialog = new AboutDialog(); + + dialog.pack(); + dialog.setVisible(true); + } catch (Exception e2) { + log.error(ExceptionUtils.getStackTrace(e2)); + } + }); + FlatDesktop.setPreferencesHandler(() -> { + try { + SettingDialog dialog = new SettingDialog(); + + dialog.pack(); + dialog.setVisible(true); + } catch (Exception e2) { + log.error(ExceptionUtils.getStackTrace(e2)); + } + }); + FlatDesktop.setQuitHandler(FlatDesktop.QuitResponse::performQuit); + } Init.initTheme(); + + // install inspectors + FlatInspector.install( "ctrl shift alt X" ); + FlatUIDefaultsInspector.install( "ctrl shift alt Y" ); + mainFrame = new MainFrame(); mainFrame.init(); JPanel loadingPanel = new LoadingForm().getLoadingPanel(); diff --git a/src/main/java/com/luoboduner/moo/info/ui/Init.java b/src/main/java/com/luoboduner/moo/info/ui/Init.java index e848236..089fcce 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/Init.java +++ b/src/main/java/com/luoboduner/moo/info/ui/Init.java @@ -2,15 +2,18 @@ import cn.hutool.log.Log; import cn.hutool.log.LogFactory; +import com.formdev.flatlaf.FlatDarculaLaf; +import com.formdev.flatlaf.FlatDarkLaf; +import com.formdev.flatlaf.FlatIntelliJLaf; import com.formdev.flatlaf.FlatLightLaf; -import com.formdev.flatlaf.IntelliJTheme; +import com.formdev.flatlaf.extras.FlatSVGIcon; +import com.formdev.flatlaf.intellijthemes.*; import com.luoboduner.moo.info.App; import com.luoboduner.moo.info.ui.component.TopMenuBar; import com.luoboduner.moo.info.util.SystemUtil; import com.luoboduner.moo.info.util.UIUtil; import com.luoboduner.moo.info.util.UpgradeUtil; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.exception.ExceptionUtils; import javax.swing.*; import javax.swing.plaf.FontUIResource; @@ -83,24 +86,6 @@ public static void initOthers() { * init look and feel */ public static void initTheme() { - if (SystemUtil.isMacM1() || SystemUtil.isLinuxOs()) { - try { - UIManager.setLookAndFeel("com.formdev.flatlaf.FlatDarculaLaf"); - logger.warn("FlatDarculaLaf theme set."); - } catch (Exception e) { - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception e2) { - logger.error(ExceptionUtils.getStackTrace(e2)); - } - logger.error(ExceptionUtils.getStackTrace(e)); - } - return; - } - - if (App.config.isUnifiedBackground()) { - UIManager.put("TitlePane.unifiedBackground", true); - } try { switch (App.config.getTheme()) { @@ -108,86 +93,49 @@ public static void initTheme() { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); break; case "Flat Light": - if (SystemUtil.isJBR()) { - JFrame.setDefaultLookAndFeelDecorated(true); - JDialog.setDefaultLookAndFeelDecorated(true); - } - FlatLightLaf.install(); + FlatLightLaf.setup(); break; case "Flat IntelliJ": - if (SystemUtil.isJBR()) { - JFrame.setDefaultLookAndFeelDecorated(true); - JDialog.setDefaultLookAndFeelDecorated(true); - } - UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf"); + FlatIntelliJLaf.setup(); break; case "Flat Dark": - if (SystemUtil.isJBR()) { - JFrame.setDefaultLookAndFeelDecorated(true); - JDialog.setDefaultLookAndFeelDecorated(true); - } - UIManager.setLookAndFeel("com.formdev.flatlaf.FlatDarkLaf"); - break; - case "Darcula": - case "Darcula(Recommended)": - case "Flat Darcula(Recommended)": - if (SystemUtil.isJBR()) { - JFrame.setDefaultLookAndFeelDecorated(true); - JDialog.setDefaultLookAndFeelDecorated(true); - } - UIManager.setLookAndFeel("com.formdev.flatlaf.FlatDarculaLaf"); - - UIManager.put("PopupMenu.background", UIManager.getColor("Panel.background")); - -/** - If you don't like/want it, you can disable it with: - UIManager.put( "TitlePane.useWindowDecorations", false ); - - It is also possible to disable only the embedded menu bar (and keep the dark title pane) with: - UIManager.put( "TitlePane.menuBarEmbedded", false ); - - It is also possible to disable this on command line with following VM options: - -Dflatlaf.useWindowDecorations=false - -Dflatlaf.menuBarEmbedded=false - - If you have following code in your app, you can remove it (no longer necessary): - // enable window decorations - JFrame.setDefaultLookAndFeelDecorated( true ); - JDialog.setDefaultLookAndFeelDecorated( true ); - **/ + FlatDarkLaf.setup(); break; case "Dark purple": - if (SystemUtil.isJBR()) { - JFrame.setDefaultLookAndFeelDecorated(true); - JDialog.setDefaultLookAndFeelDecorated(true); - } - IntelliJTheme.setup(App.class.getResourceAsStream( - "/theme/DarkPurple.theme.json")); + FlatDarkPurpleIJTheme.setup(); break; case "IntelliJ Cyan": - if (SystemUtil.isJBR()) { - JFrame.setDefaultLookAndFeelDecorated(true); - JDialog.setDefaultLookAndFeelDecorated(true); - } - IntelliJTheme.setup(App.class.getResourceAsStream( - "/theme/Cyan.theme.json")); + FlatCyanLightIJTheme.setup(); break; case "IntelliJ Light": - if (SystemUtil.isJBR()) { - JFrame.setDefaultLookAndFeelDecorated(true); - JDialog.setDefaultLookAndFeelDecorated(true); - } - IntelliJTheme.setup(App.class.getResourceAsStream( - "/theme/Light.theme.json")); + FlatLightFlatIJTheme.setup(); + break; + case "Xcode-Dark": + FlatXcodeDarkIJTheme.setup(); + break; + case "Vuesion": + FlatVuesionIJTheme.setup(); break; default: - if (SystemUtil.isJBR()) { - JFrame.setDefaultLookAndFeelDecorated(true); - JDialog.setDefaultLookAndFeelDecorated(true); - } - UIManager.setLookAndFeel("com.formdev.flatlaf.FlatDarculaLaf"); + FlatDarculaLaf.setup(); + } + + if (UIUtil.isDarkLaf()) { +// FlatSVGIcon.ColorFilter.getInstance().setMapper(color -> color.brighter().brighter()); + } else { + FlatSVGIcon.ColorFilter.getInstance().setMapper(color -> color.darker().darker()); +// SwingUtilities.windowForComponent(App.mainFrame).repaint(); } + + if (App.config.isUnifiedBackground()) { + UIManager.put("TitlePane.unifiedBackground", true); + } + + // top menubar background + UIManager.put("PopupMenu.background", UIManager.getColor("Panel.background")); + // arrow type + UIManager.put("Component.arrowType", "chevron"); } catch (Exception e) { logger.error(e); } diff --git a/src/main/java/com/luoboduner/moo/info/ui/UiConsts.java b/src/main/java/com/luoboduner/moo/info/ui/UiConsts.java index e4e33d0..c966d3c 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/UiConsts.java +++ b/src/main/java/com/luoboduner/moo/info/ui/UiConsts.java @@ -1,7 +1,5 @@ package com.luoboduner.moo.info.ui; -import java.awt.*; - /** * constants about UI * @@ -15,64 +13,9 @@ public class UiConsts { public static final int TABLE_ROW_HEIGHT = 36; - /** - * Logo-1024*1024 - */ - public static final Image IMAGE_LOGO_1024 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-1024.png")); - - /** - * Logo-512*512 - */ - public static final Image IMAGE_LOGO_512 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-512.png")); - - /** - * Logo-256*256 - */ - public static final Image IMAGE_LOGO_256 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-256.png")); - - /** - * Logo-128*128 - */ - public static final Image IMAGE_LOGO_128 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-128.png")); - - /** - * Logo-64*64 - */ - public static final Image IMAGE_LOGO_64 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-64.png")); - - /** - * Logo-48*48 - */ - public static final Image IMAGE_LOGO_48 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-48.png")); - - /** - * Logo-32*32 - */ - public static final Image IMAGE_LOGO_32 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-32.png")); - - /** - * Logo-24*24 - */ - public static final Image IMAGE_LOGO_24 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-24.png")); - - /** - * Logo-16*16 - */ - public static final Image IMAGE_LOGO_16 = Toolkit.getDefaultToolkit() - .getImage(UiConsts.class.getResource("/icons/logo-16.png")); - /** * update checking url */ public static final String CHECK_VERSION_URL = "https://gitee.com/zhoubochina/MooInfo/raw/master/src/main/resources/version_summary.json"; - } diff --git a/src/main/java/com/luoboduner/moo/info/ui/component/TopMenuBar.java b/src/main/java/com/luoboduner/moo/info/ui/component/TopMenuBar.java index eba7a4f..15a7dab 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/component/TopMenuBar.java +++ b/src/main/java/com/luoboduner/moo/info/ui/component/TopMenuBar.java @@ -1,5 +1,6 @@ package com.luoboduner.moo.info.ui.component; +import cn.hutool.core.thread.ThreadUtil; import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.extras.FlatAnimatedLafChange; import com.luoboduner.moo.info.App; @@ -9,6 +10,7 @@ import com.luoboduner.moo.info.ui.dialog.SystemEnvResultDialog; import com.luoboduner.moo.info.ui.form.MainWindow; import com.luoboduner.moo.info.util.SystemUtil; +import com.luoboduner.moo.info.util.UpgradeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.exception.ExceptionUtils; @@ -50,7 +52,9 @@ public class TopMenuBar extends JMenuBar { "Flat Darcula(Recommended)", "Dark purple", "IntelliJ Cyan", - "IntelliJ Light"}; + "IntelliJ Light", + "Xcode-Dark", + "Vuesion"}; private static String[] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); @@ -98,6 +102,19 @@ public void init() { settingMenuItem.setText("Settings"); settingMenuItem.addActionListener(e -> settingActionPerformed()); appMenu.add(settingMenuItem); + + // Show logs + JMenuItem logMenuItem = new JMenuItem(); + logMenuItem.setText("Show logs"); + logMenuItem.addActionListener(e -> logActionPerformed()); + appMenu.add(logMenuItem); + + // System environment variables + JMenuItem sysEnvMenuItem = new JMenuItem(); + sysEnvMenuItem.setText("System environment variables"); + sysEnvMenuItem.addActionListener(e -> sysEnvActionPerformed()); + appMenu.add(sysEnvMenuItem); + // Exit JMenuItem exitMenuItem = new JMenuItem(); exitMenuItem.setText("Exit"); @@ -154,27 +171,17 @@ public void init() { appearanceMenu.add(fontSizeMenu); topMenuBar.add(appearanceMenu); - // ---------Debug - JMenu debugMenu = new JMenu(); - debugMenu.setText("Debug"); - // Show logs - JMenuItem logMenuItem = new JMenuItem(); - logMenuItem.setText("Show logs"); - logMenuItem.addActionListener(e -> logActionPerformed()); - - debugMenu.add(logMenuItem); - // System environment variables - JMenuItem sysEnvMenuItem = new JMenuItem(); - sysEnvMenuItem.setText("System environment variables"); - sysEnvMenuItem.addActionListener(e -> sysEnvActionPerformed()); - - debugMenu.add(sysEnvMenuItem); - topMenuBar.add(debugMenu); // ---------About JMenu aboutMenu = new JMenu(); aboutMenu.setText("About"); + // Check for Updates + JMenuItem checkForUpdatesItem = new JMenuItem(); + checkForUpdatesItem.setText("Check for Updates"); + checkForUpdatesItem.addActionListener(e -> checkForUpdatesActionPerformed()); + aboutMenu.add(checkForUpdatesItem); + // About JMenuItem aboutMenuItem = new JMenuItem(); aboutMenuItem.setText("About"); @@ -184,6 +191,10 @@ public void init() { topMenuBar.add(aboutMenu); } + private void checkForUpdatesActionPerformed() { + ThreadUtil.execute(() -> UpgradeUtil.checkUpdate(false)); + } + public void initFontSizeMenu() { if (initialFontSizeItemCount < 0) diff --git a/src/main/java/com/luoboduner/moo/info/ui/dialog/AboutDialog.form b/src/main/java/com/luoboduner/moo/info/ui/dialog/AboutDialog.form index 4281be4..5643344 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/dialog/AboutDialog.form +++ b/src/main/java/com/luoboduner/moo/info/ui/dialog/AboutDialog.form @@ -1,7 +1,7 @@
- + @@ -16,7 +16,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -79,7 +79,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -110,20 +110,12 @@ - - - - - - - - - + - + @@ -179,7 +171,7 @@ - + @@ -197,20 +189,36 @@ - + - + - + - + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/luoboduner/moo/info/ui/dialog/AboutDialog.java b/src/main/java/com/luoboduner/moo/info/ui/dialog/AboutDialog.java index eac4080..876a558 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/dialog/AboutDialog.java +++ b/src/main/java/com/luoboduner/moo/info/ui/dialog/AboutDialog.java @@ -1,12 +1,14 @@ package com.luoboduner.moo.info.ui.dialog; import cn.hutool.core.thread.ThreadUtil; +import com.formdev.flatlaf.extras.FlatSVGIcon; import com.intellij.uiDesigner.core.GridConstraints; import com.intellij.uiDesigner.core.GridLayoutManager; import com.intellij.uiDesigner.core.Spacer; import com.luoboduner.moo.info.App; import com.luoboduner.moo.info.ui.UiConsts; import com.luoboduner.moo.info.util.ComponentUtil; +import com.luoboduner.moo.info.util.ScrollUtil; import com.luoboduner.moo.info.util.UpgradeUtil; import javax.swing.*; @@ -28,7 +30,7 @@ public class AboutDialog extends JDialog { private JLabel codeGiteeLabel; private JLabel issueLabel; private JLabel hutoolLabel; - private JLabel vsCodeIconsLabel; + private JLabel iconFontLabel; private JLabel wePushLinkLabel; private JPanel wePushPanel; private JLabel authorLabel; @@ -36,11 +38,12 @@ public class AboutDialog extends JDialog { private JLabel flatLafLabel; private JPanel mooToolPanel; private JLabel httpsGithubComRememberberLabel; + private JLabel oshiLabel; public AboutDialog() { super(App.mainFrame, "About"); - ComponentUtil.setPreferSizeAndLocateToCenter(this, 0.4, 0.64); + ComponentUtil.setPreferSizeAndLocateToCenter(this, 0.5, 0.64); setContentPane(contentPane); setModal(true); @@ -55,10 +58,10 @@ public void windowClosing(WindowEvent e) { // call onCancel() on ESCAPE contentPane.registerKeyboardAction(e -> onOK(), KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + logoLabel.setIcon(new FlatSVGIcon("icons/logo-128.svg")); versionLabel.setText(UiConsts.APP_VERSION); - scrollPane.getVerticalScrollBar().setUnitIncrement(16); - scrollPane.getVerticalScrollBar().setDoubleBuffered(true); + ScrollUtil.smoothPane(scrollPane); contentPane.updateUI(); logoLabel.addMouseListener(new MouseAdapter() { @@ -199,6 +202,29 @@ public void mouseEntered(MouseEvent e) { e.getComponent().setCursor(new Cursor(Cursor.HAND_CURSOR)); } }); + oshiLabel.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + super.mouseClicked(e); + Desktop desktop = Desktop.getDesktop(); + try { + desktop.browse(new URI("https://github.com/oshi/oshi")); + } catch (IOException | URISyntaxException e1) { + e1.printStackTrace(); + } + } + + @Override + public void mousePressed(MouseEvent e) { + super.mousePressed(e); + } + + @Override + public void mouseEntered(MouseEvent e) { + super.mouseEntered(e); + e.getComponent().setCursor(new Cursor(Cursor.HAND_CURSOR)); + } + }); hutoolLabel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { @@ -268,13 +294,13 @@ public void mouseEntered(MouseEvent e) { e.getComponent().setCursor(new Cursor(Cursor.HAND_CURSOR)); } }); - vsCodeIconsLabel.addMouseListener(new MouseAdapter() { + iconFontLabel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { super.mouseClicked(e); Desktop desktop = Desktop.getDesktop(); try { - desktop.browse(new URI("https://github.com/microsoft/vscode-icons")); + desktop.browse(new URI("https://www.iconfont.cn/")); } catch (IOException | URISyntaxException e1) { e1.printStackTrace(); } @@ -328,12 +354,12 @@ private void onOK() { */ private void $$$setupUI$$$() { contentPane = new JPanel(); - contentPane.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.setLayout(new GridLayoutManager(1, 1, new Insets(20, 20, 20, 20), -1, -1)); scrollPane = new JScrollPane(); contentPane.add(scrollPane, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); scrollPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null)); final JPanel panel1 = new JPanel(); - panel1.setLayout(new GridLayoutManager(9, 2, new Insets(40, 40, 40, 0), -1, -1)); + panel1.setLayout(new GridLayoutManager(9, 2, new Insets(0, 0, 0, 0), -1, -1)); scrollPane.setViewportView(panel1); panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null)); logoLabel = new JLabel(); @@ -349,7 +375,7 @@ private void onOK() { panel1.add(panel2, new GridConstraints(1, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); panel2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), "MooInfo", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, this.$$$getFont$$$(null, Font.BOLD, 20, panel2.getFont()), new Color(-4425028))); final JLabel label1 = new JLabel(); - label1.setText("A visual implementation of OSHI, to view information about the system and hardware"); + label1.setText("Visual implementation of OSHI, to view information about the system and hardware"); panel2.add(label1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); authorLabel = new JLabel(); authorLabel.setText("Proudly by RememBerBer 周波"); @@ -361,24 +387,21 @@ private void onOK() { versionLabel.setToolTipText("Check for updates"); panel2.add(versionLabel, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JPanel panel3 = new JPanel(); - panel3.setLayout(new GridLayoutManager(5, 1, new Insets(5, 3, 20, 0), -1, -1)); + panel3.setLayout(new GridLayoutManager(4, 1, new Insets(5, 3, 20, 0), -1, -1)); panel1.add(panel3, new GridConstraints(2, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); panel3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), "About", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, this.$$$getFont$$$(null, Font.BOLD, -1, panel3.getFont()), null)); final JLabel label2 = new JLabel(); label2.setText("Hi. Thanks to use MooInfo. \"Moo\" named from my daughter."); panel3.add(label2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JLabel label3 = new JLabel(); - label3.setText("Less Java developer use Swing building projects, but I still love to develop by it."); + label3.setText("I developed this app like my daughter's building toy blocks, "); panel3.add(label3, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JLabel label4 = new JLabel(); - label4.setText("So every little free time, I had went towards the development."); + label4.setText("just putting the off-the-shelf open source tools together."); panel3.add(label4, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JLabel label5 = new JLabel(); - label5.setText("I did some works finaly, although there are so many same on web page."); + label5.setText("Hope you enjoy using it as much as I did building it."); panel3.add(label5, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - final JLabel label6 = new JLabel(); - label6.setText("Hope you enjoy using it as much as I did building it."); - panel3.add(label6, new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JPanel panel4 = new JPanel(); panel4.setLayout(new GridLayoutManager(2, 1, new Insets(5, 3, 20, 0), -1, -1)); panel1.add(panel4, new GridConstraints(3, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); @@ -397,18 +420,24 @@ private void onOK() { issueLabel.setText("https://github.com/rememberber/MooInfo/issues"); panel5.add(issueLabel, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JPanel panel6 = new JPanel(); - panel6.setLayout(new GridLayoutManager(3, 1, new Insets(5, 3, 20, 0), -1, -1)); + panel6.setLayout(new GridLayoutManager(5, 1, new Insets(5, 3, 20, 0), -1, -1)); panel1.add(panel6, new GridConstraints(5, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); panel6.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), "THANKS TO", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, this.$$$getFont$$$(null, Font.BOLD, -1, panel6.getFont()), null)); flatLafLabel = new JLabel(); flatLafLabel.setText("FlatLaf"); panel6.add(flatLafLabel, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + oshiLabel = new JLabel(); + oshiLabel.setText("oshi"); + panel6.add(oshiLabel, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); hutoolLabel = new JLabel(); hutoolLabel.setText("Hutool"); - panel6.add(hutoolLabel, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - vsCodeIconsLabel = new JLabel(); - vsCodeIconsLabel.setText("vscode-icons"); - panel6.add(vsCodeIconsLabel, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + panel6.add(hutoolLabel, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + iconFontLabel = new JLabel(); + iconFontLabel.setText("iconfont"); + panel6.add(iconFontLabel, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label6 = new JLabel(); + label6.setText("Some codes and feature were copied from the demo project of oshi."); + panel6.add(label6, new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JPanel panel7 = new JPanel(); panel7.setLayout(new GridLayoutManager(1, 1, new Insets(5, 3, 20, 0), -1, -1)); panel1.add(panel7, new GridConstraints(6, 0, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); diff --git a/src/main/java/com/luoboduner/moo/info/ui/dialog/SettingDialog.java b/src/main/java/com/luoboduner/moo/info/ui/dialog/SettingDialog.java index 1eb30b3..1e5a0c2 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/dialog/SettingDialog.java +++ b/src/main/java/com/luoboduner/moo/info/ui/dialog/SettingDialog.java @@ -7,6 +7,7 @@ import com.intellij.uiDesigner.core.Spacer; import com.luoboduner.moo.info.App; import com.luoboduner.moo.info.util.ComponentUtil; +import com.luoboduner.moo.info.util.ScrollUtil; import javax.swing.*; import javax.swing.border.TitledBorder; @@ -46,8 +47,7 @@ public void windowClosing(WindowEvent e) { contentPane.registerKeyboardAction(e -> onOK(), KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); // Set the scroll bar speed - settingScrollPane.getVerticalScrollBar().setUnitIncrement(16); - settingScrollPane.getVerticalScrollBar().setDoubleBuffered(true); + ScrollUtil.smoothPane(settingScrollPane); // routine autoCheckUpdateCheckBox.setSelected(App.config.isAutoCheckUpdate()); diff --git a/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateDialog.form b/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateDialog.form index 084f7c4..6180000 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateDialog.form +++ b/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateDialog.form @@ -34,7 +34,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateDialog.java b/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateDialog.java index 46e6b11..9a7dfb6 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateDialog.java +++ b/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateDialog.java @@ -158,13 +158,13 @@ private void onCancel() { panel2.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); panel1.add(panel2, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); buttonOK = new JButton(); - buttonOK.setText("立即安装"); + buttonOK.setText("Install Now"); panel2.add(buttonOK, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); buttonCancel = new JButton(); - buttonCancel.setText("取消"); + buttonCancel.setText("Cancel"); panel2.add(buttonCancel, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); buttonDownloadFromWeb = new JButton(); - buttonDownloadFromWeb.setText("打开下载页面"); + buttonDownloadFromWeb.setText("Open Download Page"); panel2.add(buttonDownloadFromWeb, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JPanel panel3 = new JPanel(); panel3.setLayout(new GridLayoutManager(4, 1, new Insets(0, 0, 0, 0), -1, -1)); diff --git a/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateInfoDialog.form b/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateInfoDialog.form index 479456c..f0bbc7a 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateInfoDialog.form +++ b/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateInfoDialog.form @@ -34,7 +34,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateInfoDialog.java b/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateInfoDialog.java index 948743e..d3cdd68 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateInfoDialog.java +++ b/src/main/java/com/luoboduner/moo/info/ui/dialog/UpdateInfoDialog.java @@ -9,6 +9,7 @@ import lombok.Getter; import javax.swing.*; +import javax.swing.border.TitledBorder; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.StyleSheet; import java.awt.*; @@ -128,10 +129,10 @@ public void setHtmlText(String htmlText) { panel2.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); panel1.add(panel2, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); buttonOK = new JButton(); - buttonOK.setText("立即下载"); + buttonOK.setText("Download Now"); panel2.add(buttonOK, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); buttonCancel = new JButton(); - buttonCancel.setText("取消"); + buttonCancel.setText("Cancel"); panel2.add(buttonCancel, new GridConstraints(0, 1, 1, 2, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final Spacer spacer2 = new Spacer(); panel1.add(spacer2, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); @@ -140,6 +141,7 @@ public void setHtmlText(String htmlText) { contentPane.add(panel3, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); final JScrollPane scrollPane1 = new JScrollPane(); panel3.add(scrollPane1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); + scrollPane1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(), null, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null)); textPane1 = new JTextPane(); textPane1.setEditable(false); textPane1.setMargin(new Insets(80, 28, 3, 28)); diff --git a/src/main/java/com/luoboduner/moo/info/ui/frame/MainFrame.java b/src/main/java/com/luoboduner/moo/info/ui/frame/MainFrame.java index dd7e6e4..9554bb7 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/frame/MainFrame.java +++ b/src/main/java/com/luoboduner/moo/info/ui/frame/MainFrame.java @@ -1,11 +1,11 @@ package com.luoboduner.moo.info.ui.frame; import cn.hutool.core.thread.ThreadUtil; +import com.formdev.flatlaf.extras.FlatSVGUtils; import com.luoboduner.moo.info.ui.UiConsts; import com.luoboduner.moo.info.ui.component.TopMenuBar; import com.luoboduner.moo.info.ui.listener.FrameListener; import com.luoboduner.moo.info.util.ComponentUtil; -import com.luoboduner.moo.info.util.FrameUtil; import javax.swing.*; @@ -20,11 +20,14 @@ public class MainFrame extends JFrame { public void init() { this.setName(UiConsts.APP_NAME); this.setTitle(UiConsts.APP_NAME); - FrameUtil.setFrameIcon(this); +// FrameUtil.setFrameIcon(this); + setIconImages(FlatSVGUtils.createWindowIconImages("/icons/MooInfo.svg")); TopMenuBar topMenuBar = TopMenuBar.getInstance(); topMenuBar.init(); setJMenuBar(topMenuBar); - ComponentUtil.setPreferSizeAndLocateToCenter(this, 0.8, 0.88); + ComponentUtil.setPreferSizeAndLocateToCenter(this, 0.6, 0.8); + + FrameListener.addListeners(); } /** diff --git a/src/main/java/com/luoboduner/moo/info/util/ConfigUtil.java b/src/main/java/com/luoboduner/moo/info/util/ConfigUtil.java index 283533d..ff4d449 100644 --- a/src/main/java/com/luoboduner/moo/info/util/ConfigUtil.java +++ b/src/main/java/com/luoboduner/moo/info/util/ConfigUtil.java @@ -65,11 +65,7 @@ public void setBeforeVersion(String beforeVersion) { } public String getTheme() { - if (SystemUtil.isLinuxOs()) { - return setting.getStr("theme", "setting.appearance", "System Default"); - } else { - return setting.getStr("theme", "setting.appearance", "Dark purple"); - } + return setting.getStr("theme", "setting.appearance", "Dark purple"); } public void setTheme(String theme) { diff --git a/src/main/java/com/luoboduner/moo/info/util/FrameUtil.java b/src/main/java/com/luoboduner/moo/info/util/FrameUtil.java deleted file mode 100644 index 0da3a53..0000000 --- a/src/main/java/com/luoboduner/moo/info/util/FrameUtil.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.luoboduner.moo.info.util; - -import com.google.common.collect.Lists; -import com.luoboduner.moo.info.ui.UiConsts; - -import javax.swing.*; -import java.awt.*; -import java.util.List; - -/** - *
- * FrameUtil
- * 
- * - * @author RememBerBer - * @since 2021/11/08. - */ -public class FrameUtil { - - public static void setFrameIcon(JFrame jFrame) { - List images = Lists.newArrayList(); - images.add(UiConsts.IMAGE_LOGO_1024); - images.add(UiConsts.IMAGE_LOGO_512); - images.add(UiConsts.IMAGE_LOGO_256); - images.add(UiConsts.IMAGE_LOGO_128); - images.add(UiConsts.IMAGE_LOGO_64); - images.add(UiConsts.IMAGE_LOGO_48); - images.add(UiConsts.IMAGE_LOGO_32); - images.add(UiConsts.IMAGE_LOGO_24); - images.add(UiConsts.IMAGE_LOGO_16); - jFrame.setIconImages(images); - } -} diff --git a/src/main/java/com/luoboduner/moo/info/util/ScrollUtil.java b/src/main/java/com/luoboduner/moo/info/util/ScrollUtil.java new file mode 100644 index 0000000..a5301cd --- /dev/null +++ b/src/main/java/com/luoboduner/moo/info/util/ScrollUtil.java @@ -0,0 +1,19 @@ +package com.luoboduner.moo.info.util; + +import javax.swing.*; + +/** + * some functions about scroll + * + * @author RememBerBer + * @since 2021/11/23. + */ +public class ScrollUtil { + + public static void smoothPane(JScrollPane scrollPane) { + scrollPane.getVerticalScrollBar().setUnitIncrement(14); + scrollPane.getHorizontalScrollBar().setUnitIncrement(14); + scrollPane.getVerticalScrollBar().setDoubleBuffered(true); + scrollPane.getHorizontalScrollBar().setDoubleBuffered(true); + } +} diff --git a/src/main/java/com/luoboduner/moo/info/util/UIUtil.java b/src/main/java/com/luoboduner/moo/info/util/UIUtil.java index 6f09989..cf8c3ca 100644 --- a/src/main/java/com/luoboduner/moo/info/util/UIUtil.java +++ b/src/main/java/com/luoboduner/moo/info/util/UIUtil.java @@ -59,6 +59,7 @@ public static boolean isDarkLaf() { || "Darcula(Recommended)".equals(App.config.getTheme()) || "Flat Dark".equals(App.config.getTheme()) || "Flat Darcula".equals(App.config.getTheme()) + || "Dark purple".equals(App.config.getTheme()) || "Flat Darcula(Recommended)".equals(App.config.getTheme()); } } diff --git a/src/main/resources/icons/MooInfo.svg b/src/main/resources/icons/MooInfo.svg new file mode 100644 index 0000000..64500f0 --- /dev/null +++ b/src/main/resources/icons/MooInfo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main/resources/icons/logo-1024.png b/src/main/resources/icons/logo-1024.png deleted file mode 100644 index ceffd98..0000000 Binary files a/src/main/resources/icons/logo-1024.png and /dev/null differ diff --git a/src/main/resources/icons/logo-128.svg b/src/main/resources/icons/logo-128.svg new file mode 100644 index 0000000..17dde3f --- /dev/null +++ b/src/main/resources/icons/logo-128.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main/resources/icons/logo-16.png b/src/main/resources/icons/logo-16.png deleted file mode 100644 index 8e82a50..0000000 Binary files a/src/main/resources/icons/logo-16.png and /dev/null differ diff --git a/src/main/resources/icons/logo-24.png b/src/main/resources/icons/logo-24.png deleted file mode 100644 index 6d2471e..0000000 Binary files a/src/main/resources/icons/logo-24.png and /dev/null differ diff --git a/src/main/resources/icons/logo-256.png b/src/main/resources/icons/logo-256.png deleted file mode 100644 index 6b1d1b4..0000000 Binary files a/src/main/resources/icons/logo-256.png and /dev/null differ diff --git a/src/main/resources/icons/logo-32.png b/src/main/resources/icons/logo-32.png deleted file mode 100644 index 994918d..0000000 Binary files a/src/main/resources/icons/logo-32.png and /dev/null differ diff --git a/src/main/resources/icons/logo-48.png b/src/main/resources/icons/logo-48.png deleted file mode 100644 index 9949749..0000000 Binary files a/src/main/resources/icons/logo-48.png and /dev/null differ diff --git a/src/main/resources/icons/logo-64.png b/src/main/resources/icons/logo-64.png deleted file mode 100644 index 8f7250f..0000000 Binary files a/src/main/resources/icons/logo-64.png and /dev/null differ diff --git a/src/main/resources/theme/Cyan.theme.json b/src/main/resources/theme/Cyan.theme.json deleted file mode 100644 index 021630a..0000000 --- a/src/main/resources/theme/Cyan.theme.json +++ /dev/null @@ -1,293 +0,0 @@ -{ - "name": "Cyan light", - "dark": false, - "author": "Olga Berdnikova", - - "editorScheme": "/themes/cyanScheme.xml", - - "ui": { - "*": { - "background": "#e4e6eb", - "foreground": "#1d1d1d", - - "selectionBackground": "#3eb2c2", - "selectionBackgroundInactive": "#d0d5db", - "selectionInactiveBackground": "#d0d5db", - "lightSelectionBackground": "#d3e4eb", - - "disabledForeground": "#b1b1b1", - "disabledText": "#b1b1b1", - "inactiveForeground": "#b1b1b1", - - "infoForeground": "#787878", - "modifiedItemForeground": "#00a9bf", - - "separatorColor": "#bec5cd", - "borderColor": "#bec5cd", - - "underlineColor": "#0ab0d1" - }, - - "ActionButton": { - "hoverBackground": "#d0d3d9", - "hoverBorderColor": "#d0d3d9", - "pressedBackground": "#c3c7cf", - "pressedBorderColor": "#c3c7cf" - }, - - "Borders": { - "color": "#bec5cd", - "ContrastBorderColor": "#bec5cd" - }, - - "Button": { - "startBorderColor": "#b0b9c3", - "endBorderColor": "#b0b9c3", - "default": { - "foreground": "#FFFFFF", - "startBackground": "#28a4c3", - "endBackground": "#28a4c3", - "startBorderColor": "#258aa4", - "endBorderColor": "#258aa4", - "focusedBorderColor": "#82d3dd" - } - }, - - "ComboBox": { - "background": "#eef0f4", - "nonEditableBackground": "#FFFFFF", - "ArrowButton.background": "#FFFFFF" - }, - "ComboBoxButton.background": "#FFFFFF", - "ComboPopup.border": "1,1,1,1,b0b9c3", - - "CompletionPopup": { - "foreground": "#404040", - "infoForeground": "#8c8c8c", - "selectionBackground": "#bce2e6", - "selectionInactiveBackground": "#d7dbe0", - "matchForeground": "#00a0d1", - "selectionForeground": "#404040", - "selectionInfoForeground": "#8c8c8c", - "matchSelectionForeground": "#00a0d1" - }, - - "Component": { - "borderColor": "#b0b9c3", - "focusedBorderColor": "#31b1d0", - "focusColor": "#5fc5de" - }, - - "Counter": { - "background": "#9AA7B0", - "foreground": "#FFFFFF" - }, - - "DefaultTabs": { - "inactiveUnderlineColor": "#8699a6", - "hoverBackground": "#ced2d9" - }, - - "DragAndDrop": { - "areaBackground": "#4cb2c733" - }, - - "Editor": { - "background": "#d0d3d9", - "foreground": "#808080", - "shortcutForeground": "#1b9bb6" - }, - - "EditorPane.inactiveBackground": "#e4e6eb", - - "EditorTabs": { - "selectedBackground": "#f3f3f3", - "inactiveMaskColor": "#4752661A", - - "underlineColor": "#29abcb", - - "underlinedTabBackground": "#f2f4f5", - "inactiveColoredFileBackground": "#a6a9b350", - "hoverBackground": "#b9bdc999" - }, - - "DebuggerTabs.selectedBackground": "#e4e6eb", - - "FileColor.Yellow": "#f2efda", - "FileColor.Green": "#d8f0e2", - "FileColor.Blue": "#d3f0f4", - - "Label.errorForeground": "#C7222D", - - "Link": { - "activeForeground": "#009eb3", - "hoverForeground": "#009eb3", - "pressedForeground": "#009eb3", - "visitedForeground": "#009eb3", - "secondaryForeground": "#7ac2cc" - }, - - "List.background": "#eef0f4", - - "Notification": { - "MoreButton.innerBorderColor": "#bec5cd", - "errorBackground": "#f5e1e4", - "errorBorderColor": "#e695a3", - "ToolWindow": { - "informativeBackground": "#ccedcf", - "informativeBorderColor": "#8ebd91", - "warningBackground": "#f0e4c0", - "warningBorderColor": "#d9b857", - "errorBackground": "#fad7dd", - "errorBorderColor": "#e68a99" - } - }, - - "PasswordField.background": "#FFFFFF", - - "Plugins": { - "background": "#f5f7fa", - "SearchField.background": "#FFFFFF", - "SectionHeader.foreground": "#808080", - "SectionHeader.background": "#edeef2", - "Tab.selectedBackground": "#cacccf", - "Tab.hoverBackground": "#cacccf" - }, - - "Popup": { - "Header": { - "activeBackground": "#d6dae5", - "inactiveBackground": "#d6dae5" - }, - - "separatorColor": "#bec5cd", - "separatorForeground": "#919699", - - "Advertiser": { - "foreground": "#787878", - "background": "#e4e6eb", - "borderColor": "#e4e6eb" - } - }, - - "ProgressBar": { - "trackColor": "#c4c9d5", - "progressColor": "#2b9cb8", - "indeterminateStartColor": "#b8dde6", - "indeterminateEndColor": "#2b9cb8", - "passedEndColor": "#bcebd5", - "passedColor": "#1eb070", - "failedEndColor": "#e6b8bf", - "failedColor": "#dc445d" - }, - - "SearchEverywhere": { - "SearchField.background": "#FFFFFF", - "Tab.selectedBackground": "#d1d4d4", - "Advertiser.foreground": "#787878" - }, - - "SearchMatch": { - "startBackground": "#ffc466", - "endBackground": "#FFC466" - }, - - "SidePanel.background": "#e4e6eb", - - "SpeedSearch": { - "background": "#FFFFFF", - "errorForeground": "#C7222D" - }, - - "TabbedPane": { - "hoverColor": "#ced2d9", - "focusColor": "#dbebed", - "contentAreaColor": "#bec5cd" - }, - - "Table": { - "background": "#eef0f4", - "hoverBackground": "#C3D2E366" - }, - - "TableHeader": { - "cellBorder": "3,0,3,0", - "background": "#e9ecf0", - "bottomSeparatorColor": "#dfe2e6" - }, - - "TextArea.background": "#FFFFFF", - - "TextField.background": "#FFFFFF", - - "ToggleButton": { - "onBackground": "#28a4c3", - "offForeground": "#787878", - "buttonColor": "#b0b9c3", - "borderColor": "#b0b9c3" - }, - - "ToolTip": { - "background": "#f3f6fb", - "Actions.background": "#e4e6eb" - }, - - "ToolWindow": { - "Header": { - "background": "#d8dee8", - "inactiveBackground": "#e4e6eb" - }, - "HeaderTab": { - "selectedBackground": "#b9bec7", - "hoverBackground": "#b9bdc999", - "selectedInactiveBackground": "#CED1D6", - "hoverInactiveBackground": "#b9bdc999" - }, - "Button": { - "selectedBackground": "#C3C6C9", - "hoverBackground": "#C3C6C9" - } - }, - - "Tree.background": "#eef0f4", - - "WelcomeScreen": { - "Details.background": "#eef0f4", - "Projects.actions.background": "#E1E4EB" - } - }, - - "icons": { - "ColorPalette": { - "Actions.Grey": "#696d78", - "Actions.Red": "#e0516b", - "Actions.Blue": "#348def", - "Actions.Green": "#29a66c", - "Actions.Yellow": "#e3b610", - - "Objects.Grey": "#858994", - "Objects.RedStatus": "#dc445d", - "Objects.Red": "#de4765", - "Objects.Pink": "#f070a5", - "Objects.Yellow": "#e6ba29", - "Objects.Green": "#1eb070", - "Objects.Blue": "#499df2", - "Objects.Purple": "#bc8af2", - "Objects.YellowDark": "#b79108", - "Objects.BlackText": "#26282b", - - "Checkbox.Background.Default": "#f3f3f3", - "Checkbox.Border.Default": "#8a9199", - "Checkbox.Background.Selected": "#28a4c3", - "Checkbox.Border.Selected": "#2896b2", - "Checkbox.Foreground.Selected": "#FFFFFF", - "Checkbox.Focus.Wide": "#5fc5de", - "Checkbox.Focus.Thin.Default": "#98a0aa4c", - "Checkbox.Focus.Thin.Selected": "#82d3dd", - "Checkbox.Background.Disabled": "#e4e6eb", - "Checkbox.Border.Disabled": "#babfc4", - "Checkbox.Foreground.Disabled": "#babfc4" - } - } - -} \ No newline at end of file diff --git a/src/main/resources/theme/DarkPurple.theme.json b/src/main/resources/theme/DarkPurple.theme.json deleted file mode 100644 index 2cfc2ba..0000000 --- a/src/main/resources/theme/DarkPurple.theme.json +++ /dev/null @@ -1,421 +0,0 @@ -{ - "name": "Dark purple", - "dark": true, - "author": "JetBrains", - - "editorScheme": "/themes/darkPurpleScheme.xml", - - "ui": { - "*": { - "background": "#2C2C3B", - "foreground": "#D0D0D9", - - "infoForeground": "#6d6a80", - - "selectionBackground": "#713a91", - "selectionForeground": "#D0D0D9", - "selectionInactiveBackground": "#3d3952", - "selectionBackgroundInactive": "#3d3952", - - "lightSelectionBackground": "#3a324a", - "lightSelectionForeground": "#D0D0D9", - "lightSelectionInactiveBackground": "#3d3952", - "lightSelectionInactiveForeground":"#D0D0D9", - - "disabledBackground": "#2C2C3B", - "inactiveBackground": "#2C2C3B", - - "disabledForeground": "#646078", - "disabledText": "#646078", - "inactiveForeground": "#646078", - - "acceleratorForeground": "#D0D0D9", - "acceleratorSelectionForeground": "#D0D0D9", - - "errorForeground": "#dd3962", - - "borderColor": "#4E4C63", - "disabledBorderColor": "#45405C", - - "focusColor": "#693687", - "focusedBorderColor": "#814F9E", - - "separatorForeground": "#6d6a80", - "separatorColor": "#4e4b61", - "lineSeparatorColor": "#55506b", - - "modifiedItemForeground": "#b279f2" - }, - - "ActionButton": { - "hoverBackground": "#453e57", - "hoverBorderColor": "#453E57", - "pressedBackground": "#49415c", - "pressedBorderColor": "#49415C", - "focusedBorderColor": "#476fcc" - }, - - "Button": { - "startBackground": "#45405C", - "endBackground": "#45405C", - "startBorderColor": "#544F70", - "endBorderColor": "#544F70", - "shadowColor": "#27282B", - - "default": { - "foreground": "#D0D0D9", - "startBackground": "#6B388F", - "endBackground": "#6B388F", - "startBorderColor": "#7C519C", - "endBorderColor": "#7C519C", - "focusedBorderColor": "#8465a6", - "focusColor": "#784299", - "shadowColor": "#27282B" - } - }, - - "Borders": { - "color": "#1a1721", - "ContrastBorderColor": "#1a1721" - }, - - "ComboBox": { - "nonEditableBackground": "#3A384D", - "background": "#343445", - "ArrowButton": { - "iconColor": "#9A97A8", - "disabledIconColor": "#454554", - "nonEditableBackground": "#3A384D" - } - }, - - "ComboPopup.border": "1,1,1,1,64647A", - - "CompletionPopup": { - "matchForeground": "#ED94FF", - "matchSelectionForeground": "#ED94FF", - "selectionInactiveBackground": "#44405c", - "nonFocusedMask": "#00000033", - "selectionBackground": "#623380" - }, - - "Component": { - "errorFocusColor": "#993750", - "inactiveErrorFocusColor": "#522530", - "warningFocusColor": "#8c812b", - "inactiveWarningFocusColor": "#47441f", - "iconColor": "#77728fCC", - "hoverIconColor": "#8b85a6" - }, - - "Counter": { - "background": "#FFFFFF80", - "foreground": "#000000" - }, - - "DebuggerPopup.borderColor": "#524e66", - - "DebuggerTabs.selectedBackground": "#332C40", - - "DefaultTabs": { - "underlineColor": "#9649cc", - "inactiveUnderlineColor": "#877399", - "hoverBackground": "#dfb3ff1a" - }, - - "DragAndDrop": { - "areaForeground": "#D0D0D9", - "areaBackground": "#5d476680", - "areaBorderColor": "#343142" - }, - - "Editor": { - "background": "#1D1D26", - "foreground": "#6d6a80", - "shortcutForeground": "#6E86FF" - }, - - "EditorPane.inactiveBackground": "#2C2C3B", - - "EditorTabs": { - "selectedForeground": "#D0D0D9", - "selectedBackground": "#343445", - "inactiveMaskColor": "#0d0d0d33", - - "underlineColor": "#904ac2", - - "underlinedTabBackground": "#363647", - "inactiveColoredFileBackground": "#2C2C3B80", - - "borderColor": "#1a1721" - }, - - "FileColor": { - "Yellow": "#45243b", - "Green": "#213d37", - "Blue": "#1f3557", - "Violet": "#2a2754", - "Orange": "#402e23", - "Rose": "#4a2d59" - }, - - "InplaceRefactoringPopup.borderColor": "#474359", - - "Link": { - "activeForeground": "#7094ff", - "hoverForeground": "#7094FF", - "pressedForeground": "#7094FF", - "visitedForeground": "#7094FF" - }, - - "MenuBar.borderColor": "#1a1721", - - "NavBar.borderColor": "#1a1721", - - "Notification": { - "background": "#3d394d", - "borderColor": "#57506e", - - "errorForeground": "#D0D0D9", - "errorBackground": "#4d232e", - "errorBorderColor": "#802e44", - - "MoreButton.innerBorderColor": "#1a1721", - - "ToolWindow": { - "informativeForeground": "#D0D0D9", - "informativeBackground": "#2e4280", - "informativeBorderColor": "#17254d", - - "warningForeground": "#D0D0D9", - "warningBackground": "#735822", - "warningBorderColor": "#403013", - - "errorForeground": "#D0D0D9", - "errorBackground": "#802d43", - "errorBorderColor": "#4d1c2b" - } - }, - - "MemoryIndicator": { - "allocatedBackground": "#352140", - "usedBackground": "#533473" - }, - - "ParameterInfo": { - "background": "#463f57", - "foreground": "#ababb3", - "infoForeground": "ababb3", - "currentOverloadBackground": "#6A6173", - "currentParameterForeground": "#D0D0D9" - }, - - "Plugins": { - "Tab": { - "selectedForeground": "#D0D0D9", - "selectedBackground": "#593f73", - "hoverBackground": "#593F73" - }, - - "SearchField.borderColor": "#1a1721", - "SearchField.background": "#252533", - "SectionHeader.background": "#3d3952", - "tagBackground": "#4c4766", - "tagForeground": "#D0D0D9", - - "Button": { - "installForeground": "#8862b3", - "installBorderColor":"#8862b3", - "installFillForeground": "#D0D0D9", - "installFillBackground": "#713a91", - "updateForeground":"#D0D0D9", - "updateBackground": "#713a91", - "updateBorderColor": "#713a91" - } - }, - - "Popup": { - "paintBorder": true, - "borderColor": "#4e4b61", - "inactiveBorderColor": "#343142", - "Toolbar.borderColor": "#1a1721", - "Header.activeBackground": "#453A5C", - "Header.inactiveBackground": "#453A5C", - "Advertiser": { - "foreground": "#8785a6", - "borderColor": "#4e4b61", - "borderInsets": "4,8,3,0" - } - }, - - "PopupMenu": { - "borderWidth": 1, - "borderInsets": "4,1,4,1" - }, - - "ProgressBar": { - "trackColor": "#1D1D26", - "progressColor": "#a85ed6", - "indeterminateStartColor": "#a85ed6", - "indeterminateEndColor": "#402e4d", - "failedColor": "#bd3c5f", - "failedEndColor": "#472c33", - "passedColor": "#239E62", - "passedEndColor": "#2b4242" - }, - - "SearchEverywhere": { - "Header.background": "#3a394d", - "Tab": { - "selectedForeground": "#D0D0D9", - "selectedBackground": "#5c3d7a" - }, - "SearchField":{ - "background": "#252533", - "borderColor": "#1a1721" - }, - "Advertiser.foreground": "#8785a6" - }, - - "SearchMatch": { - "startBackground": "#cca929", - "endBackground": "#cca929" - }, - - "SearchOption.selectedBackground": "#424885", - - "SpeedSearch": { - "foreground": "#D0D0D9", - "borderColor": "#69418c", - "background": "#5c3a7a", - "errorForeground": "#ff80a1" - }, - - "StatusBar.borderColor": "#1a1721", - - "TabbedPane": { - "underlineColor": "#9649cc", - "disabledUnderlineColor": "#5e5b6b", - "contentAreaColor": "#1a1721", - "hoverColor": "#dfb3ff1a", - "focusColor": "#523366" - }, - - "TableHeader": { - "cellBorder": "3,0,3,0", - "background": "#363445", - "separatorColor": "#1a1721", - "bottomSeparatorColor": "#282430" - }, - - "Table": { - "stripeColor": "#323242", - "hoverBackground": "#00000028" - }, - - "TextArea": { - "background": "#3A384D", - "selectionBackground": "#69418c" - }, - - "TextField": { - "background": "#3A384D", - "selectionBackground": "#69418c" - }, - - "ToggleButton": { - "onForeground": "#D0D0D9", - "onBackground": "#543073", - "offForeground": "#9f9fa6", - "offBackground": "#2C2C3B", - "buttonColor": "#666380", - "borderColor": "#666380" - }, - - "ToolTip": { - "background": "#463f57", - "Actions.background": "#323245", - "infoForeground": "#8985a1", - "shortcutForeground": "#8985A1" - }, - - "ToolWindow": { - "Header": { - "background": "#453A5C", - "inactiveBackground": "#2C2C3B", - "borderColor": "#1a1721" - }, - - "HeaderTab": { - "selectedBackground": "#0a0a0a66", - "selectedInactiveBackground": "#0a0a0a4D", - "hoverBackground": "#dfb3ff1a", - "hoverInactiveBackground": "#dfb3ff1a" - }, - - "Button": { - "hoverBackground": "#1e1e24", - "selectedBackground": "#1e1e24", - "selectedForeground": "#D0D0D9" - } - }, - - "Tree.rowHeight": 20, - - "ValidationTooltip": { - "errorBackground": "#802d43", - "errorBorderColor": "#4d1c2b", - "warningBackground": "#735822", - "warningBorderColor": "#403013" - }, - - "VersionControl": { - "Log.Commit": { - "currentBranchBackground": "#202340", - "unmatchedForeground": "#6d6a80", - "hoveredBackground": "#000000B9" - }, - "FileHistory.Commit.selectedBranchBackground": "#202340" - }, - - "WelcomeScreen": { - "Projects.selectionInactiveBackground": "#713a91", - "separatorColor": "#1a1721", - "Details.background": "#26262E", - "Projects.actions.background": "#343445" - } - }, - - "icons": { - "ColorPalette": { - "Actions.Grey": "#a4a1b3", - "Actions.Red": "#c63a5d", - "Actions.Yellow": "#caba2d", - "Actions.Green": "#25ad6b", - "Actions.Blue": "#4d85ff", - "Actions.GreyInline.Dark": "#9f99bfb3", - - "Objects.Grey": "#9790ad", - "Objects.RedStatus": "#dd3962", - "Objects.Red": "#c63a5d", - "Objects.Pink": "#f98b9e", - "Objects.Yellow": "#caba2d", - "Objects.Green": "#239e62", - "Objects.Blue": "#598bff", - "Objects.Purple": "#af71e0", - "Objects.BlackText": "#000000ff", - "Objects.YellowDark": "#988c26", - "Objects.GreenAndroid": "#78c257", - - "Checkbox.Background.Default.Dark": "#343445", - "Checkbox.Border.Default.Dark": "#756b8c", - "Checkbox.Foreground.Selected.Dark": "#a4a1b3", - "Checkbox.Focus.Wide.Dark": "#723b94", - "Checkbox.Focus.Thin.Default.Dark": "#8a64b3", - "Checkbox.Focus.Thin.Selected.Dark": "#8a64b3", - "Checkbox.Background.Disabled.Dark": "#2C2C3B", - "Checkbox.Border.Disabled.Dark": "#4c4766", - "Checkbox.Foreground.Disabled.Dark": "#565073" - } - } -} diff --git a/src/main/resources/theme/Light.theme.json b/src/main/resources/theme/Light.theme.json deleted file mode 100644 index 531ad96..0000000 --- a/src/main/resources/theme/Light.theme.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "name": "IntelliJ Light", - "dark": false, - "author": "JetBrains", - "editorScheme": "/themes/Light.xml", - - "colors": { - "foreground": "#000000", - "infoPanelForeground": "#808080", - "infoInputForeground": "#999999", - "disabledForeground": "#8C8C8C", - "selectionForeground": "#FFFFFF", - "linkForeground": "#2470B3", - - "border": "#D1D1D1", - "componentBorder": "#C4C4C4", - "lightBorder": "#d9d9d9", - "windowsPopupBorder": "#adadad", - - "panel": "#F2F2F2" - }, - - "ui": { - "*": { - "foreground": "foreground", - "acceleratorForeground": "foreground", - "caretForeground": "foreground", - "selectedForeground": "foreground", - "selectionInactiveForeground": "foreground", - - "selectionBackground": "#2675BF", - "selectionBackgroundInactive": "#D5D5D5", - "selectionInactiveBackground": "#D5D5D5", - - "disabledForeground": "disabledForeground", - "disabledText": "disabledForeground", - "inactiveForeground": "disabledForeground", - - "modifiedItemForeground": "#005ad9", - - "acceleratorSelectionForeground": "selectionForeground", - - "separatorColor": "border", - "separatorForeground": "infoInputForeground" - }, - - "Borders": { - "color": "border", - "ContrastBorderColor": "border" - }, - - "Button": { - "shadowColor": "#A6A6A600", - "startBorderColor": "componentBorder", - "endBorderColor": "componentBorder", - "default": { - "foreground": "selectionForeground", - "startBackground": "#528CC7", - "endBackground": "#4989CC", - "startBorderColor": "#487EB8", - "endBorderColor": "#346DAD", - "shadowColor": "#A6A6A600", - "focusedBorderColor": "#A9C9F5" - } - }, - - "ComboBox": { - "background": "#FFFFFF", - "nonEditableBackground": "#FFFFFF", - "ArrowButton.background": "#fafafa" - }, - - "ComboBoxButton.background": "#FFFFFF", - - "CompletionPopup": { - "selectionBackground": "#c5dffc", - "selectionInactiveBackground": "#e0e0e0" - }, - - "Component": { - "borderColor": "componentBorder", - "infoForeground": "infoInputForeground" - }, - - "DefaultTabs.background": "panel", - - "EditorTabs.underlinedTabBackground": "#ffffff", - - "Editor": { - "background": "#cccccc", - "foreground": "#737373", - "shortcutForeground": "#4274A6" - }, - - "Label": { - "errorForeground": "#C7222D", - "infoForeground": "infoPanelForeground" - }, - - "Link": { - "activeForeground": "linkForeground", - "hoverForeground": "linkForeground", - "pressedForeground": "linkForeground", - "visitedForeground": "linkForeground", - "secondaryForeground": "#77a8d9" - }, - - "Notification": { - "borderColor": "border" - }, - - "Menu.borderColor": "lightBorder", - - "Panel.background": "panel", - - "PasswordField.background": "#FFFFFF", - - "Popup": { - "separatorColor": "lightBorder", - "Advertiser.borderColor": "border", - "borderColor": "windowsPopupBorder" - }, - - "ProgressBar": { - "trackColor": "#D1D1D1", - "progressColor": "#1E82E6", - "indeterminateStartColor": "#91C5F2", - "indeterminateEndColor": "#1E82E6" - }, - - "StatusBar.borderColor": "border", - - "ToolWindow.Header.inactiveBackground": "panel", - - "Tree.rowHeight": 20 - }, - - "icons": { - "ColorPalette": { - "Checkbox.Border.Default": "#b0b0b0", - "Checkbox.Background.Selected": "#4F9EE3", - "Checkbox.Border.Selected": "#4B97D9" - } - } -} \ No newline at end of file