mirror of
https://github.com/kennethreitz-archive/gitx.git
synced 2026-06-05 23:40:18 +00:00
Merge branch 'master' into fbartho
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#import "PBPrefsWindowController.h"
|
||||
#import "PBNSURLPathUserDefaultsTransfomer.h"
|
||||
#import "PBGitDefaults.h"
|
||||
#import "Sparkle/SUUpdater.h"
|
||||
|
||||
@implementation ApplicationController
|
||||
@synthesize cliProxy;
|
||||
@@ -63,6 +64,7 @@
|
||||
|
||||
- (void)applicationDidFinishLaunching:(NSNotification*)notification
|
||||
{
|
||||
[[SUUpdater sharedUpdater] setSendsSystemProfile:YES];
|
||||
[self registerServices];
|
||||
|
||||
// Only try to open a default document if there are no documents open already.
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
v0.7.1
|
||||
===
|
||||
|
||||
This is a maintenance release. The following bugs have been fixed:
|
||||
|
||||
* The Tree View now tries to be smart about displaying binaries (Johannes)
|
||||
* GitX now correctly tries to require git v1.6.0 or higher (Pieter)
|
||||
* Amending commits if the author name has UTF-8 multi-byte characters now correctly works (Pieter)
|
||||
* GitX no longer stalls for large periods when refreshing in the commit view (Johannes, Pieter)
|
||||
* The history view tries to be less crashy when loading commits
|
||||
|
||||
In addition, the Sparkle framework has been updated so that future updates will be signed
|
||||
@@ -131,6 +131,7 @@
|
||||
F5E92A1B0E88550E00056E75 /* empty_file.png in Resources */ = {isa = PBXBuildFile; fileRef = F5E92A1A0E88550E00056E75 /* empty_file.png */; };
|
||||
F5E92A230E88569500056E75 /* new_file.png in Resources */ = {isa = PBXBuildFile; fileRef = F5E92A220E88569500056E75 /* new_file.png */; };
|
||||
F5EF8C8E0E9D4A5D0050906B /* PBWebController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5EF8C8D0E9D4A5D0050906B /* PBWebController.m */; };
|
||||
F5F7D0651062E7940072C81C /* UpdateKey.pem in Resources */ = {isa = PBXBuildFile; fileRef = F5F7D0641062E7940072C81C /* UpdateKey.pem */; };
|
||||
F5FC41F40EBCBD4300191D80 /* PBGitXProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FC41F30EBCBD4300191D80 /* PBGitXProtocol.m */; };
|
||||
F5FC43FE0EBD08EE00191D80 /* PBRefMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FC43FD0EBD08EE00191D80 /* PBRefMenuItem.m */; };
|
||||
F5FE6C030EB13BC900F30D12 /* PBServicesController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FE6C020EB13BC900F30D12 /* PBServicesController.m */; };
|
||||
@@ -299,6 +300,7 @@
|
||||
F5E92A220E88569500056E75 /* new_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = new_file.png; path = Images/new_file.png; sourceTree = "<group>"; };
|
||||
F5EF8C8C0E9D4A5D0050906B /* PBWebController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBWebController.h; sourceTree = "<group>"; };
|
||||
F5EF8C8D0E9D4A5D0050906B /* PBWebController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBWebController.m; sourceTree = "<group>"; };
|
||||
F5F7D0641062E7940072C81C /* UpdateKey.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = UpdateKey.pem; sourceTree = "<group>"; };
|
||||
F5FC41F20EBCBD4300191D80 /* PBGitXProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitXProtocol.h; sourceTree = "<group>"; };
|
||||
F5FC41F30EBCBD4300191D80 /* PBGitXProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitXProtocol.m; sourceTree = "<group>"; };
|
||||
F5FC43C30EBD050800191D80 /* PBRefContextDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBRefContextDelegate.h; sourceTree = "<group>"; };
|
||||
@@ -434,6 +436,7 @@
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F5F7D0641062E7940072C81C /* UpdateKey.pem */,
|
||||
F50A41130EBB872D00208746 /* Widgets */,
|
||||
47DBDB920E94F47200671A1E /* Preference Icons */,
|
||||
D26DC6440E782C9000C777B2 /* gitx.icns */,
|
||||
@@ -819,6 +822,7 @@
|
||||
47DBDB6A0E94EF6500671A1E /* Preferences.xib in Resources */,
|
||||
47DBDBB10E94F6CA00671A1E /* Updates.png in Resources */,
|
||||
F569AE930F2CBD7C00C2FFA7 /* Credits.html in Resources */,
|
||||
F5F7D0651062E7940072C81C /* UpdateKey.pem in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -850,7 +854,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "export PATH=$PATH:$HOME/bin:$HOME/local/bin:/sw/bin:/opt/local/bin:`\"$TARGET_BUILD_DIR\"/gitx --git-path`\nVERSION=$(cd \"$PROJECT_DIR\";git describe)\nLONG_VERSION=$(echo $VERSION | sed -e \"s/\\-/\\./\" -e \"s/^v//\" -e \"s/-.*//\")\nSHORT_VERSION=$(echo $VERSION | sed -e \"s/\\-.*//\" -e \"s/^v//\")\n\necho -n \"#define LONG_VERSION $LONG_VERSION\n#define GIT_VERSION $VERSION\n#define SHORT_VERSION $SHORT_VERSION\" > \"$PROJECT_TEMP_DIR/revision\"\ntouch Info.plist";
|
||||
shellScript = "export PATH=$PATH:$HOME/bin:$HOME/local/bin:/sw/bin:/opt/local/bin:`\"$TARGET_BUILD_DIR\"/gitx --git-path`\nVERSION=$(cd \"$PROJECT_DIR\";git describe)\nSHORT_VERSION=$(echo $VERSION | sed -e \"s/\\-.*//\" -e \"s/^v//\")\n\necho -n \"#define GIT_VERSION $VERSION\n#define SHORT_VERSION $SHORT_VERSION\" > \"$PROJECT_TEMP_DIR/revision\"\ntouch Info.plist";
|
||||
};
|
||||
F5792DFB0EDB570C001B0C31 /* Compile libgit2 */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
||||
+3
-1
@@ -2,6 +2,8 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SUPublicDSAKeyFile</key>
|
||||
<string>UpdateKey.pem</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleName</key>
|
||||
@@ -49,7 +51,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>LONG_VERSION</string>
|
||||
<string>SHORT_VERSION</string>
|
||||
<key>CFBundleGitVersion</key>
|
||||
<string>GIT_VERSION</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@
|
||||
<string key="IBDocument.HIToolboxVersion">353.00</string>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="207"/>
|
||||
<integer value="125"/>
|
||||
<integer value="225"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
@@ -1237,9 +1237,9 @@
|
||||
<reference key="object" ref="750704519"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="812432808"/>
|
||||
<reference ref="221814497"/>
|
||||
<reference ref="1073221655"/>
|
||||
<reference ref="812432808"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1002"/>
|
||||
</object>
|
||||
|
||||
@@ -180,6 +180,13 @@
|
||||
[self refresh:nil];
|
||||
}
|
||||
|
||||
- (void)viewLoaded
|
||||
{
|
||||
float position = [[NSUserDefaults standardUserDefaults] floatForKey:@"PBGitSplitViewPosition"];
|
||||
if (position)
|
||||
[historySplitView setPosition:position ofDividerAtIndex:0];
|
||||
}
|
||||
|
||||
- (NSResponder *)firstResponder;
|
||||
{
|
||||
return commitList;
|
||||
@@ -201,6 +208,9 @@
|
||||
|
||||
- (void) removeView
|
||||
{
|
||||
float position = [[[historySplitView subviews] objectAtIndex:0] frame].size.height;
|
||||
[[NSUserDefaults standardUserDefaults] setFloat:position forKey:@"PBGitSplitViewPosition"];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
[webView close];
|
||||
[commitController removeObserver:self forKeyPath:@"selection"];
|
||||
[treeController removeObserver:self forKeyPath:@"selection"];
|
||||
|
||||
+13
-9
@@ -69,28 +69,32 @@
|
||||
selectedViewIndex = whichViewTag;
|
||||
[[NSUserDefaults standardUserDefaults] setInteger:whichViewTag forKey:@"selectedViewIndex"];
|
||||
|
||||
BOOL justLoaded = NO;
|
||||
switch (whichViewTag)
|
||||
{
|
||||
case 0: // swap in the "CustomImageViewController - NSImageView"
|
||||
if (!historyViewController)
|
||||
case 0:
|
||||
if (!historyViewController) {
|
||||
historyViewController = [[PBGitHistoryController alloc] initWithRepository:repository superController:self];
|
||||
else
|
||||
[historyViewController updateView];
|
||||
justLoaded = YES;
|
||||
}
|
||||
viewController = historyViewController;
|
||||
break;
|
||||
case 1:
|
||||
if (!commitViewController)
|
||||
if (!commitViewController) {
|
||||
commitViewController = [[PBGitCommitController alloc] initWithRepository:repository superController:self];
|
||||
else
|
||||
[commitViewController updateView];
|
||||
|
||||
justLoaded = YES;
|
||||
}
|
||||
viewController = commitViewController;
|
||||
break;
|
||||
}
|
||||
|
||||
// make sure we automatically resize the controller's view to the current window size
|
||||
[[viewController view] setFrame: [contentView bounds]];
|
||||
|
||||
if (justLoaded)
|
||||
[viewController viewLoaded];
|
||||
else
|
||||
[viewController updateView];
|
||||
|
||||
//// embed the current view to our host view
|
||||
[contentView addSubview: [viewController view]];
|
||||
|
||||
|
||||
@@ -21,8 +21,20 @@
|
||||
@property (readonly) NSToolbar *viewToolbar;
|
||||
|
||||
- (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller;
|
||||
|
||||
/* removeView is called whenever the view is removed, either to be swapped
|
||||
* with a different view, or when the repository window will be destroyed
|
||||
*/
|
||||
- (void) removeView;
|
||||
|
||||
/* Updateview is called every time it is loaded into the main view */
|
||||
- (void) updateView;
|
||||
|
||||
/* Called after awakeFromNib:, and the view has been loaded into the main view.
|
||||
* Useful for resizing stuff after everything has been set in the right position
|
||||
*/
|
||||
- (void)viewLoaded;
|
||||
|
||||
- (NSResponder *)firstResponder;
|
||||
|
||||
@end
|
||||
|
||||
+10
-6
@@ -35,14 +35,18 @@
|
||||
{
|
||||
}
|
||||
|
||||
// This is called when the view is displayed again; it
|
||||
// should be updated to show the most recent information
|
||||
- (void) updateView
|
||||
{
|
||||
}
|
||||
|
||||
- (NSResponder *)firstResponder;
|
||||
{
|
||||
return nil;
|
||||
}
|
||||
|
||||
// The next methods should be implemented in the subclass if necessary
|
||||
- (void)updateView
|
||||
{
|
||||
}
|
||||
|
||||
- (void)viewLoaded
|
||||
{
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
@interface SUAppcastItem : NSObject {
|
||||
NSString *title;
|
||||
NSDate *date;
|
||||
NSString *description;
|
||||
NSString *itemDescription;
|
||||
|
||||
NSURL *releaseNotesURL;
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
- (NSString *)versionString;
|
||||
- (NSString *)displayVersionString;
|
||||
- (NSDate *)date;
|
||||
- (NSString *)description;
|
||||
- (NSString *)itemDescription;
|
||||
- (NSURL *)releaseNotesURL;
|
||||
- (NSURL *)fileURL;
|
||||
- (NSString *)DSASignature;
|
||||
|
||||
@@ -36,6 +36,12 @@
|
||||
- (void)setFeedURL:(NSURL *)feedURL;
|
||||
- (NSURL *)feedURL;
|
||||
|
||||
- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile;
|
||||
- (BOOL)sendsSystemProfile;
|
||||
|
||||
- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates;
|
||||
- (BOOL)automaticallyDownloadsUpdates;
|
||||
|
||||
// This IBAction is meant for a main menu item. Hook up any menu item to this action,
|
||||
// and Sparkle will check for updates and report back its findings verbosely.
|
||||
- (IBAction)checkForUpdates:sender;
|
||||
@@ -45,11 +51,14 @@
|
||||
// update is found, it will be downloaded and prepped for installation.
|
||||
- (void)checkForUpdatesInBackground;
|
||||
|
||||
// Date of last update check. Returns null if no check has been performed.
|
||||
- (NSDate*)lastUpdateCheckDate;
|
||||
|
||||
// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though,
|
||||
// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI.
|
||||
- (void)checkForUpdateInformation;
|
||||
|
||||
// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks.
|
||||
// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer.
|
||||
- (void)resetUpdateCycle;
|
||||
|
||||
- (BOOL)updateInProgress;
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.5 Beta 5</string>
|
||||
<string>1.5 Beta 6</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>282</string>
|
||||
<string>313</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
Binary file not shown.
+3
-3
@@ -3,17 +3,17 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBFramework Version</key>
|
||||
<string>667</string>
|
||||
<string>670</string>
|
||||
<key>IBLastKnownRelativeProjectPath</key>
|
||||
<string>../Sparkle.xcodeproj</string>
|
||||
<key>IBOldestOS</key>
|
||||
<integer>5</integer>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>89</integer>
|
||||
<integer>18</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>9D34</string>
|
||||
<string>10A96</string>
|
||||
<key>targetFramework</key>
|
||||
<string>IBCocoaFramework</string>
|
||||
</dict>
|
||||
|
||||
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
-4
@@ -7,11 +7,9 @@
|
||||
<key>IBOldestOS</key>
|
||||
<integer>5</integer>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>6</integer>
|
||||
</array>
|
||||
<array/>
|
||||
<key>IBSystem Version</key>
|
||||
<string>9D34</string>
|
||||
<string>9E17</string>
|
||||
<key>targetFramework</key>
|
||||
<string>IBCocoaFramework</string>
|
||||
</dict>
|
||||
|
||||
BIN
Binary file not shown.
+1
-1
@@ -9,7 +9,7 @@
|
||||
<key>IBOpenObjects</key>
|
||||
<array/>
|
||||
<key>IBSystem Version</key>
|
||||
<string>9D34</string>
|
||||
<string>9E17</string>
|
||||
<key>targetFramework</key>
|
||||
<string>IBCocoaFramework</string>
|
||||
</dict>
|
||||
|
||||
Generated
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIDOjCCAi0GByqGSM44BAEwggIgAoIBAQCHqXl7R4gxSzQbs9Rx2aah2Gv2MbU9
|
||||
b32EboHrtPu3Exm3xXlqL9V0OafZjAjnAUOVPa8VprWcF3j/OWk6R6KGLM3ThUUz
|
||||
4XsqrKZGpHsTYIe+h8+ArTFnzsv2vHsNF2QkesDahE9lNGcgOQNyJy9XoWUJugaD
|
||||
JXpizG5fBDfVhOHDI8JPpDyHN9TSIgKYvgeKVvaE5sZ3csb7b1rP4gkB3q9c/h80
|
||||
ArBeBb5MOe1Iz0aVqidK0fJD66Ah29kvu9yUBkI8gYI/RsODpBS7BDpwZoTHf8TH
|
||||
TiYhF4fagzleQmda1+eP/FAJcKxmm1NfIBkPKzRaXtWU1jebea2TPMhDAhUAgGen
|
||||
jSgWMxjKWr9oVtlQqLrL+EMCggEABJHLgZObBVo+85CkJ/Mved+tcePXrWBwvQHE
|
||||
8k8I5LmjrFsvMauuwjUvRQm5QyHvys7xETaoR25UuqQFLengeMgt9gFRoWkkIpgS
|
||||
VNDT8z30+HLsO41w0dKIsn6va5yGkD2fXfSzEqx6qMLPEQJ5nLDJoX03gfZeNFxh
|
||||
9chRGJeo4twc1Or4G3EBurAn7Vr6rfQe21dogWTfAv9j6a22cOQObBc2B4z2S097
|
||||
jNtQ7W0DtYf8R+4qST6Jy7006KZdKmQeCJZaz1j24050VGTXi97wt7r7yXS7slZm
|
||||
o9hr5cXZTiMrREH098pPG36TEA8miVXxqUCJjDsKNMTyEsoNggOCAQUAAoIBAHHO
|
||||
Dhi58geSZQgzW+GEvPUAqQ0A/EMI5vNT8g3WsBLoMguWfntmoBjwZfwTue0EQyTU
|
||||
ouUOaiwtdbmz0XWbMOPIwjSOrWb3+nSQ8hc2m62xdFJnbv1JAYOJJKyjISY2+G6+
|
||||
tjWpmv8Or07ao/u61ofCPFWEJwCQE9myrUG6ACyte3GRHqGX3A2IY/J7Ncok4S6I
|
||||
Zlp27z6beY3BYOM9QUwH1J6VmJn0CXH5jpMFsRo/c/b3iFWFZ80AzDnaX7DXPw8d
|
||||
6BVyMZnw+YVNeam30i/at/Ic4hAxBuabBPMulurGY/c+nTW2QlIOCWDAnCQnJpQH
|
||||
ZSwhpZtVkisZuNaaK8M=
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -251,7 +251,7 @@ var showDiff = function() {
|
||||
p.insertBefore(document.createTextNode(name1 + " -> "), link);
|
||||
}
|
||||
|
||||
link.appendChild(document.createTextNode(finalFile));
|
||||
link.appendChild(document.createTextNode(finalFile.unEscapeHTML()));
|
||||
button.setAttribute("representedFile", finalFile);
|
||||
link.setAttribute("representedFile", finalFile);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user