IDE/Options: Show restart hint only when changing language

This commit is contained in:
n7800 2024-09-18 23:31:55 +05:00 committed by Martin
parent 35f64bfd57
commit 6d5a09d6a1
2 changed files with 13 additions and 1 deletions

View File

@ -109,6 +109,7 @@ object DesktopOptionsFrame: TDesktopOptionsFrame
ShowHint = True
Style = csDropDownList
TabOrder = 0
OnChange = LanguageComboBoxChange
end
object AutoSaveIntervalInSecsComboBox: TComboBox
AnchorSideLeft.Control = Owner
@ -488,5 +489,6 @@ object DesktopOptionsFrame: TDesktopOptionsFrame
Caption = 'lblLangChangeHint'
Font.Style = [fsItalic]
ParentFont = False
Visible = False
end
end

View File

@ -27,7 +27,7 @@ interface
uses
Classes, SysUtils,
// LCL
Forms, StdCtrls, Dialogs, ExtCtrls, Spin,
Forms, StdCtrls, Dialogs, Controls, ExtCtrls, Spin,
// LazUtils
FileUtil, LazUTF8, LazLoggerBase,
// LazControls
@ -80,7 +80,9 @@ type
spDropDownCount: TSpinEdit;
procedure ExportDesktopButtonClick(Sender: TObject);
procedure ImportDesktopButtonClick(Sender: TObject);
procedure LanguageComboBoxChange(Sender: TObject);
private
fCurrentLang: TCaption;
function LangIDToCaption(const LangID: string): string;
function CaptionToLangID(const ACaption: string): string;
procedure DoLoadSettings(AOptions: TAbstractIDEOptions);
@ -110,6 +112,8 @@ var
LangID: String;
sl: TStringListUTF8Fast;
begin
fCurrentLang := '';
// language
lblLanguage.Caption := dlgEnvLanguage;
lblLangChangeHint.Caption := dlgEnvLanguageHint;
@ -184,6 +188,7 @@ begin
begin
// language
LanguageComboBox.Text:=LangIDToCaption(EnvOpt.LanguageID);
fCurrentLang := LanguageComboBox.Text;
//debugln('TEnvironmentOptionsDialog.ReadSettings LanguageComboBox.ItemIndex=',dbgs(LanguageComboBox.ItemIndex),' LanguageID="',LanguageID,'" LanguageComboBox.Text="',LanguageComboBox.Text,'"');
// mouse action
@ -348,6 +353,11 @@ begin
end;
end;
procedure TDesktopOptionsFrame.LanguageComboBoxChange(Sender: TObject);
begin
lblLangChangeHint.Visible := LanguageComboBox.Text <> fCurrentLang;
end;
function TDesktopOptionsFrame.LangIDToCaption(const LangID: string): string;
begin
if LangID <> '' then