Adium

Changeset 23957

Show
Ignore:
Timestamp:
06/13/2008 08:04:05 PM (6 months ago)
Author:
evands
Message:

Added AIWebKitPreviewMessageViewController to factor out some code needed only for the preview and allow easy modification of its behavior. Disabled the contextual menu in the preview. Fixes #10016

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Adium.xcodeproj/project.pbxproj

    r23889 r23957  
    575575                34A1AEEE0DFD4C4A00AC78CF /* AIAdvancedInspectorPane.nib in Resources */ = {isa = PBXBuildFile; fileRef = 34A1AEED0DFD4C4A00AC78CF /* AIAdvancedInspectorPane.nib */; }; 
    576576                34A1B2C30DFDBA1200AC78CF /* AIStringDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A1B2C20DFDBA1200AC78CF /* AIStringDebug.m */; }; 
     577                34A1B5A00E03409F00AC78CF /* AIWebKitPreviewMessageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A1B59F0E03409F00AC78CF /* AIWebKitPreviewMessageViewController.m */; }; 
    577578                34A1EDAF0DD3AF220090667A /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C103FAE057127A500F3C158 /* WebKit.framework */; }; 
    578579                34A1EE990DD3BFB00090667A /* AIFacebookBuddyListManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A1EE980DD3BFB00090667A /* AIFacebookBuddyListManager.m */; }; 
     
    30763077                34A1B2C10DFDBA1200AC78CF /* AIStringDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIStringDebug.h; path = Source/AIStringDebug.h; sourceTree = "<group>"; }; 
    30773078                34A1B2C20DFDBA1200AC78CF /* AIStringDebug.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIStringDebug.m; path = Source/AIStringDebug.m; sourceTree = "<group>"; }; 
     3079                34A1B59E0E03409F00AC78CF /* AIWebKitPreviewMessageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIWebKitPreviewMessageViewController.h; path = "Plugins/WebKit Message View/AIWebKitPreviewMessageViewController.h"; sourceTree = "<group>"; }; 
     3080                34A1B59F0E03409F00AC78CF /* AIWebKitPreviewMessageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIWebKitPreviewMessageViewController.m; path = "Plugins/WebKit Message View/AIWebKitPreviewMessageViewController.m"; sourceTree = "<group>"; }; 
    30783081                34A1EE970DD3BFB00090667A /* AIFacebookBuddyListManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIFacebookBuddyListManager.h; path = "Plugins/Facebook Service/AIFacebookBuddyListManager.h"; sourceTree = "<group>"; }; 
    30793082                34A1EE980DD3BFB00090667A /* AIFacebookBuddyListManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIFacebookBuddyListManager.m; path = "Plugins/Facebook Service/AIFacebookBuddyListManager.m"; sourceTree = "<group>"; }; 
     
    73847387                                4B539C5105EFD6FA00E5921A /* AIWebKitMessageViewController.h */, 
    73857388                                4B539C5205EFD6FB00E5921A /* AIWebKitMessageViewController.m */, 
     7389                                34A1B59E0E03409F00AC78CF /* AIWebKitPreviewMessageViewController.h */, 
     7390                                34A1B59F0E03409F00AC78CF /* AIWebKitPreviewMessageViewController.m */, 
    73867391                                4B539C4B05EFD6CD00E5921A /* AIWebKitMessageViewPlugin.h */, 
    73877392                                4B539C4C05EFD6CD00E5921A /* AIWebKitMessageViewPlugin.m */, 
     
    93289333                                6360B25A0BF2EB93004CD99B /* AIWebKitDelegate.m in Sources */, 
    93299334                                34FA28110C820C3A00FEA944 /* AIPreviewContentMessage.m in Sources */, 
     9335                                34A1B5A00E03409F00AC78CF /* AIWebKitPreviewMessageViewController.m in Sources */, 
    93309336                        ); 
    93319337                        runOnlyForDeploymentPostprocessing = 0; 
  • trunk/Plugins/WebKit Message View/AIWebKitMessageViewController.h

    r23481 r23957  
    3232        id                                                      plugin; 
    3333        ESWebView                                       *webView; 
    34         id                                                      preferencesChangedDelegate; 
    3534        AIChat                                          *chat; 
    3635        BOOL                                            shouldReflectPreferenceChanges; 
     
    107106- (NSString *)chatContentSource; 
    108107 
    109 - (void)setPreferencesChangedDelegate:(id)inDelegate; 
     108- (void)preferencesChangedForGroup:(NSString *)group key:(NSString *)key object:(AIListObject *)object 
     109                                        preferenceDict:(NSDictionary *)prefDict firstTime:(BOOL)firstTime; 
     110 
    110111@end 
  • trunk/Plugins/WebKit Message View/AIWebKitMessageViewController.m

    r23954 r23957  
    173173        [self releaseAllCachedIcons]; 
    174174 
    175         [preferencesChangedDelegate release]; preferencesChangedDelegate = nil; 
    176175        [plugin release]; plugin = nil; 
    177176        [objectsWithUserIconsArray release]; objectsWithUserIconsArray = nil; 
     
    210209        } else { 
    211210                [storedContentObjects release]; storedContentObjects = nil; 
    212         } 
    213 } 
    214  
    215 - (void)setPreferencesChangedDelegate:(id)inDelegate 
    216 { 
    217         if (inDelegate != preferencesChangedDelegate) { 
    218                 [preferencesChangedDelegate release]; 
    219                 preferencesChangedDelegate = [inDelegate retain]; 
    220                  
    221                 [preferencesChangedDelegate preferencesChangedForGroup:PREF_GROUP_WEBKIT_MESSAGE_DISPLAY 
    222                                                                                                                    key:nil 
    223                                                                                                                 object:nil 
    224                                                                                                 preferenceDict:[[adium preferenceController] preferencesForGroup:PREF_GROUP_WEBKIT_MESSAGE_DISPLAY] 
    225                                                                                                          firstTime:YES]; 
    226                  
    227                 [preferencesChangedDelegate preferencesChangedForGroup:PREF_GROUP_WEBKIT_BACKGROUND_IMAGES 
    228                                                                                                                    key:nil 
    229                                                                                                                 object:nil 
    230                                                                                                 preferenceDict:[[adium preferenceController] preferencesForGroup:PREF_GROUP_WEBKIT_BACKGROUND_IMAGES] 
    231                                                                                                          firstTime:YES]; 
    232211        } 
    233212} 
     
    309288                        isUpdatingWebViewForCurrentPreferences = NO; 
    310289                } 
    311         } 
    312          
    313         if (preferencesChangedDelegate) { 
    314                 [preferencesChangedDelegate preferencesChangedForGroup:group 
    315                                                                                                                    key:key 
    316                                                                                                                 object:object 
    317                                                                                                 preferenceDict:prefDict 
    318                                                                                                          firstTime:firstTime]; 
    319         } 
     290        }        
    320291} 
    321292 
  • trunk/Plugins/WebKit Message View/ESWebKitMessageViewPreferences.h

    r15851 r23957  
    1717#import <Adium/AIPreferencePane.h> 
    1818 
    19 @class ESWebView, AIContentObject, AIAutoScrollView, AIWebKitMessageViewController; 
     19@class ESWebView, AIContentObject, AIAutoScrollView, AIWebKitPreviewMessageViewController; 
    2020@class JVFontPreviewField, AIImageViewWithImagePicker; 
    2121 
     
    4040        IBOutlet        NSView                          *view_previewLocation; 
    4141        NSMutableDictionary                             *previewListObjectsDict; 
    42         AIWebKitMessageViewController *previewController; 
     42        AIWebKitPreviewMessageViewController  *previewController; 
    4343        ESWebView                                               *preview; 
    4444         
  • trunk/Plugins/WebKit Message View/ESWebKitMessageViewPreferences.m

    r23931 r23957  
    1818#import "AIWebKitMessageViewPlugin.h" 
    1919#import "AIWebkitMessageViewStyle.h" 
    20 #import "AIWebKitMessageViewController.h" 
     20#import "AIWebKitPreviewMessageViewController.h" 
    2121#import "AIPreviewChat.h" 
    2222#import "ESWebView.h" 
     
    461461        NSDictionary *listObjects; 
    462462        previewChat = [self previewChatWithDictionary:previewDict fromPath:previewPath listObjects:&listObjects]; 
    463         previewController = [[AIWebKitMessageViewController messageDisplayControllerForChat:previewChat 
    464                                                                                                                                                   withPlugin:plugin] retain]; 
     463        previewController = [[AIWebKitPreviewMessageViewController messageDisplayControllerForChat:previewChat 
     464                                                                                                                                                                       withPlugin:plugin] retain]; 
    465465 
    466466        //Enable live refreshing of our preview 
    467467        [previewController setShouldReflectPreferenceChanges:YES];       
    468468        [previewController setPreferencesChangedDelegate:self]; 
    469  
     469         
    470470        //Add fake users and content to our chat 
    471471        [self _fillContentOfChat:previewChat withDictionary:previewDict fromPath:previewPath listObjects:listObjects];