Merge pull request #839 from igniterealtime/macOS-theme

macOS theme
This commit is contained in:
ilyaHlevnoy 2023-05-09 21:30:13 +03:00 committed by GitHub
commit 4bf003bb50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 27 additions and 5 deletions

View File

@ -238,7 +238,7 @@
<dependency>
<groupId>com.formdev</groupId>
<artifactId>flatlaf</artifactId>
<version>2.6</version>
<version>3.1.1</version>
<type>jar</type>
</dependency>
<dependency>

View File

@ -73,6 +73,7 @@ public class Default {
public static final String FRAME_IMAGE = "FRAME_IMAGE";
public static final String LOOK_AND_FEEL_DISABLED = "LOOK_AND_FEEL_DISABLED";
public static final String DEFAULT_LOOK_AND_FEEL = "DEFAULT_LOOK_AND_FEEL";
public static final String DEFAULT_LOOK_AND_FEEL_MAC = "DEFAULT_LOOK_AND_FEEL_MAC";
public static final String INSTALL_PLUGINS_DISABLED = "INSTALL_PLUGINS_DISABLED";
public static final String UNINSTALL_PLUGINS_DISABLED = "UNINSTALL_PLUGINS_DISABLED";
public static final String ADVANCED_DISABLED = "ADVANCED_DISABLED";

View File

@ -10,7 +10,6 @@ import org.jivesoftware.sparkimpl.settings.local.SettingsManager;
import javax.swing.*;
import java.awt.*;
import java.util.*;
import org.jivesoftware.spark.ui.themes.lafs.SparkLightLaf;
/**
* Manages the Look and Feel instances that can be used by Spark.
@ -25,7 +24,8 @@ public class LookAndFeelManager {
public static final Class<? extends LookAndFeel> lafs[] = new Class[]{
//flatlaf
org.jivesoftware.spark.ui.themes.lafs.SparkLightLaf.class,
org.jivesoftware.spark.ui.themes.lafs.SparkIntelliJLaf.class
org.jivesoftware.spark.ui.themes.lafs.SparkIntelliJLaf.class,
org.jivesoftware.spark.ui.themes.lafs.SparkMacLightLaf.class
};
static {
@ -107,7 +107,7 @@ public class LookAndFeelManager {
private static String getLookandFeel(LocalPreferences preferences) {
String result;
String whereToLook = Default.DEFAULT_LOOK_AND_FEEL;
String whereToLook = Spark.isMac() ? Default.DEFAULT_LOOK_AND_FEEL_MAC : Default.DEFAULT_LOOK_AND_FEEL;
if (!Default.getBoolean(Default.LOOK_AND_FEEL_DISABLED)) {
result = preferences.getLookAndFeel();

View File

@ -0,0 +1,19 @@
package org.jivesoftware.spark.ui.themes.lafs;
import com.formdev.flatlaf.themes.FlatMacLightLaf;
public class SparkMacLightLaf extends FlatMacLightLaf {
public static boolean setup() {
return setup(new SparkMacLightLaf());
}
@Override
public String getName() {
return "SparkMacLightLaf";
}
@Override
public String getDescription() {
return "SparkMacLightLaf Look and Feel";
}
}

View File

@ -966,7 +966,8 @@ public class LocalPreferences {
public String getLookAndFeel() {
String defaultstring;
try {
defaultstring = Default.getString(Default.DEFAULT_LOOK_AND_FEEL);
defaultstring = Spark.isMac() ? Default.getString(Default.DEFAULT_LOOK_AND_FEEL_MAC)
: Default.getString(Default.DEFAULT_LOOK_AND_FEEL);
} catch (Exception e) {
defaultstring = UIManager.getSystemLookAndFeelClassName();
}

View File

@ -318,6 +318,7 @@ CHANGE_COLORS_DISABLED =
# Changes the Default Look&Feel, if empty it will load the SystemSkin
# Default Spark skin is org.jivesoftware.spark.ui.themes.lafs.SparkLightLaf
DEFAULT_LOOK_AND_FEEL = org.jivesoftware.spark.ui.themes.lafs.SparkLightLaf
DEFAULT_LOOK_AND_FEEL_MAC = org.jivesoftware.spark.ui.themes.lafs.SparkMacLightLaf
# tabs are placed on bottom by default. if set to true will be placed on top
TABS_PLACEMENT_TOP =