Commit Graph

115 Commits

Author SHA1 Message Date
Nathan Kinsinger 621b4e6bc8 Use Command-U for the Clone menu item 2010-11-17 19:53:09 -07:00
Nathan Kinsinger 62319b8cd9 Allow suppressing some of the modal warnings
This allows the user to suppress the display of some of the warning dialogs (like "Confirm before Push"). They can be reset with Reset Warnings in the General preferences.
2010-11-17 19:50:48 -07:00
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 4fad6b60a3 Improve search UI
Previously searching would filter the commits in the commit tableview to only show the commits that matched the search. However the context of where those commits exist in the history is lost.

With this patch all the commits are shown but the commits that match the search are highlighted with a light blue background. In addition there is a forward/back button to step through the matches.

A new search controller:
    - keeps track of the matching results
    - finds the next or previous result
    - displays the number of matches found or "Not found"
    - shows/hides the # of matches text and the next/last stepper button
    - shows a small bezel style window with a rewind icon indicating that the selection has cycled (pressing next when at the last match or previous when at the first)
    - sets up the search predicate which covers Subject, Author and SHA (previously this was three different searches)
    - stores search results in an NSIndexSet to make finding if a row is in the set faster (needed at drawing time)

Highlighting of search result rows is done in PBCommitList -drawRow:clipRect:

PBGitTextFieldCell is a subclass of NSTextFieldCell that disables the cell's selection highlighting.

Supporting Find Next and Find Previous (cmd-g and cmd-shift-g) menu commands required changing the action method of the menu items because NSTextFields (seem to) actively disable items in the Find menu.

rewindImage.pdf created by Nathan Kinsinger
2010-09-12 19:32:36 -06:00
Marc Liyanage d4cb11bb8b Add "Copy SHA" alternate menu item to main menu, with default binding Cmd-Option-C. It copies just the leading 7 characters of the SHA instead of the whole commit info. 2010-08-22 08:26:13 -06:00
Nathan Kinsinger 66e260fa69 Resize the remote progress sheet if the description is larger than the text field 2010-07-05 09:26:47 -06:00
André Berg a980fcea03 Make remaining sheets resizable as well. 2010-06-27 06:27:14 -06:00
André Berg a5acfe5b4a Make some of the sheets resizable (you never know how much a user wants to enter ;)). 2010-06-27 06:27:12 -06:00
André Berg 694b2ed0d7 Add Cmd+Shift+F for "Reveal in Finder" and Cmd+Shift+T for "Open Terminal". 2010-05-31 17:37:08 -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 ef26909d75 Add a Refresh button to the main window toolbar 2010-03-13 23:05:28 -07:00
Nathan Kinsinger 27d4b22122 Add preferences for the column guide in the commit message 2010-03-13 22:16:12 -07: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 865ff8995a Hide menu items in the File menu that are not used
They are still there in case they are ever needed
2010-03-13 22:15:55 -07:00
Nathan Kinsinger c61f65b3e8 Set the minimum size of the window to 600x450 2010-03-13 22:15:31 -07:00
Nathan Kinsinger 446dd540da Add Terminal, Reveal and Clone To to the toolbar
The clone icon is by André Berg (in 4396081c07)
2010-03-13 22:15:28 -07:00
Nathan Kinsinger 1b41171d92 Add a bottom content border/toolbar to the repository window
- add an action menu for the selected ref in the source view
    - add Add Remote, Fetch, Pull and Push buttons to the bottom bar
        - Add Remote icon by Nathan Kinsinger
        - Fetch, Pull and Push icons are modified versions of André Berg's icons (from 4396081c07) made a bit smaller to fit in the UI better.
    - move the status message for both the history view and the commit/stage view
        - all PBViewControllers now have status and isBusy properties and can use those to put a message in the bottom bar when they are the active content controller of the window
2010-03-13 22:15:13 -07:00
Nathan Kinsinger 64f4276e21 Delete old toolbars and create new ones
- remove the separate window toolbars from the history and commit views and create a new window toolbar in the repository window
    - add new toolbars inside the history view
        - new class to draw a gradient in the background of a view
        - moved the search field from the main toolbar to the scope bar
2010-03-13 22:14:36 -07:00
Nathan Kinsinger b1e632cf6f Move the sidebar to the window controller
Remove the sidebar from the history controller and put it under the control of the window controller.
    - the window controller is the delegate of the split view and controls resizing so the source list stays the same width as the window resizes
    - the sidebar controller tells the window controller which content view to show
    - removed the view selector from the toolbars of the history and commit xibs (the menu and keyboard shortcuts command-1 and command-2 still switch between the views)
    - added horizontal lines to the history and commit xibs to delineate the bottom toolbar area
2010-03-13 22:13:12 -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
Nathan Kinsinger d3d700a138 Add Clone To… to the File menu
Will clone an open repository to a folder. Opens a sheet with a custom accessory view that has a checkbox to allow creating a bare repo.
2010-03-13 12:52:44 -07:00
Nathan Kinsinger fe5dddc681 Add Add Remote
- Add Remote in the Repository menu
    - an Add Remote Sheet
