mirror of
				https://github.com/arsenetar/dupeguru.git
				synced 2025-09-11 17:58:17 +00:00 
			
		
		
		
	Fixed a bug where the details panel would sometimes not be updated. Also, pushed the details toggling mechanism in dgbase.
--HG-- extra : convert_revision : svn%3Ac306627e-7827-47d3-bdf0-9a457c9553a1/trunk%40239
This commit is contained in:
		
							parent
							
								
									eb3645d493
								
							
						
					
					
						commit
						13dc9ff76d
					
				| @ -10,6 +10,7 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| #import "RecentDirectories.h" | #import "RecentDirectories.h" | ||||||
| #import "PyDupeGuru.h" | #import "PyDupeGuru.h" | ||||||
| #import "ResultWindow.h" | #import "ResultWindow.h" | ||||||
|  | #import "DetailsPanel.h" | ||||||
| 
 | 
 | ||||||
| @interface AppDelegateBase : NSObject | @interface AppDelegateBase : NSObject | ||||||
| { | { | ||||||
| @ -19,9 +20,11 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
|     IBOutlet ResultWindowBase *result; |     IBOutlet ResultWindowBase *result; | ||||||
|      |      | ||||||
|     NSString *_appName; |     NSString *_appName; | ||||||
|  |     DetailsPanelBase *_detailsPanel; | ||||||
| } | } | ||||||
| - (IBAction)unlockApp:(id)sender; | - (IBAction)unlockApp:(id)sender; | ||||||
| 
 | 
 | ||||||
| - (PyDupeGuruBase *)py; | - (PyDupeGuruBase *)py; | ||||||
| - (RecentDirectories *)recentDirectories; | - (RecentDirectories *)recentDirectories; | ||||||
|  | - (DetailsPanelBase *)detailsPanel; // Virtual
 | ||||||
| @end | @end | ||||||
|  | |||||||
| @ -35,6 +35,7 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| 
 | 
 | ||||||
| - (PyDupeGuruBase *)py { return py; } | - (PyDupeGuruBase *)py { return py; } | ||||||
| - (RecentDirectories *)recentDirectories { return recentDirectories; } | - (RecentDirectories *)recentDirectories { return recentDirectories; } | ||||||
|  | - (DetailsPanelBase *)detailsPanel { return nil; } // Virtual | ||||||
| 
 | 
 | ||||||
| /* Delegate */ | /* Delegate */ | ||||||
| - (void)applicationDidFinishLaunching:(NSNotification *)aNotification | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification | ||||||
|  | |||||||
| @ -18,6 +18,7 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| - (id)initWithPy:(PyApp *)aPy; | - (id)initWithPy:(PyApp *)aPy; | ||||||
| 
 | 
 | ||||||
| - (void)refresh; | - (void)refresh; | ||||||
|  | - (void)toggleVisibility; | ||||||
| 
 | 
 | ||||||
