tvplanit: Fix print format editor crashing due to translated radiogroup items.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5897 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2017-05-23 19:28:36 +00:00
parent 2a4643b959
commit 8a58f7c8a7
11 changed files with 145 additions and 31 deletions

View File

@ -711,6 +711,10 @@ msgstr "TCanvas wurde nicht zugewiesen."
msgid "Component must be linked to a TVpControlLink"
msgstr "Komponente muss mit einem TVpControlLink verbunden sein."
#: vpsr.rsnodayincrement
msgid "Day increment unit not specified."
msgstr ""
#: vpsr.rsnolocalizationfile
msgid "Localization file not found."
msgstr "Sprachdatei nicht gefunden."
@ -727,6 +731,10 @@ msgstr "(Nichts)"
msgid "none"
msgstr "keine"
#: vpsr.rsnoprintformatname
msgid "Please supply a format name"
msgstr ""
#: vpsr.rsnoprintformats
msgid "No print formats have been defined"
msgstr "Es sind keine Druckformate definiert."
@ -1056,6 +1064,14 @@ msgstr "Samstag"
msgid "Save file..."
msgstr "Datei speichern..."
#: vpsr.rssaveformatchangestofile
msgid "Save format to file?"
msgstr ""
#: vpsr.rssaveformatchangestofilename
msgid "Save format to \"%s\"?"
msgstr ""
#: vpsr.rsselectasound
msgid "Select A Sound"
msgstr "Einen Klang auswählen"
@ -1613,3 +1629,4 @@ msgstr "Unbekannte Achsen-Spezifikation: %s"
#: vpsr.sxmldecnotatbeg
msgid "The XML declaration must appear before the first element"
msgstr "Die XML-Deklaration muss vor dem ersten Element erscheinen."

View File

@ -701,6 +701,10 @@ msgstr ""
msgid "Component must be linked to a TVpControlLink"
msgstr ""
#: vpsr.rsnodayincrement
msgid "Day increment unit not specified."
msgstr ""
#: vpsr.rsnolocalizationfile
msgid "Localization file not found."
msgstr ""
@ -717,6 +721,10 @@ msgstr ""
msgid "none"
msgstr ""
#: vpsr.rsnoprintformatname
msgid "Please supply a format name"
msgstr ""
#: vpsr.rsnoprintformats
msgid "No print formats have been defined"
msgstr ""
@ -1046,6 +1054,14 @@ msgstr "Lauantai"
msgid "Save file..."
msgstr ""
#: vpsr.rssaveformatchangestofile
msgid "Save format to file?"
msgstr ""
#: vpsr.rssaveformatchangestofilename
msgid "Save format to \"%s\"?"
msgstr ""
#: vpsr.rsselectasound
msgid "Select A Sound"
msgstr ""
@ -1189,9 +1205,10 @@ msgid "top line"
msgstr ""
#: vpsr.rstrue
#, fuzzy
msgctxt "vpsr.rstrue"
msgid "T"
msgstr ""
msgstr "T"
#: vpsr.rstuesday
msgid "Tuesday"

View File

@ -717,6 +717,10 @@ msgstr "TCanvas non spécifié"
msgid "Component must be linked to a TVpControlLink"
msgstr "Le composant doit être lié à un TVpControlLink"
#: vpsr.rsnodayincrement
msgid "Day increment unit not specified."
msgstr ""
#: vpsr.rsnolocalizationfile
msgid "Localization file not found."
msgstr "Fichier de localization non-trouvé"
@ -733,6 +737,10 @@ msgstr "(Aucun)"
msgid "none"
msgstr ""
#: vpsr.rsnoprintformatname
msgid "Please supply a format name"
msgstr ""
#: vpsr.rsnoprintformats
msgid "No print formats have been defined"
msgstr "Formats d'impression non-défini"
@ -1062,6 +1070,14 @@ msgstr "Samedi"
msgid "Save file..."
msgstr ""
#: vpsr.rssaveformatchangestofile
msgid "Save format to file?"
msgstr ""
#: vpsr.rssaveformatchangestofilename
msgid "Save format to \"%s\"?"
msgstr ""
#: vpsr.rsselectasound
msgid "Select A Sound"
msgstr "Choissisez un son"

View File