2010-03-13 12:52:33 -07:00
Nathan Kinsinger 0c0b764005 Remote progress sheet
Add a progress sheet for remote operations that takes the arguments for a command and runs it in a task then shows a success or failure sheet.
2010-03-13 12:42:15 -07:00
Nathan Kinsinger 69d67820f6 Add Checkout
Checkout:
    - PBGitRepository: add checkoutRefish:
    - PBRefController: renamed checkoutRef: to checkout: and use new method in PBGitRepository
    - add to the contextual menus for commits (it was already in the menu for refs)
    - add "Checkout branch" checkbox to the Create Branch sheet
        - store the state in the defaults
    - tell the commitController to rearrangeObjects so that the refs highlight correctly (seems to only be a problem when going from a branch to a detached HEAD at the same commit)
2010-03-13 12:41:30 -07:00
Nathan Kinsinger aa4a24a579 Add Create Tag
A Create Tag item:
    - A new class (and xib) PBCreateTagSheet
    - In the Repository menu
    - In the contextual menu for commits

PBRefController the method tagInfo:
    - renamed to showTagInfoSheet:
    - moved it under the Tags mark
2010-03-13 12:41:24 -07:00
Nathan Kinsinger 509de29091 Add Reveal in Finder item to the Repository menu. 2010-03-06 16:31:51 -07:00
Nathan Kinsinger db0bb87340 Add Open in Terminal to the Repository menu.
Code came from B. Ohr at: http://groups.google.com/group/gitx/browse_thread/thread/a103df7ef7c1f037

Added quotes to workingDirectory path to support paths with spaces.
2010-03-06 16:31:16 -07:00
Nathan Kinsinger 9f048f6363 Update Create Branch
Update the methods for creating a branch.
    - create new class and xib PBCreateBranchSheet
    - remove old addRef: methods and iVars from PBRefController
    - remove old sheet from PBHistoryView.xib
    - put the implementation method in PBGitRepository
    - add a contextual menu item for commits
    - shows an error sheet
    - ask the commitController to rearrangeObjects to make sure the new branch is shown
    - switch from using "update-ref" to "branch" so that branches starting at a remote branch will track automatically (or not depending on the repo's settings)
2010-03-06 16:30:50 -07: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
Benjamin Kramer a8f4304f86 Fix checkbox scaling warnings
This fixes Snow Leopard's "The image scaling property should not be used with
checkboxes" warnings. Noticed by Stonewall Ballard.
2009-08-31 22:35:33 +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 e45c088099 Preferences: Resize views
This makes them all have the same width
2009-06-11 19:02:34 +01:00
Pieter de Bie b1fccb836e Add more defaults for handling Gists 2009-03-26 23:03:48 +00:00
Nick Zitzmann 8a6d55dbfe Add a "New..." option to the Main Menu to create a local
repository
2009-03-24 00:36:46 +00:00
Pieter de Bie e2e868da5d Redo the changes from 55d57ba076
This commit apparently corrupted the Preferences file.
I fixed it by taking the earlier version and manually adding
the changes again.
2009-03-23 23:54:54 +00:00
Pieter de Bie c890193ab5 Change keyboard shortcuts for switching views
This remaps Command-1/2 to the History/Commit view.

The keys used to be used to switch the subview in the history view.
As these views are probably less frequently changed than the history/
commit view, we'd better use the easier shortcut for the latter.

The subviews can now be changed by using command-option-1/2/3
2009-01-25 15:36:58 +00:00
Daniel Lundqvist 55d57ba076 Add panel for integration settings. 2009-01-19 16:48:41 +00:00
Pieter de Bie 23f1672831 PrefencesWindow: Add a reset icon to the path view
This allows you to remove a custom executable
2009-01-19 16:38:07 +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 4dd7a46b86 Allow Toolbar customization
This allows both toolbars to be customized.
2008-12-01 13:50:51 +01:00
Pieter de Bie f26cbee2fc Add a help menu item 2008-10-10 21:59:20 +02:00
Pieter de Bie b2cd87cb72 GitWindow: Don't try to be smart with the view selector
Previously, we would try to copy the view selector from within
the RepositoryWindow, so we could reuse it and change it if we
need to.

However, that causes problems if you have another window open:
if we try to add an item using the insertItemWithIdentifier:atIndex:
method, the item will be added to _all_ toolbars with the same
identifier, even if those toolbars already have the item!

As I see no easy way to fix that, we completely avoid the issue
by not inserting any objects and just copying the view selector
from view to view.
2008-10-04 23:00:11 +02:00
Pieter de Bie e329493154 Move toolbar to view xib 2008-10-03 17:18:26 +02:00
Pieter de Bie 9a927bcad4 RepositoryWindow: Prettify view selector 2008-10-02 22:13:56 +02:00
Pieter de Bie 7347d7d254 RepositoryWindow: Move view selector to the left and add a separator 2008-10-02 22:04:59 +02:00
Ciarán Walsh e1704729f9 Adding view-specific toolbars. 2008-09-30 23:14:02 +01:00
Pieter de Bie 709547ac85 Add Commit/History options in View menu 2008-09-26 23:30:52 +02:00
Pieter de Bie d3f97bdfcb GitWindowController: bind selected view to controller
This used to be bound to the UserDefaults, but that introduced the
bug that switching the view in one window also switched it in other
open windows.

See 2e7cd5268d
2008-09-26 00:35:05 +02:00
Pieter de Bie b257f0090a Fix compiler warnings 2008-09-24 17:19:58 +02:00