Inheritance: System.Windows.Forms.ToolStripControlHost
コード例 #1
0
        public void GaugeHeightTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                toolStrip.AutoSize = false;
                toolStrip.Size = new Size(100, 10);

                MyCommon.TwitterApiInfo.AccessLimit["endpoint"] = new ApiLimit(15, 15, DateTime.MaxValue);
                toolStrip.ApiEndpoint = "endpoint";

                toolStrip.GaugeHeight = 5;

                Assert.Equal(new Rectangle(0, 0, 100, 5), toolStrip.apiGaugeBounds);
                Assert.Equal(new Rectangle(0, 5, 100, 5), toolStrip.timeGaugeBounds);

                toolStrip.GaugeHeight = 3;

                Assert.Equal(new Rectangle(0, 2, 100, 3), toolStrip.apiGaugeBounds);
                Assert.Equal(new Rectangle(0, 5, 100, 3), toolStrip.timeGaugeBounds);

                toolStrip.GaugeHeight = 0;

                Assert.Equal(Rectangle.Empty, toolStrip.apiGaugeBounds);
                Assert.Equal(Rectangle.Empty, toolStrip.timeGaugeBounds);

                MyCommon.TwitterApiInfo.AccessLimit.Clear();
            }
        }
コード例 #2
0
        public void GaugeHeightTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                toolStrip.AutoSize = false;
                toolStrip.Size     = new Size(100, 10);

                MyCommon.TwitterApiInfo.AccessLimit["endpoint"] = new ApiLimit(15, 15, DateTimeUtc.MaxValue);
                toolStrip.ApiEndpoint = "endpoint";

                toolStrip.GaugeHeight = 5;

                Assert.Equal(new Rectangle(0, 0, 100, 5), toolStrip.apiGaugeBounds);
                Assert.Equal(new Rectangle(0, 5, 100, 5), toolStrip.timeGaugeBounds);

                toolStrip.GaugeHeight = 3;

                Assert.Equal(new Rectangle(0, 2, 100, 3), toolStrip.apiGaugeBounds);
                Assert.Equal(new Rectangle(0, 5, 100, 3), toolStrip.timeGaugeBounds);

                toolStrip.GaugeHeight = 0;

                Assert.Equal(Rectangle.Empty, toolStrip.apiGaugeBounds);
                Assert.Equal(Rectangle.Empty, toolStrip.timeGaugeBounds);

                MyCommon.TwitterApiInfo.AccessLimit.Clear();
            }
        }
コード例 #3
0
        public void TextTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                MyCommon.TwitterApiInfo.AccessLimit["/statuses/home_timeline"] = new ApiLimit(15, 15, DateTimeUtc.Now + TimeSpan.FromMinutes(15));
                MyCommon.TwitterApiInfo.AccessLimit["/statuses/user_timeline"] = new ApiLimit(180, 18, DateTimeUtc.Now + TimeSpan.FromMinutes(-2));
                MyCommon.TwitterApiInfo.AccessLimit["/search/tweets"]          = new ApiLimit(180, 90, DateTimeUtc.Now + TimeSpan.FromMinutes(5));

                // toolStrip.ApiEndpoint の初期値は null

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest unknown ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                toolStrip.ApiEndpoint = "/search/tweets";

                Assert.Equal("API 90/180", toolStrip.Text);
                Assert.Equal("API rest /search/tweets 90/180" + Environment.NewLine + "(reset after 5 minutes)", toolStrip.ToolTipText);

                toolStrip.ApiEndpoint = "/statuses/user_timeline";

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest /statuses/user_timeline ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                MyCommon.TwitterApiInfo.AccessLimit["/statuses/user_timeline"] = new ApiLimit(180, 180, DateTimeUtc.Now + TimeSpan.FromMinutes(15));
                toolStrip.ApiEndpoint = "/statuses/user_timeline";

                Assert.Equal("API 180/180", toolStrip.Text);
                Assert.Equal("API rest /statuses/user_timeline 180/180" + Environment.NewLine + "(reset after 15 minutes)", toolStrip.ToolTipText);

                MyCommon.TwitterApiInfo.AccessLimit["/statuses/user_timeline"] = new ApiLimit(180, 179, DateTimeUtc.Now + TimeSpan.FromMinutes(15));
                toolStrip.ApiEndpoint = "/statuses/user_timeline";

                Assert.Equal("API 179/180", toolStrip.Text);
                Assert.Equal("API rest /statuses/user_timeline 179/180" + Environment.NewLine + "(reset after 15 minutes)", toolStrip.ToolTipText);

                toolStrip.ApiEndpoint = "hoge";

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest hoge ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                toolStrip.ApiEndpoint = "";

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest unknown ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                MyCommon.TwitterApiInfo.AccessLimit.Clear();
            }
        }
