diff --git a/XenAdmin/Controls/DecentGroupBox.cs b/XenAdmin/Controls/DecentGroupBox.cs index 211d091eb..b4118431e 100644 --- a/XenAdmin/Controls/DecentGroupBox.cs +++ b/XenAdmin/Controls/DecentGroupBox.cs @@ -122,14 +122,11 @@ namespace XenAdmin.Controls if (autoEllipsis && newText != null) { - using (Graphics g = CreateGraphics()) + newText = newText.Ellipsise(new Rectangle(0, 0, maxWidth, Height), Font); + if (newText == ".") //If ellipsise shortens the string to less than the ellipsis { - newText = newText.Ellipsise(new Rectangle(0, 0, maxWidth, Height), Font); - if (newText == ".") //If ellipsise shortens the string to less than the ellipsis - { - base.Text = String.Empty; - return; - } + base.Text = String.Empty; + return; } //Avoid sending &... to the base class, so ensure we have an even number of ampersands on the end of the string. diff --git a/XenAdminTests/Controls/DecentGroupBoxTests.cs b/XenAdminTests/Controls/DecentGroupBoxTests.cs index 3b39711c8..38275596e 100644 --- a/XenAdminTests/Controls/DecentGroupBoxTests.cs +++ b/XenAdminTests/Controls/DecentGroupBoxTests.cs @@ -171,8 +171,8 @@ namespace XenAdminTests.Controls yield return new TestCase { Text = "junk&", Expected = "junk&", Width = 50 }; yield return new TestCase { Text = "junk&", Expected = "junk&", Width = 100 }; yield return new TestCase { Text = "junk&&", Expected = "junk&&", Width = 100 }; - yield return new TestCase { Text = "junk&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", Expected = "junk&&&&&&...", Width = 100 }; - yield return new TestCase { Text = "jnk&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", Expected = "jnk&&&&&&&...", Width = 100 }; + yield return new TestCase { Text = "junk&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", Expected = "junk&&&&&&&&&&&&&&&&&...", Width = 100 }; + yield return new TestCase { Text = "jnk&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", Expected = "jnk&&&&&&&&&&&&&&&&&&&...", Width = 100 }; yield return new TestCase { Text = "junk&&junk", Expected = "junk&&junk", Width = 100 }; yield return new TestCase { Text = "junk&junk", Expected = "junk&junk", Width = 100 }; yield return new TestCase @@ -190,19 +190,18 @@ namespace XenAdminTests.Controls } } - public IEnumerable TestCasesNoMnemonic { get { yield return new TestCase { Text = "junk", Expected = "junk", Width = 100 }; - yield return new TestCase { Text = "junk&", Expected = "ju...", Width = 50 }; + yield return new TestCase { Text = "junk&", Expected = "junk&&", Width = 50 }; yield return new TestCase { Text = "junk&", Expected = "junk&&", Width = 100 }; yield return new TestCase { Text = "junk&&", Expected = "junk&&&&", Width = 100 }; yield return new TestCase { Text = "junk&&junk", Expected = "junk&&&&junk", Width = 100 }; yield return new TestCase { Text = "junk&junk", Expected = "junk&&junk", Width = 100 }; - yield return new TestCase { Text = "junk&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", Expected = "junk&&&&&&...", Width = 100 }; - yield return new TestCase { Text = "jnk&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", Expected = "jnk&&&&&&...", Width = 100 }; + yield return new TestCase { Text = "junk&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", Expected = "junk&&&&&&&&&&&&&&&&...", Width = 100 }; + yield return new TestCase { Text = "jnk&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&", Expected = "jnk&&&&&&&&&&&&&&&&&&...", Width = 100 }; yield return new TestCase { Text = "AllWorkAndNoPlayMakesJackADullBoyAllWorkAndNoPlayMakesJackADullBoyAllWorkAndNoPlayMakesJackADullBoy",