Changeset 1794


Ignore:
Timestamp:
2/10/2010 7:11:27 AM (4 years ago)
Author:
lowjoel
Message:

Removed the Language and LanguageManager? classes since the former is just CultureInfo?, and the latter should really be in the "S" class. Addresses #276: Implement Eraser Registrar Interface

Location:
branches/eraser6/CodeReview
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj

    r1792 r1794  
    7171    <Compile Include="FileSystem.cs" /> 
    7272    <Compile Include="IRegistrar.cs" /> 
    73     <Compile Include="Language.cs" /> 
    7473    <Compile Include="ManagerLibrary.cs" /> 
    7574    <Compile Include="Method.cs" /> 
  • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs

    r1789 r1794  
    167167                Path.Combine(Path.GetDirectoryName(assembly.Location), culture.Name), //Directory 
    168168                Path.GetFileNameWithoutExtension(assembly.Location) + ".resources.dll")); 
     169        } 
     170 
     171        /// <summary> 
     172        /// Retrieves all present language plugins 
     173        /// </summary> 
     174        /// <returns>A list, with an instance of each Language class</returns> 
     175        public static IList<CultureInfo> Localisations 
     176        { 
     177            get 
     178            { 
     179                List<CultureInfo> result = new List<CultureInfo>(); 
     180                Assembly assembly = Assembly.GetEntryAssembly(); 
     181                foreach (CultureInfo info in CultureInfo.GetCultures(CultureTypes.AllCultures)) 
     182                { 
     183                    if (string.IsNullOrEmpty(info.Name)) 
     184                        continue; 
     185                    else if (LocalisationExists(info, assembly)) 
     186                        result.Add(info); 
     187                } 
     188 
     189                //Last resort 
     190                if (result.Count == 0) 
     191                    result.Add(CultureInfo.GetCultureInfo("EN")); 
     192                return result.AsReadOnly(); 
     193            } 
    169194        } 
    170195 
  • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs

    r1793 r1794  
    125125 
    126126            //Refresh the list of languages 
    127             IList<Language> languages = LanguageManager.Items; 
    128             foreach (Language culture in languages) 
     127            IList<CultureInfo> languages = S.Localisations; 
     128            foreach (CultureInfo culture in languages) 
    129129                uiLanguage.Items.Add(culture); 
    130130 
     
    145145        { 
    146146            EraserSettings settings = EraserSettings.Get(); 
    147             foreach (Object lang in uiLanguage.Items) 
    148                 if (((Language)lang).Name == settings.Language) 
     147            foreach (CultureInfo lang in uiLanguage.Items) 
     148                if (lang.Name == settings.Language) 
    149149                { 
    150150                    uiLanguage.SelectedItem = lang; 
     
    152152                } 
    153153 
    154             foreach (Object method in eraseFilesMethod.Items) 
    155                 if (((ErasureMethod)method).Guid == ManagerLibrary.Settings.DefaultFileErasureMethod) 
     154            foreach (ErasureMethod method in eraseFilesMethod.Items) 
     155                if (method.Guid == ManagerLibrary.Settings.DefaultFileErasureMethod) 
    156156                { 
    157157                    eraseFilesMethod.SelectedItem = method; 
     
    159159                } 
    160160 
    161             foreach (Object method in eraseUnusedMethod.Items) 
    162                 if (((ErasureMethod)method).Guid == ManagerLibrary.Settings.DefaultUnusedSpaceErasureMethod) 
     161            foreach (ErasureMethod method in eraseUnusedMethod.Items) 
     162                if (method.Guid == ManagerLibrary.Settings.DefaultUnusedSpaceErasureMethod) 
    163163                { 
    164164                    eraseUnusedMethod.SelectedItem = method; 
     
    166166                } 
    167167 
    168             foreach (Object prng in erasePRNG.Items) 
    169                 if (((Prng)prng).Guid == ManagerLibrary.Settings.ActivePrng) 
     168            foreach (Prng prng in erasePRNG.Items) 
     169                if (prng.Guid == ManagerLibrary.Settings.ActivePrng) 
    170170                { 
    171171                    erasePRNG.SelectedItem = prng; 
     
    193193            if (uiLanguage.SelectedIndex == -1) 
    194194            { 
    195                 foreach (Object lang in uiLanguage.Items) 
    196                     if (((Language)lang).Name == "en") 
     195                foreach (CultureInfo lang in uiLanguage.Items) 
     196                    if (lang.Name == "en") 
    197197                    { 
    198198                        uiLanguage.SelectedItem = lang; 
     
    405405            } 
    406406 
    407             if (CultureInfo.CurrentUICulture.Name != ((Language)uiLanguage.SelectedItem).Name) 
    408             { 
    409                 settings.Language = ((Language)uiLanguage.SelectedItem).Name; 
     407            if (CultureInfo.CurrentUICulture.Name != ((CultureInfo)uiLanguage.SelectedItem).Name) 
     408            { 
     409                settings.Language = ((CultureInfo)uiLanguage.SelectedItem).Name; 
    410410                MessageBox.Show(this, S._("The new UI language will take only effect when " + 
    411411                    "Eraser is restarted."), S._("Eraser"), MessageBoxButtons.OK, 
Note: See TracChangeset for help on using the changeset viewer.