コード例 #4
0
        public void API11EnabledTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                // toolStrip.API11Enabled の初期値は true
                Assert.That(toolStrip.Text, Is.EqualTo("API v1.1 ???/???"));

                toolStrip.API11Enabled = false;

                Assert.That(toolStrip.Text, Is.EqualTo("API v1 ???/???"));

                toolStrip.API11Enabled = true;

                Assert.That(toolStrip.Text, Is.EqualTo("API v1.1 ???/???"));
            }
        }
コード例 #5
0
        public void API11EnabledTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                // toolStrip.API11Enabled の初期値は true
                Assert.That(toolStrip.Text, Is.EqualTo("API v1.1 ???/???"));

                toolStrip.API11Enabled = false;

                Assert.That(toolStrip.Text, Is.EqualTo("API v1 ???/???"));

                toolStrip.API11Enabled = true;

                Assert.That(toolStrip.Text, Is.EqualTo("API v1.1 ???/???"));
            }
        }
コード例 #6
0
        public void TextTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                // toolStrip.ApiLimit の初期値は null

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                toolStrip.ApiLimit = new ApiLimit(15, 14, DateTime.Now.AddMinutes(15));

                Assert.Equal("API 14/15", toolStrip.Text);
                Assert.Equal("API rest 14/15" + Environment.NewLine + "(reset after 15 minutes)", toolStrip.ToolTipText);

                toolStrip.ApiLimit = null;

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);
            }
        }
コード例 #7
0
        public void TextTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                // toolStrip.ApiLimit の初期値は null

                Assert.That(toolStrip.Text, Is.EqualTo("API v1.1 ???/???"));
                Assert.That(toolStrip.ToolTipText, Is.EqualTo("API rest ???/???" + Environment.NewLine + "(reset after ??? minutes)"));

                toolStrip.ApiLimit = new ApiLimit(15, 14, DateTime.Now.AddMinutes(15));

                Assert.That(toolStrip.Text, Is.EqualTo("API v1.1 14/15"));
                Assert.That(toolStrip.ToolTipText, Is.EqualTo("API rest 14/15" + Environment.NewLine + "(reset after 15 minutes)"));

                toolStrip.ApiLimit = null;

                Assert.That(toolStrip.Text, Is.EqualTo("API v1.1 ???/???"));
                Assert.That(toolStrip.ToolTipText, Is.EqualTo("API rest ???/???" + Environment.NewLine + "(reset after ??? minutes)"));
            }
        }
