private void ImageServiceCombo_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.Visible)
{
var imageService = this.SelectedService;
if (imageService != null)
{
this.UpdateAltTextPanelVisible();
if (ImagePageCombo.Items.Count > 0)
{
// 画像が選択された投稿先に対応しているかをチェックする
// TODO: 複数の選択済み画像があるなら、できれば全てを再チェックしたほうがいい
if (this.ServiceName == "Twitter")
{
ValidateSelectedImagePage();
}
else
{
if (ImagePageCombo.Items.Count > 1)
{
// 複数の選択済み画像のうち、1枚目のみを残す
SetImagePageCombo((SelectedMedia)ImagePageCombo.Items[0]);
}
else
{
ImagePageCombo.Enabled = false;
var valid = false;
try
{
var item = ((SelectedMedia)ImagePageCombo.Items[0]).Item;
if (item != null)
{
var ext = item.Extension;
if (imageService.CheckFileExtension(ext) &&
imageService.CheckFileSize(ext, item.Size))
{
valid = true;
}
}
}
catch
{
}
finally
{
if (!valid)
{
ClearImageSelectedPicture();
ClearSelectedImagePage();
}
}
}
}
}
}
}
this.SelectedServiceChanged?.Invoke(this, EventArgs.Empty);
}