Commit Graph

55 Commits

Author SHA1 Message Date
Pieter de Bie 194fe0ca3f Show the selected branch on startup
First, I had to disable this setting to show the branch,
now I have to enable it again?...
2008-09-19 19:56:14 +02:00
Pieter de Bie f705bd46ab Merge branch 'insta-decorate'
* insta-decorate:
  Add framework to support removing refs
  Show refs in HTML view
  Allow copy and pasting of web source by pressing 'c'
  Refactor cellInfo structure
  Only decorate if we need to
  Multithread test
  Add objective c diff header

Conflicts:
	GitX.xcodeproj/project.pbxproj
2008-09-19 19:22:40 +02:00
Pieter de Bie 86a34b64ae Remember window location when quitting GitX 2008-09-19 18:36:24 +02:00
Pieter de Bie f8270f38fb Add framework to support removing refs 2008-09-19 14:40:51 +02:00
Pieter de Bie 6e978dcea4 Refactor cellInfo structure
This makes the PBGitRevisionCell a bit nicer by retrieving all values
from the PBGitCommit object itself, and using another NSTextFieldCell to
draw the text.

This mean that PBGitGrapher now stores its information in the PBGitCommit's,
rather than in a custom grapher array. Also, because we don't need the
grapher to display refs anymore, the ref labels are also displayed when
using path limiting (for example, 'gitx -- Makefile').
2008-09-18 01:27:05 +02:00
Pieter de Bie c2e871229c Hopefully select the correct branch on startup
This removes the 'Avoid empty selection' attribute on the branch controller.
This should hopefully help with selecting the default branch correctly in
the menu.
2008-09-14 19:47:00 +02:00
Pieter de Bie f57a03d378 Version 0.3.1 2008-09-13 00:24:29 +02:00
Pieter de Bie c3c4f98c66 Allow hunk navigation by using j/k keys 2008-09-12 22:12:58 +02:00
Pieter de Bie e3af731305 Use a PBGitRevSpecifier to specify possible branches 2008-09-12 17:28:08 +02:00
Pieter de Bie 84d929d6fc Allow scrolling of the webView by pressing space 2008-09-12 11:54:45 +02:00
Pieter de Bie e94dc16e4a Add Sparkle update framework 2008-09-07 00:21:59 +02:00
Pieter de Bie 06f737df9a Use PBGitRef for other refs 2008-09-06 23:00:41 +02:00
Pieter de Bie 96bd5d826c Update project settings
This sets the version number correctly
2008-08-28 20:35:57 +02:00
Pieter de Bie 3c481e4472 Add a Refresh menu item 2008-08-28 02:07:35 +02:00
Pieter de Bie 1283e308c8 Really move the spacer 2008-08-28 00:35:11 +02:00
Pieter de Bie aa1e156d4a Move branches menu to the left, disable list editing 2008-08-28 00:31:50 +02:00
Ciarán Walsh c1e701a379 Remove the horizontal spacing between the rows in the commit list tableview.
This is to prevent horizontal white lines from displaying in the graphs.
2008-08-27 21:15:23 +01:00
Ciarán Walsh 159924ae9f Add the standard ⌥⌘F shortcut to focus the search field in the toolbar 2008-08-19 08:32:03 +01:00
Ciarán Walsh 2cb8e7ac5a Restore the search field functionality.
Allows searching by subject, author or SHA.
2008-08-19 08:32:02 +01:00
Pieter de Bie 0fccf5a3bb Remove extra buttons
These aren't used for now anyway, and this looks cleaner.
2008-08-19 00:34:01 +02:00
Pieter de Bie 9135163f24 Read the current branch from the repository 2008-08-18 23:06:37 +02:00
Pieter de Bie f786fe2b0b Read branches in a repository
This adds a -readBranches function which allows you to read in all
branches in our repository. It is used in the branch display popup box.
2008-08-18 22:03:41 +02:00
Ciarán Walsh 3773a739b7 Adding a menu item to install the CLI tool. 2008-08-18 18:44:08 +01:00
Pieter de Bie 4c18f592f5 Fix 'commits loaded' label
The value binding of this label was lost after switching to a Document-based
view. This restores it.
2008-08-18 13:23:56 +02:00
Ciarán Walsh 5450d2c700 The tab buttons were connected to the setRawView: action, which meant that all buttons would switch to raw mode. The tab switching is done via a binding to selectedTab. 2008-08-18 12:07:06 +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
Pieter de Bie ede8892dc9 PBGitRepository: Abstract revision walking to new class PBGitRevList
The revision walking code made the PBGitRepository unclean. Especially if
we want to keep multiple PBGitRepository objects around (e.g. persistent
data store), it needs to be more simple. This neatly extracts the revision
walking code from the repository code.
2008-06-17 19:32:38 +02: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 e72d93c872 Allow dragging of files out of tree view
This uses the promisedfile protocol, which means that dragging to e.g.
FileMerge won't work.
2008-06-17 09:29:52 +02:00
Pieter de Bie e2b507313b Delete temporary files when they are deallocated
This will remove a lot of the stray files in the
temporary dir. However, they won't be deleted on exit
of the program. What to do about this?
2008-06-17 05:56:00 +02:00
Pieter de Bie b18b957190 Allow QuickLook to activate by pressing space
Subclasses NSOutlineView to PBQLOutlineView that takes a controller which
should respond to toggleQuickLook:. This is used for our tree walker to
actually show QuickLook when space is pressed.
2008-06-17 02:55:49 +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 cc6ac22047 Allow double click to open file 2008-06-16 14:19:38 +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 758eaac2e8 Align objects a bit better 2008-06-16 04:06:23 +02:00
Pieter de Bie e6da252ee0 Add shortcuts and menu items for different views 2008-06-16 03:19:01 +02:00
Pieter de Bie 6ba944b2ac Implement a DetailsController
This controller makes sure that only the current view
receives its notifications. Therefore we won't do any work that we don't
see, like parsing diffs or asking for trees. This makes everything quicker.
2008-06-16 03:13:08 +02:00
Pieter de Bie 0171c6d065 Use a .XIB file instead of a .NIB file 2008-06-16 00:32:27 +02:00
Pieter de Bie 154b78b70c Rename to GitX 2008-06-16 00:25:34 +02:00
Pieter de Bie 65ef13a6dd Add nice icons 2008-06-16 00:06:47 +02:00
Pieter de Bie 3106379334 Use unified interface and display tree contents 2008-06-15 23:10:05 +02:00
Pieter de Bie 9be3c50a75 Add a Tree displayer
This displays the tree of a specific commit in an NSBrowser.
2008-06-15 20:35:07 +02:00
Pieter de Bie 9e019e7ef7 test 2008-06-15 19:06:04 +02:00
Pieter de Bie f4a81e217c Make the link to previous parents work 2008-06-15 16:46:31 +02:00
Pieter de Bie 378016c84f Allow case-insensitive author search 2008-06-14 21:47:54 +02:00
Pieter de Bie 3e7c1f8a5e Set the table view as initial first responder 2008-06-14 21:29:08 +02:00
Pieter de Bie 12b13d2aa4 Use a Commit model in Javascript to parse commit data
This includes the prototype library in the bundle for convenience.
Whenever a new commit is selected, a new Commit object is created that
is going to parse the raw message. From the object we can select
author information, diffs, etc.

Currently there is still a bug with commits without content changes.
2008-06-14 21:03:49 +02:00
Pieter de Bie 79e9ba9fb6 Add a detailed HTML view 2008-06-14 17:38:29 +02:00