Changeset 53
- Timestamp:
- 10/29/06 17:08:14 (2 years ago)
- Files:
-
- trunk/build_i386.sh (modified) (2 diffs)
- trunk/build_ppc.sh (modified) (1 diff)
- trunk/changelog.txt (modified) (1 diff)
- trunk/host-cocoa/cocoaQemu.h (modified) (3 diffs)
- trunk/host-cocoa/cocoaQemu.m (modified) (5 diffs)
- trunk/host-cocoa/cocoaQemuOpenGLView.m (modified) (1 diff)
- trunk/host-cocoa/cocoaQemuQuartzView.m (modified) (1 diff)
- trunk/host-cocoa/cocoaQemuQuickDrawView.m (modified) (1 diff)
- trunk/host-cocoa/cocoaQemuWindow.m (modified) (1 diff)
- trunk/patches/q_host-cocoa_01.diff (modified) (2 diffs)
- trunk/prepare.sh (modified) (1 diff)
- trunk/qcontrol/Resources/English.lproj/Localizable.strings (modified) (3 diffs)
- trunk/qcontrol/Resources/English.lproj/cocoaControlEditPC.nib/info.nib (modified) (2 diffs)
- trunk/qcontrol/Resources/English.lproj/cocoaControlEditPC.nib/keyedobjects.nib (modified) (129 diffs)
- trunk/qcontrol/Resources/English.lproj/cocoaControlNewPCAssistant.nib/info.nib (modified) (2 diffs)
- trunk/qcontrol/Resources/English.lproj/cocoaControlNewPCAssistant.nib/keyedobjects.nib (modified) (17 diffs)
- trunk/qcontrol/cocoaControlEditPC.m (modified) (6 diffs)
- trunk/qcontrol/cocoaDownload.m (modified) (6 diffs)
- trunk/qcontrol/cocoaDownloadController.m (modified) (12 diffs)
- trunk/qcontrol/freeoszoo.plist (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build_i386.sh
r38 r53 26 26 27 27 #make qemu 28 cp -R qemu tmp/qemu28 cp -R qemu-0.8.1 tmp/qemu 29 29 30 30 … … 34 34 #Q 35 35 patch -p0 -u < ../../q/patches/q_host-cocoa_01.diff 36 37 #dns patch38 cd slirp39 patch -p0 < ../../../q/patches/qemu-dns.patch40 cd ..41 36 42 37 #gcc4 patches trunk/build_ppc.sh
r38 r53 37 37 patch -p0 -u < ../../q/patches/q_host-cocoa_01.diff 38 38 39 #dns patch40 cd slirp41 patch -p0 < ../../../q/patches/qemu-dns.patch42 cd ..43 44 39 #rgb support for intel 45 40 cd hw trunk/changelog.txt
r52 r53 1 Q-0.8.2d53 2 [fix] set qemu revision in prepare.sh to 2006-07-24 18:00 instead of current CVS, because current CVS fails to build right now (thx Dravick) 3 [new] added new freeoszoo images 4 [fix] removed obsolete dns patch 5 [new] fullscreen toolbar 6 [fix] shutdown PC from fullscreen changing workspace 7 [fix] typo in NewPC Assistant 8 [fix] add downloader, networking redirect to Localizable.strings 9 [fix] downloader: remove tiger dependent code 10 [fix] downloader: add connection timeout error handling 11 [fix] downloader: add error handling when file is no valid archive (tar, gz, bz) 12 1 13 Q-0.8.2d52 2 14 [fix] downloader: crashes on starting download trunk/host-cocoa/cocoaQemu.h
r37 r53 41 41 #import "cocoaQemuProgressWindow.h" 42 42 #import "cocoaQemuOpenGLView.h" 43 #import "FSControls/FSController.h" 43 44 44 45 /* … … 80 81 /* progressWindow */ 81 82 cocoaQemuProgressWindow *progressWindow; 83 84 /* FullscreenController */ 85 FSController * fullscreenController; 82 86 } 83 87 /* init & dealloc */ … … 93 97 - (BOOL) fullscreen; 94 98 - (void) setFullscreen:(BOOL)val; 99 - (id) fullscreenController; 100 - (void) setFullscreenController:(id)controller; 95 101 - (BOOL) grab; 96 102 - (BOOL) absolute_enabled; trunk/host-cocoa/cocoaQemu.m
r45 r53 234 234 fullscreen = val; 235 235 } 236 237 - (id) fullscreenController 238 { 239 // NSLog(@"cocoaQemu: fullscreenController"); 240 241 return fullscreenController; 242 } 243 244 - (void) setFullscreenController:(id)controller 245 { 246 // NSLog(@"cocoaQemu: setFullscreenController"); 247 248 fullscreenController = controller; 249 } 236 250 237 251 - (BOOL) grab … … 768 782 /* exit fullscreen */ 769 783 if (fullscreen) 770 [ contentView toggleFullScreen];784 [pc setFullscreen:[[pc contentView] toggleFullScreen]]; 771 785 772 786 if (!pcDialogs) { … … 1130 1144 case 3: /* f key */ 1131 1145 [pc setFullscreen:[[pc contentView] toggleFullScreen]]; 1146 if([pc fullscreen]) { 1147 NSLog(@"init FSController"); 1148 [pc setFullscreenController:[[FSController alloc] initWithSender:pc]]; 1149 } else { 1150 NSLog(@"release FSController"); 1151 [[pc fullscreenController] release]; 1152 } 1132 1153 return; 1133 1154 … … 1167 1188 case 12: /* q key */ 1168 1189 /* switch to windowed View */ 1169 if ([pc fullscreen]) 1190 if ([pc fullscreen]) { 1170 1191 [pc setFullscreen:[[pc contentView] toggleFullScreen]]; 1192 [[pc fullscreenController] release]; 1193 } 1171 1194 [[pc pcWindow] performClose:nil]; 1172 1195 return; … … 1197 1220 else 1198 1221 break; 1222 } 1223 /* fullscreen toolbar */ 1224 case 11: /* B-key */ 1225 if ([pc fullscreen]) { 1226 [[pc fullscreenController] toggleToolbar]; 1227 return; 1228 } else { 1229 break; 1199 1230 } 1200 1231 } trunk/host-cocoa/cocoaQemuOpenGLView.m
r35 r53 436 436 so we can handle clicks on other GUI Items */ 437 437 if(fullscreen) { 438 /* exception: if the user activated the toolbar, mouse grab is released; so when he clicks on fullscreen view we have to grab again */ 439 if([pc fullscreenController] && [[pc fullscreenController] showsToolbar]) { 440 [[pc fullscreenController] toggleToolbar]; 441 [pc grabMouse]; 442 } 438 443 } else if([pc absolute_enabled]) { 439 444 if (![pc tablet_enabled]) trunk/host-cocoa/cocoaQemuQuartzView.m
r35 r53 305 305 so we can handle clicks on other GUI Items */ 306 306 if(fullscreen) { 307 /* exception: if the user activated the toolbar, mouse grab is released; so when he clicks on fullscreen view we have to grab again */ 308 if([pc fullscreenController] && [[pc fullscreenController] showsToolbar]) { 309 [[pc fullscreenController] toggleToolbar]; 310 [pc grabMouse]; 311 } 307 312 } else if([pc absolute_enabled]) { 308 313 if (![pc tablet_enabled]) trunk/host-cocoa/cocoaQemuQuickDrawView.m
r35 r53 179 179 so we can handle clicks on other GUI Items */ 180 180 if(fullscreen) { 181 /* exception: if the user activated the toolbar, mouse grab is released; so when he clicks on fullscreen view we have to grab again */ 182 if([pc fullscreenController] && [[pc fullscreenController] showsToolbar]) { 183 [[pc fullscreenController] toggleToolbar]; 184 [pc grabMouse]; 185 } 181 186 } else if([pc absolute_enabled]) { 182 187 if (![pc tablet_enabled]) trunk/host-cocoa/cocoaQemuWindow.m
r45 r53 415 415 // NSLog(@"cocoaQemuWindow: windowDidResignKey"); 416 416 417 418 if ([pc fullscreen] && [self windowIsVisible] ) {417 /* window resisigns key when fullscreenToolbar is becoming key; add check if toolbar is shown to avoid flipping screen (changing workspace) */ 418 if ([pc fullscreen] && [self windowIsVisible] && ![[pc fullscreenController] showsToolbar]) { 419 419 // [pc setFullscreen:[[pc contentView] toggleFullScreen]]; 420 420 trunk/patches/q_host-cocoa_01.diff
r6 r53 1 Index: Makefile.target 2 =================================================================== 3 RCS file: /sources/qemu/qemu/Makefile.target,v 4 retrieving revision 1.90 5 diff -u -r1.90 Makefile.target 6 --- Makefile.target 6 Dec 2005 21:42:17 -0000 1.90 7 +++ Makefile.target 12 Dec 2005 17:21:18 -0000 8 @@ -342,8 +342,8 @@ 9 VL_OBJS+=sdl.o 1 --- Makefile.target 2006-07-18 23:23:34.000000000 +0200 2 +++ Makefile.target.new 2006-09-17 10:57:14.000000000 +0200 3 @@ -378,8 +378,8 @@ 10 4 endif 5 VL_OBJS+=vnc.o 11 6 ifdef CONFIG_COCOA 12 7 -VL_OBJS+=cocoa.o 13 8 -COCOA_LIBS=-F/System/Library/Frameworks -framework Cocoa -framework IOKit 14 +VL_OBJS+=cocoaQemuMain.o cocoaQemuController.o cocoaQemu.o cocoaQemuProgressWindow.o cocoaQemuWindow.o cocoaQemuOpenGLView.o cocoaQemuQuartzView.o cocoaQemuQuickDrawView.o cocoaPopUpView.o cocoaCpuView.o 9 +VL_OBJS+=cocoaQemuMain.o cocoaQemuController.o cocoaQemu.o cocoaQemuProgressWindow.o cocoaQemuWindow.o cocoaQemuOpenGLView.o cocoaQemuQuartzView.o cocoaQemuQuickDrawView.o cocoaPopUpView.o cocoaCpuView.o FSController.o FSRoundedView.o FSToolbarController.o FSTransparentButton.o 15 10 +COCOA_LIBS=-F/System/Library/Frameworks -framework Cocoa -framework IOKit -framework CoreFoundation -framework OpenGL -framework ApplicationServices 16 11 ifdef CONFIG_COREAUDIO 17 12 COCOA_LIBS+=-framework CoreAudio 18 13 endif 19 @@ - 385,7 +385,7@@14 @@ -428,7 +428,10 @@ 20 15 $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a 21 16 $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS) … … 23 18 -cocoa.o: cocoa.m 24 19 +cocoa%.o: host-cocoa/cocoa%.m 20 + $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< 21 + 22 +FS%.o: host-cocoa/FSControls/FS%.m 25 23 $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< 26 24 trunk/prepare.sh
r49 r53 8 8 #get/update QEMU 9 9 export CVS_RSH="ssh" 10 cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/qemu co qemu10 cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/qemu co -D "2006-07-24 18:00" qemu 11 11 12 12 #get/update [kju:] trunk/qcontrol/Resources/English.lproj/Localizable.strings
r48 r53 49 49 50 50 "addArgumentTo:standardAlert" = "Can't start guest PC"; 51 "addArgumentTo:informativeText" = "This configuration euses pre 0.8.0 Syntax (%@). Please remove it from the advanced tab.";51 "addArgumentTo:informativeText" = "This configuration uses pre 0.8.0 Syntax (%@). Please remove it from the advanced tab."; 52 52 53 53 "URLResourceDidFinishLoading:alertWithMessageText" = "There is a new Version of Q available. Do You want to download it now?"; … … 105 105 "editPCEditPCPanel:otherName" = "choose other Name"; 106 106 107 "initFirewallSettings:popUpButtonFirewallAdittionalPortsCustom" = "Custom.."; 108 109 "startShowEditPort:restrictedPorts1" = "%@,%@ on the Host to port(s) %@,%@ on the Guest (TCP and UDP)."; 110 "startShowEditPort:restrictedPorts2" = "%@ on the Host to port(s) %@ on the Guest (TCP)."; 111 "startShowEditPort:restrictedPorts2" = "%@ on the Host to port(s) %@ on the Guest (UDP)."; 112 "startShowEditPort:AlertSheet:messageText" = "This service cannot be edited"; 113 "startShowEditPort:AlertSheet:defaultButton" = "OK"; 114 "startShowEditPort:AlertSheet:informativeText" = "%@ redirects incoming connections from port(s) %@"; 115 116 "startEditPort:popUpButtonFirewallAdittionalPortsCustom" = "Custom.."; 117 118 "deletePort:AlertSheet:messageText" = "This service cannot be deleted!"; 119 "deletePort:AlertSheet:defaultButton" = "OK"; 120 "deletePort:AlertSheet:informativeText" = "To disable this service from being redirected use the corresponding checkbox."; 121 122 "checkPort:textFieldFirewallPortError:name" = "No empty name!"; 123 "checkPort:textFieldFirewallPortError:hostport" = "No empty host-port entry!"; 124 "checkPort:textFieldFirewallPortError:guestport" = "No empty guest-port entry!"; 125 "checkPort:textFieldFirewallPortError:illegalchars" = "Illegal characters in ports!"; 126 "checkPort:textFieldFirewallPortError:combination" = "Combination of , and - not allowed."; 127 107 128 108 129 /* cocoaControlPreferences */ … … 113 134 114 135 "viewGeneral:title" = "General"; 136 137 /* cocoaDownload */ 138 139 "startBTDownload:torrentFile:length" = "Could not download bittorrent meta file. Maybe the file doesn't exist anymore or the server is down."; 140 "startBTDownload:torrentFile:tError:invalid" = "Bittorrent: Invalid torrent / bad torrent file."; 141 "startBTDownload:torrentFile:tError:unsupported" = "Bittorrent: Unsupported torrent file."; 142 "startBTDownload:torrentFile:tError:exists" = "Bittorrent: Torrent already exists."; 143 "startBTDownload:torrentFile:tError:miscellanious" = "Bittorrent: Miscellanious error."; 144 145 "checkDownloadStarted:errorDescription" = "Could not connect to the server. Connection timed out after 60 seconds."; 146 147 /* cocoaDownloadController */ 148 149 "showAllDownloads:AlertSheet:standardAlert" = "Cannot show Guest PCs from free.oszoo.org."; 150 "showAllDownloads:AlertSheet:defaultButton" = "OK"; 151 "showAllDownloads:AlertSheet:informativeText" = "Couldn't get the list of downloadable Guest PCs from kju-app.org."; 152 153 "tableView:objectValueForTableColumn:Size" = "Download Size"; 154 "tableView:objectValueForTableColumn:Author" = "provided by"; 155 156 "showDetails:MoreInfo" = "More Info"; 157 "startDownload:downloadButton:Title" = "Stop"; 158 "startDownload:statusText:Text" = "Starting download..."; 159 160 "stopDownload:AlertSheet:standardAlert" = "You have active downloads running"; 161 "stopDownload:AlertSheet:defaultButton" = "Stop"; 162 "stopDownload:AlertSheet:alternativeButton" = "Cancel"; 163 "stopDownload:AlertSheet:informativeText" = "Are you sure you want to stop downloading?"; 164 165 "downloadDidReceiveData:remainingString1" = "%d hours %d minutes remaining"; 166 "downloadDidReceiveData:remainingString2" = "%d minutes %d seconds remaining"; 167 "downloadDidReceiveData:remainingString3" = "about %d minutes remaining"; 168 "downloadDidReceiveData:remainingString4" = "about %d seconds remaining"; 169 "downloadDidReceiveData:connecting" = "Connecting.."; 170 "downloadDidReceiveData:statusText1" = "%.0f %@ of %.1f %@ (%d kB/s), %@"; 171 "downloadDidReceiveData:statusText2" = "%.1f %@ of %.1f %@ (%d kB/s), %@"; 172 173 "downloadDidFinish:statusText" = "Download finished."; 174 "downloadDidFail:statusText" = "Download failed."; 175 "downloadDidFail:AlertSheet:standardAlert" = "Download failed"; 176 "downloadDidFail:AlertSheet:defaultButton" = "OK"; 177 178 "uncompressPC:statusText" = "Extracting files.."; 179 180 "finishDownload:statusText1" = "Importing Free OS.."; 181 "finishDownload:message1" = "You can now start using your Free OS."; 182 "finishDownload:message2" = "The harddisk could not be found. Please check the settings before using your Free OS."; 183 "finishDownload:message3" = "The files could not be extracted. The archive seems to be corrupt. You may want to try to extract it manually or report this to free.oszoo.org.\n\nPath: %@"; 184 "finishDownload:message4" = "The files could not be extracted. The downloaded file seems to be no archive.\n\nPath: %@"; 185 "finishDownload:AlertSheet:messageText" = "Import finished"; 186 "finishDownload:AlertSheet:defaultButton" = "OK"; 187 "finishDownload:statusText2" = "Finished."; trunk/qcontrol/Resources/English.lproj/cocoaControlEditPC.nib/info.nib
r46 r53 14 14 <string>420 324 440 427 0 0 1280 778 </string> 15 15 <key>930</key> 16 <string>42 0 280436 339 0 0 1280 778 </string>16 <string>422 368 436 339 0 0 1280 778 </string> 17 17 </dict> 18 18 <key>IBFramework Version</key> … … 20 20 <key>IBOpenObjects</key> 21 21 <array> 22 <integer>736</integer> 22 23 <integer>478</integer> 24 <integer>1080</integer> 25 <integer>930</integer> 26 <integer>10</integer> 23 27 <integer>570</integer> 24 <integer>1080</integer>25 <integer>893</integer>26 <integer>10</integer>27 <integer>736</integer>28 <integer>930</integer>29 28 </array> 30 29 <key>IBSystem Version</key> 31 <string>8 J2135a</string>30 <string>8L2127</string> 32 31 <key>IBUsesTextArchiving</key> 33 32 <true/> trunk/qcontrol/Resources/English.lproj/cocoaControlEditPC.nib/keyedobjects.nib
r46 r53 12 12 <dict> 13 13 <key>CF$UID</key> 14 <integer>1 481</integer>14 <integer>1251</integer> 15 15 </dict> 16 16 <key>NSAccessibilityConnectors</key> 17 17 <dict> 18 18 <key>CF$UID</key> 19 <integer>1 478</integer>19 <integer>1248</integer> 20 20 </dict> 21 21 <key>NSAccessibilityOidsKeys</key> 22 22 <dict> 23 23 <key>CF$UID</key> 24 <integer>1 479</integer>24 <integer>1249</integer> 25 25 </dict> 26 26 <key>NSAccessibilityOidsValues</key> 27 27 <dict> 28 28 <key>CF$UID</key> 29 <integer>1 480</integer>29 <integer>1250</integer> 30 30 </dict> 31 31 <key>NSClassesKeys</key> 32 32 <dict> 33 33 <key>CF$UID</key> 34 <integer> 1174</integer>34 <integer>983</integer> 35 35 </dict> 36 36 <key>NSClassesValues</key> 37 37 <dict> 38 38 <key>CF$UID</key> 39 <integer> 1175</integer>39 <integer>984</integer> 40 40 </dict> 41 41 <key>NSConnections</key> … … 57 57 <dict> 58 58 <key>CF$UID</key> 59 <integer> 1041</integer>59 <integer>881</integer> 60 60 </dict> 61 61 <key>NSNamesValues</key> 62 62 <dict> 63 63 <key>CF$UID</key> 64 <integer> 1042</integer>64 <integer>882</integer> 65 65 </dict> 66 66 <key>NSNextOid</key> … … 69 69 <dict> 70 70 <key>CF$UID</key> 71 <integer> 923</integer>71 <integer>878</integer> 72 72 </dict> 73 73 <key>NSObjectsValues</key> 74 74 <dict> 75 75 <key>CF$UID</key> 76 <integer> 1040</integer>76 <integer>880</integer> 77 77 </dict> 78 78 <key>NSOidsKeys</key> 79 79 <dict> 80 80 <key>CF$UID</key> 81 <integer> 1176</integer>81 <integer>985</integer> 82 82 </dict> 83 83 <key>NSOidsValues</key> 84 84 <dict> 85 85 <key>CF$UID</key> 86 <integer> 1177</integer>86 <integer>986</integer> 87 87 </dict> 88 88 <key>NSRoot</key> … … 375 375 <dict> 376 376 <key>CF$UID</key> 377 <integer>763</integer> 378 </dict> 379 <dict> 380 <key>CF$UID</key> 381 <integer>765</integer> 382 </dict> 383 <dict> 384 <key>CF$UID</key> 385 <integer>767</integer> 386 </dict> 387 <dict> 388 <key>CF$UID</key> 377 389 <integer>769</integer> 378 390 </dict> 379 391 <dict> 380 392 <key>CF$UID</key> 381 <integer>776</integer> 382 </dict> 383 <dict> 384 <key>CF$UID</key> 385 <integer>788</integer> 386 </dict> 387 <dict> 388 <key>CF$UID</key> 389 <integer>794</integer> 390 </dict> 391 <dict> 392 <key>CF$UID</key> 393 <integer>801</integer> 394 </dict> 395 <dict> 396 <key>CF$UID</key> 397 <integer>803</integer> 393 <integer>782</integer> 394 </dict> 395 <dict> 396 <key>CF$UID</key> 397 <integer>787</integer> 398 398 </dict> 399 399 <dict> … … 403 403 <dict> 404 404 <key>CF$UID</key> 405 <integer>807</integer> 406 </dict> 407 <dict> 408 <key>CF$UID</key> 409 <integer>809</integer> 410 </dict> 411 <dict> 412 <key>CF$UID</key> 413 <integer>822</integer> 414 </dict> 415 <dict> 416 <key>CF$UID</key> 417 <integer>828</integer> 418 </dict> 419 <dict> 420 <key>CF$UID</key> 421 <integer>846</integer> 422 </dict> 423 <dict> 424 <key>CF$UID</key> 425 <integer>852</integer> 426 </dict> 427 <dict> 428 <key>CF$UID</key> 429 <integer>858</integer> 430 </dict> 431 <dict> 432 <key>CF$UID</key> 433 <integer>866</integer> 434 </dict> 435 <dict> 436 <key>CF$UID</key> 437 <integer>873</integer> 438 </dict> 439 <dict> 440 <key>CF$UID</key> 441 <integer>880</integer> 442 </dict> 443 <dict> 444 <key>CF$UID</key> 445 <integer>921</integer> 405 <integer>811</integer> 406 </dict> 407 <dict> 408 <key>CF$UID</key> 409 <integer>816</integer> 410 </dict> 411 <dict> 412 <key>CF$UID</key> 413 <integer>824</integer> 414 </dict> 415 <dict> 416 <key>CF$UID</key> 417 <integer>830</integer> 418 </dict> 419 <dict> 420 <key>CF$UID</key> 421 <integer>836</integer> 422 </dict> 423 <dict> 424 <key>CF$UID</key> 425 <integer>876</integer> 446 426 </dict> 447 427 </array> … … 13906 13886 <dict> 13907 13887 <key>CF$UID</key> 13888 <integer>62</integer> 13889 </dict> 13890 <key>NSDestination</key> 13891 <dict> 13892 <key>CF$UID</key> 13893 <integer>698</integer> 13894 </dict> 13895 <key>NSLabel</key> 13896 <dict> 13897 <key>CF$UID</key> 13898 <integer>762</integer> 13899 </dict> 13900 <key>NSSource</key> 13901 <dict> 13902 <key>CF$UID</key> 13903 <integer>2</integer> 13904 </dict> 13905 </dict> 13906 <string>firewallPortTable</string> 13907 <dict> 13908 <key>$class</key> 13909 <dict> 13910 <key>CF$UID</key> 13908 13911 <integer>445</integer> 13909 13912 </dict> … … 13916 13919 <dict> 13917 13920 <key>CF$UID</key> 13921 <integer>764</integer> 13922 </dict> 13923 <key>NSSource</key> 13924 <dict> 13925 <key>CF$UID</key> 13926 <integer>743</integer> 13927 </dict> 13928 </dict> 13929 <string>startShowNewPort:</string> 13930 <dict> 13931 <key>$class</key> 13932 <dict> 13933 <key>CF$UID</key> 13934 <integer>445</integer> 13935 </dict> 13936 <key>NSDestination</key> 13937 <dict> 13938 <key>CF$UID</key> 13939 <integer>2</integer> 13940 </dict> 13941 <key>NSLabel</key> 13942 <dict> 13943 <key>CF$UID</key> 13944 <integer>766</integer> 13945 </dict> 13946 <key>NSSource</key> 13947 <dict> 13948 <key>CF$UID</key> 13949 <integer>753</integer> 13950 </dict> 13951 </dict> 13952 <string>startShowEditPort:</string> 13953 <dict> 13954 <key>$class</key> 13955 <dict> 13956 <key>CF$UID</key> 13957 <integer>445</integer> 13958 </dict> 13959 <key>NSDestination</key> 13960 <dict> 13961 <key>CF$UID</key> 13962 <integer>2</integer> 13963 </dict> 13964 <key>NSLabel</key> 13965 <dict> 13966 <key>CF$UID</key> 13918 13967 <integer>768</integer> 13919 13968 </dict> … … 13921 13970 <dict> 13922 13971 <key>CF$UID</key> 13923 <integer>762</integer> 13924 </dict> 13925 </dict> 13926 <dict> 13927 <key>$class</key> 13928 <dict> 13929 <key>CF$UID</key> 13930 <integer>45</integer> 13972 <integer>748</integer> 13973 </dict> 13974 </dict> 13975 <string>deletePort:</string> 13976 <dict> 13977 <key>$class</key> 13978 <dict> 13979 <key>CF$UID</key> 13980 <integer>62</integer> 13981 </dict> 13982 <key>NSDestination</key> 13983 <dict> 13984 <key>CF$UID</key> 13985 <integer>770</integer> 13986 </dict> 13987 <key>NSLabel</key> 13988 <dict> 13989 <key>CF$UID</key> 13990 <integer>781</integer> 13991 </dict> 13992 <key>NSSource</key> 13993 <dict> 13994 <key>CF$UID</key> 13995 <integer>2</integer> 13996 </dict> 13997 </dict> 13998 <dict> 13999 <key>$class</key> 14000 <dict> 14001 <key>CF$UID</key> 14002 <integer>104</integer> 13931 14003 </dict> 13932 14004 <key>NSCell</key> 13933 14005 <dict> 13934