Commit Graph

133 Commits

Author SHA1 Message Date
Uli Kusterer bca58a7d9c First stab at an executable that can be put into the SSH_ASKPASS environment variable to make GitX ask for passwords. 2010-03-24 10:17:19 +01:00
André Berg b6272c082f Post merge fix: Set Base SDK back to 10.5 2010-03-24 09:00:07 +01:00
André Berg 884a2fcd31 Post merge fix: Move remote XIBs into English.lproj and make them localized again. 2010-03-24 04:49:10 +01:00
André Berg 38177ed968 Merge remote branch 'brotherbard/experimental' into local branch 'bb/experimental' 2010-03-24 01:41:00 +01: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 4a8c524692 Add branch view filters to history scope bar
- 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
2010-03-13 22:16:44 -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 ad3ea443ca Add items to the History view's upper toolbar
- add Create Branch and Create Tag buttons
        - icons are modified versions of Kim Does's icons (from ca7816b523) made a bit smaller to fit in the buttons better
    - add Merge, Cherry Pick, and Rebase buttons
        - icons by Nathan Kinsinger
2010-03-13 22:15:24 -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 90f80f01b4 Add a new cell class for the source view items
The new cell handles:
    - showing contextual menus
    - drawing a badge for the checked out branch

Needed to add the reference to the ref controller to the history controller.
2010-03-13 22:14:49 -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 c36726b985 Update the GUI to be more iApp like
- In PBGitSidebarView.xib
        - change indentation to 12
        - change font size to 11
        - disable the editable behavior
        - disable autoresizing
        - disable user resizing (column should resize with view)
        - remove the window
        - remove the shared user defaults controller (not being used)
    - add a project item with the project's name
    - a "Stage" item to go to what has been called the commit view
    - new icons for branches, remote branches and tags (created by Nathan Kinsinger)
    - remove the old tiff icons, PBSourceViewRemote.h/m and PBSourceViewAction.h/m from the xcode project
    - uses system icon for folder
    - uses Network icon for remotes
    - capitalize group names
    - rename the Custom group to Other (you can't really customize items in the traditional sense)
    - create a class for each item type that takes care of it's image (instead of trying to guess the image from it or it's parent's name)
    - remove the branch menu toolbar item from the history view, it's redundant now
2010-03-13 22:13:06 -07:00
Nathan Kinsinger eff7dab6b2 Merge branch 'refs/heads/pb/sidebar'
Conflicts:
	GitX.xcodeproj/project.pbxproj
	PBGitHistoryController.m
	PBGitWindowController.m
2010-03-13 22:11:47 -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 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 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
Nathan Kinsinger 39def32a1b Add <PBGitRefish> protocol.
This will simplify methods that execute git commands that can take a ref or an SHA.

Add some string constants so there is only one place for the type strings.
2010-02-19 22:55:07 -07:00
André Berg 9c4949e361 Add disclosure triangles to the template images for Push, Pull, Rebase to indicate that these are popup buttons. 2009-11-10 12:30:38 +01:00
André Berg 666d1354b2 Add template PNG for the "Add Remote" button. 2009-11-09 06:17:18 +01:00
brotherbard a26bca8845 Add drop down menus to the push and pull toolbar items.
TODO: need small disclosure triangles in the bottom right corner of the icons.
2009-11-08 20:34:34 -07:00
André Berg 4c4203a7ce Update PBGitErrors to include some error messages dealing with missing remote tracking branches.
This is especially useful for the new button functionality.
2009-11-07 01:02:22 +01:00
André Berg d4a7df12a3 Remove superfluous resources and underutilized localizations. 2009-11-01 00:09:34 +01:00
André Berg b7ec771771 Add alternative icons for Rebase, Push and Pull. 2009-10-26 23:39:55 +01:00
André Berg 2b0000ca23 Add menu and toolbar changes from cyberfox 2009-10-26 16:26:52 +01:00
André Berg 7bf4ed5c38 Bug fix: Change notification to avoid display freezes when the QuickLook panel hides during the repository window's auto refresh. 2009-10-24 20:30:19 +02:00
André Berg fcbe01b091 Xcode build name again. Just ignore it. 2009-10-24 09:00:34 +02:00
André Berg 76298f1f18 Bug fix: the QuickLook panel now really starts its nice morphing animation from the selected row.
Previously it would just start from the top of the file browser outline view
every single time. Not very sexy...
2009-10-21 07:05:03 +02:00
André Berg dca051c520 Xcode project update: Change base SDK and deployement target to 10.6.
Change default compiler to Clang v1.0 for up to 40% compile and runtime
speed increase.

Improve control over install location through user scripts and config
files.
2009-10-20 04:07:28 +02:00
Pieter de Bie 339026981a Update testing framework 2009-10-01 21:55:40 +02:00
Pieter de Bie f0860b4f9d Add testing framework 2009-10-01 21:06:09 +02:00
Pieter de Bie 6531cfce3b Add a new class, PBGitIndex, which integrates functionality from both indexcontrollers 2009-09-13 16:55:38 +02:00
Pieter de Bie fb3a1705e3 SideBar: Add ViewAction and ViewRemote objects
These two new classes can represent items in our SourceList
that refer to specific actions (such as comitting), or
specific Remotes.
2009-09-10 02:39:16 +02:00
Pieter de Bie 23d5c01a3d Sidebar: hook up branch switching
This is far from perfect, but at least you can
use it to navigate the stuff a bit now :)
2009-09-10 02:32:09 +02:00
Pieter de Bie ca479c79e9 Sidebar: display a custom icon
These are based on a contribution by Vincent Esche,
but we'll probably have to change them a bit.
2009-09-10 02:31:08 +02:00
Pieter de Bie c8cfe7acaa Add start of a sourceview list
This shows in a separate window for now, so we don't
mess up the xibs. Once I'm satisfied with the result,
I can put it into the main view with a single change :)
2009-09-10 01:25:49 +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
Gerd Knops 2f9ca38689 Fix build with external build products directory 2009-08-20 11:35:09 +02:00
Johannes Gilger d669050551 Add PBCollapsibleSplitView as subclass of PBNiceSplitView
This adds a subclass to PBNiceSplitView which has collapsible subviews
as well as an uncollapse-method. The initWithTopMin method is used to
set the minimum sizes for the subviews.

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-07-07 18:46:00 +01:00
Pieter de Bie e79c11b9a1 NSSTring_RegEx: Add support for regular expressions to NSString
This is an extension found via Cocoadev, created by John R Chang. Thanks!
2009-06-11 18:57:34 +01:00
Pieter de Bie 7caf7d799a Merge branch 'stable'
* stable:
  Fix many gcc 4.2 compiler warnings
  GitX.xcodeproj: Quote paths in custom shell scripts
  Fix compilation with GCC 4.2
  IndexController: Temporarily stop tracking when (un)staging
  IndexController: Add methods to stop tracking the Index
  ChangesTableView: Remove warning by casting to correct class

Conflicts:
	PBGitCommitController.m
2009-05-18 23:11:11 +01:00
Arjen Laarhoven c6fbcccc02 GitX.xcodeproj: Quote paths in custom shell scripts
Properly quote the TARGET_BUILD_DIR variable in the script to prevent
failure when the project path contains spaces.
2009-05-18 22:53:38 +01:00
Benjamin Kramer 7bf3043cd4 Don't compile plain ObjC files as ObjC++
They contain no C++ so we don't need to use the C++ compiler for them.
This should speed up the build process a little.
2009-04-29 12:30:57 +01:00
Pieter de Bie b7723a9545 Project: Discover both long and short build number from git
This uses the last git tag as version string and the 'git
describe' trick by Johannes for the buildnumber.
2009-03-28 22:47:59 +00:00
Pieter de Bie 48b0fc8456 ApplicationController: Use a debug symbol that actually works 2009-03-28 22:27:30 +00:00
Johannes Gilger 04c5c3a8cb GitX: CFBuildVersion as x.x.x.xx
We used the whole output of git describe before, not realizing that
neither MacOS nor Sparkle are ok with alphabetic characters but instead
want monotonically increasing integers. So now we just take the major
version number appended with the number of commits since the last tag.

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
2009-03-26 23:03:48 +00:00
Pieter de Bie f3c131ecde Display revision in the About Dialog
We do this by preprocessing the Info.plist file
and adding a prefix header with the current revision
#define'd. This seems to be the most reliable way,
unfortunately
2009-03-24 15:00:38 +00:00