コード例 #8
0
        public void ApiEndpointTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                MyCommon.TwitterApiInfo.AccessLimit["endpoint1"] = new ApiLimit(15, 15, Clock.Now.AddMinutes(15));
                MyCommon.TwitterApiInfo.AccessLimit["endpoint2"] = new ApiLimit(180, 18, Clock.Now.AddMinutes(5));

                // toolStrip.ApiEndpoint の初期値は null

                Assert.Equal(null, toolStrip.ApiEndpoint);
                Assert.Equal(null, toolStrip.ApiLimit);

                toolStrip.ApiEndpoint = "endpoint1";

                Assert.Equal("endpoint1", toolStrip.ApiEndpoint);
                Assert.Equal(new ApiLimit(15, 15, Clock.Now.AddMinutes(15)), toolStrip.ApiLimit);

                toolStrip.ApiEndpoint = "endpoint2";

                Assert.Equal("endpoint2", toolStrip.ApiEndpoint);
                Assert.Equal(new ApiLimit(180, 18, Clock.Now.AddMinutes(5)), toolStrip.ApiLimit);

                MyCommon.TwitterApiInfo.AccessLimit["endpoint2"] = new ApiLimit(180, 17, Clock.Now.AddMinutes(5));
                toolStrip.ApiEndpoint = "endpoint2";

                Assert.Equal("endpoint2", toolStrip.ApiEndpoint);
                Assert.Equal(new ApiLimit(180, 17, Clock.Now.AddMinutes(5)), toolStrip.ApiLimit);

                toolStrip.ApiEndpoint = "hoge";

                Assert.Equal("hoge", toolStrip.ApiEndpoint);
                Assert.Equal(null, toolStrip.ApiLimit);

                toolStrip.ApiEndpoint = "";

                Assert.Equal(null, toolStrip.ApiEndpoint);
                Assert.Equal(null, toolStrip.ApiLimit);

                MyCommon.TwitterApiInfo.AccessLimit.Clear();
            }
        }
コード例 #9
0
        public void ApiEndpointTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                MyCommon.TwitterApiInfo.AccessLimit["endpoint1"] = new ApiLimit(15, 15, Clock.Now.AddMinutes(15));
                MyCommon.TwitterApiInfo.AccessLimit["endpoint2"] = new ApiLimit(180, 18, Clock.Now.AddMinutes(5));

                // toolStrip.ApiEndpoint の初期値は null

                Assert.Equal(null, toolStrip.ApiEndpoint);
                Assert.Equal(null, toolStrip.ApiLimit);

                toolStrip.ApiEndpoint = "endpoint1";

                Assert.Equal("endpoint1", toolStrip.ApiEndpoint);
                Assert.Equal(new ApiLimit(15, 15, Clock.Now.AddMinutes(15)), toolStrip.ApiLimit);

                toolStrip.ApiEndpoint = "endpoint2";

                Assert.Equal("endpoint2", toolStrip.ApiEndpoint);
                Assert.Equal(new ApiLimit(180, 18, Clock.Now.AddMinutes(5)), toolStrip.ApiLimit);

                MyCommon.TwitterApiInfo.AccessLimit["endpoint2"] = new ApiLimit(180, 17, Clock.Now.AddMinutes(5));
                toolStrip.ApiEndpoint = "endpoint2";

                Assert.Equal("endpoint2", toolStrip.ApiEndpoint);
                Assert.Equal(new ApiLimit(180, 17, Clock.Now.AddMinutes(5)), toolStrip.ApiLimit);

                toolStrip.ApiEndpoint = "hoge";

                Assert.Equal("hoge", toolStrip.ApiEndpoint);
                Assert.Equal(null, toolStrip.ApiLimit);

                toolStrip.ApiEndpoint = "";

                Assert.Equal(null, toolStrip.ApiEndpoint);
                Assert.Equal(null, toolStrip.ApiLimit);

                MyCommon.TwitterApiInfo.AccessLimit.Clear();
            }
        }
コード例 #10
0
        public void GaugeHeightTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                toolStrip.AutoSize = false;
                toolStrip.Size = new Size(100, 10);
                toolStrip.ApiLimit = new ApiLimit(150, 150, DateTime.MaxValue);

                toolStrip.GaugeHeight = 5;

                Assert.That(toolStrip.apiGaugeBounds, Is.EqualTo(new Rectangle(0, 0, 100, 5)));
                Assert.That(toolStrip.timeGaugeBounds, Is.EqualTo(new Rectangle(0, 5, 100, 5)));

                toolStrip.GaugeHeight = 3;

                Assert.That(toolStrip.apiGaugeBounds, Is.EqualTo(new Rectangle(0, 2, 100, 3)));
                Assert.That(toolStrip.timeGaugeBounds, Is.EqualTo(new Rectangle(0, 5, 100, 3)));

                toolStrip.GaugeHeight = 0;

                Assert.That(toolStrip.apiGaugeBounds, Is.EqualTo(Rectangle.Empty));
                Assert.That(toolStrip.timeGaugeBounds, Is.EqualTo(Rectangle.Empty));
            }
        }
