diff --git a/src/CHANGELOG b/src/CHANGELOG index 4ebe769..9a0fac4 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -4,12 +4,7 @@ Legend: - bugfix -------------------- 2.3.0 - - grid map: loc and qso counters fixed. Default start fixed as all/any. Default save as jpg (Saku, OH1KH) - - xplanet support/DXCluster was reversing colors RGB to BGR (Saku, OH1KH) + Wsjt-x CQ-monitor: new features Wsjt-map ColorBack and xplanet support. (Saku, OH1KH) - - Filter section QSL. Controls over group box. Tighter setting of controls (Saku, OH1KH) - - Worked grids map: Mode selector did not load user's additions (digimodes) (Saku, OH1KH) - - CWtype/letter mode: doubling a .. z removed (Saku, OH1KH) + Cq-monitor: Overtimed entries turn silvergray in Follow and "no history" (Saku, OH1KH) + Band selector to Filter windows added (Saku, OH1KH) + CQ-monitor Delta Freqyency instead of Time when "no history" checked (Saku, OH1KH) @@ -23,7 +18,11 @@ Legend: + eQSL ADIF import now also uses submodes from the ADIF specification to match qsos in log (Jonas, SM2VSD) + eQSL ADIf import now also uses timestamp from log (+/-60min) together with timestamp from eQSL to match qsos (Jonas, SM2VSD) - + - CWtype/letter mode: doubling a .. z removed (Saku, OH1KH) + - Worked grids map: Mode selector did not load user's additions (digimodes) (Saku, OH1KH) + - Filter section QSL. Controls over group box. Tighter setting of controls (Saku, OH1KH) + - xplanet support/DXCluster was reversing colors RGB to BGR (Saku, OH1KH) + - grid map: loc and qso counters fixed. Default start fixed as all/any. Default save as jpg (Saku, OH1KH) - QSO Filter layout fixed (Saku, OH1KH) - DXCluster/WEB Font button not connected to acFont (no action). Fixed (Saku, OH1KH) - wsjtx logging take start and stop times to log (before just stop time) (Saku, OH1KH) diff --git a/src/cqrlog.lpi b/src/cqrlog.lpi index 04b481f..ada68a0 100644 --- a/src/cqrlog.lpi +++ b/src/cqrlog.lpi @@ -333,6 +333,7 @@ + @@ -793,4 +794,11 @@ + + + + + + + diff --git a/src/dData.pas b/src/dData.pas index 9a00e52..65aaa00 100644 --- a/src/dData.pas +++ b/src/dData.pas @@ -41,27 +41,6 @@ type text : String; end; -type - TClub = record - Name : String; - LongName : String; - NewInfo : String; - NewBandInfo : String; - NewModeInfo : String; - QSLNeededInfo : String; - AlreadyCfmInfo : String; - ClubField : String; - MainFieled : String; - StoreField : String; - StoreText : String; - NewColor : Integer; - BandColor : Integer; - ModeColor : Integer; - QSLColor : Integer; - AlreadyColor : Integer; - DateFrom : String; - end; - type TZipCode = record Name : String; @@ -159,6 +138,7 @@ type fHomeDir : String; fDataDir : String; fMembersDir : String; + fGlobalMembersDir : String; fDebugLevel : Integer; fOrderBy : String; fVersionString : String; @@ -217,11 +197,6 @@ type //if he wants to use export, program use the same functions for filter enabled Ascening : Boolean; - Club1 : TClub; - Club2 : TClub; - Club3 : TClub; - Club4 : TClub; - Club5 : TClub; Zip1 : TZipCode; Zip2 : TZipCode; @@ -237,6 +212,7 @@ type property DataDir : String read fDataDir write fDataDir; property ShareDir : String read fShareDir write fShareDir; property MembersDir : String read fMembersDir; + property GlobalMembersDir : string read fGlobalMembersDir; property ZipCodeDir : String read fZipCodeDir; property UsrHomeDir : String read fUsrHomeDir; property DebugLevel : Integer read fDebugLevel write fDebugLevel; @@ -362,7 +338,7 @@ implementation {$R *.lfm} uses dUtils, dDXCC, fMain, fWorking, fUpgrade, fImportProgress, fNewQSO, dDXCluster, uMyIni, - fTRXControl, fRotControl, uVersion, dLogUpload, fDbError; + fTRXControl, fRotControl, uVersion, dLogUpload, fDbError, dMembership; procedure TdmData.CheckForDatabases; var @@ -927,11 +903,11 @@ begin if not DirectoryExistsUTF8(fHomeDir+'database') then CreateDir(fHomeDir+'database'); - if DirectoryExistsUTF8(fHomeDir+'members') then - fMembersDir := fHomeDir+'members'+PathDelim - else - fMembersDir := ExpandFileNameUTF8('..'+PathDelim+'share'+PathDelim+'cqrlog'+ - PathDelim+'members'+PathDelim); + if not DirectoryExistsUTF8(fHomeDir+'members') then + CreateDirUTF8(fHomeDir+'members'); + fMembersDir := fHomeDir+'members'+PathDelim; + fGlobalMembersDir := ExpandFileNameUTF8('..'+PathDelim+'share'+PathDelim+'cqrlog'+ + PathDelim+'members'+PathDelim); if DirectoryExistsUTF8(fHomeDir+'zipcodes') then fZipCodeDir := fHomeDir+'zipcodes'+PathDelim @@ -2183,114 +2159,23 @@ begin end; procedure TdmData.LoadClubsSettings; -var - tmp : String; begin - tmp := cqrini.ReadString('Clubs','First',''); - Club1.Name := copy(tmp,1,Pos(';',tmp)-1); - Club1.LongName := copy(tmp,Pos(';',tmp)+1,Length(tmp)-Pos(';',tmp)+1); - Club1.NewInfo := cqrini.ReadString('FirstClub','NewInfo',''); - Club1.NewBandInfo := cqrini.ReadString('FirstClub','NewBandInfo',''); - Club1.NewModeInfo := cqrini.ReadString('FirstClub','NewModeInfo',''); - Club1.QSLNeededInfo := cqrini.ReadString('FirstClub','QSLNeededInfo',''); - Club1.AlreadyCfmInfo := cqrini.ReadString('FirstClub','AlreadyConfirmedInfo',''); - Club1.ClubField := cqrini.ReadString('FirstClub','ClubFields',''); - Club1.MainFieled := cqrini.ReadString('FirstClub','MainFields',''); - Club1.StoreField := cqrini.ReadString('FirstClub','StoreFields',''); - Club1.StoreText := cqrini.ReadString('FirstClub','StoreText',''); - Club1.NewColor := cqrini.ReadInteger('FirstClub','NewColor',0); - Club1.BandColor := cqrini.ReadInteger('FirstClub','BandColor',0); - Club1.ModeColor := cqrini.ReadInteger('FirstClub','ModeColor',0); - Club1.QSLColor := cqrini.ReadInteger('FirstClub','QSLColor',0); - Club1.AlreadyColor := cqrini.ReadInteger('FirstClub','AlreadyColor',0); - Club1.DateFrom := cqrini.ReadString('FirstClub','DateFrom','1945-01-01'); + dmMembership.LoadClubSettings(1, dmMembership.Club1); + dmMembership.LoadClubSettings(2, dmMembership.Club2); + dmMembership.LoadClubSettings(3, dmMembership.Club3); + dmMembership.LoadClubSettings(4, dmMembership.Club4); + dmMembership.LoadClubSettings(5, dmMembership.Club5); - tmp := cqrini.ReadString('Clubs','Second',''); - Club2.Name := copy(tmp,1,Pos(';',tmp)-1); - Club2.LongName := copy(tmp,Pos(';',tmp)+1,Length(tmp)-Pos(';',tmp)+1); - Club2.NewInfo := cqrini.ReadString('SecondClub','NewInfo',''); - Club2.NewBandInfo := cqrini.ReadString('SecondClub','NewBandInfo',''); - Club2.NewModeInfo := cqrini.ReadString('SecondClub','NewModeInfo',''); - Club2.QSLNeededInfo := cqrini.ReadString('SecondClub','QSLNeededInfo',''); - Club2.AlreadyCfmInfo := cqrini.ReadString('SecondClub','AlreadyConfirmedInfo',''); - Club2.ClubField := cqrini.ReadString('SecondClub','ClubFields',''); - Club2.MainFieled := cqrini.ReadString('SecondClub','MainFields',''); - Club2.StoreField := cqrini.ReadString('SecondClub','StoreFields',''); - Club2.StoreText := cqrini.ReadString('SecondClub','StoreText',''); - Club2.NewColor := cqrini.ReadInteger('SecondClub','NewColor',0); - Club2.BandColor := cqrini.ReadInteger('SecondClub','BandColor',0); - Club2.ModeColor := cqrini.ReadInteger('SecondClub','ModeColor',0); - Club2.QSLColor := cqrini.ReadInteger('SecondClub','QSLColor',0); - Club2.AlreadyColor := cqrini.ReadInteger('SecondClub','AlreadyColor',0); - Club2.DateFrom := cqrini.ReadString('SecondClub','DateFrom','1945-01-01'); - - tmp := cqrini.ReadString('Clubs','Third',''); - Club3.Name := copy(tmp,1,Pos(';',tmp)-1); - Club3.LongName := copy(tmp,Pos(';',tmp)+1,Length(tmp)-Pos(';',tmp)+1); - Club3.NewInfo := cqrini.ReadString('ThirdClub','NewInfo',''); - Club3.NewBandInfo := cqrini.ReadString('ThirdClub','NewBandInfo',''); - Club3.NewModeInfo := cqrini.ReadString('ThirdClub','NewModeInfo',''); - Club3.QSLNeededInfo := cqrini.ReadString('ThirdClub','QSLNeededInfo',''); - Club3.AlreadyCfmInfo := cqrini.ReadString('ThirdClub','AlreadyConfirmedInfo',''); - Club3.ClubField := cqrini.ReadString('ThirdClub','ClubFields',''); - Club3.MainFieled := cqrini.ReadString('ThirdClub','MainFields',''); - Club3.StoreField := cqrini.ReadString('ThirdClub','StoreFields',''); - Club3.StoreText := cqrini.ReadString('ThirdClub','StoreText',''); - Club3.NewColor := cqrini.ReadInteger('ThirdClub','NewColor',0); - Club3.BandColor := cqrini.ReadInteger('ThirdClub','BandColor',0); - Club3.ModeColor := cqrini.ReadInteger('ThirdClub','ModeColor',0); - Club3.QSLColor := cqrini.ReadInteger('ThirdClub','QSLColor',0); - Club3.AlreadyColor := cqrini.ReadInteger('ThirdClub','AlreadyColor',0); - Club3.DateFrom := cqrini.ReadString('ThirdClub','DateFrom','1945-01-01'); - - tmp := cqrini.ReadString('Clubs','Fourth',''); - Club4.Name := copy(tmp,1,Pos(';',tmp)-1); - Club4.LongName := copy(tmp,Pos(';',tmp)+1,Length(tmp)-Pos(';',tmp)+1); - Club4.NewInfo := cqrini.ReadString('FourthClub','NewInfo',''); - Club4.NewBandInfo := cqrini.ReadString('FourthClub','NewBandInfo',''); - Club4.NewModeInfo := cqrini.ReadString('FourthClub','NewModeInfo',''); - Club4.QSLNeededInfo := cqrini.ReadString('FourthClub','QSLNeededInfo',''); - Club4.AlreadyCfmInfo := cqrini.ReadString('FourthClub','AlreadyConfirmedInfo',''); - Club4.ClubField := cqrini.ReadString('FourthClub','ClubFields',''); - Club4.MainFieled := cqrini.ReadString('FourthClub','MainFields',''); - Club4.StoreField := cqrini.ReadString('FourthClub','StoreFields',''); - Club4.StoreText := cqrini.ReadString('FourthClub','StoreText',''); - Club4.NewColor := cqrini.ReadInteger('FourthClub','NewColor',0); - Club4.BandColor := cqrini.ReadInteger('FourthClub','BandColor',0); - Club4.ModeColor := cqrini.ReadInteger('FourthClub','ModeColor',0); - Club4.QSLColor := cqrini.ReadInteger('FourthClub','QSLColor',0); - Club4.AlreadyColor := cqrini.ReadInteger('FourthClub','AlreadyColor',0); - Club4.DateFrom := cqrini.ReadString('FourthClub','DateFrom','1945-01-01'); - - tmp := cqrini.ReadString('Clubs','Fifth',''); - Club5.Name := copy(tmp,1,Pos(';',tmp)-1); - Club5.LongName := copy(tmp,Pos(';',tmp)+1,Length(tmp)-Pos(';',tmp)+1); - Club5.NewInfo := cqrini.ReadString('FifthClub','NewInfo',''); - Club5.NewBandInfo := cqrini.ReadString('FifthClub','NewBandInfo',''); - Club5.NewModeInfo := cqrini.ReadString('FifthClub','NewModeInfo',''); - Club5.QSLNeededInfo := cqrini.ReadString('FifthClub','QSLNeededInfo',''); - Club5.AlreadyCfmInfo := cqrini.ReadString('FifthClub','AlreadyConfirmedInfo',''); - Club5.ClubField := cqrini.ReadString('FifthClub','ClubFields',''); - Club5.MainFieled := cqrini.ReadString('FifthClub','MainFields',''); - Club5.StoreField := cqrini.ReadString('FifthClub','StoreFields',''); - Club5.StoreText := cqrini.ReadString('FifthClub','StoreText',''); - Club5.NewColor := cqrini.ReadInteger('FifthClub','NewColor',0); - Club5.BandColor := cqrini.ReadInteger('FifthClub','BandColor',0); - Club5.ModeColor := cqrini.ReadInteger('FifthClub','ModeColor',0); - Club5.QSLColor := cqrini.ReadInteger('FifthClub','QSLColor',0); - Club5.AlreadyColor := cqrini.ReadInteger('FifthClub','AlreadyColor',0); - Club5.DateFrom := cqrini.ReadString('FifthClub','DateFrom','1945-01-01'); - - if Club1.MainFieled = 'call' then - Club1.MainFieled := 'idcall'; - if Club2.MainFieled = 'call' then - Club2.MainFieled := 'idcall'; - if Club3.MainFieled = 'call' then - Club3.MainFieled := 'idcall'; - if Club4.MainFieled = 'call' then - Club4.MainFieled := 'idcall'; - if Club5.MainFieled = 'call' then - Club5.MainFieled := 'idcall' + if dmMembership.Club1.MainFieled = 'call' then + dmMembership.Club1.MainFieled := 'idcall'; + if dmMembership.Club2.MainFieled = 'call' then + dmMembership.Club2.MainFieled := 'idcall'; + if dmMembership.Club3.MainFieled = 'call' then + dmMembership.Club3.MainFieled := 'idcall'; + if dmMembership.Club4.MainFieled = 'call' then + dmMembership.Club4.MainFieled := 'idcall'; + if dmMembership.Club5.MainFieled = 'call' then + dmMembership.Club5.MainFieled := 'idcall' end; procedure TdmData.LoadZipSettings; diff --git a/src/dMembership.pas b/src/dMembership.pas index f123ff3..dd4482b 100644 --- a/src/dMembership.pas +++ b/src/dMembership.pas @@ -5,16 +5,51 @@ unit dMembership; interface uses - Classes, SysUtils, FileUtil, LResources, LazFileUtils, Forms, LCLType, dateutils; + Classes, SysUtils, FileUtil, LResources, LazFileUtils, Forms, LCLType, dateutils, StdCtrls, Graphics; const C_CLUB_COUNT = 5; C_CLUB_UPDATE_SECTION = 'ClubUpdates'; C_LIST_OF_CLUBS : array[1..C_CLUB_COUNT] of string = ('First', 'Second', 'Third', 'Fourth', 'Fifth'); - C_MEMBERSHIP_VERSION_CHECK_URL = 'https://cqrlog.com/members/script/mtime.php?file='; + C_MEMBERSHIP_VERSION_CHECK_URL = 'https://cqrlog.com/members/script/mtime.php?file=%s'; C_MEMBERSHIP_DOWNLOAD_URL = 'https://cqrlog.com/members/%s'; C_FROM_DATE = '1945-01-01'; C_TO_DATE = '2050-12-31'; + C_CLUB_MSG_NEW = 'New %s member! (%c #%n)'; + C_CLUB_MSG_BAND = 'New band %s member! (%c #%n)'; + C_CLUB_MSG_MODE = 'New mode %s member! (%c #%n)'; + C_CLUB_MSG_QSL = 'QSL needed for %s member! (%c #%n)'; + C_CLUB_MSG_CFM = 'Already confirmed %s member! (%c #%n)'; + C_CLUB_COLOR_NEW = clRed; + C_CLUB_COLOR_BAND = clBlue; + C_CLUB_COLOR_MODE = clLime; + C_CLUB_COLOR_QSL = clFuchsia; + C_CLUB_COLOR_CFM = clBlack; + C_CLUB_DEFAULT_CLUB_FIELD = 'clubcall'; + C_CLUB_DEFAULT_MAIN_FIELD = 'call'; + C_CLUB_DEFAULT_DATE_FROM = '1945-01-01'; + C_CLUB_DEFAULT_DATE_TO = '2050-12-31'; +type + TClub = record + Name : String; + LongName : String; + NewInfo : String; + NewBandInfo : String; + NewModeInfo : String; + QSLNeededInfo : String; + AlreadyCfmInfo : String; + ClubField : String; + MainFieled : String; + StoreField : String; + StoreText : String; + NewColor : Integer; + BandColor : Integer; + ModeColor : Integer; + QSLColor : Integer; + AlreadyColor : Integer; + DateFrom : String; + end; + type TMembershipLine = record club_nr : String[20]; @@ -34,12 +69,20 @@ type procedure PrepareListOfMembershipFilesForUpdate; function GetMessageWithListOfUpdatedFiles : String; + function GetComboClubNameFromFile(ClubFile : String) : String; public ListOfMembershipFilesForUpdate : TStringList; + Club1 : TClub; + Club2 : TClub; + Club3 : TClub; + Club4 : TClub; + Club5 : TClub; procedure CheckForMembershipUpdate(Force : Boolean = False); procedure SaveLastMembershipUpdateDate(FileName : String; LastUpdateDate : TDateTime); procedure SynMembeshipUpdates; + procedure ReadMemberList(cmbMemebers: TComboBox); + procedure LoadClubSettings(ClubNr : Integer; var Club : TClub); function GetLastMembershipUpdateDate(FileName : String) : TDateTime; function GetClubFileName(Club : String) : String; @@ -79,7 +122,7 @@ uses uMyIni, dUtils, dData, fImportProgress; for i:=0 to ClubFileNames.Count-1 do begin ClubFileName := ExtractFileName(ClubFileNames.Strings[i]); - if dmUtils.GetDataFromHttp(C_MEMBERSHIP_VERSION_CHECK_URL+ClubFileName, data) then + if dmUtils.GetDataFromHttp(Format(C_MEMBERSHIP_VERSION_CHECK_URL, [ClubFileName]), data) then begin FileDate := dmUtils.MyStrToDateTime(data); if FileDate > dmMembership.GetLastMembershipUpdateDate(ClubFileName) then @@ -179,7 +222,6 @@ end; function TdmMembership.GetClubSourceFileNameWithPath(Club : String) : String; var ClubFileName : String; - MemDir : String; begin Result := ''; @@ -188,16 +230,14 @@ begin ClubFileName := GetClubFileName(Club); - MemDir := dmData.HomeDir+'members'+PathDelim; - if FileExistsUTF8(MemDir + ClubFileName) then + if FileExistsUTF8(dmData.MembersDir + ClubFileName) then begin - Result := MemDir + ClubFileName; + Result := dmData.MembersDir + ClubFileName; exit end; - MemDir := ExpandFileNameUTF8('..'+PathDelim+'share'+PathDelim+'cqrlog'+PathDelim+'members'+PathDelim); - if FileExistsUTF8(MemDir + ClubFileName) then - Result := MemDir + ClubFileName + if FileExistsUTF8(dmData.GlobalMembersDir + ClubFileName) then + Result := dmData.GlobalMembersDir + ClubFileName end; function TdmMembership.GetClubFileName(Club : String) : String; @@ -343,5 +383,83 @@ begin end end; +function TdmMembership.GetComboClubNameFromFile(ClubFile : String) : String; +var + f : TextFile; + ShortName : String; + LongName : String; +begin + AssignFile(f, ClubFile); + try + Reset(f); + ReadLn(f, ShortName); + ReadLn(f, LongName); + + Result := ShortName + ';' + LongName + finally + CloseFile(f) + end +end; + +procedure TdmMembership.ReadMemberList(cmbMemebers: TComboBox); +var + l: TStringList; + i: integer = 0; + ClubName : String; +begin + cmbMemebers.Clear; + cmbMemebers.Items.Add(''); + l := TStringList.Create; + try + dmUtils.LoadListOfFiles(dmData.MembersDir, '*.txt', l); + if l.Count > 0 then + begin + cmbMemebers.Items.Add('--- Local files ---'); + for i:=0 to l.Count-1 do + cmbMemebers.Items.Add(GetComboClubNameFromFile(l.Strings[i])) + end; + + dmUtils.LoadListOfFiles(dmData.GlobalMembersDir, '*.txt', l); + if l.Count > 0 then + begin + cmbMemebers.Items.Add('--- Global files ---'); + for i:=0 to l.Count-1 do + begin + ClubName := GetComboClubNameFromFile(l.Strings[i]); + if (cmbMemebers.Items.IndexOf(ClubName) = -1) then + cmbMemebers.Items.Add(ClubName) + end + end + finally + l.Free + end +end; + +procedure TdmMembership.LoadClubSettings(ClubNr : Integer; var Club : TClub); +var + Section , ClubText: String; +begin + ClubText := cqrini.ReadString('Clubs', C_LIST_OF_CLUBS[ClubNr], ''); + + Section := C_LIST_OF_CLUBS[ClubNr] + 'Club'; + Club.Name := copy(ClubText, 1, Pos(';', ClubText)-1); + Club.LongName := copy(ClubText, Pos(';', ClubText)+1, Length(ClubText) - Pos(';', ClubText)+1); + Club.NewInfo := cqrini.ReadString(Section, 'NewInfo', C_CLUB_MSG_NEW); + Club.NewBandInfo := cqrini.ReadString(Section , 'NewBandInfo', C_CLUB_MSG_BAND); + Club.NewModeInfo := cqrini.ReadString(Section , 'NewModeInfo', C_CLUB_MSG_MODE); + Club.QSLNeededInfo := cqrini.ReadString(Section , 'QSLNeededInfo', C_CLUB_MSG_QSL); + Club.AlreadyCfmInfo := cqrini.ReadString(Section , 'AlreadyConfirmedInfo', C_CLUB_MSG_CFM); + Club.ClubField := cqrini.ReadString(Section , 'ClubFields', C_CLUB_DEFAULT_CLUB_FIELD); + Club.MainFieled := cqrini.ReadString(Section , 'MainFields', C_CLUB_DEFAULT_MAIN_FIELD); + Club.StoreField := cqrini.ReadString(Section , 'StoreFields', ''); + Club.StoreText := cqrini.ReadString(Section , 'StoreText', ''); + Club.NewColor := cqrini.ReadInteger(Section, 'NewColor', C_CLUB_COLOR_NEW); + Club.BandColor := cqrini.ReadInteger(Section, 'BandColor', C_CLUB_COLOR_BAND); + Club.ModeColor := cqrini.ReadInteger(Section, 'ModeColor', C_CLUB_COLOR_MODE); + Club.QSLColor := cqrini.ReadInteger(Section, 'QSLColor', C_CLUB_COLOR_QSL); + Club.AlreadyColor := cqrini.ReadInteger(Section, 'AlreadyColor', C_CLUB_COLOR_QSL); + Club.DateFrom := cqrini.ReadString(Section, 'DateFrom', C_CLUB_DEFAULT_DATE_FROM) +end; + end. diff --git a/src/dUtils.pas b/src/dUtils.pas index f820f9e..c3acbc8 100644 --- a/src/dUtils.pas +++ b/src/dUtils.pas @@ -153,7 +153,6 @@ type procedure EnterFreq; procedure LoadFontSettings(aForm: TForm); procedure LoadBandLabelSettins; - procedure ReadMemberList(cmbMemebers: TComboBox); procedure SortList(l: TStringList); procedure RunXplanet; procedure CloseXplanet; @@ -175,6 +174,7 @@ type procedure LoadRigsToComboBox(CurrentRigId : String; RigCtlBinaryPath : String; RigComboBox : TComboBox); procedure GetShorterCoordinates(latitude,longitude : Currency; var lat, long : String); procedure LoadVisibleColumnsConfiguration(var aColumns : array of TVisibleColumn); + procedure LoadListOfFiles(Path, Mask : String; ListOfFiles : TStringList); function StrToDateFormat(sDate : String) : TDateTime; @@ -2079,43 +2079,6 @@ begin end; end; -procedure TdmUtils.ReadMemberList(cmbMemebers: TComboBox); -var - res: byte; - SearchRec: TSearchRec; - f: TextFile; - ShortName: string = ''; - LongName: string = ''; - Ts: TStringList; - i: integer = 0; -begin - cmbMemebers.Clear; - cmbMemebers.Items.Add(''); - Ts := TStringList.Create; - try - res := FindFirst(dmData.MembersDir + '*.txt', faAnyFile, SearchRec); - while Res = 0 do - begin - if FileExists(dmData.MembersDir + SearchRec.Name) then - begin - AssignFile(f, dmData.MembersDir + SearchRec.Name); - Reset(f); - ReadLn(f, ShortName); - ReadLn(f, LongName); - Ts.Add(ShortName + ';' + LongName); - CloseFile(f); - end; - Res := FindNext(SearchRec); - end; - Ts.Sort; - for i := 0 to Ts.Count - 1 do - cmbMemebers.Items.Add(Ts.Strings[i]) - finally - FindClose(SearchRec); - Ts.Free - end; -end; - function TdmUtils.SetSize(Text: string; Len: integer): string; var i: integer; @@ -4417,5 +4380,25 @@ begin end end; +procedure TdmUtils.LoadListOfFiles(Path, Mask : String; ListOfFiles : TStringList); +var + res: byte; + SearchRec: TSearchRec; +begin + ListOfFiles.Clear; + try + res := FindFirst(Path + Mask, faAnyFile, SearchRec); + while res = 0 do + begin + if FileExists(Path + SearchRec.Name) then + ListOfFiles.Add(Path + SearchRec.Name); + + Res := FindNext(SearchRec) + end; + ListOfFiles.Sort; + finally + FindClose(SearchRec) + end +end; end. diff --git a/src/fClubSettings.pas b/src/fClubSettings.pas index 23027f2..4ce27c4 100644 --- a/src/fClubSettings.pas +++ b/src/fClubSettings.pas @@ -76,7 +76,7 @@ var implementation {$R *.lfm} -uses dUtils, dData, uMyini; +uses dUtils, dData, uMyini, dMembership; { TfrmClubSettings } procedure TfrmClubSettings.btnOKClick(Sender: TObject); @@ -104,25 +104,20 @@ end; procedure TfrmClubSettings.FormShow(Sender: TObject); begin - edtNewInfo.Text := cqrini.ReadString(ClubStr+'Club','NewInfo', - 'New %s member! (%c #%n)'); - edtNewBandInfo.Text := cqrini.ReadString(ClubStr+'Club','NewBandInfo', - 'New band %s member! (%c #%n)'); - edtNewModeInfo.Text := cqrini.ReadString(ClubStr+'Club','NewModeInfo', - 'New mode %s member! (%c #%n)'); - edtQSLNeededInfo.Text := cqrini.ReadString(ClubStr+'Club','QSLNeededInfo', - 'QSL needed for %s member! (%c #%n)'); - edtAlreadyCmfInfo.Text := cqrini.ReadString(ClubStr+'Club','AlreadyConfirmedInfo', - 'Already confirmed %s member! (%c #%n)'); - cmbClubFields.Text := cqrini.ReadString(Clubstr+'Club','ClubFields',''); - cmbMainFields.Text := cqrini.ReadString(Clubstr+'Club','MainFields',''); - cmbStoreFileds.Text := cqrini.ReadString(Clubstr+'Club','StoreFields',''); - edtStoreText.Text := cqrini.ReadString(Clubstr+'Club','StoreText',''); - cmbNewColor.Selected := cqrini.ReadInteger(Clubstr+'Club','NewColor',clRed); - cmbBandColor.Selected := cqrini.ReadInteger(Clubstr+'Club','BandColor',clBlue); - cmbModeColor.Selected := cqrini.ReadInteger(Clubstr+'Club','ModeColor',clLime); - cmbQSLColor.Selected := cqrini.ReadInteger(Clubstr+'Club','QSLColor',clFuchsia); - cmbAlreadyColor.Selected := cqrini.ReadInteger(Clubstr+'Club','AlreadyColor',0); + edtNewInfo.Text := cqrini.ReadString(ClubStr+'Club', 'NewInfo', C_CLUB_MSG_NEW); + edtNewBandInfo.Text := cqrini.ReadString(ClubStr+'Club', 'NewBandInfo', C_CLUB_MSG_BAND); + edtNewModeInfo.Text := cqrini.ReadString(ClubStr+'Club', 'NewModeInfo', C_CLUB_MSG_MODE); + edtQSLNeededInfo.Text := cqrini.ReadString(ClubStr+'Club', 'QSLNeededInfo', C_CLUB_MSG_QSL); + edtAlreadyCmfInfo.Text := cqrini.ReadString(ClubStr+'Club', 'AlreadyConfirmedInfo', C_CLUB_MSG_CFM); + cmbClubFields.Text := cqrini.ReadString(Clubstr+'Club', 'ClubFields', C_CLUB_DEFAULT_CLUB_FIELD); + cmbMainFields.Text := cqrini.ReadString(Clubstr+'Club', 'MainFields', C_CLUB_DEFAULT_MAIN_FIELD); + cmbStoreFileds.Text := cqrini.ReadString(Clubstr+'Club', 'StoreFields',''); + edtStoreText.Text := cqrini.ReadString(Clubstr+'Club', 'StoreText',''); + cmbNewColor.Selected := cqrini.ReadInteger(Clubstr+'Club', 'NewColor', C_CLUB_COLOR_NEW); + cmbBandColor.Selected := cqrini.ReadInteger(Clubstr+'Club', 'BandColor', C_CLUB_COLOR_BAND); + cmbModeColor.Selected := cqrini.ReadInteger(Clubstr+'Club', 'ModeColor', C_CLUB_COLOR_MODE); + cmbQSLColor.Selected := cqrini.ReadInteger(Clubstr+'Club', 'QSLColor', C_CLUB_COLOR_QSL); + cmbAlreadyColor.Selected := cqrini.ReadInteger(Clubstr+'Club', 'AlreadyColor', C_CLUB_COLOR_CFM); dmUtils.LoadFontSettings(self); if cmbClubFields.Text = '' then cmbClubFields.ItemIndex := 0; diff --git a/src/fFilter.pas b/src/fFilter.pas index 2141889..ec09eb5 100644 --- a/src/fFilter.pas +++ b/src/fFilter.pas @@ -145,7 +145,7 @@ implementation {$R *.lfm} { TfrmFilter } -uses dData, dUtils,fSelectDXCC; +uses dData, dUtils,fSelectDXCC, dMembership; procedure TfrmFilter.btnOKClick(Sender: TObject); var @@ -451,16 +451,16 @@ begin cmbProfile.Items.Insert(0,'Any profile'); cmbProfile.ItemIndex := 0; cmbMembers.Items.Add(''); - if dmData.Club1.Name <> '' then - cmbMembers.Items.Add('1;'+dmData.Club1.Name+';'+dmData.Club1.LongName); - if dmData.Club2.Name <> '' then - cmbMembers.Items.Add('2;'+dmData.Club2.Name+';'+dmData.Club2.LongName); - if dmData.Club3.Name <> '' then - cmbMembers.Items.Add('3;'+dmData.Club3.Name+';'+dmData.Club3.LongName); - if dmData.Club4.Name <> '' then - cmbMembers.Items.Add('4;'+dmData.Club4.Name+';'+dmData.Club4.LongName); - if dmData.Club5.Name <> '' then - cmbMembers.Items.Add('5;'+dmData.Club5.Name+';'+dmData.Club5.LongName); + if dmMembership.Club1.Name <> '' then + cmbMembers.Items.Add('1;'+dmMembership.Club1.Name+';'+dmMembership.Club1.LongName); + if dmMembership.Club2.Name <> '' then + cmbMembers.Items.Add('2;'+dmMembership.Club2.Name+';'+dmMembership.Club2.LongName); + if dmMembership.Club3.Name <> '' then + cmbMembers.Items.Add('3;'+dmMembership.Club3.Name+';'+dmMembership.Club3.LongName); + if dmMembership.Club4.Name <> '' then + cmbMembers.Items.Add('4;'+dmMembership.Club4.Name+';'+dmMembership.Club4.LongName); + if dmMembership.Club5.Name <> '' then + cmbMembers.Items.Add('5;'+dmMembership.Club5.Name+';'+dmMembership.Club5.LongName); cmbMembers.ItemIndex := 0; cmbSort.ItemIndex := 0 end; diff --git a/src/fLoadClub.pas b/src/fLoadClub.pas index 008c944..976aa85 100644 --- a/src/fLoadClub.pas +++ b/src/fLoadClub.pas @@ -22,10 +22,6 @@ uses type TExplodeArray = Array of String; -const - cFromDate = '1945-01-01'; - cToDate = '2050-12-31'; - type { TfrmLoadClub } @@ -58,7 +54,7 @@ var implementation {$R *.lfm} -uses dUtils, dData, uMyIni; +uses dUtils, dData, uMyIni, dMembership; { TfrmLoadClub } @@ -112,6 +108,11 @@ var day : String; iday : Integer; begin + if (FileExists(dmData.MembersDir + SourceFile)) then + SourceFile := dmData.MembersDir + SourceFile + else + SourceFile := dmData.GlobalMembersDir + SourceFile; + mLoad.Clear; if not FileExists(SourceFile) then begin @@ -212,11 +213,11 @@ begin toDate := year + '-' + month + '-' + day end else - toDate := cToDate + toDate := C_CLUB_DEFAULT_DATE_TO end else begin - fromDate := cFromDate; - toDate := cToDate + fromDate := C_CLUB_DEFAULT_DATE_FROM; + toDate := C_CLUB_DEFAULT_DATE_TO end; if clubnr='' then clubnr := call; diff --git a/src/fNewQSO.lfm b/src/fNewQSO.lfm index f219725..ab117b8 100644 --- a/src/fNewQSO.lfm +++ b/src/fNewQSO.lfm @@ -6,7 +6,7 @@ object frmNewQSO: TfrmNewQSO HelpType = htKeyword HelpKeyword = 'help/index.html' Caption = 'New QSO ... (CQRLOG for Linux)' - ClientHeight = 636 + ClientHeight = 659 ClientWidth = 807 Icon.Data = { 3E08010000000100010080800000010020002808010016000000280000008000 @@ -2134,11 +2134,11 @@ object frmNewQSO: TfrmNewQSO OnKeyPress = FormKeyPress OnShow = FormShow OnWindowStateChange = FormWindowStateChange - LCLVersion = '1.8.2.0' + LCLVersion = '1.8.0.6' object sbNewQSO: TStatusBar Left = 0 - Height = 17 - Top = 619 + Height = 21 + Top = 638 Width = 807 Panels = < item @@ -2158,7 +2158,7 @@ object frmNewQSO: TfrmNewQSO object Panel1: TPanel Left = 0 Height = 518 - Top = 101 + Top = 120 Width = 807 Align = alBottom ClientHeight = 518 @@ -2186,52 +2186,52 @@ object frmNewQSO: TfrmNewQSO TabOrder = 0 object Label11: TLabel Left = 256 - Height = 15 + Height = 17 Top = 213 - Width = 135 + Width = 140 Caption = 'Comment to callsign' ParentColor = False ParentFont = False end object Label10: TLabel Left = 112 - Height = 15 + Height = 17 Top = 55 - Width = 28 + Width = 31 Caption = 'QTH' ParentColor = False ParentFont = False end object Label9: TLabel Left = 12 - Height = 15 + Height = 17 Top = 55 - Width = 39 + Width = 40 Caption = 'Name' ParentColor = False ParentFont = False end object Label8: TLabel Left = 448 - Height = 15 + Height = 17 Top = 7 - Width = 57 + Width = 58 Caption = 'RST rcvd' ParentColor = False ParentFont = False end object Label7: TLabel Left = 353 - Height = 15 + Height = 17 Top = 7 - Width = 57 + Width = 58 Caption = 'RST sent' ParentColor = False ParentFont = False end object lblCall: TLabel Left = 12 - Height = 15 + Height = 17 Top = 7 Width = 25 Caption = 'Call' @@ -2240,88 +2240,88 @@ object frmNewQSO: TfrmNewQSO end object Label5: TLabel Left = 136 - Height = 15 + Height = 17 Top = 7 - Width = 66 + Width = 71 Caption = 'Frequency' ParentColor = False ParentFont = False end object Label4: TLabel Left = 234 - Height = 15 + Height = 17 Top = 7 - Width = 35 + Width = 39 Caption = 'Mode' ParentColor = False ParentFont = False end object Label3: TLabel Left = 172 - Height = 15 + Height = 17 Top = 265 - Width = 58 + Width = 61 Caption = 'End time' ParentColor = False ParentFont = False end object Label2: TLabel Left = 103 - Height = 15 + Height = 17 Top = 265 - Width = 65 + Width = 68 Caption = 'Start time' ParentColor = False ParentFont = False end object Label1: TLabel Left = 16 - Height = 15 + Height = 17 Top = 265 - Width = 31 + Width = 33 Caption = 'Date' ParentColor = False ParentFont = False end object Label15: TLabel Left = 258 - Height = 15 + Height = 17 Top = 55 - Width = 33 + Width = 34 Caption = 'GRID' ParentColor = False ParentFont = False end object Label12: TLabel Left = 338 - Height = 15 + Height = 17 Top = 55 - Width = 30 + Width = 32 Caption = 'PWR' ParentColor = False ParentFont = False end object Label18: TLabel Left = 405 - Height = 15 + Height = 17 Top = 55 - Width = 40 + Width = 43 Caption = 'QSL_S' ParentColor = False ParentFont = False end object Label19: TLabel Left = 468 - Height = 15 + Height = 17 Top = 55 - Width = 41 + Width = 44 Caption = 'QSL_R' ParentColor = False ParentFont = False end object Label13: TLabel Left = 16 - Height = 15 + Height = 17 Top = 106 Width = 22 Caption = 'ITU' @@ -2330,72 +2330,72 @@ object frmNewQSO: TfrmNewQSO end object Label20: TLabel Left = 397 - Height = 15 + Height = 17 Top = 106 - Width = 40 + Width = 45 Caption = 'Award' ParentColor = False ParentFont = False end object Label21: TLabel Left = 12 - Height = 15 + Height = 17 Top = 159 - Width = 61 + Width = 64 Caption = 'DXCC ref.' ParentColor = False ParentFont = False end object Label22: TLabel Left = 60 - Height = 15 + Height = 17 Top = 106 - Width = 30 + Width = 33 Caption = 'WAZ' ParentColor = False ParentFont = False end object lblIOTA: TLabel Left = 127 - Height = 15 + Height = 17 Top = 106 - Width = 30 + Width = 33 Caption = 'IOTA' ParentColor = False ParentFont = False end object Label17: TLabel Left = 261 - Height = 15 + Height = 17 Top = 106 - Width = 46 + Width = 49 Caption = 'County' ParentColor = False ParentFont = False end object Label23: TLabel Left = 111 - Height = 15 + Height = 17 Top = 159 - Width = 113 + Width = 120 Caption = 'Comment to QSO' ParentColor = False ParentFont = False end object lblQSLVia: TLabel Left = 419 - Height = 15 + Height = 17 Top = 159 - Width = 51 + Width = 55 Caption = 'QSL VIA' ParentColor = False ParentFont = False end object lblQSOTakes: TLabel Left = 12 - Height = 15 + Height = 17 Top = 319 - Width = 72 + Width = 75 Caption = 'QSO takes ' ParentColor = False ParentFont = False @@ -2403,9 +2403,9 @@ object frmNewQSO: TfrmNewQSO end object lblQSLMgr: TLabel Left = 406 - Height = 15 + Height = 17 Top = 213 - Width = 133 + Width = 141 Caption = 'QSL manager found!' Font.Color = clRed ParentColor = False @@ -2414,18 +2414,18 @@ object frmNewQSO: TfrmNewQSO end object Label25: TLabel Left = 210 - Height = 15 + Height = 17 Top = 106 - Width = 34 + Width = 36 Caption = 'State' ParentColor = False ParentFont = False end object lblCfmLoTW: TLabel Left = 12 - Height = 15 + Height = 17 Top = 212 - Width = 117 + Width = 122 Caption = 'QSO cfm by LoTW' Font.Color = clRed ParentColor = False @@ -2434,9 +2434,9 @@ object frmNewQSO: TfrmNewQSO end object lblQSLRcvdDate: TLabel Left = 95 - Height = 15 + Height = 17 Top = 238 - Width = 81 + Width = 85 Caption = 'QSL rcvd on ' Font.Color = clRed ParentColor = False @@ -2697,7 +2697,7 @@ object frmNewQSO: TfrmNewQSO end object edtDXCCRef: TEdit Left = 12 - Height = 32 + Height = 27 Top = 179 Width = 64 CharCase = ecUppercase @@ -2722,7 +2722,7 @@ object frmNewQSO: TfrmNewQSO end object edtQTH: TEdit Left = 111 - Height = 32 + Height = 27 Top = 74 Width = 136 OnEnter = edtQTHEnter @@ -2732,7 +2732,7 @@ object frmNewQSO: TfrmNewQSO end object edtName: TEdit Left = 12 - Height = 32 + Height = 27 Top = 74 Width = 92 OnEnter = edtNameEnter @@ -2742,7 +2742,7 @@ object frmNewQSO: TfrmNewQSO end object edtMyRST: TEdit Left = 446 - Height = 32 + Height = 27 Top = 25 Width = 86 OnEnter = edtMyRSTEnter @@ -2752,7 +2752,7 @@ object frmNewQSO: TfrmNewQSO end object edtHisRST: TEdit Left = 353 - Height = 32 + Height = 27 Top = 25 Width = 82 OnEnter = edtHisRSTEnter @@ -2762,7 +2762,7 @@ object frmNewQSO: TfrmNewQSO end object edtCall: TEdit Left = 12 - Height = 32 + Height = 27 Top = 25 Width = 115 CharCase = ecUppercase @@ -2775,7 +2775,7 @@ object frmNewQSO: TfrmNewQSO end object cmbMode: TComboBox Left = 234 - Height = 32 + Height = 29 Top = 25 Width = 111 AutoComplete = True @@ -2817,7 +2817,7 @@ object frmNewQSO: TfrmNewQSO end object edtGrid: TEdit Left = 256 - Height = 32 + Height = 27 Top = 74 Width = 72 CharCase = ecUppercase @@ -2829,7 +2829,7 @@ object frmNewQSO: TfrmNewQSO end object edtPWR: TEdit Left = 336 - Height = 32 + Height = 27 Top = 74 Width = 55 CharCase = ecUppercase @@ -2839,7 +2839,7 @@ object frmNewQSO: TfrmNewQSO end object cmbQSL_S: TComboBox Left = 397 - Height = 32 + Height = 29 Top = 74 Width = 64 AutoComplete = True @@ -2866,7 +2866,7 @@ object frmNewQSO: TfrmNewQSO end object cmbQSL_R: TComboBox Left = 468 - Height = 32 + Height = 29 Top = 74 Width = 64 AutoComplete = True @@ -2897,7 +2897,7 @@ object frmNewQSO: TfrmNewQSO end object edtAward: TEdit Left = 392 - Height = 32 + Height = 27 Top = 125 Width = 140 OnEnter = edtAwardEnter @@ -2919,7 +2919,7 @@ object frmNewQSO: TfrmNewQSO end object edtCounty: TEdit Left = 256 - Height = 32 + Height = 27 Top = 125 Width = 126 OnEnter = edtCountyEnter @@ -2929,7 +2929,7 @@ object frmNewQSO: TfrmNewQSO end object cmbFreq: TComboBox Left = 132 - Height = 32 + Height = 29 Top = 25 Width = 93 AutoComplete = True @@ -2943,7 +2943,7 @@ object frmNewQSO: TfrmNewQSO end object edtQSL_VIA: TEdit Left = 414 - Height = 32 + Height = 27 Top = 179 Width = 96 CharCase = ecUppercase @@ -2972,9 +2972,9 @@ object frmNewQSO: TfrmNewQSO TabOrder = 26 object cbOffline: TCheckBox Left = 0 - Height = 23 + Height = 24 Top = 2 - Width = 69 + Width = 75 Caption = 'Offline' OnChange = cbOfflineChange TabOrder = 0 @@ -2992,7 +2992,7 @@ object frmNewQSO: TfrmNewQSO end object edtDate: TEdit Left = 12 - Height = 32 + Height = 27 Top = 286 Width = 86 OnEnter = edtDateEnter @@ -3003,7 +3003,7 @@ object frmNewQSO: TfrmNewQSO end object edtStartTime: TEdit Left = 113 - Height = 32 + Height = 27 Top = 286 Width = 48 OnEnter = edtStartTimeEnter @@ -3014,7 +3014,7 @@ object frmNewQSO: TfrmNewQSO end object edtEndTime: TEdit Left = 172 - Height = 32 + Height = 27 Top = 286 Width = 48 OnEnter = edtEndTimeEnter @@ -3025,7 +3025,7 @@ object frmNewQSO: TfrmNewQSO end object cmbIOTA: TComboBox Left = 102 - Height = 32 + Height = 29 Top = 125 Width = 100 CharCase = ecUppercase @@ -3038,7 +3038,7 @@ object frmNewQSO: TfrmNewQSO end object edtRemQSO: TEdit Left = 111 - Height = 32 + Height = 27 Top = 179 Width = 290 OnEnter = edtRemQSOEnter @@ -3047,7 +3047,7 @@ object frmNewQSO: TfrmNewQSO end object edtState: TEdit Left = 210 - Height = 32 + Height = 27 Top = 125 Width = 38 CharCase = ecUppercase @@ -3058,9 +3058,9 @@ object frmNewQSO: TfrmNewQSO end object chkAutoMode: TCheckBox Left = 277 - Height = 23 + Height = 24 Top = 4 - Width = 63 + Width = 66 Caption = 'AUTO' Checked = True OnChange = chkAutoModeChange @@ -3178,13 +3178,13 @@ object frmNewQSO: TfrmNewQSO TabOrder = 28 object tabDXCCStat: TTabSheet Caption = 'DXCC statistic' - ClientHeight = 114 - ClientWidth = 538 + ClientHeight = 112 + ClientWidth = 544 object sgrdStatistic: TStringGrid Left = 0 - Height = 114 + Height = 112 Top = 0 - Width = 538 + Width = 544 Align = alClient ColCount = 2 DefaultColWidth = 35 @@ -3200,8 +3200,8 @@ object frmNewQSO: TfrmNewQSO end object tabSatellite: TTabSheet Caption = 'Satellite' - ClientHeight = 114 - ClientWidth = 538 + ClientHeight = 112 + ClientWidth = 544 object cmbPropagation: TComboBox Left = 8 Height = 31 @@ -3303,8 +3303,8 @@ object frmNewQSO: TfrmNewQSO Top = 288 Width = 240 Caption = ' Callbook (qrz.com) ' - ClientHeight = 138 - ClientWidth = 238 + ClientHeight = 135 + ClientWidth = 236 ParentFont = False TabOrder = 0 object mCallBook: TMemo @@ -3323,31 +3323,31 @@ object frmNewQSO: TfrmNewQSO Top = 0 Width = 240 Caption = 'DXCC info' - ClientHeight = 264 - ClientWidth = 238 + ClientHeight = 261 + ClientWidth = 236 ParentFont = False TabOrder = 1 object Label27: TLabel Left = 126 - Height = 15 + Height = 17 Top = 105 - Width = 40 + Width = 42 Caption = 'DXCC:' ParentColor = False ParentFont = False end object Label28: TLabel Left = 10 - Height = 15 + Height = 17 Top = 88 - Width = 34 + Width = 37 Caption = 'WAZ:' ParentColor = False ParentFont = False end object Label29: TLabel Left = 19 - Height = 15 + Height = 17 Top = 105 Width = 26 Caption = 'ITU:' @@ -3356,98 +3356,98 @@ object frmNewQSO: TfrmNewQSO end object Label30: TLabel Left = 126 - Height = 15 + Height = 17 Top = 88 - Width = 34 + Width = 37 Caption = 'Cont:' ParentColor = False ParentFont = False end object lblWAZ: TLabel Left = 48 - Height = 15 + Height = 17 Top = 88 - Width = 27 + Width = 30 Caption = 'AAA' ParentColor = False ParentFont = False end object lblITU: TLabel Left = 48 - Height = 15 + Height = 17 Top = 105 - Width = 27 + Width = 30 Caption = 'AAA' ParentColor = False ParentFont = False end object lblDXCC: TLabel Left = 169 - Height = 15 + Height = 17 Top = 105 - Width = 27 + Width = 30 Caption = 'AAA' ParentColor = False ParentFont = False end object lblCont: TLabel Left = 169 - Height = 15 + Height = 17 Top = 88 - Width = 27 + Width = 30 Caption = 'AAA' ParentColor = False ParentFont = False end object Label31: TLabel Left = 18 - Height = 15 + Height = 17 Top = 123 - Width = 26 + Width = 28 Caption = 'LAT:' ParentColor = False ParentFont = False end object Label32: TLabel Left = 126 - Height = 15 + Height = 17 Top = 123 - Width = 41 + Width = 44 Caption = 'LONG:' ParentColor = False end object lblLat: TLabel Left = 48 - Height = 15 + Height = 17 Top = 123 - Width = 27 + Width = 30 Caption = 'AAA' ParentColor = False ParentFont = False end object lblLong: TLabel Left = 169 - Height = 15 + Height = 17 Top = 123 - Width = 27 + Width = 30 Caption = 'AAA' ParentColor = False ParentFont = False end object Label33: TLabel Left = 8 - Height = 15 + Height = 17 Top = 142 - Width = 36 + Width = 38 Caption = 'DIST.:' ParentColor = False ParentFont = False end object lblQRA: TLabel Left = 48 - Height = 15 + Height = 17 Top = 142 - Width = 27 + Width = 30 Caption = 'AAA' ParentColor = False ParentFont = False @@ -3455,17 +3455,17 @@ object frmNewQSO: TfrmNewQSO end object Label34: TLabel Left = 126 - Height = 15 + Height = 17 Top = 142 - Width = 37 + Width = 40 Caption = 'AZIM:' ParentColor = False end object lblAzi: TLabel Left = 169 - Height = 15 + Height = 17 Top = 142 - Width = 27 + Width = 30 Caption = 'AAA' ParentColor = False ParentFont = False @@ -3483,9 +3483,9 @@ object frmNewQSO: TfrmNewQSO end object lblGreeting: TLabel Left = 189 - Height = 15 + Height = 17 Top = 188 - Width = 43 + Width = 48 Caption = 'GE/GM' Font.Color = clRed ParentColor = False @@ -3646,45 +3646,45 @@ object frmNewQSO: TfrmNewQSO end object lblLocSunRise: TLabel Left = 38 - Height = 15 + Height = 17 Top = 238 - Width = 90 + Width = 95 Caption = 'lblLocSunRise' ParentColor = False ParentFont = False end object lblLocSunSet: TLabel Left = 156 - Height = 15 + Height = 17 Top = 238 - Width = 83 + Width = 89 Caption = 'lblLocSunSet' ParentColor = False ParentFont = False end object lblTarSunRise: TLabel Left = 28 - Height = 15 + Height = 17 Top = 164 - Width = 87 + Width = 92 Caption = 'lblTarSunRise' ParentColor = False ParentFont = False end object lblTarSunSet: TLabel Left = 149 - Height = 15 + Height = 17 Top = 164 - Width = 80 + Width = 86 Caption = 'lblTarSunSet' ParentColor = False ParentFont = False end object Label14: TLabel Left = 10 - Height = 15 + Height = 17 Top = 213 - Width = 38 + Width = 40 Caption = 'Local:' ParentColor = False ParentFont = False @@ -3693,18 +3693,18 @@ object frmNewQSO: TfrmNewQSO Left = 0 Height = 88 Top = 0 - Width = 238 + Width = 236 Align = alTop BevelOuter = bvNone Caption = 'Panel5' ClientHeight = 88 - ClientWidth = 238 + ClientWidth = 236 TabOrder = 0 object mCountry: TMemo Left = 0 Height = 86 Top = 2 - Width = 238 + Width = 236 Align = alClient BorderSpacing.Top = 2 ParentFont = False @@ -3746,7 +3746,7 @@ object frmNewQSO: TfrmNewQSO TabOrder = 2 object lblQSONr: TLabel Left = 63 - Height = 15 + Height = 17 Top = 8 Width = 8 Caption = '0' @@ -3755,18 +3755,18 @@ object frmNewQSO: TfrmNewQSO end object Label24: TLabel Left = 7 - Height = 15 + Height = 17 Top = 8 - Width = 48 + Width = 53 Caption = 'QSO nr.' ParentColor = False ParentFont = False end object lblCountryInfo: TLabel Left = 480 - Height = 15 + Height = 17 Top = 8 - Width = 123 + Width = 129 Alignment = taRightJustify Caption = 'New band country!' Font.Color = clRed @@ -3775,9 +3775,9 @@ object frmNewQSO: TfrmNewQSO end object lblAmbiguous: TLabel Left = 656 - Height = 15 + Height = 17 Top = 8 - Width = 114 + Width = 123 Caption = 'Ambiguous prefix' Font.Color = clRed ParentColor = False @@ -3786,16 +3786,16 @@ object frmNewQSO: TfrmNewQSO end object Label6: TLabel Left = 99 - Height = 15 + Height = 17 Top = 8 - Width = 85 + Width = 90 Caption = 'QTH profile: ' ParentColor = False ParentFont = False end object cmbProfiles: TComboBox Left = 187 - Height = 32 + Height = 29 Top = 3 Width = 281 ItemHeight = 0 @@ -3808,7 +3808,7 @@ object frmNewQSO: TfrmNewQSO end object dbgrdQSOBefore: TDBGrid Left = 0 - Height = 101 + Height = 120 Top = 0 Width = 807 Align = alClient diff --git a/src/fNewQSO.pas b/src/fNewQSO.pas index b006381..6ac782a 100644 --- a/src/fNewQSO.pas +++ b/src/fNewQSO.pas @@ -1211,12 +1211,6 @@ begin frmRotControl.BringToFront end; - if cqrini.ReadBool('Window','Dxcluster',False) then - begin - frmDXCluster.Show; - frmDXCluster.BringToFront - end; - if frmTRXControl.Showing then begin if frmTRXControl.rbRadio1.Checked then @@ -1281,10 +1275,17 @@ begin if cqrini.ReadBool('Window','CWType',False) then acCWType.Execute; + + CheckForExternalTablesUpdate; + if cqrini.ReadBool('Window','RBNMonitor',False) then acRBNMonitor.Execute; - CheckForExternalTablesUpdate; + if cqrini.ReadBool('Window','Dxcluster',False) then + begin + frmDXCluster.Show; + frmDXCluster.BringToFront + end; pgDetails.Pages[1].TabVisible := cqrini.ReadBool('NewQSO','SatelliteMode', False); @@ -5782,19 +5783,19 @@ begin frmQSODetails.mode := cmbMode.Text; frmQSODetails.freq := cmbFreq.Text; frmQSODetails.ClubDate := edtDate.Text; - if dmData.Club1.MainFieled = 'idcall' then + if dmMembership.Club1.MainFieled = 'idcall' then frmQSODetails.ClubData1 := idcall; - if dmData.Club2.MainFieled = 'idcall' then + if dmMembership.Club2.MainFieled = 'idcall' then frmQSODetails.ClubData2 := idcall; - if dmData.Club3.MainFieled = 'idcall' then + if dmMembership.Club3.MainFieled = 'idcall' then frmQSODetails.ClubData3 := idcall; - if dmData.Club4.MainFieled = 'idcall' then + if dmMembership.Club4.MainFieled = 'idcall' then frmQSODetails.ClubData4 := idcall; - if dmData.Club5.MainFieled = 'idcall' then + if dmMembership.Club5.MainFieled = 'idcall' then frmQSODetails.ClubData5 := idcall; end; @@ -5803,19 +5804,19 @@ begin frmQSODetails.mode := cmbMode.Text; frmQSODetails.freq := cmbFreq.Text; frmQSODetails.ClubDate := edtDate.Text; - if dmData.Club1.MainFieled = 'qth' then + if dmMembership.Club1.MainFieled = 'qth' then frmQSODetails.ClubData1 := edtQTH.Text; - if dmData.Club2.MainFieled = 'qth' then + if dmMembership.Club2.MainFieled = 'qth' then frmQSODetails.ClubData2 := edtQTH.Text; - if dmData.Club3.MainFieled = 'qth' then + if dmMembership.Club3.MainFieled = 'qth' then frmQSODetails.ClubData3 := edtQTH.Text; - if dmData.Club4.MainFieled = 'qth' then + if dmMembership.Club4.MainFieled = 'qth' then frmQSODetails.ClubData4 := edtQTH.Text; - if dmData.Club5.MainFieled = 'qth' then + if dmMembership.Club5.MainFieled = 'qth' then frmQSODetails.ClubData5 := edtQTH.Text; end; @@ -5824,19 +5825,19 @@ begin frmQSODetails.mode := cmbMode.Text; frmQSODetails.freq := cmbFreq.Text; frmQSODetails.ClubDate := edtDate.Text; - if dmData.Club1.MainFieled = 'award' then + if dmMembership.Club1.MainFieled = 'award' then frmQSODetails.ClubData1 := edtAward.Text; - if dmData.Club2.MainFieled = 'award' then + if dmMembership.Club2.MainFieled = 'award' then frmQSODetails.ClubData2 := edtAward.Text; - if dmData.Club3.MainFieled = 'award' then + if dmMembership.Club3.MainFieled = 'award' then frmQSODetails.ClubData3 := edtAward.Text; - if dmData.Club4.MainFieled = 'award' then + if dmMembership.Club4.MainFieled = 'award' then frmQSODetails.ClubData4 := edtAward.Text; - if dmData.Club5.MainFieled = 'award' then + if dmMembership.Club5.MainFieled = 'award' then frmQSODetails.ClubData5 := edtAward.Text; end; @@ -5845,19 +5846,19 @@ begin frmQSODetails.mode := cmbMode.Text; frmQSODetails.freq := cmbFreq.Text; frmQSODetails.ClubDate := edtDate.Text; - if dmData.Club1.MainFieled = 'county' then + if dmMembership.Club1.MainFieled = 'county' then frmQSODetails.ClubData1 := edtCounty.Text; - if dmData.Club2.MainFieled = 'county' then + if dmMembership.Club2.MainFieled = 'county' then frmQSODetails.ClubData2 := edtCounty.Text; - if dmData.Club3.MainFieled = 'county' then + if dmMembership.Club3.MainFieled = 'county' then frmQSODetails.ClubData3 := edtCounty.Text; - if dmData.Club4.MainFieled = 'county' then + if dmMembership.Club4.MainFieled = 'county' then frmQSODetails.ClubData4 := edtCounty.Text; - if dmData.Club5.MainFieled = 'county' then + if dmMembership.Club5.MainFieled = 'county' then frmQSODetails.ClubData5 := edtCounty.Text; end; @@ -5911,19 +5912,19 @@ begin frmQSODetails.mode := cmbMode.Text; frmQSODetails.freq := cmbFreq.Text; frmQSODetails.ClubDate := edtDate.Text; - if dmData.Club1.MainFieled = 'state' then + if dmMembership.Club1.MainFieled = 'state' then frmQSODetails.ClubData1 := edtState.Text; - if dmData.Club2.MainFieled = 'state' then + if dmMembership.Club2.MainFieled = 'state' then frmQSODetails.ClubData2 := edtState.Text; - if dmData.Club3.MainFieled = 'state' then + if dmMembership.Club3.MainFieled = 'state' then frmQSODetails.ClubData3 := edtState.Text; - if dmData.Club4.MainFieled = 'state' then + if dmMembership.Club4.MainFieled = 'state' then frmQSODetails.ClubData4 := edtState.Text; - if dmData.Club5.MainFieled = 'state' then + if dmMembership.Club5.MainFieled = 'state' then frmQSODetails.ClubData5 := edtState.Text; end; diff --git a/src/fPreferences.lfm b/src/fPreferences.lfm index 023d836..2f276b1 100644 --- a/src/fPreferences.lfm +++ b/src/fPreferences.lfm @@ -14,22 +14,22 @@ object frmPreferences: TfrmPreferences OnCreate = FormCreate OnShow = FormShow Position = poMainFormCenter - LCLVersion = '1.8.2.0' + LCLVersion = '1.8.0.6' object pgPreferences: TPageControl Left = 160 Height = 659 Top = 0 Width = 752 - ActivePage = tabXplanet + ActivePage = tabMemebership Align = alClient Anchors = [akLeft, akRight, akBottom] - TabIndex = 16 + TabIndex = 14 TabOrder = 0 OnChange = pgPreferencesChange object tabProgram: TTabSheet Caption = 'Program' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object Label60: TLabel Left = 364 Height = 17 @@ -44,8 +44,8 @@ object frmPreferences: TfrmPreferences Top = 3 Width = 341 Caption = ' Internet connection ' - ClientHeight = 121 - ClientWidth = 339 + ClientHeight = 118 + ClientWidth = 337 TabOrder = 0 object Label12: TLabel Left = 7 @@ -123,8 +123,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 56 - ClientWidth = 134 + ClientHeight = 53 + ClientWidth = 132 Items.Strings = ( 'MHz' 'meters' @@ -177,8 +177,8 @@ object frmPreferences: TfrmPreferences Top = 352 Width = 626 Caption = ' Offsets ' - ClientHeight = 131 - ClientWidth = 624 + ClientHeight = 128 + ClientWidth = 622 TabOrder = 7 object Label15: TLabel Left = 15 @@ -318,8 +318,8 @@ object frmPreferences: TfrmPreferences end object tabStation: TTabSheet Caption = 'Station' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object Label1: TLabel Left = 11 Height = 17 @@ -385,8 +385,8 @@ object frmPreferences: TfrmPreferences end object tabNewQSO: TTabSheet Caption = 'New QSO' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object Label82: TLabel Left = 342 Height = 17 @@ -401,8 +401,8 @@ object frmPreferences: TfrmPreferences Top = 7 Width = 600 Caption = ' Default values ' - ClientHeight = 144 - ClientWidth = 598 + ClientHeight = 141 + ClientWidth = 596 TabOrder = 0 object Label5: TLabel Left = 6 @@ -674,8 +674,8 @@ object frmPreferences: TfrmPreferences end object tabVisibleColumns: TTabSheet Caption = 'Visible columns' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object chkDate: TCheckBox Left = 14 Height = 24 @@ -1007,8 +1007,8 @@ object frmPreferences: TfrmPreferences end object tabBands: TTabSheet Caption = 'Bands' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object cb136kHz: TCheckBox Left = 14 Height = 24 @@ -1230,8 +1230,8 @@ object frmPreferences: TfrmPreferences end object tabTRXcontrol: TTabSheet Caption = 'TRX control' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object btnChangeDefaultFreq: TButton Left = 472 Height = 25 @@ -1257,8 +1257,8 @@ object frmPreferences: TfrmPreferences Top = 3 Width = 569 Caption = ' rigctld ' - ClientHeight = 72 - ClientWidth = 567 + ClientHeight = 69 + ClientWidth = 565 TabOrder = 2 object Label17: TLabel Left = 5 @@ -1295,8 +1295,8 @@ object frmPreferences: TfrmPreferences Top = 14 Width = 617 Caption = ' Radio one, desc.:' - ClientHeight = 317 - ClientWidth = 615 + ClientHeight = 314 + ClientWidth = 613 TabOrder = 0 object Label18: TLabel Left = 216 @@ -1404,8 +1404,8 @@ object frmPreferences: TfrmPreferences Top = 140 Width = 511 Caption = 'Radio one serial parameters' - ClientHeight = 145 - ClientWidth = 509 + ClientHeight = 142 + ClientWidth = 507 TabOrder = 7 object Label130: TLabel Left = 11 @@ -1638,8 +1638,8 @@ object frmPreferences: TfrmPreferences Top = 14 Width = 616 Caption = ' Radio two, desc.:' - ClientHeight = 317 - ClientWidth = 614 + ClientHeight = 314 + ClientWidth = 612 TabOrder = 0 object Label22: TLabel Left = 217 @@ -1747,8 +1747,8 @@ object frmPreferences: TfrmPreferences Top = 140 Width = 511 Caption = 'Radio two serial parameters' - ClientHeight = 145 - ClientWidth = 509 + ClientHeight = 142 + ClientWidth = 507 TabOrder = 7 object Label137: TLabel Left = 11 @@ -2008,16 +2008,16 @@ object frmPreferences: TfrmPreferences end object TabROTcontrol: TTabSheet Caption = 'ROT control' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox41: TGroupBox Left = 7 Height = 88 Top = 3 Width = 569 Caption = ' rotctld ' - ClientHeight = 72 - ClientWidth = 567 + ClientHeight = 69 + ClientWidth = 565 TabOrder = 0 object Label124: TLabel Left = 5 @@ -2054,8 +2054,8 @@ object frmPreferences: TfrmPreferences Top = 14 Width = 537 Caption = ' Rotor one, desc.:' - ClientHeight = 317 - ClientWidth = 535 + ClientHeight = 314 + ClientWidth = 533 TabOrder = 0 object Label125: TLabel Left = 117 @@ -2170,8 +2170,8 @@ object frmPreferences: TfrmPreferences Top = 140 Width = 511 Caption = 'Radio one serial parameters' - ClientHeight = 145 - ClientWidth = 509 + ClientHeight = 142 + ClientWidth = 507 TabOrder = 8 object Label147: TLabel Left = 11 @@ -2387,8 +2387,8 @@ object frmPreferences: TfrmPreferences Top = 16 Width = 537 Caption = ' Rotor two, desc.:' - ClientHeight = 325 - ClientWidth = 535 + ClientHeight = 322 + ClientWidth = 533 TabOrder = 0 object Label154: TLabel Left = 117 @@ -2503,8 +2503,8 @@ object frmPreferences: TfrmPreferences Top = 140 Width = 511 Caption = 'Radio two serial parameters' - ClientHeight = 145 - ClientWidth = 509 + ClientHeight = 142 + ClientWidth = 507 TabOrder = 8 object Label159: TLabel Left = 11 @@ -2714,16 +2714,16 @@ object frmPreferences: TfrmPreferences end object tabModes: TTabSheet Caption = 'Modes' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox35: TGroupBox Left = 14 Height = 73 Top = 267 Width = 561 Caption = ' User defined digital modes (use , as delimitter)' - ClientHeight = 57 - ClientWidth = 559 + ClientHeight = 54 + ClientWidth = 557 TabOrder = 0 object edtDigiModes: TEdit Left = 7 @@ -2740,8 +2740,8 @@ object frmPreferences: TfrmPreferences Top = 11 Width = 208 Caption = ' Radio one ' - ClientHeight = 208 - ClientWidth = 206 + ClientHeight = 205 + ClientWidth = 204 TabOrder = 1 object Label28: TLabel Left = 13 @@ -2896,8 +2896,8 @@ object frmPreferences: TfrmPreferences Top = 11 Width = 208 Caption = ' Radio two ' - ClientHeight = 208 - ClientWidth = 206 + ClientHeight = 205 + ClientWidth = 204 TabOrder = 2 object Label110: TLabel Left = 13 @@ -3049,8 +3049,8 @@ object frmPreferences: TfrmPreferences end object tabQTHProfiles: TTabSheet Caption = 'QTH Profiles' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object chkUseProfiles: TCheckBox Left = 9 Height = 24 @@ -3066,8 +3066,8 @@ object frmPreferences: TfrmPreferences Top = 43 Width = 510 Caption = 'Profiles' - ClientHeight = 249 - ClientWidth = 508 + ClientHeight = 246 + ClientWidth = 506 TabOrder = 1 object Bevel1: TBevel Left = 9 @@ -3135,8 +3135,8 @@ object frmPreferences: TfrmPreferences end object tabExport: TTabSheet Caption = 'Export' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 inline fraExportSettings: TfraExportPref Left = 16 Height = 504 @@ -3453,8 +3453,8 @@ object frmPreferences: TfrmPreferences end object tabDXCluster: TTabSheet Caption = 'DXCluster' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object gbDXCColor: TGroupBox AnchorSideLeft.Control = tabDXCluster AnchorSideTop.Control = tabDXCluster @@ -3465,8 +3465,8 @@ object frmPreferences: TfrmPreferences BorderSpacing.Left = 6 BorderSpacing.Top = 1 Caption = 'Colors' - ClientHeight = 89 - ClientWidth = 510 + ClientHeight = 86 + ClientWidth = 508 TabOrder = 0 object Label41: TLabel Left = 3 @@ -3548,8 +3548,8 @@ object frmPreferences: TfrmPreferences Width = 512 BorderSpacing.Left = 6 Caption = ' Show only spots' - ClientHeight = 240 - ClientWidth = 510 + ClientHeight = 237 + ClientWidth = 508 TabOrder = 1 object Label45: TLabel Left = 6 @@ -3814,8 +3814,8 @@ object frmPreferences: TfrmPreferences BorderSpacing.Left = 6 BorderSpacing.Top = 1 Caption = ' Callsign alert ' - ClientHeight = 136 - ClientWidth = 511 + ClientHeight = 133 + ClientWidth = 509 TabOrder = 2 object btnAlertCallsigns: TButton Left = 10 @@ -3862,8 +3862,8 @@ object frmPreferences: TfrmPreferences BorderSpacing.Left = 6 BorderSpacing.Top = 1 Caption = 'Connect' - ClientHeight = 76 - ClientWidth = 512 + ClientHeight = 73 + ClientWidth = 510 TabOrder = 3 object chkConToDXC: TCheckBox AnchorSideLeft.Control = gbDXCConnect @@ -3908,16 +3908,16 @@ object frmPreferences: TfrmPreferences end object tabFont: TTabSheet Caption = 'Fonts' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox7: TGroupBox Left = 14 Height = 352 Top = 3 Width = 496 Caption = ' Font settings ' - ClientHeight = 336 - ClientWidth = 494 + ClientHeight = 333 + ClientWidth = 492 TabOrder = 0 object lblButtons: TLabel Left = 12 @@ -4056,8 +4056,8 @@ object frmPreferences: TfrmPreferences Top = 363 Width = 497 Caption = 'Gridlist settings' - ClientHeight = 72 - ClientWidth = 495 + ClientHeight = 69 + ClientWidth = 493 TabOrder = 1 object chkgridgreenbar: TCheckBox Left = 12 @@ -4119,16 +4119,16 @@ object frmPreferences: TfrmPreferences end object tabWazItu: TTabSheet Caption = 'WAZ, ITU zones' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox8: TGroupBox Left = 14 Height = 230 Top = 11 Width = 233 Caption = 'WAZ colors ' - ClientHeight = 214 - ClientWidth = 231 + ClientHeight = 211 + ClientWidth = 229 TabOrder = 0 object Label23: TLabel Left = 13 @@ -4188,8 +4188,8 @@ object frmPreferences: TfrmPreferences Top = 11 Width = 233 Caption = 'ITU colors ' - ClientHeight = 214 - ClientWidth = 231 + ClientHeight = 211 + ClientWidth = 229 TabOrder = 1 object Label54: TLabel Left = 13 @@ -4262,16 +4262,16 @@ object frmPreferences: TfrmPreferences end object tabIOTA: TTabSheet Caption = 'IOTA' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox10: TGroupBox Left = 22 Height = 168 Top = 19 Width = 249 Caption = 'IOTA colors' - ClientHeight = 152 - ClientWidth = 247 + ClientHeight = 149 + ClientWidth = 245 TabOrder = 0 object Label57: TLabel Left = 13 @@ -4319,16 +4319,16 @@ object frmPreferences: TfrmPreferences end object tabMemebership: TTabSheet Caption = 'Memebership' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox11: TGroupBox Left = 14 Height = 80 Top = 8 Width = 584 Caption = 'First club' - ClientHeight = 64 - ClientWidth = 582 + ClientHeight = 61 + ClientWidth = 580 TabOrder = 0 object cmbFirstClub: TComboBox Left = 14 @@ -4361,15 +4361,15 @@ object frmPreferences: TfrmPreferences end object Label103: TLabel Left = 325 - Height = 15 + Height = 17 Top = 17 - Width = 39 + Width = 40 Caption = 'Since:' ParentColor = False end object edtClub1Date: TEdit Left = 372 - Height = 32 + Height = 27 Top = 11 Width = 96 TabOrder = 3 @@ -4381,8 +4381,8 @@ object frmPreferences: TfrmPreferences Top = 96 Width = 584 Caption = 'Second club' - ClientHeight = 64 - ClientWidth = 582 + ClientHeight = 61 + ClientWidth = 580 TabOrder = 1 object cmbSecondClub: TComboBox Left = 14 @@ -4415,15 +4415,15 @@ object frmPreferences: TfrmPreferences end object Label104: TLabel Left = 325 - Height = 15 + Height = 17 Top = 15 - Width = 39 + Width = 40 Caption = 'Since:' ParentColor = False end object edtClub2Date: TEdit Left = 372 - Height = 32 + Height = 27 Top = 11 Width = 96 TabOrder = 3 @@ -4435,8 +4435,8 @@ object frmPreferences: TfrmPreferences Top = 184 Width = 584 Caption = 'Third club' - ClientHeight = 64 - ClientWidth = 582 + ClientHeight = 61 + ClientWidth = 580 TabOrder = 2 object cmbThirdClub: TComboBox Left = 14 @@ -4469,15 +4469,15 @@ object frmPreferences: TfrmPreferences end object Label105: TLabel Left = 325 - Height = 15 + Height = 17 Top = 15 - Width = 39 + Width = 40 Caption = 'Since:' ParentColor = False end object edtClub3Date: TEdit Left = 372 - Height = 32 + Height = 27 Top = 11 Width = 96 TabOrder = 3 @@ -4489,8 +4489,8 @@ object frmPreferences: TfrmPreferences Top = 272 Width = 584 Caption = 'Fourth club' - ClientHeight = 64 - ClientWidth = 582 + ClientHeight = 61 + ClientWidth = 580 TabOrder = 3 object cmbFourthClub: TComboBox Left = 14 @@ -4523,15 +4523,15 @@ object frmPreferences: TfrmPreferences end object Label106: TLabel Left = 325 - Height = 15 + Height = 17 Top = 15 - Width = 39 + Width = 40 Caption = 'Since:' ParentColor = False end object edtClub4Date: TEdit Left = 372 - Height = 32 + Height = 27 Top = 11 Width = 96 TabOrder = 3 @@ -4543,8 +4543,8 @@ object frmPreferences: TfrmPreferences Top = 360 Width = 584 Caption = 'Fifth club' - ClientHeight = 64 - ClientWidth = 582 + ClientHeight = 61 + ClientWidth = 580 TabOrder = 4 object cmbFifthClub: TComboBox Left = 14 @@ -4577,15 +4577,15 @@ object frmPreferences: TfrmPreferences end object Label107: TLabel Left = 325 - Height = 15 + Height = 17 Top = 15 - Width = 39 + Width = 40 Caption = 'Since:' ParentColor = False end object edtClub5Date: TEdit Left = 372 - Height = 32 + Height = 27 Top = 11 Width = 96 TabOrder = 3 @@ -4593,17 +4593,17 @@ object frmPreferences: TfrmPreferences end object chkCheckMembershipUpdate: TCheckBox Left = 14 - Height = 23 + Height = 24 Top = 452 - Width = 391 + Width = 408 Caption = 'Check for updated list of members when program starts' TabOrder = 5 end object btnForceMembershipUpdate: TButton Left = 503 - Height = 31 + Height = 29 Top = 448 - Width = 94 + Width = 95 AutoSize = True Caption = 'Update now' OnClick = btnForceMembershipUpdateClick @@ -4612,16 +4612,16 @@ object frmPreferences: TfrmPreferences end object tabBandMap: TTabSheet Caption = 'Bandmap' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox16: TGroupBox Left = 13 Height = 61 Top = 3 Width = 529 Caption = ' Font ' - ClientHeight = 45 - ClientWidth = 527 + ClientHeight = 42 + ClientWidth = 525 TabOrder = 0 object lblBandMapFont: TLabel Left = 16 @@ -4647,8 +4647,8 @@ object frmPreferences: TfrmPreferences Top = 74 Width = 529 Caption = ' Color ' - ClientHeight = 46 - ClientWidth = 527 + ClientHeight = 43 + ClientWidth = 525 TabOrder = 1 object Label61: TLabel Left = 6 @@ -4717,8 +4717,8 @@ object frmPreferences: TfrmPreferences Top = 146 Width = 529 Caption = ' Band Map Entries Aging (in minutes) ' - ClientHeight = 52 - ClientWidth = 527 + ClientHeight = 49 + ClientWidth = 525 TabOrder = 7 object Label62: TLabel Left = 11 @@ -4775,8 +4775,8 @@ object frmPreferences: TfrmPreferences Top = 230 Width = 369 Caption = 'Band map entries (from dxcluster)' - ClientHeight = 76 - ClientWidth = 367 + ClientHeight = 73 + ClientWidth = 365 TabOrder = 8 object Label65: TLabel Left = 6 @@ -4866,20 +4866,20 @@ object frmPreferences: TfrmPreferences end object tabXplanet: TTabSheet Caption = 'xplanet support' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox21: TGroupBox Left = 14 Height = 89 Top = 11 Width = 521 Caption = ' Path for the xplanet ' - ClientHeight = 73 - ClientWidth = 519 + ClientHeight = 70 + ClientWidth = 517 TabOrder = 0 object edtXplanetPath: TEdit Left = 6 - Height = 32 + Height = 27 Top = 15 Width = 432 TabOrder = 0 @@ -4892,35 +4892,35 @@ object frmPreferences: TfrmPreferences Top = 107 Width = 113 Caption = ' Window size ' - ClientHeight = 96 - ClientWidth = 111 + ClientHeight = 93 + ClientWidth = 109 TabOrder = 1 object Label66: TLabel Left = 8 - Height = 15 + Height = 17 Top = 15 - Width = 47 + Width = 51 Caption = 'Height:' ParentColor = False end object Label67: TLabel Left = 6 - Height = 15 + Height = 17 Top = 55 - Width = 42 + Width = 46 Caption = 'Width:' ParentColor = False end object edtXHeight: TEdit Left = 62 - Height = 32 + Height = 27 Top = 12 Width = 41 TabOrder = 0 end object edtXWidth: TEdit Left = 62 - Height = 32 + Height = 27 Top = 52 Width = 41 TabOrder = 1 @@ -4932,35 +4932,35 @@ object frmPreferences: TfrmPreferences Top = 107 Width = 129 Caption = ' Window position ' - ClientHeight = 96 - ClientWidth = 127 + ClientHeight = 93 + ClientWidth = 125 TabOrder = 2 object Label68: TLabel Left = 9 - Height = 15 + Height = 17 Top = 7 - Width = 26 + Width = 29 Caption = 'Top:' ParentColor = False end object Label69: TLabel Left = 9 - Height = 15 + Height = 17 Top = 34 - Width = 29 + Width = 32 Caption = 'Left:' ParentColor = False end object edtXTop: TEdit Left = 54 - Height = 32 + Height = 27 Top = 7 Width = 52 TabOrder = 0 end object edtXLeft: TEdit Left = 54 - Height = 32 + Height = 27 Top = 31 Width = 52 TabOrder = 1 @@ -4977,17 +4977,17 @@ object frmPreferences: TfrmPreferences end object chkShowXplanet: TCheckBox Left = 14 - Height = 23 + Height = 24 Top = 352 - Width = 258 + Width = 273 Caption = 'Show xplanet after program startup' TabOrder = 3 end object chkCloseXplanet: TCheckBox Left = 320 - Height = 23 + Height = 24 Top = 352 - Width = 210 + Width = 217 Caption = 'Close xplanet with CQRLOG ' TabOrder = 4 end @@ -4997,20 +4997,20 @@ object frmPreferences: TfrmPreferences Top = 107 Width = 298 Caption = ' Refresh ' - ClientHeight = 96 - ClientWidth = 296 + ClientHeight = 93 + ClientWidth = 294 TabOrder = 5 object Label70: TLabel Left = 6 - Height = 15 + Height = 17 Top = 7 - Width = 143 + Width = 148 Caption = 'Refresh xplanet every' ParentColor = False end object Label71: TLabel Left = 240 - Height = 15 + Height = 17 Top = 7 Width = 26 Caption = 'sec.' @@ -5018,30 +5018,30 @@ object frmPreferences: TfrmPreferences end object Label72: TLabel Left = 8 - Height = 15 + Height = 17 Top = 47 - Width = 63 + Width = 66 Caption = 'Show last' ParentColor = False end object Label73: TLabel Left = 136 - Height = 15 + Height = 17 Top = 47 - Width = 35 + Width = 38 Caption = 'spots' ParentColor = False end object edtXRefresh: TEdit Left = 168 - Height = 32 + Height = 27 Top = 3 Width = 49 TabOrder = 0 end object edtXLastSpots: TEdit Left = 83 - Height = 32 + Height = 27 Top = 43 Width = 42 TabOrder = 1 @@ -5062,8 +5062,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 80 - ClientWidth = 255 + ClientHeight = 77 + ClientWidth = 253 Items.Strings = ( '3D' 'azimuthal' @@ -5086,8 +5086,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 80 - ClientWidth = 254 + ClientHeight = 77 + ClientWidth = 252 Items.Strings = ( 'dxcluster' 'bandmap' @@ -5106,25 +5106,25 @@ object frmPreferences: TfrmPreferences end object chkXplanetColor: TCheckBox Left = 14 - Height = 23 + Height = 24 Top = 386 - Width = 198 + Width = 206 Caption = 'Use this xplanet font color' TabOrder = 9 end end object tabZipCode: TTabSheet Caption = 'Zip code tracking' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox25: TGroupBox Left = 6 Height = 104 Top = 11 Width = 545 Caption = ' First ' - ClientHeight = 88 - ClientWidth = 543 + ClientHeight = 85 + ClientWidth = 541 TabOrder = 0 object Label74: TLabel Left = 14 @@ -5175,8 +5175,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 56 - ClientWidth = 182 + ClientHeight = 53 + ClientWidth = 180 Items.Strings = ( 'before town address' 'after town address' @@ -5207,8 +5207,8 @@ object frmPreferences: TfrmPreferences Top = 123 Width = 545 Caption = ' Second ' - ClientHeight = 88 - ClientWidth = 543 + ClientHeight = 85 + ClientWidth = 541 TabOrder = 1 object Label76: TLabel Left = 14 @@ -5259,8 +5259,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 59 - ClientWidth = 182 + ClientHeight = 56 + ClientWidth = 180 Items.Strings = ( 'before town address' 'after town address' @@ -5291,8 +5291,8 @@ object frmPreferences: TfrmPreferences Top = 235 Width = 545 Caption = ' Third ' - ClientHeight = 88 - ClientWidth = 543 + ClientHeight = 85 + ClientWidth = 541 TabOrder = 2 object Label78: TLabel Left = 14 @@ -5343,8 +5343,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 56 - ClientWidth = 182 + ClientHeight = 53 + ClientWidth = 180 Items.Strings = ( 'before town address' 'after town address' @@ -5372,8 +5372,8 @@ object frmPreferences: TfrmPreferences end object tabLoTW: TTabSheet Caption = 'LoTW/eQSL support' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object Label10: TLabel Left = 271 Height = 34 @@ -5404,8 +5404,8 @@ object frmPreferences: TfrmPreferences Top = 6 Width = 513 Caption = ' Data for access to ARRL LoTW website ' - ClientHeight = 56 - ClientWidth = 511 + ClientHeight = 53 + ClientWidth = 509 TabOrder = 2 object Label80: TLabel Left = 14 @@ -5474,8 +5474,8 @@ object frmPreferences: TfrmPreferences Top = 91 Width = 513 Caption = ' Data for access to eQSL website ' - ClientHeight = 56 - ClientWidth = 511 + ClientHeight = 53 + ClientWidth = 509 TabOrder = 6 object Label108: TLabel Left = 14 @@ -5549,8 +5549,8 @@ object frmPreferences: TfrmPreferences end object tabCWInterface: TTabSheet Caption = 'CW interface' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object Label83: TLabel Left = 15 Height = 17 @@ -5583,8 +5583,8 @@ object frmPreferences: TfrmPreferences Top = 54 Width = 497 Caption = ' WinKeyer USB ' - ClientHeight = 104 - ClientWidth = 495 + ClientHeight = 101 + ClientWidth = 493 TabOrder = 1 object Label84: TLabel Left = 11 @@ -5689,8 +5689,8 @@ object frmPreferences: TfrmPreferences Top = 182 Width = 497 Caption = ' cwdaemon ' - ClientHeight = 89 - ClientWidth = 495 + ClientHeight = 86 + ClientWidth = 493 TabOrder = 2 object Label87: TLabel Left = 11 @@ -5766,8 +5766,8 @@ object frmPreferences: TfrmPreferences Top = 296 Width = 497 Caption = 'K3NG Key' - ClientHeight = 136 - ClientWidth = 495 + ClientHeight = 133 + ClientWidth = 493 TabOrder = 4 object Label193: TLabel Left = 11 @@ -5837,8 +5837,8 @@ object frmPreferences: TfrmPreferences Top = 456 Width = 497 Caption = 'HamLib' - ClientHeight = 89 - ClientWidth = 495 + ClientHeight = 86 + ClientWidth = 493 TabOrder = 5 object Label199: TLabel Left = 10 @@ -5879,16 +5879,16 @@ object frmPreferences: TfrmPreferences end object tabFldigi1: TTabSheet Caption = 'fldigi/wsjt interface' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox31: TGroupBox Left = 12 Height = 328 Top = 6 Width = 724 Caption = ' Reading data from fldigi' - ClientHeight = 312 - ClientWidth = 722 + ClientHeight = 309 + ClientWidth = 720 TabOrder = 0 object Label91: TLabel Left = 11 @@ -5930,8 +5930,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 98 - ClientWidth = 207 + ClientHeight = 95 + ClientWidth = 205 ItemIndex = 0 Items.Strings = ( 'CQRLOG' @@ -5962,8 +5962,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 98 - ClientWidth = 222 + ClientHeight = 95 + ClientWidth = 220 Items.Strings = ( 'CQRLOG' 'fldigi' @@ -5995,8 +5995,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 98 - ClientWidth = 183 + ClientHeight = 95 + ClientWidth = 181 Items.Strings = ( 'fldigi' 'default' @@ -6015,8 +6015,8 @@ object frmPreferences: TfrmPreferences Height = 112 Top = 5 Width = 543 - ClientHeight = 96 - ClientWidth = 541 + ClientHeight = 93 + ClientWidth = 539 TabOrder = 7 object Label95: TLabel Left = 30 @@ -6125,16 +6125,16 @@ object frmPreferences: TfrmPreferences Top = 339 Width = 724 Caption = 'Reading data from wsjtx' - ClientHeight = 248 - ClientWidth = 722 + ClientHeight = 245 + ClientWidth = 720 TabOrder = 1 object GroupBox52: TGroupBox Left = 11 Height = 107 Top = 9 Width = 557 - ClientHeight = 91 - ClientWidth = 555 + ClientHeight = 88 + ClientWidth = 553 TabOrder = 0 object Label202: TLabel Left = 30 @@ -6203,8 +6203,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 98 - ClientWidth = 270 + ClientHeight = 95 + ClientWidth = 268 Items.Strings = ( 'CQRLOG' 'wsjtx' @@ -6227,8 +6227,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 98 - ClientWidth = 207 + ClientHeight = 95 + ClientWidth = 205 ItemIndex = 0 Items.Strings = ( 'CQRLOG' @@ -6275,15 +6275,15 @@ object frmPreferences: TfrmPreferences end object tabAutoBackup: TTabSheet Caption = 'Auto backup' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox32: TGroupBox Left = 8 Height = 370 Top = 8 Width = 608 - ClientHeight = 354 - ClientWidth = 606 + ClientHeight = 351 + ClientWidth = 604 TabOrder = 0 object Label93: TLabel Left = 14 @@ -6340,8 +6340,8 @@ object frmPreferences: TfrmPreferences ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 - ClientHeight = 72 - ClientWidth = 494 + ClientHeight = 69 + ClientWidth = 492 Items.Strings = ( 'callsign, date and time (yourcall__yyyy-mm-dd__hh-mm-ss.adi)' 'callsign only (yourcall__backup.adi)' @@ -6376,8 +6376,8 @@ object frmPreferences: TfrmPreferences end object tabExtViewers: TTabSheet Caption = 'External viewers' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object Label99: TLabel Left = 23 Height = 17 @@ -6453,16 +6453,16 @@ object frmPreferences: TfrmPreferences end object tabCallbook: TTabSheet Caption = 'Callbook support' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox38: TGroupBox Left = 13 Height = 160 Top = 8 Width = 585 Caption = ' Callbook search ' - ClientHeight = 144 - ClientWidth = 583 + ClientHeight = 141 + ClientWidth = 581 TabOrder = 0 object rbHamQTH: TRadioButton Left = 6 @@ -6518,8 +6518,8 @@ object frmPreferences: TfrmPreferences end object tabRBN: TTabSheet Caption = 'RBN support' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object chkRBNAutoConn: TCheckBox Left = 408 Height = 24 @@ -6731,16 +6731,16 @@ object frmPreferences: TfrmPreferences end object tabOnlineLog: TTabSheet Caption = 'Online log upload' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object GroupBox44: TGroupBox Left = 13 Height = 179 Top = 7 Width = 569 Caption = ' HamQTH ' - ClientHeight = 163 - ClientWidth = 567 + ClientHeight = 160 + ClientWidth = 565 TabOrder = 0 object chkHaUpEnabled: TCheckBox Left = 7 @@ -6828,8 +6828,8 @@ object frmPreferences: TfrmPreferences Top = 194 Width = 569 Caption = ' ClubLog ' - ClientHeight = 152 - ClientWidth = 567 + ClientHeight = 149 + ClientWidth = 565 TabOrder = 1 object chkClUpEnabled: TCheckBox Left = 7 @@ -6933,8 +6933,8 @@ object frmPreferences: TfrmPreferences Top = 370 Width = 569 Caption = ' HRDLog.net ' - ClientHeight = 152 - ClientWidth = 567 + ClientHeight = 149 + ClientWidth = 565 TabOrder = 2 object chkHrUpEnabled: TCheckBox Left = 7 @@ -7033,8 +7033,8 @@ object frmPreferences: TfrmPreferences end object tabCondx: TTabSheet Caption = 'Propagation' - ClientHeight = 630 - ClientWidth = 742 + ClientHeight = 628 + ClientWidth = 748 object rbCondxAsImage: TRadioButton Left = 25 Height = 24 @@ -7179,7 +7179,7 @@ object frmPreferences: TfrmPreferences 'Online log upload' 'Propagation' ) - ItemHeight = 21 + ItemHeight = 23 OnClick = lbPreferencesClick ScrollWidth = 158 TabOrder = 2 diff --git a/src/fPreferences.pas b/src/fPreferences.pas index 2cb47ad..6597441 100644 --- a/src/fPreferences.pas +++ b/src/fPreferences.pas @@ -1046,6 +1046,8 @@ type wasOnlineLogSupportEnabled : Boolean; procedure SaveClubSection; + procedure LoadMebershipCombo; + procedure LoadMembersFromCombo(ClubComboText, ClubNumber : String); public { public declarations } ActPageIdx : integer; @@ -1678,82 +1680,27 @@ end; procedure TfrmPreferences.btnLoadFifthClick(Sender: TObject); begin - if cmbFifthClub.Text = '' then - exit; - with TfrmLoadClub.Create(self) do - try - TypOfLoad := 0; - DBnum := '5'; - SourceFile := dmData.MembersDir + LowerCase( - copy(cmbFifthClub.Text, 1, Pos(';', cmbFifthClub.Text) - 1)) + '.txt'; - ShowModal - finally - Free - end; + LoadMembersFromCombo(cmbFifthClub.Text, '5') end; procedure TfrmPreferences.btnLoadFirstClick(Sender: TObject); begin - if cmbFirstClub.Text = '' then - exit; - with TfrmLoadClub.Create(self) do - try - TypOfLoad := 0; - DBnum := '1'; - SourceFile := dmData.MembersDir + LowerCase( - copy(cmbFirstClub.Text, 1, Pos(';', cmbFirstClub.Text) - 1)) + '.txt'; - ShowModal - finally - Free - end; + LoadMembersFromCombo(cmbFirstClub.Text, '1') end; procedure TfrmPreferences.btnLoadFourthClick(Sender: TObject); begin - if cmbFourthClub.Text = '' then - exit; - with TfrmLoadClub.Create(self) do - try - TypOfLoad := 0; - DBnum := '4'; - SourceFile := dmData.MembersDir + LowerCase( - copy(cmbFourthClub.Text, 1, Pos(';', cmbFourthClub.Text) - 1)) + '.txt'; - ShowModal; - finally - Free - end; + LoadMembersFromCombo(cmbFourthClub.Text, '4') end; procedure TfrmPreferences.btnLoadSecondClick(Sender: TObject); begin - if cmbSecondClub.Text = '' then - exit; - with TfrmLoadClub.Create(self) do - try - TypOfLoad := 0; - DBnum := '2'; - SourceFile := dmData.MembersDir + LowerCase( - copy(cmbSecondClub.Text, 1, Pos(';', cmbSecondClub.Text) - 1)) + '.txt'; - ShowModal - finally - Free - end; + LoadMembersFromCombo(cmbSecondClub.Text, '2') end; procedure TfrmPreferences.btnLoadThirdClick(Sender: TObject); begin - if cmbThirdClub.Text = '' then - exit; - with TfrmLoadClub.Create(self) do - try - TypOfLoad := 0; - DBnum := '3'; - SourceFile := dmData.MembersDir + LowerCase( - copy(cmbThirdClub.Text, 1, Pos(';', cmbThirdClub.Text) - 1)) + '.txt'; - ShowModal - finally - Free - end; + LoadMembersFromCombo(cmbThirdClub.Text, '3') end; procedure TfrmPreferences.btnSelbFontClick(Sender: TObject); @@ -2425,22 +2372,15 @@ var i: integer; begin dmUtils.LoadFontSettings(self); - dmUtils.ReadMemberList(cmbFirstClub); - dmUtils.ReadZipList(cmbFirstZip); dmUtils.InsertModes(cmbDefaultMode); dmUtils.InsertModes(cmbMode); dmUtils.InsertModes(cmbWsjtDefaultMode); cmbDefaultMode.ReadOnly := True; cmbWsjtDefaultMode.ReadOnly := True; - for i := 0 to cmbFirstClub.Items.Count - 1 do - begin - cmbSecondClub.Items.Add(cmbFirstClub.Items[i]); - cmbThirdClub.Items.Add(cmbFirstClub.Items[i]); - cmbFourthClub.Items.Add(cmbFirstClub.Items[i]); - cmbFifthClub.Items.Add(cmbFirstClub.Items[i]); - end; + LoadMebershipCombo; + dmUtils.ReadZipList(cmbFirstZip); for i := 0 to cmbFirstZip.Items.Count - 1 do begin cmbSecondZip.Items.Add(cmbFirstZip.Items[i]); @@ -2862,11 +2802,11 @@ begin edtHtmlFiles.Text := cqrini.ReadString('ExtView', 'html', 'firefox'); chkIntQSLViewer.Checked := cqrini.ReadBool('ExtView', 'QSL', True); - edtClub1Date.Text := cqrini.ReadString('FirstClub', 'DateFrom', '1945-01-01'); - edtClub2Date.Text := cqrini.ReadString('SecondClub', 'DateFrom', '1945-01-01'); - edtClub3Date.Text := cqrini.ReadString('ThirdClub', 'DateFrom', '1945-01-01'); - edtClub4Date.Text := cqrini.ReadString('FourthClub', 'DateFrom', '1945-01-01'); - edtClub5Date.Text := cqrini.ReadString('FifthClub', 'DateFrom', '1945-01-01'); + edtClub1Date.Text := cqrini.ReadString('FirstClub', 'DateFrom', C_CLUB_DEFAULT_DATE_FROM); + edtClub2Date.Text := cqrini.ReadString('SecondClub', 'DateFrom', C_CLUB_DEFAULT_DATE_FROM); + edtClub3Date.Text := cqrini.ReadString('ThirdClub', 'DateFrom', C_CLUB_DEFAULT_DATE_FROM); + edtClub4Date.Text := cqrini.ReadString('FourthClub', 'DateFrom', C_CLUB_DEFAULT_DATE_FROM); + edtClub5Date.Text := cqrini.ReadString('FifthClub', 'DateFrom', C_CLUB_DEFAULT_DATE_FROM); edtCbUser.Text := cqrini.ReadString('CallBook', 'CBUser', ''); edtCbPass.Text := cqrini.ReadString('CallBook', 'CBPass', ''); @@ -2968,5 +2908,65 @@ begin cqrini.WriteBool('Clubs', 'CheckForUpdate', chkCheckMembershipUpdate.Checked) end; +procedure TfrmPreferences.LoadMebershipCombo; +var + i : Integer; + Club1 : String; + Club2 : String; + Club3 : String; + Club4 : String; + Club5 : String; +begin + Club1 := cmbFirstClub.Text; + Club2 := cmbSecondClub.Text; + Club3 := cmbThirdClub.Text; + Club4 := cmbFourthClub.Text; + Club5 := cmbFifthClub.Text; + + cmbSecondClub.Items.Clear; + cmbThirdClub.Items.Clear; + cmbFourthClub.Items.Clear; + cmbFifthClub.Items.Clear; + + dmMembership.ReadMemberList(cmbFirstClub); + for i := 0 to cmbFirstClub.Items.Count - 1 do + begin + cmbSecondClub.Items.Add(cmbFirstClub.Items[i]); + cmbThirdClub.Items.Add(cmbFirstClub.Items[i]); + cmbFourthClub.Items.Add(cmbFirstClub.Items[i]); + cmbFifthClub.Items.Add(cmbFirstClub.Items[i]); + end; + + cmbFirstClub.ItemIndex := cmbFirstClub.Items.IndexOf(Club1); + cmbSecondClub.ItemIndex := cmbSecondClub.Items.IndexOf(Club2); + cmbThirdClub.ItemIndex := cmbThirdClub.Items.IndexOf(Club3); + cmbFourthClub.ItemIndex := cmbFourthClub.Items.IndexOf(Club4); + cmbFifthClub.ItemIndex := cmbFifthClub.Items.IndexOf(Club5) +end; + +procedure TfrmPreferences.LoadMembersFromCombo(ClubComboText, ClubNumber : String); +var + MemberFileName : String; +begin + if (ClubComboText = '') or (Pos('---', ClubComboText) > 0) then + exit; + + MemberFileName := dmMembership.GetClubFileName(ClubComboText); + with TfrmLoadClub.Create(self) do + try + TypOfLoad := 0; + DBnum := ClubNumber; + SourceFile := MemberFileName; + ShowModal + finally + Free + end; + + if not FileExists(dmData.MembersDir + MemberFileName) then + CopyFile(dmData.GlobalMembersDir + MemberFileName, dmData.MembersDir + MemberFileName); + + LoadMebershipCombo +end; + end. diff --git a/src/fQSODetails.pas b/src/fQSODetails.pas index 5a02ea0..d1e863d 100644 --- a/src/fQSODetails.pas +++ b/src/fQSODetails.pas @@ -129,7 +129,7 @@ implementation {$R *.lfm} { TfrmQSODetails } -uses dUtils, dData, fNewQSO, uMyIni; +uses dUtils, dData, fNewQSO, uMyIni, dMembership; { %l - long club name @@ -407,11 +407,11 @@ begin if data = '' then exit; case num of - 1 : begin Club := dmData.Club1; ClubInfo := @LClub1 end; - 2 : begin Club := dmData.Club2; ClubInfo := @LClub2 end; - 3 : begin Club := dmData.Club3; ClubInfo := @LClub3 end; - 4 : begin Club := dmData.Club4; ClubInfo := @LClub4 end; - 5 : begin Club := dmData.Club5; ClubInfo := @LClub5 end + 1 : begin Club := dmMembership.Club1; ClubInfo := @LClub1 end; + 2 : begin Club := dmMembership.Club2; ClubInfo := @LClub2 end; + 3 : begin Club := dmMembership.Club3; ClubInfo := @LClub3 end; + 4 : begin Club := dmMembership.Club4; ClubInfo := @LClub4 end; + 5 : begin Club := dmMembership.Club5; ClubInfo := @LClub5 end end; if Club.Name = '' then exit; diff --git a/src/fRebuildMembStat.pas b/src/fRebuildMembStat.pas index 54d4bb7..d111c14 100644 --- a/src/fRebuildMembStat.pas +++ b/src/fRebuildMembStat.pas @@ -52,23 +52,23 @@ implementation {$R *.lfm} { TfrmRebuildMembStat } -uses dUtils, dData, uMyIni, dLogUpload; +uses dUtils, dData, uMyIni, dLogUpload, dMembership; procedure TfrmRebuildMembStat.FormShow(Sender: TObject); begin dmUtils.LoadWindowPos(frmRebuildMembStat); - chkRebClub1.Caption := dmData.Club1.LongName; - chkRebClub2.Caption := dmData.Club2.LongName; - chkRebClub3.Caption := dmData.Club3.LongName; - chkRebClub4.Caption := dmData.Club4.LongName; - chkRebClub5.Caption := dmData.Club5.LongName; + chkRebClub1.Caption := dmMembership.Club1.LongName; + chkRebClub2.Caption := dmMembership.Club2.LongName; + chkRebClub3.Caption := dmMembership.Club3.LongName; + chkRebClub4.Caption := dmMembership.Club4.LongName; + chkRebClub5.Caption := dmMembership.Club5.LongName; - edtSince1.Text := dmData.Club1.DateFrom; - edtSince2.Text := dmData.Club2.DateFrom; - edtSince3.Text := dmData.Club3.DateFrom; - edtSince4.Text := dmData.Club4.DateFrom; - edtSince5.Text := dmData.Club5.DateFrom; + edtSince1.Text := dmMembership.Club1.DateFrom; + edtSince2.Text := dmMembership.Club2.DateFrom; + edtSince3.Text := dmMembership.Club3.DateFrom; + edtSince4.Text := dmMembership.Club4.DateFrom; + edtSince5.Text := dmMembership.Club5.DateFrom; chkRebClub1.Enabled := chkRebClub1.Caption<>''; edtSince1.Enabled := chkRebClub1.Caption<>''; @@ -163,35 +163,35 @@ begin if chkRebClub1.Checked then begin - UpdateClub(dmData.Club1,'1',edtSince1.Text); + UpdateClub(dmMembership.Club1,'1',edtSince1.Text); lblDone1.Visible := True; Application.ProcessMessages end; if chkRebClub2.Checked then begin - UpdateClub(dmData.Club2,'2',edtSince2.Text); + UpdateClub(dmMembership.Club2,'2',edtSince2.Text); lblDone2.Visible := True; Application.ProcessMessages end; if chkRebClub3.Checked then begin - UpdateClub(dmData.Club3,'3',edtSince3.Text); + UpdateClub(dmMembership.Club3,'3',edtSince3.Text); lblDone3.Visible := True; Application.ProcessMessages end; if chkRebClub4.Checked then begin - UpdateClub(dmData.Club4,'4',edtSince4.Text); + UpdateClub(dmMembership.Club4,'4',edtSince4.Text); lblDone4.Visible := True; Application.ProcessMessages end; if chkRebClub5.Checked then begin - UpdateClub(dmData.Club5,'5',edtSince5.Text); + UpdateClub(dmMembership.Club5,'5',edtSince5.Text); lblDone5.Visible := True; Application.ProcessMessages end