OSDN Git Service

画像投稿画面で複数の画像を選択できるようにした
authorspx <spx268@gmail.com>
Wed, 28 May 2014 14:00:12 +0000 (23:00 +0900)
committerspx <spx268@gmail.com>
Wed, 28 May 2014 14:00:12 +0000 (23:00 +0900)
UIのみで、実際の投稿には非対応
投稿サービスが Twitter の場合のみ、4枚まで選択可能

OpenTween/Properties/Resources.Designer.cs
OpenTween/Properties/Resources.en.resx
OpenTween/Properties/Resources.resx
OpenTween/Properties/Resources.zh-CHS.resx
OpenTween/Tween.Designer.cs
OpenTween/Tween.cs
OpenTween/Tween.en.resx
OpenTween/Tween.resx
OpenTween/Tween.zh-CHS.resx

index 017089f..686cd3a 100644 (file)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
 //     このコードはツールによって生成されました。
-//     ランタイム バージョン:4.0.30319.18444
+//     ランタイム バージョン:4.0.30319.34209
 //
 //     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
 //     コードが再生成されるときに損失したりします。
@@ -1812,7 +1812,7 @@ namespace OpenTween.Properties {
         
         /// <summary>
         ///   [投稿先: {0}]
-        ///画像を投稿します。よろしいですか? に類似しているローカライズされた文字列を検索します。
+        ///{1} 枚の画像を投稿します。よろしいですか? に類似しているローカライズされた文字列を検索します。
         /// </summary>
         internal static string PostPictureConfirm1 {
             get {
index a483ced..670241a 100644 (file)
   </data>
   <data name="PostPictureConfirm1" xml:space="preserve">
     <value>[Service: {0}]
-Do you want to upload the selected media file?</value>
+Do you want to upload the {1} selected media file(s)?</value>
   </data>
   <data name="PostPictureConfirm2" xml:space="preserve">
     <value>Confirm to upload</value>
index 27717bb..2871a8d 100644 (file)
   </data>
   <data name="PostPictureConfirm1" xml:space="preserve">
     <value>[投稿先: {0}]
-画像を投稿します。よろしいですか?</value>
+{1} 枚の画像を投稿します。よろしいですか?</value>
   </data>
   <data name="PostPictureConfirm2" xml:space="preserve">
     <value>画像投稿確認</value>
index ee660c2..18577c7 100644 (file)
   </data>
   <data name="PostPictureConfirm1" xml:space="preserve">
     <value>[Service: {0}]
-选择的图片将被上传。继续吗?</value>
+Do you want to upload the {1} selected media file(s)?</value>
   </data>
   <data name="PostPictureConfirm2" xml:space="preserve">
     <value>上传图片确认</value>
index 273dd72..297f1c8 100644 (file)
             this.ImageSelectedPicture = new OpenTween.OTPictureBox();
             this.ImagePathPanel = new System.Windows.Forms.Panel();
             this.ImagefilePathText = new System.Windows.Forms.TextBox();
+            this.ImagePageCombo = new System.Windows.Forms.ComboBox();
             this.FilePickButton = new System.Windows.Forms.Button();
             this.Label2 = new System.Windows.Forms.Label();
             this.ImageServiceCombo = new System.Windows.Forms.ComboBox();
             this.ImageCancelButton = new System.Windows.Forms.Button();
-            this.Label1 = new System.Windows.Forms.Label();
             this.ProfilePanel = new System.Windows.Forms.Panel();
             this.SplitContainer3 = new System.Windows.Forms.SplitContainer();
             this.SplitContainer2 = new System.Windows.Forms.SplitContainer();
             // 
             resources.ApplyResources(this.ImagePathPanel, "ImagePathPanel");
             this.ImagePathPanel.Controls.Add(this.ImagefilePathText);
+            this.ImagePathPanel.Controls.Add(this.ImagePageCombo);
             this.ImagePathPanel.Controls.Add(this.FilePickButton);
             this.ImagePathPanel.Controls.Add(this.Label2);
             this.ImagePathPanel.Controls.Add(this.ImageServiceCombo);
             this.ImagePathPanel.Controls.Add(this.ImageCancelButton);
-            this.ImagePathPanel.Controls.Add(this.Label1);
             this.ImagePathPanel.Name = "ImagePathPanel";
             this.ToolTip1.SetToolTip(this.ImagePathPanel, resources.GetString("ImagePathPanel.ToolTip"));
             // 
             this.ImagefilePathText.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.ImageSelection_PreviewKeyDown);
             this.ImagefilePathText.Validating += new System.ComponentModel.CancelEventHandler(this.ImagefilePathText_Validating);
             // 
+            // ImagePageCombo
+            // 
+            resources.ApplyResources(this.ImagePageCombo, "ImagePageCombo");
+            this.ImagePageCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.ImagePageCombo.FormattingEnabled = true;
+            this.ImagePageCombo.Name = "ImagePageCombo";
+            this.ImagePageCombo.SelectedIndexChanged += new System.EventHandler(this.ImagePageCombo_SelectedIndexChanged);
+            this.ImagePageCombo.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ImageSelection_KeyDown);
+            this.ImagePageCombo.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.ImageSelection_KeyPress);
+            this.ImagePageCombo.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.ImageSelection_PreviewKeyDown);
+            // 
             // FilePickButton
             // 
             resources.ApplyResources(this.FilePickButton, "FilePickButton");
             this.ImageCancelButton.UseVisualStyleBackColor = true;
             this.ImageCancelButton.Click += new System.EventHandler(this.ImageCancelButton_Click);
             // 
