mirror of
https://github.com/kennethreitz-archive/gitx.git
synced 2026-06-05 23:40:18 +00:00
Remove my 10.6 QuickLook panel code since Nathan's implementation handles this more gracefully (includes 10.5 support).
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import <Quartz/Quartz.h> /* for QLPreviewPanel */
|
||||
#import "PBGitRepository.h"
|
||||
|
||||
@class PBCLIProxy;
|
||||
@@ -38,7 +37,5 @@
|
||||
- (IBAction)saveAction:sender;
|
||||
- (IBAction) showHelp:(id) sender;
|
||||
|
||||
- (IBAction)togglePreviewPanel:(id)previewPanel;
|
||||
|
||||
- (IBAction) showCloneRepository:(id)sender;
|
||||
@end
|
||||
|
||||
+4
-21
@@ -31,6 +31,7 @@
|
||||
if(![[NSBundle bundleWithPath:@"/System/Library/Frameworks/Quartz.framework/Frameworks/QuickLookUI.framework"] load])
|
||||
if(![[NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/QuickLookUI.framework"] load])
|
||||
NSLog(@"Could not load QuickLook");
|
||||
|
||||
self.cliProxy = [PBCLIProxy new];
|
||||
}
|
||||
|
||||
@@ -215,7 +216,7 @@
|
||||
return managedObjectModel;
|
||||
}
|
||||
|
||||
managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
|
||||
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
|
||||
return managedObjectModel;
|
||||
}
|
||||
|
||||
@@ -292,12 +293,14 @@
|
||||
*/
|
||||
|
||||
- (IBAction) saveAction:(id)sender {
|
||||
|
||||
NSError *error = nil;
|
||||
if (![[self managedObjectContext] save:&error]) {
|
||||
[[NSApplication sharedApplication] presentError:error];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Implementation of the applicationShouldTerminate: method, used here to
|
||||
handle the saving of changes in the application managed object context
|
||||
@@ -346,26 +349,6 @@
|
||||
return reply;
|
||||
}
|
||||
|
||||
// QuickLook preview panel
|
||||
|
||||
- (IBAction)togglePreviewPanel:(id)previewPanel
|
||||
{
|
||||
if ([QLPreviewPanel sharedPreviewPanelExists] && [[QLPreviewPanel sharedPreviewPanel] isVisible]) {
|
||||
[[QLPreviewPanel sharedPreviewPanel] orderOut:nil];
|
||||
} else {
|
||||
[[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFront:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL) validateMenuItem:(NSMenuItem *)item {
|
||||
if ([item action] == @selector(saveAction:)) {
|
||||
// disable the Save menu item if there is no repository document open
|
||||
return ([[PBRepositoryDocumentController sharedDocumentController] currentDocument] != nil);
|
||||
} else {
|
||||
return [NSApp validateMenuItem:item];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(NSNotification *)aNotification
|
||||
{
|
||||
[PBGitDefaults removePreviousDocumentPaths];
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#import "PBDiffWindowController.h"
|
||||
#import "PBGitDefaults.h"
|
||||
#import "PBGitRevList.h"
|
||||
|
||||
#define QLPreviewPanel NSClassFromString(@"QLPreviewPanel")
|
||||
#define kHistorySelectedDetailIndexKey @"PBHistorySelectedDetailIndex"
|
||||
#define kHistoryDetailViewIndex 0
|
||||
@@ -37,87 +38,7 @@
|
||||
@implementation PBGitHistoryController
|
||||
@synthesize selectedCommitDetailsIndex, webCommit, gitTree, commitController, refController;
|
||||
|
||||
// MARK: Quick Look panel support
|
||||
|
||||
- (BOOL)acceptsPreviewPanelControl:(QLPreviewPanel *)panel;
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)beginPreviewPanelControl:(QLPreviewPanel *)panel
|
||||
{
|
||||
// This document is now responsible of the preview panel
|
||||
// It is allowed to set the delegate, data source and refresh panel.
|
||||
previewPanel = panel;
|
||||
panel.delegate = self;
|
||||
panel.dataSource = self;
|
||||
}
|
||||
|
||||
- (void)endPreviewPanelControl:(QLPreviewPanel *)panel
|
||||
{
|
||||
// This document loses its responsisibility on the preview panel
|
||||
// Until the next call to -beginPreviewPanelControl: it must not
|
||||
// change the panel's delegate, data source or refresh it.
|
||||
[previewPanel release];
|
||||
previewPanel = nil;
|
||||
}
|
||||
|
||||
// MARK: Quick Look panel data source
|
||||
|
||||
- (NSInteger)numberOfPreviewItemsInPreviewPanel:(QLPreviewPanel *)panel
|
||||
{
|
||||
return [[fileBrowser selectedRowIndexes] count];
|
||||
}
|
||||
|
||||
- (id <QLPreviewItem>)previewPanel:(QLPreviewPanel *)panel previewItemAtIndex:(NSInteger)index
|
||||
{
|
||||
return [[treeController selectedObjects] objectAtIndex:index];
|
||||
}
|
||||
|
||||
// MARK: Quick Look panel delegate
|
||||
|
||||
- (BOOL)previewPanel:(QLPreviewPanel *)panel handleEvent:(NSEvent *)event
|
||||
{
|
||||
// redirect all key down events to the table view
|
||||
if ([event type] == NSKeyDown) {
|
||||
[fileBrowser keyDown:event];
|
||||
return YES;
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
// This delegate method provides the rect on screen from which the panel will zoom.
|
||||
- (NSRect)previewPanel:(QLPreviewPanel *)panel sourceFrameOnScreenForPreviewItem:(id <QLPreviewItem>)item
|
||||
{
|
||||
NSInteger index = [fileBrowser rowForItem:[[treeController selectedNodes] objectAtIndex:0]];
|
||||
if (index == NSNotFound) {
|
||||
return NSZeroRect;
|
||||
}
|
||||
|
||||
NSRect iconRect = [fileBrowser frameOfCellAtColumn:0 row:index];
|
||||
|
||||
// check that the icon rect is visible on screen
|
||||
NSRect visibleRect = [fileBrowser visibleRect];
|
||||
|
||||
if (!NSIntersectsRect(visibleRect, iconRect)) {
|
||||
return NSZeroRect;
|
||||
}
|
||||
|
||||
// convert icon rect to screen coordinates
|
||||
iconRect = [fileBrowser convertRectToBase:iconRect];
|
||||
iconRect.origin = [[fileBrowser window] convertBaseToScreen:iconRect.origin];
|
||||
|
||||
return iconRect;
|
||||
}
|
||||
|
||||
// This delegate method provides a transition image between the table view and the preview panel
|
||||
- (id)previewPanel:(QLPreviewPanel *)panel transitionImageForPreviewItem:(id <QLPreviewItem>)item contentRect:(NSRect *)contentRect
|
||||
{
|
||||
PBGitTree * treeItem = (PBGitTree *)item;
|
||||
return treeItem.iconImage;
|
||||
}
|
||||
|
||||
// MARK: NSToolbarItemValidation Methods
|
||||
#pragma mark NSToolbarItemValidation Methods
|
||||
|
||||
- (BOOL) validateToolbarItem:(NSToolbarItem *)theItem {
|
||||
|
||||
@@ -137,7 +58,7 @@
|
||||
return res;
|
||||
}
|
||||
|
||||
// MARK: PBGitHistoryController
|
||||
#pragma mark PBGitHistoryController
|
||||
|
||||
- (void)awakeFromNib
|
||||
{
|
||||
@@ -185,11 +106,6 @@
|
||||
|
||||
- (void) updateKeys
|
||||
{
|
||||
// Remove any references in the QLPanel
|
||||
//[[QLPreviewPanel sharedPreviewPanel] setURLs:[NSArray array] currentIndex:0 preservingDisplayState:YES];
|
||||
// We have to do this manually, as NSTreeController leaks memory?
|
||||
//[treeController setSelectionIndexPaths:[NSArray array]];
|
||||
|
||||
selectedCommit = [[commitController selectedObjects] lastObject];
|
||||
|
||||
if (self.selectedCommitDetailsIndex == kHistoryTreeViewIndex) {
|
||||
@@ -381,12 +297,7 @@
|
||||
&& [event modifierFlags] & NSCommandKeyMask)
|
||||
{
|
||||
// command+alt+f
|
||||
[superController.window makeFirstResponder: searchField];
|
||||
}
|
||||
else if ([[event charactersIgnoringModifiers] isEqualToString: @" "])
|
||||
{
|
||||
// space
|
||||
[[NSApp delegate] togglePreviewPanel:self];
|
||||
[[superController window] makeFirstResponder: searchField];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -409,10 +320,6 @@
|
||||
|
||||
- (IBAction) toggleQLPreviewPanel:(id)sender
|
||||
{
|
||||
// !!! Andre Berg 20100324: commented this out since brotherbard implements
|
||||
// the QLPreviewPanel a bit more gracefully than me
|
||||
// [[NSApp delegate] togglePreviewPanel:sender];
|
||||
|
||||
if ([[QLPreviewPanel sharedPreviewPanel] respondsToSelector:@selector(setDataSource:)]) {
|
||||
// Public QL API
|
||||
if ([QLPreviewPanel sharedPreviewPanelExists] && [[QLPreviewPanel sharedPreviewPanel] isVisible])
|
||||
@@ -759,7 +666,7 @@
|
||||
PBGitTree *treeItem = (PBGitTree *)[[treeController selectedObjects] objectAtIndex:index];
|
||||
NSURL *previewURL = [NSURL fileURLWithPath:[treeItem tmpFileNameForContents]];
|
||||
|
||||
return (<QLPreviewItem>)previewURL;
|
||||
return (id <QLPreviewItem>)previewURL;
|
||||
}
|
||||
|
||||
#pragma mark <QLPreviewPanelDelegate>
|
||||
|
||||
Reference in New Issue
Block a user