Commit Graph

43 Commits

Author SHA1 Message Date
Nathan Kinsinger 7123fd6519 Add a "Report a problem" item to the Help menu
Opens the GitX Lighthouse page.
2010-11-14 17:59:11 -07:00
Nathan Kinsinger 0807099dc3 Send the CFBundleGitVersion string along with the other sparkle profile info 2010-11-14 17:59:03 -07:00
Nathan Kinsinger e60bb3226c Refactor the gitx CLI to use apple events and the scripting bridge
Sending the arguments with the openURL:... message allows the repository document to modify it's UI without the UI flashing between states as it opens.

Covers all the existing functionality of the CLI, but modifies:
    - "--all" "--local" "--branch" change the branch filter
    - cleaned up the usage (help) text and added info on missing commands
    - looks up the full ref name of refs so the name of a branch or tag can be entered (the user can enter "master" instead of "refs/heads/master")

Modified the History Controller to watch for and react to branch filter changes.

The GitX.h file is generated by the 'sdp' tool in a run script build phase called 'Generate Scripting Bridge Header' based on the content of GitX.sdef. It is used by the Scripting Bridge so that other apps (in this case the gitx CLI) can call Applescript commands on GitX in objective-c.
2010-09-12 19:32:19 -06:00
Uli Kusterer a6b5705a5f First stab at an executable that can be put into the SSH_ASKPASS environment variable to make GitX ask for passwords.
Set the environment variables for our tool. We have a rudimentary but working password panel now. Prettification later.

Label on password window so it's less cryptic.
2010-07-04 22:12:59 -06:00
Nathan Kinsinger 98920bf0b1 Merge remote branch 'refs/remotes/dgrijalva/stable' into experimental
Conflicts:
	ApplicationController.m
	GitX.xcodeproj/project.pbxproj
	PBGitCommitView.xib
	PBGitHistoryView.xib
	PBGitRevisionCell.m
	PBGitTree.m
	PBGitWindowController.m
	PBViewController.m
	html/views/history/history.js
	html/views/history/index.html
2010-05-29 21:04:21 -06:00
Nathan Kinsinger 6a8f495318 Add support for QuickLook in 10.6+
In 10.6 Apple removed the private QL API that existed in 10.5 and added a new public API. However they did not port the new API back to 10.5 so we have to do some work to get it working in both.

This patch has GitX choose the correct version at run time.
    - The delegate code is based on Apple's QuickLookDownloader example project
    - added three of the public API methods to CWQuickLook.h to avoid warnings about unknown method calls
    - In ApplicationController try to load the public API first then load the private one if it fails
    - Created PBQLTextView, a subclass of NSTextView to allow the space key event to toggle the preview panel
    - PBGitHistoryView.xib:
        - set the text view's class to PBQLTextView
        - connected the history controller to the controller outlet
        - bound the quick look button's enabled binding to File's Owner.selectedCommitDetailsIndex
        - added "Quick Look" to the quick look button's tooltip
    - The commit list table view toggles the panel if the tree view is active
    - changed name of the toggle IBAction method which caused MainMenu.xib and PBGitHistoryView.xib to update
2010-03-22 12:25:02 -06:00
Nathan Kinsinger f2a395d423 Add Reopen all repositories from last session
Store all the open documents when the app closes and then open them when the app starts again. Defaults to NO, so that there is no change to the existing behavior.
2010-03-13 22:16:09 -07:00
Nathan Kinsinger 0ad92349e6 Add Clone Repository
Added Clone… to the File menu which opens a window to select the repository URL and the path for the destination.
2010-03-13 22:11:00 -07:00
Pieter de Bie 4bc43dbd7f Remove Sparkle feed url changer
Apparently the setFeedURL: method is persistent, so if someone ever used
a nightly, it would keep the debug URL. That's not what I intended (I wanted
to use a different URL for debugging purposes), so let's just remove it.
2009-09-18 01:06:10 +02:00
Pieter de Bie 7bfcf9af70 Add update key 2009-09-18 00:03:43 +02:00
Pieter de Bie 77473612d9 Update Sparkle Framework 2009-09-17 13:28:07 +02:00
Stonewall Ballard 85322728fa Add preferences for opening things at launch.
Heavily-Edited-By: Pieter de Bie <pdebie@ai.rug.nl>
2009-09-07 13:37:17 +02:00
Johannes Gilger 0b81911d76 About-Panel: Show git-describe using Info.plist
This patch adds a CFBundleGitRevision key to Info.plist which is set to
the output of "git describe" when building.