| /* Notifications */ | /* Notifications */ | ||||||
| - (void)duplicateSelectionChanged:(NSNotification *)aNotification; | - (void)duplicateSelectionChanged:(NSNotification *)aNotification; | ||||||
|  | |||||||
| @ -24,6 +24,17 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
|     [detailsTable reloadData]; |     [detailsTable reloadData]; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | - (void)toggleVisibility | ||||||
|  | { | ||||||
|  |     if ([[self window] isVisible]) | ||||||
|  |         [[self window] close]; | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         [self refresh]; // selection might have changed since last time | ||||||
|  |         [[self window] orderFront:nil]; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| /* Notifications */ | /* Notifications */ | ||||||
| - (void)duplicateSelectionChanged:(NSNotification *)aNotification | - (void)duplicateSelectionChanged:(NSNotification *)aNotification | ||||||
| { | { | ||||||
|  | |||||||
| @ -8,7 +8,6 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| 
 | 
 | ||||||
| #import <Cocoa/Cocoa.h> | #import <Cocoa/Cocoa.h> | ||||||
| #import "Outline.h" | #import "Outline.h" | ||||||
| #import "DirectoryPanel.h" |  | ||||||
| #import "PyDupeGuru.h" | #import "PyDupeGuru.h" | ||||||
| 
 | 
 | ||||||
| @interface MatchesView : OutlineView | @interface MatchesView : OutlineView | ||||||
| @ -56,6 +55,7 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| - (IBAction)showPreferencesPanel:(id)sender; | - (IBAction)showPreferencesPanel:(id)sender; | ||||||
| - (IBAction)switchSelected:(id)sender; | - (IBAction)switchSelected:(id)sender; | ||||||
| - (IBAction)toggleColumn:(id)sender; | - (IBAction)toggleColumn:(id)sender; | ||||||
|  | - (IBAction)toggleDetailsPanel:(id)sender; | ||||||
| - (IBAction)togglePowerMarker:(id)sender; | - (IBAction)togglePowerMarker:(id)sender; | ||||||
| 
 | 
 | ||||||
| /* Notifications */ | /* Notifications */ | ||||||
|  | |||||||
| @ -346,6 +346,11 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | - (IBAction)toggleDetailsPanel:(id)sender | ||||||
|  | { | ||||||
|  |     [[(AppDelegateBase *)app detailsPanel] toggleVisibility]; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| - (IBAction)togglePowerMarker:(id)sender | - (IBAction)togglePowerMarker:(id)sender | ||||||
| { | { | ||||||
|     if ([pmSwitch selectedSegment] == 1) |     if ([pmSwitch selectedSegment] == 1) | ||||||
|  | |||||||
| @ -11,6 +11,7 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| #import "cocoalib/RegistrationInterface.h" | #import "cocoalib/RegistrationInterface.h" | ||||||
| #import "cocoalib/Utils.h" | #import "cocoalib/Utils.h" | ||||||
| #import "cocoalib/ValueTransformers.h" | #import "cocoalib/ValueTransformers.h" | ||||||
|  | #import "DetailsPanel.h" | ||||||
| #import "Consts.h" | #import "Consts.h" | ||||||
| 
 | 
 | ||||||
| @implementation AppDelegate | @implementation AppDelegate | ||||||
| @ -62,6 +63,14 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
|         _directoryPanel = [[DirectoryPanel alloc] initWithParentApp:self]; |         _directoryPanel = [[DirectoryPanel alloc] initWithParentApp:self]; | ||||||
|     return _directoryPanel; |     return _directoryPanel; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | - (DetailsPanelBase *)detailsPanel | ||||||
|  | { | ||||||
|  |     if (!_detailsPanel) | ||||||
|  |         _detailsPanel = [[DetailsPanel alloc] initWithPy:py]; | ||||||
|  |     return _detailsPanel; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| - (PyDupeGuru *)py { return (PyDupeGuru *)py; } | - (PyDupeGuru *)py { return (PyDupeGuru *)py; } | ||||||
| 
 | 
 | ||||||
| //Delegate | //Delegate | ||||||
|  | |||||||
| @ -9,7 +9,6 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| #import <Cocoa/Cocoa.h> | #import <Cocoa/Cocoa.h> | ||||||
| #import "cocoalib/Outline.h" | #import "cocoalib/Outline.h" | ||||||
| #import "dgbase/ResultWindow.h" | #import "dgbase/ResultWindow.h" | ||||||
| #import "DetailsPanel.h" |  | ||||||
| #import "DirectoryPanel.h" | #import "DirectoryPanel.h" | ||||||
| 
 | 
 | ||||||
| @interface ResultWindow : ResultWindowBase | @interface ResultWindow : ResultWindowBase | ||||||
| @ -17,7 +16,6 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
|     IBOutlet NSSearchField *filterField; |     IBOutlet NSSearchField *filterField; | ||||||
|      |      | ||||||
|     NSString *_lastAction; |     NSString *_lastAction; | ||||||
|     DetailsPanel *_detailsPanel; |  | ||||||
|     NSMutableIndexSet *_deltaColumns; |     NSMutableIndexSet *_deltaColumns; | ||||||
| } | } | ||||||
| - (IBAction)clearIgnoreList:(id)sender; | - (IBAction)clearIgnoreList:(id)sender; | ||||||
| @ -37,5 +35,4 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| - (IBAction)revealSelected:(id)sender; | - (IBAction)revealSelected:(id)sender; | ||||||
| - (IBAction)startDuplicateScan:(id)sender; | - (IBAction)startDuplicateScan:(id)sender; | ||||||
| - (IBAction)toggleDelta:(id)sender; | - (IBAction)toggleDelta:(id)sender; | ||||||
| - (IBAction)toggleDetailsPanel:(id)sender; |  | ||||||
| @end | @end | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
| - (void)awakeFromNib | - (void)awakeFromNib | ||||||
| { | { | ||||||
|     [super awakeFromNib]; |     [super awakeFromNib]; | ||||||
|     _detailsPanel = nil; |  | ||||||
|     _displayDelta = NO; |     _displayDelta = NO; | ||||||
|     _powerMode = NO; |     _powerMode = NO; | ||||||
|     _deltaColumns = [[NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(2,4)] retain]; |     _deltaColumns = [[NSMutableIndexSet indexSetWithIndexesInRange:NSMakeRange(2,4)] retain]; | ||||||
| @ -200,16 +199,6 @@ http://www.hardcoded.net/licenses/hs_license | |||||||
|     [self changeDelta:sender]; |     [self changeDelta:sender]; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| - (IBAction)toggleDetailsPanel:(id)sender |  | ||||||
| { |  | ||||||
|     if (!_detailsPanel) |  | ||||||
|         _detailsPanel = [[DetailsPanel alloc] initWithPy:py]; |  | ||||||
|     if ([[_detailsPanel window] isVisible]) |  | ||||||
|         [[_detailsPanel window] close]; |  | ||||||
|     else |  | ||||||
|         [[_detailsPanel window] orderFront:nil]; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* Public */ | /* Public */ | ||||||
| - (void)initResultColumns | - (void)initResultColumns | ||||||
| { | { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user