Граф коммитов

266 Коммитов

Автор SHA1 Сообщение Дата
Ben Harris c20818608e Initialise the "next menu ID" counter for pop-up menus. This stops crashes
on Mac OS 8.
Also re-do support for activate events so as not to depend on embedding
hierarchies, and thus to work on System 7.

[originally from svn r2984]
2003-03-24 22:41:38 +00:00
Ben Harris 6991e3ae7d Slightly improve radio button layout to more closely match the Mac OS 8 HI
Guidelines.

[originally from svn r2983]
2003-03-24 21:55:51 +00:00
Ben Harris 335cf4c708 Add support for pop-up menus (drop-down lists in Windows parlance).
For some reason, these explode horribly with the Appearance Manager present,
but work fine in bare System 7.  Investigations are ongoing.

[originally from svn r2980]
2003-03-23 14:11:39 +00:00
Ben Harris 174b839586 Add crude support for multiple panels in the config dialogue box. There's
no way to switch between panels yet, though, so you're stuck on the first one.

[originally from svn r2971]
2003-03-21 00:24:17 +00:00
Ben Harris ba8c8fec9c Pass a pointer to the entire dialog box structure to event handlers, rather
than just the individual control pointer, because otherwise event handlers
can't modify other controls.

[originally from svn r2970]
2003-03-20 23:15:25 +00:00
Ben Harris 6d95dc84b4 Add support for drawing a ring around the default button in System 7.
[originally from svn r2967]
2003-03-19 00:40:15 +00:00
Ben Harris ea3dd210de Add support for changing the contents of a pre-Appearance static text control.
[originally from svn r2966]
2003-03-18 23:47:33 +00:00
Ben Harris 471e004558 Tag the "Cancel" button appropriately, in case anyone's using a theme that
pays attention to it.