The menu-entry for "About GitX" was reconnected to a custom method in
the AppController, which reads the CF-string from the .plist and also
indicates if the build is a DEBUG-build.

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-09-06 13:23:38 +02:00
Pieter de Bie c00f736053 Add preference to ignore whitespace differences in history view
We don't want to do this in the commit view, as that way you can't
commit whitespace differences. You'll never be able to have a clean
working tree, and you can't see why the files remain 'unstaged'. So, we do this
only for the history view :)
2009-06-11 19:40:08 +01:00
Pieter de Bie 48b0fc8456 ApplicationController: Use a debug symbol that actually works 2009-03-28 22:27:30 +00:00
Johannes Gilger b18d9af2aa ApplicationController: Make sure gitx installation-path exists
When trying to install the gitx symlink into /usr/local/bin, GitX would
fail if the directory /usr/local/bin didn't exist yet. We simply call
mkdir -p in advance, which only creates the directory if doesn't exist.
2009-02-08 13:33:16 +01:00
Pieter de Bie ba80ae0311 Use new help page URL
Some while ago, gitx changed its homepage from
frim.nl/gitx to gitx.frim.nl, and in the process the user
manual was moved. Though there is still a redirect in place,
it's nicer for the user if we go to the correct page at once.
2009-01-28 20:23:26 +00:00
Christian Jacobsen 0f09401aa6 Add a preferences window
This adds a preference window with default preferences to change the
sparkle options and to set a custom path to a git binary.
2009-01-19 16:38:02 +00:00
Pieter de Bie bcc167be1b CLITool: Change installation path to /usr/local/bin 2008-11-08 23:16:57 +01:00
Pieter de Bie 304a1a5d03 Remove stray debug messages 2008-11-01 21:14:57 +01:00
Pieter de Bie e232181fae Add a GitX:// protocol handler
This allows to read in arbitrary blobs from the repository.
For more information, see the CallingFromWebKit.txt
document in the Documentation/ directory.
2008-11-01 19:06:05 +01:00
Pieter de Bie 19f4d94ec6 Add a Complete SHA service
This adds a service bound to ⌘⇧7 that expands
any ref to its abbreviated SHA and its subject
line, much like ⌘C in the commit list does.
2008-10-27 17:40:46 +01:00
Pieter de Bie f26cbee2fc Add a help menu item 2008-10-10 21:59:20 +02:00
Pieter de Bie 97f80a2e51 Remove leftover code 2008-10-10 21:59:18 +02:00
Pieter de Bie 708c08a293 First part of splitting views 2008-09-19 21:36:52 +02:00
Pieter de Bie caf3b92e90 Force the creation of the gitx clitool 2008-09-13 01:32:56 +02:00
Pieter de Bie 9b6695e3a0 Only show the open dialog if the application is active
This fixes an issue where command line arguments were not passed because
the repository was already opened.
2008-09-12 14:32:15 +02:00
Ciarán Walsh 6f6b1e36db Installation of the gitx command-line tool.
We use ln(1) via AuthorizationExecuteWithPrivileges() to create a symlink to gitx in /usr/bin.
2008-08-18 20:49:45 +01:00
Ciarán Walsh 6d500bc310 Adding a message to inform the user that the terminal tool installation isn’t ready yet.
It also gives the user a command they can run to create the symlink manually.
2008-08-18 20:12:54 +01:00
Ciarán Walsh 3773a739b7 Adding a menu item to install the CLI tool. 2008-08-18 18:44:08 +01:00
Ciarán Walsh 0bb4cbc197 Adding a basic command-line tool to interface with the application through distributed objects.
Currently it simply launches the app and connects, however this will allow passing of arguments (for example, a revision to show).
2008-08-18 16:02:34 +01:00
Ciarán Walsh c90d48dd7b I had changed the usage of getenv("PWD") to use -[NSFileManager currentDirectoryPath], but this doesn’t work when opening GitX from the commandline.
So, this changes back to using $PWD (but through Cocoa instead, via NSProcessInfo)
2008-08-18 12:16:49 +01:00
Ciarán Walsh b85a205698 Completing the document-based app setup.
Multiple repositories can now be opened by using the File → Open… menu option.
Each document is a PBGitRepository with a PBDetailController controlling the window. PBRepositoryDocumentController is the document controller.
When launched, the application will attempt to open a repository with the current directory as its path. If this fails it will display an open panel to allow the user to select one.
2008-08-18 08:58:39 +01:00
Ciarán Walsh 0def8d34d7 Splitting the window and it’s associated controllers into a separate nib; this will allow multiple repository windows to be used.
PBDetailController is the window controller, and now takes ownership of the repository so we can bind to it through File’s Owner in the nib file. Currently the ApplicationController creates a new PBDetailController at startup with the opened repository.
2008-08-18 07:31:39 +01:00
Ciarán Walsh 18e2a519b3 Force activation of the application after launch in debug builds.
This is required when running with TextMate’s Build & Run command, as the application is opened in the background.
2008-08-17 21:16:45 +01:00
Pieter de Bie 39797876fe Optimize rev-list parsing
This uses the C fgets() over the weird readLine implementation I found.
It speeds up the rev-parsing significantly: we went from ~4.5 seconds
on the git.git repo to ~0.95 seconds. And that's with the secret new date
parsing!
2008-06-17 15:04:49 +02:00
Pieter de Bie fe8f173360 Add custom cell 2008-06-17 13:46:18 +02:00
Pieter de Bie 28e8bacb89 Add QuickLook support in tree view
This adds a QuickLook button that will allow you to directly view any file in
the tree view in QuickLook. This is really nice for PDF's and images. You can
select multiple files and even play a slideshow if you want.

Currently it does not remove temporary files it created. This means that they
will probably stay around until you reboot.
2008-06-17 02:29:27 +02:00
Pieter de Bie 60e0684b4b Quit on closing the window
Also add some fancy buttons that don't do anything :)
2008-06-16 05:24:27 +02:00
Pieter de Bie 21addff1f4 Show an open dialog if not opened from the terminal 2008-06-16 03:44:26 +02:00
Pieter de Bie d6a0b1bb4c Use a separate controller for tabs 2008-06-16 02:19:26 +02:00
Pieter de Bie 08757ad610 Add easy pipe handling library. Use it to find real git repository path
This adds a new class, PBEasyPipe, which can do most of the pipe handling
in an easy way.

We use this to call `git rev-parse --git-dir` to find our current git
repository. This means that we can now call GitX within a subdirectory :)
2008-06-16 01:52:12 +02:00
Pieter de Bie 154b78b70c Rename to GitX 2008-06-16 00:25:34 +02:00