mirror of
https://github.com/kennethreitz-archive/gitx.git
synced 2026-06-05 23:40:18 +00:00
4a8c524692
- filters for All, Local/Remote, and the selected branch
- "Local" includes both branches and tags
- "Remote" includes all branches from the same remote as the selected remote branch (i.e. not other remotes)
Changes to make the above work:
- add a history list class between the repository and rev list
- store a project rev list with all the commits from the project
- use the project rev list to graph the history for individual branches when there have been no changes
- use a different rev list to show non-simple revs (history of a file, revs from the gitx tool)
- update the commits in chunks to a mutable array so the table view's array controller has less work to do
- only update the project rev list from git when actually necessary
- don't add the All Branches and Local Branches revs to the branches array
- some changes related to forcing the project's rev list to update when changes are made
- some changes related to not causing updates too often
- store the selected filter in user defaults
- when the graphing is done select the commit for the branch
174 lines
5.2 KiB
Objective-C
174 lines
5.2 KiB
Objective-C
//
|
|
// PBGitDefaults.m
|
|
// GitX
|
|
//
|
|
// Created by Jeff Mesnil on 19/10/08.
|
|
// Copyright 2008 Jeff Mesnil (http://jmesnil.net/). All rights reserved.
|
|
//
|
|
|
|
#import "PBGitDefaults.h"
|
|
|
|
#define kDefaultVerticalLineLength 50
|
|
#define kCommitMessageViewVerticalLineLength @"PBCommitMessageViewVerticalLineLength"
|
|
#define kCommitMessageViewHasVerticalLine @"PBCommitMessageViewHasVerticalLine"
|
|
#define kEnableGist @"PBEnableGist"
|
|
#define kEnableGravatar @"PBEnableGravatar"
|
|
#define kConfirmPublicGists @"PBConfirmPublicGists"
|
|
#define kPublicGist @"PBGistPublic"
|
|
#define kShowWhitespaceDifferences @"PBShowWhitespaceDifferences"
|
|
#define kOpenCurDirOnLaunch @"PBOpenCurDirOnLaunch"
|
|
#define kShowOpenPanelOnLaunch @"PBShowOpenPanelOnLaunch"
|
|
#define kShouldCheckoutBranch @"PBShouldCheckoutBranch"
|
|
#define kRecentCloneDestination @"PBRecentCloneDestination"
|
|
#define kSuppressAcceptDropRef @"PBSuppressAcceptDropRef"
|
|
#define kShowStageView @"PBShowStageView"
|
|
#define kOpenPreviousDocumentsOnLaunch @"PBOpenPreviousDocumentsOnLaunch"
|
|
#define kPreviousDocumentPaths @"PBPreviousDocumentPaths"
|
|
#define kBranchFilterState @"PBBranchFilter"
|
|
|
|
@implementation PBGitDefaults
|
|
|
|
+ (void)initialize
|
|
{
|
|
NSMutableDictionary *defaultValues = [NSMutableDictionary dictionary];
|
|
[defaultValues setObject:[NSNumber numberWithInt:kDefaultVerticalLineLength]
|
|
forKey:kCommitMessageViewVerticalLineLength];
|
|
[defaultValues setObject:[NSNumber numberWithBool:YES]
|
|
forKey:kCommitMessageViewHasVerticalLine];
|
|
[defaultValues setObject:[NSNumber numberWithBool:YES]
|
|
forKey:kEnableGist];
|
|
[defaultValues setObject:[NSNumber numberWithBool:YES]
|
|
forKey:kEnableGravatar];
|
|
[defaultValues setObject:[NSNumber numberWithBool:YES]
|
|
forKey:kConfirmPublicGists];
|
|
[defaultValues setObject:[NSNumber numberWithBool:NO]
|
|
forKey:kPublicGist];
|
|
[defaultValues setObject:[NSNumber numberWithBool:YES]
|
|
forKey:kShowWhitespaceDifferences];
|
|
[defaultValues setObject:[NSNumber numberWithBool:YES]
|
|
forKey:kOpenCurDirOnLaunch];
|
|
[defaultValues setObject:[NSNumber numberWithBool:YES]
|
|
forKey:kShowOpenPanelOnLaunch];
|
|
[defaultValues setObject:[NSNumber numberWithBool:YES]
|
|
forKey:kShouldCheckoutBranch];
|
|
[defaultValues setObject:[NSNumber numberWithBool:NO]
|
|
forKey:kOpenPreviousDocumentsOnLaunch];
|
|
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
|
|
}
|
|
|
|
+ (int) commitMessageViewVerticalLineLength
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] integerForKey:kCommitMessageViewVerticalLineLength];
|
|
}
|
|
|
|
+ (BOOL) commitMessageViewHasVerticalLine
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kCommitMessageViewHasVerticalLine];
|
|
}
|
|
|
|
+ (BOOL) isGistEnabled
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kEnableGist];
|
|
}
|
|
|
|
+ (BOOL) isGravatarEnabled
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kEnableGravatar];
|
|
}
|
|
|
|
+ (BOOL) confirmPublicGists
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kConfirmPublicGists];
|
|
}
|
|
|
|
+ (BOOL) isGistPublic
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kPublicGist];
|
|
}
|
|
|
|
+ (BOOL)showWhitespaceDifferences
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kShowWhitespaceDifferences];
|
|
}
|
|
|
|
+ (BOOL)openCurDirOnLaunch
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kOpenCurDirOnLaunch];
|
|
}
|
|
|
|
+ (BOOL)showOpenPanelOnLaunch
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kShowOpenPanelOnLaunch];
|
|
}
|
|
|
|
+ (BOOL) shouldCheckoutBranch
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kShouldCheckoutBranch];
|
|
}
|
|
|
|
+ (void) setShouldCheckoutBranch:(BOOL)shouldCheckout
|
|
{
|
|
[[NSUserDefaults standardUserDefaults] setBool:shouldCheckout forKey:kShouldCheckoutBranch];
|
|
}
|
|
|
|
+ (NSString *) recentCloneDestination
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] stringForKey:kRecentCloneDestination];
|
|
}
|
|
|
|
+ (void) setRecentCloneDestination:(NSString *)path
|
|
{
|
|
[[NSUserDefaults standardUserDefaults] setObject:path forKey:kRecentCloneDestination];
|
|
}
|
|
|
|
+ (BOOL) suppressAcceptDropRef
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kSuppressAcceptDropRef];
|
|
}
|
|
|
|
+ (void) setSuppressAcceptDropRef:(BOOL)suppress
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] setBool:suppress forKey:kSuppressAcceptDropRef];
|
|
}
|
|
|
|
+ (BOOL) showStageView
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kShowStageView];
|
|
}
|
|
|
|
+ (void) setShowStageView:(BOOL)suppress
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] setBool:suppress forKey:kShowStageView];
|
|
}
|
|
|
|
+ (BOOL) openPreviousDocumentsOnLaunch
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] boolForKey:kOpenPreviousDocumentsOnLaunch];
|
|
}
|
|
|
|
+ (void) setPreviousDocumentPaths:(NSArray *)documentPaths
|
|
{
|
|
[[NSUserDefaults standardUserDefaults] setObject:documentPaths forKey:kPreviousDocumentPaths];
|
|
}
|
|
|
|
+ (NSArray *) previousDocumentPaths
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] arrayForKey:kPreviousDocumentPaths];
|
|
}
|
|
|
|
+ (void) removePreviousDocumentPaths
|
|
{
|
|
[[NSUserDefaults standardUserDefaults] removeObjectForKey:kPreviousDocumentPaths];
|
|
}
|
|
+ (NSInteger) branchFilter
|
|
{
|
|
return [[NSUserDefaults standardUserDefaults] integerForKey:kBranchFilterState];
|
|
}
|
|
|
|
+ (void) setBranchFilter:(NSInteger)state
|
|
{
|
|
[[NSUserDefaults standardUserDefaults] setInteger:state forKey:kBranchFilterState];
|
|
}
|
|
|
|
@end
|