MyController.h (3941B)
1 /* MyController */ 2 /* Copyright (c) 2003, 2014, see file COPYING for details. */ 3 4 #import <Cocoa/Cocoa.h> 5 6 #import "ProfileController.h" 7 #import "PreferencesController.h" 8 #import "NotificationController.h" 9 #import "ReconItem.h" 10 #import "ReconTableView.h" 11 #import "UnisonToolbar.h" 12 #import "ImageAndTextCell.h" 13 #import "ProgressCell.h" 14 #import "ColorGradientView.h" 15 #import "Bridge.h" 16 17 @interface MyController : NSObject 18 { 19 IBOutlet NSWindow *mainWindow; 20 UnisonToolbar *toolbar; 21 22 IBOutlet NSWindow *cltoolWindow; 23 IBOutlet NSButton *cltoolPref; 24 25 IBOutlet ProfileController *profileController; 26 IBOutlet NSView *chooseProfileView; 27 NSString *myProfile; 28 29 IBOutlet PreferencesController *preferencesController; 30 IBOutlet NSView *preferencesView; 31 32 IBOutlet NSView *updatesView; 33 IBOutlet NSView *ConnectingView; 34 IBOutlet ColorGradientView *connectingViewGradient; 35 36 NSView *blankView; 37 38 IBOutlet ReconTableView *tableView; 39 IBOutlet NSTextField *updatesText; 40 IBOutlet NSTextField *detailsTextView; 41 IBOutlet NSTextField *statusText; 42 IBOutlet ColorGradientView *detailsTextViewGradient; 43 44 IBOutlet NSWindow *passwordWindow; 45 IBOutlet NSTextField *passwordPrompt; 46 IBOutlet NSTextField *passwordText; 47 IBOutlet NSButton *passwordCancelButton; 48 BOOL waitingForPassword; 49 50 IBOutlet NSWindow *aboutWindow; 51 IBOutlet NSTextField *versionText; 52 53 IBOutlet NSProgressIndicator *progressBar; 54 55 IBOutlet NotificationController *notificationController; 56 57 BOOL syncable; 58 BOOL duringSync; 59 BOOL afterSync; 60 61 NSMutableArray *reconItems; 62 ParentReconItem *rootItem; 63 OCamlValue *preconn; 64 65 BOOL doneFirstDiff; 66 IBOutlet NSWindow *diffWindow; 67 IBOutlet NSTextView *diffView; 68 IBOutlet NSSegmentedControl *tableModeSelector; 69 IBOutlet NSProgressIndicator *connectingAnimation; 70 71 IBOutlet NSWindow *preferencesWindow; 72 IBOutlet NSButton* checkOpenProfile; 73 IBOutlet NSComboBox *profileBox; 74 IBOutlet NSTextField *detailsFontLabel; 75 IBOutlet NSTextField *diffFontLabel; 76 IBOutlet NSButton *chooseDetailsFont; 77 IBOutlet NSButton *chooseDiffFont; 78 79 IBOutlet NSSplitView *splitView; 80 81 id fontChangeTarget; 82 83 BOOL isBatchSet; 84 NSTimer *_timer; 85 NSAlert *_timeoutAlert; 86 NSUInteger _secondsRemaining; 87 88 BOOL shouldExitAfterWarning; 89 } 90 91 - (id)init; 92 - (void)awakeFromNib; 93 94 - (void)chooseProfiles; 95 - (IBAction)createButton:(id)sender; 96 - (IBAction)saveProfileButton:(id)sender; 97 - (IBAction)cancelProfileButton:(id)sender; 98 - (NSString *)profile; 99 - (void)profileSelected:(NSString *)aProfile; 100 101 - (IBAction)showPreferences:(id)sender; 102 - (IBAction)restartButton:(id)sender; 103 - (IBAction)rescan:(id)sender; 104 105 - (IBAction)openButton:(id)sender; 106 - (void)connect:(NSString *)profileName; 107 - (void)raisePasswordWindow:(NSString *)prompt; 108 - (void)controlTextDidEndEditing:(NSNotification *)notification; 109 - (IBAction)endPasswordWindow:(id)sender; 110 - (void)afterOpen; 111 112 - (IBAction)syncButton:(id)sender; 113 - (IBAction)tableModeChanged:(id)sender; 114 - (void)initTableMode; 115 116 - (NSMutableArray *)reconItems; 117 - (void)updateForChangedItems; 118 - (void)updateReconItems:(OCamlValue *)items; 119 - (id)updateForIgnore:(id)i; 120 121 - (void)statusTextSet:(NSString *)s; 122 - (void)diffViewTextSet:(NSString *)title bodyText:(NSString *)body; 123 - (void)displayDetails:(ReconItem *)item; 124 - (void)clearDetails; 125 126 - (IBAction)raiseCltoolWindow:(id)sender; 127 - (IBAction)cltoolYesButton:(id)sender; 128 - (IBAction)cltoolNoButton:(id)sender; 129 130 - (IBAction)raiseAboutWindow:(id)sender; 131 - (IBAction)raiseWindow:(NSWindow *)theWindow; 132 - (IBAction)onlineHelp:(id)sender; 133 - (IBAction)installCommandLineTool:(id)sender; 134 135 - (BOOL)validateItem:(SEL) action; 136 - (BOOL)validateMenuItem:(NSMenuItem *)menuItem; 137 - (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem; 138 139 - (void)resizeWindowToSize:(NSSize)newSize; 140 - (float)toolbarHeightForWindow:(NSWindow *)window; 141 142 - (IBAction) checkOpenProfileChanged:(id)sender; 143 - (IBAction) chooseFont:(id)sender; 144 - (void) updateFontDisplay; 145 146 @end