-            // Label1
-            // 
-            resources.ApplyResources(this.Label1, "Label1");
-            this.Label1.Name = "Label1";
-            this.ToolTip1.SetToolTip(this.Label1, resources.GetString("Label1.ToolTip"));
-            // 
             // ProfilePanel
             // 
             resources.ApplyResources(this.ProfilePanel, "ProfilePanel");
         internal OTPictureBox ImageSelectedPicture;
         internal System.Windows.Forms.Panel ImagePathPanel;
         internal System.Windows.Forms.TextBox ImagefilePathText;
+        internal System.Windows.Forms.ComboBox ImagePageCombo;
         internal System.Windows.Forms.Button FilePickButton;
         internal System.Windows.Forms.Label Label2;
         internal System.Windows.Forms.ComboBox ImageServiceCombo;
         internal System.Windows.Forms.Button ImageCancelButton;
-        internal System.Windows.Forms.Label Label1;
         internal System.Windows.Forms.Panel ProfilePanel;
         internal System.Windows.Forms.SplitContainer SplitContainer3;
         internal System.Windows.Forms.SplitContainer SplitContainer2;
index 2467f9f..1ea2672 100644 (file)
@@ -1018,7 +1018,7 @@ namespace OpenTween
             //画像投稿サービス
             this.CreatePictureServices();
             SetImageServiceCombo();
-            ImageSelectionPanel.Enabled = false;
+            SetImagePageCombo();
 
             SelectImageServiceComboItem(_cfgCommon.UseImageServiceName, _cfgCommon.UseImageService);
 
@@ -2296,8 +2296,12 @@ namespace OpenTween
             if (ImageSelectionPanel.Visible)
             {
                 //画像投稿
-                if (!TryGetSelectedMedia(out args.status.imageService, out args.status.imagePath))
+                string[] imagePaths;
+                if (!TryGetSelectedMedia(out args.status.imageService, out imagePaths))
                     return;
+
+                // TODO: 複数画像投稿への対応
+                args.status.imagePath = imagePaths[0];
             }
 
             RunAsync(args);
@@ -5040,7 +5044,7 @@ namespace OpenTween
                 //    pLen += m.Result("${url}").Length - SettingDialog.TwitterConfiguration.ShortUrlLength;
                 //}
             }
-            if (ImageSelectionPanel.Visible && ImageSelectedPicture.Tag != null && !string.IsNullOrEmpty(this.ImageService))
+            if (ImageSelectionPanel.Visible && !string.IsNullOrEmpty(this.ImageService))
             {
                 pLen -= SettingDialog.TwitterConfiguration.CharactersReservedPerMedia;
             }