[originally from svn r2965]
2003-03-18 23:41:14 +00:00
Simon Tatham 4d41247cde Big sprawling dialog-box commit covering all sorts of things.
Buttons now have an `iscancel' flag to go with `isdefault';
dlg_last_focused() now explicitly passes the control it _doesn't_
care about (`I want the last control that had focus and isn't this
one'); and in the GTK implementation, various fixes have happened,
notably including arrow keys working sensibly in list boxes and the
treeview and short font aliases being expanded correctly to
initialise the font selectors.

[originally from svn r2958]
2003-03-18 19:06:51 +00:00
Ben Harris 893ca6173a My First CDEF: A terribly trivial static text control for System 7.
Needs work.

[originally from svn r2955]
2003-03-18 00:35:40 +00:00
Ben Harris 8978c74c45 Insert a missing ampersand that meant that the last version didn't even
compile.

[originally from svn r2954]
2003-03-17 22:38:18 +00:00
Ben Harris 53b61424bc Partial implementation of the platform-independent dialogue-box interface
for the Mac OS.  This isn't anywhere near complete, and is wrong in a few
important regards, but I think it's heading in the right direction.

[originally from svn r2953]
2003-03-17 21:40:37 +00:00
Ben Harris 93198194fb When running on a system with Aqua menu layout, delete the separator line
above "Quit" as well as "Quit" itself.

[originally from svn r2951]
2003-03-17 19:00:36 +00:00
Ben Harris a816d2df18 Increase PuTTY's default partition size to 2 MB. 1 MB just isn't enough.
[originally from svn r2928]
2003-03-11 22:35:07 +00:00
Ben Harris 43d2fa847f Alert box to support host-key checking.
[originally from svn r2920]
2003-03-06 23:46:06 +00:00
Ben Harris 33e7ee09ab Slightly better than null verify_ssh_host_key(). It's broken in more ways
than I can comfortably enumerate (see the comments in the code), but it's
better than always assuming everything's OK.

[originally from svn r2919]
2003-03-06 23:44:47 +00:00
Ben Harris 614c5a3b92 Improve scheduling on the Mac:
1: Only update the screen when there's nothing else to do.  This means that
it's a lot harder for a fast typist to outrun PuTTY.
2: Only sleep for at most 100ms at a time.  This is a kludge to work around
the WakeUpProcess caused by incoming data can happen before the
WaitNextEvent it's meant to interrupt, leading to PuTTY sleeping forever
because it doesn't know there's network data pending.

[originally from svn r2901]
2003-03-01 15:12:03 +00:00
Ben Harris 000acf446c Handle the Aqua menu layout, in which the system provides a "quit" option
for us, correctly.

[originally from svn r2899]
2003-02-27 23:34:59 +00:00
Ben Harris b11ffdcd6f Add 'plst' 0 resources to help Mac OS X do magic things.
These aren't actually compiled yet because they must only be present in
the Carbon build, and I don't currently compile the resources separately for
each platform.

[originally from svn r2898]
2003-02-27 23:21:23 +00:00
Ben Harris d563d6e35b Handle suspend and resume events in PuTTYgen as well.
[originally from svn r2881]
2003-02-23 13:31:12 +00:00
Ben Harris 8bff62d5b8 Don't open the event log whenever an event is logged; instead handle the
"Show Event Log" menu entry sensibly.  Similarly, make it possible to close
(hide) the event log.

[originally from svn r2880]
2003-02-23 13:00:38 +00:00
Ben Harris 791a12ce5b Scroll the event log to the end after adding a line if it was looking at the
end before the line was added.

[originally from svn r2879]
2003-02-23 12:41:44 +00:00
Ben Harris eec4b9d08d Add handling for suspend and resume events, and set the flags in our 'SIZE'
resource that say we can handle them.  This seems to avoid a crash when PuTTY's
switched away from, and is necessary for Carbon anyway.

[originally from svn r2878]
2003-02-23 11:58:59 +00:00
Ben Harris 01105493cc Work around an SC bug that causes it to try to use the same register for
two purposes in s_wrpkt_prepare().  This makes SSH1 work on 68K Macs, at
least until I deactivate the terminal window...

[originally from svn r2876]
2003-02-23 00:13:17 +00:00
Ben Harris bd149e7b1e Add a mechanism for collecting entropy, and displaying how much we've got,
based on the Windows version.  We don't _do_ anything with the entropy yet,
though.

[originally from svn r2875]
2003-02-20 22:55:09 +00:00
Ben Harris f53c998569 Be careful not to try to get information from windows we don't own, or that
don't exist at all.  Also a small PuTTYgen change that I can't be bothered
to filter out of this commit.

[originally from svn r2874]
2003-02-20 22:31:52 +00:00
Ben Harris eb14a580d7 Make this compile in Carbon.
[originally from svn r2867]
2003-02-19 01:03:47 +00:00
Ben Harris 670289a8b8 Bring PuTTYgen into the world of object-oriented event handling.
Also add a non-functional "generate" button the the key window.

[originally from svn r2857]
2003-02-16 14:27:37 +00:00
Ben Harris 6223099261 Make it possible to close the "about" and "licence" boxes again.
[originally from svn r2856]
2003-02-16 13:44:18 +00:00
Ben Harris 0b0935adf2 Stub code for handling key windows in PuTTYgen. This file will eventually
include all the stuff that does actual work in PuTTYgen.

[originally from svn r2854]
2003-02-16 13:03:12 +00:00
Ben Harris 4f59bac798 Rather than increasing the size of my switch statements yet further, have
a bunch of function pointers associated with each window to do things like
updates and click handling.  This is all looking disturbingly object-oriented.
.
While I'm here, separate out the about box into its own file, shared by PuTTY
and PuTTYgen.

[originally from svn r2850]
2003-02-15 16:22:15 +00:00
Ben Harris c6a92bebfc Tiny amount of infrastructure for having actual keys in PuTTYgen.
[originally from svn r2849]
2003-02-15 14:20:43 +00:00
Ben Harris 0c1b343646 <OpenTransportInternet.h> seems to want <Files.h>. Silly thing.
[originally from svn r2848]
2003-02-15 14:20:04 +00:00
Ben Harris ff507407b1 Move the 'vers' resources for Mac OS into their own file, to be shared
by the various applications.

[originally from svn r2843]
2003-02-13 12:30:10 +00:00
Ben Harris 8dcbb16ec2 Minimal shell of PuTTYgen for Mac. No actual PuTTYgen-specific code there
yet, but an absence of PuTTY-specific code.

[originally from svn r2842]
2003-02-12 23:53:15 +00:00
Ben Harris 10bccffd16 Clip host resize requests to the size of the desktop.
[originally from svn r2835]
2003-02-11 23:10:34 +00:00
Ben Harris bea09a8046 The event log is implemented; remove it from the list.
[originally from svn r2830]
2003-02-10 23:49:58 +00:00
Ben Harris 2c10ece60d Crude Event Log implementation for the Mac. I'm fairly convinced now that
using the List Manager was entirely the wrong decision on my part, so I'll
probably rewrite this to use TextEdit at some point, but it's better than
stderr even so.

[originally from svn r2811]
2003-02-07 01:38:12 +00:00
Ben Harris 60c9d7bae3 Clean up Carbon build procedures somewhat. I still don't have anything that
actually works, but I think I'm getting closer.

[originally from svn r2810]
2003-02-07 01:33:24 +00:00
Ben Harris f9928fafae Move net_service_lookup() to macnet.c, since that's where it belongs.
[originally from svn r2806]
2003-02-06 01:01:27 +00:00
Ben Harris a1e2199dc1 Add a level of indirection to make it rather easier to work out which of a
session's windows we're dealing with.

[originally from svn r2804]
2003-02-04 23:39:26 +00:00
Ben Harris 1e25e56378 If we're compiling for Carbon, define OTCARBONAPPLICATION so that we get
the simplified (and backward-compatible) application-only interfaces.

[originally from svn r2793]
2003-02-04 02:15:18 +00:00
Ben Harris 24df1c5463 Carbonise, or at least disable MacTCP support under Carbon.
[originally from svn r2792]
2003-02-04 02:10:42 +00:00
Ben Harris 67312214da I can only quote the comment in <Scrap.h> which prompted this commit:
/*
    Newsflash! After 15 years of arduous toil, it's finally possible
    for specially trained typists wielding advanced text editing
    technology to define symbolic names for commonly used scrap
    flavor type constants! Apple triumphs again!
*/

[originally from svn r2791]
2003-02-04 02:08:03 +00:00
Ben Harris 16f40e8bcc Fix various breakages my Carbonisation caused in the Classic build, notably
that outside Carbon, CGrafPtr and GrafPtr are different types, even though
they're mostly interchangeable, so we need to interpose a cast between
GetWindowPort and SetPort.

[originally from svn r2790]
2003-02-04 02:03:53 +00:00
Ben Harris 13feddf9ea Carbonise. Currently, size tips and copy/paste won't work in Carbon.
[originally from svn r2789]
2003-02-04 01:53:50 +00:00
Ben Harris 45ab39dd19 Slightly improve Carbon handling: we still have to deal with the "About..."
menu entry, even if the rest of the Apple Menu is done for us.

[originally from svn r2788]
2003-02-04 00:33:11 +00:00
Ben Harris 1e67347b04 Convert keyboard events into Unicode properly. I can now type all manner of
interesting characters and have them work properly.

[originally from svn r2787]
2003-02-04 00:01:33 +00:00
Ben Harris e83c42bb5b Update to match reality.
[originally from svn r2780]
2003-02-02 16:02:50 +00:00
Ben Harris 60b6419de5 Add support for using Navigation Services to open saved sessions.
Support for saving sessions using Navigation Services will come later.

[originally from svn r2779]
2003-02-02 15:59:00 +00:00
Ben Harris 49552525cc Carbonise, mostly by replacing addresource() with c2pstrcpy() and
AddResource(), and similar.

[originally from svn r2775]
2003-02-02 00:04:36 +00:00
Ben Harris e68c510ac4 Carbonise. Until we support Navigation Services, loading and saving sessions
is tricky.

[originally from svn r2774]
2003-02-01 23:55:00 +00:00
Ben Harris ac8177763e Make this compile in a Carbon world (while still supporting everything else).
[originally from svn r2773]
2003-02-01 23:42:30 +00:00
Ben Harris 61711b9594 Rather more natural (if much more complex) Mac Filename implementation.
Filenames are represented as a FSSpec, which is converted to and from an
alias record ('alis' resource) when saving and loading sessions.
.
It might be an idea to allow in-core Filenames to contain alias records too,
so that they can refer to directories that don't exist on the current system,
but that requires Filenames to be dynamically allocated, which is likely to be
a pain.

[originally from svn r2771]
2003-02-01 21:44:05 +00:00
Simon Tatham bd16b29a7a Oops, Ben is quite right about the rather appalling design of
filename_from_str. Here's a better fix, with some const
repercussions too.

[originally from svn r2768]
2003-02-01 17:24:27 +00:00
Ben Harris 947b70006e Tidy up Simon's FontSpec abstraction.
Also, make fontspec_to_str not return the address of an automatic variable.
It now has a memory leak instead.

[originally from svn r2767]
2003-02-01 15:44:08 +00:00
Simon Tatham f26b7aa0d3 Created new data types `Filename' and `FontSpec', intended to be
opaque to all platform-independent modules and only handled within
per-platform code. `Filename' is there because the Mac has a magic
way to store filenames (though currently this checkin doesn't
support it!); `FontSpec' is there so that all the auxiliary stuff
such as font height and charset and so on which is needed under
Windows but not Unix can be kept where it belongs, and so that I can
have a hope in hell of dealing with a font chooser in the forthcoming
cross-platform config box code, and best of all it gets the horrid
font height wart out of settings.c and into the Windows code where
it should be.
The Mac part of this checkin is a bunch of random guesses which will
probably not quite compile, but which look roughly right to me.
Sorry if I screwed it up, Ben :-)

