From f5f74f751a63f6de3e247db7fff7da5ca215bdff Mon Sep 17 00:00:00 2001 From: Hivert Quentin Date: Fri, 4 Aug 2023 10:36:50 +0200 Subject: [PATCH] fix(preferences): Fix language list sorting on preferences page --- SoObjects/SOGo/SOGoSystemDefaults.h | 2 ++ SoObjects/SOGo/SOGoSystemDefaults.m | 10 ++++++++++ UI/MainUI/SOGoRootPage.m | 9 --------- UI/PreferencesUI/UIxPreferences.m | 3 ++- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/SoObjects/SOGo/SOGoSystemDefaults.h b/SoObjects/SOGo/SOGoSystemDefaults.h index d24ece6dc..359b715a3 100644 --- a/SoObjects/SOGo/SOGoSystemDefaults.h +++ b/SoObjects/SOGo/SOGoSystemDefaults.h @@ -78,6 +78,8 @@ static const NSString *kDisableSharingCalendar = @"Calendar"; - (NSString *) pageTitle; - (NSString *) helpURL; +NSComparisonResult languageSort(id el1, id el2, void *context); + - (NSArray *) supportedLanguages; - (NSString *) loginSuffix; diff --git a/SoObjects/SOGo/SOGoSystemDefaults.m b/SoObjects/SOGo/SOGoSystemDefaults.m index ff6efcaee..f517c7a3e 100644 --- a/SoObjects/SOGo/SOGoSystemDefaults.m +++ b/SoObjects/SOGo/SOGoSystemDefaults.m @@ -467,6 +467,16 @@ _injectConfigurationFromFile (NSMutableDictionary *defaultsDict, return [self stringForKey: @"SOGoHelpURL"]; } +NSComparisonResult languageSort(id el1, id el2, void *context) +{ + NSString *t1, *t2; + + t1 = [context labelForKey: el1]; + t2 = [context labelForKey: el2]; + + return [t1 compare: t2 options: NSCaseInsensitiveSearch]; +} + - (NSArray *) supportedLanguages { static NSArray *supportedLanguages = nil; diff --git a/UI/MainUI/SOGoRootPage.m b/UI/MainUI/SOGoRootPage.m index a19446a46..a8a5a3bb1 100644 --- a/UI/MainUI/SOGoRootPage.m +++ b/UI/MainUI/SOGoRootPage.m @@ -659,15 +659,6 @@ static const NSString *kJwtKey = @"jwt"; return [self labelForKey: [self language]]; } -NSComparisonResult languageSort(id el1, id el2, void *context) -{ - NSString *t1, *t2; - - t1 = [context labelForKey: el1]; - t2 = [context labelForKey: el2]; - - return [t1 compare: t2 options: NSCaseInsensitiveSearch]; -} - (NSArray *) languages { diff --git a/UI/PreferencesUI/UIxPreferences.m b/UI/PreferencesUI/UIxPreferences.m index baf3e3be2..59e3c3e6f 100644 --- a/UI/PreferencesUI/UIxPreferences.m +++ b/UI/PreferencesUI/UIxPreferences.m @@ -1129,12 +1129,13 @@ static NSArray *reminderValues = nil; userCanChangePassword]; } + // // Used by wox template // - (NSArray *) languages { - return [[SOGoSystemDefaults sharedSystemDefaults] supportedLanguages]; + return [[[SOGoSystemDefaults sharedSystemDefaults] supportedLanguages] sortedArrayUsingFunction: languageSort context: self]; } //