@ -711,6 +711,10 @@ msgstr "TCanvas is niet toegewezen."
msgid "Component must be linked to a TVpControlLink"
msgstr "Component moet moet met een TVpControlLink verbonden zijn"
#: vpsr.rsnodayincrement
msgid "Day increment unit not specified."
msgstr ""
#: vpsr.rsnolocalizationfile
msgid "Localization file not found."
msgstr "Vertalingenbestand niet gevonden."
@ -727,6 +731,10 @@ msgstr "(Geen)"
msgid "none"
msgstr ""
#: vpsr.rsnoprintformatname
msgid "Please supply a format name"
msgstr ""
#: vpsr.rsnoprintformats
msgid "No print formats have been defined"
msgstr "Er zijn geen afdrukformaten gedefinieerd."
@ -1056,6 +1064,14 @@ msgstr "Zaterdag"
msgid "Save file..."
msgstr ""
#: vpsr.rssaveformatchangestofile
msgid "Save format to file?"
msgstr ""
#: vpsr.rssaveformatchangestofilename
msgid "Save format to \"%s\"?"
msgstr ""
#: vpsr.rsselectasound
msgid "Select A Sound"
msgstr "Kies een geluid"

View File

@ -701,6 +701,10 @@ msgstr ""
msgid "Component must be linked to a TVpControlLink"
msgstr ""
#: vpsr.rsnodayincrement
msgid "Day increment unit not specified."
msgstr ""
#: vpsr.rsnolocalizationfile
msgid "Localization file not found."
msgstr ""
@ -717,6 +721,10 @@ msgstr ""
msgid "none"
msgstr ""
#: vpsr.rsnoprintformatname
msgid "Please supply a format name"
msgstr ""
#: vpsr.rsnoprintformats
msgid "No print formats have been defined"
msgstr ""
@ -1046,6 +1054,14 @@ msgstr ""
msgid "Save file..."
msgstr ""
#: vpsr.rssaveformatchangestofile
msgid "Save format to file?"
msgstr ""
#: vpsr.rssaveformatchangestofilename
msgid "Save format to \"%s\"?"
msgstr ""
#: vpsr.rsselectasound
msgid "Select A Sound"
msgstr ""

View File

@ -711,6 +711,10 @@ msgstr ""
msgid "Component must be linked to a TVpControlLink"
msgstr ""
#: vpsr.rsnodayincrement
msgid "Day increment unit not specified."
msgstr ""
#: vpsr.rsnolocalizationfile
msgid "Localization file not found."
msgstr ""
@ -727,6 +731,10 @@ msgstr "(Нет)"
msgid "none"
msgstr ""
#: vpsr.rsnoprintformatname
msgid "Please supply a format name"
msgstr ""
#: vpsr.rsnoprintformats
msgid "No print formats have been defined"
msgstr "Не определён формат печати"
@ -1056,6 +1064,14 @@ msgstr "Суббота"
msgid "Save file..."
msgstr "Сохранить файл..."
#: vpsr.rssaveformatchangestofile
msgid "Save format to file?"
msgstr ""
#: vpsr.rssaveformatchangestofilename
msgid "Save format to \"%s\"?"
msgstr ""
#: vpsr.rsselectasound
msgid "Select A Sound"
msgstr "Выберите звук"

View File

@ -319,6 +319,10 @@ resourcestring
{ Misc strings }
RSCategoryDesc = 'Category %d';
{ Print format list }
RSSaveFormatChangesToFile = 'Save format to file?';
RSSaveFormatChangesToFilename = 'Save format to "%s"?';
{ Print Format Editor }
RSEditPrintFormat = 'Edit Print Formats...';
RSPrintFormatDesigner = 'Print format designer';
@ -332,6 +336,8 @@ resourcestring
RSNewFileBtn = 'New file';
RSLoadFileBtn = 'Load file...';
RSSaveFileBtn = 'Save file...';
RSNoPrintFormatName = 'Please supply a format name';
RSNoDayIncrement = 'Day increment unit not specified.';
RSReportSetup = 'Report setup';

View File

@ -188,6 +188,7 @@ object frmEditFormat: TfrmEditFormat
BorderSpacing.Bottom = 4
Caption = 'OK'
Default = True
ModalResult = 1
OnClick = btnOkClick
TabOrder = 0
end
@ -203,6 +204,7 @@ object frmEditFormat: TfrmEditFormat
BorderSpacing.Bottom = 4
Cancel = True
Caption = 'Cancel'
ModalResult = 2
OnClick = btnCancelClick
TabOrder = 1
end

