- make the "Gist it" button a Mac OS X style button
- remove the default name from each field
- move the author's gravatar and include the committer's
- move the gravatar to the left of the author's name
- add a gravatar for the committer
- move the author and commiter info to it's own table to allow for putting the gravatar image in a center column
- setGravatar() now uses the email address passed in
* pu/pb/index_refactor: (24 commits)
PBGitIndex: post notifications when index stuff fails
GitIndexController: reorder methods a bit, remove unnecessary stuff
PBGitIndex: Migrate discardChanges to the GitIndex
CommitController: Make commit message editable after commit failed
GitIndex: Fix a few comments
GitIndex: explicitly tell when stuff is updated
Remove cruft
Show previous commit message when amending
CommitController: Empty commit title when commit is successful
CommitView: Remove cruft
Add failed commit notifications
GitIndex: add commit notifications
CommitController: Add status messages for index operations
GitIndex: Add a few notifications
CommitView: Migrate patch apply stuff to GitIndex
GitIndex: Add support for applying patches
CommitController: Replace commit method with the one from GitIndex
GitIndex: add basic commit method
GitIndexController: Migrate stageFiles functions to GitIndex
GitIndex: Add methods to stage and unstage files
...
Conflicts:
PBGitCommitController.m
PBGitIndexController.h
PBGitIndexController.m
I've seen this hang or crash a few times, so I hope this works better.
Instead of running a task in a separate thread, we just let it go through
the run loop and catch it when the task is done.
This ruins the second subview in the history view, but I don't think
anybody ever used that, so I'm going to remove it.
Some people have had Serif-fonts in their interface where no specific
fonts for classes/ids were specified. This sets the default-font to
'Lucida Grande' in order to have a nice non-serif on any system.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
When rewriting big parts of commit.js, JD forgot to use the new function
for the "Discard hunk" functionality as well. This fixes that.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
* commit 'origin/jg/tree_context':
HistoryController: Add "Open Files" menu item
WebHistoryView: Also use the tree context menu
HistoryController: Use a programatically created context menu
WebHistoryController: Refactor menu search to be recursive
HistoryController: Add some marks
PBGitHistory: Add "Show in Finder" to files
Display context menu in the history tree to show related commits
History fileview: select current item on rightclick
* stable:
PBGitConfig: Add missing sentinel
Remove use of deprecated stringWithCString
HistoryView: only add parents if parents array exists
keyboardNavigation: Fix keys 'c' and 'v' from webView
Site: add link to Twitter
Conflicts:
Site/text/contact.markdown
This used to break if a commit had no parents. This wasn't noticed
before because the breakage is only minor -- the only way you see it
is because the detail view didn't scroll up afterwards.
* '5a88e3d' (early part):
keyboardNavigation: Fix keys 'c' and 'v' from webView
PBGitWindowController: Use beginSheetModalForWindow instead of runModal
It used to be displayed in bold, but this can be easily overlooked when
visualizing all branches. It's easier to see the HEAD when it has its own
colour.
This fixes two small bugs:
1. The JavaScript-method is called "showDiff" instead of "showDiffs"
since cfbcfc1f38. That's why the 'v' button didn't work since then.
2. Commit f05d0188fc introduced an error when trying to access
"event" for key-presses from Cocoa, which resulted in an error and
therefore made the following if-statements unreachable.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
This fixes two small bugs:
1. The JavaScript-method is called "showDiff" instead of "showDiffs"
since cfbcfc1f38. That's why the 'v' button didn't work since then.
2. Commit f05d0188fc introduced an error when trying to access
"event" for key-presses from Cocoa, which resulted in an error and
therefore made the following if-statements unreachable.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
This enables a "discard" button for unstaged hunks which simply gets rid of the
changes (by using "git apply --reverse").
To avoid repetition, the stageHunk method was split into a more generic
processHunk method. The "discard" functionality is called through
discardHunk.
The NSAlert shown when discarding can be bypassed by pressing "Alt"
while clicking the discard-button.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
Pieter rewrote history.js in cfbcfc1f38, avoiding the use of
.innerHTML for performance reasons. This broke the HTML-arrows when
dealing with renames / mode-changes because createTextNode quotes them.
This is a simple work-around.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
This speeds up the diff display by using DOM manipulation instead
of .innerHTML. Apparently incremental .innerHTML is really expensive
compared to DOM manipulation (which is expensive compared to a single .innerHTML=).
For example, the v0.2.1 commit, which introduces Sparkle, now loads in 70ms
rather than 230.
* stable:
Make confirmation of Gists optional
Add more defaults for handling Gists
HistoryView: Confirm paste to Gist if github.user is unset
GitX: CFBuildVersion as x.x.x.xx
UserManual: Explain the concept of the Amend-button
This makes use of the rules that are explicit in the
preferences. By default, Gists are always private and there
will always be a confirmation message.
Both options can be changed from the preferences menu.
This patch relates to ticket #58. It adds a method which will ask for
confirmation when pasting to Gist as an anonymous user. Since users
which have github.user and github.token set can easily delete pasted
snippets no confirmation is needed for them.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
* commit '3e21d041efb95b6358c749e021bf5ddbcc05bcd7':
Info.plist: Make GitX open any file/folder on drop
diffHighlighter: Correctly match unified diff hunks
diffHighlighter: Fix indent-after-stagebutton bug
Hunks in unified diffs are usually in the form of @@ -a,b +x,y @@, but
sometimes the ,b (i.e. the range) can be ommitted, in which case our
code didn't match the hunk-header at all, resulting in line-numbers
off-by-one in commit-view.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
- display context lines in own <div>.
- Stagebutton no longer is float: left.
This fixes ticket #104
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
When there is no diff to display (i.e. empty-file mode-changes, deletion
or creation) we don't draw a diff-box (div) but just list the filename.
Also fixes a bug with mode-changes not displaying new-mode.
Plain-text files which have been created are not diffed against
/dev/null, but have a "new file mode" line. This patch catches this case
and also highlights that the control-flow in diffHighlighter is less
than optimal.
The contents of the commit message is inserted into the “#message” tag
directly. If we use a <div> tag, then any whitespace in the commit
message will get collapsed down into a single space as HTML requires.
Since the CSS stylesheet calls for a monospaced font, it makes sense
to use a <pre> tag instead, so that whitespace will be preserved.
If we have an image (png,jpg,...) which was deleted we cant display a
diff or the file itself anymore. In this case the entry in the file-list
is enough.
diffHighligher.js: Recognize file-mode changes and mark them
history.js: Extend newfile callback by parameters for mode
history.css: Adjust changed-span to accomodate "mode changed"