New upstream version 0.0.0.73
This commit is contained in:
parent
af04e39e18
commit
14657a895c
|
@ -0,0 +1,63 @@
|
||||||
|
###############################################################################
|
||||||
|
# Set default behavior to automatically normalize line endings.
|
||||||
|
###############################################################################
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set default behavior for command prompt diff.
|
||||||
|
#
|
||||||
|
# This is need for earlier builds of msysgit that does not have it on by
|
||||||
|
# default for csharp files.
|
||||||
|
# Note: This is only used by command line
|
||||||
|
###############################################################################
|
||||||
|
#*.cs diff=csharp
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set the merge driver for project and solution files
|
||||||
|
#
|
||||||
|
# Merging from the command prompt will add diff markers to the files if there
|
||||||
|
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||||
|
# the diff markers are never inserted). Diff markers may cause the following
|
||||||
|
# file extensions to fail to load in VS. An alternative would be to treat
|
||||||
|
# these files as binary and thus will always conflict and require user
|
||||||
|
# intervention with every merge. To do so, just uncomment the entries below
|
||||||
|
###############################################################################
|
||||||
|
#*.sln merge=binary
|
||||||
|
#*.csproj merge=binary
|
||||||
|
#*.vbproj merge=binary
|
||||||
|
#*.vcxproj merge=binary
|
||||||
|
#*.vcproj merge=binary
|
||||||
|
#*.dbproj merge=binary
|
||||||
|
#*.fsproj merge=binary
|
||||||
|
#*.lsproj merge=binary
|
||||||
|
#*.wixproj merge=binary
|
||||||
|
#*.modelproj merge=binary
|
||||||
|
#*.sqlproj merge=binary
|
||||||
|
#*.wwaproj merge=binary
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# behavior for image files
|
||||||
|
#
|
||||||
|
# image files are treated as binary by default.
|
||||||
|
###############################################################################
|
||||||
|
#*.jpg binary
|
||||||
|
#*.png binary
|
||||||
|
#*.gif binary
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# diff behavior for common document formats
|
||||||
|
#
|
||||||
|
# Convert binary document formats to text before diffing them. This feature
|
||||||
|
# is only available from the command line. Turn it on by uncommenting the
|
||||||
|
# entries below.
|
||||||
|
###############################################################################
|
||||||
|
#*.doc diff=astextplain
|
||||||
|
#*.DOC diff=astextplain
|
||||||
|
#*.docx diff=astextplain
|
||||||
|
#*.DOCX diff=astextplain
|
||||||
|
#*.dot diff=astextplain
|
||||||
|
#*.DOT diff=astextplain
|
||||||
|
#*.pdf diff=astextplain
|
||||||
|
#*.PDF diff=astextplain
|
||||||
|
#*.rtf diff=astextplain
|
||||||
|
#*.RTF diff=astextplain
|
|
@ -0,0 +1,261 @@
|
||||||
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
|
*.userprefs
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Dd]ebugPublic/
|
||||||
|
[Rr]elease/
|
||||||
|
[Rr]eleases/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
bld/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
[Ll]og/
|
||||||
|
|
||||||
|
# Visual Studio 2015 cache/options directory
|
||||||
|
.vs/
|
||||||
|
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||||
|
#wwwroot/
|
||||||
|
|
||||||
|
# MSTest test Results
|
||||||
|
[Tt]est[Rr]esult*/
|
||||||
|
[Bb]uild[Ll]og.*
|
||||||
|
|
||||||
|
# NUNIT
|
||||||
|
*.VisualState.xml
|
||||||
|
TestResult.xml
|
||||||
|
|
||||||
|
# Build Results of an ATL Project
|
||||||
|
[Dd]ebugPS/
|
||||||
|
[Rr]eleasePS/
|
||||||
|
dlldata.c
|
||||||
|
|
||||||
|
# DNX
|
||||||
|
project.lock.json
|
||||||
|
project.fragment.lock.json
|
||||||
|
artifacts/
|
||||||
|
|
||||||
|
*_i.c
|
||||||
|
*_p.c
|
||||||
|
*_i.h
|
||||||
|
*.ilk
|
||||||
|
*.meta
|
||||||
|
*.obj
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.pgc
|
||||||
|
*.pgd
|
||||||
|
*.rsp
|
||||||
|
*.sbr
|
||||||
|
*.tlb
|
||||||
|
*.tli
|
||||||
|
*.tlh
|
||||||
|
*.tmp
|
||||||
|
*.tmp_proj
|
||||||
|
*.log
|
||||||
|
*.vspscc
|
||||||
|
*.vssscc
|
||||||
|
.builds
|
||||||
|
*.pidb
|
||||||
|
*.svclog
|
||||||
|
*.scc
|
||||||
|
|
||||||
|
# Chutzpah Test files
|
||||||
|
_Chutzpah*
|
||||||
|
|
||||||
|
# Visual C++ cache files
|
||||||
|
ipch/
|
||||||
|
*.aps
|
||||||
|
*.ncb
|
||||||
|
*.opendb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.cachefile
|
||||||
|
*.VC.db
|
||||||
|
*.VC.VC.opendb
|
||||||
|
|
||||||
|
# Visual Studio profiler
|
||||||
|
*.psess
|
||||||
|
*.vsp
|
||||||
|
*.vspx
|
||||||
|
*.sap
|
||||||
|
|
||||||
|
# TFS 2012 Local Workspace
|
||||||
|
$tf/
|
||||||
|
|
||||||
|
# Guidance Automation Toolkit
|
||||||
|
*.gpState
|
||||||
|
|
||||||
|
# ReSharper is a .NET coding add-in
|
||||||
|
_ReSharper*/
|
||||||
|
*.[Rr]e[Ss]harper
|
||||||
|
*.DotSettings.user
|
||||||
|
|
||||||
|
# JustCode is a .NET coding add-in
|
||||||
|
.JustCode
|
||||||
|
|
||||||
|
# TeamCity is a build add-in
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover is a Code Coverage Tool
|
||||||
|
*.dotCover
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
_NCrunch_*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
nCrunchTemp_*
|
||||||
|
|
||||||
|
# MightyMoose
|
||||||
|
*.mm.*
|
||||||
|
AutoTest.Net/
|
||||||
|
|
||||||
|
# Web workbench (sass)
|
||||||
|
.sass-cache/
|
||||||
|
|
||||||
|
# Installshield output folder
|
||||||
|
[Ee]xpress/
|
||||||
|
|
||||||
|
# DocProject is a documentation generator add-in
|
||||||
|
DocProject/buildhelp/
|
||||||
|
DocProject/Help/*.HxT
|
||||||
|
DocProject/Help/*.HxC
|
||||||
|
DocProject/Help/*.hhc
|
||||||
|
DocProject/Help/*.hhk
|
||||||
|
DocProject/Help/*.hhp
|
||||||
|
DocProject/Help/Html2
|
||||||
|
DocProject/Help/html
|
||||||
|
|
||||||
|
# Click-Once directory
|
||||||
|
publish/
|
||||||
|
|
||||||
|
# Publish Web Output
|
||||||
|
*.[Pp]ublish.xml
|
||||||
|
*.azurePubxml
|
||||||
|
# TODO: Comment the next line if you want to checkin your web deploy settings
|
||||||
|
# but database connection strings (with potential passwords) will be unencrypted
|
||||||
|
#*.pubxml
|
||||||
|
*.publishproj
|
||||||
|
|
||||||
|
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||||
|
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||||
|
# in these scripts will be unencrypted
|
||||||
|
PublishScripts/
|
||||||
|
|
||||||
|
# NuGet Packages
|
||||||
|
*.nupkg
|
||||||
|
# The packages folder can be ignored because of Package Restore
|
||||||
|
**/packages/*
|
||||||
|
# except build/, which is used as an MSBuild target.
|
||||||
|
!**/packages/build/
|
||||||
|
# Uncomment if necessary however generally it will be regenerated when needed
|
||||||
|
#!**/packages/repositories.config
|
||||||
|
# NuGet v3's project.json files produces more ignoreable files
|
||||||
|
*.nuget.props
|
||||||
|
*.nuget.targets
|
||||||
|
|
||||||
|
# Microsoft Azure Build Output
|
||||||
|
csx/
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Microsoft Azure Emulator
|
||||||
|
ecf/
|
||||||
|
rcf/
|
||||||
|
|
||||||
|
# Windows Store app package directories and files
|
||||||
|
AppPackages/
|
||||||
|
BundleArtifacts/
|
||||||
|
Package.StoreAssociation.xml
|
||||||
|
_pkginfo.txt
|
||||||
|
|
||||||
|
# Visual Studio cache files
|
||||||
|
# files ending in .cache can be ignored
|
||||||
|
*.[Cc]ache
|
||||||
|
# but keep track of directories ending in .cache
|
||||||
|
!*.[Cc]ache/
|
||||||
|
|
||||||
|
# Others
|
||||||
|
ClientBin/
|
||||||
|
~$*
|
||||||
|
*~
|
||||||
|
*.dbmdl
|
||||||
|
*.dbproj.schemaview
|
||||||
|
*.jfm
|
||||||
|
*.pfx
|
||||||
|
*.publishsettings
|
||||||
|
node_modules/
|
||||||
|
orleans.codegen.cs
|
||||||
|
|
||||||
|
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||||
|
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||||
|
#bower_components/
|
||||||
|
|
||||||
|
# RIA/Silverlight projects
|
||||||
|
Generated_Code/
|
||||||
|
|
||||||
|
# Backup & report files from converting an old project file
|
||||||
|
# to a newer Visual Studio version. Backup files are not needed,
|
||||||
|
# because we have git ;-)
|
||||||
|
_UpgradeReport_Files/
|
||||||
|
Backup*/
|
||||||
|
UpgradeLog*.XML
|
||||||
|
UpgradeLog*.htm
|
||||||
|
|
||||||
|
# SQL Server files
|
||||||
|
*.mdf
|
||||||
|
*.ldf
|
||||||
|
|
||||||
|
# Business Intelligence projects
|
||||||
|
*.rdl.data
|
||||||
|
*.bim.layout
|
||||||
|
*.bim_*.settings
|
||||||
|
|
||||||
|
# Microsoft Fakes
|
||||||
|
FakesAssemblies/
|
||||||
|
|
||||||
|
# GhostDoc plugin setting file
|
||||||
|
*.GhostDoc.xml
|
||||||
|
|
||||||
|
# Node.js Tools for Visual Studio
|
||||||
|
.ntvs_analysis.dat
|
||||||
|
|
||||||
|
# Visual Studio 6 build log
|
||||||
|
*.plg
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace options file
|
||||||
|
*.opt
|
||||||
|
|
||||||
|
# Visual Studio LightSwitch build output
|
||||||
|
**/*.HTMLClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/ModelManifest.xml
|
||||||
|
**/*.Server/GeneratedArtifacts
|
||||||
|
**/*.Server/ModelManifest.xml
|
||||||
|
_Pvt_Extensions
|
||||||
|
|
||||||
|
# Paket dependency manager
|
||||||
|
.paket/paket.exe
|
||||||
|
paket-files/
|
||||||
|
|
||||||
|
# FAKE - F# Make
|
||||||
|
.fake/
|
||||||
|
|
||||||
|
# JetBrains Rider
|
||||||
|
.idea/
|
||||||
|
*.sln.iml
|
||||||
|
|
||||||
|
# CodeRush
|
||||||
|
.cr/
|
||||||
|
|
||||||
|
# Python Tools for Visual Studio (PTVS)
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
Binary file not shown.
Binary file not shown.
64
AGWCode.cpp
64
AGWCode.cpp
|
@ -29,6 +29,8 @@ extern QWidget * mythis;
|
||||||
|
|
||||||
extern int AGWEnable;
|
extern int AGWEnable;
|
||||||
extern int AGWMonEnable;
|
extern int AGWMonEnable;
|
||||||
|
extern int AGWLocalTime;
|
||||||
|
extern int AGWMonNodes;
|
||||||
extern char AGWTermCall[12];
|
extern char AGWTermCall[12];
|
||||||
extern char AGWBeaconDest[12];
|
extern char AGWBeaconDest[12];
|
||||||
extern char AGWBeaconPath[80];
|
extern char AGWBeaconPath[80];
|
||||||
|
@ -40,6 +42,8 @@ extern char AGWHost[128];
|
||||||
extern int AGWPortNum;
|
extern int AGWPortNum;
|
||||||
extern int AGWPaclen;
|
extern int AGWPaclen;
|
||||||
|
|
||||||
|
extern Ui_ListenSession * KISSMonSess;
|
||||||
|
|
||||||
extern char listenCText[4096];
|
extern char listenCText[4096];
|
||||||
extern int ConnectBeep;
|
extern int ConnectBeep;
|
||||||
|
|
||||||
|
@ -137,6 +141,7 @@ void AGW_Process_Input(AGWUser * AGW);
|
||||||
void Send_AGW_X_Frame(QTcpSocket* socket, char * CallFrom);
|
void Send_AGW_X_Frame(QTcpSocket* socket, char * CallFrom);
|
||||||
void Send_AGW_G_Frame(QTcpSocket* socket);
|
void Send_AGW_G_Frame(QTcpSocket* socket);
|
||||||
void Send_AGW_m_Frame(QTcpSocket* socket);
|
void Send_AGW_m_Frame(QTcpSocket* socket);
|
||||||
|
void Send_AGW_R_Frame(QTcpSocket* socket);
|
||||||
|
|
||||||
Ui_ListenSession * FindFreeWindow();
|
Ui_ListenSession * FindFreeWindow();
|
||||||
Ui_ListenSession * newWindow(QObject * parent, int Type, const char * Label = nullptr);
|
Ui_ListenSession * newWindow(QObject * parent, int Type, const char * Label = nullptr);
|
||||||
|
@ -146,7 +151,7 @@ void AGW_frame_header(UCHAR * Msg, char AGWPort, char DataKind, unsigned char PI
|
||||||
void Debugprintf(const char * format, ...)
|
void Debugprintf(const char * format, ...)
|
||||||
{
|
{
|
||||||
char Mess[10000];
|
char Mess[10000];
|
||||||
va_list(arglist);
|
va_list arglist;
|
||||||
|
|
||||||
va_start(arglist, format);
|
va_start(arglist, format);
|
||||||
vsprintf(Mess, format, arglist);
|
vsprintf(Mess, format, arglist);
|
||||||
|
@ -448,7 +453,7 @@ void QtTermTCP::onAGWSocketStateChanged(QAbstractSocket::SocketState socketState
|
||||||
tabWidget->setTabText(Sess->Tab, "Monitor");
|
tabWidget->setTabText(Sess->Tab, "Monitor");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char Label[16];
|
char Label[32];
|
||||||
sprintf(Label, "Sess %d", Sess->Tab + 1);
|
sprintf(Label, "Sess %d", Sess->Tab + 1);
|
||||||
tabWidget->setTabText(Sess->Tab, Label);
|
tabWidget->setTabText(Sess->Tab, Label);
|
||||||
}
|
}
|
||||||
|
@ -541,7 +546,7 @@ void QtTermTCP::onAGWSocketStateChanged(QAbstractSocket::SocketState socketState
|
||||||
|
|
||||||
// for (Ui_ListenSession * S: _sessions)
|
// for (Ui_ListenSession * S: _sessions)
|
||||||
// {
|
// {
|
||||||
if ((S->SessionType == Mon) && S->clientSocket == NULL && S->AGWSession == NULL && S->KISSSession == NULL)
|
if ((S->SessionType == Mon) && S->clientSocket == NULL && S->AGWSession == NULL && S->KISSSession == NULL && (AGWUsers == NULL || (S != AGWUsers->MonSess)) && S != KISSMonSess)
|
||||||
{
|
{
|
||||||
Sess = S;
|
Sess = S;
|
||||||
break;
|
break;
|
||||||
|
@ -563,7 +568,7 @@ void QtTermTCP::onAGWSocketStateChanged(QAbstractSocket::SocketState socketState
|
||||||
{
|
{
|
||||||
S = _sessions.at(i);
|
S = _sessions.at(i);
|
||||||
|
|
||||||
if (S->clientSocket == NULL && S->AGWSession == NULL)
|
if (S->clientSocket == NULL && S->KISSSession == NULL && S->AGWSession == NULL && (AGWUsers == NULL || (S != AGWUsers->MonSess)) && S != KISSMonSess)
|
||||||
{
|
{
|
||||||
Sess = S;
|
Sess = S;
|
||||||
break;
|
break;
|
||||||
|
@ -574,7 +579,7 @@ void QtTermTCP::onAGWSocketStateChanged(QAbstractSocket::SocketState socketState
|
||||||
{
|
{
|
||||||
S = _sessions.at(0);
|
S = _sessions.at(0);
|
||||||
|
|
||||||
if (S->clientSocket == NULL && S->AGWSession == NULL && S->KISSSession == NULL)
|
if (S->clientSocket == NULL && S->AGWSession == NULL && S->KISSSession == NULL && (AGWUsers == NULL || (S != AGWUsers->MonSess)) && S != KISSMonSess)
|
||||||
Sess = S;
|
Sess = S;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -606,6 +611,10 @@ void QtTermTCP::onAGWSocketStateChanged(QAbstractSocket::SocketState socketState
|
||||||
connectMenu->setEnabled(false);
|
connectMenu->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Sess->mlocaltime = AGWLocalTime;
|
||||||
|
Sess->MonitorNODES = AGWMonNodes;
|
||||||
|
|
||||||
|
Send_AGW_R_Frame(sender); // Request Version
|
||||||
Send_AGW_m_Frame(sender); // Request Monitor Frames
|
Send_AGW_m_Frame(sender); // Request Monitor Frames
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -735,10 +744,31 @@ void Send_AGW_m_Frame(QTcpSocket* socket)
|
||||||
{
|
{
|
||||||
UCHAR Msg[512];
|
UCHAR Msg[512];
|
||||||
|
|
||||||
AGW_frame_header(Msg, 0, 'm', 0, "", "", 0);
|
// Request Monitoring. Add Extended form if connected to BPQ
|
||||||
|
|
||||||
|
AGW_frame_header(Msg, 0, 'm', 0, "", "", 12);
|
||||||
|
|
||||||
|
Msg[AGWHDDRRLEN] = AGWLocalTime;
|
||||||
|
Msg[AGWHDDRRLEN + 1] = AGWMonNodes;
|
||||||
|
Msg[AGWHDDRRLEN + 2] = AGWMonEnable;
|
||||||
|
Msg[AGWHDDRRLEN + 3] = 0;
|
||||||
|
|
||||||
|
memcpy(&Msg[AGWHDDRRLEN + 4], (void *)&AGWUsers->MonSess->portmask, 8);
|
||||||
|
|
||||||
|
socket->write((char *)Msg, AGWHDDRRLEN + 12);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Send_AGW_R_Frame(QTcpSocket* socket)
|
||||||
|
{
|
||||||
|
UCHAR Msg[512];
|
||||||
|
|
||||||
|
// Request Version
|
||||||
|
|
||||||
|
AGW_frame_header(Msg, 0, 'R', 0, "", "", 0);
|
||||||
socket->write((char *)Msg, AGWHDDRRLEN);
|
socket->write((char *)Msg, AGWHDDRRLEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
@ -1034,6 +1064,8 @@ void on_AGW_C_frame(AGWUser * AGW, struct AGWHeader * Frame, byte * Msg)
|
||||||
{
|
{
|
||||||
sprintf(Title, "Connected to %s", CallFrom);
|
sprintf(Title, "Connected to %s", CallFrom);
|
||||||
|
|
||||||
|
QApplication::alert(mythis, 0);
|
||||||
|
|
||||||
if (TermMode == MDI)
|
if (TermMode == MDI)
|
||||||
{
|
{
|
||||||
Sess->setWindowTitle(Title);
|
Sess->setWindowTitle(Title);
|
||||||
|
@ -1062,7 +1094,7 @@ void on_AGW_C_frame(AGWUser * AGW, struct AGWHeader * Frame, byte * Msg)
|
||||||
setMenus(true);
|
setMenus(true);
|
||||||
|
|
||||||
if (ConnectBeep)
|
if (ConnectBeep)
|
||||||
myBeep();
|
myBeep(&ConnectWAV);
|
||||||
|
|
||||||
// Send CText if defined
|
// Send CText if defined
|
||||||
|
|
||||||
|
@ -1073,7 +1105,7 @@ void on_AGW_C_frame(AGWUser * AGW, struct AGWHeader * Frame, byte * Msg)
|
||||||
|
|
||||||
char Msg[80];
|
char Msg[80];
|
||||||
|
|
||||||
sprintf(Msg, "Incoming Connect from %s\r\r", CallFrom);
|
sprintf(Msg, "Incoming AGW Connection from %s\r\r", CallFrom);
|
||||||
|
|
||||||
WritetoOutputWindow(Sess, (unsigned char *)Msg, (int)strlen(Msg));
|
WritetoOutputWindow(Sess, (unsigned char *)Msg, (int)strlen(Msg));
|
||||||
return;
|
return;
|
||||||
|
@ -1121,21 +1153,27 @@ void on_AGW_D_frame(int snd_ch, char * CallFrom, char * CallTo, byte * Msg, int
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" void WritetoMonWindow(Ui_ListenSession * Sess, unsigned char * Msg, int len);
|
||||||
|
|
||||||
void on_AGW_Mon_frame(byte * Msg, int Len, char Type)
|
void on_AGW_Mon_frame(byte * Msg, int Len, char Type)
|
||||||
{
|
{
|
||||||
if (AGWUsers && AGWUsers->MonSess && AGWUsers->MonSess->monWindow)
|
if (AGWUsers && AGWUsers->MonSess && AGWUsers->MonSess->monWindow)
|
||||||
{
|
{
|
||||||
|
unsigned char copy[512];
|
||||||
|
|
||||||
|
copy[0] = 0x1b;
|
||||||
if (Type == 'T')
|
if (Type == 'T')
|
||||||
WritetoOutputWindowEx(AGWUsers->MonSess, Msg, Len,
|
copy[1] = 91;
|
||||||
AGWUsers->MonSess->monWindow, &AGWUsers->MonSess->OutputSaveLen, AGWUsers->MonSess->OutputSave, monTxText); // Red
|
|
||||||
else
|
else
|
||||||
WritetoOutputWindowEx(AGWUsers->MonSess, Msg, Len,
|
copy[1] = 17;
|
||||||
AGWUsers->MonSess->monWindow, &AGWUsers->MonSess->OutputSaveLen, AGWUsers->MonSess->OutputSave, monRxText); // Blue
|
|
||||||
|
memcpy(©[2], Msg, Len);
|
||||||
|
WritetoMonWindow(AGWUsers->MonSess, copy, Len + 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void on_AGW_Ds_frame(int AGWChan, char * CallFrom, char * CallTo, struct AGWHeader * Frame)
|
void on_AGW_Ds_frame(int AGWChan, char * CallFrom, char * CallTo, struct AGWHeader * Frame)
|
||||||
{
|
{
|
||||||
TAGWPort * AX25Sess;
|
TAGWPort * AX25Sess;
|
||||||
|
@ -1170,7 +1208,7 @@ void on_AGW_Ds_frame(int AGWChan, char * CallFrom, char * CallTo, struct AGWHead
|
||||||
tabWidget->setTabText(Sess->Tab, "Monitor");
|
tabWidget->setTabText(Sess->Tab, "Monitor");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char Label[16];
|
char Label[32];
|
||||||
sprintf(Label, "Sess %d", Sess->Tab + 1);
|
sprintf(Label, "Sess %d", Sess->Tab + 1);
|
||||||
tabWidget->setTabText(Sess->Tab, Label);
|
tabWidget->setTabText(Sess->Tab, Label);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,545 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>AlertDialog</class>
|
||||||
|
<widget class="QDialog" name="AlertDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>554</width>
|
||||||
|
<height>433</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Dialog</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="layoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>94</x>
|
||||||
|
<y>376</y>
|
||||||
|
<width>351</width>
|
||||||
|
<height>33</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="okButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>OK</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="cancelButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Cancel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QCheckBox" name="InboundBeep">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>40</y>
|
||||||
|
<width>201</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Beep on Inbound connect</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QCheckBox" name="InactivityBeep">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>65</y>
|
||||||
|
<width>221</width>
|
||||||
|
<height>21</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Beep on message after inactivity</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QCheckBox" name="KeywordBeep">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>90</y>
|
||||||
|
<width>201</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Beep on keyword</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLineEdit" name="Interval">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>350</x>
|
||||||
|
<y>65</y>
|
||||||
|
<width>51</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLineEdit" name="keywordFile">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>350</x>
|
||||||
|
<y>95</y>
|
||||||
|
<width>137</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QRadioButton" name="useBeep">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>204</y>
|
||||||
|
<width>82</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Use Beep</string>
|
||||||
|
</property>
|
||||||
|
<attribute name="buttonGroup">
|
||||||
|
<string notr="true">buttonGroup</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
<widget class="QRadioButton" name="useFiles">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>148</x>
|
||||||
|
<y>204</y>
|
||||||
|
<width>193</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Use Audio Files</string>
|
||||||
|
</property>
|
||||||
|
<attribute name="buttonGroup">
|
||||||
|
<string notr="true">buttonGroup</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>258</x>
|
||||||
|
<y>65</y>
|
||||||
|
<width>47</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Interval</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>263</y>
|
||||||
|
<width>107</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Interval .wav File</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>288</y>
|
||||||
|
<width>169</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Inbound Connect .wav File</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>313</y>
|
||||||
|
<width>165</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Keyword Alert .wav File</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>258</x>
|
||||||
|
<y>95</y>
|
||||||
|
<width>89</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Keyword File</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>134</y>
|
||||||
|
<width>465</width>
|
||||||
|
<height>65</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>The System Beep function doesn't work on all platform, so you can configure QtTermTCP to play a sound file instead of using Beep. You can set different files for each event if you wish. Select from the supplied sounds or choose your own .wav files. </string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="chooseInterval">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>416</x>
|
||||||
|
<y>263</y>
|
||||||
|
<width>61</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Choose</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="chooseInbound">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>416</x>
|
||||||
|
<y>288</y>
|
||||||
|
<width>61</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Choose</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="chooseKeyAlert">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>416</x>
|
||||||
|
<y>313</y>
|
||||||
|
<width>61</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Choose</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QCheckBox" name="Bells">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>15</y>
|
||||||
|
<width>289</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Use Bells (ascii BELL char makes a sound)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="chooseBells">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>416</x>
|
||||||
|
<y>238</y>
|
||||||
|
<width>61</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Choose</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>24</x>
|
||||||
|
<y>238</y>
|
||||||
|
<width>107</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Bells .wav File</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="TestInbound">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>484</x>
|
||||||
|
<y>288</y>
|
||||||
|
<width>47</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Test</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="testInterval">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>484</x>
|
||||||
|
<y>263</y>
|
||||||
|
<width>47</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Test</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="TestKeyAlert">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>484</x>
|
||||||
|
<y>313</y>
|
||||||
|
<width>47</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Test</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="testBells">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>484</x>
|
||||||
|
<y>238</y>
|
||||||
|
<width>47</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Test</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_8">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>36</x>
|
||||||
|
<y>336</y>
|
||||||
|
<width>471</width>
|
||||||
|
<height>25</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>It may take a second or two for sound to play after pressing Test button</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QComboBox" name="bellsFile">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>200</x>
|
||||||
|
<y>238</y>
|
||||||
|
<width>207</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="editable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="insertPolicy">
|
||||||
|
<enum>QComboBox::InsertAtTop</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/PCBeep</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/LowTone</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/HighTone</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/Ring</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/Ding</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
<widget class="QComboBox" name="intervalFile">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>200</x>
|
||||||
|
<y>264</y>
|
||||||
|
<width>207</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="editable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="insertPolicy">
|
||||||
|
<enum>QComboBox::InsertAtTop</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/PCBeep</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/LowTone</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/HighTone</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/Ring</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/Ding</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
<widget class="QComboBox" name="connectFile">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>200</x>
|
||||||
|
<y>288</y>
|
||||||
|
<width>207</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="editable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="insertPolicy">
|
||||||
|
<enum>QComboBox::InsertAtTop</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/PCBeep</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/LowTone</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/HighTone</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/Ring</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/Ding</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
<widget class="QComboBox" name="keywordWAV">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>200</x>
|
||||||
|
<y>314</y>
|
||||||
|
<width>207</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="editable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="insertPolicy">
|
||||||
|
<enum>QComboBox::InsertAtTop</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/PCBeep</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/LowTone</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/HighTone</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/Ring</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>:/Ding</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
<buttongroups>
|
||||||
|
<buttongroup name="buttonGroup"/>
|
||||||
|
</buttongroups>
|
||||||
|
</ui>
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>432</width>
|
<width>432</width>
|
||||||
<height>286</height>
|
<height>319</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>40</x>
|
<x>40</x>
|
||||||
<y>238</y>
|
<y>262</y>
|
||||||
<width>351</width>
|
<width>351</width>
|
||||||
<height>33</height>
|
<height>33</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>10</x>
|
||||||
<y>96</y>
|
<y>120</y>
|
||||||
<width>401</width>
|
<width>401</width>
|
||||||
<height>57</height>
|
<height>57</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
<widget class="QLineEdit" name="Host">
|
<widget class="QLineEdit" name="Host">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>90</x>
|
<x>78</x>
|
||||||
<y>20</y>
|
<y>20</y>
|
||||||
<width>111</width>
|
<width>111</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
<widget class="QLineEdit" name="Port">
|
<widget class="QLineEdit" name="Port">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>330</x>
|
<x>290</x>
|
||||||
<y>21</y>
|
<y>21</y>
|
||||||
<width>47</width>
|
<width>47</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
|
@ -102,7 +102,7 @@
|
||||||
<widget class="QLabel" name="label_21">
|
<widget class="QLabel" name="label_21">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>280</x>
|
<x>222</x>
|
||||||
<y>24</y>
|
<y>24</y>
|
||||||
<width>47</width>
|
<width>47</width>
|
||||||
<height>13</height>
|
<height>13</height>
|
||||||
|
@ -139,8 +139,8 @@
|
||||||
<widget class="QGroupBox" name="groupBox_5">
|
<widget class="QGroupBox" name="groupBox_5">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>10</x>
|
||||||
<y>46</y>
|
<y>70</y>
|
||||||
<width>411</width>
|
<width>411</width>
|
||||||
<height>51</height>
|
<height>51</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -151,7 +151,7 @@
|
||||||
<widget class="QComboBox" name="SerialPort">
|
<widget class="QComboBox" name="SerialPort">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>150</x>
|
<x>138</x>
|
||||||
<y>20</y>
|
<y>20</y>
|
||||||
<width>111</width>
|
<width>111</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
<widget class="QLabel" name="label_23">
|
<widget class="QLabel" name="label_23">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>280</x>
|
<x>276</x>
|
||||||
<y>20</y>
|
<y>20</y>
|
||||||
<width>47</width>
|
<width>47</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
|
@ -187,7 +187,7 @@
|
||||||
<widget class="QLineEdit" name="Speed">
|
<widget class="QLineEdit" name="Speed">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>335</x>
|
<x>328</x>
|
||||||
<y>21</y>
|
<y>21</y>
|
||||||
<width>51</width>
|
<width>51</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
|
@ -201,9 +201,9 @@
|
||||||
<widget class="QLabel" name="label_14">
|
<widget class="QLabel" name="label_14">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>10</x>
|
<x>12</x>
|
||||||
<y>12</y>
|
<y>12</y>
|
||||||
<width>161</width>
|
<width>149</width>
|
||||||
<height>21</height>
|
<height>21</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
<widget class="QCheckBox" name="KISSEnable">
|
<widget class="QCheckBox" name="KISSEnable">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>150</x>
|
<x>158</x>
|
||||||
<y>10</y>
|
<y>10</y>
|
||||||
<width>23</width>
|
<width>23</width>
|
||||||
<height>25</height>
|
<height>25</height>
|
||||||
|
@ -230,7 +230,7 @@
|
||||||
<widget class="QLabel" name="label_22">
|
<widget class="QLabel" name="label_22">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>230</x>
|
<x>214</x>
|
||||||
<y>13</y>
|
<y>13</y>
|
||||||
<width>61</width>
|
<width>61</width>
|
||||||
<height>17</height>
|
<height>17</height>
|
||||||
|
@ -243,7 +243,7 @@
|
||||||
<widget class="QLineEdit" name="MYCALL">
|
<widget class="QLineEdit" name="MYCALL">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>300</x>
|
<x>286</x>
|
||||||
<y>10</y>
|
<y>10</y>
|
||||||
<width>91</width>
|
<width>91</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
|
@ -254,7 +254,7 @@
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>25</x>
|
<x>25</x>
|
||||||
<y>168</y>
|
<y>192</y>
|
||||||
<width>47</width>
|
<width>47</width>
|
||||||
<height>13</height>
|
<height>13</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -266,8 +266,8 @@
|
||||||
<widget class="QLineEdit" name="Paclen">
|
<widget class="QLineEdit" name="Paclen">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>100</x>
|
<x>98</x>
|
||||||
<y>165</y>
|
<y>189</y>
|
||||||
<width>47</width>
|
<width>47</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -276,8 +276,8 @@
|
||||||
<widget class="QLabel" name="label_26">
|
<widget class="QLabel" name="label_26">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>265</x>
|
<x>213</x>
|
||||||
<y>168</y>
|
<y>192</y>
|
||||||
<width>66</width>
|
<width>66</width>
|
||||||
<height>16</height>
|
<height>16</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -289,8 +289,8 @@
|
||||||
<widget class="QLineEdit" name="Maxframe">
|
<widget class="QLineEdit" name="Maxframe">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>340</x>
|
<x>288</x>
|
||||||
<y>165</y>
|
<y>189</y>
|
||||||
<width>47</width>
|
<width>47</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -300,7 +300,7 @@
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>25</x>
|
<x>25</x>
|
||||||
<y>202</y>
|
<y>226</y>
|
||||||
<width>47</width>
|
<width>47</width>
|
||||||
<height>13</height>
|
<height>13</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -312,8 +312,8 @@
|
||||||
<widget class="QLineEdit" name="Frack">
|
<widget class="QLineEdit" name="Frack">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>100</x>
|
<x>98</x>
|
||||||
<y>199</y>
|
<y>223</y>
|
||||||
<width>36</width>
|
<width>36</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -322,8 +322,8 @@
|
||||||
<widget class="QLabel" name="label_28">
|
<widget class="QLabel" name="label_28">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>265</x>
|
<x>213</x>
|
||||||
<y>201</y>
|
<y>225</y>
|
||||||
<width>47</width>
|
<width>47</width>
|
||||||
<height>13</height>
|
<height>13</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -335,13 +335,42 @@
|
||||||
<widget class="QLineEdit" name="Retries">
|
<widget class="QLineEdit" name="Retries">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>340</x>
|
<x>288</x>
|
||||||
<y>198</y>
|
<y>222</y>
|
||||||
<width>36</width>
|
<width>36</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_15">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>12</x>
|
||||||
|
<y>38</y>
|
||||||
|
<width>149</width>
|
||||||
|
<height>21</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Allow incoming connects</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QCheckBox" name="KISSListen">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>158</x>
|
||||||
|
<y>38</y>
|
||||||
|
<width>23</width>
|
||||||
|
<height>21</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="layoutDirection">
|
||||||
|
<enum>Qt::RightToLeft</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections>
|
<connections>
|
||||||
|
|
Binary file not shown.
904
QtTermTCP.cpp
904
QtTermTCP.cpp
File diff suppressed because it is too large
Load Diff
42
QtTermTCP.h
42
QtTermTCP.h
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include "ui_QtTermTCP.h"
|
#include "ui_QtTermTCP.h"
|
||||||
//#include "ui_AGWParams.h"
|
#include "ui_AlertSetup.h"
|
||||||
//#include "ui_AGWConnect.h"
|
#include "ui_YAPPRxSize.h"
|
||||||
#include "ui_ColourConfig.h"
|
#include "ui_ColourConfig.h"
|
||||||
#include "ui_VARAConfig.h"
|
#include "ui_VARAConfig.h"
|
||||||
#include "ui_KISSConfig.h"
|
#include "ui_KISSConfig.h"
|
||||||
|
@ -28,6 +28,8 @@
|
||||||
#include <QMenuBar>
|
#include <QMenuBar>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include <QtSerialPort/QSerialPort>
|
#include <QtSerialPort/QSerialPort>
|
||||||
|
#include <QtMultimedia/QSound>
|
||||||
|
#include <QtMultimedia/QSoundEffect>
|
||||||
|
|
||||||
#define MAXHOSTS 16
|
#define MAXHOSTS 16
|
||||||
#define MAXPORTS 64
|
#define MAXPORTS 64
|
||||||
|
@ -83,8 +85,10 @@ public:
|
||||||
int MonSaveLen;
|
int MonSaveLen;
|
||||||
char MonSave[4096];
|
char MonSave[4096];
|
||||||
|
|
||||||
char PortMonString[1024]; // 32 ports 32 Bytes
|
char PortMonString[2048]; // 64 ports 32 Bytes
|
||||||
unsigned long long portmask;
|
uint64_t portmask;
|
||||||
|
int EnableMonitor;
|
||||||
|
int mlocaltime;
|
||||||
int mtxparam;
|
int mtxparam;
|
||||||
int mcomparam;
|
int mcomparam;
|
||||||
int monUI;
|
int monUI;
|
||||||
|
@ -109,6 +113,11 @@ public:
|
||||||
char pageBuffer[4096];
|
char pageBuffer[4096];
|
||||||
QBasicTimer timer;
|
QBasicTimer timer;
|
||||||
|
|
||||||
|
int sessNo; // Used to create unique log filename;
|
||||||
|
bool LogMonitor;
|
||||||
|
QFile * monLogfile;
|
||||||
|
char * monSpan;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void timerEvent(QTimerEvent *event) override;
|
void timerEvent(QTimerEvent *event) override;
|
||||||
|
@ -130,17 +139,22 @@ public:
|
||||||
QtTermTCP(QWidget *parent = NULL);
|
QtTermTCP(QWidget *parent = NULL);
|
||||||
void closeEvent(QCloseEvent * event);
|
void closeEvent(QCloseEvent * event);
|
||||||
static void setFonts();
|
static void setFonts();
|
||||||
|
|
||||||
~QtTermTCP();
|
~QtTermTCP();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void Disconnect();
|
void Disconnect();
|
||||||
void doYAPPSend();
|
void doYAPPSend();
|
||||||
void doYAPPSetRX();
|
void doYAPPSetRX();
|
||||||
|
void doYAPPSetSize();
|
||||||
|
void sizeaccept();
|
||||||
|
void sizereject();
|
||||||
void menuChecked();
|
void menuChecked();
|
||||||
void Connect();
|
void Connect();
|
||||||
void displayError(QAbstractSocket::SocketError socketError);
|
void displayError(QAbstractSocket::SocketError socketError);
|
||||||
void readyRead();
|
void readyRead();
|
||||||
|
void showContextMenu(const QPoint & point);
|
||||||
|
void autoConnectChecked();
|
||||||
void LreturnPressed(Ui_ListenSession * LUI);
|
void LreturnPressed(Ui_ListenSession * LUI);
|
||||||
void LDisconnect(Ui_ListenSession * LUI);
|
void LDisconnect(Ui_ListenSession * LUI);
|
||||||
void SetupHosts();
|
void SetupHosts();
|
||||||
|
@ -148,6 +162,17 @@ private slots:
|
||||||
void KISSTimerSlot();
|
void KISSTimerSlot();
|
||||||
void ListenSlot();
|
void ListenSlot();
|
||||||
void AGWSlot();
|
void AGWSlot();
|
||||||
|
void AlertSlot();
|
||||||
|
void chooseInboundWAV();
|
||||||
|
void chooseBellsWAV();
|
||||||
|
void chooseIntervalWAV();
|
||||||
|
void chooseAlertWAV();
|
||||||
|
void testInboundWAV();
|
||||||
|
void testBellsWAV();
|
||||||
|
void testIntervalWAV();
|
||||||
|
void testAlertWAV();
|
||||||
|
void alertAccept();
|
||||||
|
void alertReject();
|
||||||
void VARASlot();
|
void VARASlot();
|
||||||
void KISSSlot();
|
void KISSSlot();
|
||||||
void deviceaccept();
|
void deviceaccept();
|
||||||
|
@ -244,6 +269,7 @@ private:
|
||||||
QAction *AGWAction;
|
QAction *AGWAction;
|
||||||
QAction *VARAAction;
|
QAction *VARAAction;
|
||||||
QAction *KISSAction;
|
QAction *KISSAction;
|
||||||
|
QAction *AlertAction;
|
||||||
QAction *quitAction;
|
QAction *quitAction;
|
||||||
|
|
||||||
QList<myTcpSocket*> _sockets;
|
QList<myTcpSocket*> _sockets;
|
||||||
|
@ -265,15 +291,19 @@ extern "C"
|
||||||
void setTraceOff(Ui_ListenSession * Sess);
|
void setTraceOff(Ui_ListenSession * Sess);
|
||||||
void SetPortMonLine(int i, char * Text, int visible, int enabled);
|
void SetPortMonLine(int i, char * Text, int visible, int enabled);
|
||||||
void SaveSettings();
|
void SaveSettings();
|
||||||
void myBeep();
|
void myBeep(QString * WAV);
|
||||||
void YAPPSendFile(Ui_ListenSession * Sess, char * FN);
|
void YAPPSendFile(Ui_ListenSession * Sess, char * FN);
|
||||||
int SocketSend(Ui_ListenSession * Sess, char * Buffer, int len);
|
int SocketSend(Ui_ListenSession * Sess, char * Buffer, int len);
|
||||||
void SendTraceOptions(Ui_ListenSession * Sess);
|
void SendTraceOptions(Ui_ListenSession * Sess);
|
||||||
int SocketFlush(Ui_ListenSession * Sess);
|
int SocketFlush(Ui_ListenSession * Sess);
|
||||||
extern void mySleep(int ms);
|
extern void mySleep(int ms);
|
||||||
extern void setTraceOff(Ui_ListenSession * Sess);
|
extern void setTraceOff(Ui_ListenSession * Sess);
|
||||||
|
void GetKeyWordFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern QString ConnectWAV;
|
||||||
|
extern QString BellWAV;
|
||||||
|
extern QString AlertWAV;
|
||||||
|
|
||||||
char * strlop(char * buf, char delim);
|
char * strlop(char * buf, char delim);
|
||||||
extern "C" void setMenus(int State);
|
extern "C" void setMenus(int State);
|
||||||
|
|
Binary file not shown.
121
QtTermTCP.ini
121
QtTermTCP.ini
|
@ -1,121 +0,0 @@
|
||||||
[General]
|
|
||||||
HostParams0=nottm.g8bpq.net|8011|gm8bpq|password|5 1 1 0 1 0 0 1\r|Pogo4
|
|
||||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\xea\0\0\0\xaf\0\0\x3\xf6\0\0\x3h\0\0\0\xea\0\0\0\xaf\0\0\x3\xf6\0\0\x3h\0\0\0\0\0\0\0\0\a\x80\0\0\0\xea\0\0\0\xaf\0\0\x3\xf6\0\0\x3h)
|
|
||||||
HostParams1=192.168.1.63|8011|john|password||Pogo2
|
|
||||||
windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\x3\r\0\0\x2\x8c\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x3\0\0\0\x1\0\0\0\x16\0m\0\x61\0i\0n\0T\0o\0o\0l\0\x62\0\x61\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
|
|
||||||
HostParams2=127.0.0.1|8011|gm8bpq|password|c000000100000000 1 1 0 1 0 0 1\r|
|
|
||||||
HostParams3=192.168.1.131|8011|john|password|1 1 1 0 1 0 0 1\r|Slack
|
|
||||||
HostParams4=127.0.0.1|8021|john|password|c000000100000006 1 1 0 1 0 0 1\r|LinBPQ
|
|
||||||
HostParams5=192.168.1.18|8011|john|password|c00000010000002e 1 1 0 1 0 0 1\r|
|
|
||||||
HostParams6=|0||||
|
|
||||||
HostParams7=|0||||
|
|
||||||
HostParams8=|0||||
|
|
||||||
HostParams9=|0||||
|
|
||||||
HostParams10=|0||||
|
|
||||||
HostParams11=|0||||
|
|
||||||
HostParams12=|0||||
|
|
||||||
HostParams13=|0||||
|
|
||||||
HostParams14=|0||||
|
|
||||||
HostParams15=|0||||
|
|
||||||
Split=41
|
|
||||||
ChatMode=1
|
|
||||||
AutoTeletext=1
|
|
||||||
Bells=1
|
|
||||||
StripLF=1
|
|
||||||
AlertBeep=1
|
|
||||||
ConnectBeep=1
|
|
||||||
CurrentHost=0
|
|
||||||
YAPPPath=
|
|
||||||
listenPort=8015
|
|
||||||
listenEnable=1
|
|
||||||
listenCText=[PMS-2.3-C]\rHello>\r
|
|
||||||
convUTF8=0
|
|
||||||
PTT=None
|
|
||||||
PTTBAUD=0
|
|
||||||
PTTMode=1
|
|
||||||
CATHex=1
|
|
||||||
PTTOffString=
|
|
||||||
PTTOnString=
|
|
||||||
pttGPIOPin=17
|
|
||||||
pttGPIOPinR=17
|
|
||||||
CM108Addr=0xD8C:0x08
|
|
||||||
HamLibPort=4532
|
|
||||||
HamLibHost=127.0.0.1
|
|
||||||
FLRigPort=12345
|
|
||||||
FLRigHost=127.0.0.1
|
|
||||||
AGWEnable=0
|
|
||||||
AGWMonEnable=1
|
|
||||||
AGWTermCall=G8BPQ
|
|
||||||
AGWBeaconDest=
|
|
||||||
AGWBeaconPath=
|
|
||||||
AGWBeaconInterval=0
|
|
||||||
AGWBeaconPorts=
|
|
||||||
AGWBeaconText=
|
|
||||||
AGWHost=127.0.0.1
|
|
||||||
AGWPort=8001
|
|
||||||
AGWPaclen=80
|
|
||||||
AGWToCalls=G8BPQ-2, SWITCH,
|
|
||||||
KISSEnable=0
|
|
||||||
MYCALL=GM8BPQ
|
|
||||||
KISSHost=127.0.0.1
|
|
||||||
KISSMode=0
|
|
||||||
KISSPort=8110
|
|
||||||
KISSSerialPort=TCP
|
|
||||||
KISSBAUD=19200
|
|
||||||
VARAEnable=0
|
|
||||||
VARATermCall=G8BPQ
|
|
||||||
VARAHost=127.0.0.1
|
|
||||||
VARAPort=8310
|
|
||||||
VARAPath=C:\\VARA\\VARA.exe
|
|
||||||
VARAHostHF=127.0.0.1
|
|
||||||
VARAPortHF=8310
|
|
||||||
VARAPathHF=C:\\VARA\\VARA.exe
|
|
||||||
VARAHostFM=127.0.0.1
|
|
||||||
VARAPortFM=8300
|
|
||||||
VARAPathFM=C:\\VARA\\VARAFM.exe
|
|
||||||
VARAHostSAT=127.0.0.1
|
|
||||||
VARAPortSAT=8300
|
|
||||||
VARAPathSAT=C:\\VARA\\VARASAT.exe
|
|
||||||
VARA500=0
|
|
||||||
VARA2300=1
|
|
||||||
VARA2750=0
|
|
||||||
VARAHF=1
|
|
||||||
VARAFM=0
|
|
||||||
VARASAT=0
|
|
||||||
TabType=1 3 1 1 1 1 1 2 2 0
|
|
||||||
monBackground=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0)
|
|
||||||
monRxText=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\xff\xff\0\0)
|
|
||||||
monTxText=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\0\0\0\0\0\0)
|
|
||||||
monOtherText=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)
|
|
||||||
termBackground=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0)
|
|
||||||
outputText=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\xff\xff\0\0)
|
|
||||||
EchoText=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)
|
|
||||||
WarningText=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\0\0\0\0\0\0)
|
|
||||||
inputBackground=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0)
|
|
||||||
inputText=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)
|
|
||||||
TermMode=2
|
|
||||||
singlemodeFormat=3
|
|
||||||
FontFamily=Courier
|
|
||||||
PointSize=10
|
|
||||||
Weight=50
|
|
||||||
Sessions="1|1, 17, 40, 205, 625, 990|"
|
|
||||||
VARAInit="P2P SESSION,WINLINK SESSION"
|
|
||||||
|
|
||||||
[AX25_A]
|
|
||||||
Retries=10
|
|
||||||
Maxframe=4
|
|
||||||
Paclen=128
|
|
||||||
FrackTime=8
|
|
||||||
IdleTime=180
|
|
||||||
SlotTime=100
|
|
||||||
Persist=128
|
|
||||||
RespTime=1500
|
|
||||||
TXFrmMode=1
|
|
||||||
FrameCollector=6
|
|
||||||
ExcludeCallsigns=
|
|
||||||
ExcludeAPRSFrmType=
|
|
||||||
KISSOptimization=0
|
|
||||||
DynamicFrack=0
|
|
||||||
BitRecovery=0
|
|
||||||
IPOLL=80
|
|
||||||
MyDigiCall=
|
|
|
@ -3,6 +3,7 @@ QT += core gui
|
||||||
QT += network
|
QT += network
|
||||||
QT += widgets
|
QT += widgets
|
||||||
QT += serialport
|
QT += serialport
|
||||||
|
QT += multimedia
|
||||||
|
|
||||||
|
|
||||||
TARGET = QtTermTCP
|
TARGET = QtTermTCP
|
||||||
|
@ -40,7 +41,9 @@ FORMS += QtTermTCP.ui\
|
||||||
VARAConfig.ui \
|
VARAConfig.ui \
|
||||||
KISSConfig.ui \
|
KISSConfig.ui \
|
||||||
ColourConfig.ui \
|
ColourConfig.ui \
|
||||||
AGWConnect.ui
|
YAPPRxSize.ui \
|
||||||
|
AGWConnect.ui \
|
||||||
|
AlertSetup.ui
|
||||||
|
|
||||||
RESOURCES += QtTermTCP.qrc
|
RESOURCES += QtTermTCP.qrc
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
<RCC>
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
<qresource prefix="/QtTermTCP">
|
<qresource>
|
||||||
|
<file alias="LowTone">250x600Hz.wav</file>
|
||||||
|
<file alias="HighTone">250x1000Hz.wav</file>
|
||||||
|
<file alias="Ding">ding.wav</file>
|
||||||
|
<file alias="PCBeep">PCBeep.wav</file>
|
||||||
|
<file alias="Ring">Ring.wav</file>
|
||||||
<file>QtTermTCP.ico</file>
|
<file>QtTermTCP.ico</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
<ProjectGuid>{14F3B24E-473C-324E-A99D-3B679FCF5F67}</ProjectGuid>
|
<ProjectGuid>{14F3B24E-473C-324E-A99D-3B679FCF5F67}</ProjectGuid>
|
||||||
<RootNamespace>QtTermTCP</RootNamespace>
|
<RootNamespace>QtTermTCP</RootNamespace>
|
||||||
<Keyword>QtVS_v304</Keyword>
|
<Keyword>QtVS_v304</Keyword>
|
||||||
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||||
<WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion>
|
<WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion>
|
||||||
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
|
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -153,7 +153,7 @@
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>shell32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>shell32.lib;setupapi.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017\lib\Qt5Multimedia.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<AdditionalOptions>-no-pie "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>-no-pie "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
|
||||||
<DataExecutionPrevention>true</DataExecutionPrevention>
|
<DataExecutionPrevention>true</DataExecutionPrevention>
|
||||||
|
@ -279,7 +279,7 @@
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>shell32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>shell32.lib;setupapi.lib;%(AdditionalDependencies);C:\Qt\Qt5.14.2\5.14.2\msvc2017\lib\Qt5Multimediad.lib</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<AdditionalOptions>-no-pie "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>-no-pie "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
|
||||||
<DataExecutionPrevention>true</DataExecutionPrevention>
|
<DataExecutionPrevention>true</DataExecutionPrevention>
|
||||||
|
@ -435,6 +435,7 @@
|
||||||
</QtUic>
|
</QtUic>
|
||||||
<QtUic Include="AGWParams.ui">
|
<QtUic Include="AGWParams.ui">
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
<QtUic Include="AlertSetup.ui" />
|
||||||
<QtUic Include="ColourConfig.ui" />
|
<QtUic Include="ColourConfig.ui" />
|
||||||
<QtUic Include="KISSConfig.ui">
|
<QtUic Include="KISSConfig.ui">
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
@ -444,6 +445,7 @@
|
||||||
</QtUic>
|
</QtUic>
|
||||||
<QtUic Include="VARAConfig.ui">
|
<QtUic Include="VARAConfig.ui">
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
<QtUic Include="YAPPRxSize.ui" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="QtTermTCP.ico" />
|
<None Include="QtTermTCP.ico" />
|
||||||
|
|
|
@ -15,36 +15,36 @@
|
||||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||||
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
|
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Generated Files">
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||||
|
<Extensions>qrc;*</Extensions>
|
||||||
|
<ParseFiles>false</ParseFiles>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||||
|
<Extensions>qrc;*</Extensions>
|
||||||
|
<ParseFiles>false</ParseFiles>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Form Files\Generated Files">
|
||||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||||
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
|
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Header Files">
|
|
||||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
|
||||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files">
|
|
||||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
|
||||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Resource Files">
|
|
||||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
|
||||||
<Extensions>qrc;*</Extensions>
|
|
||||||
<ParseFiles>false</ParseFiles>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Resource Files">
|
|
||||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
|
||||||
<Extensions>qrc;*</Extensions>
|
|
||||||
<ParseFiles>false</ParseFiles>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files">
|
|
||||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
|
||||||
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files">
|
|
||||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
|
||||||
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="AGWCode.cpp">
|
<ClCompile Include="AGWCode.cpp">
|
||||||
|
@ -83,30 +83,21 @@
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
<QtMoc Include="TabDialog.h">
|
<QtMoc Include="TabDialog.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Form Files\Generated Files</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuild Include="debug\moc_predefs.h.cbt">
|
<CustomBuild Include="debug\moc_predefs.h.cbt">
|
||||||
<Filter>Generated Files</Filter>
|
<Filter>Form Files\Generated Files</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
<CustomBuild Include="release\moc_predefs.h.cbt">
|
<CustomBuild Include="release\moc_predefs.h.cbt">
|
||||||
<Filter>Generated Files</Filter>
|
<Filter>Form Files\Generated Files</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtUic Include="AGWConnect.ui">
|
|
||||||
<Filter>Form Files</Filter>
|
|
||||||
</QtUic>
|
|
||||||
<QtUic Include="AGWParams.ui">
|
<QtUic Include="AGWParams.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
<QtUic Include="KISSConfig.ui">
|
|
||||||
<Filter>Form Files</Filter>
|
|
||||||
</QtUic>
|
|
||||||
<QtUic Include="ListenPort.ui">
|
|
||||||
<Filter>Form Files</Filter>
|
|
||||||
</QtUic>
|
|
||||||
<QtUic Include="QtTermTCP.ui">
|
<QtUic Include="QtTermTCP.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
@ -116,6 +107,21 @@
|
||||||
<QtUic Include="ColourConfig.ui">
|
<QtUic Include="ColourConfig.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
|
<QtUic Include="YAPPRxSize.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
|
<QtUic Include="AGWConnect.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
|
<QtUic Include="ListenPort.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
|
<QtUic Include="KISSConfig.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
|
<QtUic Include="AlertSetup.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="QtTermTCP.ico">
|
<None Include="QtTermTCP.ico">
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup />
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LocalDebuggerWorkingDirectory>$(APPDATA)</LocalDebuggerWorkingDirectory>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LocalDebuggerWorkingDirectory>..\..\..\..\..\DevProgs\BPQ32</LocalDebuggerWorkingDirectory>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<QtLastBackgroundBuild>2022-05-19T07:28:47.9186341Z</QtLastBackgroundBuild>
|
<QtLastBackgroundBuild>2022-05-19T07:28:47.9186341Z</QtLastBackgroundBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -8,15 +15,15 @@
|
||||||
<QtLastBackgroundBuild>2022-05-19T07:28:58.9302359Z</QtLastBackgroundBuild>
|
<QtLastBackgroundBuild>2022-05-19T07:28:58.9302359Z</QtLastBackgroundBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<QtLastBackgroundBuild>2023-04-12T13:14:53.1644359Z</QtLastBackgroundBuild>
|
<QtLastBackgroundBuild>2023-10-14T13:14:56.5532991Z</QtLastBackgroundBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings">
|
||||||
<QtLastBackgroundBuild>2023-02-08T10:47:28.1396474Z</QtLastBackgroundBuild>
|
<QtLastBackgroundBuild>2023-10-14T13:14:56.7231497Z</QtLastBackgroundBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<QtLastBackgroundBuild>2023-03-06T08:27:08.3742630Z</QtLastBackgroundBuild>
|
<QtLastBackgroundBuild>2023-10-14T13:14:55.9367569Z</QtLastBackgroundBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="QtSettings">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="QtSettings">
|
||||||
<QtLastBackgroundBuild>2023-02-08T10:47:27.7430420Z</QtLastBackgroundBuild>
|
<QtLastBackgroundBuild>2023-10-14T13:14:56.2561805Z</QtLastBackgroundBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
BIN
QtTermTCP52.zip
BIN
QtTermTCP52.zip
Binary file not shown.
|
@ -264,6 +264,22 @@ void AGWConnect::myaccept()
|
||||||
strcpy(CallTo, wCallTo->currentText().toUpper().toUtf8());
|
strcpy(CallTo, wCallTo->currentText().toUpper().toUtf8());
|
||||||
strcpy(Via, Digis->text().toUpper().toUtf8());
|
strcpy(Via, Digis->text().toUpper().toUtf8());
|
||||||
|
|
||||||
|
if (CallFrom[0] == 0)
|
||||||
|
{
|
||||||
|
QMessageBox msgBox;
|
||||||
|
msgBox.setText("Call From missing");
|
||||||
|
msgBox.exec();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CallTo[0] == 0)
|
||||||
|
{
|
||||||
|
QMessageBox msgBox;
|
||||||
|
msgBox.setText("Call To missing");
|
||||||
|
msgBox.exec();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// if digis have to form block with byte count followed by n 10 byte calls
|
// if digis have to form block with byte count followed by n 10 byte calls
|
||||||
|
|
||||||
if (Via[0])
|
if (Via[0])
|
||||||
|
|
|
@ -38,7 +38,6 @@ void DecodeTeleText(Ui_ListenSession * Sess, char * page);
|
||||||
|
|
||||||
int Bells = TRUE;
|
int Bells = TRUE;
|
||||||
int StripLF = FALSE;
|
int StripLF = FALSE;
|
||||||
int LogMonitor = FALSE;
|
|
||||||
int LogOutput = FALSE;
|
int LogOutput = FALSE;
|
||||||
int SendDisconnected = TRUE;
|
int SendDisconnected = TRUE;
|
||||||
int ChatMode = TRUE;
|
int ChatMode = TRUE;
|
||||||
|
@ -56,12 +55,12 @@ TCHAR AlertFileName[256] = { 0 };
|
||||||
int ConnectBeep = TRUE;
|
int ConnectBeep = TRUE;
|
||||||
int UseKeywords = TRUE;
|
int UseKeywords = TRUE;
|
||||||
|
|
||||||
char KeyWordsName[MAX_PATH] = "Keywords.sys";
|
QString KeyWordsFile = "Keywords.sys";
|
||||||
|
|
||||||
char ** KeyWords = NULL;
|
char ** KeyWords = NULL;
|
||||||
int NumberofKeyWords = 0;
|
int NumberofKeyWords = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// YAPP stuff
|
// YAPP stuff
|
||||||
|
|
||||||
#define SOH 1
|
#define SOH 1
|
||||||
|
@ -112,6 +111,96 @@ char * strlop(char * buf, char delim)
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
|
||||||
|
char * strcasestr(char *ch1, char *ch2)
|
||||||
|
{
|
||||||
|
char *chN1, *chN2;
|
||||||
|
char *chNdx;
|
||||||
|
char *chRet = NULL;
|
||||||
|
|
||||||
|
chN1 = _strdup(ch1);
|
||||||
|
chN2 = _strdup(ch2);
|
||||||
|
|
||||||
|
if (chN1 && chN2)
|
||||||
|
{
|
||||||
|
chNdx = chN1;
|
||||||
|
while (*chNdx)
|
||||||
|
{
|
||||||
|
*chNdx = (char)tolower(*chNdx);
|
||||||
|
chNdx++;
|
||||||
|
}
|
||||||
|
chNdx = chN2;
|
||||||
|
|
||||||
|
while (*chNdx)
|
||||||
|
{
|
||||||
|
*chNdx = (char)tolower(*chNdx);
|
||||||
|
chNdx++;
|
||||||
|
}
|
||||||
|
|
||||||
|
chNdx = strstr(chN1, chN2);
|
||||||
|
|
||||||
|
if (chNdx)
|
||||||
|
chRet = ch1 + (chNdx - chN1);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(chN1);
|
||||||
|
free(chN2);
|
||||||
|
return chRet;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void GetKeyWordFile()
|
||||||
|
{
|
||||||
|
DWORD FileSize;
|
||||||
|
char * ptr1, *ptr2;
|
||||||
|
char * KeyWordFile;
|
||||||
|
|
||||||
|
QFile file(KeyWordsFile);
|
||||||
|
|
||||||
|
if (!file.open(QIODevice::ReadOnly))
|
||||||
|
{
|
||||||
|
if (UseKeywords) // Don't need to alert if not being used
|
||||||
|
{
|
||||||
|
QMessageBox msgBox;
|
||||||
|
msgBox.setText("Keyword File " + KeyWordsFile + " not found");
|
||||||
|
msgBox.exec();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
FileSize = file.size();
|
||||||
|
|
||||||
|
KeyWordFile = (char *)malloc(FileSize + 1);
|
||||||
|
|
||||||
|
file.read(KeyWordFile, FileSize);
|
||||||
|
|
||||||
|
file.close();
|
||||||
|
|
||||||
|
KeyWordFile[FileSize] = 0;
|
||||||
|
|
||||||
|
ptr1 = KeyWordFile;
|
||||||
|
|
||||||
|
while (ptr1)
|
||||||
|
{
|
||||||
|
if (*ptr1 == '\n') ptr1++;
|
||||||
|
|
||||||
|
ptr2 = strtok_s(NULL, "\r\n", &ptr1);
|
||||||
|
if (ptr2)
|
||||||
|
{
|
||||||
|
if (*ptr2 != '#')
|
||||||
|
{
|
||||||
|
KeyWords = (char **)realloc(KeyWords, (++NumberofKeyWords + 1) * 4);
|
||||||
|
KeyWords[NumberofKeyWords] = ptr2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int CheckKeyWord(char * Word, char * Msg)
|
int CheckKeyWord(char * Word, char * Msg)
|
||||||
{
|
{
|
||||||
char * ptr1 = Msg, *ptr2;
|
char * ptr1 = Msg, *ptr2;
|
||||||
|
@ -119,7 +208,7 @@ int CheckKeyWord(char * Word, char * Msg)
|
||||||
|
|
||||||
while (*ptr1) // Stop at end
|
while (*ptr1) // Stop at end
|
||||||
{
|
{
|
||||||
ptr2 = strstr(ptr1, Word);
|
ptr2 = strcasestr(ptr1, Word);
|
||||||
|
|
||||||
if (ptr2 == NULL)
|
if (ptr2 == NULL)
|
||||||
return FALSE; // OK
|
return FALSE; // OK
|
||||||
|
@ -140,25 +229,29 @@ int CheckKeyWord(char * Word, char * Msg)
|
||||||
|
|
||||||
int CheckKeyWords(UCHAR * Msg, int len)
|
int CheckKeyWords(UCHAR * Msg, int len)
|
||||||
{
|
{
|
||||||
char dupMsg[2048];
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (UseKeywords == 0 || NumberofKeyWords == 0)
|
if (UseKeywords == 0 || NumberofKeyWords == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
memcpy(dupMsg, Msg, len);
|
// we need to null terminate Msg, so create a copy
|
||||||
dupMsg[len] = 0;
|
|
||||||
//_strlwr(dupMsg);
|
unsigned char * copy = (unsigned char *)malloc(len + 1);
|
||||||
|
|
||||||
|
memcpy(copy, Msg, len);
|
||||||
|
copy[len] = 0;
|
||||||
|
|
||||||
for (i = 1; i <= NumberofKeyWords; i++)
|
for (i = 1; i <= NumberofKeyWords; i++)
|
||||||
{
|
{
|
||||||
if (CheckKeyWord(KeyWords[i], dupMsg))
|
if (CheckKeyWord(KeyWords[i], (char *)copy))
|
||||||
{
|
{
|
||||||
// Beep(660, 250);
|
myBeep(&AlertWAV);
|
||||||
|
free (copy);
|
||||||
return TRUE; // Alert
|
return TRUE; // Alert
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
free(copy);
|
||||||
return FALSE; // OK
|
return FALSE; // OK
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -316,13 +409,13 @@ MonLoop:
|
||||||
|
|
||||||
// Save for changes of Window
|
// Save for changes of Window
|
||||||
|
|
||||||
if (len < 1024)
|
if (len < 2048)
|
||||||
memcpy(Sess->PortMonString, ptr, len);
|
memcpy(Sess->PortMonString, ptr, len);
|
||||||
|
|
||||||
|
|
||||||
// Remove old menu
|
// Remove old menu
|
||||||
|
|
||||||
for (i = 0; i < 33; i++)
|
for (i = 0; i < 65; i++)
|
||||||
{
|
{
|
||||||
SetPortMonLine(i, (char *)"", 0, 0);
|
SetPortMonLine(i, (char *)"", 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -339,7 +432,7 @@ MonLoop:
|
||||||
sprintf(msg, "Port %s", p);
|
sprintf(msg, "Port %s", p);
|
||||||
|
|
||||||
if (m == 0)
|
if (m == 0)
|
||||||
m = 33;
|
m = 64;
|
||||||
|
|
||||||
if (Sess->portmask & (1ll << (m - 1)))
|
if (Sess->portmask & (1ll << (m - 1)))
|
||||||
SetPortMonLine(portnum, msg, 1, 1);
|
SetPortMonLine(portnum, msg, 1, 1);
|
||||||
|
@ -563,7 +656,7 @@ int InnerProcessYAPPMessage(Ui_ListenSession * Sess, UCHAR * Msg, int Len)
|
||||||
{
|
{
|
||||||
Mess[0] = NAK;
|
Mess[0] = NAK;
|
||||||
Mess[1] = sprintf(&Mess[2], "File %s size %d larger than limit %d\r", ARQFilename, FileSize, MaxRXSize);
|
Mess[1] = sprintf(&Mess[2], "File %s size %d larger than limit %d\r", ARQFilename, FileSize, MaxRXSize);
|
||||||
mySleep(1000); // To give YAPP Msg tome to be sent
|
mySleep(1000); // To give YAPP Msg time to be sent
|
||||||
QueueMsg(Sess, Mess, Mess[1] + 2);
|
QueueMsg(Sess, Mess, Mess[1] + 2);
|
||||||
|
|
||||||
len = sprintf((char *)Buffer, "YAPP File %s size %d larger than limit %d\r", ARQFilename, FileSize, MaxRXSize);
|
len = sprintf((char *)Buffer, "YAPP File %s size %d larger than limit %d\r", ARQFilename, FileSize, MaxRXSize);
|
||||||
|
@ -871,6 +964,8 @@ int InnerProcessYAPPMessage(Ui_ListenSession * Sess, UCHAR * Msg, int Len)
|
||||||
|
|
||||||
YAPPDate = 0; // Switch to Normal (No Checksum) Mode
|
YAPPDate = 0; // Switch to Normal (No Checksum) Mode
|
||||||
|
|
||||||
|
// Drop through
|
||||||
|
|
||||||
case 6: // Send using YAPPC
|
case 6: // Send using YAPPC
|
||||||
|
|
||||||
// Start sending message
|
// Start sending message
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>TeleTextDialog</class>
|
<class>SizeDialog</class>
|
||||||
<widget class="QDialog" name="TeleTextDialog">
|
<widget class="QDialog" name="SizeDialog">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>665</width>
|
<width>243</width>
|
||||||
<height>551</height>
|
<height>157</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -16,10 +16,10 @@
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>224</x>
|
<x>20</x>
|
||||||
<y>516</y>
|
<y>80</y>
|
||||||
<width>153</width>
|
<width>181</width>
|
||||||
<height>31</height>
|
<height>33</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout">
|
<layout class="QHBoxLayout">
|
||||||
|
@ -54,17 +54,27 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QLabel" name="Page">
|
<widget class="QLabel" name="label">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>28</x>
|
<x>20</x>
|
||||||
<y>20</y>
|
<y>30</y>
|
||||||
<width>600</width>
|
<width>81</width>
|
||||||
<height>475</height>
|
<height>20</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>TextLabel</string>
|
<string>Max RX Size</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLineEdit" name="maxSize">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>120</x>
|
||||||
|
<y>30</y>
|
||||||
|
<width>61</width>
|
||||||
|
<height>20</height>
|
||||||
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
@ -73,7 +83,7 @@
|
||||||
<connection>
|
<connection>
|
||||||
<sender>okButton</sender>
|
<sender>okButton</sender>
|
||||||
<signal>clicked()</signal>
|
<signal>clicked()</signal>
|
||||||
<receiver>TeleTextDialog</receiver>
|
<receiver>SizeDialog</receiver>
|
||||||
<slot>accept()</slot>
|
<slot>accept()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
|
@ -89,7 +99,7 @@
|
||||||
<connection>
|
<connection>
|
||||||
<sender>cancelButton</sender>
|
<sender>cancelButton</sender>
|
||||||
<signal>clicked()</signal>
|
<signal>clicked()</signal>
|
||||||
<receiver>TeleTextDialog</receiver>
|
<receiver>SizeDialog</receiver>
|
||||||
<slot>reject()</slot>
|
<slot>reject()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
37
ax25.c
37
ax25.c
|
@ -312,7 +312,7 @@ void AX25_conn(TAX25Port * AX25Sess, int snd_ch, Byte mode)
|
||||||
{
|
{
|
||||||
case MODE_OTHER:
|
case MODE_OTHER:
|
||||||
|
|
||||||
Len = sprintf(Msg, "Incomming Connection from %s\r", AX25Sess->corrcall);
|
Len = sprintf(Msg, "Incoming KISS Connection from %s\r", AX25Sess->corrcall);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODE_OUR:
|
case MODE_OUR:
|
||||||
|
@ -1405,7 +1405,7 @@ end;
|
||||||
|
|
||||||
boolean is_last_digi(Byte *path)
|
boolean is_last_digi(Byte *path)
|
||||||
{
|
{
|
||||||
int len = strlen(path);
|
int len = strlen((char *)path);
|
||||||
|
|
||||||
if (len == 14)
|
if (len == 14)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -1469,7 +1469,7 @@ boolean is_correct_path(Byte * path, Byte pid)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|
||||||
if (pid == 0 || strchr(networks, pid))
|
if (pid == 0 || strchr((char *)networks, pid))
|
||||||
{
|
{
|
||||||
// Validate calls
|
// Validate calls
|
||||||
|
|
||||||
|
@ -1678,7 +1678,7 @@ int number_digi(unsigned char * path)
|
||||||
|
|
||||||
void get_monitor_path(Byte * path, char * mycall, char * corrcall, char * digi)
|
void get_monitor_path(Byte * path, char * mycall, char * corrcall, char * digi)
|
||||||
{
|
{
|
||||||
Byte * digiptr = digi;
|
char * digiptr = digi;
|
||||||
|
|
||||||
digi[0] = 0;
|
digi[0] = 0;
|
||||||
|
|
||||||
|
@ -2622,7 +2622,7 @@ void KISS_add_stream(void * Socket)
|
||||||
|
|
||||||
KissConnections = realloc(KissConnections, (KISSConCount + 1) * sizeof(void *));
|
KissConnections = realloc(KissConnections, (KISSConCount + 1) * sizeof(void *));
|
||||||
|
|
||||||
KISS = KissConnections[KISSConCount++] = malloc(sizeof(KISS));
|
KISS = KissConnections[KISSConCount++] = malloc(sizeof(TKISSMode));
|
||||||
|
|
||||||
KISS->Socket = Socket;
|
KISS->Socket = Socket;
|
||||||
KISS->data_in = newString();
|
KISS->data_in = newString();
|
||||||
|
@ -2681,7 +2681,7 @@ TAX25Port * KISSConnectOut(void * Sess, char * CallFrom, char * CallTo, char * D
|
||||||
|
|
||||||
sprintf(path, "%s,%s", CallTo, CallFrom);
|
sprintf(path, "%s,%s", CallTo, CallFrom);
|
||||||
|
|
||||||
if (Digis)
|
if (Digis && Digis[0])
|
||||||
{
|
{
|
||||||
strcat(path, ",");
|
strcat(path, ",");
|
||||||
strcat(path, Digis);
|
strcat(path, Digis);
|
||||||
|
@ -2744,11 +2744,18 @@ TAX25Port * KISSConnectOut(void * Sess, char * CallFrom, char * CallTo, char * D
|
||||||
|
|
||||||
char ShortDT[] = "HH:MM:SS";
|
char ShortDT[] = "HH:MM:SS";
|
||||||
|
|
||||||
|
int KISSLocalTime = 0;
|
||||||
|
int KISSMonEnable = 0;
|
||||||
|
int KISSMonNodes = 0;
|
||||||
|
|
||||||
char * ShortDateTime()
|
char * ShortDateTime()
|
||||||
{
|
{
|
||||||
struct tm * tm;
|
struct tm * tm;
|
||||||
time_t NOW = time(NULL);
|
time_t NOW = time(NULL);
|
||||||
|
|
||||||
|
if (KISSLocalTime)
|
||||||
|
tm = localtime(&NOW);
|
||||||
|
else
|
||||||
tm = gmtime(&NOW);
|
tm = gmtime(&NOW);
|
||||||
|
|
||||||
sprintf(ShortDT, "%02d:%02d:%02d", tm->tm_hour, tm->tm_min, tm->tm_sec);
|
sprintf(ShortDT, "%02d:%02d:%02d", tm->tm_hour, tm->tm_min, tm->tm_sec);
|
||||||
|
@ -2756,7 +2763,6 @@ char * ShortDateTime()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char FrameData[1024] = "";
|
char FrameData[1024] = "";
|
||||||
|
|
||||||
char * frame_monitor(string * frame, char * code, int tx_stat)
|
char * frame_monitor(string * frame, char * code, int tx_stat)
|
||||||
|
@ -2769,7 +2775,6 @@ char * frame_monitor(string * frame, char * code, int tx_stat)
|
||||||
Byte _data[512] = "";
|
Byte _data[512] = "";
|
||||||
Byte * p_data = _data;
|
Byte * p_data = _data;
|
||||||
int _datalen;
|
int _datalen;
|
||||||
;
|
|
||||||
char CallFrom[10], CallTo[10], Digi[80];
|
char CallFrom[10], CallTo[10], Digi[80];
|
||||||
|
|
||||||
char TR = 'R';
|
char TR = 'R';
|
||||||
|
@ -2799,11 +2804,25 @@ char * frame_monitor(string * frame, char * code, int tx_stat)
|
||||||
else
|
else
|
||||||
decode_frame(frame->Data, frame->Length, path, data, &pid, &nr, &ns, &f_type, &f_id, &rpt, &pf, &cr);
|
decode_frame(frame->Data, frame->Length, path, data, &pid, &nr, &ns, &f_type, &f_id, &rpt, &pf, &cr);
|
||||||
|
|
||||||
|
|
||||||
datap = data->Data;
|
datap = data->Data;
|
||||||
|
|
||||||
len = data->Length;
|
len = data->Length;
|
||||||
|
|
||||||
// if (pid == 0xCF)
|
if (pid == 0xCF)
|
||||||
|
{
|
||||||
|
if (datap[0] == 255) //Nodes broadcast
|
||||||
|
{
|
||||||
|
if (KISSMonNodes == 0)
|
||||||
|
{
|
||||||
|
freeString(data);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// data = parse_NETROM(data, f_id);
|
// data = parse_NETROM(data, f_id);
|
||||||
// IP parsing
|
// IP parsing
|
||||||
// else if (pid == 0xCC)
|
// else if (pid == 0xCC)
|
||||||
|
|
11
ax25.h
11
ax25.h
|
@ -125,17 +125,6 @@ typedef struct TStringList_T
|
||||||
} TStringList;
|
} TStringList;
|
||||||
|
|
||||||
|
|
||||||
typedef struct AGWUser_t
|
|
||||||
{
|
|
||||||
void *socket;
|
|
||||||
string * data_in;
|
|
||||||
TStringList AGW_frame_buf;
|
|
||||||
boolean Monitor;
|
|
||||||
boolean Monitor_raw;
|
|
||||||
boolean reportFreqAndModem; // Can report modem and frequency to host
|
|
||||||
|
|
||||||
} AGWUser;
|
|
||||||
|
|
||||||
typedef struct TAX25Info_t
|
typedef struct TAX25Info_t
|
||||||
{
|
{
|
||||||
longint stat_s_pkt;
|
longint stat_s_pkt;
|
||||||
|
|
|
@ -25,6 +25,8 @@ along with QtSoundModem. If not, see http://www.gnu.org/licenses
|
||||||
UCHAR TimerEvent = TIMER_EVENT_OFF;
|
UCHAR TimerEvent = TIMER_EVENT_OFF;
|
||||||
extern int busy;
|
extern int busy;
|
||||||
int listenEnable;
|
int listenEnable;
|
||||||
|
int KISSListen = 1;
|
||||||
|
|
||||||
void * KISSSockCopy[4];
|
void * KISSSockCopy[4];
|
||||||
extern UCHAR axMYCALL[7] = ""; // Mycall in ax.25
|
extern UCHAR axMYCALL[7] = ""; // Mycall in ax.25
|
||||||
|
|
||||||
|
@ -1023,7 +1025,7 @@ void on_I(void * socket, TAX25Port * AX25Sess, int PID, Byte * path, string * d
|
||||||
}
|
}
|
||||||
/////////////////////////// U-FRAMES ////////////////////////////////////
|
/////////////////////////// U-FRAMES ////////////////////////////////////
|
||||||
|
|
||||||
void * ax25IncommingConnect(TAX25Port * AX25Sess);
|
void * ax25IncomingConnect(TAX25Port * AX25Sess);
|
||||||
|
|
||||||
void on_SABM(void * socket, TAX25Port * AX25Sess)
|
void on_SABM(void * socket, TAX25Port * AX25Sess)
|
||||||
{
|
{
|
||||||
|
@ -1087,7 +1089,7 @@ void on_SABM(void * socket, TAX25Port * AX25Sess)
|
||||||
|
|
||||||
add_pkt_buf(AX25Sess, make_frame(NULL, AX25Sess->Path, 0, 0, 0, U_FRM, U_UA, FALSE, SET_P, SET_R));
|
add_pkt_buf(AX25Sess, make_frame(NULL, AX25Sess->Path, 0, 0, 0, U_FRM, U_UA, FALSE, SET_P, SET_R));
|
||||||
|
|
||||||
if (ax25IncommingConnect(AX25Sess)) // Attach to Terminal
|
if (ax25IncomingConnect(AX25Sess)) // Attach to Terminal
|
||||||
AX25_conn(AX25Sess, AX25Sess->snd_ch, MODE_OTHER);
|
AX25_conn(AX25Sess, AX25Sess->snd_ch, MODE_OTHER);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -1550,7 +1552,7 @@ void analiz_frame(int snd_ch, string * frame, void * socket, boolean fecflag)
|
||||||
if (memcmp(path, axMYCALL, 7) != 0)
|
if (memcmp(path, axMYCALL, 7) != 0)
|
||||||
return; // ignore
|
return; // ignore
|
||||||
|
|
||||||
if (listenEnable == 0)
|
if (KISSListen == 0)
|
||||||
{
|
{
|
||||||
set_DM(snd_ch, path);
|
set_DM(snd_ch, path);
|
||||||
freeString(data);
|
freeString(data);
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#define _MSC_EXTENSIONS
|
||||||
|
#define _INTEGRAL_MAX_BITS 64
|
||||||
|
#define _MSC_VER 1916
|
||||||
|
#define _MSC_FULL_VER 191627043
|
||||||
|
#define _MSC_BUILD 0
|
||||||
|
#define _WIN32
|
||||||
|
#define _M_IX86 600
|
||||||
|
#define _M_IX86_FP 2
|
||||||
|
#define _CPPRTTI
|
||||||
|
#define _DEBUG
|
||||||
|
#define _MT
|
||||||
|
#define _DLL
|
15
makeit
15
makeit
|
@ -1,10 +1,11 @@
|
||||||
cp --preserve /mnt/Source/QT/QtTermTCP/*.cpp ./
|
cp --preserve /mnt/Source/QT/QtTermTCP2/*.cpp ./
|
||||||
cp --preserve /mnt/Source/QT/QtTermTCP/*.c ./
|
cp --preserve /mnt/Source/QT/QtTermTCP2/*.c ./
|
||||||
cp --preserve /mnt/Source/QT/QtTermTCP/*.h ./
|
cp --preserve /mnt/Source/QT/QtTermTCP2/*.h ./
|
||||||
cp --preserve /mnt/Source/QT/QtTermTCP/*.ui ./
|
cp --preserve /mnt/Source/QT/QtTermTCP2/*.ui ./
|
||||||
cp --preserve /mnt/Source/QT/QtTermTCP/*.pro ./
|
cp --preserve /mnt/Source/QT/QtTermTCP2/*.pro ./
|
||||||
cp --preserve /mnt/Source/QT/QtTermTCP/*.qrc ./
|
cp --preserve /mnt/Source/QT/QtTermTCP2/*.qrc ./
|
||||||
cp --preserve /mnt/Source/QT/QtTermTCP/*.ico ./
|
cp --preserve /mnt/Source/QT/QtTermTCP2/*.ico ./
|
||||||
|
cp --preserve /mnt/Source/QT/QtTermTCP2/*.wav ./
|
||||||
qmake
|
qmake
|
||||||
|
|
||||||
make -j4
|
make -j4
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
#define _MSC_EXTENSIONS
|
||||||
|
#define _INTEGRAL_MAX_BITS 64
|
||||||
|
#define _MSC_VER 1916
|
||||||
|
#define _MSC_FULL_VER 191627043
|
||||||
|
#define _MSC_BUILD 0
|
||||||
|
#define _WIN32
|
||||||
|
#define _M_IX86 600
|
||||||
|
#define _M_IX86_FP 2
|
||||||
|
#define _CPPRTTI
|
||||||
|
#define _MT
|
||||||
|
#define _DLL
|
|
@ -1,65 +0,0 @@
|
||||||
/********************************************************************************
|
|
||||||
** Form generated from reading UI file 'TCPHostConfig.ui'
|
|
||||||
**
|
|
||||||
** Created by: Qt User Interface Compiler version 5.14.2
|
|
||||||
**
|
|
||||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
||||||
********************************************************************************/
|
|
||||||
|
|
||||||
#ifndef UI_TCPHOSTCONFIG_H
|
|
||||||
#define UI_TCPHOSTCONFIG_H
|
|
||||||
|
|
||||||
#include <QtCore/QVariant>
|
|
||||||
#include <QtGui/QIcon>
|
|
||||||
#include <QtWidgets/QApplication>
|
|
||||||
#include <QtWidgets/QDialog>
|
|
||||||
#include <QtWidgets/QDialogButtonBox>
|
|
||||||
#include <QtWidgets/QTextEdit>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class Ui_Dialog
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
QDialogButtonBox *buttonBox;
|
|
||||||
QTextEdit *Host;
|
|
||||||
|
|
||||||
void setupUi(QDialog *Dialog)
|
|
||||||
{
|
|
||||||
if (Dialog->objectName().isEmpty())
|
|
||||||
Dialog->setObjectName(QString::fromUtf8("Dialog"));
|
|
||||||
Dialog->resize(400, 300);
|
|
||||||
QIcon icon;
|
|
||||||
icon.addFile(QString::fromUtf8("QtTermTCP.ico"), QSize(), QIcon::Normal, QIcon::Off);
|
|
||||||
Dialog->setWindowIcon(icon);
|
|
||||||
buttonBox = new QDialogButtonBox(Dialog);
|
|
||||||
buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
|
|
||||||
buttonBox->setGeometry(QRect(30, 240, 341, 32));
|
|
||||||
buttonBox->setOrientation(Qt::Horizontal);
|
|
||||||
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Save);
|
|
||||||
buttonBox->setCenterButtons(true);
|
|
||||||
Host = new QTextEdit(Dialog);
|
|
||||||
Host->setObjectName(QString::fromUtf8("Host"));
|
|
||||||
Host->setGeometry(QRect(184, 44, 104, 23));
|
|
||||||
|
|
||||||
retranslateUi(Dialog);
|
|
||||||
QObject::connect(buttonBox, SIGNAL(accepted()), Dialog, SLOT(accept()));
|
|
||||||
QObject::connect(buttonBox, SIGNAL(rejected()), Dialog, SLOT(reject()));
|
|
||||||
|
|
||||||
QMetaObject::connectSlotsByName(Dialog);
|
|
||||||
} // setupUi
|
|
||||||
|
|
||||||
void retranslateUi(QDialog *Dialog)
|
|
||||||
{
|
|
||||||
Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "TCP Host Config", nullptr));
|
|
||||||
} // retranslateUi
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace Ui {
|
|
||||||
class Dialog: public Ui_Dialog {};
|
|
||||||
} // namespace Ui
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // UI_TCPHOSTCONFIG_H
|
|
Loading…
Reference in New Issue