View File

@ -69,7 +69,7 @@ type
protected
procedure SaveData(AFormat: TVpPrintFormatItem);
procedure SetData(AFormat: TVpPrintFormatItem);
function Validate: Boolean;
function Validate(out AMsg: String; out AControl: TWinControl): Boolean;
public
function Execute(AFormat: TVpPrintFormatItem) : Boolean;
end;
@ -100,20 +100,22 @@ begin
end;
procedure TfrmEditFormat.btnOkClick(Sender: TObject);
var
msg: String;
C: TWinControl;
begin
if Validate then
ModalResult := mrOk
else begin
ShowMessage('Please supply a Format Name');
edName.SetFocus;
Exit;
if not Validate(msg, C) then
begin
C.SetFocus;
MessageDlg(msg, mtError, [mbOK], 0);
ModalResult := mrNone;
end;
end;
function TfrmEditFormat.Execute(AFormat: TVpPrintFormatItem) : Boolean;
begin
SetData(AFormat);
Result := ShowModal = mrOk;
Result := (ShowModal = mrOk);
if Result then
SaveData(AFormat);
end;
@ -130,8 +132,7 @@ begin
AFormat.FormatName := edName.Text;
AFormat.Description := edDescription.Text;
AFormat.DayInc := udIncrement.Position;
EnumVal := GetEnumValue(TypeInfo(TVpDayUnits), 'du' + rgDayIncrement.Items[rgDayIncrement.ItemIndex]);
EnumVal := rgDayIncrement.ItemIndex;
if EnumVal > -1 then
AFormat.DayIncUnits := TVpDayUnits(EnumVal)
else
@ -160,24 +161,28 @@ begin
end;
procedure TfrmEditFormat.SetData(AFormat: TVpPrintFormatItem);
var
IncName : string;
begin
edName.Text := AFormat.FormatName;
edDescription.Text := AFormat.Description;
udIncrement.Position := AFormat.DayInc;
IncName := GetEnumName(TypeInfo(TVpDayUnits), Ord(AFormat.DayIncUnits));
if IncName <> '' then begin
rgDayIncrement.ItemIndex := rgDayIncrement.Items.IndexOf(Copy(IncName, 3, Length(IncName) - 2));
end
else
rgDayIncrement.ItemIndex := 0;
rgDayIncrement.ItemIndex := ord(AFormat.DayIncUnits);
end;
function TfrmEditFormat.Validate : Boolean;
function TfrmEditFormat.Validate(out AMsg: String;
out AControl: TWinControl) : Boolean;
begin
Result := edName.Text <> '';
Result := false;
if (edName.Text = '') then begin
AMsg := RSNoPrintFormatName;
AControl := edName;
exit;
end;
if (RgDayIncrement.ItemIndex < 0) then begin
AMsg := RSNoDayIncrement;
AControl := RgDayIncrement;
exit;
end;
Result := true;
end;
end.

View File

@ -11,7 +11,7 @@ object frmPrnFormat: TfrmPrnFormat
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '1.9.0.0'
LCLVersion = '1.6.4.0'
object LblFormats: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner

View File

@ -246,9 +246,9 @@ begin
if IsDirty then begin
Rslt := DirtyPrompt;
case Rslt of
ID_YES : DoSave;
ID_NO : ; // nothing
ID_CANCEL : Exit;
mrYes : DoSave;
mrNo : ; // nothing
mrCancel : Exit;
end;
end;
@ -340,12 +340,15 @@ begin
end;
{=====}
function TfrmPrnFormat.DirtyPrompt: Integer;
var
msg: String;
fn: String;
begin
Result := Application.MessageBox(
PChar('Save changes to ' + FormatFileName + '?'),
PChar('Inquiry'),
MB_YESNOCANCEL or MB_ICONQUESTION
);
if FormatFileName = '' then
msg := RSSaveFormatChangesToFile
else
msg := Format(RSSaveFormatChangesToFilename, [FormatFileName]);
Result := MessageDlg(msg, mtConfirmation, [mbYes, mbNo, mbCancel], 0);
end;
{=====}
procedure TfrmPrnFormat.DoEditElement;