Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 328708 | Differences between
and this patch

Collapse All | Expand All

(-)Eclipse UI/org/eclipse/ui/internal/themes/ColorsAndFontsPreferencePage.java (-15 / +26 lines)
Lines 1024-1030 Link Here
1024
        String id = definition.getId();
1024
        String id = definition.getId();
1025
        RGB updatedRGB = (RGB) colorPreferencesToSet.get(id);
1025
        RGB updatedRGB = (RGB) colorPreferencesToSet.get(id);
1026
        if (updatedRGB == null) {
1026
        if (updatedRGB == null) {
1027
            updatedRGB = (RGB) colorValuesToSet.get(id);
1027
			updatedRGB = colorRegistry.getRGB(id);
1028
            if (updatedRGB == null)
1028
            if (updatedRGB == null)
1029
				updatedRGB = currentTheme.getColorRegistry().getRGB(id);
1029
				updatedRGB = currentTheme.getColorRegistry().getRGB(id);
1030
        }
1030
        }
Lines 1092-1098 Link Here
1092
        String id = definition.getId();
1092
        String id = definition.getId();
1093
        FontData[] updatedFD = (FontData[]) fontPreferencesToSet.get(id);
1093
        FontData[] updatedFD = (FontData[]) fontPreferencesToSet.get(id);
1094
        if (updatedFD == null) {
1094
        if (updatedFD == null) {
1095
            updatedFD = (FontData[]) fontValuesToSet.get(id);
1095
			updatedFD = fontRegistry.getFontData(id);
1096
            if (updatedFD == null)
1096
            if (updatedFD == null)
1097
				updatedFD = currentTheme.getFontRegistry().getFontData(id);
1097
				updatedFD = currentTheme.getFontRegistry().getFontData(id);
1098
        }
1098
        }
Lines 1275-1281 Link Here
1275
    private boolean isDefault(ColorDefinition definition) {
1275
    private boolean isDefault(ColorDefinition definition) {
1276
        String id = definition.getId();
1276
        String id = definition.getId();
1277
1277
1278
        if (colorPreferencesToSet.containsKey(id)) {
1278
		if (colorPreferencesToSet.containsKey(id)) {
1279
			if (colorPreferencesToSet.get(id) == null)
1280
				return true;
1279
            if (definition.getValue() != null) { // value-based color
1281
            if (definition.getValue() != null) { // value-based color
1280
                if (colorPreferencesToSet.get(id).equals(definition.getValue()))
1282
                if (colorPreferencesToSet.get(id).equals(definition.getValue()))
1281
					return true;
1283
					return true;
Lines 1299-1305 Link Here
1299
    private boolean isDefault(FontDefinition definition) {
1301
    private boolean isDefault(FontDefinition definition) {
1300
        String id = definition.getId();
1302
        String id = definition.getId();
1301
1303
1302
        if (fontPreferencesToSet.containsKey(id)) {
1304
		if (fontPreferencesToSet.containsKey(id)) {
1305
			if (fontPreferencesToSet.get(id) == null)
1306
				return true;
1303
            if (definition.getValue() != null) { // value-based font
1307
            if (definition.getValue() != null) { // value-based font
1304
                if (Arrays.equals((FontData[]) fontPreferencesToSet.get(id), definition.getValue()))
1308
                if (Arrays.equals((FontData[]) fontPreferencesToSet.get(id), definition.getValue()))
1305
					return true;
1309
					return true;
Lines 1377-1387 Link Here
1377
            String id = (String) i.next();
1381
            String id = (String) i.next();
1378
            String key = ThemeElementHelper.createPreferenceKey(currentTheme, id);
1382
            String key = ThemeElementHelper.createPreferenceKey(currentTheme, id);
1379
            RGB rgb = (RGB) colorPreferencesToSet.get(id);
1383
            RGB rgb = (RGB) colorPreferencesToSet.get(id);
1380
            String rgbString = StringConverter.asString(rgb);
1384
			if (rgb == null)
1381
            String storeString = getPreferenceStore().getString(key);
1385
				getPreferenceStore().setToDefault(key);
1386
			else {
1387
				String rgbString = StringConverter.asString(rgb);
1388
				String storeString = getPreferenceStore().getString(key);
1382
1389
1383
            if (!rgbString.equals(storeString))
1390
				if (!rgbString.equals(storeString))
1384
                getPreferenceStore().setValue(key, rgbString);
1391
					getPreferenceStore().setValue(key, rgbString);
1392
			}
1385
        }
1393
        }
1386
1394
1387
        colorValuesToSet.clear();
1395
        colorValuesToSet.clear();
Lines 1417-1428 Link Here
1417
            String id = (String) i.next();
1425
            String id = (String) i.next();
1418
            String key = ThemeElementHelper.createPreferenceKey(currentTheme, id);
1426
            String key = ThemeElementHelper.createPreferenceKey(currentTheme, id);
1419
            FontData[] fd = (FontData[]) fontPreferencesToSet.get(id);
1427
            FontData[] fd = (FontData[]) fontPreferencesToSet.get(id);
1428
			if (fd == null)
1429
				getPreferenceStore().setToDefault(key);
1430
			else {
1431
				String fdString = PreferenceConverter.getStoredRepresentation(fd);
1432
				String storeString = getPreferenceStore().getString(key);
1420
1433
1421
            String fdString = PreferenceConverter.getStoredRepresentation(fd);
1434
				if (!fdString.equals(storeString))
1422
            String storeString = getPreferenceStore().getString(key);
1435
					getPreferenceStore().setValue(key, fdString);
1423
1436
			}
1424
            if (!fdString.equals(storeString))
1425
                getPreferenceStore().setValue(key, fdString);
1426
        }
1437
        }
1427
1438
1428
        fontValuesToSet.clear();
1439
        fontValuesToSet.clear();
Lines 1461-1467 Link Here
1461
			if (definition.getDefaultsTo() != null) {
1472
			if (definition.getDefaultsTo() != null) {
1462
				newRGB = getColorAncestorValue(definition);
1473
				newRGB = getColorAncestorValue(definition);
1463
				setDescendantRegistryValues(definition, newRGB);
1474
				setDescendantRegistryValues(definition, newRGB);
1464
				colorPreferencesToSet.remove(definition.getId());
1475
				colorPreferencesToSet.put(definition.getId(), null);
1465
			} else {
1476
			} else {
1466
				newRGB = definition.getValue();
1477
				newRGB = definition.getValue();
1467
				setColorPreferenceValue(definition, newRGB);
1478
				setColorPreferenceValue(definition, newRGB);
Lines 1479-1485 Link Here
1479
			if (definition.getDefaultsTo() != null) {
1490
			if (definition.getDefaultsTo() != null) {
1480
				newFD = getFontAncestorValue(definition);
1491
				newFD = getFontAncestorValue(definition);
1481
				setDescendantRegistryValues(definition, newFD);
1492
				setDescendantRegistryValues(definition, newFD);
1482
				fontPreferencesToSet.remove(definition.getId());
1493
				fontPreferencesToSet.put(definition.getId(), null);
1483
			} else {
1494
			} else {
1484
				newFD = PreferenceConverter.getDefaultFontDataArray(getPreferenceStore(),
1495
				newFD = PreferenceConverter.getDefaultFontDataArray(getPreferenceStore(),
1485
						ThemeElementHelper.createPreferenceKey(currentTheme, definition.getId()));
1496
						ThemeElementHelper.createPreferenceKey(currentTheme, definition.getId()));

Return to bug 328708