@@ -12315,6 +12319,7 @@ namespace OpenTween
             this._apiGauge.BorderSides = ToolStripStatusLabelBorderSides.Right;
             this.StatusStrip1.Items.Insert(2, this._apiGauge);
 
+            ImageSelectionPanel.Enabled = false;
             this.ImageSelectedPicture.InitialImage = Properties.Resources.InitialImage;
 
             this.ReplaceAppName();
@@ -12385,6 +12390,35 @@ namespace OpenTween
             };
         }
 
+        private class SelectedMedia
+        {
+            public string Path { get; set; }
+            public MyCommon.UploadFileType Type { get; set; }
+            public string Text { get; set; }
+
+            public SelectedMedia(string path, MyCommon.UploadFileType type, string text)
+            {
+                this.Path = path;
+                this.Type = type;
+                this.Text = text;
+            }
+
+            public SelectedMedia(string text)
+                : this("", MyCommon.UploadFileType.Invalid, text)
+            {
+            }
+
+            public bool IsValid
+            {
+                get { return this.Type != MyCommon.UploadFileType.Invalid; }
+            }
+
+            public override string ToString()
+            {
+                return this.Text;
+            }
+        }
+
         private void ImageSelectMenuItem_Click(object sender, EventArgs e)
         {
             if (ImageSelectionPanel.Visible)
@@ -12451,6 +12485,11 @@ namespace OpenTween
 
         private void SelectMedia_DragDrop(DragEventArgs e)
         {
+            if (!ImageSelectionPanel.Visible)
+            {
+                // 画像選択パネル非表示時のドロップは新規選択として扱う
+                SetImagePageCombo();
+            }
             this.Activate();
             this.BringToFront();
             OpenImageSelectionPanel();
@@ -12498,24 +12537,25 @@ namespace OpenTween
             try
             {
                 ImagefilePathText.Text = ImagefilePathText.Text.Trim();
-                if (string.IsNullOrEmpty(ImagefilePathText.Text) || string.IsNullOrEmpty(this.ImageService))
+                var serviceName = this.ImageService;
+                if (string.IsNullOrEmpty(ImagefilePathText.Text) || string.IsNullOrEmpty(serviceName))
                 {
-                    ImagefilePathText.Text = "";
+                    ClearSelectedImagePage();
                     return;
                 }
 
                 FileInfo fl = new FileInfo(ImagefilePathText.Text);
                 string ext = fl.Extension;
-                var imageService = this.pictureService[this.ImageService];
+                var imageService = this.pictureService[serviceName];
 
                 if (!imageService.CheckValidExtension(ext))
                 {
                     //画像以外の形式
-                    ImagefilePathText.Text = "";
+                    ClearSelectedImagePage();
                     if (!suppressMsgBox)
                     {
                         MessageBox.Show(
-                            string.Format(Properties.Resources.PostPictureWarn3, this.ImageService, MakeAvailableServiceText(ext, fl.Length), ext),
+                            string.Format(Properties.Resources.PostPictureWarn3, serviceName, MakeAvailableServiceText(ext, fl.Length), ext),
                             Properties.Resources.PostPictureWarn4,
                             MessageBoxButtons.OK,
                             MessageBoxIcon.Warning);
@@ -12526,11 +12566,11 @@ namespace OpenTween
                 if (!imageService.CheckValidFilesize(ext, fl.Length))
                 {
                     // ファイルサイズが大きすぎる
-                    ImagefilePathText.Text = "";
+                    ClearSelectedImagePage();
                     if (!suppressMsgBox)
                     {
                         MessageBox.Show(
-                            string.Format(Properties.Resources.PostPictureWarn5, this.ImageService, MakeAvailableServiceText(ext, fl.Length)),
+                            string.Format(Properties.Resources.PostPictureWarn5, serviceName, MakeAvailableServiceText(ext, fl.Length)),
                             Properties.Resources.PostPictureWarn4,
                             MessageBoxButtons.OK,
                             MessageBoxIcon.Warning);
@@ -12545,24 +12585,24 @@ namespace OpenTween
                         {
                             ImageSelectedPicture.Image = MemoryImage.CopyFromStream(fs);
                         }
-                        ImageSelectedPicture.Tag = MyCommon.UploadFileType.Picture;
+                        SetSelectedImagePage(ImagefilePathText.Text, MyCommon.UploadFileType.Picture);
                         break;
                     case MyCommon.UploadFileType.MultiMedia:
-                        ImageSelectedPicture.Tag = MyCommon.UploadFileType.MultiMedia;
+                        SetSelectedImagePage(ImagefilePathText.Text, MyCommon.UploadFileType.MultiMedia);
                         break;
                     default:
-                        ImagefilePathText.Text = "";
+                        ClearSelectedImagePage();
                         break;
                 }
             }
             catch (FileNotFoundException)
             {
-                ImagefilePathText.Text = "";
+                ClearSelectedImagePage();
                 if (!suppressMsgBox) MessageBox.Show("File not found.");
             }
             catch (Exception)
             {
-                ImagefilePathText.Text = "";
+                ClearSelectedImagePage();
                 if (!suppressMsgBox) MessageBox.Show("The type of this file is not image.");
             }
         }
@@ -12595,7 +12635,6 @@ namespace OpenTween
                 oldImage.Dispose();
             }
 
-            this.ImageSelectedPicture.Tag = null;
             this.ImageSelectedPicture.ShowInitialImage();
         }
 
@@ -12629,23 +12668,26 @@ namespace OpenTween
             }
         }
 
