diff options
author | Cody Russell <cody@jhu.edu> | 2019-05-16 00:19:24 +0300 |
---|---|---|
committer | Cody Russell <cody@jhu.edu> | 2019-05-16 00:19:24 +0300 |
commit | 55466a66c0df58b3f47da73e3e1e4aa8d753cccd (patch) | |
tree | caeedcb67a75faff15ec9ac152e7f023c00d9f07 /main/src/addins/CSharpBinding | |
parent | 1e73f3abd6cd037ff1e9a10bc0cdc090a561cc46 (diff) |
UI updates and improvements.
Bug #802073
Diffstat (limited to 'main/src/addins/CSharpBinding')
2 files changed, 23 insertions, 4 deletions
diff --git a/main/src/addins/CSharpBinding/Gui/MonoDevelop.CSharp.Project.CompilerOptionsPanelWidget.cs b/main/src/addins/CSharpBinding/Gui/MonoDevelop.CSharp.Project.CompilerOptionsPanelWidget.cs index 232893c387..5e43198b9d 100644 --- a/main/src/addins/CSharpBinding/Gui/MonoDevelop.CSharp.Project.CompilerOptionsPanelWidget.cs +++ b/main/src/addins/CSharpBinding/Gui/MonoDevelop.CSharp.Project.CompilerOptionsPanelWidget.cs @@ -47,6 +47,8 @@ namespace MonoDevelop.CSharp.Project private global::Gtk.VBox vbox3; private global::Gtk.Table table2; + + private global::Gtk.Image langVersionWarningIcon; private global::Gtk.Label label2; @@ -254,12 +256,18 @@ namespace MonoDevelop.CSharp.Project this.table2.RowSpacing = ((uint)(6)); this.table2.ColumnSpacing = ((uint)(6)); // Container child table2.Gtk.Table+TableChild + this.langVersionWarningIcon = new global::Gtk.Image (); + this.langVersionWarningIcon.SetFromStock (Gtk.Stock.DialogWarning, Gtk.IconSize.Menu); + var langVersionHbox = new global::Gtk.HBox (false, 0); + langVersionHbox.Name = "langVersionHbox"; + langVersionHbox.PackStart (this.langVersionWarningIcon, false, false, 0); this.label2 = new global::Gtk.Label (); this.label2.Name = "label2"; this.label2.Xalign = 0F; this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("C# Language Version:"); - this.table2.Add (this.label2); - global::Gtk.Table.TableChild w19 = ((global::Gtk.Table.TableChild)(this.table2 [this.label2])); + langVersionHbox.PackStart (this.label2, false, false, 0); + this.table2.Add (langVersionHbox); + global::Gtk.Table.TableChild w19 = ((global::Gtk.Table.TableChild)(this.table2 [langVersionHbox])); w19.XOptions = ((global::Gtk.AttachOptions)(4)); w19.YOptions = ((global::Gtk.AttachOptions)(4)); // Container child table2.Gtk.Table+TableChild diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CompilerOptionsPanelWidget.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CompilerOptionsPanelWidget.cs index 2085650193..2552c41170 100644 --- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CompilerOptionsPanelWidget.cs +++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CompilerOptionsPanelWidget.cs @@ -29,6 +29,7 @@ using System; using System.Linq; +using System.Text.RegularExpressions; using Gtk; using MonoDevelop.Components; @@ -55,6 +56,13 @@ namespace MonoDevelop.CSharp.Project LanguageVersion.LatestMajor, LanguageVersion.Preview }; + + readonly Regex BadVersionRegex = new Regex (@"'(?<value>.*)'"); + + string ExtractBadVersion (string badValue) + { + return BadVersionRegex.Match (badValue).Groups ["value"].Value; + } public CompilerOptionsPanelWidget (DotNetProject project) { @@ -108,7 +116,9 @@ namespace MonoDevelop.CSharp.Project langVerStore.AppendValues (text, version); } } catch (Exception ex) { - label2.Markup = GettextCatalog.GetString ("C# Language Version (<b>{0}</b>):", ex.Message); + var badVersion = ExtractBadVersion (ex.Message); + label2.Markup = GettextCatalog.GetString ("C# Language Version [{0} (Unknown Version)]:", badVersion); + langVerStore.AppendValues (ExtractBadVersion (ex.Message), LanguageVersion.Preview); } } langVerCombo.Model = langVerStore; @@ -123,7 +133,8 @@ namespace MonoDevelop.CSharp.Project break; } } catch (Exception ex) { - label2.Markup = GettextCatalog.GetString ("C# Language Version (<b>{0}</b>):", ex.Message); + var badVersion = ExtractBadVersion (ex.Message); + label2.Markup = GettextCatalog.GetString ("C# Language Version [{0} (Unknown Version)]:", badVersion); } } while (langVerStore.IterNext (ref iter)); } |