-/* $Id: macterm.c,v 1.50 2003/01/15 23:30:21 ben Exp $ */
+/* $Id: macterm.c,v 1.54 2003/01/25 16:16:44 ben Exp $ */
/*
* Copyright (c) 1999 Simon Tatham
* Copyright (c) 1999, 2002 Ben Harris
#include <MacTypes.h>
#include <Controls.h>
#include <ControlDefinitions.h>
+#include <FixMath.h>
#include <Fonts.h>
#include <Gestalt.h>
#include <LowMem.h>
#include <Scrap.h>
#include <Script.h>
#include <Sound.h>
-#include <StandardFile.h>
#include <TextCommon.h>
-#include <Threads.h>
#include <ToolUtils.h>
#include <UnicodeConverter.h>
#include "putty.h"
#include "charset.h"
#include "mac.h"
-#include "storage.h"
#include "terminal.h"
#define NCOLOURS (lenof(((Config *)0)->colours))
#define do_text_for_device_upp do_text_for_device
#endif /* not TARGET_RT_MAC_CFM */
-void mac_opensession(void) {
- Session *s;
- StandardFileReply sfr;
- static const OSType sftypes[] = { 'Sess', 0, 0, 0 };
- void *sesshandle;
+void mac_startsession(Session *s)
+{
+ char *errmsg;
int i;
- s = smalloc(sizeof(*s));
- memset(s, 0, sizeof(*s));
-
- StandardGetFile(NULL, 1, sftypes, &sfr);
- if (!sfr.sfGood) goto fail;
-
- sesshandle = open_settings_r_fsp(&sfr.sfFile);
- if (sesshandle == NULL) goto fail;
- load_open_settings(sesshandle, TRUE, &s->cfg);
- close_settings_r(sesshandle);
+ init_ucs(s);
/*
* Select protocol. This is farmed out into a table in a
s->back = backends[i].backend;
break;
}
- if (s->back == NULL) {
+ if (s->back == NULL)
fatalbox("Unsupported protocol number found");
- }
- mac_startsession(s);
- return;
-
- fail:
- sfree(s);
- return;
-}
-
-void mac_startsession(Session *s)
-{
- char *errmsg;
- init_ucs(s);
/* XXX: Own storage management? */
if (HAVE_COLOR_QD())
s->window = GetNewCWindow(wTerminal, NULL, (WindowPtr)-1);
long offset;
s = (Session *)GetWRefCon(window);
+ menu = GetMenuHandle(mFile);
+ DisableItem(menu, iSave); /* XXX enable if modified */
+ EnableItem(menu, iSaveAs);
+ EnableItem(menu, iDuplicate);
menu = GetMenuHandle(mEdit);
EnableItem(menu, 0);
DisableItem(menu, iUndo);
lastact == MA_3CLK ? MA_CLICK : MA_NOTHING);
else
lastact = MA_CLICK;
- /* Fake right button with shift key */
- term_mouse(s->term, event->modifiers & shiftKey ? MBT_RIGHT : MBT_LEFT,
+ term_mouse(s->term, MBT_LEFT,
+ event->modifiers & shiftKey ? MBT_EXTEND : MBT_SELECT,
lastact, col, row, event->modifiers & shiftKey,
event->modifiers & controlKey, event->modifiers & optionKey);
lastsess = s;
GetMouse(&localwhere);
col = PTOCC(localwhere.h);
row = PTOCR(localwhere.v);
- term_mouse(s->term,
- event->modifiers & shiftKey ? MBT_RIGHT : MBT_LEFT,
+ term_mouse(s->term, MBT_LEFT,
+ event->modifiers & shiftKey ? MBT_EXTEND : MBT_SELECT,
MA_DRAG, col, row, event->modifiers & shiftKey,
event->modifiers & controlKey,
event->modifiers & optionKey);
else if (row < 0)
term_scroll(s->term, 0, row);
}
- term_mouse(s->term, event->modifiers & shiftKey ? MBT_RIGHT : MBT_LEFT,
+ term_mouse(s->term, MBT_LEFT,
+ event->modifiers & shiftKey ? MBT_EXTEND : MBT_SELECT,
MA_RELEASE, col, row, event->modifiers & shiftKey,
event->modifiers & controlKey, event->modifiers & optionKey);
lastwhen = TickCount();
}
-Mouse_Button translate_button(void *frontend, Mouse_Button button)
-{
-
- switch (button) {
- case MBT_LEFT:
- return MBT_SELECT;
- case MBT_RIGHT:
- return MBT_EXTEND;
- default:
- return 0;
- }
-}
-
void write_clip(void *cookie, wchar_t *data, int len, int must_deselect) {
/*