mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Optimize combobox initialization a little
This commit is contained in:
parent
c8bff243ac
commit
4b13d5d18e
@ -628,7 +628,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
toolStripComboBoxWaveform.Items.Clear();
|
||||
for (double zoomCounter = AudioVisualizer.ZoomMinimum; zoomCounter <= AudioVisualizer.ZoomMaximum + (0.001); zoomCounter += 0.1)
|
||||
{
|
||||
int percent = (int)Math.Round((zoomCounter * 100));
|
||||
int percent = (int)Math.Round(zoomCounter * 100);
|
||||
var item = new ComboBoxZoomItem { Text = percent + "%", ZoomFactor = zoomCounter };
|
||||
toolStripComboBoxWaveform.Items.Add(item);
|
||||
if (percent == 100)
|
||||
@ -3404,6 +3404,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
private void UpdateRecentFilesUI()
|
||||
{
|
||||
var dropDownItems = new List<ToolStripMenuItem>();
|
||||
reopenToolStripMenuItem.DropDownItems.Clear();
|
||||
if (Configuration.Settings.General.ShowRecentFiles && Configuration.Settings.RecentFiles.Files.Count > 0)
|
||||
{
|
||||
@ -3414,15 +3415,16 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
if (!string.IsNullOrEmpty(file.OriginalFileName) && File.Exists(file.OriginalFileName))
|
||||
{
|
||||
reopenToolStripMenuItem.DropDownItems.Add(file.FileName + " + " + file.OriginalFileName, null, ReopenSubtitleToolStripMenuItemClick);
|
||||
dropDownItems.Add(new ToolStripMenuItem(file.FileName + " + " + file.OriginalFileName, null, ReopenSubtitleToolStripMenuItemClick));
|
||||
}
|
||||
else
|
||||
{
|
||||
reopenToolStripMenuItem.DropDownItems.Add(file.FileName, null, ReopenSubtitleToolStripMenuItemClick);
|
||||
dropDownItems.Add(new ToolStripMenuItem(file.FileName, null, ReopenSubtitleToolStripMenuItemClick));
|
||||
}
|
||||
UiUtil.FixFonts(reopenToolStripMenuItem.DropDownItems[reopenToolStripMenuItem.DropDownItems.Count - 1]);
|
||||
UiUtil.FixFonts(dropDownItems[dropDownItems.Count - 1]);
|
||||
}
|
||||
}
|
||||
reopenToolStripMenuItem.DropDownItems.AddRange(dropDownItems.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -668,7 +668,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
|
||||
public static void InitializeSubtitleFormatComboBox(ComboBox comboBox, SubtitleFormat format)
|
||||
{
|
||||
InitializeSubtitleFormatComboBox(comboBox, new[] { format.FriendlyName }, format.FriendlyName);
|
||||
InitializeSubtitleFormatComboBox(comboBox, new List<string> { format.FriendlyName }, format.FriendlyName);
|
||||
}
|
||||
|
||||
public static void InitializeSubtitleFormatComboBox(ToolStripComboBox comboBox, string selectedName)
|
||||
@ -680,32 +680,37 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
public static void InitializeSubtitleFormatComboBox(ComboBox comboBox, string selectedName)
|
||||
{
|
||||
var formatNames = SubtitleFormat.AllSubtitleFormats.Where(format => !format.IsVobSubIndexFile).Select(format => format.FriendlyName);
|
||||
InitializeSubtitleFormatComboBox(comboBox, formatNames, selectedName);
|
||||
InitializeSubtitleFormatComboBox(comboBox, formatNames.ToList(), selectedName);
|
||||
}
|
||||
|
||||
public static void InitializeSubtitleFormatComboBox(ComboBox comboBox, IEnumerable<string> formatNames, string selectedName)
|
||||
public static void InitializeSubtitleFormatComboBox(ComboBox comboBox, List<string> formatNames, string selectedName)
|
||||
{
|
||||
var selectedIndex = 0;
|
||||
comboBox.BeginUpdate();
|
||||
comboBox.Items.Clear();
|
||||
using (var graphics = comboBox.CreateGraphics())
|
||||
{
|
||||
var maxWidth = 0.0F;
|
||||
foreach (var name in formatNames)
|
||||
var maxWidth = (float)comboBox.DropDownWidth;
|
||||
var max = formatNames.Count;
|
||||
for (var index = 0; index < max; index++)
|
||||
{
|
||||
var index = comboBox.Items.Add(name);
|
||||
var name = formatNames[index];
|
||||
if (name.Equals(selectedName, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
selectedIndex = index;
|
||||
}
|
||||
var width = graphics.MeasureString(name, comboBox.Font).Width;
|
||||
if (width > maxWidth)
|
||||
if (name.Length > 30)
|
||||
{
|
||||
maxWidth = width;
|
||||
var width = graphics.MeasureString(name, comboBox.Font).Width;
|
||||
if (width > maxWidth)
|
||||
{
|
||||
maxWidth = width;
|
||||
}
|
||||
}
|
||||
}
|
||||
comboBox.DropDownWidth = (int)Math.Round(maxWidth + 7.5);
|
||||
}
|
||||
comboBox.BeginUpdate();
|
||||
comboBox.Items.Clear();
|
||||
comboBox.Items.AddRange(formatNames.ToArray<object>());
|
||||
comboBox.SelectedIndex = selectedIndex;
|
||||
comboBox.EndUpdate();
|
||||
}
|
||||
@ -716,6 +721,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
var selectedItem = (TextEncoding)null;
|
||||
comboBox.BeginUpdate();
|
||||
comboBox.Items.Clear();
|
||||
var encList = new List<TextEncoding>();
|
||||
using (var graphics = comboBox.CreateGraphics())
|
||||
{
|
||||
var maxWidth = 0.0F;
|
||||
@ -736,14 +742,14 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
if (encoding.CodePage.Equals(Encoding.UTF8.CodePage))
|
||||
{
|
||||
item = new TextEncoding(Encoding.UTF8, TextEncoding.Utf8WithBom);
|
||||
comboBox.Items.Insert(TextEncoding.Utf8WithBomIndex, item);
|
||||
encList.Insert(TextEncoding.Utf8WithBomIndex, item);
|
||||
if (item.Equals(defaultEncoding))
|
||||
{
|
||||
selectedItem = item;
|
||||
}
|
||||
|
||||
item = new TextEncoding(Encoding.UTF8, TextEncoding.Utf8WithoutBom);
|
||||
comboBox.Items.Insert(TextEncoding.Utf8WithoutBomIndex, item);
|
||||
encList.Insert(TextEncoding.Utf8WithBomIndex, item);
|
||||
if (item.Equals(defaultEncoding))
|
||||
{
|
||||
selectedItem = item;
|
||||
@ -751,12 +757,13 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
}
|
||||
else
|
||||
{
|
||||
comboBox.Items.Add(item);
|
||||
encList.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
comboBox.DropDownWidth = (int)Math.Round(maxWidth + 7.5);
|
||||
}
|
||||
comboBox.Items.AddRange(encList.ToArray<object>());
|
||||
if (selectedItem == null)
|
||||
{
|
||||
comboBox.SelectedIndex = TextEncoding.Utf8WithBomIndex; // UTF-8 if DefaultEncoding is not found
|
||||
|
Loading…
Reference in New Issue
Block a user