コード例 #11
0
        public void GaugeHeightTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                toolStrip.AutoSize = false;
                toolStrip.Size     = new Size(100, 10);
                toolStrip.ApiLimit = new ApiLimit(150, 150, DateTime.MaxValue);

                toolStrip.GaugeHeight = 5;

                Assert.That(toolStrip.apiGaugeBounds, Is.EqualTo(new Rectangle(0, 0, 100, 5)));
                Assert.That(toolStrip.timeGaugeBounds, Is.EqualTo(new Rectangle(0, 5, 100, 5)));

                toolStrip.GaugeHeight = 3;

                Assert.That(toolStrip.apiGaugeBounds, Is.EqualTo(new Rectangle(0, 2, 100, 3)));
                Assert.That(toolStrip.timeGaugeBounds, Is.EqualTo(new Rectangle(0, 5, 100, 3)));

                toolStrip.GaugeHeight = 0;

                Assert.That(toolStrip.apiGaugeBounds, Is.EqualTo(Rectangle.Empty));
                Assert.That(toolStrip.timeGaugeBounds, Is.EqualTo(Rectangle.Empty));
            }
        }
コード例 #12
0
ファイル: Tween.cs プロジェクト: uramichi/OpenTween-ura
        public TweenMain()
        {
            _hookGlobalHotkey = new HookGlobalHotkey(this);
            // この呼び出しは、Windows フォーム デザイナで必要です。
            InitializeComponent();

            // InitializeComponent() 呼び出しの後で初期化を追加します。

            this.SettingDialog.IntervalChanged += this.TimerInterval_Changed;
            this.TimerTimeline.Elapsed += this.TimerTimeline_Elapsed;
            this._hookGlobalHotkey.HotkeyPressed += _hookGlobalHotkey_HotkeyPressed;
            this.gh.NotifyClicked += GrowlHelper_Callback;

            // メイリオフォント指定時にタブの最小幅が広くなる問題の対策
            this.ListTab.HandleCreated += (s, e) => Win32Api.SetMinTabWidth((TabControl)s, 40);

            this._apiGauge = new ToolStripAPIGauge();
            this._apiGauge.ForeColor = Color.Black;
            this.StatusStrip1.Items.Insert(2, this._apiGauge);

            this.ReplaceAppName();
        }
コード例 #13
0
ファイル: Tween.cs プロジェクト: nanayaT/OpenTween
        public TweenMain()
        {
            _hookGlobalHotkey = new HookGlobalHotkey(this);

            // この呼び出しは、Windows フォーム デザイナで必要です。
            InitializeComponent();

            // InitializeComponent() 呼び出しの後で初期化を追加します。

            this.SettingDialog.IntervalChanged += this.TimerInterval_Changed;
            this.TimerTimeline.Elapsed += this.TimerTimeline_Elapsed;
            this._hookGlobalHotkey.HotkeyPressed += _hookGlobalHotkey_HotkeyPressed;
            this.gh.NotifyClicked += GrowlHelper_Callback;

            // メイリオフォント指定時にタブの最小幅が広くなる問題の対策
            this.ListTab.HandleCreated += (s, e) => NativeMethods.SetMinTabWidth((TabControl)s, 40);

            this._apiGauge = new ToolStripAPIGauge();
            this._apiGauge.BorderSides = ToolStripStatusLabelBorderSides.Right;
            this.StatusStrip1.Items.Insert(2, this._apiGauge);

            this.ImageSelector.Visible = false;
            this.ImageSelector.Enabled = false;
            this.ImageSelector.FilePickDialog = OpenFileDialog1;

            this.ReplaceAppName();
        }
