X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/d70e3b83f17cd28a8cc183bd77501d3726c7211d..03f60a6278574d259d07e54b3c32a78050a21cfd:/mac/mac.c diff --git a/mac/mac.c b/mac/mac.c index 3ae34aa1..32a7ecee 100644 --- a/mac/mac.c +++ b/mac/mac.c @@ -1,4 +1,4 @@ -/* $Id: mac.c,v 1.35 2003/01/23 22:57:43 ben Exp $ */ +/* $Id: mac.c,v 1.38 2003/02/01 12:54:40 simon Exp $ */ /* * Copyright (c) 1999 Ben Harris * All rights reserved. @@ -172,22 +172,7 @@ static void mac_startup(void) { DisposeHandle((Handle)ti); } -#if 0 /* OpenTransport? */ - if (Gestalt(gestaltOpenTpt, &mac_gestalts.otptattr) != noErr || - (mac_gestalts.otptattr & gestaltOpenTptTCPPresentMask) == 0 || - ot_init() != noErr) -#endif - mac_gestalts.otptattr = 0; - if (mac_gestalts.otptattr == 0) { - /* MacTCP? */ - if (Gestalt(FOUR_CHAR_CODE('mtcp'), &mac_gestalts.mtcpvers) != noErr) - mac_gestalts.mtcpvers = 0; - if (mac_gestalts.mtcpvers > 0) { - if (mactcp_init() != noErr) - mac_gestalts.mtcpvers = 0; - } - } else - mac_gestalts.mtcpvers = 0; + sk_init(); /* We've been tested with the Appearance Manager */ if (mac_gestalts.apprvers != 0) @@ -254,10 +239,7 @@ static void mac_eventloop(void) { mac_event(&event); if (borednow) cleanup_exit(0); - if (mac_gestalts.mtcpvers != 0) - mactcp_poll(); - if (mac_gestalts.otptattr != 0) - ot_poll(); + sk_poll(); mac_pollterm(); } DisposeRgn(cursrgn); @@ -510,6 +492,9 @@ static void mac_menucommand(long result) { case iSaveAs: mac_savesessionas(); goto done; + case iDuplicate: + mac_dupsession(); + goto done; case iQuit: cleanup_exit(0); goto done; @@ -609,6 +594,7 @@ static void mac_adjustmenus(void) { case wSettings: DisableItem(menu, iSave); /* XXX enable if modified */ EnableItem(menu, iSaveAs); + EnableItem(menu, iDuplicate); menu = GetMenuHandle(mEdit); DisableItem(menu, 0); break; @@ -618,6 +604,7 @@ static void mac_adjustmenus(void) { default: DisableItem(menu, iSave); DisableItem(menu, iSaveAs); + DisableItem(menu, iDuplicate); menu = GetMenuHandle(mEdit); DisableItem(menu, 0); break; @@ -754,8 +741,9 @@ void old_keyfile_warning(void) } -char *platform_default_s(char const *name) +FontSpec platform_default_font(char const *name) { + FontSpec ret; long smfs; Str255 pname; static char cname[256]; @@ -767,12 +755,33 @@ char *platform_default_s(char const *name) if (smfs != 0) { GetFontName(HiWord(smfs), pname); if (pname[0] == 0) - return "Monaco"; - p2cstrcpy(cname, pname); - return cname; - } else - return "Monaco"; + strcpy(ret.name, "Monaco"); + ret.height = LoWord(smfs); + p2cstrcpy(ret.name, pname); + } else { + strcpy(ret.name, "Monaco"); + ret.height = 9; + } + ret.isbold = 0; + } else { + ret.name[0] = '\0'; } + + return ret; +} + +Filename platform_default_filename(const char *name) +{ + Filename ret; + if (!strcmp(name, "LogFileName")) + strcpy(ret.path, "putty.log"); + else + *ret.path = '\0'; + return ret; +} + +char *platform_default_s(char const *name) +{ return NULL; } @@ -780,16 +789,6 @@ int platform_default_i(char const *name, int def) { long smfs; - if (!strcmp(name, "FontHeight")) { - smfs = GetScriptVariable(smSystemScript, smScriptMonoFondSize); - if (smfs == 0) - smfs = GetScriptVariable(smRoman, smScriptMonoFondSize); - if (smfs != 0) - return LoWord(smfs); - else - return 9; - } - /* Non-raw cut and paste of line-drawing chars works badly on the * current Unix stub implementation of the Unicode functions. * So I'm going to temporarily set the default to raw mode so @@ -806,6 +805,29 @@ void platform_get_x11_auth(char *display, int *proto, /* SGT: I have no idea whether Mac X servers need anything here. */ } +Filename filename_from_str(char *str) +{ + Filename ret; + strncpy(ret.path, str, sizeof(ret.path)); + ret.path[sizeof(ret.path)-1] = '\0'; + return ret; +} + +char *filename_to_str(Filename fn) +{ + return fn.path; +} + +int filename_equal(Filename f1, Filename f2) +{ + return !strcmp(f1.path, f2.path); +} + +int filename_is_null(Filename fn) +{ + return !*fn.path; +} + /* * Local Variables: * c-file-style: "simon"