mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 14:00:55 +03:00
Merge main into system-file-chooser
Some checks failed
CI / build (11) (push) Has been cancelled
Fonts / Fonts (inter) (push) Has been cancelled
Fonts / Fonts (jetbrains-mono) (push) Has been cancelled
Fonts / Fonts (roboto) (push) Has been cancelled
Fonts / Fonts (roboto-mono) (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
Some checks failed
CI / build (11) (push) Has been cancelled
Fonts / Fonts (inter) (push) Has been cancelled
Fonts / Fonts (jetbrains-mono) (push) Has been cancelled
Fonts / Fonts (roboto) (push) Has been cancelled
Fonts / Fonts (roboto-mono) (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
This commit is contained in:
58
.github/workflows/ci.yml
vendored
58
.github/workflows/ci.yml
vendored
@@ -20,8 +20,43 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: build (11)
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: gradle/actions/wrapper-validation@v4
|
||||
|
||||
- name: Setup Java 11
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: 11
|
||||
distribution: temurin # pre-installed on ubuntu-latest
|
||||
cache: gradle
|
||||
|
||||
- name: Check with Error Prone
|
||||
run: ./gradlew errorprone clean
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: FlatLaf-build-artifacts
|
||||
path: |
|
||||
flatlaf-*/build/libs
|
||||
flatlaf-*/flatlaf-*/build/libs
|
||||
!**/*-javadoc.jar
|
||||
!**/*-sources.jar
|
||||
|
||||
|
||||
build-on:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
if: github.repository == 'JFormDesigner/FlatLaf'
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
# test against
|
||||
@@ -30,7 +65,6 @@ jobs:
|
||||
# - latest Java version(s)
|
||||
java:
|
||||
- 8
|
||||
- 11 # LTS
|
||||
- 17 # LTS
|
||||
- 21 # LTS
|
||||
- 23 # latest
|
||||
@@ -42,9 +76,6 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: gradle/actions/wrapper-validation@v4
|
||||
if: matrix.java == '8'
|
||||
|
||||
- name: Setup Java ${{ matrix.java }}
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
@@ -52,28 +83,13 @@ jobs:
|
||||
distribution: temurin # Java 8, 11, 17 and 21 are pre-installed on ubuntu-latest
|
||||
cache: gradle
|
||||
|
||||
- name: Check with Error Prone
|
||||
if: matrix.java == '11'
|
||||
run: ./gradlew errorprone clean -Dtoolchain=${{ matrix.toolchain }}
|
||||
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build -Dtoolchain=${{ matrix.toolchain }}
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
if: matrix.java == '11'
|
||||
with:
|
||||
name: FlatLaf-build-artifacts
|
||||
path: |
|
||||
flatlaf-*/build/libs
|
||||
flatlaf-*/flatlaf-*/build/libs
|
||||
!**/*-javadoc.jar
|
||||
!**/*-sources.jar
|
||||
|
||||
|
||||
snapshot:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
needs: build-on
|
||||
if: |
|
||||
github.event_name == 'push' &&
|
||||
(github.ref == 'refs/heads/main' || startsWith( github.ref, 'refs/heads/develop-' )) &&
|
||||
@@ -98,7 +114,7 @@ jobs:
|
||||
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
needs: build-on
|
||||
if: |
|
||||
github.event_name == 'push' &&
|
||||
startsWith( github.ref, 'refs/tags/' ) &&
|
||||
|
||||
23
.github/workflows/natives.yml
vendored
23
.github/workflows/natives.yml
vendored
@@ -21,27 +21,24 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- windows
|
||||
- macos
|
||||
- ubuntu
|
||||
- windows-latest
|
||||
- macos-latest
|
||||
- ubuntu-latest
|
||||
- ubuntu-24.04-arm
|
||||
|
||||
runs-on: ${{ matrix.os }}-latest
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: gradle/actions/wrapper-validation@v4
|
||||
|
||||
- name: install libxt-dev
|
||||
if: matrix.os == 'ubuntu'
|
||||
run: sudo apt install libxt-dev
|
||||
|
||||
- name: install libgtk-3-dev
|
||||
if: matrix.os == 'ubuntu'
|
||||
run: sudo apt install libgtk-3-dev
|
||||
- name: install libxt-dev and libgtk-3-dev
|
||||
if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm'
|
||||
run: sudo apt install libxt-dev libgtk-3-dev
|
||||
|
||||
- name: Download libgtk-3.so for arm64
|
||||
if: matrix.os == 'ubuntu'
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
working-directory: flatlaf-natives/flatlaf-natives-linux/lib/aarch64
|
||||
run: |
|
||||
pwd
|
||||
@@ -54,7 +51,7 @@ jobs:
|
||||
ls -l
|
||||
|
||||
- name: install g++-aarch64-linux-gnu
|
||||
if: matrix.os == 'ubuntu'
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: sudo apt install g++-aarch64-linux-gnu
|
||||
|
||||
- name: Setup Java 11
|
||||
|
||||
@@ -5,6 +5,8 @@ FlatLaf Change Log
|
||||
|
||||
#### New features and improvements
|
||||
|
||||
- macOS: Re-enabled rounded popup border (see PR #772) on macOS 14.4+ (was
|
||||
disabled in 3.5.x).
|
||||
- CheckBox: Support styling indeterminate state of
|
||||
[tri-state check boxes](https://www.javadoc.io/doc/com.formdev/flatlaf-extras/latest/com/formdev/flatlaf/extras/components/FlatTriStateCheckBox.html).
|
||||
(PR #936; issue #919)
|
||||
|
||||
@@ -143,7 +143,7 @@ public interface FlatSystemProperties
|
||||
* (requires Windows 11 or macOS)
|
||||
* <p>
|
||||
* <strong>Allowed Values</strong> {@code false} and {@code true}<br>
|
||||
* <strong>Default</strong> {@code true}; except on macOS 14.4+ where it is {@code false}
|
||||
* <strong>Default</strong> {@code true}; except in FlatLaf 3.5.x on macOS 14.4+ where it was {@code false}
|
||||
*
|
||||
* @since 3.5.2
|
||||
*/
|
||||
|
||||
@@ -365,14 +365,8 @@ public class FlatPopupFactory
|
||||
}
|
||||
|
||||
private static boolean isMacOSBorderSupported() {
|
||||
// do not use rounded border on macOS 14.4+ because it may freeze the application
|
||||
// and crash the macOS WindowServer process (reports vary from Finder restarts to OS restarts)
|
||||
// https://github.com/apache/netbeans/issues/7560#issuecomment-2226439215
|
||||
// https://github.com/apache/netbeans/issues/6647#issuecomment-2070124442
|
||||
boolean isMacOS_14_4_orLater = (SystemInfo.osVersion >= SystemInfo.toVersion( 14, 4, 0, 0 ));
|
||||
|
||||
return SystemInfo.isMacOS &&
|
||||
FlatSystemProperties.getBoolean( FlatSystemProperties.USE_ROUNDED_POPUP_BORDER, !isMacOS_14_4_orLater ) &&
|
||||
FlatSystemProperties.getBoolean( FlatSystemProperties.USE_ROUNDED_POPUP_BORDER, true ) &&
|
||||
FlatNativeMacLibrary.isLoaded();
|
||||
}
|
||||
|
||||
|
||||
BIN
flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/libflatlaf-linux-arm64.so
Normal file → Executable file
BIN
flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/libflatlaf-linux-arm64.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -102,10 +102,13 @@ JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_setW
|
||||
return FALSE;
|
||||
|
||||
[FlatJNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
|
||||
JNI_COCOA_TRY()
|
||||
|
||||
nsWindow.hasShadow = YES;
|
||||
nsWindow.contentView.wantsLayer = YES;
|
||||
nsWindow.contentView.layer.cornerRadius = radius;
|
||||
nsWindow.contentView.layer.masksToBounds = YES;
|
||||
nsWindow.contentView.layer.opaque = NO;
|
||||
|
||||
nsWindow.contentView.layer.borderWidth = borderWidth;
|
||||
if( borderWidth > 0 ) {
|
||||
@@ -122,6 +125,8 @@ JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_setW
|
||||
|
||||
[nsWindow.contentView.layer removeAllAnimations];
|
||||
[nsWindow invalidateShadow];
|
||||
|
||||
JNI_COCOA_CATCH()
|
||||
}];
|
||||
|
||||
return TRUE;
|
||||
@@ -159,6 +164,8 @@ JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_setW
|
||||
WindowData* windowData = getWindowData( nsWindow, true );
|
||||
|
||||
[FlatJNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
|
||||
JNI_COCOA_TRY()
|
||||
|
||||
// NSLog( @"\n%@\n\n", [nsWindow.contentView.superview _subtreeDescription] );
|
||||
|
||||
// add/remove toolbar
|
||||
@@ -237,6 +244,8 @@ JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_setW
|
||||
windowData.didExitFullScreenObserver = nil;
|
||||
}
|
||||
}
|
||||
|
||||
JNI_COCOA_CATCH()
|
||||
}];
|
||||
|
||||
return TRUE;
|
||||
|
||||
Reference in New Issue
Block a user