コード例 #14
0
ファイル: Tween.cs プロジェクト: pinkylab/OpenTween
        public TweenMain()
        {
            _hookGlobalHotkey = new HookGlobalHotkey(this);
            // この呼び出しは、Windows フォーム デザイナで必要です。
            InitializeComponent();

            // InitializeComponent() 呼び出しの後で初期化を追加します。

            this.SettingDialog.IntervalChanged += this.TimerInterval_Changed;
            this.TimerTimeline.Elapsed += this.TimerTimeline_Elapsed;
            this._hookGlobalHotkey.HotkeyPressed += _hookGlobalHotkey_HotkeyPressed;
            this.gh.NotifyClicked += GrowlHelper_Callback;

            this._apiGauge = new ToolStripAPIGauge();
            this.StatusStrip1.Items.Insert(2, this._apiGauge);

            this.ReplaceAppName();
        }
コード例 #15
0
        public void TextTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                // toolStrip.ApiLimit の初期値は null

                Assert.That(toolStrip.Text, Is.EqualTo("API ???/???"));
                Assert.That(toolStrip.ToolTipText, Is.EqualTo("API rest ???/???" + Environment.NewLine + "(reset after ??? minutes)"));

                toolStrip.ApiLimit = new ApiLimit(150, 100, DateTime.Now.AddMinutes(10));

                Assert.That(toolStrip.Text, Is.EqualTo("API 100/150"));
                Assert.That(toolStrip.ToolTipText, Is.EqualTo("API rest 100/150" + Environment.NewLine + "(reset after 10 minutes)"));

                toolStrip.ApiLimit = null;

                Assert.That(toolStrip.Text, Is.EqualTo("API ???/???"));
                Assert.That(toolStrip.ToolTipText, Is.EqualTo("API rest ???/???" + Environment.NewLine + "(reset after ??? minutes)"));
            }
        }
コード例 #16
0
        public void TextTest()
        {
            using (var toolStrip = new ToolStripAPIGauge())
            {
                MyCommon.TwitterApiInfo.AccessLimit["/statuses/home_timeline"] = new ApiLimit(15, 15, DateTime.Now.AddMinutes(15));
                MyCommon.TwitterApiInfo.AccessLimit["/statuses/user_timeline"] = new ApiLimit(180, 18, DateTime.Now.AddMinutes(-2));
                MyCommon.TwitterApiInfo.AccessLimit["/search/tweets"] = new ApiLimit(180, 90, DateTime.Now.AddMinutes(5));

                // toolStrip.ApiEndpoint の初期値は null

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest unknown ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                toolStrip.ApiEndpoint = "/search/tweets";

                Assert.Equal("API 90/180", toolStrip.Text);
                Assert.Equal("API rest /search/tweets 90/180" + Environment.NewLine + "(reset after 5 minutes)", toolStrip.ToolTipText);

                toolStrip.ApiEndpoint = "/statuses/user_timeline";

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest /statuses/user_timeline ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                MyCommon.TwitterApiInfo.AccessLimit["/statuses/user_timeline"] = new ApiLimit(180, 180, DateTime.Now.AddMinutes(15));
                toolStrip.ApiEndpoint = "/statuses/user_timeline";

                Assert.Equal("API 180/180", toolStrip.Text);
                Assert.Equal("API rest /statuses/user_timeline 180/180" + Environment.NewLine + "(reset after 15 minutes)", toolStrip.ToolTipText);

                MyCommon.TwitterApiInfo.AccessLimit["/statuses/user_timeline"] = new ApiLimit(180, 179, DateTime.Now.AddMinutes(15));
                toolStrip.ApiEndpoint = "/statuses/user_timeline";

                Assert.Equal("API 179/180", toolStrip.Text);
                Assert.Equal("API rest /statuses/user_timeline 179/180" + Environment.NewLine + "(reset after 15 minutes)", toolStrip.ToolTipText);

                toolStrip.ApiEndpoint = "hoge";

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest hoge ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                toolStrip.ApiEndpoint = "";

                Assert.Equal("API ???/???", toolStrip.Text);
                Assert.Equal("API rest unknown ???/???" + Environment.NewLine + "(reset after ??? minutes)", toolStrip.ToolTipText);

                MyCommon.TwitterApiInfo.AccessLimit.Clear();
            }
        }
