jcs
/wallops
/amendments
/144
main: If we have existing settings, auto-connect unless Cmd is held
jcs made amendment 144 about 1 month ago
--- main.c Mon Sep 23 15:45:39 2024
+++ main.c Sun Sep 14 09:42:28 2025
@@ -38,7 +38,8 @@ size_t xalloc_printf(const char *format, ...);
void update_menu(void);
void handle_exit(void);
bool handle_menu(long menu_id);
-void show_connect_dialog(void);
+void show_connect_dialog(bool use_defaults);
+void do_connect(void);
void wallops_about(void);
short
@@ -95,7 +96,15 @@ main(void)
#endif
DrawMenuBar();
- show_connect_dialog();
+ if (settings_load()) {
+ /* auto-connect unless cmd is held down */
+ GetNextEvent(everyEvent, &event);
+ if (event.modifiers & cmdKey)
+ show_connect_dialog(false);
+ else
+ do_connect();
+ } else
+ show_connect_dialog(true);
for (;;) {
wait_type = WAIT_TYPE_BACKGROUND;
@@ -215,16 +224,22 @@ main(void)
}
void
-show_connect_dialog(void)
+show_connect_dialog(bool use_defaults)
{
bool valid;
- valid = connect_dialog(!settings_load());
+ valid = connect_dialog(use_defaults);
update_menu();
if (!valid)
return;
+ do_connect();
+}
+
+void
+do_connect(void)
+{
chatter_init(settings.server, settings.port, settings.password,
settings.nick, settings.ident, settings.realname,
settings.hide_motd, settings.channel);
@@ -261,7 +276,7 @@ handle_menu(long menu_id)
case FILE_MENU_ID:
switch (LoWord(menu_id)) {
case FILE_MENU_CONNECT_ID:
- show_connect_dialog();
+ show_connect_dialog(false);
ret = true;
break;
case FILE_MENU_SETTINGS_ID: