AmendHub

Download (as of this amendment):

jcs

/

amend

/

amendments

/

180

*: Tweak some menu names, add Command+D shortcut for generating a diff


jcs made amendment 180 3 days ago
--- amend.π.rsrc Mon Sep 28 17:58:29 2026 +++ amend.π.rsrc Mon Sep 28 21:19:01 2026 @@ -5,12 +5,13 @@ data 'MENU' (128) { }; data 'MENU' (129) { - $"0081 0000 0000 0000 0000 FFFF FFEB 0446" /* .Å.............F */ - $"696C 651A 4368 6563 6B6F 7574 206C 6174" /* ile.Checkout lat */ - $"6573 7420 7665 7273 696F 6E2E 2E2E 0000" /* est version..... */ - $"0000 012D 0000 0000 0B53 6574 7469 6E67" /* ...-.....Setting */ - $"732E 2E2E 0000 0000 012D 0000 0000 0451" /* s........-.....Q */ - $"7569 7400 5100 0000" /* uit.Q... */ + $"0081 0000 0000 0000 0000 FFFF FFD7 0446" /* .Å...........◊.F */ + $"696C 650D 4765 6E65 7261 7465 2044 6966" /* ile¬Generate Dif */ + $"6600 4400 0019 4578 7472 6163 7420 6C61" /* f.D...Extract la */ + $"7465 7374 2076 6572 7369 6F6E 2E2E 2E00" /* test version.... */ + $"0000 0001 2D00 0000 000B 5365 7474 696E" /* ....-.....Settin */ + $"6773 2E2E 2E00 0000 0001 2D00 0000 0004" /* gs........-..... */ + $"5175 6974 0051 0000 00" /* Quit.Q... */ }; data 'MENU' (130) { --- amend.h Sun Sep 27 10:42:33 2026 +++ amend.h Mon Sep 28 21:26:32 2026 @@ -23,9 +23,10 @@ #define APPLE_MENU_ABOUT_ID 1 #define FILE_MENU_ID 129 -#define FILE_MENU_DISCARD_CHANGES_ID 1 -#define FILE_MENU_SETTINGS_ID 3 -#define FILE_MENU_QUIT_ID 5 +#define FILE_MENU_DIFF_ID 1 +#define FILE_MENU_CHECKOUT_ID 2 +#define FILE_MENU_SETTINGS_ID 4 +#define FILE_MENU_QUIT_ID 6 #define EDIT_MENU_ID 130 #define EDIT_MENU_CUT_ID 1 @@ -37,7 +38,7 @@ #define REPO_MENU_NEW_ID 1 #define REPO_MENU_OPEN_ID 2 #define REPO_MENU_ADD_FILE_ID 4 -#define REPO_MENU_APPLY_DIFF_ID 5 +#define REPO_MENU_APPLY_PATCH_ID 5 #define AMENDMENT_MENU_ID 132 #define AMENDMENT_MENU_EDIT_ID 1 --- browser.c Mon Sep 28 14:19:37 2026 +++ browser.c Mon Sep 28 21:32:03 2026 @@ -86,7 +86,7 @@ browser_idle(struct focusable *focusable, EventRecord break; case BROWSER_STATE_WAITING_FOR_COMMITTER: break; - case BROWSER_STATE_DISCARD_CHANGES: + case BROWSER_STATE_CHECKOUT: browser_discard_changes(browser); browser->state = BROWSER_STATE_IDLE; break; @@ -94,8 +94,8 @@ browser_idle(struct focusable *focusable, EventRecord browser_export_amendment(browser); browser->state = BROWSER_STATE_IDLE; break; - case BROWSER_STATE_APPLY_DIFF: - browser_apply_diff(browser); + case BROWSER_STATE_APPLY_PATCH: + browser_apply_patch(browser); browser->state = BROWSER_STATE_IDLE; break; case BROWSER_STATE_EDIT_AMENDMENT: @@ -478,7 +478,7 @@ browser_export_amendment(struct browser *browser) } void -browser_apply_diff(struct browser *browser) +browser_apply_patch(struct browser *browser) { SFReply reply; @@ -533,7 +533,15 @@ browser_update_menu(struct browser *browser) TextFace(0); TextSize(12); - EnableItem(file_menu, FILE_MENU_DISCARD_CHANGES_ID); + if (browser->repo->nfiles == 0) { + HiliteControl(browser->diff_button, 255); + DisableItem(file_menu, FILE_MENU_DIFF_ID); + DisableItem(file_menu, FILE_MENU_CHECKOUT_ID); + } else { + HiliteControl(browser->diff_button, 0); + EnableItem(file_menu, FILE_MENU_DIFF_ID); + EnableItem(file_menu, FILE_MENU_CHECKOUT_ID); + } DisableItem(edit_menu, EDIT_MENU_CUT_ID); @@ -549,11 +557,6 @@ browser_update_menu(struct browser *browser) else EnableItem(edit_menu, EDIT_MENU_SELECT_ALL_ID); - if (browser->repo->nfiles == 0) - HiliteControl(browser->diff_button, 255); - else - HiliteControl(browser->diff_button, 0); - EnableItem(repo_menu, REPO_MENU_ADD_FILE_ID); if (LGetSelect(true, &cell, browser->amendment_list)) { @@ -761,9 +764,12 @@ browser_handle_menu(struct focusable *focusable, short switch (menu) { case FILE_MENU_ID: switch (item) { - case FILE_MENU_DISCARD_CHANGES_ID: - browser->state = BROWSER_STATE_DISCARD_CHANGES; + case FILE_MENU_DIFF_ID: + browser->state = BROWSER_STATE_OPEN_COMMITTER; return true; + case FILE_MENU_CHECKOUT_ID: + browser->state = BROWSER_STATE_CHECKOUT; + return true; } break; case EDIT_MENU_ID: @@ -781,8 +787,8 @@ browser_handle_menu(struct focusable *focusable, short case REPO_MENU_ADD_FILE_ID: browser->state = BROWSER_STATE_ADD_FILE; return true; - case REPO_MENU_APPLY_DIFF_ID: - browser->state = BROWSER_STATE_APPLY_DIFF; + case REPO_MENU_APPLY_PATCH_ID: + browser->state = BROWSER_STATE_APPLY_PATCH; return true; } break; --- browser.h Thu Oct 24 11:22:22 2024 +++ browser.h Mon Sep 28 21:24:51 2026 @@ -30,9 +30,9 @@ enum { BROWSER_STATE_OPEN_COMMITTER, BROWSER_STATE_WAITING_FOR_COMMITTER, BROWSER_STATE_REMOVE_FILE, - BROWSER_STATE_DISCARD_CHANGES, + BROWSER_STATE_CHECKOUT, BROWSER_STATE_EXPORT_AMENDMENT, - BROWSER_STATE_APPLY_DIFF, + BROWSER_STATE_APPLY_PATCH, BROWSER_STATE_EDIT_AMENDMENT }; @@ -58,7 +58,7 @@ void browser_export_amendment(struct browser *browser) short browser_is_all_files_selected(struct browser *browser); short browser_selected_file_ids(struct browser *browser, short **selected_files); -void browser_apply_diff(struct browser *browser); +void browser_apply_patch(struct browser *browser); pascal void amendment_list_ldef(short message, Boolean selected, Rect *cellRect, Cell theCell, short dataOffset, short dataLen, --- committer.c Mon Sep 28 17:38:56 2026 +++ committer.c Mon Sep 28 21:26:58 2026 @@ -381,7 +381,8 @@ committer_mouse_down(struct focusable *focusable, Even void committer_update_menu(struct committer *committer) { - DisableItem(file_menu, FILE_MENU_DISCARD_CHANGES_ID); + DisableItem(file_menu, FILE_MENU_DIFF_ID); + DisableItem(file_menu, FILE_MENU_CHECKOUT_ID); if (committer->log_focused) { if ((*(committer->log_te))->selStart == @@ -412,7 +413,7 @@ committer_update_menu(struct committer *committer) } DisableItem(repo_menu, REPO_MENU_ADD_FILE_ID); - DisableItem(repo_menu, REPO_MENU_APPLY_DIFF_ID); + DisableItem(repo_menu, REPO_MENU_APPLY_PATCH_ID); DisableItem(amendment_menu, AMENDMENT_MENU_EDIT_ID); DisableItem(amendment_menu, AMENDMENT_MENU_EXPORT_ID); --- editor.c Mon Sep 28 14:18:12 2026 +++ editor.c Mon Sep 28 21:27:23 2026 @@ -362,7 +362,8 @@ editor_mouse_down(struct focusable *focusable, EventRe void editor_update_menu(struct editor *editor) { - DisableItem(file_menu, FILE_MENU_DISCARD_CHANGES_ID); + DisableItem(file_menu, FILE_MENU_DIFF_ID); + DisableItem(file_menu, FILE_MENU_CHECKOUT_ID); if ((*(editor->last_te))->selStart == (*(editor->last_te))->selEnd) { DisableItem(edit_menu, EDIT_MENU_CUT_ID); @@ -378,7 +379,7 @@ editor_update_menu(struct editor *editor) EnableItem(edit_menu, EDIT_MENU_PASTE_ID); DisableItem(repo_menu, REPO_MENU_ADD_FILE_ID); - DisableItem(repo_menu, REPO_MENU_APPLY_DIFF_ID); + DisableItem(repo_menu, REPO_MENU_APPLY_PATCH_ID); DisableItem(amendment_menu, AMENDMENT_MENU_EDIT_ID); DisableItem(amendment_menu, AMENDMENT_MENU_EXPORT_ID); --- main.c Sun Sep 27 11:35:46 2026 +++ main.c Mon Sep 28 21:28:01 2026 @@ -236,7 +236,8 @@ handle_menu(long menu_id) break; case FILE_MENU_ID: switch (item) { - case FILE_MENU_DISCARD_CHANGES_ID: + case FILE_MENU_DIFF_ID: + case FILE_MENU_CHECKOUT_ID: /* handled by browser */ return true; case FILE_MENU_SETTINGS_ID: @@ -263,7 +264,7 @@ handle_menu(long menu_id) break; } case REPO_MENU_ADD_FILE_ID: - case REPO_MENU_APPLY_DIFF_ID: + case REPO_MENU_APPLY_PATCH_ID: /* handled by browser */ return false; } @@ -338,7 +339,8 @@ xalloc_printf(const char *format, ...) void menu_defaults(void) { - DisableItem(file_menu, FILE_MENU_DISCARD_CHANGES_ID); + DisableItem(file_menu, FILE_MENU_DIFF_ID); + DisableItem(file_menu, FILE_MENU_CHECKOUT_ID); DisableItem(edit_menu, EDIT_MENU_CUT_ID); DisableItem(edit_menu, EDIT_MENU_COPY_ID); @@ -346,7 +348,7 @@ menu_defaults(void) DisableItem(edit_menu, EDIT_MENU_SELECT_ALL_ID); DisableItem(repo_menu, REPO_MENU_ADD_FILE_ID); - DisableItem(repo_menu, REPO_MENU_APPLY_DIFF_ID); + DisableItem(repo_menu, REPO_MENU_APPLY_PATCH_ID); DisableItem(amendment_menu, AMENDMENT_MENU_EDIT_ID); DisableItem(amendment_menu, AMENDMENT_MENU_EXPORT_ID);