index b52113c85cf36b8b716f614e7605c809cd7629b4..588d9c49a8c807e34d42960c4fdf9c762f977ff1 100644 (file)
--- a/src/editor/f_options.pas
+++ b/src/editor/f_options.pas
end;
procedure TOptionsForm.FormShow(Sender: TObject);
- const langfilename = 'editor';
- var info: TSearchRec;
+ var list: TStringList;
begin
sDotColor.Brush.Color := DotColor;
cbShowDots.Checked := DotEnable;
cbLanguage.Items.BeginUpdate;
cbLanguage.Items.Clear;
cbLanguage.Items.Add('Auto');
- if FindFirst(LangDir + DirectorySeparator + langfilename + '.*.mo', faAnyFile, info) = 0 then
- begin
- repeat
- cbLanguage.Items.Add(Copy(ExtractFileNameWithoutExt(info.Name), Length(langfilename) + 2));
- until FindNext(info) <> 0;
- FindClose(info);
- end;
+ list := g_Language_GetList();
+ cbLanguage.Items.AddStrings(list);
+ list.Free();
cbLanguage.ItemIndex := IfThen(gLanguage = '', 0, cbLanguage.Items.IndexOf(gLanguage));
finally
cbLanguage.Items.EndUpdate;
begin
// General tab
- if cbLanguage.ItemIndex <= 0 then str := '' else str := cbLanguage.Items[cbLanguage.ItemIndex];
- if (str = '') or (gLanguage <> str) then
+ if cbLanguage.ItemIndex >= 0 then
begin
- gLanguage := str;
- g_Language_Set(gLanguage);
+ if cbLanguage.ItemIndex = 0 then str := '' else str := cbLanguage.Items[cbLanguage.ItemIndex];
+ if (str = '') or (gLanguage <> str) then
+ begin
+ gLanguage := str;
+ g_Language_Set(gLanguage);
+ end;
end;
-
+
DotColor := sDotColor.Brush.Color;
DotEnable := cbShowDots.Checked;