コード例 #17
0
ファイル: Tween.cs プロジェクト: aokomoriuta/OpenTween
        public TweenMain()
        {
            _hookGlobalHotkey = new HookGlobalHotkey(this);
            // この呼び出しは、Windows フォーム デザイナで必要です。
            InitializeComponent();

            // InitializeComponent() 呼び出しの後で初期化を追加します。

            this.SettingDialog.IntervalChanged += this.TimerInterval_Changed;
            this.TimerTimeline.Elapsed += this.TimerTimeline_Elapsed;
            this._hookGlobalHotkey.HotkeyPressed += _hookGlobalHotkey_HotkeyPressed;
            this.gh.NotifyClicked += GrowlHelper_Callback;

            this._apiGauge = new ToolStripAPIGauge();
            this._apiGauge.Click += (s, e) =>
            {
                var api11Enabled = !HttpTwitter.API11Enabled;

                HttpTwitter.API11Enabled = api11Enabled;
                (s as ToolStripAPIGauge).API11Enabled = api11Enabled;

                if (api11Enabled)
                    MyCommon.TwitterApiInfo11.Reset();
                else
                    MyCommon.TwitterApiInfo.Reset();
            };
            this.StatusStrip1.Items.Insert(2, this._apiGauge);

            this.ReplaceAppName();
        }
コード例 #18
0
ファイル: Tween.cs プロジェクト: egcube/OpenTween
        public TweenMain()
        {
            _hookGlobalHotkey = new HookGlobalHotkey(this);

            // この呼び出しは、Windows フォーム デザイナで必要です。
            InitializeComponent();

            // InitializeComponent() 呼び出しの後で初期化を追加します。

            this.SettingDialog.IntervalChanged += this.TimerInterval_Changed;
            this.TimerTimeline.Elapsed += this.TimerTimeline_Elapsed;
            this._hookGlobalHotkey.HotkeyPressed += _hookGlobalHotkey_HotkeyPressed;
            this.gh.NotifyClicked += GrowlHelper_Callback;

            // メイリオフォント指定時にタブの最小幅が広くなる問題の対策
            this.ListTab.HandleCreated += (s, e) => NativeMethods.SetMinTabWidth((TabControl)s, 40);

            // IE10/11 がインストールされた環境で WebBrowser コントロールを ToolStripContainer コントロール内に配置すると
            // ダブルクリックでの単語選択ができなくなる問題の回避策
            // InitializeComponent() での初期化が終わってから、PostBrowserPanel を挟んで PostBrowser を追加する
            //
            // 詳細:
            // Windows.Forms.WebBrowser on UserControl with IE 10 Installed Breaks Double-Click Text Select
            // https://connect.microsoft.com/VisualStudio/feedback/details/792884/windows-forms-webbrowser-on-usercontrol-with-ie-10-installed-breaks-double-click-text-select
            this.PostBrowserPanel.Dock = DockStyle.Fill;
            this.PostBrowserPanel.Controls.Add(this.PostBrowser);
            this.TableLayoutPanel1.Controls.Add(this.PostBrowserPanel, 1, 1);
            this.TableLayoutPanel1.SetColumnSpan(this.PostBrowserPanel, 3);

            this._apiGauge = new ToolStripAPIGauge();
            this._apiGauge.BorderSides = ToolStripStatusLabelBorderSides.Right;
            this.StatusStrip1.Items.Insert(2, this._apiGauge);

            this.ImageSelector.Visible = false;
            this.ImageSelector.Enabled = false;
            this.ImageSelector.FilePickDialog = OpenFileDialog1;

            this.ReplaceAppName();
        }