예제 #1
0
        /// <summary>
        /// Предоставляет размер в единицах, зависящих от размера
        /// </summary>
        /// <param name="bytes"></param>
        /// <returns></returns>
        public static string GetSizeInStr(long bytes)
        {
            const int scale = 1024;

            //string[] orders = new string[] { Properties.Resources.GB,
            //    Properties.Resources.MB, Properties.Resources.KB,
            //    Properties.Resources.Bytes };

            OneLanguage lang = LanguagesManager.GetCurrLanguage();

            string[] orders = new string[] { lang.SFISGB,
                                             lang.SFISMB, lang.SFISKB, lang.SFISBytes };

            //OneLanguage lang = new OneLanguage();
            //lang.ResourceDictionary = new System.Windows.ResourceDictionary();
            //lang.ResourceDictionary.Source = new Uri("\\Languages\\en.xaml", UriKind.Relative);

            //string[] orders = new string[] { lang.SFISGB,
            //    lang.SFISMB, lang.SFISKB, lang.SFISBytes };

            long max = (long)Math.Pow(scale, orders.Length - 1);

            foreach (string order in orders)
            {
                if (bytes > max)
                {
                    return(string.Format("{0:##.##} {1}", decimal.Divide(bytes, max), order));
                }

                max /= scale;
            }
            return("0 " + lang.SFISBytes);
            //return "0 " + Properties.Resources.Bytes;
        }
예제 #2
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //LanguagesManager lm = new LanguagesManager();
            if (languages == null)
            {
                languages = languagesManager.GetAllOneLanguages();
            }

            OneLanguage lang = languagesManager.CurrLanguage;

            if (lang.Name == languages[currLangNum].Name)
            {
                currLangNum++;
            }

            languagesManager.ChangeOneLanguage(languages[currLangNum]);
            currLangNum++;

            if (currLangNum >= languages.Count)
            {
                currLangNum = 0;
            }

            //this.Content = Properties.Settings.Default.CurrLang;
        }
예제 #3
0
        private void sp_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            StackPanel sp = (StackPanel)sender;

            if (sp.Tag != null)
            {
                OneLanguage lang = (OneLanguage)sp.Tag;

                //LanguagesManager lm = new LanguagesManager();
                languagesManager.ChangeOneLanguage(lang);
            }
            else
            {
                Properties.Settings.Default.LanguageSelectorVisible = false;
            }
        }
예제 #4
0
        public static StackPanel GetSizeInStrWPF(long bytes)
        {
            StackPanel sp = new StackPanel();

            sp.Orientation = Orientation.Horizontal;
            TextBlock tbSize = new TextBlock();
            TextBlock tbAttr = new TextBlock();

            tbAttr.Margin = new System.Windows.Thickness(5, 0, 0, 0);
            sp.Children.Add(tbSize);
            sp.Children.Add(tbAttr);

            const int scale = 1024;

            OneLanguage lang = LanguagesManager.GetCurrLanguage();

            string[] orders = new string[] { "SFISGB",
                                             "SFISMB", "SFISKB", "SFISBytes" };


            long max = (long)Math.Pow(scale, orders.Length - 1);

            foreach (string order in orders)
            {
                if (bytes > max)
                {
                    tbSize.Text = string.Format("{0:##.##}", decimal.Divide(bytes, max));
                    //tbAttr.Text = order;

                    tbAttr.SetResourceReference(TextBlock.TextProperty, order);

                    return(sp);
                }


                max /= scale;
            }
            tbSize.Text = "0";
            tbAttr.SetResourceReference(TextBlock.TextProperty, "SFISBytes");
            //tbAttr.Text = lang.SFISBytes;


            return(sp);

            //return "0 " + lang.SFISBytes;
        }
예제 #5
0
 private void languagesManager_ChangeLanguage(OneLanguage newLang)
 {
     //this.Content = newLang.Name;
     //this.tbData.Text = newLang.Name;
 }
예제 #6
0
        /// <summary>
        /// Получаем или задаём язык приложения
        /// </summary>
        /// <param name="lang"></param>
        private void ChangeLanguage(OneLanguage lang)
        {
            LanguagesManager lm = new LanguagesManager();

            lm.ChangeOneLanguage(lang);
        }