jcs
/amend
/amendments
/27
main+committer: Respond to MultiFinder suspend/resume events
jcs made amendment 27 over 3 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;
}
}