[originally from svn r2765]
2003-02-01 12:54:40 +00:00
Ben Harris fe5f4c14f4 Richard's lazy-scrolling patch. This builds up scroll operations in a list,
combining adjacent ones for the same region, and runs them all in do_paint.
I'm not sure it's entirely right, but it works on my Mac in every case I've
tested.

[originally from svn r2763]
2003-02-01 12:26:33 +00:00
Ben Harris df47130d30 Small amount of extra noise gathering -- slurp the process list in
noise_get_heavy().

[originally from svn r2755]
2003-01-30 23:11:07 +00:00
Ben Harris 79de457a16 Neither do we do non-block cursors.
[originally from svn r2744]
2003-01-28 11:57:08 +00:00
Ben Harris fbb1c2e32a We don't do blinking text/cursor yet.
[originally from svn r2743]
2003-01-28 11:56:32 +00:00
Ben Harris 6f43ffc13c Don't log every keypress by default here either.
[originally from svn r2739]
2003-01-28 00:35:54 +00:00
Ben Harris b29a64c760 Fix a minor oversight in the new 16-colour code for the Mac, which was
calculating the background colour wrongly.

[originally from svn r2738]
2003-01-28 00:25:20 +00:00
Ben Harris d5e459f9dd Add myself to the list of copyright holders, largely for term_key().
[originally from svn r2736]
2003-01-27 23:46:03 +00:00
Simon Tatham c370336a92 xterm apparently supports ESC[90m through ESC[97m to set bright
foreground colours, and ESC[100m through ESC[107m to set bright
background colours. Hence, so do we. Bright-foreground is
distinguishable from bold, and bright-background distinguishable
from blink, when it leaves terminal.c; the front end may then choose
to display them in the same way if it's configured to do so. This
change makes the xterm backend for Turbo Vision (!!!) work properly.
Untested on Mac.

[originally from svn r2734]
2003-01-27 23:03:31 +00:00
Ben Harris de34bdac6d First attempt at a platform-independent keyboard handler. This isn't complete
yet -- there's no Alt+keypad support, and no way for the front-end to find
out what it should do with the Num Lock light.  It's also not fully tested.
Nonetheless, it's at least as good as the previous Mac keyboard handler.
Other platforms probably shouldn't adopt it just yet.

[originally from svn r2728]
2003-01-27 00:39:01 +00:00
Ben Harris b415d9e225 Remove some fossils.
[originally from svn r2727]
2003-01-27 00:33:49 +00:00
Ben Harris 146ff8f190 Support for pasting 'TEXT', ie text in the local character set. At the moment,
we assume it's in the system script -- later we should check for 'styl' scrap
in case it isn't.

[originally from svn r2726]
2003-01-25 19:23:03 +00:00
Ben Harris 787fcd3eb7 Add support for copying non-Unicode text to the clipboard. We also send a
simple 'styl' record along with it to specify the font and suchlike.  I'm
not sure it's worth making this optional in the way the RTF is in Windows.

[originally from svn r2724]
2003-01-25 17:20:54 +00:00
Ben Harris af4be2e83e Change the term_mouse interface a little so that it gets passed
both the raw and the cooked mouse button, with the mapping being done in
advance by the front-end.  This is useful because it allows the front-end to
use information other than the raw button (e.g. the modifier state) to decide
which cooked button to generate.
.
Front ends other than the Mac one are untested, but they just call
translate_button() themselves and pass the result to term_mouse().

[originally from svn r2721]
2003-01-25 16:16:45 +00:00
Ben Harris 3f01fc87ec The PowerPC build works on Owen's Mac, which doesn't have AppearanceLib, so
that bug's definitely fixed.

[originally from svn r2720]
2003-01-25 15:21:54 +00:00
Ben Harris 58091f6971 Duplicate Session is done.
[originally from svn r2719]
2003-01-25 15:18:51 +00:00
Ben Harris 9812db5f1f Add support for "Duplicate Session", moving back-end selection into
mac_startsession() in the process.

[originally from svn r2718]
2003-01-25 15:15:40 +00:00
Ben Harris 2aa3b8e154 Ensure that development snapshots have a version number higher than the
preceding release.

[originally from svn r2717]
2003-01-25 14:09:47 +00:00
Ben Harris db014f112a We now have _some_ useful AE support, so mention what's missing specifically.
Also mentio lack of Duplicate Session.

[originally from svn r2716]
2003-01-25 14:07:50 +00:00
Ben Harris 75f393a4be AEGetNthPtr() is stupid and counts from 1. Allowing for this gets aevt/odoc
working.

[originally from svn r2715]
2003-01-25 14:04:47 +00:00
Ben Harris ba6a959e69 We'd like full-screen mode too.
[originally from svn r2705]
2003-01-24 00:37:27 +00:00
Ben Harris 583c313d43 Add a bug and a missing feature.
[originally from svn r2704]
2003-01-24 00:28:57 +00:00
Ben Harris 6993486b43 Redesign the macnet.c infrastructure, largely so as to avoid using Gestalt(),
which didn't detect the MacTCP emulation in Owen's Open Transport.

[originally from svn r2703]
2003-01-24 00:25:33 +00:00
Ben Harris 596f6e9787 Add Apple Event handlers for 'aevt'/'oapp', 'aevt'/'odoc' and 'aevt'/'pdoc'.
None of them does anything useful yet (though the odoc one tries to).

[originally from svn r2700]
2003-01-23 22:57:43 +00:00
Ben Harris 30347e5313 We'll need the event log to work, too.
[originally from svn r2671]
2003-01-21 00:28:20 +00:00
Ben Harris 802ae23334 Remove stray debugging printfs.
[originally from svn r2670]
2003-01-21 00:27:24 +00:00
Ben Harris 486d91c77c More unimplemented features.
[originally from svn r2669]
2003-01-20 22:55:54 +00:00
Ben Harris 85334a8317 Add minimal Apple Event support -- we handle the 'aevt'/'quit' event.
[originally from svn r2668]
2003-01-20 22:55:08 +00:00
Ben Harris e8ef8452c2 Sync with reality and add more things that need fixing.
[originally from svn r2660]
2003-01-20 01:07:13 +00:00
Ben Harris 979366683d unitab_xterm is now basically right.
SC's optimiser seems to do something nasty to ssh.c.

[originally from svn r2652]
2003-01-19 00:00:53 +00:00
Ben Harris 03dee4b07d Use the correct ProcInfo for AddrToStr. This makes the MacTCP code work in
PowerPC builds.  Well, makes it not crash, anyway -- AddrToStr doesn't seem
to be returning amything very useful.

[originally from svn r2651]
2003-01-18 23:26:56 +00:00
Ben Harris 3afb0f5da8 Remember which file a session was opened from, so it can be the default one
to save back to.

[originally from svn r2648]
2003-01-18 20:52:59 +00:00
Ben Harris 99c1029649 Support for saving sessions on the Mac. This is slightly useful even in the
absence of a config dialogue, since it allows me to get Default Settings out.

[originally from svn r2646]
2003-01-18 20:09:21 +00:00
Ben Harris c66d95c0b1 PuTTY doesn't remember which file it got a saved session from, so it's
as stationery-pad-aware as it needs to be.

[originally from svn r2643]
2003-01-18 17:24:21 +00:00
Ben Harris 56209f1741 Add "Save" and "Save As..." items to the menus. No code behind them yet.
[originally from svn r2642]
2003-01-18 17:14:34 +00:00
Ben Harris 2dc0bf7a60 Move mac_opensession() from macterm.c to macdlg.c.
[originally from svn r2641]
2003-01-18 16:54:25 +00:00
Ben Harris 06a48a0c06 Various things to make the Finder like us:
- Change the creator of files we don't want the user to open to 'pTTI' (for
   "PuTTY internal"), and give them application-missing strings.
 - Provide missing-application names for saved sessions.
 - Provide a ResEdit 'TMPL' resource for integers in saved sessions.
 - Provide an icon for saved session stationery pads (maybe "Default Settings"
   should be one of these by default).  No code to handle this yet.

[originally from svn r2640]
2003-01-18 16:10:21 +00:00
Ben Harris a8c33d8e12 Correct an incorrect black pixel in the PuTTY icon that's been annoying me
for some time.

[originally from svn r2638]
2003-01-18 12:25:43 +00:00
Ben Harris ca7651538e It would help if everything agreed on the type of PuTTY random seed files.
[originally from svn r2636]
2003-01-18 12:18:04 +00:00
Ben Harris 1cbd489c5b Simplify the random-seed-saving code: There's no need to take great care to
preserve the old file in case the update is interrupted and replace it
atomically, so we just overwrite in place.  Much simpler.

[originally from svn r2635]
2003-01-18 12:03:28 +00:00
Ben Harris fda52aad66 Add some icons for saved sessions and random seeds.
[originally from svn r2617]
2003-01-16 00:35:11 +00:00
Ben Harris 658e31a3c3 "I don't think that bit means what I think it means", if you see what I mean.
In other words, turn off the useTextEditServices bit in our 'SIZE' resource.

[originally from svn r2616]
2003-01-15 23:46:11 +00:00
Ben Harris 694aafa071 Add the ability to close sessions. This adds *_free() functions to most
areas of the code.  Not all back-ends have been tested, but Telnet and SSH
behave reasonably.

Incidentally, almost all of this patch was written through Mac PuTTY,
admittedly over a Telnet connection.

[originally from svn r2615]
2003-01-15 23:30:21 +00:00
Ben Harris 7a9c7f3d68 Make this compile again.
[originally from svn r2614]
2003-01-15 22:37:58 +00:00