Skip to content

Commit

Permalink
Demo: install Inter font only when used; removed JetBrains Mono
Browse files Browse the repository at this point in the history
  • Loading branch information
DevCharly committed May 31, 2022
1 parent be1da6f commit d7ee7a6
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 12 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/fonts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
if: |
github.event_name == 'push' &&
github.repository == 'DevCharly/FlatLaf-private'
github.repository == 'JFormDesigner/FlatLaf'
strategy:
matrix:
Expand All @@ -38,7 +38,7 @@ jobs:
if: startsWith( github.ref, format( 'refs/tags/fonts/{0}-', matrix.font ) )

- name: Release a new stable version to Maven Central
run: ./gradlew publish :flatlaf-fonts-${{ matrix.font }}:build -Drelease=true
run: ./gradlew :flatlaf-fonts-${{ matrix.font }}:build :flatlaf-fonts-${{ matrix.font }}:publish -Drelease=true
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
Expand Down
2 changes: 0 additions & 2 deletions flatlaf-demo/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ dependencies {
implementation( project( ":flatlaf-core" ) )
implementation( project( ":flatlaf-extras" ) )
implementation( project( ":flatlaf-fonts-inter" ) )
implementation( project( ":flatlaf-fonts-jetbrains-mono" ) )
implementation( project( ":flatlaf-intellij-themes" ) )
implementation( "com.miglayout:miglayout-swing:5.3" )
implementation( "com.jgoodies:jgoodies-forms:1.9.0" )
Expand All @@ -34,7 +33,6 @@ tasks {
dependsOn( ":flatlaf-core:jar" )
dependsOn( ":flatlaf-extras:jar" )
dependsOn( ":flatlaf-fonts-inter:jar" )
dependsOn( ":flatlaf-fonts-jetbrains-mono:jar" )
dependsOn( ":flatlaf-intellij-themes:jar" )
// dependsOn( ":flatlaf-natives-jna:jar" )

Expand Down
19 changes: 11 additions & 8 deletions flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
import com.formdev.flatlaf.extras.components.FlatButton;
import com.formdev.flatlaf.extras.components.FlatButton.ButtonType;
import com.formdev.flatlaf.fonts.inter.FlatInterFont;
import com.formdev.flatlaf.fonts.jetbrains_mono.FlatJetBrainsMonoFont;
import com.formdev.flatlaf.icons.FlatAbstractIcon;
import com.formdev.flatlaf.extras.FlatSVGUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
Expand All @@ -65,15 +64,12 @@ class DemoFrame
extends JFrame
{
private final String[] availableFontFamilyNames;
private boolean interFontInstalled;
private int initialFontMenuItemCount = -1;

DemoFrame() {
int tabIndex = DemoPrefs.getState().getInt( FlatLafDemo.KEY_TAB, 0 );

if( SystemInfo.isJava_11_orLater )
FlatInterFont.install();
FlatJetBrainsMonoFont.install();

availableFontFamilyNames = GraphicsEnvironment.getLocalGraphicsEnvironment()
.getAvailableFontFamilyNames().clone();
Arrays.sort( availableFontFamilyNames );
Expand Down Expand Up @@ -285,6 +281,12 @@ private void showHintsChanged() {
private void fontFamilyChanged( ActionEvent e ) {
String fontFamily = e.getActionCommand();

// install Inter font on demand
if( fontFamily.equals( FlatInterFont.FAMILY ) && !interFontInstalled ) {
FlatInterFont.install();
interFontInstalled = true;
}

FlatAnimatedLafChange.showSnapshot();

Font font = UIManager.getFont( "defaultFont" );
Expand Down Expand Up @@ -349,16 +351,17 @@ void updateFontMenuItems() {
fontMenu.addSeparator();
ArrayList<String> families = new ArrayList<>( Arrays.asList(
"Arial", "Cantarell", "Comic Sans MS", "Courier New", "DejaVu Sans",
"Dialog", "Inter", "JetBrains Mono", "Liberation Sans", "Monospaced", "Noto Sans", "Roboto",
"Dialog", "Inter", "Liberation Sans", "Monospaced", "Noto Sans", "Roboto",
"SansSerif", "Segoe UI", "Serif", "Tahoma", "Ubuntu", "Verdana" ) );
if( !families.contains( currentFamily ) )
families.add( currentFamily );
families.sort( String.CASE_INSENSITIVE_ORDER );

ButtonGroup familiesGroup = new ButtonGroup();
for( String family : families ) {
if( Arrays.binarySearch( availableFontFamilyNames, family ) < 0 )
continue; // not available
if( Arrays.binarySearch( availableFontFamilyNames, family ) < 0 &&
!family.equals( FlatInterFont.FAMILY ) )
continue; // not available

JCheckBoxMenuItem item = new JCheckBoxMenuItem( family );
item.setSelected( family.equals( currentFamily ) );
Expand Down

0 comments on commit d7ee7a6

Please sign in to comment.