Changeset 182 for trunk/ICeCoffEE
- Timestamp:
- 05/14/05 02:47:12 (20 years ago)
- Location:
- trunk/ICeCoffEE
- Files:
-
- 3 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE APE.xcode/nicholas.pbxuser
r181 r182 11 11 29B97313FDCFA39411CA2CEA = { 12 12 activeBuildStyle = 4A9504CDFFE6A4B311CA0CBA; 13 activeExecutable = E1 317A3503DF242100050002;14 activeTarget = E1 20DB7308141CCB00BF8DDC;13 activeExecutable = E165AB3C03E7BCDE00050002; 14 activeTarget = E1ABAE8D0812F4B2007C5427; 15 15 addToTargets = ( 16 E1ABAE8D0812F4B2007C5427, 17 E1ABAEBA0812F4B2007C5427, 16 18 ); 17 19 breakpoints = ( … … 169 171 ); 170 172 }; 171 PBXPerProjectTemplateStateSaveDate = 137 300198;173 PBXPerProjectTemplateStateSaveDate = 137730838; 172 174 PBXPrepackagedSmartGroups_v2 = ( 173 175 { … … 644 646 WindowFrame = "{{524, 473}, {756, 352}}"; 645 647 }; 646 PBXWorkspaceStateSaveDate = 137300198; 647 }; 648 perUserProjectItems = { 649 E18B483F082F0CC5000E96F5 = E18B483F082F0CC5000E96F5; 650 E18B4846082F0CF2000E96F5 = E18B4846082F0CF2000E96F5; 651 E18B4847082F0CF2000E96F5 = E18B4847082F0CF2000E96F5; 652 E18B484A082F0CF2000E96F5 = E18B484A082F0CF2000E96F5; 653 E18B497A082F0DFB000E96F5 = E18B497A082F0DFB000E96F5; 654 E18B497B082F0DFB000E96F5 = E18B497B082F0DFB000E96F5; 655 E18B498F082F10DD000E96F5 = E18B498F082F10DD000E96F5; 656 E18B4990082F10DD000E96F5 = E18B4990082F10DD000E96F5; 657 E18B4991082F10DD000E96F5 = E18B4991082F10DD000E96F5; 658 E18B4992082F10DD000E96F5 = E18B4992082F10DD000E96F5; 659 E18B49AC082F12B8000E96F5 = E18B49AC082F12B8000E96F5; 660 E18B49AD082F12B8000E96F5 = E18B49AD082F12B8000E96F5; 661 E18B49AE082F12B8000E96F5 = E18B49AE082F12B8000E96F5; 662 E18B49AF082F12B8000E96F5 = E18B49AF082F12B8000E96F5; 663 E18B49B0082F12B8000E96F5 = E18B49B0082F12B8000E96F5; 664 E18B49B1082F12B8000E96F5 = E18B49B1082F12B8000E96F5; 665 E18B49B2082F12B8000E96F5 = E18B49B2082F12B8000E96F5; 666 E18B49B3082F12B8000E96F5 = E18B49B3082F12B8000E96F5; 667 E18B49B6082F12BD000E96F5 = E18B49B6082F12BD000E96F5; 668 E18B49BF082F12FB000E96F5 = E18B49BF082F12FB000E96F5; 669 E18B49C0082F12FB000E96F5 = E18B49C0082F12FB000E96F5; 670 E18B49C1082F12FB000E96F5 = E18B49C1082F12FB000E96F5; 671 E18B49C2082F12FB000E96F5 = E18B49C2082F12FB000E96F5; 672 E18B49C3082F12FB000E96F5 = E18B49C3082F12FB000E96F5; 673 E18B49C6082F1309000E96F5 = E18B49C6082F1309000E96F5; 674 E18B49C7082F1309000E96F5 = E18B49C7082F1309000E96F5; 675 E18B49DC082F1726000E96F5 = E18B49DC082F1726000E96F5; 676 E18B49DE082F1726000E96F5 = E18B49DE082F1726000E96F5; 677 E18B49E6082F18B7000E96F5 = E18B49E6082F18B7000E96F5; 678 E18B49E7082F18B7000E96F5 = E18B49E7082F18B7000E96F5; 679 E18B49E8082F18B7000E96F5 = E18B49E8082F18B7000E96F5; 680 E18B49E9082F18B7000E96F5 = E18B49E9082F18B7000E96F5; 681 E18B49EA082F18B7000E96F5 = E18B49EA082F18B7000E96F5; 682 E18B49EB082F18B7000E96F5 = E18B49EB082F18B7000E96F5; 683 E18B49EC082F18B7000E96F5 = E18B49EC082F18B7000E96F5; 684 E18B49ED082F18B7000E96F5 = E18B49ED082F18B7000E96F5; 685 E18B49EE082F18B7000E96F5 = E18B49EE082F18B7000E96F5; 686 E18B49EF082F18B7000E96F5 = E18B49EF082F18B7000E96F5; 687 E18B49F0082F18B7000E96F5 = E18B49F0082F18B7000E96F5; 688 E18B49F1082F18B7000E96F5 = E18B49F1082F18B7000E96F5; 689 E18B49F2082F18B7000E96F5 = E18B49F2082F18B7000E96F5; 690 E18B49F3082F18B7000E96F5 = E18B49F3082F18B7000E96F5; 691 E18B49F4082F18B7000E96F5 = E18B49F4082F18B7000E96F5; 692 E18B49F5082F18B7000E96F5 = E18B49F5082F18B7000E96F5; 693 E18B49F6082F18B7000E96F5 = E18B49F6082F18B7000E96F5; 694 E18B49F7082F18C6000E96F5 = E18B49F7082F18C6000E96F5; 695 E18B49F8082F18C6000E96F5 = E18B49F8082F18C6000E96F5; 696 E18B49FC082F18CA000E96F5 = E18B49FC082F18CA000E96F5; 697 E18B49FD082F18CA000E96F5 = E18B49FD082F18CA000E96F5; 698 E18B49FE082F18CF000E96F5 = E18B49FE082F18CF000E96F5; 699 E18B49FF082F18CF000E96F5 = E18B49FF082F18CF000E96F5; 700 E18B4A02082F18E1000E96F5 = E18B4A02082F18E1000E96F5; 701 E18B4A03082F18E1000E96F5 = E18B4A03082F18E1000E96F5; 648 PBXWorkspaceStateSaveDate = 137730838; 702 649 }; 703 650 sourceControlManager = E12B21580548C9B600CFF4E9; … … 787 734 E12FEC3D04959F5A00AEFBF9 = { 788 735 uiCtxt = { 789 sepNavIntBoundsRect = "{{0, 0}, { 609, 4802}}";790 sepNavSelRange = "{ 9956, 0}";791 sepNavVisRect = "{{0, 3518}, {609, 566}}";792 sepNavWindowFrame = "{{6 1, 283}, {750, 502}}";736 sepNavIntBoundsRect = "{{0, 0}, {793, 3718}}"; 737 sepNavSelRange = "{8048, 0}"; 738 sepNavVisRect = "{{0, 2030}, {793, 944}}"; 739 sepNavWindowFrame = "{{65, 118}, {832, 982}}"; 793 740 }; 794 741 }; … … 902 849 E1317B2F03DFC4DE00050002 = { 903 850 uiCtxt = { 904 sepNavIntBoundsRect = "{{0, 0}, { 621, 5687}}";905 sepNavSelRange = "{12 497, 0}";906 sepNavVisRect = "{{0, 4344}, {621, 155}}";851 sepNavIntBoundsRect = "{{0, 0}, {813, 5086}}"; 852 sepNavSelRange = "{12661, 13}"; 853 sepNavVisRect = "{{0, 3914}, {813, 170}}"; 907 854 sepNavWindowFrame = "{{84, 262}, {750, 502}}"; 908 855 }; … … 921 868 uiCtxt = { 922 869 sepNavIntBoundsRect = "{{0, 0}, {508, 682}}"; 923 sepNavSelRange = "{1 772, 0}";924 sepNavVisRect = "{{0, 130}, {508, 551}}";870 sepNavSelRange = "{1665, 38}"; 871 sepNavVisRect = "{{0, 99}, {508, 551}}"; 925 872 sepNavWindowFrame = "{{174, 96}, {547, 589}}"; 926 873 }; … … 1022 969 E14343B303DB4CF200050002 = { 1023 970 uiCtxt = { 1024 sepNavIntBoundsRect = "{{0, 0}, {7 33, 825}}";1025 sepNavSelRange = "{ 1980, 0}";1026 sepNavVisRect = "{{0, 382}, {733, 443}}";1027 sepNavWindowFrame = "{{ 38, 304}, {750, 502}}";971 sepNavIntBoundsRect = "{{0, 0}, {725, 746}}"; 972 sepNavSelRange = "{2148, 0}"; 973 sepNavVisRect = "{{0, 0}, {725, 745}}"; 974 sepNavWindowFrame = "{{55, 199}, {764, 783}}"; 1028 975 }; 1029 976 }; 1030 977 E14343B403DB4CF200050002 = { 1031 978 uiCtxt = { 1032 sepNavIntBoundsRect = "{{0, 0}, {686, 6787}}"; 1033 sepNavSelRange = "{6810, 0}"; 1034 sepNavVisRect = "{{0, 2040}, {686, 353}}"; 1035 sepNavWindowFrame = "{{469, 47}, {750, 502}}"; 979 sepNavIntBoundsRect = "{{0, 0}, {774, 6798}}"; 980 sepNavSelRange = "{21057, 0}"; 981 sepNavVisRect = "{{0, 5995}, {774, 783}}"; 982 sepNavWindowFrame = "{{281, 288}, {813, 821}}"; 983 }; 984 }; 985 E14343CD03DB66E900050002 = { 986 uiCtxt = { 987 sepNavIntBoundsRect = "{{0, 0}, {796, 776}}"; 988 sepNavSelRange = "{231, 0}"; 989 sepNavVisRect = "{{0, 0}, {796, 775}}"; 990 sepNavWindowFrame = "{{38, 339}, {835, 813}}"; 1036 991 }; 1037 992 }; … … 1095 1050 E165AB3603E7A7FC00050002 = { 1096 1051 uiCtxt = { 1097 sepNavIntBoundsRect = "{{0, 0}, {7 43, 3645}}";1052 sepNavIntBoundsRect = "{{0, 0}, {766, 3612}}"; 1098 1053 sepNavSelRange = "{1396, 0}"; 1099 sepNavVisRect = "{{0, 341}, {743, 363}}";1054 sepNavVisRect = "{{0, 0}, {0, 0}}"; 1100 1055 sepNavWindowFrame = "{{38, 218}, {750, 502}}"; 1101 1056 }; … … 1239 1194 uiCtxt = { 1240 1195 sepNavIntBoundsRect = "{{0, 0}, {686, 622}}"; 1241 sepNavSelRange = "{ 322, 18}";1196 sepNavSelRange = "{2052, 35}"; 1242 1197 sepNavVisRect = "{{0, 0}, {686, 621}}"; 1243 1198 sepNavWindowFrame = "{{378, 506}, {725, 659}}"; … … 1247 1202 fileReference = E14343B403DB4CF200050002; 1248 1203 isa = PBXFileBreakpoint; 1249 lineNumber = 1 53;1204 lineNumber = 144; 1250 1205 state = 1; 1251 1206 }; 1252 E18B483F082F0CC5000E96F5 = { 1253 comments = "warning: passing argument 3 of 'CFStringCompare' makes integer from pointer without a cast"; 1254 fRef = F9A6986E03BE1DF000AA4DA5; 1255 isa = PBXTextBookmark; 1256 rLen = 1; 1257 rLoc = 173; 1258 rType = 1; 1259 }; 1260 E18B4840082F0CD6000E96F5 = { 1261 isa = PBXFileReference; 1262 lastKnownFileType = sourcecode.c.h; 1263 name = CFString.h; 1264 path = /Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFString.h; 1265 refType = 0; 1266 sourceTree = "<absolute>"; 1267 uiCtxt = { 1268 sepNavIntBoundsRect = "{{0, 0}, {792, 8327}}"; 1269 sepNavSelRange = "{13407, 196}"; 1270 sepNavVisRect = "{{0, 2693}, {792, 928}}"; 1271 sepNavWindowFrame = "{{15, 187}, {831, 986}}"; 1272 }; 1273 }; 1274 E18B4846082F0CF2000E96F5 = { 1275 fRef = E18B4840082F0CD6000E96F5; 1276 isa = PBXTextBookmark; 1277 rLen = 1; 1278 rLoc = 336; 1279 rType = 1; 1280 }; 1281 E18B4847082F0CF2000E96F5 = { 1282 fRef = E18B4840082F0CD6000E96F5; 1283 isa = PBXTextBookmark; 1284 name = CFOptionFlags; 1285 rLen = 13; 1286 rLoc = 17210; 1287 rType = 0; 1288 vrLen = 4010; 1289 vrLoc = 15255; 1290 }; 1291 E18B484A082F0CF2000E96F5 = { 1292 fRef = F9A6986E03BE1DF000AA4DA5; 1293 isa = PBXTextBookmark; 1294 name = CFStringCompare; 1295 rLen = 15; 1296 rLoc = 7767; 1297 rType = 0; 1298 vrLen = 1604; 1299 vrLoc = 6944; 1300 }; 1301 E18B497A082F0DFB000E96F5 = { 1302 comments = "warning: passing argument 3 of 'CFStringCompare' makes integer from pointer without a cast"; 1303 fRef = F9A6986E03BE1DF000AA4DA5; 1304 isa = PBXTextBookmark; 1305 rLen = 1; 1306 rLoc = 173; 1307 rType = 1; 1308 }; 1309 E18B497B082F0DFB000E96F5 = { 1310 fRef = F9A6986E03BE1DF000AA4DA5; 1311 isa = PBXTextBookmark; 1312 name = "if (CFStringCompare(message, kICPreferencesChanged, NULL) == kCFCompareEqualTo)"; 1313 rLen = 83; 1314 rLoc = 7759; 1315 rType = 0; 1316 vrLen = 454; 1317 vrLoc = 7506; 1318 }; 1319 E18B498F082F10DD000E96F5 = { 1320 fRef = F9A6986E03BE1DF000AA4DA5; 1321 isa = PBXTextBookmark; 1322 name = "APEMain.m: 174"; 1323 rLen = 0; 1324 rLoc = 7816; 1325 rType = 0; 1326 vrLen = 451; 1327 vrLoc = 7506; 1328 }; 1329 E18B4990082F10DD000E96F5 = { 1330 comments = "warning: pointer targets in passing argument 6 of 'CFStringGetBytes' differ in signedness"; 1331 fRef = E14343B403DB4CF200050002; 1332 isa = PBXTextBookmark; 1333 rLen = 1; 1334 rLoc = 256; 1335 rType = 1; 1336 }; 1337 E18B4991082F10DD000E96F5 = { 1338 fRef = F9A6986E03BE1DF000AA4DA5; 1339 isa = PBXTextBookmark; 1340 name = "APEMain.m: 174"; 1341 rLen = 0; 1342 rLoc = 7816; 1343 rType = 0; 1344 vrLen = 451; 1345 vrLoc = 7506; 1346 }; 1347 E18B4992082F10DD000E96F5 = { 1348 fRef = E14343B403DB4CF200050002; 1349 isa = PBXTextBookmark; 1350 name = "ICeCoffEE.m: 257"; 1351 rLen = 0; 1352 rLoc = 8955; 1353 rType = 0; 1354 vrLen = 408; 1355 vrLoc = 8784; 1356 }; 1357 E18B49AC082F12B8000E96F5 = { 1358 fRef = E14343B403DB4CF200050002; 1359 isa = PBXTextBookmark; 1360 name = "ICeCoffEE.m: 187"; 1361 rLen = 0; 1362 rLoc = 6810; 1363 rType = 0; 1364 vrLen = 1043; 1365 vrLoc = 6274; 1366 }; 1367 E18B49AD082F12B8000E96F5 = { 1368 fRef = E19EB4FA03DD35A700050002; 1369 isa = PBXTextBookmark; 1370 name = "cachedVersion = NULL;"; 1371 rLen = 23; 1372 rLoc = 1186; 1373 rType = 0; 1374 vrLen = 1076; 1375 vrLoc = 797; 1376 }; 1377 E18B49AE082F12B8000E96F5 = { 1378 fRef = E169DBA103E4EF5E00050002; 1379 isa = PBXTextBookmark; 1380 name = "Delay(blinkDelay, &junk);"; 1381 rLen = 42; 1382 rLoc = 7867; 1383 rType = 0; 1384 vrLen = 1177; 1385 vrLoc = 7166; 1386 }; 1387 E18B49AF082F12B8000E96F5 = { 1388 comments = "warning: value computed is not used"; 1389 fRef = E1BF166A03DBE27000050002; 1390 isa = PBXTextBookmark; 1391 rLen = 1; 1392 rLoc = 139; 1393 rType = 1; 1394 }; 1395 E18B49B0082F12B8000E96F5 = { 1396 fRef = E14343B403DB4CF200050002; 1397 isa = PBXTextBookmark; 1398 name = "ICeCoffEE.m: 187"; 1399 rLen = 0; 1400 rLoc = 6810; 1401 rType = 0; 1402 vrLen = 1043; 1403 vrLoc = 6274; 1404 }; 1405 E18B49B1082F12B8000E96F5 = { 1406 fRef = E19EB4FA03DD35A700050002; 1407 isa = PBXTextBookmark; 1408 name = "cachedVersion = NULL;"; 1409 rLen = 23; 1410 rLoc = 1186; 1411 rType = 0; 1412 vrLen = 1076; 1413 vrLoc = 797; 1414 }; 1415 E18B49B2082F12B8000E96F5 = { 1416 fRef = E169DBA103E4EF5E00050002; 1417 isa = PBXTextBookmark; 1418 name = "Delay(blinkDelay, &junk);"; 1419 rLen = 42; 1420 rLoc = 7867; 1421 rType = 0; 1422 vrLen = 1177; 1423 vrLoc = 7166; 1424 }; 1425 E18B49B3082F12B8000E96F5 = { 1426 fRef = E1BF166A03DBE27000050002; 1427 isa = PBXTextBookmark; 1428 name = "ICLog(@\"selectedRange %@ selectionRect %@ textBlinkCount %d\", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount);"; 1429 rLen = 161; 1430 rLoc = 4705; 1431 rType = 0; 1432 vrLen = 1469; 1433 vrLoc = 3678; 1434 }; 1435 E18B49B6082F12BD000E96F5 = { 1436 fRef = E1BF166A03DBE27000050002; 1437 isa = PBXTextBookmark; 1438 name = "ICLog(@\"selectedRange %@ selectionRect %@ textBlinkCount %d\", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount);"; 1439 rLen = 161; 1440 rLoc = 4705; 1441 rType = 0; 1442 vrLen = 1469; 1443 vrLoc = 3678; 1444 }; 1445 E18B49BF082F12FB000E96F5 = { 1446 fRef = E1BF166A03DBE27000050002; 1447 isa = PBXTextBookmark; 1448 name = "ICLog(@\"selectedRange %@ selectionRect %@ textBlinkCount %d\", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount);"; 1449 rLen = 161; 1450 rLoc = 4705; 1451 rType = 0; 1452 vrLen = 1469; 1453 vrLoc = 3678; 1454 }; 1455 E18B49C0082F12FB000E96F5 = { 1456 fRef = E1BF4A4D0487C77C00C20906; 1457 isa = PBXTextBookmark; 1458 name = "German: 1"; 1459 rLen = 0; 1460 rLoc = 15; 1461 rType = 0; 1462 vrLen = 374; 1463 vrLoc = 0; 1464 }; 1465 E18B49C1082F12FB000E96F5 = { 1466 fRef = 089C165DFE840E0CC02AAC07; 1467 isa = PBXTextBookmark; 1468 rLen = 3; 1469 rLoc = 103; 1470 rType = 0; 1471 }; 1472 E18B49C2082F12FB000E96F5 = { 1473 fRef = E1BF4A4D0487C77C00C20906; 1474 isa = PBXTextBookmark; 1475 name = "German: 1"; 1476 rLen = 0; 1477 rLoc = 15; 1478 rType = 0; 1479 vrLen = 374; 1480 vrLoc = 0; 1481 }; 1482 E18B49C3082F12FB000E96F5 = { 1483 fRef = 089C165DFE840E0CC02AAC07; 1484 isa = PBXTextBookmark; 1485 name = "English: 5"; 1486 rLen = 0; 1487 rLoc = 113; 1488 rType = 0; 1489 vrLen = 238; 1490 vrLoc = 0; 1491 }; 1492 E18B49C6082F1309000E96F5 = { 1493 fRef = E1BF166A03DBE27000050002; 1494 isa = PBXTextBookmark; 1495 name = "ICLog(@\"selectedRange %@ selectionRect %@ textBlinkCount %d\", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount);"; 1496 rLen = 161; 1497 rLoc = 4705; 1498 rType = 0; 1499 vrLen = 1469; 1500 vrLoc = 3678; 1501 }; 1502 E18B49C7082F1309000E96F5 = { 1503 fRef = 089C165DFE840E0CC02AAC07; 1504 isa = PBXTextBookmark; 1505 name = "English: 5"; 1506 rLen = 0; 1507 rLoc = 113; 1508 rType = 0; 1509 vrLen = 238; 1510 vrLoc = 0; 1511 }; 1512 E18B49C8082F142B000E96F5 = { 1513 isa = PBXFileReference; 1514 lastKnownFileType = sourcecode.c.h; 1515 name = OSUtils.h; 1516 path = /Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/OSUtils.h; 1517 refType = 0; 1518 sourceTree = "<absolute>"; 1519 uiCtxt = { 1520 sepNavIntBoundsRect = "{{0, 0}, {758, 6116}}"; 1521 sepNavSelRange = "{8211, 7}"; 1522 sepNavVisRect = "{{0, 3074}, {758, 353}}"; 1523 }; 1524 }; 1525 E18B49CF082F1466000E96F5 = { 1526 isa = PBXFileReference; 1527 lastKnownFileType = sourcecode.c.h; 1528 name = CFURL.h; 1529 path = /Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFURL.h; 1530 refType = 0; 1531 sourceTree = "<absolute>"; 1532 uiCtxt = { 1533 sepNavIntBoundsRect = "{{0, 0}, {758, 4642}}"; 1534 sepNavSelRange = "{1704, 13}"; 1535 sepNavVisRect = "{{0, 308}, {758, 353}}"; 1536 }; 1537 }; 1538 E18B49DC082F1726000E96F5 = { 1539 fRef = E18B49DD082F1726000E96F5; 1540 isa = PBXTextBookmark; 1541 rLen = 0; 1542 rLoc = 2147483647; 1543 rType = 0; 1544 }; 1545 E18B49DD082F1726000E96F5 = { 1546 isa = PBXFileReference; 1547 lastKnownFileType = sourcecode.c.h; 1548 name = LSInfo.h; 1549 path = /Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Headers/LSInfo.h; 1550 refType = 0; 1551 sourceTree = "<absolute>"; 1552 uiCtxt = { 1553 sepNavIntBoundsRect = "{{0, 0}, {686, 12155}}"; 1554 sepNavSelRange = "{33879, 24}"; 1555 sepNavVisRect = "{{0, 11533}, {686, 621}}"; 1556 sepNavWindowFrame = "{{567, 115}, {725, 659}}"; 1557 }; 1558 }; 1559 E18B49DE082F1726000E96F5 = { 1560 fRef = E18B49DF082F1726000E96F5; 1561 isa = PBXTextBookmark; 1562 name = LSCopyApplicationURLsFor; 1563 rLen = 24; 1564 rLoc = 33879; 1565 rType = 0; 1566 vrLen = 1563; 1567 vrLoc = 32560; 1568 }; 1569 E18B49DF082F1726000E96F5 = { 1570 isa = PBXFileReference; 1571 name = LSInfo.h; 1572 path = /Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Headers/LSInfo.h; 1573 refType = 0; 1574 sourceTree = "<absolute>"; 1575 }; 1576 E18B49E6082F18B7000E96F5 = { 1577 fRef = E1BF166A03DBE27000050002; 1578 isa = PBXTextBookmark; 1579 name = "ICLog(@\"selectedRange %@ selectionRect %@ textBlinkCount %d\", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount);"; 1580 rLen = 161; 1581 rLoc = 4705; 1582 rType = 0; 1583 vrLen = 1469; 1584 vrLoc = 3678; 1585 }; 1586 E18B49E7082F18B7000E96F5 = { 1587 fRef = E18B49C8082F142B000E96F5; 1588 isa = PBXTextBookmark; 1589 name = "Delay("; 1590 rLen = 7; 1591 rLoc = 8211; 1592 rType = 0; 1593 vrLen = 855; 1594 vrLoc = 7848; 1595 }; 1596 E18B49E8082F18B7000E96F5 = { 1597 fRef = E169DBA103E4EF5E00050002; 1598 isa = PBXTextBookmark; 1599 name = "ICeCoffEETextEdit.c: 148"; 1600 rLen = 0; 1601 rLoc = 7587; 1602 rType = 0; 1603 vrLen = 1184; 1604 vrLoc = 7166; 1605 }; 1606 E18B49E9082F18B7000E96F5 = { 1607 fRef = E19EB4FC03DD35A700050002; 1608 isa = PBXTextBookmark; 1609 name = "UICookieMonster.h: 1"; 1610 rLen = 0; 1611 rLoc = 0; 1612 rType = 0; 1613 vrLen = 829; 1614 vrLoc = 0; 1615 }; 1616 E18B49EA082F18B7000E96F5 = { 1617 fRef = E19EB4FA03DD35A700050002; 1618 isa = PBXTextBookmark; 1619 name = "UICookieMonster.m: 106"; 1620 rLen = 0; 1621 rLoc = 2865; 1622 rType = 0; 1623 vrLen = 416; 1624 vrLoc = 2659; 1625 }; 1626 E18B49EB082F18B7000E96F5 = { 1627 fRef = E18B49CF082F1466000E96F5; 1628 isa = PBXTextBookmark; 1629 name = "const UInt8 *"; 1630 rLen = 13; 1631 rLoc = 1704; 1632 rType = 0; 1633 vrLen = 1664; 1634 vrLoc = 848; 1635 }; 1636 E18B49EC082F18B7000E96F5 = { 1637 fRef = E165AB3603E7A7FC00050002; 1638 isa = PBXTextBookmark; 1639 name = CFURLCreateWithBytes; 1640 rLen = 20; 1641 rLoc = 12005; 1642 rType = 0; 1643 vrLen = 976; 1644 vrLoc = 11724; 1645 }; 1646 E18B49ED082F18B7000E96F5 = { 1647 fRef = E1BF166A03DBE27000050002; 1648 isa = PBXTextBookmark; 1649 name = "ICLog(@\"selectedRange %@ selectionRect %@ textBlinkCount %d\", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount);"; 1650 rLen = 161; 1651 rLoc = 4705; 1652 rType = 0; 1653 vrLen = 1469; 1654 vrLoc = 3678; 1655 }; 1656 E18B49EE082F18B7000E96F5 = { 1657 fRef = E169DBA103E4EF5E00050002; 1658 isa = PBXTextBookmark; 1659 name = "ICeCoffEETextEdit.c: 148"; 1660 rLen = 0; 1661 rLoc = 7587; 1662 rType = 0; 1663 vrLen = 1184; 1664 vrLoc = 7166; 1665 }; 1666 E18B49EF082F18B7000E96F5 = { 1667 fRef = E19EB4FA03DD35A700050002; 1668 isa = PBXTextBookmark; 1669 name = "UICookieMonster.m: 45"; 1670 rLen = 0; 1671 rLoc = 1200; 1672 rType = 0; 1673 vrLen = 1076; 1674 vrLoc = 797; 1675 }; 1676 E18B49F0082F18B7000E96F5 = { 1677 fRef = E19EB4FC03DD35A700050002; 1678 isa = PBXTextBookmark; 1679 name = "UICookieMonster.h: 1"; 1680 rLen = 0; 1681 rLoc = 0; 1682 rType = 0; 1683 vrLen = 829; 1684 vrLoc = 0; 1685 }; 1686 E18B49F1082F18B7000E96F5 = { 1687 fRef = E19EB4FA03DD35A700050002; 1688 isa = PBXTextBookmark; 1689 name = "UICookieMonster.m: 45"; 1690 rLen = 0; 1691 rLoc = 1200; 1692 rType = 0; 1693 vrLen = 1076; 1694 vrLoc = 797; 1695 }; 1696 E18B49F2082F18B7000E96F5 = { 1697 fRef = E19EB4FC03DD35A700050002; 1698 isa = PBXTextBookmark; 1699 name = "UICookieMonster.h: 1"; 1700 rLen = 0; 1701 rLoc = 0; 1702 rType = 0; 1703 vrLen = 829; 1704 vrLoc = 0; 1705 }; 1706 E18B49F3082F18B7000E96F5 = { 1707 fRef = E19EB4FA03DD35A700050002; 1708 isa = PBXTextBookmark; 1709 name = "UICookieMonster.m: 106"; 1710 rLen = 0; 1711 rLoc = 2865; 1712 rType = 0; 1713 vrLen = 416; 1714 vrLoc = 2659; 1715 }; 1716 E18B49F4082F18B7000E96F5 = { 1717 fRef = E18B49CF082F1466000E96F5; 1718 isa = PBXTextBookmark; 1719 name = "const UInt8 *"; 1720 rLen = 13; 1721 rLoc = 1704; 1722 rType = 0; 1723 vrLen = 1664; 1724 vrLoc = 848; 1725 }; 1726 E18B49F5082F18B7000E96F5 = { 1727 fRef = E165AB3603E7A7FC00050002; 1728 isa = PBXTextBookmark; 1729 name = "ICeCoffEEAction.c: 36"; 1730 rLen = 0; 1731 rLoc = 1396; 1732 rType = 0; 1733 vrLen = 1588; 1734 vrLoc = 975; 1735 }; 1736 E18B49F6082F18B7000E96F5 = { 1737 fRef = 089C165DFE840E0CC02AAC07; 1738 isa = PBXTextBookmark; 1739 name = "English: 5"; 1740 rLen = 0; 1741 rLoc = 113; 1742 rType = 0; 1743 vrLen = 238; 1744 vrLoc = 0; 1745 }; 1746 E18B49F7082F18C6000E96F5 = { 1747 fRef = E165AB3603E7A7FC00050002; 1748 isa = PBXTextBookmark; 1749 name = "ICeCoffEEAction.c: 36"; 1750 rLen = 0; 1751 rLoc = 1396; 1752 rType = 0; 1753 vrLen = 1588; 1754 vrLoc = 975; 1755 }; 1756 E18B49F8082F18C6000E96F5 = { 1757 fRef = 089C165DFE840E0CC02AAC07; 1758 isa = PBXTextBookmark; 1759 name = "English: 5"; 1760 rLen = 0; 1761 rLoc = 113; 1762 rType = 0; 1763 vrLen = 238; 1764 vrLoc = 0; 1765 }; 1766 E18B49FC082F18CA000E96F5 = { 1767 fRef = E165AB3603E7A7FC00050002; 1768 isa = PBXTextBookmark; 1769 name = "ICeCoffEEAction.c: 36"; 1770 rLen = 0; 1771 rLoc = 1396; 1772 rType = 0; 1773 vrLen = 1588; 1774 vrLoc = 975; 1775 }; 1776 E18B49FD082F18CA000E96F5 = { 1777 fRef = 089C165DFE840E0CC02AAC07; 1778 isa = PBXTextBookmark; 1779 name = "English: 5"; 1780 rLen = 0; 1781 rLoc = 113; 1782 rType = 0; 1783 vrLen = 238; 1784 vrLoc = 0; 1785 }; 1786 E18B49FE082F18CF000E96F5 = { 1787 fRef = E165AB3603E7A7FC00050002; 1788 isa = PBXTextBookmark; 1789 name = "ICeCoffEEAction.c: 36"; 1790 rLen = 0; 1791 rLoc = 1396; 1792 rType = 0; 1793 vrLen = 1588; 1794 vrLoc = 975; 1795 }; 1796 E18B49FF082F18CF000E96F5 = { 1797 fRef = 089C165DFE840E0CC02AAC07; 1798 isa = PBXTextBookmark; 1799 name = "English: 5"; 1800 rLen = 0; 1801 rLoc = 113; 1802 rType = 0; 1803 vrLen = 238; 1804 vrLoc = 0; 1805 }; 1806 E18B4A02082F18E1000E96F5 = { 1807 fRef = E165AB3603E7A7FC00050002; 1808 isa = PBXTextBookmark; 1809 name = "ICeCoffEEAction.c: 36"; 1810 rLen = 0; 1811 rLoc = 1396; 1812 rType = 0; 1813 vrLen = 1588; 1814 vrLoc = 975; 1815 }; 1816 E18B4A03082F18E1000E96F5 = { 1817 fRef = 089C165DFE840E0CC02AAC07; 1818 isa = PBXTextBookmark; 1819 name = "English: 5"; 1820 rLen = 0; 1821 rLoc = 113; 1822 rType = 0; 1823 vrLen = 238; 1824 vrLoc = 0; 1207 E191FC9C0831B8FB003B09BC = { 1208 uiCtxt = { 1209 sepNavIntBoundsRect = "{{0, 0}, {739, 541}}"; 1210 sepNavSelRange = "{231, 0}"; 1211 sepNavVisRect = "{{0, 0}, {739, 540}}"; 1212 sepNavWindowFrame = "{{245, 385}, {778, 578}}"; 1213 }; 1214 }; 1215 E191FC9D0831B8FB003B09BC = { 1216 uiCtxt = { 1217 sepNavIntBoundsRect = "{{0, 0}, {739, 541}}"; 1218 sepNavSelRange = "{336, 0}"; 1219 sepNavVisRect = "{{0, 0}, {739, 540}}"; 1220 sepNavWindowFrame = "{{268, 364}, {778, 578}}"; 1221 }; 1825 1222 }; 1826 1223 E19EB4FA03DD35A700050002 = { … … 1967 1364 E1BF166A03DBE27000050002 = { 1968 1365 uiCtxt = { 1969 sepNavIntBoundsRect = "{{0, 0}, {758, 2050}}"; 1970 sepNavSelRange = "{4705, 161}"; 1971 sepNavVisRect = "{{0, 1329}, {758, 353}}"; 1366 sepNavIntBoundsRect = "{{0, 0}, {828, 1258}}"; 1367 sepNavSelRange = "{833, 0}"; 1368 sepNavVisRect = "{{0, 11}, {828, 868}}"; 1369 sepNavWindowFrame = "{{95, 122}, {867, 906}}"; 1370 }; 1371 }; 1372 E1BF166B03DBE27000050002 = { 1373 uiCtxt = { 1374 sepNavIntBoundsRect = "{{0, 0}, {711, 465}}"; 1375 sepNavSelRange = "{232, 0}"; 1376 sepNavVisRect = "{{0, 0}, {711, 464}}"; 1377 sepNavWindowFrame = "{{199, 71}, {750, 502}}"; 1378 }; 1379 }; 1380 E1BF166C03DBE27000050002 = { 1381 uiCtxt = { 1382 sepNavIntBoundsRect = "{{0, 0}, {711, 465}}"; 1383 sepNavSelRange = "{224, 0}"; 1384 sepNavVisRect = "{{0, 0}, {711, 464}}"; 1385 sepNavWindowFrame = "{{222, 50}, {750, 502}}"; 1386 }; 1387 }; 1388 E1BF166D03DBE27000050002 = { 1389 uiCtxt = { 1390 sepNavIntBoundsRect = "{{0, 0}, {711, 465}}"; 1391 sepNavSelRange = "{0, 0}"; 1392 sepNavVisRect = "{{0, 0}, {711, 464}}"; 1972 1393 sepNavWindowFrame = "{{61, 197}, {750, 502}}"; 1973 1394 }; 1974 1395 }; 1975 E1BF166B03DBE27000050002 = {1976 uiCtxt = {1977 sepNavIntBoundsRect = "{{0, 0}, {735, 464}}";1978 sepNavSelRange = "{232, 0}";1979 sepNavVisRect = "{{0, 0}, {735, 464}}";1980 sepNavWindowFrame = "{{199, 71}, {750, 502}}";1981 };1982 };1983 E1BF166C03DBE27000050002 = {1984 uiCtxt = {1985 sepNavIntBoundsRect = "{{0, 0}, {735, 464}}";1986 sepNavSelRange = "{224, 0}";1987 sepNavVisRect = "{{0, 0}, {735, 464}}";1988 sepNavWindowFrame = "{{222, 50}, {750, 502}}";1989 };1990 };1991 E1BF166D03DBE27000050002 = {1992 uiCtxt = {1993 sepNavIntBoundsRect = "{{0, 0}, {735, 464}}";1994 sepNavSelRange = "{0, 0}";1995 sepNavVisRect = "{{0, 0}, {735, 464}}";1996 sepNavWindowFrame = "{{61, 197}, {750, 502}}";1997 };1998 };1999 1396 E1BF167203DBEAA000050002 = { 2000 1397 uiCtxt = { 2001 sepNavIntBoundsRect = "{{0, 0}, {585, 4059}}"; 2002 sepNavSelRange = "{4814, 0}"; 2003 sepNavVisRect = "{{0, 2104}, {585, 566}}"; 1398 sepNavIntBoundsRect = "{{0, 0}, {796, 3157}}"; 1399 sepNavSelRange = "{70, 0}"; 1400 sepNavVisRect = "{{0, 0}, {796, 775}}"; 1401 sepNavWindowFrame = "{{61, 318}, {835, 813}}"; 2004 1402 }; 2005 1403 }; … … 2047 1445 }; 2048 1446 }; 1447 F56276BA03796C8B01AA4DA5 = { 1448 uiCtxt = { 1449 sepNavIntBoundsRect = "{{0, 0}, {828, 2332}}"; 1450 sepNavSelRange = "{4066, 61}"; 1451 sepNavVisRect = "{{0, 1463}, {828, 868}}"; 1452 sepNavWindowFrame = "{{38, 246}, {867, 906}}"; 1453 }; 1454 }; 2049 1455 F56276C20379923401AA4DA5 = { 2050 1456 uiCtxt = { 2051 sepNavIntBoundsRect = "{{0, 0}, {73 5, 5823}}";2052 sepNavSelRange = "{ 7948, 0}";2053 sepNavVisRect = "{{0, 2 619}, {735, 464}}";2054 sepNavWindowFrame = "{{59, 150}, {750, 502}}";1457 sepNavIntBoundsRect = "{{0, 0}, {739, 5988}}"; 1458 sepNavSelRange = "{16837, 0}"; 1459 sepNavVisRect = "{{0, 2531}, {739, 540}}"; 1460 sepNavWindowFrame = "{{59, 74}, {778, 578}}"; 2055 1461 }; 2056 1462 }; … … 2066 1472 uiCtxt = { 2067 1473 sepNavIntBoundsRect = "{{0, 0}, {711, 3613}}"; 2068 sepNavSelRange = "{ 7816, 0}";2069 sepNavVisRect = "{{0, 1956}, {711, 444}}";1474 sepNavSelRange = "{9679, 0}"; 1475 sepNavVisRect = "{{0, 2432}, {711, 464}}"; 2070 1476 sepNavWindowFrame = "{{440, 49}, {750, 502}}"; 2071 1477 }; … … 2080 1486 F9A6987103BE1DFF00AA4DA5 = { 2081 1487 uiCtxt = { 2082 sepNavIntBoundsRect = "{{0, 0}, {8 40, 2027}}";1488 sepNavIntBoundsRect = "{{0, 0}, {828, 1870}}"; 2083 1489 sepNavSelRange = "{4986, 0}"; 2084 sepNavVisRect = "{{0, 0}, {0, 0}}"; 1490 sepNavVisRect = "{{0, 1001}, {828, 868}}"; 1491 sepNavWindowFrame = "{{15, 267}, {867, 906}}"; 2085 1492 }; 2086 1493 }; -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE APE.xcode/project.pbxproj
r181 r182 208 208 buildSettings = { 209 209 COPY_PHASE_STRIP = YES; 210 GCC_C_LANGUAGE_STANDARD = c99; 210 211 GCC_ENABLE_FIX_AND_CONTINUE = NO; 211 212 ZERO_LINK = NO; … … 352 353 refType = 4; 353 354 sourceTree = "<group>"; 355 wrapsLines = 1; 354 356 }; 355 357 E12FEC3E04959F5A00AEFBF9 = { … … 510 512 ); 511 513 isa = PBXGroup; 512 name = "APE Managerplugin sources";514 name = "APE preference pane plugin sources"; 513 515 path = ""; 514 516 refType = 4; … … 567 569 E135625E03DC9FC200050002, 568 570 E182C8F603DE817F00050002, 571 E191FC9C0831B8FB003B09BC, 572 E191FC9D0831B8FB003B09BC, 569 573 ); 570 574 isa = PBXGroup; … … 632 636 refType = 4; 633 637 sourceTree = "<group>"; 638 }; 639 E191FC9C0831B8FB003B09BC = { 640 fileEncoding = 4; 641 isa = PBXFileReference; 642 lastKnownFileType = sourcecode.c.h; 643 path = ICeCoffEESetServicesMenu.h; 644 refType = 4; 645 sourceTree = "<group>"; 646 }; 647 E191FC9D0831B8FB003B09BC = { 648 fileEncoding = 4; 649 isa = PBXFileReference; 650 lastKnownFileType = sourcecode.c.objc; 651 path = ICeCoffEESetServicesMenu.m; 652 refType = 4; 653 sourceTree = "<group>"; 654 }; 655 E191FC9E0831B8FB003B09BC = { 656 fileRef = E191FC9C0831B8FB003B09BC; 657 isa = PBXBuildFile; 658 settings = { 659 }; 660 }; 661 E191FC9F0831B8FB003B09BC = { 662 fileRef = E191FC9D0831B8FB003B09BC; 663 isa = PBXBuildFile; 664 settings = { 665 }; 666 }; 667 E191FCA00831B8FB003B09BC = { 668 fileRef = E191FC9C0831B8FB003B09BC; 669 isa = PBXBuildFile; 670 settings = { 671 }; 672 }; 673 E191FCA10831B8FB003B09BC = { 674 fileRef = E191FC9D0831B8FB003B09BC; 675 isa = PBXBuildFile; 676 settings = { 677 }; 634 678 }; 635 679 E19EB4F503DD359100050002 = { … … 735 779 E1ABAE9C0812F4B2007C5427, 736 780 E1ABAE9D0812F4B2007C5427, 781 E191FC9E0831B8FB003B09BC, 737 782 ); 738 783 isa = PBXHeadersBuildPhase; … … 861 906 E1ABAEAE0812F4B2007C5427, 862 907 E1ABAEAF0812F4B2007C5427, 908 E191FC9F0831B8FB003B09BC, 863 909 ); 864 910 isa = PBXSourcesBuildPhase; … … 1054 1100 E1ABAEC10812F4B2007C5427, 1055 1101 E1ABAEC20812F4B2007C5427, 1102 E191FCA00831B8FB003B09BC, 1056 1103 ); 1057 1104 isa = PBXHeadersBuildPhase; … … 1132 1179 E1ABAECD0812F4B2007C5427, 1133 1180 E1ABAECE0812F4B2007C5427, 1181 E191FCA10831B8FB003B09BC, 1134 1182 ); 1135 1183 isa = PBXSourcesBuildPhase; … … 1493 1541 E1BF166A03DBE27000050002 = { 1494 1542 fileEncoding = 30; 1543 indentWidth = 4; 1495 1544 isa = PBXFileReference; 1496 1545 lastKnownFileType = sourcecode.c.objc; … … 1498 1547 refType = 4; 1499 1548 sourceTree = "<group>"; 1549 tabWidth = 8; 1550 usesTabs = 1; 1500 1551 }; 1501 1552 E1BF166B03DBE27000050002 = { -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.m
r181 r182 1 // ICeCoffEE - Internet Config C ocoa Editor Extension1 // ICeCoffEE - Internet Config Carbon/Cocoa Editor Extension 2 2 // Nicholas Riley <mailto:icecoffee@sabi.net> 3 3 4 4 /* To do/think about: 5 5 6 - TXNClick - MLTE has its own support in Jaguar and later, but it's lousy 7 8 Done: 9 10 - TEClick - TextEdit 11 - flash on success (like BBEdit) 12 - display dialog on failure (decode OSStatus) 13 - adjust URL blinking 14 - app exclusion list - make a pref pane (see AquaShade config) 15 - _LSCopyApplicationURLsForItemURL - list apps 16 - Menu on command-option-click: add bookmark, open with other helper, pass to configurable service, ...? 6 - TXNClick - MLTE has its own (lousy) support in Jaguar, seems improved in Panther, good enough to leave? 17 7 18 8 */ … … 22 12 #include <unistd.h> 23 13 #import "ICeCoffEESuper.h" 14 #import "ICeCoffEESetServicesMenu.h" 24 15 25 16 iccfPrefRec ICCF_prefs; … … 91 82 92 83 [set autorelease]; 93 [set formUnionWithCharacterSet: [[NSCharacterSet characterSetWithRange: NSMakeRange(0 , 128)] invertedSet]]; // removenon-ASCII characters84 [set formUnionWithCharacterSet: [[NSCharacterSet characterSetWithRange: NSMakeRange(0x21, 0x5e)] invertedSet]]; // nonprintable and non-ASCII characters 94 85 [set formUnionWithCharacterSet: [NSCharacterSet punctuationCharacterSet]]; 95 [set removeCharactersInString: @";/?:@&=+$,-_.!~*'()%#"]; // RFC 2396 ¤2.2, 2.3, 2.4, plus #86 [set removeCharactersInString: @";/?:@&=+$,-_.!~*'()%#"]; // RFC 2396 ¤2.2, 2.3, 2.4, plus % and # from "delims" set 96 87 97 88 tmpSet = [[set mutableCopy] autorelease]; … … 198 189 } 199 190 191 // input/output 'range' is the range of source document which contains 'string' 200 192 void ICCF_ParseURL(NSString *string, NSRange *range) { 201 193 OSStatus err; 202 194 Handle h; 203 long selStart , selEnd;195 long selStart = 0, selEnd = range->length; // local offsets within 'string' 204 196 char *urlData = NULL; 205 197 206 NSCAssert( range->length== [string length], @"Internal error: URL string is wrong length");198 NSCAssert(selEnd == [string length], @"Internal error: URL string is wrong length"); 207 199 208 200 NS_DURING 209 201 if ([[NSCharacterSet characterSetWithCharactersInString: @";,."] characterIsMember: 210 [string characterAtIndex: range->length - 1]]) { 211 range->length--; 212 } 213 214 string = [string substringToIndex: range->length]; 202 [string characterAtIndex: selEnd - 1]]) { 203 selEnd--; 204 } 205 NSCharacterSet *alphanumericCharacterSet = [NSCharacterSet alphanumericCharacterSet]; 206 while (![alphanumericCharacterSet characterIsMember: [string characterAtIndex: selStart]]) { 207 selStart++; 208 NSCAssert(selStart < selEnd, @"No URL is selected"); 209 } 210 211 string = [string substringWithRange: NSMakeRange(selStart, selEnd - selStart)]; 215 212 216 213 ICLog(@"Parsing URL |%@|", string); … … 221 218 NSCAssert(urlData != NULL, @"Internal error: can't allocate memory for URL string"); 222 219 223 selStart = 0; selEnd = range->length; 224 220 // XXX getCString: is deprecated in 10.4, but this is safe and shouldn't assert because we've already verified the string can be converted to ASCII, which should be a subset of any possible system encoding. The replacement (getCString:maxLength:encoding:) is not available until 10.4, so we leave this until we dump Internet Config and gain IDN friendliness. 225 221 [string getCString: urlData]; 226 222 … … 402 398 NSMenuItem *ICCF_ServicesMenuItem() { 403 399 NSMenuItem *servicesItem; 404 NSMenu *servicesMenu; 405 // don't want to use [[NSApp servicesMenu] title] because the Services menu may not have been created yet 406 NSString *servicesTitle = [[NSBundle bundleWithIdentifier: @"com.apple.AppKit"] localizedStringForKey: @"Services" value: nil table: @"ServicesMenu"]; 407 if (servicesTitle == nil) { 408 ICLog(@"Can't get localized text for 'Services' in AppKit.framework"); 409 servicesTitle = @"Services"; 400 NSString *servicesTitle = nil; 401 NSMenu *servicesMenu = [NSApp servicesMenu]; 402 403 if (servicesMenu != nil) { 404 servicesTitle = [servicesMenu title]; 405 if (servicesTitle == nil) { 406 ICLog(@"Can't get service menu title"); 407 servicesTitle = @"Services"; 408 } 409 } else { 410 servicesTitle = [[NSBundle bundleWithIdentifier: @"com.apple.AppKit"] localizedStringForKey: @"Services" value: nil table: @"ServicesMenu"]; 411 if (servicesTitle == nil) { 412 ICLog(@"Can't get localized text for 'Services' in AppKit.framework"); 413 servicesTitle = @"Services"; 414 } 410 415 } 411 416 servicesMenu = [[NSMenu alloc] initWithTitle: servicesTitle]; 412 417 servicesItem = [[NSMenuItem alloc] initWithTitle: servicesTitle action:nil keyEquivalent:@""]; 413 [[NSApplication sharedApplication] setServicesMenu: servicesMenu];418 ICCF_SetServicesMenu(servicesMenu); 414 419 [servicesItem setSubmenu: servicesMenu]; 415 420 [servicesItem setRepresentedObject: ICCF_SERVICES_ITEM]; … … 448 453 } 449 454 } else { 455 [menuItem setKeyEquivalent: @""]; 450 456 shouldKeepItem = [menuItem isEnabled]; 451 457 } … … 494 500 } 495 501 502 503 @interface NSTextView (IC_NSSharing) 504 // only in Mac OS X 10.4 and later 505 - (NSArray *)selectedRanges; 506 @end 507 496 508 @implementation ICeCoffEE 497 509 … … 536 548 #endif 537 549 if (ICCF_enabled && ICCF_prefs.commandClickEnabled && ICCF_EventIsCommandMouseDown(e)) { 538 // don't want to trigger selection extension or anything else; pass through as a plain click 550 if ([self respondsToSelector: @selector(selectedRanges)]) { 551 // discontiguous selection support, Mac OS X 10.4 or later 552 NSArray *ranges = [self selectedRanges]; 553 ICLog(@"ICeCoffEE selected ranges: %@", ranges); 554 if ([ranges count] > 1 || [[ranges objectAtIndex: 0] rangeValue].length != 0) 555 goto bypass; 556 } else { 557 // don't want to trigger selection extension or anything else; pass through as a plain click 558 // (on Panther and earlier, command does not modify behavior) 559 } 539 560 [super mouseDown: [NSEvent mouseEventWithType: NSLeftMouseDown location: [e locationInWindow] modifierFlags: 0 timestamp: [e timestamp] windowNumber: [e windowNumber] context: [e context] eventNumber: [e eventNumber] clickCount: 1 pressure: 0]]; 540 561 // we don't actually get a mouseUp event, just wait for mouseDown to return … … 548 569 } 549 570 } else { 571 bypass: 550 572 [super mouseDown: e]; 551 573 } -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEServicePrefController.m
r167 r182 8 8 9 9 #import "ICeCoffEEShared.h" 10 #import "ICeCoffEESetServicesMenu.h" 10 11 #import "ICeCoffEEServicePrefController.h" 11 12 #import "ICeCoffEENonHighlightingButtonCell.h" … … 222 223 { 223 224 if (servicesMenu == nil) { 224 225 [[NSApplication sharedApplication] setServicesMenu: servicesMenu];226 [servicesMenu update]; 225 servicesMenu = [[NSMenu alloc] initWithTitle: @""]; 226 ICCF_SetServicesMenu(servicesMenu); 227 [servicesMenu update]; // XXX necessary on 10.3? or anywhere? 227 228 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 228 229 NSDictionary *icDefaults = [defaults persistentDomainForName: (NSString *)kICBundleIdentifier]; -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEWebKit.m
r169 r182 15 15 - (NSDictionary *)elementAtPoint:(NSPoint)point; 16 16 - (NSString *)selectedString; 17 - (void)deselectAll;18 19 // only in Safari 1.0-1.220 - (void)setSelectionFrom:(id /* WebDOMNode */)start startOffset:(int)startOffset to:(id /* WebDOMNode */)end endOffset:(int) endOffset;21 22 - (id /* WebDOMNode */)selectionStart;23 - (int)selectionStartOffset;24 - (id /* WebDOMNode */)selectionEnd;25 - (int)selectionEndOffset;26 27 // only in Safari 1.1-1.228 17 - (NSRect)selectionRect; 29 18 30 // only in Safari 1.331 19 - (void)selectNSRange:(NSRange)range; 20 - (void)deselectAll; 32 21 33 22 @end … … 38 27 - (WebCoreBridge *)_bridge; 39 28 40 // only in Safari 1.341 29 - (NSRange)selectedRange; 42 30 … … 52 40 53 41 static NSEvent *downEvent = nil; 54 55 // used in Safari < 1.3 because there's no sane way to set the selection56 typedef struct {57 int startOffset;58 int endOffset;59 id fromNode;60 id toNode;61 } ICCF_WebCoreSelection;62 63 static ICCF_WebCoreSelection selection = {nil, nil, 0, 0};64 65 void ICCF_GetWebCoreBridgeSelection(WebCoreBridge *bridge, ICCF_WebCoreSelection *ioSel) {66 [ioSel->fromNode release]; ioSel->fromNode = nil;67 [ioSel->toNode release]; ioSel->toNode = nil;68 ioSel->startOffset = [bridge selectionStartOffset];69 ioSel->endOffset = [bridge selectionEndOffset];70 ioSel->fromNode = [[bridge selectionStart] retain];71 ioSel->toNode = [[bridge selectionEnd] retain];72 }73 74 void ICCF_SetWebCoreBridgeSelection(WebCoreBridge *bridge, ICCF_WebCoreSelection *inSel) {75 if (inSel->fromNode == nil || inSel->toNode == nil)76 [bridge deselectAll];77 [bridge setSelectionFrom: inSel->fromNode78 startOffset: inSel->startOffset79 to: inSel->toNode80 endOffset: inSel->endOffset];81 }82 // end Safari < 1.3 section83 84 42 static NSString *selectedString = nil; 85 43 static NSRange selectedRange; … … 87 45 - (void)mouseDown:(NSEvent *)e; 88 46 { 89 90 // don't want command- option-click, command-shift-click, etc. to trigger47 [downEvent release]; downEvent = nil; 48 // don't want command-control-click, command-shift-click, etc. to trigger 91 49 if (ICCF_enabled && ICCF_prefs.commandClickEnabled && ICCF_EventIsCommandMouseDown(e)) { 92 50 WebCoreBridge *bridge = [(WebHTMLView *)self _bridge]; 93 if ([self respondsToSelector: @selector(selectedRange)]) { 94 // Safari 1.3 save selection: it may be deselected on super mouseDown 95 selectedRange = [(WebHTMLView *)self selectedRange]; 96 } else if ([bridge respondsToSelector: @selector(selectionStartOffset)]) { 97 // Safari < 1.3 save selection: it will be deselected on super mouseDown 98 ICCF_GetWebCoreBridgeSelection(bridge, &selection); 99 ICLog(@"selection start %d@%@ end %d@%@ string %@", [bridge selectionStartOffset], [bridge selectionStart], [bridge selectionEndOffset], [bridge selectionEnd], [bridge selectedString]); 100 } 101 [selectedString release]; selectedString = nil; 102 selectedString = [[bridge selectedString] retain]; 51 if ([self respondsToSelector: @selector(selectedRange)]) { 52 // save selection: it may be deselected on super mouseDown 53 selectedRange = [(WebHTMLView *)self selectedRange]; 54 } 55 [selectedString release]; selectedString = nil; 56 selectedString = [[bridge selectedString] retain]; 103 57 downEvent = [e retain]; 104 58 } … … 126 80 NS_VOIDRETURN; // donÕt activate on links 127 81 } 128 if (selectedString == nil || [selectedString length] == 0) { 129 ICLog(@"no selected string"); 130 NS_VOIDRETURN; 131 } 132 ICCF_StartIC(); 133 ICCF_LaunchURL(selectedString, ICCF_KeyboardAction()); 134 if (ICCF_prefs.textBlinkEnabled && 135 [bridge respondsToSelector: @selector(selectNSRange:)]) { 136 // blink text in Safari 1.3 137 [bridge selectNSRange: selectedRange]; 138 int i; 139 NSRect selectionRect = [bridge selectionRect]; 140 ICLog(@"selectedRange %@ selectionRect %@ textBlinkCount %d", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount); 141 for (i = 0 ; i < ICCF_prefs.textBlinkCount ; i++) { 142 [bridge deselectAll]; 143 [self setNeedsDisplayInRect: selectionRect]; 144 [self display]; 145 usleep(kICBlinkDelayUsecs); 146 [bridge selectNSRange: selectedRange]; 147 [self setNeedsDisplayInRect: selectionRect]; 148 [self display]; 149 usleep(kICBlinkDelayUsecs); 150 } 151 } else { 152 // select text in Safari 1.0-1.2 153 ICCF_SetWebCoreBridgeSelection(bridge, &selection); 154 if (ICCF_prefs.textBlinkEnabled && 155 [bridge respondsToSelector: @selector(selectionRect)]) { 156 // blink text in Safari 1.1/1.2 157 int i; 158 NSRect selectionRect = [bridge selectionRect]; 159 for (i = 0 ; i < ICCF_prefs.textBlinkCount ; i++) { 160 [bridge deselectAll]; 161 [self setNeedsDisplayInRect: selectionRect]; 162 [self display]; 163 usleep(kICBlinkDelayUsecs); 164 ICCF_SetWebCoreBridgeSelection(bridge, &selection); 165 [self setNeedsDisplayInRect: selectionRect]; 166 [self display]; 167 usleep(kICBlinkDelayUsecs); 168 } 169 } 170 } 82 if (selectedString == nil || [selectedString length] == 0) { 83 ICLog(@"no selected string"); 84 NS_VOIDRETURN; 85 } 86 ICCF_StartIC(); 87 ICCF_LaunchURL(selectedString, ICCF_KeyboardAction()); 88 if (ICCF_prefs.textBlinkEnabled && [bridge respondsToSelector: @selector(selectNSRange:)]) { 89 [bridge selectNSRange: selectedRange]; 90 int i; 91 NSRect selectionRect = [bridge selectionRect]; 92 ICLog(@"selectedRange %@ selectionRect %@ textBlinkCount %d", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount); 93 for (i = 0 ; i < ICCF_prefs.textBlinkCount ; i++) { 94 [bridge deselectAll]; 95 [self setNeedsDisplayInRect: selectionRect]; 96 [self display]; 97 usleep(kICBlinkDelayUsecs); 98 [bridge selectNSRange: selectedRange]; 99 [self setNeedsDisplayInRect: selectionRect]; 100 [self display]; 101 usleep(kICBlinkDelayUsecs); 102 } 103 } 171 104 NS_HANDLER 172 105 ICCF_HandleException(localException);
Note:
See TracChangeset
for help on using the changeset viewer.