Merge branch 'master' into group_edit
@ -45,7 +45,8 @@ logging.
|
||||
<p>
|
||||
<b>HOTKEYS</b> work like in <a href="h20.html">New QSO window</a>.
|
||||
<ul><li> <b>2x ESC</b> clears all fileds</li>
|
||||
<li>Note: <b>1x ESC</b> returns cursor back to Call-field (if cursor is in some of the other fields like RSTr) and places cursor at the end of callsign for possible repairs.</li>
|
||||
<li>Note: <b>1x ESC</b> returns cursor back to Call-field (if cursor is in some of the other fields like RSTr) and places cursor at the end of callsign for possible repairs.<br>
|
||||
It also halts CW memory output if it is just running.</li>
|
||||
<li> <b> F1..F10 </b>send CW macros etc.</li></ul>
|
||||
</p>
|
||||
|
||||
@ -59,7 +60,7 @@ Form Contest has following fields and checkboxes:<br>
|
||||
<li><b>MSG s</b> sometimes you may need an additional message with number, or just a message with no number. On high band contests you may type your locator here.</li>
|
||||
<li><b>RST r</b> copied from NewQSO, so should correspond used mode. Can be changed.</li>
|
||||
<li><b>NR r</b> serial number you receive. No if no serial number then setting this changes tab order so that it jumps directly to MSG r from Call (and after that NR r). Note: you can feed only numbers to NR r field.</li>
|
||||
<li><b>MSG r</b> message you receive, if <b>MSG is LOC</b> is checked then message will be placed <b>ONLY</b> to NewQSO/Grid field <b>NOT</b> to received rst field</li>
|
||||
<li><b>MSG r</b> message you receive, if <b>MSG is LOC</b> is checked then message will be placed <b>ALSO</b> to NewQSO/Grid field <b>AND</b> to received msg field</li>
|
||||
<li><b>Save QSO</b> Save QSO button at NewQSO, increments NR and clears fields.</li>
|
||||
<li><b>Clear all</b> Clear all fields and prepare to enter new QSO</li>
|
||||
<li><b>SPACE is TAB</b> when checked space bar acts like TAB-key moving to next field.
|
||||
@ -71,7 +72,7 @@ type callsign->press TAB->type contest rxnumber->press TAB->type con
|
||||
Or hit ENTER after rxnumber if no additional message is exchanged.
|
||||
</p>
|
||||
<p>Remember that pressing <b>ENTER</b> key at any field saves qso with existing values. How ever there must be
|
||||
callsign at least three characters long. Sent/Received number and message are not needed.</p>
|
||||
callsign of least three characters long. Sent/Received number and message are not needed.</p>
|
||||
<p>
|
||||
Contest numbers and messages are saved in log into their own columns. Use <b>preferences/Visible columns</b> to show them in <b>Qso list</b>.
|
||||
For editing a qso these columns appear to <b>NewQSO</b> window when <b>contest</b> window is open and NewQso window is streched horizontally (DXCCinfo may override them).
|
||||
|
22
help/h1.html
@ -120,7 +120,7 @@
|
||||
is of high importance because it determines your accurate position (ie. you don't need to enter
|
||||
your exact coordinates). The QRA Locator is used in beam heading and distance computation as
|
||||
well as the start point of the simplified path to the other station which appears on the
|
||||
grayline map.
|
||||
grayline map.<br>Locator writing format is forced to "AB12cd" that follows definition https://en.wikipedia.org/wiki/Maidenhead_Locator_System#Description_of_the_system
|
||||
</div>
|
||||
<p align=center><img src=img/line.png></p>
|
||||
<a name=ah4><h2><strong>New QSO</strong></h2></a>
|
||||
@ -169,7 +169,9 @@
|
||||
<img src=img/h8.png border=0><br><br>
|
||||
<div align=justify>
|
||||
Checked columns are visible in the previous QSO list appearing at the top of the
|
||||
logging screen.
|
||||
logging screen. Except "Distance" that makes calculated distances visible at QSO list panel area.
|
||||
<br>Display of distances requires that preferences/station/locator is set and applied (automatic) to every qso and that at least 4 digit locator (when "ll" is added as 5 and 6th char) of destination station is logged.
|
||||
Sometimes importing logs from other logging program may leave my locator unset. In this case QSO list/File/Group edit must be used for updating my locator field.
|
||||
</div>
|
||||
<p align=center><img src=img/line.png></p>
|
||||
<a name=ah6><h2><strong>Bands</strong></h2></a>
|
||||
@ -244,8 +246,8 @@ changed at any time, however a program restart will probably be needed to make t
|
||||
take effect.<br><br>
|
||||
<strong>User definable digital modes</strong> can be set up in a separate box. Use comma
|
||||
as a separator, ie. BPSK31,QPSK64,OLIVIA,CONTESTIA etc.<br>
|
||||
Some TRX like ICOM don't have support for this in HamLib. To get mode settings work, set
|
||||
all values to 0 (zero).
|
||||
Some <strong>TRX like ICOM don't have support for this in HamLib. To get mode settings work, set
|
||||
all values to 0 (zero).</strong>
|
||||
<p align=center><img src=img/line.png></p>
|
||||
<a name=ah9><h2><strong>QTH Profiles</strong></h2></a>
|
||||
<img src=img/h12.png border=0><br><br>
|
||||
@ -274,8 +276,14 @@ for each operation.
|
||||
</table>
|
||||
<br><br>
|
||||
This option allows an easy setup of the log fields to be exported into ADIF or HTML format.
|
||||
Only checked fields are exported. The 'Width' option denotes the column size in the HTML
|
||||
export.<br><br>
|
||||
Only checked fields are exported. The 'Column' option names columns at header line. 'Width' option denotes the column width in approx. count of 16px characters.
|
||||
Both options affect only for the HTML export.
|
||||
<br>Width setting is ignored if "HTML auto column width" is checked when longest text in column (column name or data) sets the column width.
|
||||
<br>Distances are not exported when doing log backup at cqlog closing phase. They will be calculated and exported (if selected) in ADIF, HTML and QSL label printing.
|
||||
Calculation of distances requires that preferences/station/locator is set and applied (automatic) to every qso and that at least 4 digit locator
|
||||
(in case "ll" is added as 5 and 6th char to get the center of grid) of destination station logged. Sometimes importing logs from other logging program may leave own station locator unset. In this case QSO list/File/Group edit must be used for updating "my locator" field.
|
||||
|
||||
<br><br>
|
||||
<a name=ah11><h2><strong>DX cluster</strong></h2></a>
|
||||
<img src=img/h14.png border=0><br><br>
|
||||
This dialog allows an easy setup of the DX cluster spot filtering. Check the bands you want
|
||||
@ -571,7 +579,7 @@ There are no known dependencies issues.<br><br>
|
||||
Of course, the export and compression takes some time, depending on the log size (QSO count).
|
||||
If you are not in a hurry, allow the program 2-3 minutes to perform this safety measure.
|
||||
We reccomend you backup your log to your hard drive from there it should be copied to
|
||||
other media (your server, USB flash, a memory card etc.).
|
||||
other media (your server, USB flash, a memory card etc.).<br>Distances are not exported in backup phase. So do not expect to find them from backup file.
|
||||
</br></br><img src="img/h119.png"><br><br>
|
||||
Check both "Enable autobackup after program ends" and "Ask before creating a backup" to prevent closing cqrlog accidently. Answering <strong>"Cancel"</strong> to question returns to NewQso without backup.
|
||||
<a name=ch4><h2><strong>External viewers</strong></h2></a>
|
||||
|
@ -277,7 +277,7 @@
|
||||
distance, azimuth (direction), date and local time of the target point
|
||||
and the salutation corresponding to the local time (GM, GE etc.). <br><br>
|
||||
<b>Contest section</b> in NewQSO window is for <b>editing logged qsos, not for entering contest qsos</b>.
|
||||
This part is only visible if contest window is active.<br><br>
|
||||
<i> This part is only visible if contest window is active.</i><br><br>
|
||||
|
||||
|
||||
You can add a general long note to your log with the Ctrl-N key (from
|
||||
|
@ -96,7 +96,7 @@ For LoTW operations see <a href=h7.html><strong>here</strong></a>.
|
||||
(Send Manager- Direct) in any combination are exported.
|
||||
</div>
|
||||
<br>
|
||||
<IMG src="img/h70.png"><br><br>
|
||||
<IMG src="img/h70.png"><IMG src="img/h70b.png"><br><br>
|
||||
<strong>Batch QSL label printing</strong>
|
||||
|
||||
<div align="justify">This method can be used if no QSO records are marked.
|
||||
|
@ -59,9 +59,24 @@
|
||||
<p align=center><img src=img/line.png></p>
|
||||
|
||||
<a name="grp"><h2><strong>Group edit</strong></h2></a>
|
||||
<table border="0" cellpadding="5" cellspacing="2" width="100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top"><img src="img/exc.png"></td>
|
||||
<td bgcolor=ffffcc valign="top" align="justify"><strong><font color="red">WARNING!</font>
|
||||
There is no UNDO option!</strong> If you click the <em>Apply</em> button,
|
||||
there is no way to return to previous values! Make a backup before any group edit
|
||||
operation!
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div align="justify">A record can be tagged by clicking the corresponding icon or
|
||||
with the mouse - hold the Ctrl key on the keyboard and left click on the QSO record
|
||||
to be tagged.<br></div>
|
||||
to be tagged.<br>
|
||||
Or you can set up filter and pick qsos that need editing.
|
||||
</div>
|
||||
<p><img src=img/h90.png></p>
|
||||
<div align="justify">Click the <em>Edit QSO</em> button and the group edit menu
|
||||
appears:<br></div>
|
||||
|
20
help/h3.html
@ -69,13 +69,31 @@
|
||||
When <b>OK</b> is pressed export begins.<br><br>
|
||||
<p align=center><img src=img/line.png></p>
|
||||
<a name=ah26><strong>HTML export</strong></a><br><br>
|
||||
The same as above, only difference is to choose the 'HTML' option.<br><br>
|
||||
The same as above, only difference is to set column names and widths (in character counts). Note that contest Nr and Msg column names will get "R" or "S" added as last letter of column name.
|
||||
<br><br>
|
||||
<img src=img/h45d.png><br><br>
|
||||
If "HTML auto size columns" is checked width setting is ignored and column width is set by longest text (in header or data).
|
||||
<br><br>
|
||||
<img src=img/h45e.png><br><br>
|
||||
Choose the 'HTML' option from QSO list Export menu.<br><br>
|
||||
<p align=center><img src=img/line.png></p>
|
||||
<p><a name=ah27><strong>Program version update:</strong></a><br><br>
|
||||
Ubuntu 16.04, 17.10, 18.04 users can use CQRLOG’s repository on Launchpad. To add repository to your system, put into terminal this:<br/>
|
||||
<br>sudo add-apt-repository ppa:ok2cqr/ppa;sudo apt-get update;sudo apt-get install cqrlog<br>
|
||||
<br>For those who does not use Ubuntu, load install package, or binaries, from: Cqrlog.com <a href="https://www.cqrlog.com/download" target="_new"> download page.</a><br>
|
||||
<br>The binaries should work in any distribution. Please don't forget to install MySQL server, MySQL client, Hamlib libraries and if LoTW support is desired, trustedqsl package and libssl-devel must be installed.</p>
|
||||
<table width="100%" border="0" cellpadding="5" cellspacing="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top"><img src="img/note.png"></td>
|
||||
<td style="width: 100%; text-align: justify; background-color: rgb(204, 255, 255);">
|
||||
<strong><font color="blue">Note:</font></strong> Very often Cqrlog version update requires just file /usr/bin/cqrlog change to latest version. If your package manager does not support latest version and you have well running old version in use just copy folder ~/.config/cqrlog with all files and subfolders to safe place as backup. Copy also
|
||||
/usr/bin/cqrlog to same place. Then download the tgz file "Complete application directory for other distributions", extract file /usr/bin/cqrlog from there and copy it to your /usr/bin folder (you need to use root priveleges I.E sudo for that).
|
||||
If everything works you have latest version. If not, just copy back your saved folder ~/.config/cqrlog and the old /usr/bin/cqrlog.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p align=center><img src=img/line.png></p>
|
||||
<a name=ah28><strong>How to update Country files:</strong></a><br>
|
||||
<ol>
|
||||
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 27 KiB |
BIN
help/img/h13.png
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 151 KiB |
BIN
help/img/h2.png
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 27 KiB |
BIN
help/img/h29.png
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 58 KiB |
BIN
help/img/h45d.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
help/img/h45e.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
help/img/h6.png
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 47 KiB |
BIN
help/img/h66.png
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 89 KiB |
BIN
help/img/h70.png
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 35 KiB |
BIN
help/img/h70b.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
help/img/h8.png
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 95 KiB |
BIN
help/img/h89.png
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 58 KiB |
BIN
help/img/h92.png
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 30 KiB |
@ -1,5 +1,12 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<HEAD>
|
||||
<META NAME="GENERATOR" CONTENT="Linux">
|
||||
<META HTTP-EQUIV="Expires" CONTENT="-1">
|
||||
<META HTTP-EQUIV="Last-Modified" CONTENT="0">
|
||||
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
|
||||
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
||||
</HEAD>
|
||||
|
||||
<frameset cols="15%,*">
|
||||
<frame name="left" src="index_left.html">
|
||||
|
@ -1,6 +1,12 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<HEAD>
|
||||
<META NAME="GENERATOR" CONTENT="Linux">
|
||||
<META HTTP-EQUIV="Expires" CONTENT="-1">
|
||||
<META HTTP-EQUIV="Last-Modified" CONTENT="0">
|
||||
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
|
||||
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
||||
<title>CQRLOG - Help Index</title></head>
|
||||
<body>
|
||||
<h2><a name="aa"><strong>Contents:</strong></a></h2>
|
||||
|
@ -1,6 +1,11 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<META NAME="GENERATOR" CONTENT="Linux">
|
||||
<META HTTP-EQUIV="Expires" CONTENT="-1">
|
||||
<META HTTP-EQUIV="Last-Modified" CONTENT="0">
|
||||
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
|
||||
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
||||
<title>CQRLOG - Help Index</title></head>
|
||||
<body>
|
||||
<strong><h1>CQRLOG for LINUX (version 2.3.0)</h1></strong>
|
||||
|
@ -80,6 +80,9 @@ end;{isloc}
|
||||
|
||||
procedure VzdalenostAAzimut(loc1,loc2 : String;var azim,qrb : String);
|
||||
begin
|
||||
loc1:=Upcase(loc1);
|
||||
loc2:=Upcase(loc2);
|
||||
|
||||
if ((not isloc(loc1)) or (not isloc(loc2))) then
|
||||
begin
|
||||
azim := '';
|
||||
@ -93,6 +96,7 @@ begin
|
||||
end;
|
||||
procedure LocToCoordinate(loc : String; var Latitude, Longitude : Real);
|
||||
begin
|
||||
loc:=Upcase(loc);
|
||||
Latitude := dely(loc);
|
||||
Longitude := delx(loc)
|
||||
end;
|
||||
|
@ -19,11 +19,19 @@
|
||||
<AutoIncrementBuild Value="True"/>
|
||||
<MinorVersionNr Value="3"/>
|
||||
<RevisionNr Value="1"/>
|
||||
<BuildNr Value="2193"/>
|
||||
<BuildNr Value="2195"/>
|
||||
<StringTable ProductVersion="0.3.1.2026"/>
|
||||
</VersionInfo>
|
||||
<MacroValues Count="1">
|
||||
<Macro3 Name="LCLWidgetType" Value="gtk2"/>
|
||||
</MacroValues>
|
||||
<BuildModes Count="1">
|
||||
<Item1 Name="default" Default="True"/>
|
||||
<SharedMatrixOptions Count="3">
|
||||
<Item1 ID="364409174580" Type="IDEMacro" MacroName="LCLWidgetType" Value="qt5"/>
|
||||
<Item2 ID="890734883088" Type="IDEMacro" MacroName="LCLWidgetType" Value="gtk3"/>
|
||||
<Item3 ID="102898540782" Modes="default" Type="IDEMacro" MacroName="LCLWidgetType" Value="gtk2"/>
|
||||
</SharedMatrixOptions>
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
@ -31,7 +39,7 @@
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<CommandLineParams Value="--DEBUG=1"/>
|
||||
<CommandLineParams Value="--DEBUG=0"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
<environment>
|
||||
@ -44,7 +52,7 @@
|
||||
<Modes Count="1">
|
||||
<Mode0 Name="default">
|
||||
<local>
|
||||
<CommandLineParams Value="--DEBUG=1"/>
|
||||
<CommandLineParams Value="--DEBUG=0"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
<environment>
|
||||
@ -97,7 +105,7 @@
|
||||
<MinVersion Major="1" Minor="2" Release="1" Valid="True"/>
|
||||
</Item10>
|
||||
</RequiredPackages>
|
||||
<Units Count="104">
|
||||
<Units Count="106">
|
||||
<Unit0>
|
||||
<Filename Value="cqrlog.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -783,13 +791,21 @@
|
||||
<Filename Value="uRotControl.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit103>
|
||||
<Unit104>
|
||||
<Filename Value="aziloc.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit104>
|
||||
<Unit105>
|
||||
<Filename Value="azidis3.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit105>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="11"/>
|
||||
<SearchPaths>
|
||||
<Libraries Value="$(LazarusDir)/lcl"/>
|
||||
<OtherUnitFiles Value="lnet/lib;richmemo;richmemo/gtk2;synapse;richmemo/qt"/>
|
||||
<OtherUnitFiles Value="lnet/lib;synapse"/>
|
||||
</SearchPaths>
|
||||
<Parsing>
|
||||
<SyntaxOptions>
|
||||
@ -803,7 +819,6 @@
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<GenerateDebugInfo Value="False"/>
|
||||
<DebugInfoType Value="dsDwarf2Set"/>
|
||||
</Debugging>
|
||||
</Linking>
|
||||
|
@ -23,7 +23,7 @@ uses
|
||||
fRadioMemories, fAddRadioMemory, fException, fCommentToCall,
|
||||
fNewCommentToCall, fFindCommentToCall, frExportPref, fExportPref,
|
||||
fWorkedGrids, fPropDK0WCY, fRemind, fContest, fMonWsjtx, fXfldigi,
|
||||
dMembership, dSatellite, uRigControl, uRotControl;
|
||||
dMembership, dSatellite, uRigControl, uRotControl, azidis3, aziloc;
|
||||
var
|
||||
Splash : TfrmSplash;
|
||||
|
||||
|
@ -717,7 +717,7 @@ object dmData: TdmData
|
||||
'#UNDEFINE'
|
||||
)
|
||||
Script.Strings = (
|
||||
'create temporary table if not exists qslexport ('
|
||||
'CREATE TEMPORARY TABLE IF NOT EXISTS qslexport ('
|
||||
' id_qslexport INT AUTO_INCREMENT PRIMARY KEY,'
|
||||
' idcall VARCHAR(20) DEFAULT '''','
|
||||
' id_cqrlog_main INT NOT NULL,'
|
||||
@ -742,7 +742,14 @@ object dmData: TdmData
|
||||
' award VARCHAR(50) DEFAULT '''','
|
||||
' remarks VARCHAR(200) DEFAULT '''','
|
||||
' band VARCHAR(6) DEFAULT '''','
|
||||
' qslmsg VARCHAR(20) DEFAULT '''''
|
||||
' qslmsg VARCHAR(20) DEFAULT '''','
|
||||
' prop_mode VARCHAR(30) DEFAULT '''','
|
||||
' satellite VARCHAR(30) DEFAULT '''','
|
||||
' contestname VARCHAR(40) DEFAULT '''','
|
||||
' stx VARCHAR(6) DEFAULT '''','
|
||||
' stx_string VARCHAR(50) DEFAULT '''','
|
||||
' srx VARCHAR(6) DEFAULT '''','
|
||||
' srx_string VARCHAR(50) DEFAULT '''''
|
||||
');'
|
||||
'CREATE INDEX idcall ON qslexport(idcall);'
|
||||
'CREATE INDEX dxcc ON qslexport(dxcc);'
|
||||
|
@ -257,6 +257,7 @@ type
|
||||
function LogExists(nr : Word) : Boolean;
|
||||
function GetProperDBName(nr : Word) : String;
|
||||
function GetQSOCount : Integer;
|
||||
procedure GetQSODistanceSum(var SumDist:int64;var LongestDist:integer;var MainLocCount:Integer);
|
||||
function UseseQSL(call : String) : Boolean;
|
||||
function QueryLocate(qry : TSQLQuery; Column : String; Value : Variant; DisableGrid : Boolean; exatly : Boolean = True) : Boolean;
|
||||
function BandModFromFreq(freq : String;var mode,band : String) : Boolean;
|
||||
@ -1333,7 +1334,8 @@ begin
|
||||
','+QuotedStr(qsl_r)+','+QuotedStr(qsl_via)+
|
||||
','+QuotedStr(iota)+','+QuotedStr(pwr)+
|
||||
','+sITU+','+sWAZ+
|
||||
','+QuotedStr(loc)+','+QuotedStr(my_loc)+
|
||||
//here we make final check that for now on locator writing format is by std in database
|
||||
','+QuotedStr(dmUtils.StdFormatLocator(loc))+','+QuotedStr(dmUtils.StdFormatLocator(my_loc))+
|
||||
//','+QuotedStr(dmUtils.MyTrim(county))+',' + QuotedStr(dmUtils.MyTrim(award)) + ','+QuotedStr(dmUtils.MyTrim(remarks))+
|
||||
','+QuotedStr(trim(county))+',' + QuotedStr(trim(award)) + ','+QuotedStr(trim(remarks))+
|
||||
','+IntToStr(adif)+','+ QuotedStr(idcall) + ','+ QuotedStr(state) +','+IntToStr(changed)+
|
||||
@ -1903,6 +1905,15 @@ end;
|
||||
|
||||
function TdmData.QSLMgrFound(call,date : String; var qsl_via : String) : Boolean;
|
||||
begin
|
||||
// dmData.QSLMgrFound() needs date. if not set causes mysterious
|
||||
// "'' is not valid date error" sometimes. (usually at first logged qso)
|
||||
// So cheking both exist is needed.
|
||||
if (call = '') or (date = '') then
|
||||
Begin
|
||||
Result := False;
|
||||
Exit;
|
||||
end;
|
||||
|
||||
qsl_via := '';
|
||||
trQSLMgr.StartTransaction;
|
||||
qQSLMgr.SQL.Text := 'select * from cqrlog_common.qslmgr where (callsign = '+QuotedStr(call)+
|
||||
@ -2458,7 +2469,79 @@ begin
|
||||
if call = eQSLUsers[i] then
|
||||
Result := True
|
||||
end;
|
||||
procedure TdmData.GetQSODistanceSum(var SumDist:int64; var LongestDist:integer;var MainLocCount:Integer);
|
||||
|
||||
var
|
||||
qrb,
|
||||
qrc,
|
||||
Myloc,
|
||||
loc :String;
|
||||
|
||||
procedure HandleRecord;
|
||||
Begin
|
||||
Myloc := Q.Fields[0].AsString;
|
||||
if length(Myloc) = 4 then Myloc := Myloc +'LL';
|
||||
loc := Q.Fields[1].AsString;
|
||||
if length(loc) = 4 then loc := loc +'LL';
|
||||
dmUtils.DistanceFromLocator(Myloc,loc,qrb,qrc);
|
||||
if StrToIntDef(qrb,0) > LongestDist then LongestDist := StrToIntDef(qrb,0);
|
||||
SumDist:= SumDist + StrToIntDef(qrb,0);
|
||||
end;
|
||||
|
||||
begin
|
||||
SumDist :=0;
|
||||
LongestDist :=0;
|
||||
MainLocCount := 0;
|
||||
|
||||
Q.Close;
|
||||
if trQ.Active then
|
||||
trQ.RollBack;
|
||||
|
||||
if IsFilter then
|
||||
begin
|
||||
Q.SQL.Text := StringReplace(dmData.qCQRLOG.SQL.Text,'*','my_loc,loc',[]);
|
||||
trQ.StartTransaction;
|
||||
try
|
||||
Q.Open;
|
||||
while not Q.Eof do
|
||||
begin
|
||||
HandleRecord;
|
||||
Q.Next;
|
||||
end
|
||||
finally
|
||||
Q.Close;
|
||||
trQ.RollBack
|
||||
end
|
||||
end
|
||||
else begin
|
||||
Q.SQL.Text := 'SELECT my_loc,loc FROM cqrlog_main';
|
||||
trQ.StartTransaction;
|
||||
try
|
||||
Q.Open;
|
||||
while not Q.Eof do
|
||||
begin
|
||||
HandleRecord;
|
||||
Q.Next;
|
||||
end
|
||||
finally
|
||||
Q.Close;
|
||||
trQ.RollBack
|
||||
end
|
||||
end;
|
||||
if pos('WHERE', Q.SQL.Text) > 0 then
|
||||
Q.SQL.Text := 'SELECT COUNT(DISTINCT(LEFT(loc,4))) FROM cqrlog_main WHERE left(loc,4) <> "" AND '
|
||||
+ copy(Q.SQL.Text, pos('WHERE', Q.SQL.Text)+5, length(Q.SQL.Text))
|
||||
else
|
||||
Q.SQL.Text := 'SELECT COUNT(DISTINCT(LEFT(loc,4))) FROM cqrlog_main WHERE left(loc,4) <> "" ';
|
||||
trQ.StartTransaction;
|
||||
try
|
||||
Q.Open;
|
||||
MainLocCount := Q.Fields[0].AsInteger
|
||||
finally
|
||||
Q.Close;
|
||||
trQ.RollBack
|
||||
end
|
||||
end;
|
||||
function TdmData.GetQSOCount : Integer;
|
||||
begin
|
||||
Q.Close;
|
||||
@ -3104,7 +3187,7 @@ begin
|
||||
Q.SQL.Add(scQSLExport.Script.Strings[i])
|
||||
else begin
|
||||
Q.SQL.Add(scQSLExport.Script.Strings[i]);
|
||||
if fDebugLevel>=1 then Writeln(mQ.SQL.Text);
|
||||
if fDebugLevel>=1 then Writeln(Q.SQL.Text);
|
||||
Q.ExecSQL;
|
||||
Q.SQL.Text := ''
|
||||
end
|
||||
|
@ -264,7 +264,7 @@ type
|
||||
function MyStrToDateTime(DateTime : String) : TDateTime;
|
||||
function MyDateTimeToStr(DateTime : TDateTime) : String;
|
||||
function LoadVisibleColumnsConfiguration : TColumnVisibleArray;
|
||||
|
||||
function StdFormatLocator(loc:string):String;
|
||||
end;
|
||||
|
||||
var
|
||||
@ -1046,6 +1046,18 @@ begin
|
||||
else
|
||||
Result := False;
|
||||
end;
|
||||
function TdmUtils.StdFormatLocator(loc:string):String;
|
||||
// Format locator to standard form BL11bh16 See:
|
||||
// https://en.wikipedia.org/wiki/Maidenhead_Locator_System#Description_of_the_system
|
||||
// Check TEdit CharCase to be ecNormal, othewise you get runtime error!
|
||||
var
|
||||
s :String;
|
||||
begin
|
||||
if loc = '' then exit;
|
||||
s := Upcase(copy(loc,1,4));
|
||||
s:= s + lowercase(copy(loc,5,6)); //max loc length 10 in database
|
||||
Result := trim(s);
|
||||
end;
|
||||
|
||||
procedure TdmUtils.GetCoordinate(pfx: string; var latitude, longitude: currency);
|
||||
var
|
||||
|
@ -242,7 +242,7 @@ function TfrmAdifImport.fillTypeVariableWithTagData(h:longint;var data:string;va
|
||||
h_EQSL_QSL_RCVD:d.EQSL_QSL_RCVD:=data;
|
||||
h_EQSL_QSL_SENT:d.EQSL_QSL_SENT:=data;
|
||||
h_FREQ:d.FREQ:=data;
|
||||
h_GRIDSQUARE:d.GRIDSQUARE:=data;
|
||||
h_GRIDSQUARE:d.GRIDSQUARE:=dmUtils.StdFormatLocator(data);
|
||||
h_IOTA:d.IOTA:=data;
|
||||
h_ITUZ:d.ITUZ:=data;
|
||||
h_LOTW_QSLRDATE:d.LOTW_QSLRDATE:=data;
|
||||
@ -250,7 +250,7 @@ function TfrmAdifImport.fillTypeVariableWithTagData(h:longint;var data:string;va
|
||||
h_LOTW_QSL_RCVD:d.LOTW_QSL_RCVD:=data;
|
||||
h_LOTW_QSL_SENT:d.LOTW_QSL_SENT:=data;
|
||||
h_MODE:d.MODE:=data;
|
||||
h_MY_GRIDSQUARE:d.MY_GRIDSQUARE:=data;
|
||||
h_MY_GRIDSQUARE:d.MY_GRIDSQUARE:=dmUtils.StdFormatLocator(data);
|
||||
h_NAME:d.NAME:=data;
|
||||
h_NOTES:d.NOTES:=data;
|
||||
h_PFX:d.PFX:=data;
|
||||
|
@ -14,12 +14,12 @@ object frmChangeLocator: TfrmChangeLocator
|
||||
ClientHeight = 108
|
||||
ClientWidth = 236
|
||||
Position = poMainFormCenter
|
||||
LCLVersion = '1.8.2.0'
|
||||
LCLVersion = '2.0.2.0'
|
||||
object lblEnterLocator: TLabel
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 8
|
||||
Width = 125
|
||||
Width = 120
|
||||
Caption = 'Enter your locator:'
|
||||
ParentColor = False
|
||||
end
|
||||
@ -27,11 +27,11 @@ object frmChangeLocator: TfrmChangeLocator
|
||||
AnchorSideTop.Control = lblEnterLocator
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 27
|
||||
Height = 34
|
||||
Top = 27
|
||||
Width = 216
|
||||
BorderSpacing.Top = 2
|
||||
CharCase = ecUppercase
|
||||
OnChange = edtLocatorChange
|
||||
OnKeyPress = edtLocatorKeyPress
|
||||
TabOrder = 0
|
||||
end
|
||||
@ -39,8 +39,8 @@ object frmChangeLocator: TfrmChangeLocator
|
||||
AnchorSideTop.Control = edtLocator
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 37
|
||||
Top = 64
|
||||
Height = 41
|
||||
Top = 71
|
||||
Width = 64
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 10
|
||||
@ -54,9 +54,9 @@ object frmChangeLocator: TfrmChangeLocator
|
||||
AnchorSideTop.Control = edtLocator
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 160
|
||||
Height = 37
|
||||
Top = 64
|
||||
Width = 64
|
||||
Height = 41
|
||||
Top = 71
|
||||
Width = 68
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 10
|
||||
BorderSpacing.InnerBorder = 4
|
||||
|
@ -18,6 +18,7 @@ type
|
||||
edtLocator: TEdit;
|
||||
lblEnterLocator: TLabel;
|
||||
procedure btnOKClick(Sender: TObject);
|
||||
procedure edtLocatorChange(Sender: TObject);
|
||||
procedure edtLocatorKeyPress(Sender: TObject; var Key: char);
|
||||
private
|
||||
{ private declarations }
|
||||
@ -32,6 +33,7 @@ implementation
|
||||
{$R *.lfm}
|
||||
|
||||
{ TfrmChangeLocator }
|
||||
uses dUtils;
|
||||
|
||||
procedure TfrmChangeLocator.edtLocatorKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
@ -47,5 +49,11 @@ begin
|
||||
ModalResult := mrOK
|
||||
end;
|
||||
|
||||
procedure TfrmChangeLocator.edtLocatorChange(Sender: TObject);
|
||||
begin
|
||||
edtLocator.Text := dmUtils.StdFormatLocator(edtLocator.Text);
|
||||
edtLocator.SelStart := Length(edtLocator.Text);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -13,7 +13,7 @@ object frmContest: TfrmContest
|
||||
OnHide = FormHide
|
||||
OnKeyDown = FormKeyDown
|
||||
OnShow = FormShow
|
||||
LCLVersion = '2.0.0.4'
|
||||
LCLVersion = '2.0.4.0'
|
||||
object edtCall: TEdit
|
||||
AnchorSideLeft.Control = lblContestName
|
||||
AnchorSideTop.Control = lblCall
|
||||
@ -124,8 +124,8 @@ object frmContest: TfrmContest
|
||||
Hint = 'contest exchange message sent, max 50 characters'
|
||||
Top = 53
|
||||
Width = 100
|
||||
CharCase = ecUppercase
|
||||
MaxLength = 50
|
||||
OnChange = edtSRX2Change
|
||||
OnKeyDown = edtCallKeyDown
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
@ -323,16 +323,16 @@ object frmContest: TfrmContest
|
||||
Left = 17
|
||||
Height = 17
|
||||
Top = 1
|
||||
Width = 87
|
||||
Width = 91
|
||||
BorderSpacing.Left = 17
|
||||
Caption = 'Contestname'
|
||||
Caption = 'Contest name'
|
||||
ParentColor = False
|
||||
end
|
||||
object cmbContestName: TComboBox
|
||||
AnchorSideLeft.Control = lblContestName
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 110
|
||||
Left = 114
|
||||
Height = 34
|
||||
Hint = 'contestname, choose ADIF contest_id via combobox or type freestyle max 40 characters'
|
||||
Top = 1
|
||||
|
@ -46,6 +46,7 @@ type
|
||||
procedure edtCallExit(Sender: TObject);
|
||||
procedure edtCallKeyDown(Sender: TObject; var Key: word; Shift: TShiftState);
|
||||
procedure edtCallKeyPress(Sender: TObject; var Key: char);
|
||||
procedure edtSRX2Change(Sender: TObject);
|
||||
procedure edtSRXExit(Sender: TObject);
|
||||
procedure edtSTX_strExit(Sender: TObject);
|
||||
procedure edtSTXExit(Sender: TObject);
|
||||
@ -316,6 +317,14 @@ begin
|
||||
key := #0;
|
||||
end;
|
||||
|
||||
procedure TfrmContest.edtSRX2Change(Sender: TObject);
|
||||
begin
|
||||
if chLoc.Checked then
|
||||
begin
|
||||
edtSRX2.Text := dmUtils.StdFormatLocator(edtSRX2.Text);
|
||||
edtSRX2.SelStart := Length(edtSRX2.Text);
|
||||
end;
|
||||
end;
|
||||
procedure TfrmContest.edtSRXExit(Sender: TObject);
|
||||
begin
|
||||
ChkSerialNrUpd(False); //just save it
|
||||
|
@ -1,7 +1,7 @@
|
||||
object frmExLabelPrint: TfrmExLabelPrint
|
||||
Left = 25
|
||||
Left = 709
|
||||
Height = 522
|
||||
Top = 101
|
||||
Top = 11
|
||||
Width = 424
|
||||
HelpType = htKeyword
|
||||
HelpKeyword = 'help/h22.html#bh4'
|
||||
@ -14,7 +14,7 @@ object frmExLabelPrint: TfrmExLabelPrint
|
||||
OnClose = FormClose
|
||||
OnShow = FormShow
|
||||
Position = poMainFormCenter
|
||||
LCLVersion = '2.0.2.0'
|
||||
LCLVersion = '2.0.4.0'
|
||||
object Label1: TLabel
|
||||
AnchorSideLeft.Control = gchkExport
|
||||
AnchorSideTop.Control = edtQSOsToLabel
|
||||
|
@ -62,7 +62,7 @@ var
|
||||
implementation
|
||||
{$R *.lfm}
|
||||
|
||||
uses dUtils, dData, uMyIni, fQSLExpPref, dDXCC;
|
||||
uses dUtils, dData, uMyIni, fQSLExpPref, dDXCC,fMain;
|
||||
{ TfrmExLabelPrint }
|
||||
|
||||
procedure TfrmExLabelPrint.edtQSOsToLabelExit(Sender: TObject);
|
||||
@ -117,6 +117,12 @@ begin
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'band', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'Propagation', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'Satellite', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestName', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'QSL_S', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'QSL_R', True) then
|
||||
@ -136,7 +142,15 @@ begin
|
||||
if cqrini.ReadBool('QSLExport', 'Remarks', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'QSLMsg', True) then
|
||||
inc(Result)
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestNrS', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestMsgS', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestNrR', True) then
|
||||
inc(Result);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestMsgR', True) then
|
||||
inc(Result);
|
||||
end;
|
||||
|
||||
function TfrmExLabelPrint.Rep(what : String) : String;
|
||||
@ -156,13 +170,16 @@ begin
|
||||
dmData.trQ.StartTransaction;
|
||||
dmData.Q.Close;
|
||||
dmData.Q.SQL.Text := 'insert into qslexport (idcall,id_cqrlog_main,dxcc,qsodate,time_on,time_off,callsign,freq,mode,rst_s,rst_r, '+
|
||||
'name,qth,qsl_s,qsl_r,qsl_via,iota,pwr,loc,my_loc,award,remarks,band,qslmsg) values('+
|
||||
'name,qth,qsl_s,qsl_r,qsl_via,iota,pwr,loc,my_loc,award,remarks,band,qslmsg,prop_mode,satellite,'+
|
||||
'contestname,stx,stx_string,srx,srx_string) values('+
|
||||
':idcall,:id_cqrlog_main,:dxcc,:qsodate,:time_on,:time_off,:callsign,:freq,:mode,:rst_s,:rst_r,:name,'+
|
||||
':qth,:qsl_s,:qsl_r,:qsl_via,:iota,:pwr,:loc,:my_loc,:award,:remarks,:band,:qslmsg)';
|
||||
':qth,:qsl_s,:qsl_r,:qsl_via,:iota,:pwr,:loc,:my_loc,:award,:remarks,:band,:qslmsg,:prop_mode,:satellite,'+
|
||||
':contestname,:stx,:stx_string,:srx,:srx_string)';
|
||||
if dmData.DebugLevel>=1 then Writeln(dmData.Q.SQL.Text);
|
||||
dmData.qCQRLOG.First;
|
||||
while not dmData.qCQRLOG.Eof do
|
||||
begin
|
||||
|
||||
DoExp := False;
|
||||
if chkAllQSOs.Checked then
|
||||
DoExp := True
|
||||
@ -178,11 +195,13 @@ begin
|
||||
if (dmData.qCQRLOG.Fields[11].AsString = 'SMB') and (gchkExport.Checked[4]) then
|
||||
DoExp := True
|
||||
end;
|
||||
|
||||
if (not DoExp) or (dmData.qCQRLOG.FieldByName('band').AsString='') then
|
||||
begin
|
||||
dmData.qCQRLOG.Next;
|
||||
Continue
|
||||
end;
|
||||
|
||||
dmData.Q.Prepare;
|
||||
|
||||
dmData.Q.ParamByName('id_cqrlog_main').AsInteger := dmData.qCQRLOG.FieldByName('id_cqrlog_main').AsInteger;
|
||||
@ -239,14 +258,21 @@ begin
|
||||
dmData.Q.ParamByName('award').AsString := Rep(dmData.qCQRLOG.FieldByName('award').AsString);
|
||||
dmData.Q.ParamByName('band').AsString := dmData.qCQRLOG.FieldByName('band').AsString;
|
||||
dmData.Q.ParamByName('qslmsg').AsString := Rep(qsl_msg);
|
||||
|
||||
dmData.Q.ParamByName('prop_mode').AsString := dmData.qCQRLOG.FieldByName('prop_mode').AsString;
|
||||
dmData.Q.ParamByName('satellite').AsString := dmData.qCQRLOG.FieldByName('satellite').AsString;
|
||||
dmData.Q.ParamByName('contestname').AsString := dmData.qCQRLOG.FieldByName('contestname').AsString;
|
||||
dmData.Q.ParamByName('stx').AsString := dmData.qCQRLOG.FieldByName('stx').AsString;
|
||||
dmData.Q.ParamByName('stx_string').AsString := dmData.qCQRLOG.FieldByName('stx_string').AsString;
|
||||
dmData.Q.ParamByName('srx').AsString := dmData.qCQRLOG.FieldByName('srx').AsString;
|
||||
dmData.Q.ParamByName('srx_string').AsString := dmData.qCQRLOG.FieldByName('srx_string').AsString;
|
||||
dmData.Q.ExecSQL;
|
||||
dmData.qCQRLOG.Next
|
||||
end
|
||||
finally
|
||||
dmData.trQ.Commit;
|
||||
dmData.qCQRLOG.EnableControls
|
||||
end
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure TfrmExLabelPrint.btnExportClick(Sender: TObject);
|
||||
@ -312,6 +338,7 @@ var
|
||||
Write(f,dmData.Q.FieldByName('mode').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'Freq', True) then
|
||||
Write(f,FloatToStr(dmData.Q.FieldByName('freq').AsFloat),C_SEP);
|
||||
|
||||
if cqrini.ReadBool('QSLExport', 'RST_S', True) then
|
||||
begin
|
||||
if not cqrini.ReadBool('QSLExport','SplitRST_S',False) then
|
||||
@ -344,6 +371,12 @@ var
|
||||
Write(f,dmData.Q.FieldByName('qth').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'band', True) then
|
||||
Write(f,dmData.Q.FieldByName('band').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'Propagation', True) then
|
||||
Write(f,dmData.Q.FieldByName('prop_mode').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'Satellite', True) then
|
||||
Write(f,dmData.Q.FieldByName('satellite').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestName', True) then
|
||||
Write(f, dmData.Q.FieldByName('contestname').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'QSL_S', True) then
|
||||
Write(f,dmData.Q.FieldByName('qsl_s').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'QSL_R', True) then
|
||||
@ -354,6 +387,8 @@ var
|
||||
Write(f,dmData.Q.FieldByName('loc').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'MyLoc', True) then
|
||||
Write(f,dmData.Q.FieldByName('my_loc').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'Distance', True) then
|
||||
Write(f,frmMain.CalcQrb(dmData.Q.FieldByName('my_loc').AsString,dmData.Q.FieldByName('loc').AsString,False),C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'IOTA', True) then
|
||||
Write(f,dmData.Q.FieldByName('iota').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'award', True) then
|
||||
@ -363,7 +398,16 @@ var
|
||||
if cqrini.ReadBool('QSLExport', 'Remarks', True) then
|
||||
Write(f,dmData.Q.FieldByName('remarks').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'QSLMsg', True) then
|
||||
Write(f,dmData.Q.FieldByName('qslmsg').AsString,C_SEP)
|
||||
Write(f,dmData.Q.FieldByName('qslmsg').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestNrS', True) then
|
||||
Write(f,dmData.Q.FieldByName('stx').AsString ,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestMsgS', True) then
|
||||
Write(f,dmData.Q.FieldByName('stx_string').AsString,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestNrR', True) then
|
||||
Write(f,dmData.Q.FieldByName('srx').AsString ,C_SEP);
|
||||
if cqrini.ReadBool('QSLExport', 'ContestMsgR', True) then
|
||||
Write(f,dmData.Q.FieldByName('srx_string').AsString ,C_SEP);
|
||||
|
||||
end;
|
||||
|
||||
begin
|
||||
@ -384,6 +428,7 @@ begin
|
||||
end;
|
||||
|
||||
FieldCount := GetExpFieldCount;
|
||||
if dmData.DebugLevel >= 1 then Writeln('Field count: ', FieldCount);
|
||||
dmData.CreateQSLTmpTable;
|
||||
LoadDataToTempDB;
|
||||
// FieldCount := GetExpFieldCount;
|
||||
@ -396,6 +441,7 @@ begin
|
||||
dmData.trQ1.StartTransaction;
|
||||
dmData.Q.SQL.Text := 'select * from qslexport order by dxcc,idcall';
|
||||
dmData.Q.Open;
|
||||
|
||||
while not dmData.Q.Eof do
|
||||
begin
|
||||
if chkMarkSent.Checked then
|
||||
|
@ -1,55 +1,70 @@
|
||||
object frmExportPref: TfrmExportPref
|
||||
Left = 491
|
||||
Height = 495
|
||||
Top = 32
|
||||
Width = 737
|
||||
Left = 232
|
||||
Height = 502
|
||||
Top = 131
|
||||
Width = 931
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Choose fields to export'
|
||||
ClientHeight = 495
|
||||
ClientWidth = 737
|
||||
ClientHeight = 502
|
||||
ClientWidth = 931
|
||||
OnShow = FormShow
|
||||
Position = poOwnerFormCenter
|
||||
LCLVersion = '2.0.2.0'
|
||||
inline fraExportPref1: TfraExportPref
|
||||
Left = 8
|
||||
Top = 8
|
||||
inherited chkexCounty: TCheckBox
|
||||
Top = 217
|
||||
end
|
||||
inherited chkexRemarks: TCheckBox
|
||||
Left = 176
|
||||
OnChange = nil
|
||||
end
|
||||
inherited chkexContest: TCheckBox
|
||||
Left = 176
|
||||
end
|
||||
end
|
||||
LCLVersion = '2.0.4.0'
|
||||
object btnOK: TButton
|
||||
Left = 640
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 844
|
||||
Height = 25
|
||||
Top = 16
|
||||
Top = 36
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Top = 36
|
||||
BorderSpacing.Right = 12
|
||||
Caption = 'OK'
|
||||
OnClick = btnOKClick
|
||||
TabOrder = 1
|
||||
TabOrder = 0
|
||||
end
|
||||
object btnCancel: TButton
|
||||
Left = 640
|
||||
AnchorSideLeft.Control = btnOK
|
||||
AnchorSideTop.Control = btnOK
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 844
|
||||
Height = 25
|
||||
Top = 56
|
||||
Top = 73
|
||||
Width = 75
|
||||
BorderSpacing.Top = 12
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
object btnReSet: TButton
|
||||
Left = 640
|
||||
AnchorSideLeft.Control = btnOK
|
||||
AnchorSideTop.Control = btnCancel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 844
|
||||
Height = 25
|
||||
Top = 96
|
||||
Top = 110
|
||||
Width = 75
|
||||
BorderSpacing.Top = 12
|
||||
Caption = 'Re/Set All'
|
||||
OnClick = btnReSetClick
|
||||
TabOrder = 2
|
||||
end
|
||||
inline fraExportPref1: TfraExportPref
|
||||
Left = 8
|
||||
Top = 8
|
||||
TabOrder = 3
|
||||
DesignLeft = 1719
|
||||
DesignTop = 168
|
||||
inherited lblField1: TLabel
|
||||
AnchorSideLeft.Control = fraExportPref1
|
||||
AnchorSideTop.Control = fraExportPref1
|
||||
end
|
||||
inherited chkAutoColumn: TCheckBox
|
||||
OnChange = chkAutoColumnChange
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -17,16 +17,17 @@ type
|
||||
btnCancel : TButton;
|
||||
btnReSet: TButton;
|
||||
CheckBox1: TCheckBox;
|
||||
fraExportPref1 : TfraExportPref;
|
||||
fraExportPref1: TfraExportPref;
|
||||
procedure btnOKClick(Sender : TObject);
|
||||
procedure btnReSetClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure chkAutoColumnChange(Sender: TObject);
|
||||
procedure FormShow(Sender : TObject);
|
||||
procedure fraExportPref1Click(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
Procedure HideWidths(Hid:Boolean);
|
||||
Procedure HideAll(Hid:Boolean);
|
||||
end;
|
||||
|
||||
var
|
||||
@ -36,19 +37,36 @@ var
|
||||
implementation
|
||||
{$R *.lfm}
|
||||
|
||||
uses dUtils;
|
||||
uses dUtils,fMain;
|
||||
|
||||
{ TfrmExportPref }
|
||||
Procedure TfrmExportPref.HideAll(Hid:Boolean);
|
||||
var i : integer;
|
||||
Begin
|
||||
for i := 0 to fraExportPref1.ComponentCount - 1 do
|
||||
if fraExportPref1.Components[i] is TEdit then
|
||||
tedit(fraExportPref1.Components[i]).Visible := not Hid;
|
||||
end;
|
||||
Procedure TfrmExportPref.HideWidths(Hid:Boolean);
|
||||
var i : integer;
|
||||
Begin
|
||||
for i := 0 to fraExportPref1.ComponentCount - 1 do
|
||||
if fraExportPref1.Components[i] is TEdit then
|
||||
if (StrToIntDef(tedit(fraExportPref1.Components[i]).Text,-1) > -1 ) then
|
||||
tedit(fraExportPref1.Components[i]).Visible := not Hid;
|
||||
end;
|
||||
|
||||
procedure TfrmExportPref.FormShow(Sender : TObject);
|
||||
begin
|
||||
dmUtils.LoadFontSettings(frmExportPref);
|
||||
fraExportPref1.LoadExportPref
|
||||
end;
|
||||
|
||||
procedure TfrmExportPref.fraExportPref1Click(Sender: TObject);
|
||||
begin
|
||||
|
||||
fraExportPref1.LoadExportPref;
|
||||
if not frmMain.ShowWidths then //this is ADIF export case
|
||||
Begin
|
||||
HideAll(True);
|
||||
fraExportPref1.chkAutoColumn.Visible := False;
|
||||
end
|
||||
else if fraExportPref1.chkAutoColumn.Checked = True then // HTML export but auto column checked
|
||||
HideWidths(true);
|
||||
end;
|
||||
|
||||
procedure TfrmExportPref.btnOKClick(Sender : TObject);
|
||||
@ -66,10 +84,17 @@ begin
|
||||
AllChk := not AllChk;
|
||||
end;
|
||||
|
||||
procedure TfrmExportPref.FormCreate(Sender: TObject);
|
||||
procedure TfrmExportPref.chkAutoColumnChange(Sender: TObject);
|
||||
begin
|
||||
|
||||
if frmMain.ShowWidths then // only in HTML export
|
||||
Begin
|
||||
if fraExportPref1.chkAutoColumn.Checked = True then
|
||||
HideWidths(True)
|
||||
else
|
||||
HideWidths(False);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
|
@ -145,7 +145,7 @@ object frmExportProgress: TfrmExportProgress
|
||||
}
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
LCLVersion = '1.8.0.6'
|
||||
LCLVersion = '2.0.4.0'
|
||||
object lblComment: TLabel
|
||||
Left = 0
|
||||
Height = 17
|
||||
@ -168,6 +168,6 @@ object frmExportProgress: TfrmExportProgress
|
||||
Enabled = False
|
||||
OnTimer = tmrExportTimer
|
||||
left = 23
|
||||
top = 28
|
||||
top = 32
|
||||
end
|
||||
end
|
||||
|
@ -1,7 +1,7 @@
|
||||
object frmFilter: TfrmFilter
|
||||
Left = -187
|
||||
Left = 0
|
||||
Height = 658
|
||||
Top = 162
|
||||
Top = 115
|
||||
Width = 817
|
||||
HelpType = htKeyword
|
||||
HelpKeyword = 'help/h23.html#ah22'
|
||||
@ -488,7 +488,7 @@ object frmFilter: TfrmFilter
|
||||
Width = 95
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 6
|
||||
CharCase = ecUppercase
|
||||
OnChange = edtLocatorChange
|
||||
TabOrder = 0
|
||||
end
|
||||
object rbIncludeLoc: TRadioButton
|
||||
@ -1044,7 +1044,7 @@ object frmFilter: TfrmFilter
|
||||
Width = 95
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 6
|
||||
CharCase = ecUppercase
|
||||
OnChange = edtMyLocChange
|
||||
TabOrder = 0
|
||||
end
|
||||
object rbIncludeMyLoc: TRadioButton
|
||||
|
@ -143,6 +143,8 @@ type
|
||||
procedure btnSelectDXCCClick(Sender: TObject);
|
||||
procedure chkRememberChange(Sender: TObject);
|
||||
procedure cmbBandSelectorChange(Sender: TObject);
|
||||
procedure edtLocatorChange(Sender: TObject);
|
||||
procedure edtMyLocChange(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure FormShow(Sender: TObject);
|
||||
@ -624,6 +626,24 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TfrmFilter.edtLocatorChange(Sender: TObject);
|
||||
begin
|
||||
if rbExactlyLoc.Checked then
|
||||
Begin
|
||||
edtLocator.Text:=dmUtils.StdFormatLocator(edtLocator.Text);
|
||||
edtLocator.SelStart := Length(edtLocator.Text);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmFilter.edtMyLocChange(Sender: TObject);
|
||||
begin
|
||||
if rbExactlyMyLoc.Checked then
|
||||
Begin
|
||||
edtMyLoc.Text:=dmUtils.StdFormatLocator(edtMyLoc.Text);
|
||||
edtMyLoc.SelStart := Length(edtMyLoc.Text);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmFilter.FormKeyUp(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
begin
|
||||
|
@ -100,14 +100,20 @@ begin
|
||||
cmbValue.Style:=csDropDown;
|
||||
end;
|
||||
end;
|
||||
lblInfo.Caption := 'Backup your log! Operations can not be undone!';
|
||||
lblInfo.Repaint;
|
||||
lblInfo.Caption := 'Backup your log! Operations can not be undone!';
|
||||
lblInfo.Repaint;
|
||||
end;
|
||||
|
||||
procedure TfrmGroupEdit.cmbValueChange(Sender: TObject);
|
||||
begin
|
||||
lblInfo.Caption := 'Backup your log! Operations can not be undone!';
|
||||
lblInfo.Repaint;
|
||||
|
||||
if (cmbField.ItemIndex=23) or (cmbField.ItemIndex=24) then
|
||||
begin
|
||||
cmbValue.Text :=dmUtils.StdFormatLocator(cmbValue.Text);
|
||||
cmbValue.SelStart := Length(cmbValue.Text);
|
||||
end;
|
||||
end;
|
||||
|
||||
{eQSL sent 28
|
||||
@ -383,7 +389,7 @@ begin
|
||||
exit
|
||||
end
|
||||
end;
|
||||
sql := 'my_loc='+QuotedStr(UpperCase(cmbValue.Text))
|
||||
sql := 'my_loc='+QuotedStr(cmbValue.Text)
|
||||
end;
|
||||
24 : begin
|
||||
if (cmbValue.Text <> '') then
|
||||
@ -403,7 +409,7 @@ begin
|
||||
exit
|
||||
end
|
||||
end;
|
||||
sql := 'loc='+QuotedStr(UpperCase(cmbValue.Text))
|
||||
sql := 'loc='+QuotedStr(cmbValue.Text)
|
||||
end;
|
||||
25 : begin
|
||||
sql := 'profile=' + IntToStr(dmData.GetNRFromProfile(cmbValue.Text))
|
||||
|
@ -125,21 +125,18 @@ begin
|
||||
http.Protocol := '1.1';
|
||||
if http.HTTPMethod('GET',url) then
|
||||
begin
|
||||
mStat.Lines.Add('Connected to LoTW server');
|
||||
http.Document.Seek(0,soBeginning);
|
||||
m.CopyFrom(http.Document,HTTP.Document.Size);
|
||||
http.Clear;
|
||||
mStat.Lines.Add('File downloaded successfully');
|
||||
mStat.Lines.Add('File:');
|
||||
mStat.Lines.Add(AdifFile);
|
||||
mStat.Lines.Add('File: '+ AdifFile);
|
||||
Done := True;
|
||||
Repaint;
|
||||
Application.ProcessMessages;
|
||||
mStat.Lines.Add('Preparing import ....');
|
||||
if not FileExists(AdifFile) then
|
||||
begin
|
||||
mStat.Lines.Add('File: ');
|
||||
mStat.Lines.Add(AdifFile);
|
||||
mStat.Lines.Add('File: '+ AdifFile);
|
||||
mStat.Lines.Add('DOES NOT exist!');
|
||||
exit
|
||||
end;
|
||||
@ -203,17 +200,26 @@ procedure TfrmImportLoTWWeb.FormCloseQuery(Sender: TObject;
|
||||
begin
|
||||
dmUtils.SaveWindowPos(self)
|
||||
end;
|
||||
|
||||
procedure TfrmImportLoTWWeb.SockCallBack (Sender: TObject; Reason: THookSocketReason; const Value: string);
|
||||
begin
|
||||
if Reason = HR_ReadCount then
|
||||
begin
|
||||
FileSize := FileSize + StrToInt(Value);
|
||||
if not Done then
|
||||
mStat.Lines.Strings[mStat.Lines.Count-1] := 'Size: '+ IntToStr(FileSize);
|
||||
Repaint;
|
||||
Application.ProcessMessages
|
||||
end
|
||||
case Reason of
|
||||
HR_Connect : Begin
|
||||
if dmData.DebugLevel>=1 then Writeln( 'Connected to LoTW server');
|
||||
mStat.Lines.Add('Connected to LoTW server');
|
||||
mStat.Lines.Add('Downloading...');
|
||||
Repaint;
|
||||
Application.ProcessMessages
|
||||
end;
|
||||
|
||||
HR_ReadCount: begin
|
||||
FileSize := FileSize + StrToInt(Value);
|
||||
if not Done then
|
||||
mStat.Lines.Strings[mStat.Lines.Count-1] := 'Downloading size: '+ IntToStr(FileSize);
|
||||
Repaint;
|
||||
Application.ProcessMessages
|
||||
end;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
205
src/fMain.lfm
@ -1,17 +1,17 @@
|
||||
object frmMain: TfrmMain
|
||||
Left = 266
|
||||
Height = 626
|
||||
Top = 52
|
||||
Width = 874
|
||||
Left = -14
|
||||
Height = 669
|
||||
Top = 498
|
||||
Width = 986
|
||||
HelpType = htKeyword
|
||||
HelpKeyword = 'help/index.html'
|
||||
HorzScrollBar.Page = 672
|
||||
VertScrollBar.Page = 248
|
||||
VertScrollBar.Page = 272
|
||||
ActiveControl = Panel2
|
||||
AutoScroll = True
|
||||
Caption = 'CQRLOG for Linux'
|
||||
ClientHeight = 601
|
||||
ClientWidth = 874
|
||||
ClientHeight = 644
|
||||
ClientWidth = 986
|
||||
Constraints.MinHeight = 148
|
||||
Constraints.MinWidth = 536
|
||||
Icon.Data = {
|
||||
@ -159,14 +159,14 @@ object frmMain: TfrmMain
|
||||
OnCreate = FormCreate
|
||||
OnKeyDown = FormKeyDown
|
||||
OnShow = FormShow
|
||||
LCLVersion = '2.0.2.0'
|
||||
LCLVersion = '2.0.4.0'
|
||||
object sbMain: TStatusBar
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 19
|
||||
Top = 582
|
||||
Width = 874
|
||||
Top = 625
|
||||
Width = 986
|
||||
Panels = <
|
||||
item
|
||||
Text = 'QSO:'
|
||||
@ -192,12 +192,12 @@ object frmMain: TfrmMain
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 40
|
||||
Top = 536
|
||||
Width = 874
|
||||
Top = 579
|
||||
Width = 986
|
||||
Align = alBottom
|
||||
BorderSpacing.Bottom = 6
|
||||
ClientHeight = 40
|
||||
ClientWidth = 874
|
||||
ClientWidth = 986
|
||||
ParentColor = False
|
||||
TabOrder = 0
|
||||
OnClick = pnlButtonsClick
|
||||
@ -234,7 +234,7 @@ object frmMain: TfrmMain
|
||||
AnchorSideTop.Control = btnNewQSO
|
||||
AnchorSideRight.Control = pnlButtons
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 734
|
||||
Left = 846
|
||||
Height = 33
|
||||
Top = 5
|
||||
Width = 130
|
||||
@ -249,7 +249,7 @@ object frmMain: TfrmMain
|
||||
AnchorSideTop.Control = btnNewQSO
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = btnClose
|
||||
Left = 594
|
||||
Left = 706
|
||||
Height = 33
|
||||
Top = 5
|
||||
Width = 130
|
||||
@ -264,7 +264,7 @@ object frmMain: TfrmMain
|
||||
AnchorSideTop.Control = btnNewQSO
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = btnDeleteQSO
|
||||
Left = 454
|
||||
Left = 566
|
||||
Height = 33
|
||||
Top = 5
|
||||
Width = 130
|
||||
@ -295,14 +295,14 @@ object frmMain: TfrmMain
|
||||
Left = 0
|
||||
Height = 38
|
||||
Top = 31
|
||||
Width = 874
|
||||
Width = 986
|
||||
Align = alTop
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.InnerBorder = 5
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 38
|
||||
ClientWidth = 874
|
||||
ClientWidth = 986
|
||||
TabOrder = 1
|
||||
object lblQSOInLog: TLabel
|
||||
AnchorSideLeft.Control = Panel2
|
||||
@ -342,7 +342,7 @@ object frmMain: TfrmMain
|
||||
AnchorSideLeft.Control = Panel2
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = lblQSOInLog
|
||||
Left = 417
|
||||
Left = 473
|
||||
Height = 17
|
||||
Top = 11
|
||||
Width = 40
|
||||
@ -356,7 +356,7 @@ object frmMain: TfrmMain
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = lblDXCCWorked
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 467
|
||||
Left = 523
|
||||
Height = 17
|
||||
Top = 11
|
||||
Width = 27
|
||||
@ -371,7 +371,7 @@ object frmMain: TfrmMain
|
||||
object lblDXCCConfirmed: TLabel
|
||||
AnchorSideTop.Control = lblQSOInLog
|
||||
AnchorSideRight.Control = lblDXCCCmf
|
||||
Left = 728
|
||||
Left = 840
|
||||
Height = 17
|
||||
Top = 11
|
||||
Width = 73
|
||||
@ -389,7 +389,7 @@ object frmMain: TfrmMain
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = lblDXCCConfirmed
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 811
|
||||
Left = 923
|
||||
Height = 17
|
||||
Top = 11
|
||||
Width = 53
|
||||
@ -408,9 +408,9 @@ object frmMain: TfrmMain
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 403
|
||||
Height = 422
|
||||
Top = 69
|
||||
Width = 874
|
||||
Width = 986
|
||||
Align = alClient
|
||||
Color = clWindow
|
||||
Columns = <>
|
||||
@ -430,7 +430,7 @@ object frmMain: TfrmMain
|
||||
Left = 0
|
||||
Height = 26
|
||||
Top = 0
|
||||
Width = 874
|
||||
Width = 986
|
||||
BorderWidth = 4
|
||||
EdgeOuter = esRaised
|
||||
Flat = False
|
||||
@ -712,13 +712,13 @@ object frmMain: TfrmMain
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 0
|
||||
Height = 64
|
||||
Top = 472
|
||||
Width = 874
|
||||
Height = 88
|
||||
Top = 491
|
||||
Width = 986
|
||||
Align = alBottom
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 64
|
||||
ClientWidth = 874
|
||||
ClientHeight = 88
|
||||
ClientWidth = 986
|
||||
TabOrder = 5
|
||||
object lblCommentForQSO: TLabel
|
||||
AnchorSideLeft.Control = pnlDetails
|
||||
@ -753,12 +753,12 @@ object frmMain: TfrmMain
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = lblCommentForQSO
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 142
|
||||
Left = 138
|
||||
Height = 17
|
||||
Top = 10
|
||||
Width = 85
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 10
|
||||
BorderSpacing.Left = 6
|
||||
Layout = tlBottom
|
||||
ParentColor = False
|
||||
end
|
||||
@ -777,23 +777,22 @@ object frmMain: TfrmMain
|
||||
ParentColor = False
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 444
|
||||
Height = 64
|
||||
Left = 566
|
||||
Height = 62
|
||||
Top = 0
|
||||
Width = 186
|
||||
Width = 210
|
||||
Align = alRight
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 64
|
||||
ClientWidth = 186
|
||||
ClientHeight = 62
|
||||
ClientWidth = 210
|
||||
TabOrder = 0
|
||||
object lblQSLSDate: TLabel
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = Panel1
|
||||
Left = 7
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 10
|
||||
Width = 70
|
||||
BorderSpacing.Left = 7
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'QS_S date:'
|
||||
Layout = tlBottom
|
||||
@ -805,12 +804,12 @@ object frmMain: TfrmMain
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = lblQSLSDate
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 89
|
||||
Left = 76
|
||||
Height = 17
|
||||
Top = 10
|
||||
Width = 85
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 12
|
||||
BorderSpacing.Left = 6
|
||||
Layout = tlBottom
|
||||
ParentColor = False
|
||||
end
|
||||
@ -819,12 +818,12 @@ object frmMain: TfrmMain
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = lblQSLRDate
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 90
|
||||
Left = 77
|
||||
Height = 17
|
||||
Top = 37
|
||||
Width = 86
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 12
|
||||
BorderSpacing.Left = 6
|
||||
Layout = tlBottom
|
||||
ParentColor = False
|
||||
end
|
||||
@ -832,7 +831,7 @@ object frmMain: TfrmMain
|
||||
AnchorSideLeft.Control = lblQSLSDate
|
||||
AnchorSideTop.Control = lblQSLSDate
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 7
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 37
|
||||
Width = 71
|
||||
@ -844,23 +843,22 @@ object frmMain: TfrmMain
|
||||
end
|
||||
end
|
||||
object Panel3: TPanel
|
||||
Left = 630
|
||||
Height = 64
|
||||
Left = 776
|
||||
Height = 62
|
||||
Top = 0
|
||||
Width = 244
|
||||
Width = 210
|
||||
Align = alRight
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 64
|
||||
ClientWidth = 244
|
||||
ClientHeight = 62
|
||||
ClientWidth = 210
|
||||
TabOrder = 1
|
||||
object lblLoTWQSLSDate: TLabel
|
||||
AnchorSideLeft.Control = Panel3
|
||||
AnchorSideTop.Control = Panel3
|
||||
Left = 7
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 10
|
||||
Width = 110
|
||||
BorderSpacing.Left = 7
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'LoTW QS_S date:'
|
||||
Layout = tlBottom
|
||||
@ -872,12 +870,12 @@ object frmMain: TfrmMain
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = lblLoTWQSLSDate
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 134
|
||||
Left = 116
|
||||
Height = 17
|
||||
Top = 10
|
||||
Width = 90
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 17
|
||||
BorderSpacing.Left = 6
|
||||
Layout = tlBottom
|
||||
ParentColor = False
|
||||
end
|
||||
@ -887,20 +885,21 @@ object frmMain: TfrmMain
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideBottom.Control = lblLoTWQSLRDate
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 135
|
||||
Left = 117
|
||||
Height = 17
|
||||
Top = 37
|
||||
Width = 91
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 17
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 10
|
||||
Layout = tlBottom
|
||||
ParentColor = False
|
||||
end
|
||||
object lblLoTWQSLRDate: TLabel
|
||||
AnchorSideLeft.Control = lblLoTWQSLSDate
|
||||
AnchorSideTop.Control = lblLoTWQSLSDate
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 7
|
||||
Left = 0
|
||||
Height = 17
|
||||
Top = 37
|
||||
Width = 111
|
||||
@ -911,6 +910,100 @@ object frmMain: TfrmMain
|
||||
ParentFont = False
|
||||
end
|
||||
end
|
||||
object pnlDistance: TPanel
|
||||
Left = 0
|
||||
Height = 26
|
||||
Top = 62
|
||||
Width = 986
|
||||
Align = alBottom
|
||||
ClientHeight = 26
|
||||
ClientWidth = 986
|
||||
TabOrder = 2
|
||||
Visible = False
|
||||
object lblDistance: TLabel
|
||||
AnchorSideLeft.Control = pnlDistance
|
||||
AnchorSideTop.Control = pnlDistance
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 11
|
||||
Height = 17
|
||||
Top = 5
|
||||
Width = 61
|
||||
BorderSpacing.Left = 10
|
||||
Caption = 'Distance:'
|
||||
ParentColor = False
|
||||
Visible = False
|
||||
end
|
||||
object lblDist: TLabel
|
||||
AnchorSideLeft.Control = lblDistance
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = lblDistance
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 78
|
||||
Height = 17
|
||||
Top = 5
|
||||
Width = 42
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'lblDist'
|
||||
ParentColor = False
|
||||
end
|
||||
object lblLongest: TLabel
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = lblDistance
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = pnlDistance
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 908
|
||||
Height = 17
|
||||
Top = 5
|
||||
Width = 67
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Right = 10
|
||||
Caption = 'lblLongest'
|
||||
ParentColor = False
|
||||
end
|
||||
object lblLongestDist: TLabel
|
||||
AnchorSideTop.Control = lblDistance
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = lblLongest
|
||||
Left = 815
|
||||
Height = 17
|
||||
Top = 5
|
||||
Width = 87
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Right = 6
|
||||
Caption = 'Longest QSO:'
|
||||
ParentColor = False
|
||||
end
|
||||
object lblSumDistances: TLabel
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = lblDistance
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = lblSumDist
|
||||
Left = 354
|
||||
Height = 17
|
||||
Top = 5
|
||||
Width = 94
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Right = 6
|
||||
Caption = 'Total distance:'
|
||||
ParentColor = False
|
||||
end
|
||||
object lblSumDist: TLabel
|
||||
AnchorSideLeft.Control = pnlDistance
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = lblDistance
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 454
|
||||
Height = 17
|
||||
Top = 5
|
||||
Width = 79
|
||||
Caption = 'lblSumDist '
|
||||
ParentColor = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object mnuMain: TMainMenu
|
||||
Images = imgMain1
|
||||
|
106
src/fMain.pas
@ -18,7 +18,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Menus,
|
||||
ActnList, ExtCtrls, StdCtrls, ComCtrls, DBGrids, Buttons, LCLType, IniFiles, process,
|
||||
Grids, DBCtrls, dLogUpload;
|
||||
Grids, DBCtrls, dLogUpload,db;
|
||||
|
||||
type
|
||||
|
||||
@ -112,6 +112,10 @@ type
|
||||
Image1: TImage;
|
||||
imgMain: TImageList;
|
||||
imgMain1: TImageList;
|
||||
lblDist: TLabel;
|
||||
lblDistance: TLabel;
|
||||
lblLongest: TLabel;
|
||||
lblLongestDist: TLabel;
|
||||
lblQSOInLog: TLabel;
|
||||
lblDXCCWorked: TLabel;
|
||||
lblCommentForQSO: TLabel;
|
||||
@ -124,6 +128,8 @@ type
|
||||
lblDXCCCmf: TLabel;
|
||||
lblDXCC: TLabel;
|
||||
lblQSOCount: TLabel;
|
||||
lblSumDist: TLabel;
|
||||
lblSumDistances: TLabel;
|
||||
MenuItem1: TMenuItem;
|
||||
MenuItem10: TMenuItem;
|
||||
MenuItem100: TMenuItem;
|
||||
@ -263,6 +269,7 @@ type
|
||||
dlgOpen: TOpenDialog;
|
||||
Panel1: TPanel;
|
||||
Panel3: TPanel;
|
||||
pnlDistance: TPanel;
|
||||
pnlDetails: TPanel;
|
||||
pnlButtons: TPanel;
|
||||
Panel2: TPanel;
|
||||
@ -423,16 +430,17 @@ type
|
||||
private
|
||||
InRefresh : Boolean;
|
||||
WhatUpNext : TWhereToUpload;
|
||||
|
||||
DistColumnIndex :integer;
|
||||
procedure ChechkSelRecords;
|
||||
{ private declarations }
|
||||
public
|
||||
ShowWidths : Boolean;
|
||||
procedure RefreshQSODXCCCount;
|
||||
procedure MarkQSLSend(symbol: string);
|
||||
procedure ShowFields;
|
||||
procedure ReloadGrid;
|
||||
procedure CheckAttachment;
|
||||
|
||||
function CalcQrb(Myloc,loc:string;showUnits:boolean):string;
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
@ -449,7 +457,7 @@ uses fNewQSO, fPreferences, dUtils, dData, dDXCC, dDXCluster, fMarkQSL, fDXCCSta
|
||||
fQSODetails, fWAZITUStat, fIOTAStat, fDatabaseUpdate, fExLabelPrint,
|
||||
fImportLoTWWeb, fLoTWExport, fGroupEdit, fCustomStat, fSQLConsole, fCallAttachment,
|
||||
fEditDetails, fQSLViewer, uMyIni, fRebuildMembStat, fAbout, fBigSquareStat,
|
||||
feQSLUpload, feQSLDownload, fSOTAExport, fRotControl, fLogUploadStatus, fExportPref;
|
||||
feQSLUpload, feQSLDownload, fSOTAExport, fRotControl, fLogUploadStatus, fExportPref,uVersion;
|
||||
|
||||
procedure TfrmMain.ReloadGrid;
|
||||
begin
|
||||
@ -458,10 +466,30 @@ begin
|
||||
end;
|
||||
|
||||
procedure TfrmMain.RefreshQSODXCCCount;
|
||||
var
|
||||
SumDist: int64;
|
||||
Longest,
|
||||
MainLocCount : integer;
|
||||
qrb,
|
||||
qrc,
|
||||
Myloc,
|
||||
loc : String;
|
||||
begin
|
||||
lblQSOCount.Caption := IntToStr(dmData.GetQSOCount);
|
||||
lblDXCC.Caption := IntToStr(dmDXCC.DXCCCount);
|
||||
lblDXCCCmf.Caption := IntToStr(dmDXCC.DXCCCmfCount)
|
||||
lblDXCCCmf.Caption := IntToStr(dmDXCC.DXCCCmfCount);
|
||||
if pnlDistance.Visible then
|
||||
Begin
|
||||
dmData.GetQSODistanceSum(SumDist,Longest,MainLocCount);
|
||||
if cqrini.ReadBool('Program','ShowMiles',False) then
|
||||
lblSumDist.Caption := FloatToStr(dmUtils.KmToMiles(SumDist)) + 'mi'
|
||||
else
|
||||
lblSumDist.Caption := IntToStr(SumDist) + 'km';
|
||||
if cqrini.ReadBool('Program','ShowMiles',False) then
|
||||
lblLongest.Caption := FloatToStr(dmUtils.KmToMiles(Longest)) + 'mi'
|
||||
else
|
||||
lblLongest.Caption := IntToStr(Longest) + 'km';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.acPreferencesExecute(Sender: TObject);
|
||||
@ -604,8 +632,9 @@ var
|
||||
begin
|
||||
tmp := '';
|
||||
sDate := '';
|
||||
dmUtils.DateInRightFormat(now, tmp, sDate);
|
||||
sbMain.Panels[0].Text := sDate;
|
||||
dmUtils.DateInRightFormat(now , tmp, sDate);
|
||||
//sbMain.Panels[0].Text :=sDate; //why we have 2 timers for showing date in panel???
|
||||
sbMain.Panels[0].Text :=uVersion.cBUILD_DATE;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.tmrUploadAllTimer(Sender: TObject);
|
||||
@ -781,7 +810,7 @@ begin
|
||||
sDate := '';
|
||||
Date := dmUtils.GetDateTime(0);
|
||||
dmUtils.DateInRightFormat(date, tmp, sDate);
|
||||
sbMain.Panels[4].Text := sDate + ' ' + TimeToStr(Date)
|
||||
sbMain.Panels[4].Text := sDate + ' ' + TimeToStr(Date);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.acAboutExecute(Sender: TObject);
|
||||
@ -1073,7 +1102,7 @@ begin
|
||||
while not dbgrdMain.DataSource.DataSet.EOF do
|
||||
begin
|
||||
dbgrdMain.SelectedRows.CurrentRowSelected := True;
|
||||
dbgrdMain.DataSource.DataSet.Next
|
||||
dbgrdMain.DataSource.DataSet.Next;
|
||||
end
|
||||
finally
|
||||
dbgrdMain.DataSource.Dataset.EnableControls;
|
||||
@ -1660,6 +1689,8 @@ begin
|
||||
end;
|
||||
dmData.IsFilter := False;
|
||||
dmData.IsSFilter := False;
|
||||
lblDist.Caption :='';
|
||||
lblDistance.Visible:=(lblDist.Caption <>'');
|
||||
RefreshQSODXCCCount
|
||||
end;
|
||||
|
||||
@ -1670,6 +1701,9 @@ end;
|
||||
|
||||
procedure TfrmMain.acCreateFilterExecute(Sender: TObject);
|
||||
begin
|
||||
lblDist.Caption :='';
|
||||
lblDistance.Visible:=(lblDist.Caption <>'');
|
||||
|
||||
with TfrmFilter.Create(self) do
|
||||
try
|
||||
ShowModal;
|
||||
@ -1700,7 +1734,7 @@ begin
|
||||
dlgSave.Filter := 'ADIF|*.adi;*.ADI';
|
||||
if dlgSave.Execute then
|
||||
begin
|
||||
|
||||
ShowWidths:=false;
|
||||
frmExportPref := TfrmExportPref.Create(frmMain);
|
||||
try
|
||||
if frmExportPref.ShowModal = mrCancel then
|
||||
@ -1729,7 +1763,7 @@ begin
|
||||
|
||||
if dlgSave.Execute then
|
||||
begin
|
||||
|
||||
ShowWidths:=true;
|
||||
frmExportPref := TfrmExportPref.Create(frmMain);
|
||||
try
|
||||
if frmExportPref.ShowModal = mrCancel then
|
||||
@ -1910,6 +1944,10 @@ begin
|
||||
dbtQSLSDate.DataField := 'qsls_date';
|
||||
dbtQSLRDate.DataField := 'qslr_date';
|
||||
|
||||
lblDist.Caption := '';
|
||||
lblSumDist.Caption := '';
|
||||
lblLongest.Caption := '';
|
||||
|
||||
sbMain.Panels[1].Text := 'Ver. ' + dmData.VersionString;
|
||||
sbMain.Panels[1].Width := 140;
|
||||
tmrTime.Enabled := True;
|
||||
@ -2028,6 +2066,7 @@ procedure TfrmMain.ShowFields;
|
||||
dbgrdMain.Columns[i].Alignment := taCenter;
|
||||
dbgrdMain.Columns[i].Title.Alignment := taCenter;
|
||||
end;
|
||||
|
||||
if (UpperCase(dbgrdMain.Columns[i].DisplayName) = 'WAZ') then
|
||||
begin
|
||||
dbgrdMain.Columns[i].Alignment := taCenter;
|
||||
@ -2086,6 +2125,8 @@ procedure TfrmMain.ShowFields;
|
||||
end;
|
||||
|
||||
begin
|
||||
pnlDistance.Visible := cqrini.ReadBool('Columns', 'Distance', False);
|
||||
|
||||
dbgrdMain.DataSource := dmData.dsrMain;
|
||||
dbgrdMain.ResetColWidths;
|
||||
dmUtils.LoadForm(frmMain);
|
||||
@ -2195,14 +2236,28 @@ end;
|
||||
|
||||
procedure TfrmMain.ChechkSelRecords;
|
||||
begin
|
||||
|
||||
if dbgrdMain.SelectedRows.Count > 1 then
|
||||
begin
|
||||
lblDist.Visible :=False;
|
||||
lblDistance.Visible:=False;
|
||||
sbMain.Panels[3].Text := IntToStr(dbgrdMain.SelectedRows.Count) + ' records selected'
|
||||
end
|
||||
else
|
||||
begin
|
||||
sbMain.Panels[3].Text := '';
|
||||
lblDist.Visible :=True;
|
||||
lblDistance.Visible:=True;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.CheckAttachment;
|
||||
var
|
||||
qrb:String;
|
||||
f :integer;
|
||||
|
||||
begin
|
||||
|
||||
if not dmData.qCQRLOG.Active then
|
||||
exit;
|
||||
if dmData.qCQRLOG.RecordCount = 0 then
|
||||
@ -2219,9 +2274,34 @@ begin
|
||||
acQSLImage.Enabled := True
|
||||
else
|
||||
acQSLImage.Enabled := False
|
||||
end
|
||||
end;
|
||||
|
||||
if pnlDistance.Visible then
|
||||
begin
|
||||
qrb := CalcQrb(dmData.qCQRLOG.Fields[19].AsString,dmData.qCQRLOG.Fields[18].AsString,True);
|
||||
lblDistance.Visible:=(qrb<>'') and (sbMain.Panels[3].Text = '');
|
||||
lblDist.Caption := qrb
|
||||
end
|
||||
end;
|
||||
function TfrmMain.CalcQrb(Myloc,loc:string;showUnits:boolean):string;
|
||||
var
|
||||
qrb, //distance
|
||||
qrc: String; //direction
|
||||
Begin
|
||||
if length(Myloc) = 4 then Myloc := Myloc +'LL';
|
||||
if length(loc) = 4 then loc := loc +'LL';
|
||||
qrb:='';
|
||||
dmUtils.DistanceFromLocator(Myloc,loc,qrb,qrc);
|
||||
if qrb <>'' then
|
||||
if cqrini.ReadBool('Program','ShowMiles',False) then
|
||||
Begin
|
||||
qrb := FloatToStr(dmUtils.KmToMiles(StrToInt(qrb)));
|
||||
if showUnits then qrb:= qrb + 'mi';
|
||||
end
|
||||
else
|
||||
if showUnits then qrb := qrb + 'km';
|
||||
Result := qrb;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
object frmNewQSO: TfrmNewQSO
|
||||
Left = 35
|
||||
Left = 159
|
||||
Height = 709
|
||||
Top = 64
|
||||
Top = 208
|
||||
Width = 997
|
||||
HelpType = htKeyword
|
||||
HelpKeyword = 'help/index.html'
|
||||
@ -2137,7 +2137,7 @@ object frmNewQSO: TfrmNewQSO
|
||||
OnKeyPress = FormKeyPress
|
||||
OnShow = FormShow
|
||||
OnWindowStateChange = FormWindowStateChange
|
||||
LCLVersion = '2.0.2.0'
|
||||
LCLVersion = '2.0.4.0'
|
||||
object sbNewQSO: TStatusBar
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 0
|
||||
@ -3027,15 +3027,14 @@ object frmNewQSO: TfrmNewQSO
|
||||
Width = 72
|
||||
BorderSpacing.Left = 5
|
||||
BorderSpacing.Top = 2
|
||||
CharCase = ecUppercase
|
||||
MaxLength = 10
|
||||
OnChange = edtGridChange
|
||||
OnEnter = edtGridEnter
|
||||
OnExit = edtGridExit
|
||||
OnKeyDown = edtGridKeyDown
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 7
|
||||
Text = 'JO80OB'
|
||||
end
|
||||
object edtPWR: TEdit
|
||||
AnchorSideLeft.Control = edtGrid
|
||||
@ -3557,11 +3556,11 @@ object frmNewQSO: TfrmNewQSO
|
||||
Height = 135
|
||||
Top = 376
|
||||
Width = 938
|
||||
ActivePage = tabDXCCStat
|
||||
ActivePage = tabSatellite
|
||||
Align = alBottom
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Top = 40
|
||||
TabIndex = 0
|
||||
TabIndex = 1
|
||||
TabOrder = 28
|
||||
object tabDXCCStat: TTabSheet
|
||||
Caption = 'DXCC statistic'
|
||||
@ -3664,11 +3663,10 @@ object frmNewQSO: TfrmNewQSO
|
||||
Width = 128
|
||||
BorderSpacing.Left = 10
|
||||
BorderSpacing.Top = 2
|
||||
OnChange = cmbPropagationChange
|
||||
OnChange = edtRXFreqChange
|
||||
OnExit = edtRXFreqExit
|
||||
ParentFont = False
|
||||
TabOrder = 2
|
||||
Text = 'edtRXFreq'
|
||||
end
|
||||
object btnClearSatellite: TButton
|
||||
AnchorSideLeft.Control = edtRXFreq
|
||||
|
@ -393,6 +393,7 @@ type
|
||||
procedure edtDateEnter(Sender: TObject);
|
||||
procedure edtDXCCRefEnter(Sender: TObject);
|
||||
procedure edtEndTimeEnter(Sender: TObject);
|
||||
procedure edtGridChange(Sender: TObject);
|
||||
procedure edtGridEnter(Sender: TObject);
|
||||
procedure edtHisRSTExit(Sender: TObject);
|
||||
procedure edtHisRSTKeyPress(Sender : TObject; var Key : char);
|
||||
@ -404,6 +405,7 @@ type
|
||||
procedure edtQSL_VIAEnter(Sender: TObject);
|
||||
procedure edtQTHEnter(Sender: TObject);
|
||||
procedure edtRemQSOEnter(Sender: TObject);
|
||||
procedure edtRXFreqChange(Sender: TObject);
|
||||
procedure edtRXFreqExit(Sender: TObject);
|
||||
procedure edtStartTimeEnter(Sender: TObject);
|
||||
procedure edtStateEnter(Sender: TObject);
|
||||
@ -625,6 +627,7 @@ type
|
||||
procedure SelTextFix(Edit : TEdit; var Key : Char);
|
||||
|
||||
function CheckFreq(freq : String) : String;
|
||||
procedure WaitWeb(secs:integer);
|
||||
|
||||
public
|
||||
QTHfromCb : Boolean;
|
||||
@ -718,6 +721,7 @@ var
|
||||
c_ErrMsg : String;
|
||||
c_SyncText : String;
|
||||
c_running : Boolean = False;
|
||||
c_lock : Boolean = False;
|
||||
Azimuth : String;
|
||||
|
||||
minimalize : Boolean;
|
||||
@ -740,6 +744,7 @@ uses dUtils, fChangeLocator, dDXCC, dDXCluster, dData, fMain, fSelectDXCC, fGray
|
||||
fBigSquareStat, fSCP, fRotControl, fLogUploadStatus, fRbnMonitor, fException, fCommentToCall,
|
||||
fRemind, fContest, fXfldigi, dMembership, dSatellite;
|
||||
|
||||
|
||||
procedure TQSLTabThread.Execute;
|
||||
var
|
||||
data : string;
|
||||
@ -768,7 +773,19 @@ begin
|
||||
Synchronize(@frmNewQSO.SynDXCCTab)
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.WaitWeb(secs:integer);
|
||||
var
|
||||
l:integer;
|
||||
Begin
|
||||
//set c_lock false before calling info fetch!
|
||||
for l:=1 to secs*10 do //wait for web response sec timeout
|
||||
Begin
|
||||
if (( not c_lock) and c_running )then c_lock := true;
|
||||
sleep(100);
|
||||
Application.ProcessMessages;
|
||||
if ( c_lock and (not c_running ))then break;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.SynDXCCTab;
|
||||
begin
|
||||
@ -1074,6 +1091,7 @@ begin
|
||||
QTHfromCb := False;
|
||||
lblAmbiguous.Visible := False;
|
||||
old_call := '';
|
||||
idcall := ''; //without this 2ESC when cursor is at cmbfreq(Auto=unchecked) restores club->award text after clearall
|
||||
old_time := '';
|
||||
old_rstr := '';
|
||||
old_rsts := '';
|
||||
@ -1894,8 +1912,7 @@ var
|
||||
Buf,
|
||||
prik,
|
||||
data:string;
|
||||
chkDuplicates,
|
||||
c_lock: boolean;
|
||||
chkDuplicates :boolean;
|
||||
i:longint;
|
||||
l:integer;
|
||||
|
||||
@ -1940,13 +1957,7 @@ begin
|
||||
edtCall.Text := uppercase(data);
|
||||
c_lock :=false;
|
||||
edtCallExit(nil); //does info fetch
|
||||
for l:=1 to 50 do //wait for web response 5sec timeout
|
||||
Begin
|
||||
if (( not c_lock) and c_running )then c_lock := true;
|
||||
sleep(100);
|
||||
Application.ProcessMessages;
|
||||
if ( c_lock and (not c_running ))then break;
|
||||
end;
|
||||
WaitWeb(5); //wait for web response 5sec timeout
|
||||
end;
|
||||
'GRIDSQUARE' :Begin
|
||||
data := uppercase(data);
|
||||
@ -2448,9 +2459,10 @@ begin
|
||||
old_cfreq := '';
|
||||
old_cmode := '';
|
||||
edtCall.Text := call;
|
||||
c_lock:=False;
|
||||
edtCallExit(nil); //<--------this will fetch web info
|
||||
if dmData.DebugLevel>=1 then Writeln('Call was not there already');
|
||||
sleep(1000); // give time for web
|
||||
WaitWeb(2); // give time for web
|
||||
end;
|
||||
|
||||
//these can be altered always
|
||||
@ -2621,9 +2633,10 @@ begin
|
||||
if edtCall.Text <> call then //call (and web info) maybe there already ok from status packet
|
||||
Begin
|
||||
edtCall.Text := call;
|
||||
c_lock:=False;
|
||||
edtCallExit(nil); //<--------this will fetch web info
|
||||
if dmData.DebugLevel>=1 then Writeln('Call was not there already');
|
||||
sleep(1000); // give time for web
|
||||
WaitWeb(2); // give time for web
|
||||
end;
|
||||
//---------------------------------------------LOCATOR-------
|
||||
loc:= trim(StrBuf(index));
|
||||
@ -4087,6 +4100,12 @@ begin
|
||||
edtEndTime.SelectAll
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtGridChange(Sender: TObject);
|
||||
begin
|
||||
edtGrid.Text := dmUtils.StdFormatLocator(edtGrid.Text);
|
||||
edtGrid.SelStart := Length(edtGrid.Text);
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtGridEnter(Sender: TObject);
|
||||
begin
|
||||
edtGrid.SelectAll
|
||||
@ -4288,6 +4307,7 @@ begin
|
||||
LogName := dmData.qLogList.Fields[1].AsString;
|
||||
|
||||
frmDXCluster.StopAllConnections;
|
||||
CloseAllWindows; //fixes issue #163
|
||||
SaveSettings;
|
||||
dmData.CloseDatabases;
|
||||
|
||||
@ -4437,6 +4457,21 @@ begin
|
||||
edtRemQSO.SelectAll
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtRXFreqChange(Sender: TObject);
|
||||
begin
|
||||
//prevents typing in too large number value for database
|
||||
if (length(edtRXFreq.Text)>6) then
|
||||
if ( (pos(',',edtRXFreq.Text) = 0) and (pos('.',edtRXFreq.Text) = 0) )then
|
||||
begin
|
||||
edtRXFreq.Text:= copy(edtRXFreq.Text,1,6);
|
||||
edtRXFreq.SelStart := Length(edtRXFreq.Text);
|
||||
end;
|
||||
//no jokes...
|
||||
if (pos('999999.9999',edtRXFreq.Text)>0) or (pos('999999,9999',edtRXFreq.Text)>0) then
|
||||
edtRXFreq.Text:= '';
|
||||
frmNewQSO.cmbPropagationChange(nil);
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.edtRXFreqExit(Sender: TObject);
|
||||
begin
|
||||
edtRXFreq.Text := CheckFreq(edtRXFreq.Text);
|
||||
@ -4989,11 +5024,11 @@ begin
|
||||
edtCall.SetFocus
|
||||
end
|
||||
else
|
||||
edtCall.Text := ''; // OnChange calls ClearAll;
|
||||
edtCall.Text := ''; // OnChange calls ClearAll;
|
||||
EscFirstTime := False;
|
||||
old_ccall := '';
|
||||
old_cfreq := '';
|
||||
old_cmode := ''
|
||||
old_cmode := '';
|
||||
end
|
||||
else begin
|
||||
if Assigned(CWint) then
|
||||
|
@ -1,7 +1,7 @@
|
||||
object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
Left = 548
|
||||
Height = 404
|
||||
Top = 298
|
||||
Left = 522
|
||||
Height = 425
|
||||
Top = 146
|
||||
Width = 395
|
||||
HorzScrollBar.Page = 394
|
||||
VertScrollBar.Page = 403
|
||||
@ -9,19 +9,19 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
BorderIcons = [biSystemMenu]
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'frmNewQTHProfile'
|
||||
ClientHeight = 404
|
||||
ClientHeight = 425
|
||||
ClientWidth = 395
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
Position = poMainFormCenter
|
||||
LCLVersion = '1.8.2.0'
|
||||
LCLVersion = '2.0.4.0'
|
||||
object lblLocator: TLabel
|
||||
AnchorSideTop.Control = edtProfNr
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 69
|
||||
Width = 53
|
||||
Top = 76
|
||||
Width = 48
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'Locator'
|
||||
ParentColor = False
|
||||
@ -31,8 +31,8 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 125
|
||||
Width = 29
|
||||
Top = 139
|
||||
Width = 28
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'QTH'
|
||||
ParentColor = False
|
||||
@ -42,8 +42,8 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 177
|
||||
Height = 17
|
||||
Top = 69
|
||||
Width = 73
|
||||
Top = 68
|
||||
Width = 70
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'Equipment'
|
||||
ParentColor = False
|
||||
@ -53,8 +53,8 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 244
|
||||
Width = 59
|
||||
Top = 258
|
||||
Width = 57
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'Remarks'
|
||||
ParentColor = False
|
||||
@ -64,7 +64,7 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 13
|
||||
Width = 100
|
||||
Width = 95
|
||||
BorderSpacing.Bottom = 2
|
||||
Caption = 'Profile number'
|
||||
ParentColor = False
|
||||
@ -73,12 +73,12 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Control = lblLocator
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 27
|
||||
Top = 88
|
||||
Height = 34
|
||||
Top = 95
|
||||
Width = 92
|
||||
BorderSpacing.Top = 2
|
||||
CharCase = ecUppercase
|
||||
MaxLength = 6
|
||||
OnChange = edtLocatorChange
|
||||
TabOrder = 1
|
||||
end
|
||||
object mQTH: TMemo
|
||||
@ -86,7 +86,7 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 9
|
||||
Height = 90
|
||||
Top = 144
|
||||
Top = 158
|
||||
Width = 150
|
||||
BorderSpacing.Top = 2
|
||||
MaxLength = 250
|
||||
@ -98,7 +98,7 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 177
|
||||
Height = 146
|
||||
Top = 88
|
||||
Top = 87
|
||||
Width = 208
|
||||
BorderSpacing.Top = 2
|
||||
MaxLength = 250
|
||||
@ -110,7 +110,7 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 9
|
||||
Height = 90
|
||||
Top = 263
|
||||
Top = 277
|
||||
Width = 376
|
||||
BorderSpacing.Top = 2
|
||||
ScrollBars = ssAutoBoth
|
||||
@ -120,8 +120,8 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Control = mRemarks
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 28
|
||||
Height = 31
|
||||
Top = 363
|
||||
Height = 35
|
||||
Top = 377
|
||||
Width = 60
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 10
|
||||
@ -135,9 +135,9 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Control = mRemarks
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 288
|
||||
Height = 31
|
||||
Top = 363
|
||||
Width = 60
|
||||
Height = 35
|
||||
Top = 377
|
||||
Width = 62
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 10
|
||||
BorderSpacing.InnerBorder = 1
|
||||
@ -149,9 +149,9 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
end
|
||||
object chkVisible: TCheckBox
|
||||
Left = 177
|
||||
Height = 24
|
||||
Height = 23
|
||||
Top = 35
|
||||
Width = 149
|
||||
Width = 146
|
||||
Caption = 'Show profile in list'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
@ -161,11 +161,12 @@ object frmNewQTHProfile: TfrmNewQTHProfile
|
||||
AnchorSideTop.Control = lblProfileNumber
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 9
|
||||
Height = 27
|
||||
Height = 34
|
||||
Top = 32
|
||||
Width = 93
|
||||
BorderSpacing.Top = 2
|
||||
CharCase = ecUppercase
|
||||
NumbersOnly = True
|
||||
OnKeyDown = edtProfNrKeyDown
|
||||
TabOrder = 0
|
||||
end
|
||||
|
@ -26,6 +26,7 @@ type
|
||||
mRemarks: TMemo;
|
||||
mEquipment: TMemo;
|
||||
mQTH: TMemo;
|
||||
procedure edtLocatorChange(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure btnSaveClick(Sender: TObject);
|
||||
@ -99,5 +100,11 @@ begin
|
||||
Editing := False
|
||||
end;
|
||||
|
||||
procedure TfrmNewQTHProfile.edtLocatorChange(Sender: TObject);
|
||||
begin
|
||||
edtLocator.Text := dmUtils.StdFormatLocator(edtLocator.Text);
|
||||
edtLocator.SelStart := Length(edtLocator.Text);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -1,37 +1,37 @@
|
||||
object frmPreferences: TfrmPreferences
|
||||
Left = 169
|
||||
Left = 100
|
||||
Height = 659
|
||||
Top = 65
|
||||
Width = 1000
|
||||
Top = 395
|
||||
Width = 1098
|
||||
HelpType = htKeyword
|
||||
HelpKeyword = 'help/h1.html'
|
||||
HorzScrollBar.Page = 761
|
||||
VertScrollBar.Page = 450
|
||||
HorzScrollBar.Page = 834
|
||||
VertScrollBar.Page = 544
|
||||
ActiveControl = lbPreferences
|
||||
AutoScroll = True
|
||||
BorderIcons = [biSystemMenu]
|
||||
Caption = 'Preferences'
|
||||
ClientHeight = 659
|
||||
ClientWidth = 1000
|
||||
ClientWidth = 1098
|
||||
OnCloseQuery = FormCloseQuery
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
Position = poMainFormCenter
|
||||
LCLVersion = '2.0.2.0'
|
||||
LCLVersion = '2.0.4.0'
|
||||
object pgPreferences: TPageControl
|
||||
Left = 160
|
||||
Height = 659
|
||||
Top = 0
|
||||
Width = 752
|
||||
ActivePage = tabVisibleColumns
|
||||
Width = 850
|
||||
ActivePage = tabXplanet
|
||||
Align = alClient
|
||||
TabIndex = 3
|
||||
TabIndex = 16
|
||||
TabOrder = 0
|
||||
OnChange = pgPreferencesChange
|
||||
object tabProgram: TTabSheet
|
||||
Caption = 'Program'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object Label60: TLabel
|
||||
Left = 364
|
||||
Height = 17
|
||||
@ -321,7 +321,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabStation: TTabSheet
|
||||
Caption = 'Station'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object Label1: TLabel
|
||||
Left = 11
|
||||
Height = 17
|
||||
@ -381,7 +381,7 @@ object frmPreferences: TfrmPreferences
|
||||
Height = 34
|
||||
Top = 107
|
||||
Width = 128
|
||||
CharCase = ecUppercase
|
||||
OnChange = edtLocChange
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
@ -390,7 +390,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Caption = 'New QSO'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object Label82: TLabel
|
||||
AnchorSideLeft.Control = edtRecetQSOs
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
@ -832,7 +832,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabVisibleColumns: TTabSheet
|
||||
Caption = 'Visible columns'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object chkDate: TCheckBox
|
||||
AnchorSideLeft.Control = tabVisibleColumns
|
||||
AnchorSideTop.Control = tabVisibleColumns
|
||||
@ -1014,11 +1014,11 @@ object frmPreferences: TfrmPreferences
|
||||
end
|
||||
object chkIOTA: TCheckBox
|
||||
AnchorSideLeft.Control = chkQSL_VIA
|
||||
AnchorSideTop.Control = chkMyLoc
|
||||
AnchorSideTop.Control = chkDistance
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 84
|
||||
Top = 110
|
||||
Width = 56
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'IOTA'
|
||||
@ -1030,7 +1030,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 110
|
||||
Top = 136
|
||||
Width = 66
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Award'
|
||||
@ -1042,7 +1042,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 136
|
||||
Top = 162
|
||||
Width = 72
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'County'
|
||||
@ -1054,7 +1054,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 162
|
||||
Top = 188
|
||||
Width = 66
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Power'
|
||||
@ -1066,7 +1066,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 188
|
||||
Top = 214
|
||||
Width = 62
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'DXCC'
|
||||
@ -1078,7 +1078,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 214
|
||||
Top = 240
|
||||
Width = 139
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Comment to QSO'
|
||||
@ -1090,7 +1090,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 240
|
||||
Top = 266
|
||||
Width = 56
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'WAZ'
|
||||
@ -1102,7 +1102,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 266
|
||||
Top = 292
|
||||
Width = 48
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'ITU'
|
||||
@ -1114,7 +1114,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 292
|
||||
Top = 318
|
||||
Width = 60
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'State'
|
||||
@ -1305,7 +1305,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 318
|
||||
Top = 344
|
||||
Width = 121
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Satellite name'
|
||||
@ -1317,7 +1317,7 @@ object frmPreferences: TfrmPreferences
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 344
|
||||
Top = 370
|
||||
Width = 113
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'RX frequency'
|
||||
@ -1360,10 +1360,10 @@ object frmPreferences: TfrmPreferences
|
||||
TabOrder = 42
|
||||
end
|
||||
object chkSTX_str: TCheckBox
|
||||
AnchorSideLeft.Control = chkQSL_VIA
|
||||
AnchorSideTop.Control = chkRXFreq
|
||||
AnchorSideLeft.Control = chkLoTWQSLS
|
||||
AnchorSideTop.Control = chkContestName
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Left = 308
|
||||
Height = 23
|
||||
Top = 370
|
||||
Width = 118
|
||||
@ -1372,10 +1372,10 @@ object frmPreferences: TfrmPreferences
|
||||
TabOrder = 43
|
||||
end
|
||||
object chkSRX_str: TCheckBox
|
||||
AnchorSideLeft.Control = chkQSL_VIA
|
||||
AnchorSideLeft.Control = chkLoTWQSLS
|
||||
AnchorSideTop.Control = chkSTX_str
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Left = 308
|
||||
Height = 23
|
||||
Top = 396
|
||||
Width = 118
|
||||
@ -1383,11 +1383,23 @@ object frmPreferences: TfrmPreferences
|
||||
Caption = 'ContMSG rcvd'
|
||||
TabOrder = 44
|
||||
end
|
||||
object chkDistance: TCheckBox
|
||||
AnchorSideLeft.Control = chkQSL_VIA
|
||||
AnchorSideTop.Control = chkMyLoc
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 163
|
||||
Height = 23
|
||||
Top = 84
|
||||
Width = 133
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Distance (in pnl)'
|
||||
TabOrder = 45
|
||||
end
|
||||
end
|
||||
object tabBands: TTabSheet
|
||||
Caption = 'Bands'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object cb136kHz: TCheckBox
|
||||
Left = 14
|
||||
Height = 23
|
||||
@ -1610,7 +1622,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabTRXcontrol: TTabSheet
|
||||
Caption = 'TRX control'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object btnChangeDefaultFreq: TButton
|
||||
Left = 472
|
||||
Height = 25
|
||||
@ -2388,7 +2400,7 @@ object frmPreferences: TfrmPreferences
|
||||
object TabROTcontrol: TTabSheet
|
||||
Caption = 'ROT control'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox41: TGroupBox
|
||||
Left = 7
|
||||
Height = 88
|
||||
@ -3094,7 +3106,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabModes: TTabSheet
|
||||
Caption = 'Modes'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox35: TGroupBox
|
||||
Left = 14
|
||||
Height = 73
|
||||
@ -3429,7 +3441,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabQTHProfiles: TTabSheet
|
||||
Caption = 'QTH Profiles'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object chkUseProfiles: TCheckBox
|
||||
Left = 9
|
||||
Height = 23
|
||||
@ -3534,289 +3546,19 @@ object frmPreferences: TfrmPreferences
|
||||
object tabExport: TTabSheet
|
||||
Caption = 'Export'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
inline fraExportSettings: TfraExportPref
|
||||
Left = 16
|
||||
Height = 504
|
||||
ClientWidth = 840
|
||||
inline fraExportPref1: TfraExportPref
|
||||
Top = 8
|
||||
Width = 640
|
||||
ClientHeight = 504
|
||||
ClientWidth = 640
|
||||
DesignLeft = 623
|
||||
DesignTop = 214
|
||||
inherited chkProfile: TCheckBox
|
||||
Top = 326
|
||||
Width = 67
|
||||
end
|
||||
inherited chkAscTime: TCheckBox
|
||||
Left = 8
|
||||
Top = 448
|
||||
Width = 197
|
||||
end
|
||||
inherited chkExCont: TCheckBox
|
||||
Width = 89
|
||||
end
|
||||
inherited chkexQTH: TCheckBox
|
||||
Width = 54
|
||||
end
|
||||
inherited chkexName: TCheckBox
|
||||
Width = 65
|
||||
end
|
||||
inherited chkexRSTR: TCheckBox
|
||||
Width = 83
|
||||
end
|
||||
inherited chkexRSTS: TCheckBox
|
||||
Width = 83
|
||||
end
|
||||
inherited chkexFreq: TCheckBox
|
||||
Width = 54
|
||||
end
|
||||
inherited chkexMode: TCheckBox
|
||||
Width = 62
|
||||
end
|
||||
inherited chkexCall: TCheckBox
|
||||
Width = 51
|
||||
end
|
||||
inherited chkexTimeoff: TCheckBox
|
||||
Width = 80
|
||||
end
|
||||
inherited chkexTimeon: TCheckBox
|
||||
Width = 79
|
||||
end
|
||||
inherited chkexDate: TCheckBox
|
||||
Width = 57
|
||||
end
|
||||
inherited edtWDate: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWTimeOn: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWTimeOff: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWCall: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWMode: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWFreq: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWRstS: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWRstR: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWName: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWQTH: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited Label46: TLabel
|
||||
Height = 17
|
||||
Width = 31
|
||||
end
|
||||
inherited Label49: TLabel
|
||||
Height = 17
|
||||
Width = 38
|
||||
end
|
||||
inherited Label47: TLabel
|
||||
Height = 17
|
||||
Width = 31
|
||||
end
|
||||
inherited Label50: TLabel
|
||||
Height = 17
|
||||
Width = 38
|
||||
end
|
||||
inherited Label48: TLabel
|
||||
Height = 17
|
||||
Width = 31
|
||||
end
|
||||
inherited Label51: TLabel
|
||||
Height = 17
|
||||
Width = 38
|
||||
end
|
||||
inherited chkexQSLS: TCheckBox
|
||||
Width = 83
|
||||
end
|
||||
inherited chkexQSLR: TCheckBox
|
||||
Width = 111
|
||||
end
|
||||
inherited chkexQSLVIA: TCheckBox
|
||||
Width = 113
|
||||
end
|
||||
inherited chkexLoc: TCheckBox
|
||||
Width = 74
|
||||
end
|
||||
inherited chkexMyLoc: TCheckBox
|
||||
Width = 95
|
||||
end
|
||||
inherited chkexIOTA: TCheckBox
|
||||
Width = 56
|
||||
end
|
||||
inherited chkexAward: TCheckBox
|
||||
Width = 66
|
||||
end
|
||||
inherited chkexCounty: TCheckBox
|
||||
Width = 72
|
||||
end
|
||||
inherited chkexPower: TCheckBox
|
||||
Width = 66
|
||||
end
|
||||
inherited chkexDXCC: TCheckBox
|
||||
Width = 62
|
||||
end
|
||||
inherited chkexRemarks: TCheckBox
|
||||
Width = 83
|
||||
end
|
||||
inherited edtWRemarks: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWDXCC: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWPower: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWCounty: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWAward: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWIOTA: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWMyLoc: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWLoc: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWQSLVIA: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWQSLR: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWQSLS: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited chkexeQSLRDate: TCheckBox
|
||||
Width = 130
|
||||
end
|
||||
inherited chkexeQSLR: TCheckBox
|
||||
Width = 120
|
||||
end
|
||||
inherited chkexeQSLSDate: TCheckBox
|
||||
Width = 129
|
||||
end
|
||||
inherited chkexeQSLS: TCheckBox
|
||||
Width = 120
|
||||
end
|
||||
inherited chkexQSLRDate: TCheckBox
|
||||
Width = 116
|
||||
end
|
||||
inherited chkexQSLSDate: TCheckBox
|
||||
Width = 116
|
||||
end
|
||||
inherited chkexLQSLRDate: TCheckBox
|
||||
Width = 133
|
||||
end
|
||||
inherited chkexLQSLR: TCheckBox
|
||||
Width = 123
|
||||
end
|
||||
inherited chkexLQSLSDate: TCheckBox
|
||||
Width = 132
|
||||
end
|
||||
inherited chkexLQSLS: TCheckBox
|
||||
Width = 123
|
||||
end
|
||||
inherited chkexState: TCheckBox
|
||||
Width = 60
|
||||
end
|
||||
inherited chkexNote: TCheckBox
|
||||
Width = 57
|
||||
end
|
||||
inherited chkexITU: TCheckBox
|
||||
Width = 48
|
||||
end
|
||||
inherited chkexWAZ: TCheckBox
|
||||
Width = 56
|
||||
end
|
||||
inherited edtWWAZ: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWITU: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWNote: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWState: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWLQSLS: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWLQSLSDate: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWLQSLR: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWLQSLRDate: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWQSLSDate: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWQSLRDate: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWeQSLS: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWeQSLSDate: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWeQSLR: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWeQSLRDate: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited chkExPropagation: TCheckBox
|
||||
Width = 104
|
||||
end
|
||||
inherited chkExSat: TCheckBox
|
||||
Width = 121
|
||||
end
|
||||
inherited chkExRXFreq: TCheckBox
|
||||
Width = 113
|
||||
end
|
||||
inherited edtWProp: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWSatName: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited edtWRxFreq: TEdit
|
||||
Height = 34
|
||||
end
|
||||
inherited chkexContest: TCheckBox
|
||||
Width = 76
|
||||
inherited lblField1: TLabel
|
||||
AnchorSideLeft.Control = fraExportPref1
|
||||
AnchorSideTop.Control = fraExportPref1
|
||||
end
|
||||
end
|
||||
end
|
||||
object tabDXCluster: TTabSheet
|
||||
Caption = 'DXCluster'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object gbDXCColor: TGroupBox
|
||||
AnchorSideLeft.Control = tabDXCluster
|
||||
AnchorSideTop.Control = tabDXCluster
|
||||
@ -4271,7 +4013,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabFont: TTabSheet
|
||||
Caption = 'Fonts'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox7: TGroupBox
|
||||
Left = 14
|
||||
Height = 352
|
||||
@ -4482,7 +4224,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabWazItu: TTabSheet
|
||||
Caption = 'WAZ, ITU zones'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox8: TGroupBox
|
||||
Left = 14
|
||||
Height = 230
|
||||
@ -4625,7 +4367,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabIOTA: TTabSheet
|
||||
Caption = 'IOTA'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox10: TGroupBox
|
||||
Left = 22
|
||||
Height = 168
|
||||
@ -4682,7 +4424,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabMemebership: TTabSheet
|
||||
Caption = 'Membership'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox11: TGroupBox
|
||||
Left = 14
|
||||
Height = 80
|
||||
@ -4975,7 +4717,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabBandMap: TTabSheet
|
||||
Caption = 'Bandmap'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox16: TGroupBox
|
||||
Left = 13
|
||||
Height = 61
|
||||
@ -5229,7 +4971,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabXplanet: TTabSheet
|
||||
Caption = 'xplanet support'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox21: TGroupBox
|
||||
Left = 14
|
||||
Height = 89
|
||||
@ -5238,7 +4980,7 @@ object frmPreferences: TfrmPreferences
|
||||
Caption = ' Path for the xplanet '
|
||||
ClientHeight = 71
|
||||
ClientWidth = 519
|
||||
TabOrder = 0
|
||||
TabOrder = 10
|
||||
object edtXplanetPath: TEdit
|
||||
Left = 6
|
||||
Height = 34
|
||||
@ -5481,14 +5223,15 @@ object frmPreferences: TfrmPreferences
|
||||
Top = 424
|
||||
Width = 521
|
||||
Caption = ' Center locator for xplanet (if different from default)'
|
||||
ClientHeight = 63
|
||||
ClientWidth = 515
|
||||
ClientHeight = 71
|
||||
ClientWidth = 519
|
||||
TabOrder = 0
|
||||
object edtXplanetLoc: TEdit
|
||||
Left = 6
|
||||
Height = 25
|
||||
Height = 34
|
||||
Top = 15
|
||||
Width = 96
|
||||
OnChange = edtXplanetLocChange
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
@ -5496,7 +5239,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabZipCode: TTabSheet
|
||||
Caption = 'Zip code tracking'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox25: TGroupBox
|
||||
Left = 6
|
||||
Height = 104
|
||||
@ -5753,7 +5496,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabLoTW: TTabSheet
|
||||
Caption = 'LoTW/eQSL support'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object Label10: TLabel
|
||||
Left = 271
|
||||
Height = 34
|
||||
@ -5930,7 +5673,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabCWInterface: TTabSheet
|
||||
Caption = 'CW interface'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object Label83: TLabel
|
||||
Left = 15
|
||||
Height = 17
|
||||
@ -6260,7 +6003,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabFldigi1: TTabSheet
|
||||
Caption = 'fldigi/wsjt interface'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox31: TGroupBox
|
||||
Left = 12
|
||||
Height = 328
|
||||
@ -6900,7 +6643,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabAutoBackup: TTabSheet
|
||||
Caption = 'Exit & Auto backup'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox32: TGroupBox
|
||||
Left = 8
|
||||
Height = 370
|
||||
@ -7048,7 +6791,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabExtViewers: TTabSheet
|
||||
Caption = 'External viewers'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object Label99: TLabel
|
||||
Left = 23
|
||||
Height = 17
|
||||
@ -7125,7 +6868,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabCallbook: TTabSheet
|
||||
Caption = 'Callbook support'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox38: TGroupBox
|
||||
Left = 13
|
||||
Height = 160
|
||||
@ -7190,7 +6933,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabRBN: TTabSheet
|
||||
Caption = 'RBN support'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object chkRBNAutoConn: TCheckBox
|
||||
Left = 408
|
||||
Height = 23
|
||||
@ -7403,7 +7146,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabOnlineLog: TTabSheet
|
||||
Caption = 'Online log upload'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object GroupBox44: TGroupBox
|
||||
Left = 13
|
||||
Height = 179
|
||||
@ -7705,7 +7448,7 @@ object frmPreferences: TfrmPreferences
|
||||
object tabCondx: TTabSheet
|
||||
Caption = 'Propagation'
|
||||
ClientHeight = 628
|
||||
ClientWidth = 742
|
||||
ClientWidth = 840
|
||||
object rbCondxAsImage: TRadioButton
|
||||
Left = 25
|
||||
Height = 23
|
||||
@ -7776,7 +7519,7 @@ object frmPreferences: TfrmPreferences
|
||||
end
|
||||
object Panel1: TPanel
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 912
|
||||
Left = 1010
|
||||
Height = 659
|
||||
Top = 0
|
||||
Width = 88
|
||||
@ -7784,6 +7527,7 @@ object frmPreferences: TfrmPreferences
|
||||
ClientHeight = 659
|
||||
ClientWidth = 88
|
||||
TabOrder = 1
|
||||
OnClick = Panel1Click
|
||||
object btnOK: TButton
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
@ -7872,12 +7616,12 @@ object frmPreferences: TfrmPreferences
|
||||
object dlgFont: TFontDialog
|
||||
MinFontSize = 0
|
||||
MaxFontSize = 0
|
||||
left = 936
|
||||
top = 264
|
||||
left = 1040
|
||||
top = 280
|
||||
end
|
||||
object dlgOpen: TOpenDialog
|
||||
left = 936
|
||||
top = 208
|
||||
left = 1040
|
||||
top = 216
|
||||
end
|
||||
object dlgColor: TColorDialog
|
||||
Color = clBlack
|
||||
@ -7903,7 +7647,7 @@ object frmPreferences: TfrmPreferences
|
||||
'ColorS=F0FBFF'
|
||||
'ColorT=A4A0A0'
|
||||
)
|
||||
left = 936
|
||||
top = 328
|
||||
left = 1040
|
||||
top = 344
|
||||
end
|
||||
end
|
||||
|
@ -120,6 +120,7 @@ type
|
||||
cb60m: TCheckBox;
|
||||
cb30cm: TCheckBox;
|
||||
cgLimit: TCheckGroup;
|
||||
chkDistance: TCheckBox;
|
||||
chkSTX: TCheckBox;
|
||||
chkSRX: TCheckBox;
|
||||
chkSTX_str: TCheckBox;
|
||||
@ -616,7 +617,7 @@ type
|
||||
edtName: TEdit;
|
||||
edtRST_R: TEdit;
|
||||
dlgFont: TFontDialog;
|
||||
fraExportSettings : TfraExportPref;
|
||||
fraExportPref1: TfraExportPref;
|
||||
gbProfiles1: TGroupBox;
|
||||
grbSerialR2: TGroupBox;
|
||||
grbSerialR3: TGroupBox;
|
||||
@ -673,6 +674,7 @@ type
|
||||
GroupBox52: TGroupBox;
|
||||
gbDXCConnect: TGroupBox;
|
||||
gbDXCSpots: TGroupBox;
|
||||
GroupBox53: TGroupBox;
|
||||
GroupBox7: TGroupBox;
|
||||
GroupBox8: TGroupBox;
|
||||
GroupBox9: TGroupBox;
|
||||
@ -1019,6 +1021,7 @@ type
|
||||
procedure DateEditCallEditingDone(Sender: TObject);
|
||||
procedure DateEditLocEditingDone(Sender: TObject);
|
||||
procedure edtK3NGSerSpeedChange(Sender: TObject);
|
||||
procedure edtLocChange(Sender: TObject);
|
||||
procedure edtR1RigCtldArgsChange(Sender: TObject);
|
||||
procedure edtR1RigCtldPortChange(Sender : TObject);
|
||||
procedure edtR2RigCtldArgsChange(Sender : TObject);
|
||||
@ -1030,6 +1033,7 @@ type
|
||||
procedure edtWinMinSpeedChange(Sender: TObject);
|
||||
procedure edtWinPortChange(Sender: TObject);
|
||||
procedure edtWinSpeedChange(Sender: TObject);
|
||||
procedure edtXplanetLocChange(Sender: TObject);
|
||||
procedure lbPreferencesClick(Sender: TObject);
|
||||
procedure btnDefineProfileClick(Sender: TObject);
|
||||
procedure btnHelpClick(Sender: TObject);
|
||||
@ -1057,6 +1061,7 @@ type
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure edtPoll2Exit(Sender: TObject);
|
||||
procedure edtPoll1Exit(Sender: TObject);
|
||||
procedure Panel1Click(Sender: TObject);
|
||||
procedure pgPreferencesChange(Sender: TObject);
|
||||
procedure pnlQSOColorClick(Sender : TObject);
|
||||
private
|
||||
@ -1164,6 +1169,7 @@ begin
|
||||
cqrini.WriteBool('Columns', 'QSL_VIA', chkQSL_VIA.Checked);
|
||||
cqrini.WriteBool('Columns', 'Locator', chkLoc.Checked);
|
||||
cqrini.WriteBool('Columns', 'MyLoc', chkMyLoc.Checked);
|
||||
cqrini.WriteBool('Columns', 'Distance', chkDistance.Checked);
|
||||
cqrini.WriteBool('Columns', 'IOTA', chkIOTA.Checked);
|
||||
cqrini.WriteBool('Columns', 'Award', chkAward.Checked);
|
||||
cqrini.WriteBool('Columns', 'Power', chkPower.Checked);
|
||||
@ -1579,7 +1585,7 @@ begin
|
||||
frmNewQSO.InitializeCW
|
||||
end;
|
||||
|
||||
fraExportSettings.SaveExportPref;
|
||||
fraExportPref1.SaveExportPref;
|
||||
|
||||
dmUtils.TimeOffset := StrToCurr(edtOffset.Text);
|
||||
dmUtils.GrayLineOffset := StrToCurr(edtGrayLineOffset.Text);
|
||||
@ -2368,6 +2374,12 @@ begin
|
||||
WinKeyerChanged := True
|
||||
end;
|
||||
|
||||
procedure TfrmPreferences.edtLocChange(Sender: TObject);
|
||||
begin
|
||||
edtLoc.Text := dmUtils.StdFormatLocator(edtLoc.Text);
|
||||
edtLoc.SelStart := Length(edtLoc.Text);
|
||||
end;
|
||||
|
||||
procedure TfrmPreferences.edtR1RigCtldArgsChange(Sender: TObject);
|
||||
begin
|
||||
TRXChanged := True
|
||||
@ -2424,6 +2436,12 @@ begin
|
||||
WinKeyerChanged := True
|
||||
end;
|
||||
|
||||
procedure TfrmPreferences.edtXplanetLocChange(Sender: TObject);
|
||||
begin
|
||||
edtXplanetLoc.Text := dmUtils.StdFormatLocator(edtXplanetLoc.Text);
|
||||
edtXplanetLoc.SelStart := Length(edtXplanetLoc.Text);
|
||||
end;
|
||||
|
||||
procedure TfrmPreferences.lbPreferencesClick(Sender: TObject);
|
||||
begin
|
||||
pgPreferences.ActivePageIndex := lbPreferences.ItemIndex;
|
||||
@ -2525,6 +2543,7 @@ begin
|
||||
chkQSL_VIA.Checked := cqrini.ReadBool('Columns', 'QSL_VIA', False);
|
||||
chkLoc.Checked := cqrini.ReadBool('Columns', 'Locator', False);
|
||||
chkMyLoc.Checked := cqrini.ReadBool('Columns', 'MyLoc', False);
|
||||
chkDistance.Checked := cqrini.ReadBool('Columns', 'Distance', False);
|
||||
chkIOTA.Checked := cqrini.ReadBool('Columns', 'IOTA', False);
|
||||
chkAward.Checked := cqrini.ReadBool('Columns', 'Award', False);
|
||||
chkCounty.Checked := cqrini.ReadBool('Columns', 'County', False);
|
||||
@ -2933,7 +2952,7 @@ begin
|
||||
|
||||
wasOnlineLogSupportEnabled := chkHaUpEnabled.Checked or chkClUpEnabled.Checked or chkHrUpEnabled.Checked;
|
||||
|
||||
fraExportSettings.LoadExportPref;
|
||||
fraExportPref1.LoadExportPref;
|
||||
|
||||
lbPreferences.Selected[pgPreferences.ActivePageIndex] := True;
|
||||
edtCW1.Width := 60;
|
||||
@ -2965,6 +2984,11 @@ begin
|
||||
edtPoll1.Text := '500';
|
||||
end;
|
||||
|
||||
procedure TfrmPreferences.Panel1Click(Sender: TObject);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TfrmPreferences.pgPreferencesChange(Sender: TObject);
|
||||
begin
|
||||
lbPreferences.Selected[pgPreferences.ActivePageIndex] := True;
|
||||
|
@ -1,209 +1,303 @@
|
||||
object frmQSLExpPref: TfrmQSLExpPref
|
||||
Left = 489
|
||||
Height = 383
|
||||
Top = 323
|
||||
Width = 517
|
||||
Left = 519
|
||||
Height = 450
|
||||
Top = 42
|
||||
Width = 530
|
||||
Caption = 'Choose fields for export'
|
||||
ClientHeight = 383
|
||||
ClientWidth = 517
|
||||
ClientHeight = 450
|
||||
ClientWidth = 530
|
||||
OnShow = FormShow
|
||||
LCLVersion = '1.2.4.0'
|
||||
LCLVersion = '2.0.4.0'
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 8
|
||||
Height = 368
|
||||
Top = 8
|
||||
Width = 416
|
||||
ClientHeight = 364
|
||||
ClientWidth = 412
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 6
|
||||
Height = 434
|
||||
Top = 12
|
||||
Width = 418
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 12
|
||||
ClientHeight = 432
|
||||
ClientWidth = 416
|
||||
TabOrder = 0
|
||||
object chkTimeOn: TCheckBox
|
||||
AnchorSideLeft.Control = chkDate
|
||||
AnchorSideTop.Control = chkDate
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 43
|
||||
Height = 23
|
||||
Top = 68
|
||||
Width = 79
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Time on'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 0
|
||||
end
|
||||
object chkDate: TCheckBox
|
||||
AnchorSideLeft.Control = lblDateFormat
|
||||
AnchorSideTop.Control = lblDateFormat
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 12
|
||||
Width = 58
|
||||
Height = 23
|
||||
Top = 42
|
||||
Width = 57
|
||||
BorderSpacing.Top = 11
|
||||
Caption = 'Date'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 1
|
||||
end
|
||||
object chkTimeOff: TCheckBox
|
||||
AnchorSideLeft.Control = chkTimeOn
|
||||
AnchorSideTop.Control = chkTimeOn
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 75
|
||||
Width = 82
|
||||
Height = 23
|
||||
Top = 94
|
||||
Width = 80
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Time off'
|
||||
TabOrder = 2
|
||||
end
|
||||
object chkCallSign: TCheckBox
|
||||
AnchorSideLeft.Control = chkTimeOff
|
||||
AnchorSideTop.Control = chkTimeOff
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 107
|
||||
Height = 23
|
||||
Top = 120
|
||||
Width = 79
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'CallSign'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 3
|
||||
end
|
||||
object chkMode: TCheckBox
|
||||
AnchorSideLeft.Control = chkCallSign
|
||||
AnchorSideTop.Control = chkCallSign
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 139
|
||||
Width = 65
|
||||
Height = 23
|
||||
Top = 146
|
||||
Width = 62
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Mode'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 4
|
||||
end
|
||||
object chkFreq: TCheckBox
|
||||
AnchorSideLeft.Control = chkCallSign
|
||||
AnchorSideTop.Control = chkMode
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 171
|
||||
Width = 57
|
||||
Height = 23
|
||||
Top = 172
|
||||
Width = 54
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Freq'
|
||||
TabOrder = 5
|
||||
end
|
||||
object chkRST_S: TCheckBox
|
||||
AnchorSideLeft.Control = chkFreq
|
||||
AnchorSideTop.Control = chkFreq
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 203
|
||||
Height = 23
|
||||
Top = 206
|
||||
Width = 83
|
||||
BorderSpacing.Top = 11
|
||||
Caption = 'RST sent'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 6
|
||||
end
|
||||
object chkRST_R: TCheckBox
|
||||
AnchorSideLeft.Control = chkRST_S
|
||||
AnchorSideTop.Control = chkRST_S
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 235
|
||||
Height = 23
|
||||
Top = 241
|
||||
Width = 82
|
||||
BorderSpacing.Top = 12
|
||||
Caption = 'RST Rec.'
|
||||
TabOrder = 7
|
||||
end
|
||||
object chkName: TCheckBox
|
||||
AnchorSideLeft.Control = chkRST_R
|
||||
AnchorSideTop.Control = chkRST_R
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 267
|
||||
Width = 66
|
||||
Height = 23
|
||||
Top = 276
|
||||
Width = 65
|
||||
BorderSpacing.Top = 12
|
||||
Caption = 'Name'
|
||||
TabOrder = 8
|
||||
end
|
||||
object chkQTH: TCheckBox
|
||||
AnchorSideLeft.Control = chkName
|
||||
AnchorSideTop.Control = chkName
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 299
|
||||
Width = 55
|
||||
Height = 23
|
||||
Top = 302
|
||||
Width = 54
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'QTH'
|
||||
TabOrder = 9
|
||||
end
|
||||
object chkQSL_S: TCheckBox
|
||||
AnchorSideLeft.Control = cbxDateFormat
|
||||
AnchorSideTop.Control = cbxDateFormat
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 43
|
||||
Width = 85
|
||||
Height = 23
|
||||
Top = 42
|
||||
Width = 83
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'QSL sent'
|
||||
TabOrder = 10
|
||||
end
|
||||
object chkQSL_VIA: TCheckBox
|
||||
AnchorSideLeft.Control = chkQSL_R
|
||||
AnchorSideTop.Control = chkQSL_R
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 107
|
||||
Width = 115
|
||||
Height = 23
|
||||
Top = 94
|
||||
Width = 113
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'QSL manager'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 11
|
||||
end
|
||||
object chkLoc: TCheckBox
|
||||
AnchorSideLeft.Control = chkQSL_VIA
|
||||
AnchorSideTop.Control = chkQSL_VIA
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 139
|
||||
Width = 79
|
||||
Height = 23
|
||||
Top = 120
|
||||
Width = 74
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Locator'
|
||||
TabOrder = 12
|
||||
end
|
||||
object chkMyLoc: TCheckBox
|
||||
AnchorSideLeft.Control = chkLoc
|
||||
AnchorSideTop.Control = chkLoc
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 171
|
||||
Width = 98
|
||||
Height = 23
|
||||
Top = 146
|
||||
Width = 95
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'My locator'
|
||||
TabOrder = 13
|
||||
end
|
||||
object chkIOTA: TCheckBox
|
||||
AnchorSideLeft.Control = chkDistance
|
||||
AnchorSideTop.Control = chkDistance
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 203
|
||||
Width = 58
|
||||
Height = 23
|
||||
Top = 198
|
||||
Width = 56
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'IOTA'
|
||||
TabOrder = 14
|
||||
end
|
||||
object chkAward: TCheckBox
|
||||
AnchorSideLeft.Control = chkIOTA
|
||||
AnchorSideTop.Control = chkIOTA
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 235
|
||||
Width = 70
|
||||
Height = 23
|
||||
Top = 224
|
||||
Width = 66
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Award'
|
||||
TabOrder = 15
|
||||
end
|
||||
object chkPower: TCheckBox
|
||||
AnchorSideLeft.Control = chkAward
|
||||
AnchorSideTop.Control = chkAward
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 267
|
||||
Width = 69
|
||||
Height = 23
|
||||
Top = 250
|
||||
Width = 66
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Power'
|
||||
TabOrder = 16
|
||||
end
|
||||
object chkRemarks: TCheckBox
|
||||
AnchorSideLeft.Control = chkPower
|
||||
AnchorSideTop.Control = chkPower
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 299
|
||||
Width = 243
|
||||
Height = 23
|
||||
Top = 276
|
||||
Width = 236
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Comment to QSO/own comment'
|
||||
TabOrder = 17
|
||||
end
|
||||
object chkQSL_R: TCheckBox
|
||||
AnchorSideLeft.Control = chkQSL_S
|
||||
AnchorSideTop.Control = chkQSL_S
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 75
|
||||
Width = 113
|
||||
Height = 23
|
||||
Top = 68
|
||||
Width = 111
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'QSL received'
|
||||
TabOrder = 18
|
||||
end
|
||||
object chkQSLMsg: TCheckBox
|
||||
AnchorSideLeft.Control = chkRemarks
|
||||
AnchorSideTop.Control = chkRemarks
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 24
|
||||
Top = 333
|
||||
Width = 187
|
||||
Height = 23
|
||||
Top = 302
|
||||
Width = 183
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'QSL message (PSE/TNX)'
|
||||
TabOrder = 19
|
||||
end
|
||||
object chkBand: TCheckBox
|
||||
AnchorSideLeft.Control = chkQTH
|
||||
AnchorSideTop.Control = chkQTH
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 24
|
||||
Top = 333
|
||||
Width = 60
|
||||
Height = 23
|
||||
Top = 328
|
||||
Width = 59
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Band'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 20
|
||||
end
|
||||
object cbxDateFormat: TComboBox
|
||||
AnchorSideLeft.Control = lblDateFormat
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = lblDateFormat
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 166
|
||||
Height = 29
|
||||
Height = 34
|
||||
Hint = 'Change the format of date for export'
|
||||
Top = 6
|
||||
Top = 5
|
||||
Width = 232
|
||||
BorderSpacing.Left = 73
|
||||
BorderSpacing.Top = 6
|
||||
ItemHeight = 0
|
||||
ItemIndex = 0
|
||||
Items.Strings = (
|
||||
@ -222,11 +316,16 @@ object frmQSLExpPref: TfrmQSLExpPref
|
||||
Text = 'yyyy-mm-dd'
|
||||
end
|
||||
object tgSplitRST_S: TToggleBox
|
||||
Left = 102
|
||||
Height = 24
|
||||
AnchorSideLeft.Control = chkRST_S
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = chkRST_S
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 100
|
||||
Height = 32
|
||||
Hint = 'Split RST in three fields.'
|
||||
Top = 203
|
||||
Width = 50
|
||||
Top = 201
|
||||
Width = 60
|
||||
BorderSpacing.Left = 3
|
||||
Caption = 'Split'
|
||||
OnClick = tgSplit_Click
|
||||
ParentShowHint = False
|
||||
@ -234,32 +333,154 @@ object frmQSLExpPref: TfrmQSLExpPref
|
||||
TabOrder = 22
|
||||
end
|
||||
object tgSplitRST_R: TToggleBox
|
||||
Left = 102
|
||||
Height = 24
|
||||
AnchorSideLeft.Control = chkRST_R
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = chkRST_R
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 99
|
||||
Height = 32
|
||||
Hint = 'Split RST in three fields.'
|
||||
Top = 235
|
||||
Width = 50
|
||||
Top = 236
|
||||
Width = 60
|
||||
BorderSpacing.Left = 3
|
||||
Caption = 'Split'
|
||||
OnClick = tgSplit_Click
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 23
|
||||
end
|
||||
object lblDateFormat: TLabel
|
||||
AnchorSideLeft.Control = GroupBox1
|
||||
AnchorSideTop.Control = GroupBox1
|
||||
Left = 14
|
||||
Height = 17
|
||||
Top = 14
|
||||
Width = 79
|
||||
BorderSpacing.Left = 14
|
||||
BorderSpacing.Top = 14
|
||||
Caption = 'Date format'
|
||||
ParentColor = False
|
||||
end
|
||||
object chkDistance: TCheckBox
|
||||
AnchorSideLeft.Control = chkMyLoc
|
||||
AnchorSideTop.Control = chkMyLoc
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 23
|
||||
Top = 172
|
||||
Width = 83
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Distance'
|
||||
TabOrder = 24
|
||||
end
|
||||
object chkPropagation: TCheckBox
|
||||
AnchorSideLeft.Control = chkBand
|
||||
AnchorSideTop.Control = chkBand
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 23
|
||||
Top = 354
|
||||
Width = 104
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Propagation'
|
||||
TabOrder = 25
|
||||
end
|
||||
object chkSatellite: TCheckBox
|
||||
AnchorSideLeft.Control = chkPropagation
|
||||
AnchorSideTop.Control = chkPropagation
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 23
|
||||
Top = 380
|
||||
Width = 80
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Satellite'
|
||||
TabOrder = 26
|
||||
end
|
||||
object chkContestname: TCheckBox
|
||||
AnchorSideLeft.Control = chkSatellite
|
||||
AnchorSideTop.Control = chkSatellite
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 14
|
||||
Height = 23
|
||||
Top = 406
|
||||
Width = 119
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Contest Name'
|
||||
TabOrder = 27
|
||||
end
|
||||
object chkContestNrS: TCheckBox
|
||||
AnchorSideLeft.Control = chkQSLMsg
|
||||
AnchorSideTop.Control = chkQSLMsg
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 23
|
||||
Top = 328
|
||||
Width = 128
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Contest Nr Sent'
|
||||
TabOrder = 28
|
||||
end
|
||||
object chkContestMsgS: TCheckBox
|
||||
AnchorSideLeft.Control = chkContestNrS
|
||||
AnchorSideTop.Control = chkContestNrS
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 23
|
||||
Top = 354
|
||||
Width = 140
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Contest Msg Sent'
|
||||
TabOrder = 29
|
||||
end
|
||||
object chkContestNrR: TCheckBox
|
||||
AnchorSideLeft.Control = chkContestMsgS
|
||||
AnchorSideTop.Control = chkContestMsgS
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 23
|
||||
Top = 380
|
||||
Width = 131
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'Contest Nr Rcvd'
|
||||
TabOrder = 30
|
||||
end
|
||||
object chkContestMsgR: TCheckBox
|
||||
AnchorSideLeft.Control = chkContestNrR
|
||||
AnchorSideTop.Control = chkContestNrR
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 166
|
||||
Height = 23
|
||||
Top = 406
|
||||
Width = 139
|
||||
BorderSpacing.Top = 3
|
||||
Caption = 'ContestMsg Rcvd'
|
||||
TabOrder = 31
|
||||
end
|
||||
end
|
||||
object btnOK: TButton
|
||||
Left = 432
|
||||
AnchorSideTop.Control = GroupBox1
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 437
|
||||
Height = 25
|
||||
Top = 8
|
||||
Top = 12
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Right = 18
|
||||
Caption = 'OK'
|
||||
OnClick = btnOKClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object btnCancel: TButton
|
||||
Left = 432
|
||||
AnchorSideLeft.Control = btnOK
|
||||
AnchorSideTop.Control = btnOK
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 437
|
||||
Height = 25
|
||||
Top = 40
|
||||
Top = 43
|
||||
Width = 75
|
||||
BorderSpacing.Top = 6
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
|
@ -14,6 +14,14 @@ type
|
||||
TfrmQSLExpPref = class(TForm)
|
||||
btnOK : TButton;
|
||||
btnCancel : TButton;
|
||||
chkContestname: TCheckBox;
|
||||
chkPropagation: TCheckBox;
|
||||
chkContestNrS: TCheckBox;
|
||||
chkContestMsgS: TCheckBox;
|
||||
chkContestNrR: TCheckBox;
|
||||
chkContestMsgR: TCheckBox;
|
||||
chkSatellite: TCheckBox;
|
||||
chkDistance: TCheckBox;
|
||||
chkQSLMsg : TCheckBox;
|
||||
chkBand : TCheckBox;
|
||||
chkAward : TCheckBox;
|
||||
@ -37,6 +45,7 @@ type
|
||||
chkTimeOn : TCheckBox;
|
||||
cbxDateFormat: TComboBox;
|
||||
GroupBox1 : TGroupBox;
|
||||
lblDateFormat: TLabel;
|
||||
tgSplitRST_S: TToggleBox;
|
||||
tgSplitRST_R: TToggleBox;
|
||||
procedure btnOKClick(Sender : TObject);
|
||||
@ -74,29 +83,49 @@ begin
|
||||
chkName.Checked := cqrini.ReadBool('QSLExport', 'Name', False);
|
||||
chkQTH.Checked := cqrini.ReadBool('QSLExport', 'QTH', False);
|
||||
chkBand.Checked := cqrini.ReadBool('QSLExport', 'Band', True);
|
||||
chkPropagation.Checked := cqrini.ReadBool('QSLExport', 'Propagation', False);
|
||||
chkSatellite.Checked := cqrini.ReadBool('QSLExport', 'Satellite', False);
|
||||
chkContestname.Checked := cqrini.ReadBool('QSLExport', 'ContestName', False);
|
||||
chkQSL_S.Checked := cqrini.ReadBool('QSLExport', 'QSL_S', False);
|
||||
chkQSL_R.Checked := cqrini.ReadBool('QSLExport', 'QSL_R', False);
|
||||
chkQSL_VIA.Checked := cqrini.ReadBool('QSLExport', 'QSL_VIA', True);
|
||||
chkLoc.Checked := cqrini.ReadBool('QSLExport', 'Locator', False);
|
||||
chkMyLoc.Checked := cqrini.ReadBool('QSLExport', 'MyLoc', False);
|
||||
chkDistance.Checked := cqrini.ReadBool('QSLExport', 'Distance', False);
|
||||
chkIOTA.Checked := cqrini.ReadBool('QSLExport', 'IOTA', False);
|
||||
chkAward.Checked := cqrini.ReadBool('QSLExport', 'Award', False);
|
||||
chkPower.Checked := cqrini.ReadBool('QSLExport', 'Power', False);
|
||||
chkRemarks.Checked := cqrini.ReadBool('QSLExport', 'Remarks', True);
|
||||
chkQSLMsg.Checked := cqrini.ReadBool('QSLExport', 'QSLMsg', True);
|
||||
chkContestNrS.Checked := cqrini.ReadBool('QSLExport', 'ContestNrS',False );
|
||||
chkContestMsgS.Checked := cqrini.ReadBool('QSLExport', 'ContestMsgS',False );
|
||||
chkContestNrR.Checked := cqrini.ReadBool('QSLExport', 'ContestNrR', False);
|
||||
chkContestMsgR.Checked := cqrini.ReadBool('QSLExport', 'ContestMsgR', False);
|
||||
tgSplit_Click(Sender);
|
||||
end;
|
||||
|
||||
procedure TfrmQSLExpPref.tgSplit_Click(Sender: TObject);
|
||||
begin
|
||||
if tgSplitRST_S.Checked = True then
|
||||
tgSplitRST_S.Color := clLime
|
||||
begin
|
||||
tgSplitRST_S.Font.Color := clGreen;
|
||||
tgSplitRST_S.Font.Style :=[fsBold];
|
||||
end
|
||||
else
|
||||
tgSplitRST_S.Color := clDefault;
|
||||
begin
|
||||
tgSplitRST_S.Font.Color := clDefault;
|
||||
tgSplitRST_S.Font.Style :=[];
|
||||
end;
|
||||
if tgSplitRST_R.Checked = True then
|
||||
tgSplitRST_R.Color := clLime
|
||||
begin
|
||||
tgSplitRST_R.Font.Color := clGreen;
|
||||
tgSplitRST_R.Font.Style :=[fsBold];
|
||||
end
|
||||
else
|
||||
tgSplitRST_R.Color := clDefault;
|
||||
begin
|
||||
tgSplitRST_R.Font.Color := clDefault;
|
||||
tgSplitRST_R.Font.Style :=[];
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmQSLExpPref.btnOKClick(Sender : TObject);
|
||||
@ -115,16 +144,25 @@ begin
|
||||
cqrini.WriteBool('QSLExport', 'Name', chkName.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'QTH', chkQTH.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'Band', chkBand.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'Propagation', chkPropagation.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'Satellite', chkSatellite.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'ContestName', chkContestname.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'QSL_S', chkQSL_S.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'QSL_R', chkQSL_R.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'QSL_VIA', chkQSL_VIA.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'Locator', chkLoc.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'MyLoc', chkMyLoc.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'Distance', chkDistance.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'IOTA', chkIOTA.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'Award', chkAward.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'Power', chkPower.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'Remarks', chkRemarks.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'QSLMsg', chkQSLMsg.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'ContestNrS', chkContestNrS.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'ContestMsgS', chkContestMsgS.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'ContestNrR', chkContestNrR.Checked);
|
||||
cqrini.WriteBool('QSLExport', 'ContestMsgR', chkContestMsgR.Checked);
|
||||
cqrini.SaveToDisk;
|
||||
ModalResult := mrOK
|
||||
end;
|
||||
|
||||
|
@ -285,8 +285,11 @@ begin
|
||||
HTTP.MimeType := 'multipart/form-data; boundary=' + Bound;
|
||||
//eQSL server can handle only 1000QSO per minute
|
||||
HTTP.Timeout := 100000*((QSOCount div 1000)+1);
|
||||
Writeln('Timeout:',HTTP.Timeout div 1000, 's');
|
||||
Writeln('QSO count:',QSOCount);
|
||||
if dmData.DebugLevel>=1 then
|
||||
begin
|
||||
Writeln('Timeout:',HTTP.Timeout div 1000, 's');
|
||||
Writeln('QSO count:',QSOCount);
|
||||
end;
|
||||
Result := HTTP.HTTPMethod('POST', URL);
|
||||
if Result then
|
||||
ResultData.LoadFromStream(HTTP.Document)
|
||||
|
2183
src/frExportPref.lfm
@ -12,7 +12,11 @@ type
|
||||
{ TfraExportPref }
|
||||
|
||||
TfraExportPref = class(TFrame)
|
||||
chkexContest: TCheckBox;
|
||||
chkAutoColumn: TCheckBox;
|
||||
chkexContestName: TCheckBox;
|
||||
chkexContestMsg: TCheckBox;
|
||||
chkexContestNr: TCheckBox;
|
||||
chkexDistance: TCheckBox;
|
||||
chkExRXFreq : TCheckBox;
|
||||
chkExSat : TCheckBox;
|
||||
chkExPropagation : TCheckBox;
|
||||
@ -54,6 +58,36 @@ type
|
||||
chkexWAZ : TCheckBox;
|
||||
chkProfile : TCheckBox;
|
||||
chkAscTime : TCheckBox;
|
||||
edtWAward1: TEdit;
|
||||
edtWCall1: TEdit;
|
||||
edtWContestMsg1: TEdit;
|
||||
edtWContestName1: TEdit;
|
||||
edtWContestNr1: TEdit;
|
||||
edtWCounty1: TEdit;
|
||||
edtWDistance1: TEdit;
|
||||
edtWDXCC1: TEdit;
|
||||
edtWeQSLR1: TEdit;
|
||||
edtWeQSLRDate1: TEdit;
|
||||
edtWeQSLS1: TEdit;
|
||||
edtWeQSLSDate1: TEdit;
|
||||
edtWIOTA1: TEdit;
|
||||
edtWITU1: TEdit;
|
||||
edtWLoc1: TEdit;
|
||||
edtWLQSLR1: TEdit;
|
||||
edtWLQSLRDate1: TEdit;
|
||||
edtWLQSLS1: TEdit;
|
||||
edtWLQSLSDate1: TEdit;
|
||||
edtWMyLoc1: TEdit;
|
||||
edtWNote1: TEdit;
|
||||
edtWPower1: TEdit;
|
||||
edtWProfile: TEdit;
|
||||
edtWContinent1: TEdit;
|
||||
edtWProfile1: TEdit;
|
||||
edtWDate1: TEdit;
|
||||
edtWDistance: TEdit;
|
||||
edtWFreq1: TEdit;
|
||||
edtWMode1: TEdit;
|
||||
edtWName1: TEdit;
|
||||
edtWProp : TEdit;
|
||||
edtWAward : TEdit;
|
||||
edtWCall : TEdit;
|
||||
@ -77,7 +111,22 @@ type
|
||||
edtWName : TEdit;
|
||||
edtWNote : TEdit;
|
||||
edtWPower : TEdit;
|
||||
edtWContestName: TEdit;
|
||||
edtWContestNr: TEdit;
|
||||
edtWContestMsg: TEdit;
|
||||
edtWProp1: TEdit;
|
||||
edtWQSLR1: TEdit;
|
||||
edtWQSLRDate1: TEdit;
|
||||
edtWQSLS1: TEdit;
|
||||
edtWQSLSDate1: TEdit;
|
||||
edtWQSLVIA1: TEdit;
|
||||
edtWQTH1: TEdit;
|
||||
edtWRemarks1: TEdit;
|
||||
edtWRstR1: TEdit;
|
||||
edtWRstS1: TEdit;
|
||||
edtWRxFreq : TEdit;
|
||||
edtWContinent: TEdit;
|
||||
edtWRxFreq1: TEdit;
|
||||
edtWSatName : TEdit;
|
||||
edtWQSLR : TEdit;
|
||||
edtWQSLRDate : TEdit;
|
||||
@ -88,22 +137,38 @@ type
|
||||
edtWRemarks : TEdit;
|
||||
edtWRstR : TEdit;
|
||||
edtWRstS : TEdit;
|
||||
edtWSatName1: TEdit;
|
||||
edtWState : TEdit;
|
||||
edtWState1: TEdit;
|
||||
edtWTimeOff : TEdit;
|
||||
edtWTimeOff1: TEdit;
|
||||
edtWTimeOn : TEdit;
|
||||
edtWTimeOn1: TEdit;
|
||||
edtWWAZ : TEdit;
|
||||
Label46 : TLabel;
|
||||
Label47 : TLabel;
|
||||
Label48 : TLabel;
|
||||
Label49 : TLabel;
|
||||
Label50 : TLabel;
|
||||
Label51 : TLabel;
|
||||
edtWWAZ1: TEdit;
|
||||
lblField1 : TLabel;
|
||||
lblField2 : TLabel;
|
||||
lblField3 : TLabel;
|
||||
lblWidth1 : TLabel;
|
||||
lblWidth2 : TLabel;
|
||||
lblWidth3 : TLabel;
|
||||
lblHTML1: TLabel;
|
||||
lblHTML2: TLabel;
|
||||
lblHTML3: TLabel;
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
procedure SaveExportPref;
|
||||
procedure LoadExportPref;
|
||||
end;
|
||||
{
|
||||
NOTE !!!
|
||||
If you update any component property of this frame (.lfm), but do not add or remove any component,
|
||||
changes do not update to inheriting form(s).
|
||||
Only 100% sure way to update all to inheriting form is to delete frame from form and then add it
|
||||
again with lazarus GUI toolbar "form" button. When this is done all form actions linked to frame components
|
||||
are lost and they must be relinked again manually.
|
||||
}
|
||||
|
||||
implementation
|
||||
{$R *.lfm}
|
||||
@ -127,6 +192,7 @@ begin
|
||||
cqrini.WriteBool('Export', 'QSL_VIA', chkexQSLVIA.Checked);
|
||||
cqrini.WriteBool('Export', 'Locator', chkexLoc.Checked);
|
||||
cqrini.WriteBool('Export', 'MyLoc', chkexMyLoc.Checked);
|
||||
cqrini.WriteBool('Export', 'Distance', chkexDistance.Checked);
|
||||
cqrini.WriteBool('Export', 'IOTA', chkexIOTA.Checked);
|
||||
cqrini.WriteBool('Export', 'Award', chkexAward.Checked);
|
||||
cqrini.WriteBool('Export', 'County', chkexCounty.Checked);
|
||||
@ -142,7 +208,7 @@ begin
|
||||
cqrini.WriteBool('Export', 'LQSLSDate', chkexLQSLSDate.Checked);
|
||||
cqrini.WriteBool('Export', 'LQSLR', chkexLQSLR.Checked);
|
||||
cqrini.WriteBool('Export', 'LQSLRDate', chkexLQSLRDate.Checked);
|
||||
cqrini.WriteBool('Export', 'Cont', chkExCont.Checked);
|
||||
cqrini.WriteBool('Export', 'Continent', chkExCont.Checked);
|
||||
cqrini.WriteBool('Export', 'QSLSDate', chkexQSLSDate.Checked);
|
||||
cqrini.WriteBool('Export', 'QSLRDate', chkexQSLRDate.Checked);
|
||||
cqrini.WriteBool('Export', 'eQSLS', chkexeQSLS.Checked);
|
||||
@ -153,8 +219,12 @@ begin
|
||||
cqrini.WriteBool('Export', 'Prop', chkExPropagation.Checked);
|
||||
cqrini.WriteBool('Export', 'RxFreq', chkExRXFreq.Checked);
|
||||
cqrini.WriteBool('Export', 'SatName', chkExSat.Checked);
|
||||
cqrini.WriteBool('Export', 'Contest', chkexContest.Checked);
|
||||
cqrini.WriteBool('Export', 'Contestname', chkexContestName.Checked);
|
||||
cqrini.WriteBool('Export', 'ContestNr', chkexContestNr.Checked);
|
||||
cqrini.WriteBool('Export', 'ContestMsg', chkexContestMsg.Checked);
|
||||
cqrini.WriteBool('Export', 'HTMLAutoColumn', chkAutoColumn.Checked);
|
||||
|
||||
//group "none"
|
||||
cqrini.WriteString('Export', 'WDate', edtWDate.Text);
|
||||
cqrini.WriteString('Export', 'Wtime_on', edtWTimeOn.Text);
|
||||
cqrini.WriteString('Export', 'Wtime_off', edtWTimeOff.Text);
|
||||
@ -170,6 +240,7 @@ begin
|
||||
cqrini.WriteString('Export', 'WQSL_VIA', edtWQSLVIA.Text);
|
||||
cqrini.WriteString('Export', 'WLocator', edtWLoc.Text);
|
||||
cqrini.WriteString('Export', 'WMyLoc', edtWMyLoc.Text);
|
||||
cqrini.WriteString('Export', 'WDistance', edtWDistance.Text);
|
||||
cqrini.WriteString('Export', 'WIOTA', edtWIOTA.Text);
|
||||
cqrini.WriteString('Export', 'WAward', edtWAward.Text);
|
||||
cqrini.WriteString('Export', 'WCounty', edtWCounty.Text);
|
||||
@ -193,6 +264,101 @@ begin
|
||||
cqrini.WriteString('Export', 'WProp', edtWProp.Text);
|
||||
cqrini.WriteString('Export', 'WRxFreq', edtWRxFreq.Text);
|
||||
cqrini.WriteString('Export', 'WSatName', edtWSatName.Text);
|
||||
cqrini.WriteString('Export', 'WContinent', edtWContinent.Text);
|
||||
cqrini.WriteString('Export', 'WProfile', edtWProfile.Text);
|
||||
cqrini.WriteString('Export', 'WContestName', edtWContestName.Text);
|
||||
cqrini.WriteString('Export', 'WContestNr', edtWContestNr.Text);
|
||||
cqrini.WriteString('Export', 'WContestMsg', edtWContestMsg.Text);
|
||||
cqrini.WriteString('Export', 'WDate', edtWDate.Text);
|
||||
cqrini.WriteString('Export', 'Wtime_on', edtWTimeOn.Text);
|
||||
cqrini.WriteString('Export', 'Wtime_off', edtWTimeOff.Text);
|
||||
cqrini.WriteString('Export', 'WCallSign', edtWCall.Text);
|
||||
cqrini.WriteString('Export', 'WMode', edtWMode.Text);
|
||||
cqrini.WriteString('Export', 'WFreq', edtWFreq.Text);
|
||||
cqrini.WriteString('Export', 'WRST_S', edtWRstS.Text);
|
||||
cqrini.WriteString('Export', 'WRST_R', edtWRstR.Text);
|
||||
cqrini.WriteString('Export', 'WName', edtWName.Text);
|
||||
cqrini.WriteString('Export', 'WQTH', edtWQTH.Text);
|
||||
cqrini.WriteString('Export', 'WQSL_S', edtWQSLS.Text);
|
||||
cqrini.WriteString('Export', 'WQSL_R', edtWQSLR.Text);
|
||||
cqrini.WriteString('Export', 'WQSL_VIA', edtWQSLVIA.Text);
|
||||
cqrini.WriteString('Export', 'WLocator', edtWLoc.Text);
|
||||
cqrini.WriteString('Export', 'WMyLoc', edtWMyLoc.Text);
|
||||
cqrini.WriteString('Export', 'WDistance', edtWDistance.Text);
|
||||
cqrini.WriteString('Export', 'WIOTA', edtWIOTA.Text);
|
||||
cqrini.WriteString('Export', 'WAward', edtWAward.Text);
|
||||
cqrini.WriteString('Export', 'WCounty', edtWCounty.Text);
|
||||
cqrini.WriteString('Export', 'WPower', edtWPower.Text);
|
||||
cqrini.WriteString('Export', 'WDXCC', edtWDXCC.Text);
|
||||
cqrini.WriteString('Export', 'WRemarks', edtWRemarks.Text);
|
||||
cqrini.WriteString('Export', 'WWAZ', edtWWAZ.Text);
|
||||
cqrini.WriteString('Export', 'WITU', edtWITU.Text);
|
||||
cqrini.WriteString('Export', 'WNote', edtWNote.Text);
|
||||
cqrini.WriteString('Export', 'WState', edtWState.Text);
|
||||
cqrini.WriteString('Export', 'WLQSLS', edtWLQSLS.Text);
|
||||
cqrini.WriteString('Export', 'WLQSLSDate', edtWLQSLSDate.Text);
|
||||
cqrini.WriteString('Export', 'WLQSLR', edtWLQSLR.Text);
|
||||
cqrini.WriteString('Export', 'WLQSLRDate', edtWLQSLRDate.Text);
|
||||
cqrini.WriteString('Export', 'WQSLSDate', edtWQSLSDate.Text);
|
||||
cqrini.WriteString('Export', 'WQSLRDate', edtWQSLRDate.Text);
|
||||
cqrini.WriteString('Export', 'WeQSLS', edtWeQSLS.Text);
|
||||
cqrini.WriteString('Export', 'WeQSLSDate', edtWeQSLSDate.Text);
|
||||
cqrini.WriteString('Export', 'WeQSLR', edtWeQSLR.Text);
|
||||
cqrini.WriteString('Export', 'WeQSLRDate', edtWeQSLRDate.Text);
|
||||
cqrini.WriteString('Export', 'WProp', edtWProp.Text);
|
||||
cqrini.WriteString('Export', 'WRxFreq', edtWRxFreq.Text);
|
||||
cqrini.WriteString('Export', 'WSatName', edtWSatName.Text);
|
||||
cqrini.WriteString('Export', 'WContinent', edtWContinent.Text);
|
||||
cqrini.WriteString('Export', 'WProfile', edtWProfile.Text);
|
||||
cqrini.WriteString('Export', 'WContestName', edtWContestName.Text);
|
||||
cqrini.WriteString('Export', 'WContestNr', edtWContestNr.Text);
|
||||
cqrini.WriteString('Export', 'WContestMsg', edtWContestMsg.Text);
|
||||
|
||||
//group "one"
|
||||
cqrini.WriteString('Export', 'WDate1', edtWDate1.Text);
|
||||
cqrini.WriteString('Export', 'Wtime_on1', edtWTimeOn1.Text);
|
||||
cqrini.WriteString('Export', 'Wtime_off1', edtWTimeOff1.Text);
|
||||
cqrini.WriteString('Export', 'WCallSign1', edtWCall1.Text);
|
||||
cqrini.WriteString('Export', 'WMode1', edtWMode1.Text);
|
||||
cqrini.WriteString('Export', 'WFreq1', edtWFreq1.Text);
|
||||
cqrini.WriteString('Export', 'WRST_S1', edtWRstS1.Text);
|
||||
cqrini.WriteString('Export', 'WRST_R1', edtWRstR1.Text);
|
||||
cqrini.WriteString('Export', 'WName1', edtWName1.Text);
|
||||
cqrini.WriteString('Export', 'WQTH1', edtWQTH1.Text);
|
||||
cqrini.WriteString('Export', 'WQSL_S1', edtWQSLS1.Text);
|
||||
cqrini.WriteString('Export', 'WQSL_R1', edtWQSLR1.Text);
|
||||
cqrini.WriteString('Export', 'WQSL_VIA1', edtWQSLVIA1.Text);
|
||||
cqrini.WriteString('Export', 'WLocator1', edtWLoc1.Text);
|
||||
cqrini.WriteString('Export', 'WMyLoc1', edtWMyLoc1.Text);
|
||||
cqrini.WriteString('Export', 'WDistance1', edtWDistance1.Text);
|
||||
cqrini.WriteString('Export', 'WIOTA1', edtWIOTA1.Text);
|
||||
cqrini.WriteString('Export', 'WAward1', edtWAward1.Text);
|
||||
cqrini.WriteString('Export', 'WCounty1', edtWCounty1.Text);
|
||||
cqrini.WriteString('Export', 'WPower1', edtWPower1.Text);
|
||||
cqrini.WriteString('Export', 'WDXCC1', edtWDXCC1.Text);
|
||||
cqrini.WriteString('Export', 'WRemarks1', edtWRemarks1.Text);
|
||||
cqrini.WriteString('Export', 'WWAZ1', edtWWAZ1.Text);
|
||||
cqrini.WriteString('Export', 'WITU1', edtWITU1.Text);
|
||||
cqrini.WriteString('Export', 'WNote1', edtWNote1.Text);
|
||||
cqrini.WriteString('Export', 'WState1', edtWState1.Text);
|
||||
cqrini.WriteString('Export', 'WLQSLS1', edtWLQSLS1.Text);
|
||||
cqrini.WriteString('Export', 'WLQSLSDate1', edtWLQSLSDate1.Text);
|
||||
cqrini.WriteString('Export', 'WLQSLR1', edtWLQSLR1.Text);
|
||||
cqrini.WriteString('Export', 'WLQSLRDate1', edtWLQSLRDate1.Text);
|
||||
cqrini.WriteString('Export', 'WQSLSDate1', edtWQSLSDate1.Text);
|
||||
cqrini.WriteString('Export', 'WQSLRDate1', edtWQSLRDate1.Text);
|
||||
cqrini.WriteString('Export', 'WeQSLS1', edtWeQSLS1.Text);
|
||||
cqrini.WriteString('Export', 'WeQSLSDate1', edtWeQSLSDate1.Text);
|
||||
cqrini.WriteString('Export', 'WeQSLR1', edtWeQSLR1.Text);
|
||||
cqrini.WriteString('Export', 'WeQSLRDate1', edtWeQSLRDate1.Text);
|
||||
cqrini.WriteString('Export', 'WProp1', edtWProp1.Text);
|
||||
cqrini.WriteString('Export', 'WRxFreq1', edtWRxFreq1.Text);
|
||||
cqrini.WriteString('Export', 'WSatName1', edtWSatName1.Text);
|
||||
cqrini.WriteString('Export', 'WContinent1', edtWContinent1.Text);
|
||||
cqrini.WriteString('Export', 'WProfile1', edtWProfile1.Text);
|
||||
cqrini.WriteString('Export', 'WContestName1', edtWContestName1.Text);
|
||||
cqrini.WriteString('Export', 'WContestNr1', edtWContestNr1.Text);
|
||||
cqrini.WriteString('Export', 'WContestMsg1', edtWContestMsg1.Text);
|
||||
end;
|
||||
|
||||
procedure TfraExportPref.LoadExportPref;
|
||||
@ -212,6 +378,7 @@ begin
|
||||
chkexQSLVIA.Checked := cqrini.ReadBool('Export', 'QSL_VIA', True);
|
||||
chkexLoc.Checked := cqrini.ReadBool('Export', 'Locator', False);
|
||||
chkexMyLoc.Checked := cqrini.ReadBool('Export', 'MyLoc', False);
|
||||
chkexDistance.Checked := cqrini.ReadBool('Export', 'Distance', False);
|
||||
chkexIOTA.Checked := cqrini.ReadBool('Export', 'IOTA', False);
|
||||
chkexAward.Checked := cqrini.ReadBool('Export', 'Award', False);
|
||||
chkexCounty.Checked := cqrini.ReadBool('Export', 'County', False);
|
||||
@ -227,7 +394,7 @@ begin
|
||||
chkexLQSLSDate.Checked := cqrini.ReadBool('Export', 'LQSLSDate', False);
|
||||
chkexLQSLR.Checked := cqrini.ReadBool('Export', 'LQSLR', False);
|
||||
chkexLQSLRDate.Checked := cqrini.ReadBool('Export', 'LQSLRDate', False);
|
||||
chkExCont.Checked := cqrini.ReadBool('Export', 'Cont', False);
|
||||
chkExCont.Checked := cqrini.ReadBool('Export', 'Continent', False);
|
||||
chkexQSLSDate.Checked := cqrini.ReadBool('Export', 'QSLSDate', False);
|
||||
chkexQSLRDate.Checked := cqrini.ReadBool('Export', 'QSLRDate', False);
|
||||
chkexeQSLS.Checked := cqrini.ReadBool('Export', 'eQSLS', False);
|
||||
@ -238,47 +405,104 @@ begin
|
||||
chkExPropagation.Checked := cqrini.ReadBool('Export', 'Prop', False);
|
||||
chkExRXFreq.Checked := cqrini.ReadBool('Export', 'RxFreq', False);
|
||||
chkExSat.Checked := cqrini.ReadBool('Export', 'SatName', False);
|
||||
chkexContest.Checked := cqrini.ReadBool('Export', 'Contest', False);
|
||||
chkexContestName.Checked := cqrini.ReadBool('Export', 'Contestname', False);
|
||||
chkexContestNr.Checked := cqrini.ReadBool('Export', 'ContestNr',False);
|
||||
chkexContestMsg.Checked := cqrini.ReadBool('Export', 'ContestMsg', False);
|
||||
chkAutoColumn.Checked := cqrini.ReadBool('Export', 'HTMLAutoColumn', False);
|
||||
|
||||
|
||||
edtWDate.Text := cqrini.ReadString('Export', 'WDate', '50');
|
||||
edtWTimeOn.Text := cqrini.ReadString('Export', 'Wtime_on', '50');
|
||||
edtWTimeOff.Text := cqrini.ReadString('Export', 'Wtime_off', '50');
|
||||
edtWCall.Text := cqrini.ReadString('Export', 'WCallSign', '50');
|
||||
edtWMode.Text := cqrini.ReadString('Export', 'WMode', '50');
|
||||
edtWFreq.Text := cqrini.ReadString('Export', 'WFreq', '50');
|
||||
edtWRstS.Text := cqrini.ReadString('Export', 'WRST_S', '50');
|
||||
edtWRstR.Text := cqrini.ReadString('Export', 'WRST_R', '30');
|
||||
edtWName.Text := cqrini.ReadString('Export', 'WName', '50');
|
||||
edtWQTH.Text := cqrini.ReadString('Export', 'WQTH', '80');
|
||||
edtWQSLS.Text := cqrini.ReadString('Export', 'WQSL_S', '10');
|
||||
edtWQSLR.Text := cqrini.ReadString('Export', 'WQSL_R', '10');
|
||||
edtWQSLVIA.Text := cqrini.ReadString('Export', 'WQSL_VIA', '20');
|
||||
edtWLoc.Text := cqrini.ReadString('Export', 'WLocator', '30');
|
||||
edtWMyLoc.Text := cqrini.ReadString('Export', 'WMyLoc', '30');
|
||||
edtWIOTA.Text := cqrini.ReadString('Export', 'WIOTA', '40');
|
||||
edtWAward.Text := cqrini.ReadString('Export', 'WAward', '40');
|
||||
edtWCounty.Text := cqrini.ReadString('Export', 'WCounty', '40');
|
||||
edtWPower.Text := cqrini.ReadString('Export', 'WPower', '40');
|
||||
edtWDXCC.Text := cqrini.ReadString('Export', 'WDXCC', '40');
|
||||
//group "none"
|
||||
edtWDate.Text := cqrini.ReadString('Export', 'WDate', '10');
|
||||
edtWTimeOn.Text := cqrini.ReadString('Export', 'Wtime_on', '5');
|
||||
edtWTimeOff.Text := cqrini.ReadString('Export', 'Wtime_off', '5');
|
||||
edtWCall.Text := cqrini.ReadString('Export', 'WCallSign', '10');
|
||||
edtWMode.Text := cqrini.ReadString('Export', 'WMode', '6');
|
||||
edtWFreq.Text := cqrini.ReadString('Export', 'WFreq', '10');
|
||||
edtWRstS.Text := cqrini.ReadString('Export', 'WRST_S', '4');
|
||||
edtWRstR.Text := cqrini.ReadString('Export', 'WRST_R', '4');
|
||||
edtWName.Text := cqrini.ReadString('Export', 'WName', '20');
|
||||
edtWQTH.Text := cqrini.ReadString('Export', 'WQTH', '20');
|
||||
edtWQSLS.Text := cqrini.ReadString('Export', 'WQSL_S', '2');
|
||||
edtWQSLR.Text := cqrini.ReadString('Export', 'WQSL_R', '2');
|
||||
edtWQSLVIA.Text := cqrini.ReadString('Export', 'WQSL_VIA', '10');
|
||||
edtWLoc.Text := cqrini.ReadString('Export', 'WLocator', '6');
|
||||
edtWMyLoc.Text := cqrini.ReadString('Export', 'WMyLoc', '6');
|
||||
edtWDistance.Text := cqrini.ReadString('Export', 'WDistance', '5');
|
||||
edtWIOTA.Text := cqrini.ReadString('Export', 'WIOTA', '7');
|
||||
edtWAward.Text := cqrini.ReadString('Export', 'WAward', '10');
|
||||
edtWCounty.Text := cqrini.ReadString('Export', 'WCounty', '10');
|
||||
edtWPower.Text := cqrini.ReadString('Export', 'WPower', '4');
|
||||
edtWDXCC.Text := cqrini.ReadString('Export', 'WDXCC', '4');
|
||||
edtWRemarks.Text := cqrini.ReadString('Export', 'WRemarks', '100');
|
||||
edtWWAZ.Text := cqrini.ReadString('Export', 'WWAZ', '20');
|
||||
edtWITU.Text := cqrini.ReadString('Export', 'WITU', '20');
|
||||
edtWNote.Text := cqrini.ReadString('Export', 'WNote', '40');
|
||||
edtWState.Text := cqrini.ReadString('Export', 'WState', '40');
|
||||
edtWLQSLS.Text := cqrini.ReadString('Export', 'WLQSLS', '50');
|
||||
edtWLQSLSDate.Text := cqrini.ReadString('Export', 'WLQSLSDate', '50');
|
||||
edtWLQSLR.Text := cqrini.ReadString('Export', 'WLQSLR', '50');
|
||||
edtWLQSLRDate.Text := cqrini.ReadString('Export', 'WLQSLRDate', '50');
|
||||
edtWQSLSDate.Text := cqrini.ReadString('Export', 'WQSLSDate', '50');
|
||||
edtWQSLRDate.Text := cqrini.ReadString('Export', 'WQSLRDate', '50');
|
||||
edtWeQSLS.Text := cqrini.ReadString('Export', 'WeQSLS', '50');
|
||||
edtWeQSLSDate.Text := cqrini.ReadString('Export', 'WeQSLSDate', '50');
|
||||
edtWeQSLR.Text := cqrini.ReadString('Export', 'WeQSLR', '50');
|
||||
edtWeQSLRDate.Text := cqrini.ReadString('Export', 'WeQSLRDate', '50');
|
||||
edtWProp.Text := cqrini.ReadString('Export', 'WProp', '50');
|
||||
edtWRxFreq.Text := cqrini.ReadString('Export', 'WRxFreq', '50');
|
||||
edtWSatName.Text := cqrini.ReadString('Export', 'WSatName', '50')
|
||||
edtWWAZ.Text := cqrini.ReadString('Export', 'WWAZ', '3');
|
||||
edtWITU.Text := cqrini.ReadString('Export', 'WITU', '3');
|
||||
edtWNote.Text := cqrini.ReadString('Export', 'WNote', '50');
|
||||
edtWState.Text := cqrini.ReadString('Export', 'WState', '10');
|
||||
edtWLQSLS.Text := cqrini.ReadString('Export', 'WLQSLS', '2');
|
||||
edtWLQSLSDate.Text := cqrini.ReadString('Export', 'WLQSLSDate', '10');
|
||||
edtWLQSLR.Text := cqrini.ReadString('Export', 'WLQSLR', '2');
|
||||
edtWLQSLRDate.Text := cqrini.ReadString('Export', 'WLQSLRDate', '10');
|
||||
edtWQSLSDate.Text := cqrini.ReadString('Export', 'WQSLSDate', '10');
|
||||
edtWQSLRDate.Text := cqrini.ReadString('Export', 'WQSLRDate', '10');
|
||||
edtWeQSLS.Text := cqrini.ReadString('Export', 'WeQSLS', '2');
|
||||
edtWeQSLSDate.Text := cqrini.ReadString('Export', 'WeQSLSDate', '10');
|
||||
edtWeQSLR.Text := cqrini.ReadString('Export', 'WeQSLR', '2');
|
||||
edtWeQSLRDate.Text := cqrini.ReadString('Export', 'WeQSLRDate', '10');
|
||||
edtWProp.Text := cqrini.ReadString('Export', 'WProp', '6');
|
||||
edtWRxFreq.Text := cqrini.ReadString('Export', 'WRxFreq', '10');
|
||||
edtWSatName.Text := cqrini.ReadString('Export', 'WSatName', '10');
|
||||
edtWContinent.Text := cqrini.ReadString('Export', 'WContinent', '2');
|
||||
edtWProfile.Text := cqrini.ReadString('Export', 'WProfile', '20');
|
||||
edtWContestName.Text := cqrini.ReadString('Export', 'WContestName', '20');
|
||||
edtWContestNr.Text := cqrini.ReadString('Export', 'WContestNr', '4');
|
||||
edtWContestMsg.Text := cqrini.ReadString('Export', 'WContestMsg', '10');
|
||||
|
||||
//group "one"
|
||||
edtWDate1.Text := cqrini.ReadString('Export', 'WDate1', 'Date');
|
||||
edtWTimeOn1.Text := cqrini.ReadString('Export', 'Wtime_on1', 'Time on');
|
||||
edtWTimeOff1.Text := cqrini.ReadString('Export', 'Wtime_off1', 'Time off');
|
||||
edtWCall1.Text := cqrini.ReadString('Export', 'WCallSign1', 'Call');
|
||||
edtWMode1.Text := cqrini.ReadString('Export', 'WMode1', 'Mode');
|
||||
edtWFreq1.Text := cqrini.ReadString('Export', 'WFreq1', 'Freq');
|
||||
edtWRstS1.Text := cqrini.ReadString('Export', 'WRST_S1', 'RSTs');
|
||||
edtWRstR1.Text := cqrini.ReadString('Export', 'WRST_R1', 'RSTr');
|
||||
edtWName1.Text := cqrini.ReadString('Export', 'WName1', 'Name');
|
||||
edtWQTH1.Text := cqrini.ReadString('Export', 'WQTH1', 'QTH');
|
||||
edtWQSLS1.Text := cqrini.ReadString('Export', 'WQSL_S1', 'QSLs');
|
||||
edtWQSLR1.Text := cqrini.ReadString('Export', 'WQSL_R1', 'QSLr');
|
||||
edtWQSLVIA1.Text := cqrini.ReadString('Export', 'WQSL_VIA1', 'QSL via');
|
||||
edtWLoc1.Text := cqrini.ReadString('Export', 'WLocator1', 'Loc');
|
||||
edtWMyLoc1.Text := cqrini.ReadString('Export', 'WMyLoc1', 'MyLoc');
|
||||
edtWDistance1.Text := cqrini.ReadString('Export', 'WDistance1', 'QRB');
|
||||
edtWIOTA1.Text := cqrini.ReadString('Export', 'WIOTA1', 'IOTA');
|
||||
edtWAward1.Text := cqrini.ReadString('Export', 'WAward1', 'Award');
|
||||
edtWCounty1.Text := cqrini.ReadString('Export', 'WCounty1', 'County');
|
||||
edtWPower1.Text := cqrini.ReadString('Export', 'WPower1', 'Pwr');
|
||||
edtWDXCC1.Text := cqrini.ReadString('Export', 'WDXCC1', 'DXCC');
|
||||
edtWRemarks1.Text := cqrini.ReadString('Export', 'WRemarks1', 'Cmnt');
|
||||
edtWWAZ1.Text := cqrini.ReadString('Export', 'WWAZ1', 'WAZ');
|
||||
edtWITU1.Text := cqrini.ReadString('Export', 'WITU1', 'ITU');
|
||||
edtWNote1.Text := cqrini.ReadString('Export', 'WNote1', 'Note');
|
||||
edtWState1.Text := cqrini.ReadString('Export', 'WState1', 'State');
|
||||
edtWLQSLS1.Text := cqrini.ReadString('Export', 'WLQSLS1', 'LQSLs');
|
||||
edtWLQSLSDate1.Text := cqrini.ReadString('Export', 'WLQSLSDate1', 'LQSLSdat');
|
||||
edtWLQSLR1.Text := cqrini.ReadString('Export', 'WLQSLR1', 'LQSLr');
|
||||
edtWLQSLRDate1.Text := cqrini.ReadString('Export', 'WLQSLRDate1', 'LQSLRdat');
|
||||
edtWQSLSDate1.Text := cqrini.ReadString('Export', 'WQSLSDate1', 'QSLSdat');
|
||||
edtWQSLRDate1.Text := cqrini.ReadString('Export', 'WQSLRDate1', 'QSLRdat');
|
||||
edtWeQSLS1.Text := cqrini.ReadString('Export', 'WeQSLS1', 'eQSLs');
|
||||
edtWeQSLSDate1.Text := cqrini.ReadString('Export', 'WeQSLSDate1', 'eQSLSdat');
|
||||
edtWeQSLR1.Text := cqrini.ReadString('Export', 'WeQSLR1', 'eQSLr');
|
||||
edtWeQSLRDate1.Text := cqrini.ReadString('Export', 'WeQSLRDate1', 'eQSLRdat');
|
||||
edtWProp1.Text := cqrini.ReadString('Export', 'WProp1', 'Propag');
|
||||
edtWRxFreq1.Text := cqrini.ReadString('Export', 'WRxFreq1', 'RX Freq');
|
||||
edtWSatName1.Text := cqrini.ReadString('Export', 'WSatName1', 'Satellite');
|
||||
edtWContinent1.Text := cqrini.ReadString('Export', 'WContinent1', 'Contin');
|
||||
edtWProfile1.Text := cqrini.ReadString('Export', 'WProfile1', 'Profile');
|
||||
edtWContestName1.Text := cqrini.ReadString('Export', 'WContestName1', 'Contest');
|
||||
edtWContestNr1.Text := cqrini.ReadString('Export', 'WContestNr1', 'Cont Nr');
|
||||
edtWContestMsg1.Text := cqrini.ReadString('Export', 'WContestMsg1', 'Cont Msg');
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -49,7 +49,9 @@ begin
|
||||
InitCriticalSection(crit);
|
||||
fIniFileName := IniFile;
|
||||
ini := TMemIniFile.Create(IniFile);
|
||||
lini := TMemIniFile.Create(LocalIniFile)
|
||||
lini := TMemIniFile.Create(LocalIniFile);
|
||||
ini.CacheUpdates :=false; //should be as default, but is it?
|
||||
lini.CacheUpdates :=false;
|
||||
end;
|
||||
|
||||
function TMyIni.ReadString(const Section, Ident, Default: string): string;
|
||||
|
@ -9,7 +9,7 @@ const
|
||||
cMINOR = 3;
|
||||
cRELEAS = 0;
|
||||
cBUILD = 3;
|
||||
cBUILD_DATE = '2019-08-21';
|
||||
cBUILD_DATE = '2019-09-30';
|
||||
|
||||
implementation
|
||||
|
||||
|