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);