Skip to content
This repository has been archived by the owner. It is now read-only.

8269984: [macos] JTabbedPane title looks like disabled #269

Closed
wants to merge 2 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -39,40 +39,55 @@ public final class JRSUIUtils {
static boolean isBigSurOrAbove = isMacOSXBigSurOrAbove();
Copy link
Contributor

@prsadhuk prsadhuk Jul 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not required..Need to be removed.

Copy link
Member Author

@azuev-java azuev-java Jul 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not required..Need to be removed.

Done.


public static boolean isMacOSXBigSurOrAbove() {
return currentMacOSXVersionMatchesGivenVersionRange(16, true, false, true);
return currentMacOSXVersionMatchesGivenVersionRange(10, 16, true,
false, true);
}

static boolean isMacOSXLeopard() {
return isCurrentMacOSXVersion(5);
}

static boolean isMacOSXSnowLeopardOrBelow() {
return currentMacOSXVersionMatchesGivenVersionRange(6, true, true, false);
return currentMacOSXVersionMatchesGivenVersionRange(10, 6, true,
true, false);
}

static boolean isCurrentMacOSXVersion(final int version) {
return currentMacOSXVersionMatchesGivenVersionRange(version, true, false, false);
return isCurrentMacOSXVersion(10, version);
}

static boolean isCurrentMacOSXVersion(final int major, final int minor) {
return currentMacOSXVersionMatchesGivenVersionRange(major, minor, true, false, false);
}

static boolean currentMacOSXVersionMatchesGivenVersionRange(
final int version, final boolean inclusive,
final boolean matchBelow, final boolean matchAbove) {
// split the "10.x.y" version number
return currentMacOSXVersionMatchesGivenVersionRange(10, version, inclusive, matchBelow, matchAbove);
}

static boolean currentMacOSXVersionMatchesGivenVersionRange(
final int majorVersion, final int minorVersion, final boolean inclusive,
final boolean matchBelow, final boolean matchAbove) {
// split the "x.y.z" version number
@SuppressWarnings("removal")
String osVersion = AccessController.doPrivileged(new GetPropertyAction("os.version"));
String[] fragments = osVersion.split("\\.");

// sanity check the "10." part of the version
if (!fragments[0].equals("10")) return false;
if (fragments.length < 2) return false;

// check if os.version matches the given version using the given match method
try {
int majorVers = Integer.parseInt(fragments[0]);
int minorVers = Integer.parseInt(fragments[1]);

if (inclusive && minorVers == version) return true;
if (matchBelow && minorVers < version) return true;
if (matchAbove && minorVers > version) return true;
if (inclusive && majorVers == majorVersion && minorVers == minorVersion) return true;
if (matchBelow &&
(majorVers < majorVersion ||
(majorVers == majorVersion && minorVers < minorVersion))) return true;
if (matchAbove &&
(majorVers > majorVersion ||
(majorVers == majorVersion && minorVers > minorVersion))) return true;

} catch (NumberFormatException e) {
// was not an integer