-
Notifications
You must be signed in to change notification settings - Fork 18
Connection Manager #471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
davidrg
wants to merge
62
commits into
master
Choose a base branch
from
connection-manager
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Connection Manager #471
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I've been working on this for the past week (since Friday 1 September) in Visual C++ 4.0 Professional. Current status: Can create a connection, edit its general properties, start a connection, monitor its status and terminate it. Not done: Most of the properties dialog tabs, some toolbar buttons and their icons, some menu items, cloning profiles, templates and some other things
So that newer versions don't interfere with it
After a week in late 1995, its time to move into 1997!
Both specific to unicode builds: buffer length was being given to the string copy, rather than number of characters. Number of characters was being given to malloc rather than the size of the buffer required. Also: deleting something malloc'd rather than freeing it.
The caller is responsible for freeing the string returned by CMString::toUtf8()
Or at least the important part - loading and saving the config. It update the config (eg, 7/8bit) based on selected terminal type yet.
Some terminals should default to a particular character set, or character size, etc. Settings mostly match what the K95 Dialer did. Only changes are: Added ADM-5 and VTNT, Changed Linux defaults (now utf-8, no status line, light gray on black)
New in the connection manager: a button to set colours to defaults based on selected terminal type. The K95 Dialer set colours based on terminal type automatically whenever you selected a terminal
With two changes from the dialer: * We don't give the prompt option due to it being not much more secure than saving a password, and the difficulty of explaining this to the user in the space available * The selected login script files contents is not displayed in the script field - too much work loading the file and handling any file encoding issues (unicode builds would need to translate an ASCII or UTF-8 file to UTF-16LE on load) all to display it in a text box thats really too small to be useful. The user is better off just looking at the file in a real text editor if they want to.
(connection manager config files)
The connection tab for all connection types is now done.
The list should now update
Looks better on classic windows, and *much* better on modern windows.
With these two changes the code is compatible with Visual C++ 2022 32bit community edition - though there are plenty of warnings that need to be dealt with
While it doesn't look as nice at this larger size and its size compared to the main window is a bit off, a couple of the tabs (printer and file transfer especially) were really too cramped at the more compact size and most tabs weren't going to fit any extra settings at all on them, so this really had to be done. With the extra space now available on the Terminal tab, the terminal type box has been enlarged and it now shows friendly names rather than terminal type keywords.
This comes with color theme support in the storage layer with a handful of default themes defined. No GUI for creating or editing color themes though, but the storage layer does support it if we wanted to implement it someday. The GUI Colors tab lets you pick an existing theme, or enter RGB values yourself.
And also correct the descriptive name for the wy50 terminal type
Also removed some commented out code from CMString, and fixed up usage of spinboxes everywhere with a new function to set them up. All tabs for Serial/PTY/LAT/CTERM?DLL/Pipe connections are now implemented. And all tabs currently present in SSH properties are also implemented (the SSH and IP tabs are currently not included in that dialog).
Also added some comments for when modem support is eventually implemented.
Its not perfect, and there are probably bugs, but it does appear to work. Its about time I got back to work on Kermit 95 proper so there probably won't be much more work on the Connection Manager for a few months, but that should give me a good opportunity to test recent changes.
And add a comment for future me to sort something out when I have time to get back to this properly
…into connection-manager
This fixes the situation where the context menu doesn't appear when the main window is above or to the left of the primary display (one or both coordinates are negative), and also the situation where the context menu is summoned via the keyboard (Shift+F10 or the context menu key). These changes require Visual C++ 5.0 currently
And add some initial github actions workflow
Also: Fix some issues in the about dialog and update the copyright date, fix the keymap field on not allowing more than one line, and maybe fix something that causes a build error on 64bit targets.
for pty and pipe network types
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a longer-term project to build a replacement for the K95 dialer which suffers from a number of problems due to the 3rd-party toolkit (zinc) it was built with and its current maintenance status:
The main advantage of Zinc was portability to OS/2, but its not clear that K95 has any users on OS/2 at this point and at any rate Zinc is less of an issue there. So the old Dialer will remain for OS/2, while its new replacement will be built exclusively for Windows with the following goals:
Right now my primary goal is getting Kermit 95 v3.0 stable out the door. I don't want to delay v3.0 just so that it can include a replacement for the dialer; its already been in development for three years and counting. So for now work on the connection manager is highly intermittent as it isn't a priority right now. Once K95 v3.0 is out (or at least reaches the release candidate stage) then finishing this off will probably be near the top of the priority list.
General requirements look somethig like the following - once all this is done, then perhaps some kind of beta test can happen: