AmendHub

Download:

jcs

/

amend

/

amendments

/

27

main+committer: Respond to MultiFinder suspend/resume events


jcs made amendment 27 over 2 years ago
--- committer.c Mon Oct 18 16:47:01 2021 +++ committer.c Sun Oct 31 12:40:32 2021 @@ -228,6 +228,20 @@ committer_update(struct committer *committer, EventRec } void +committer_suspend(struct committer *committer) +{ + TEDeactivate(committer->log_te); + TEDeactivate(committer->diff_te); +} + +void +committer_resume(struct committer *committer) +{ + TEActivate(committer->log_te); + TEActivate(committer->diff_te); +} + +void committer_key_down(struct committer *committer, EventRecord *event) { char k; --- committer.h Mon Oct 18 15:49:37 2021 +++ committer.h Sun Oct 31 12:38:32 2021 @@ -47,6 +47,8 @@ void committer_init(struct browser *browser); void committer_close(struct committer *committer); void committer_idle(struct committer *committer); void committer_update(struct committer *committer, EventRecord *event); +void committer_suspend(struct committer *committer); +void committer_resume(struct committer *committer); void committer_key_down(struct committer *committer, EventRecord *event); void committer_mouse_down(struct committer *committer, EventRecord *event); void committer_generate_diff(struct committer *committer); --- main.c Mon Oct 18 09:22:19 2021 +++ main.c Sun Oct 31 13:02:52 2021 @@ -164,6 +164,26 @@ main(void) SetPort(old_port); } break; + case app4Evt: + if (HiWord(event.message) & (1 << 8)) { + /* multifinder suspend/resume */ + switch (event.message & (1 << 0)) { + case 0: + /* suspend */ + if (cur_browser && cur_browser->committer) + committer_suspend(cur_browser->committer); + break; + case 1: + /* resume */ + if (cur_browser && cur_browser->committer) { + SelectWindow(cur_browser->committer); + committer_resume(cur_browser->committer); + } else if (cur_browser) + SelectWindow(cur_browser); + break; + } + } + break; } }