-        private bool TryGetSelectedMedia(out string imageService, out string imagePath)
+        private bool TryGetSelectedMedia(out string imageService, out string[] imagePath)
         {
-            if (ImageSelectedPicture.Tag != null &&
-                ImageServiceCombo.SelectedIndex > -1 &&
-                !string.IsNullOrEmpty(ImagefilePathText.Text))
+            var validPaths = ImagePageCombo.Items.Cast<SelectedMedia>()
+                             .Where(x => x.IsValid).Select(x => x.Path).ToArray();
+
+            if (validPaths.Length > 0 &&
+                ImageServiceCombo.SelectedIndex > -1)
             {
-                if (MessageBox.Show(string.Format(Properties.Resources.PostPictureConfirm1, this.ImageService),
+                var serviceName = this.ImageService;
+                if (MessageBox.Show(string.Format(Properties.Resources.PostPictureConfirm1, serviceName, validPaths.Length),
                                    Properties.Resources.PostPictureConfirm2,
                                    MessageBoxButtons.OKCancel,
                                    MessageBoxIcon.Question,
                                    MessageBoxDefaultButton.Button1)
                                == DialogResult.OK)
                 {
-                    imageService = ImageServiceCombo.Text;
-                    imagePath = ImagefilePathText.Text;
+                    imageService = serviceName;
+                    imagePath = validPaths;
                     CloseImageSelectionPanel();
-                    ImagefilePathText.Text = "";
+                    SetImagePageCombo();
                     return true;
                 }
             }
@@ -12662,17 +12704,20 @@ namespace OpenTween
 
         private void SetImageServiceCombo()
         {
-            string svc = "";
-            if (ImageServiceCombo.SelectedIndex > -1) svc = ImageServiceCombo.SelectedItem.ToString();
-            ImageServiceCombo.Items.Clear();
-            
-            // Add service names to combobox
-            foreach (var key in pictureService.Keys)
+            using (ControlTransaction.Update(ImageServiceCombo))
             {
-                ImageServiceCombo.Items.Add(key);
-            }
+                string svc = "";
+                if (ImageServiceCombo.SelectedIndex > -1) svc = ImageServiceCombo.SelectedItem.ToString();
+                ImageServiceCombo.Items.Clear();
 
-            SelectImageServiceComboItem(svc);
+                // Add service names to combobox
+                foreach (var key in pictureService.Keys)
+                {
+                    ImageServiceCombo.Items.Add(key);
+                }
+
+                SelectImageServiceComboItem(svc);
+            }
         }
 
         private void SelectImageServiceComboItem(string svc, int? index = null)
@@ -12705,33 +12750,128 @@ namespace OpenTween
 
         private void ImageServiceCombo_SelectedIndexChanged(object sender, EventArgs e)
         {
-            if (ImageSelectedPicture.Tag != null && !string.IsNullOrEmpty(this.ImageService))
+            if (ImageSelectionPanel.Visible)
             {
-                try
+                var serviceName = this.ImageService;
+                if (!string.IsNullOrEmpty(serviceName))
                 {
-                    FileInfo fi = new FileInfo(ImagefilePathText.Text.Trim());
-                    string ext = fi.Extension;
-                    var imageService = this.pictureService[this.ImageService];
-                    if (!imageService.CheckValidFilesize(ext, fi.Length))
+                    // 画像が選択された投稿先に対応しているかをチェックする
+                    // TODO: 複数の選択済み画像があるなら、できれば全てを再チェックしたほうがいい
+                    var isTwitter = serviceName.Equals("Twitter");
+                    var invalidate = true;
+
+                    if (ImagePageCombo.Items.Count == 0)
+                        SetImagePageCombo();
+
+                    if (isTwitter)
+                    {
+                        ValidateSelectedImagePage();
+                        invalidate = false;
+                    }
+                    else
                     {
-                        ClearImageSelectedPicture();
-                        ImagefilePathText.Text = "";
+                        if (ImagePageCombo.Items.Count > 1)
+                            SetImagePageCombo((SelectedMedia)ImagePageCombo.Items[0]);
+                        else
+                            ImagePageCombo.Enabled = false;
                     }
+
+                    if (invalidate)
+                    {
+                        try
+                        {
+                            FileInfo fi = new FileInfo(ImagefilePathText.Text.Trim());
+                            string ext = fi.Extension;
+                            var imageService = this.pictureService[serviceName];
+                            if (!imageService.CheckValidFilesize(ext, fi.Length))
+                            {
+                                ClearImageSelectedPicture();
+                                ClearSelectedImagePage();
+                            }
+                        }
+                        catch (Exception)
+                        {
+                            ClearImageSelectedPicture();
+                            ClearSelectedImagePage();
+                        }
+                    }
+
+                    _modifySettingCommon = true;
+                    SaveConfigsAll(true);
+
+                    if (isTwitter)
+                        this.StatusText_TextChanged(null, null);
                 }
-                catch (Exception)
+            }
+        }
+
+        private void SetImagePageCombo(SelectedMedia media = null)
+        {
+            using (ControlTransaction.Update(ImagePageCombo))
+            {
+                ImagePageCombo.Enabled = false;
+                ImagePageCombo.Items.Clear();
+                if (media != null)
+                {
+                    ImagePageCombo.Items.Add(media);
+                    ImagefilePathText.Text = media.Path;
+                }
+                else
                 {
-                    ClearImageSelectedPicture();
+                    ImagePageCombo.Items.Add(new SelectedMedia("1"));
                     ImagefilePathText.Text = "";
                 }
-                _modifySettingCommon = true;
-                SaveConfigsAll(true);
-                if (this.ImageService == "Twitter")
+                ImagePageCombo.SelectedIndex = 0;
+            }
+        }
+
+        private void AddNewImagePage(int selectedIndex)
+        {
+            if (this.ImageService.Equals("Twitter") && selectedIndex < 3)
+            {
+                // 投稿先が Twitter であれば、最大 4 枚まで選択できるようにする
+                var count = ImagePageCombo.Items.Count;
+                if (selectedIndex == count - 1)
                 {
-                    this.StatusText_TextChanged(null, null);
+                    count++;
+                    ImagePageCombo.Items.Add(new SelectedMedia(count.ToString()));
+                    ImagePageCombo.Enabled = true;
                 }
             }
         }
 
+        private void SetSelectedImagePage(string path, MyCommon.UploadFileType type)
+        {
+            var idx = ImagePageCombo.SelectedIndex;
+            var item = (SelectedMedia)ImagePageCombo.Items[idx];
+            item.Path = path;
+            item.Type = type;
+
+            AddNewImagePage(idx);
+        }
+
+        private void ClearSelectedImagePage()
+        {
+            var item = (SelectedMedia)ImagePageCombo.SelectedItem;
+            item.Path = "";
+            item.Type = MyCommon.UploadFileType.Invalid;
+            ImagefilePathText.Text = "";
+        }
+
+        private void ValidateSelectedImagePage()
+        {
+            var idx = ImagePageCombo.SelectedIndex;
+            var item = (SelectedMedia)ImagePageCombo.Items[idx];
+            ImageServiceCombo.Enabled = (idx == 0);  // idx == 0 以外では投稿先サービスを選べないようにする
+            ImagefilePathText.Text = item.Path;
+            ImageFromSelectedFile(true);
+        }
+
+        private void ImagePageCombo_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            ValidateSelectedImagePage();
+        }
+
         private void ImageSelectionPanel_VisibleChanged(object sender, EventArgs e)
         {
             this.StatusText_TextChanged(null, null);
index fe7251a..97735ef 100644 (file)
   <data name="ImageCancelButton.ToolTip" xml:space="preserve">
     <value />
   </data>
-  <data name="Label1.Text" xml:space="preserve">
-    <value>FilePath</value>
-  </data>
-  <data name="Label1.ToolTip" xml:space="preserve">
-    <value />
-  </data>
   <data name="ImagePathPanel.Location" type="System.Drawing.Point, System.Drawing">
     <value>0, 114</value>
   </data>
index 0d6a895..8a81d32 100644 (file)
   <data name="ShowUserStatusContextMenuItem.Text" xml:space="preserve">
     <value>プロフィール表示(&amp;P)</value>
   </data>
-  <data name="Label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
-    <value>MiddleLeft</value>
-  </data>
   <data name="FriendshipAllMenuItem.Text" xml:space="preserve">
     <value>全ユーザーのフォロー状態(&amp;A)</value>
   </data>
   <data name="&gt;&gt;SplitContainer1.Panel1.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <data name="&gt;&gt;Label1.ZOrder" xml:space="preserve">
-    <value>5</value>
+  <data name="&gt;&gt;ImagePageCombo.ZOrder" xml:space="preserve">
+    <value>1</value>
   </data>
   <data name="&gt;&gt;HashStripSplitButton.Name" xml:space="preserve">
     <value>HashStripSplitButton</value>
   </data>
-  <data name="&gt;&gt;Label1.Type" xml:space="preserve">
-    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  <data name="&gt;&gt;ImagePageCombo.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name="&gt;&gt;TabMenuItem.Type" xml:space="preserve">
     <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
     <value>306, 24</value>
   </data>
   <data name="&gt;&gt;ImageCancelButton.ZOrder" xml:space="preserve">
-    <value>4</value>
+    <value>5</value>
   </data>
   <data name="RefreshMoreStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
     <value>288, 24</value>
   <data name="&gt;&gt;ContextMenuFile.Name" xml:space="preserve">
     <value>ContextMenuFile</value>
   </data>
-  <data name="Label1.Text" xml:space="preserve">
-    <value>ファイル</value>
-  </data>
   <data name="&gt;&gt;ToolStripSeparator37.Name" xml:space="preserve">
     <value>ToolStripSeparator37</value>
   </data>
   <data name="&gt;&gt;TabMenuItem.Name" xml:space="preserve">
     <value>TabMenuItem</value>
   </data>
-  <data name="Label1.Location" type="System.Drawing.Point, System.Drawing">
+  <data name="ImagePageCombo.Location" type="System.Drawing.Point, System.Drawing">
     <value>4, 4</value>
   </data>
   <data name="NameLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
   <data name="&gt;&gt;ToolStripSeparator22.Type" xml:space="preserve">
     <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name="Label1.ToolTip" xml:space="preserve">
+  <data name="ImagePageCombo.ToolTip" xml:space="preserve">
     <value />
   </data>
   <data name="UserFavorareToolStripMenuItem.Text" xml:space="preserve">
   <data name="ToolStripSeparator43.Size" type="System.Drawing.Size, System.Drawing">
     <value>203, 6</value>
   </data>
-  <data name="Label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+  <data name="ImagePageCombo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Left</value>
   </data>
   <data name="&gt;&gt;ToolStripSeparator8.Name" xml:space="preserve">
   <data name="ShowUserTimelineContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
     <value>288, 24</value>
   </data>
-  <data name="Label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+  <data name="ImagePageCombo.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
     <value>Off</value>
   </data>
   <data name="&gt;&gt;ImageSelectionPanel.Name" xml:space="preserve">
   <data name="&gt;&gt;FriendshipMenuItem.Name" xml:space="preserve">
     <value>FriendshipMenuItem</value>
   </data>
-  <data name="&gt;&gt;Label1.Parent" xml:space="preserve">
+  <data name="&gt;&gt;ImagePageCombo.Parent" xml:space="preserve">
     <value>ImagePathPanel</value>
   </data>
   <data name="&gt;&gt;JumpReadOpMenuItem.Type" xml:space="preserve">
     <value>210, 24</value>
   </data>
   <data name="&gt;&gt;FilePickButton.ZOrder" xml:space="preserve">
-    <value>1</value>
+    <value>2</value>
   </data>
   <data name="SelectAllMenuItem.Text" xml:space="preserve">
     <value>全て選択(&amp;A)</value>
   <data name="UxnuMenuItem.Size" type="System.Drawing.Size, System.Drawing">
     <value>269, 24</value>
   </data>
-  <data name="&gt;&gt;Label1.Name" xml:space="preserve">
-    <value>Label1</value>
+  <data name="&gt;&gt;ImagePageCombo.Name" xml:space="preserve">
+    <value>ImagePageCombo</value>
   </data>
   <data name="SourceLinkLabel.TabIndex" type="System.Int32, mscorlib">
     <value>7</value>
   <data name="&gt;&gt;ToolStripSeparator6.Name" xml:space="preserve">
     <value>ToolStripSeparator6</value>
   </data>
-  <data name="Label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+  <data name="ImagePageCombo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
     <value>4, 0, 4, 0</value>
   </data>
   <data name="DmOpMenuItem.Text" xml:space="preserve">
   <data name="&gt;&gt;SearchWikipediaContextMenuItem.Name" xml:space="preserve">
     <value>SearchWikipediaContextMenuItem</value>
   </data>
-  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+  <data name="ImagePageCombo.Size" type="System.Drawing.Size, System.Drawing">
     <value>72, 27</value>
   </data>
   <data name="IdFilterAddMenuItem.Size" type="System.Drawing.Size, System.Drawing">
     <value>LockListFileMenuItem</value>
   </data>
   <data name="&gt;&gt;Label2.ZOrder" xml:space="preserve">
-    <value>2</value>
+    <value>3</value>
   </data>
   <data name="&gt;&gt;ToolStripSeparator11.Type" xml:space="preserve">
     <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
     <value>ToolStripContainer1</value>
   </data>
   <data name="&gt;&gt;ImageServiceCombo.ZOrder" xml:space="preserve">
-    <value>3</value>
+    <value>4</value>
   </data>
-  <data name="Label1.TabIndex" type="System.Int32, mscorlib">
+  <data name="ImagePageCombo.TabIndex" type="System.Int32, mscorlib">
     <value>0</value>
   </data>
   <data name="&gt;&gt;ImagePathPanel.Name" xml:space="preserve">
index 99a2f52..a13748b 100644 (file)
   <data name="ImageCancelButton.Text" xml:space="preserve">
     <value>取消</value>
   </data>
-  <data name="Label1.Text" xml:space="preserve">
-    <value>图片文件</value>
-  </data>
   <data name="FollowToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
     <value>170, 22</value>
   </data>