From ca84243cfa23f390cc7375a1a3c6a4a3117ec4bb Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Mon, 23 Feb 2015 03:52:10 +0100 Subject: [PATCH] options are sorted --- src/ce_optionseditor.lfm | 1 + src/ce_optionseditor.pas | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/ce_optionseditor.lfm b/src/ce_optionseditor.lfm index 6c27f181..1c17a44d 100644 --- a/src/ce_optionseditor.lfm +++ b/src/ce_optionseditor.lfm @@ -40,6 +40,7 @@ inherited CEOptionEditorWidget: TCEOptionEditorWidget HideSelection = False ReadOnly = True ScrollBars = ssAutoBoth + SortType = stText TabOrder = 0 OnDeletion = selCatDeletion OnSelectionChanged = selCatSelectionChanged diff --git a/src/ce_optionseditor.pas b/src/ce_optionseditor.pas index 61988ec5..38810c0c 100644 --- a/src/ce_optionseditor.pas +++ b/src/ce_optionseditor.pas @@ -41,6 +41,7 @@ type private fEdOptsSubj: TCEEditableOptionsSubject; procedure updateCategories; + function sortCategories(Cat1, Cat2: TTreeNode): integer; public constructor create(aOwner: TComponent); override; destructor destroy; override; @@ -100,6 +101,12 @@ begin dt^.kind := ed.optionedWantEditorKind; dt^.observer := ed; end; + selCat.Items.SortTopLevelNodes(@sortCategories); +end; + +function TCEOptionEditorWidget.sortCategories(Cat1, Cat2: TTreeNode): integer; +begin + result := CompareText(Cat1.Text, Cat2.Text); end; procedure TCEOptionEditorWidget.selCatDeletion(Sender: TObject; Node: TTreeNode);