Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hutchinson <m.j.hutchinson@gmail.com>2012-03-30 06:13:58 +0400
committerMichael Hutchinson <m.j.hutchinson@gmail.com>2012-03-30 06:26:13 +0400
commit5b54683434e802294ca9bad6cc810c9dac91d275 (patch)
tree3bc11a7ae453358de5bdecec9db2b91caf7cbf0e
parentcb2e011faae0fed555eea802ab7ed45b2ce0b167 (diff)
[Ide] Improve validation in import/export policy dialogs
Still not perfect - would be good to have more validation messages - but at least we avoid a lot of error dialogs now.
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ApplyPolicyDialog.cs183
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ExportProjectPolicyDialog.cs34
-rw-r--r--main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ApplyPolicyDialog.cs111
-rw-r--r--main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ExportProjectPolicyDialog.cs112
-rw-r--r--main/src/core/MonoDevelop.Ide/gtk-gui/gui.stetic542
5 files changed, 583 insertions, 399 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ApplyPolicyDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ApplyPolicyDialog.cs
index 52b5965279..cf73fb24a5 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ApplyPolicyDialog.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ApplyPolicyDialog.cs
@@ -37,11 +37,17 @@ namespace MonoDevelop.Ide.Projects
{
IPolicyProvider policyProvider;
+ PoliciesListSummaryTree tree;
+
public ApplyPolicyDialog (IPolicyProvider policyProvider)
{
- this.Build ();
this.policyProvider = policyProvider;
+ this.Build ();
+ tree = new PoliciesListSummaryTree ();
+ policiesScroll.Add (tree);
+ tree.Show ();
+
foreach (PolicySet pset in PolicyService.GetPolicySets ())
if (pset.Visible)
combPolicies.AppendText (pset.Name);
@@ -63,11 +69,22 @@ namespace MonoDevelop.Ide.Projects
protected void OnButtonOkClicked (object sender, System.EventArgs e)
{
- PolicySet pset = GetPolicySet (true);
- if (pset != null) {
+ PolicySet pset = null;
+ try {
+ pset = GetPolicySet (true);
policyProvider.Policies.Import (pset, false);
- Respond (Gtk.ResponseType.Ok);
+ } catch (Exception ex) {
+ string msg;
+ if (pset == null) {
+ msg = GettextCatalog.GetString ("The policy set could not be loaded");
+ } else {
+ msg = GettextCatalog.GetString ("The policy set could not be applied");
+ }
+ MessageService.ShowException (ex, msg);
+ Respond (Gtk.ResponseType.Cancel);
+ return;
}
+ Respond (Gtk.ResponseType.Ok);
}
PolicySet GetPolicySet (bool notifyErrors)
@@ -75,44 +92,39 @@ namespace MonoDevelop.Ide.Projects
if (radioCustom.Active) {
return PolicyService.GetPolicySet (combPolicies.ActiveText);
}
- else {
- if (string.IsNullOrEmpty (fileEntry.Path)) {
- if (notifyErrors)
- MessageService.ShowError (GettextCatalog.GetString ("File name not specified"));
- return null;
- }
- try {
- PolicySet pset = new PolicySet ();
- pset.LoadFromFile (fileEntry.Path);
- ExportProjectPolicyDialog.DefaultFileDialogPolicyDir = System.IO.Path.GetDirectoryName (fileEntry.Path);
- return pset;
- } catch (Exception ex) {
- if (notifyErrors)
- MessageService.ShowException (ex, GettextCatalog.GetString ("The policy set could not be loaded"));
- return null;
- }
+
+ var f = fileEntry.Path;
+ if (string.IsNullOrEmpty (f) || !System.IO.File.Exists (f)) {
+ return null;
}
+
+ var pset = new PolicySet ();
+ pset.LoadFromFile (fileEntry.Path);
+ ExportProjectPolicyDialog.DefaultFileDialogPolicyDir = System.IO.Path.GetDirectoryName (fileEntry.Path);
+ return pset;
}
void UpdateContentLabels ()
{
PolicySet pset = GetPolicySet (false);
- if (pset == null) {
- labelChangesTitle.Hide ();
- if (radioFile.Active) {
- if (string.IsNullOrEmpty (fileEntry.Path) || !System.IO.File.Exists (fileEntry.Path)) {
- labelChanges.Text = GettextCatalog.GetString ("Please select a valid policy file");
- }
- else {
- labelChanges.Text = GettextCatalog.GetString ("The selected file is not a valid policies file");
- }
- }
- else
- labelChanges.Text = string.Empty;
+ tree.SetPolicies (pset);
+ if (tree.HasPolicies) {
+ buttonOk.Sensitive = true;
return;
}
- labelChangesTitle.Show ();
- labelChanges.Text = GetPoliciesDescription (pset);
+
+ if (pset != null) {
+ tree.Message = GettextCatalog.GetString ("The selected policy is empty");
+ } else if (radioFile.Active) {
+ if (string.IsNullOrEmpty (fileEntry.Path) || !System.IO.File.Exists (fileEntry.Path)) {
+ tree.Message = GettextCatalog.GetString ("Please select a valid policy file");
+ } else {
+ tree.Message = GettextCatalog.GetString ("The selected file is not a valid policies file");
+ }
+ } else {
+ tree.Message = GettextCatalog.GetString ("Please select a policy");
+ }
+ buttonOk.Sensitive = false;
}
public static string GetPoliciesDescription (PolicyContainer pset)
@@ -163,5 +175,104 @@ namespace MonoDevelop.Ide.Projects
UpdateContentLabels ();
}
}
-}
-
+
+ internal class PoliciesListSummaryTree : Gtk.TreeView
+ {
+ Gtk.ListStore store;
+ string message;
+
+ public PoliciesListSummaryTree () : base (new Gtk.ListStore (typeof (string)))
+ {
+ CanFocus = false;
+ HeadersVisible = false;
+ store = (Gtk.ListStore) Model;
+ this.AppendColumn ("", new Gtk.CellRendererText (), "text", 0);
+ }
+
+ protected override bool OnExposeEvent (Gdk.EventExpose evnt)
+ {
+ if (HasPolicies) {
+ return base.OnExposeEvent (evnt);
+ }
+
+ var win = evnt.Window;
+ win.Clear ();
+ if (string.IsNullOrEmpty (message)) {
+ return true;
+ }
+
+ using (var layout = Mono.TextEditor.PangoUtil.CreateLayout (this)) {
+ layout.SetMarkup ("<i>" + GLib.Markup.EscapeText (message) + "</i>");
+ int w, h;
+ layout.GetPixelSize (out w, out h);
+ var a = Allocation;
+ var x = (a.Width - w) / 2;
+ var y = (a.Height - h ) / 2;
+ win.DrawLayout (Style.TextGC (Gtk.StateType.Normal), x, y, layout);
+ }
+ return true;
+ }
+
+ public bool HasPolicies { get; private set; }
+
+ /// <summary>
+ /// Message to be shown if there are no policies.
+ /// </summary>
+ public string Message {
+ get { return message; }
+ set {
+ message = value;
+ if (!HasPolicies) {
+ QueueDraw ();
+ }
+ }
+ }
+
+ public void SetPolicies (PolicyContainer pset)
+ {
+ if (pset == null) {
+ store.Clear ();
+ HasPolicies = false;
+ return;
+ }
+
+ var content = new Dictionary<string, List<string>> ();
+ foreach (var p in pset.DirectGetAll ()) {
+ string name = PolicyService.GetPolicyTypeDescription (p.PolicyType);
+ List<string> scopes;
+ if (!content.TryGetValue (name, out scopes))
+ scopes = content [name] = new List<string> ();
+ scopes.Add (p.Scope ?? "");
+ }
+
+ var sorted = content.ToList ();
+ sorted.Sort ((x, y) => x.Key.CompareTo(y.Key));
+
+ store.Clear ();
+
+ var sb = new StringBuilder ();
+ foreach (var pol in sorted) {
+ sb.Append (pol.Key);
+ if (pol.Value.Count != 1 || pol.Value[0].Length != 0) {
+ sb.Append (" (");
+ bool first = true;
+ if (pol.Value.Remove ("")) {
+ sb.Append (GettextCatalog.GetString ("default settings"));
+ first = false;
+ }
+ foreach (var s in pol.Value) {
+ if (!first)
+ sb.Append (", ");
+ sb.Append (s);
+ first = false;
+ }
+ sb.Append (")");
+ }
+ store.AppendValues (sb.ToString ());
+ sb.Length = 0;
+ }
+
+ HasPolicies = sorted.Count > 0;
+ }
+ }
+} \ No newline at end of file
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ExportProjectPolicyDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ExportProjectPolicyDialog.cs
index 5fe2a5e33a..911420094f 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ExportProjectPolicyDialog.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ExportProjectPolicyDialog.cs
@@ -34,6 +34,7 @@ namespace MonoDevelop.Ide.Projects
partial class ExportProjectPolicyDialog : Gtk.Dialog
{
IPolicyProvider policyProvider;
+ PoliciesListSummaryTree tree;
public ExportProjectPolicyDialog (IPolicyProvider policyProvider)
{
@@ -49,9 +50,24 @@ namespace MonoDevelop.Ide.Projects
fileEntry.FileFilters.AddFilter (GettextCatalog.GetString ("MonoDevelop policy files"), "*.mdpolicy");
fileEntry.FileFilters.AddAllFilesFilter ();
- UpdateWidgets ();
+ fileEntry.PathChanged += delegate {
+ UpdateWidgets ();
+ };
+ entryName.Changed += delegate {
+ UpdateWidgets ();
+ };
+
+ tree = new PoliciesListSummaryTree ();
+ policiesScroll.Add (tree);
+ tree.Show ();
+
+ tree.SetPolicies (policyProvider.Policies);
+ if (!tree.HasPolicies) {
+ tree.Message = GettextCatalog.GetString ("No policies");
+ buttonOk.Sensitive = false;
+ }
- labelPolicies.Text = ApplyPolicyDialog.GetPoliciesDescription (policyProvider.Policies);
+ UpdateWidgets ();
}
public static FilePath DefaultFileDialogPolicyDir {
@@ -61,8 +77,18 @@ namespace MonoDevelop.Ide.Projects
void UpdateWidgets ()
{
- boxCustom.Sensitive = radioCustom.Active;
- boxFile.Sensitive = !radioCustom.Active;
+ bool custom = radioCustom.Active;
+ boxCustom.Sensitive = custom;
+ boxFile.Sensitive = !custom;
+
+ bool valid;
+ if (custom) {
+ valid = !string.IsNullOrWhiteSpace (entryName.Text);
+ } else {
+ valid = !string.IsNullOrWhiteSpace (fileEntry.Path);
+ }
+
+ buttonOk.Sensitive = tree.HasPolicies && valid;
}
protected void OnRadioCustomToggled (object sender, System.EventArgs e)
diff --git a/main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ApplyPolicyDialog.cs b/main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ApplyPolicyDialog.cs
index 1aebeecc01..25c9f4c331 100644
--- a/main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ApplyPolicyDialog.cs
+++ b/main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ApplyPolicyDialog.cs
@@ -5,6 +5,7 @@ namespace MonoDevelop.Ide.Projects
internal partial class ApplyPolicyDialog
{
private global::Gtk.VBox vbox3;
+ private global::Gtk.VBox vbox2;
private global::Gtk.RadioButton radioCustom;
private global::Gtk.Alignment boxCustom;
private global::Gtk.HBox hbox1;
@@ -15,9 +16,9 @@ namespace MonoDevelop.Ide.Projects
private global::Gtk.HBox hbox2;
private global::Gtk.Label label3;
private global::MonoDevelop.Components.FileEntry fileEntry;
- private global::Gtk.HSeparator hseparator1;
+ private global::Gtk.VBox vbox4;
private global::Gtk.Label labelChangesTitle;
- private global::Gtk.Label labelChanges;
+ private global::Gtk.ScrolledWindow policiesScroll;
private global::Gtk.Button buttonCancel;
private global::Gtk.Button buttonOk;
@@ -35,21 +36,25 @@ namespace MonoDevelop.Ide.Projects
// Container child dialog1_VBox.Gtk.Box+BoxChild
this.vbox3 = new global::Gtk.VBox ();
this.vbox3.Name = "vbox3";
- this.vbox3.Spacing = 6;
+ this.vbox3.Spacing = 16;
this.vbox3.BorderWidth = ((uint)(12));
// Container child vbox3.Gtk.Box+BoxChild
+ this.vbox2 = new global::Gtk.VBox ();
+ this.vbox2.Name = "vbox2";
+ this.vbox2.Spacing = 6;
+ // Container child vbox2.Gtk.Box+BoxChild
this.radioCustom = new global::Gtk.RadioButton (global::MonoDevelop.Core.GettextCatalog.GetString ("Apply stock or custom policy set"));
this.radioCustom.CanFocus = true;
this.radioCustom.Name = "radioCustom";
this.radioCustom.DrawIndicator = true;
this.radioCustom.UseUnderline = true;
this.radioCustom.Group = new global::GLib.SList (global::System.IntPtr.Zero);
- this.vbox3.Add (this.radioCustom);
- global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.radioCustom]));
+ this.vbox2.Add (this.radioCustom);
+ global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.radioCustom]));
w2.Position = 0;
w2.Expand = false;
w2.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
+ // Container child vbox2.Gtk.Box+BoxChild
this.boxCustom = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F);
this.boxCustom.Name = "boxCustom";
this.boxCustom.LeftPadding = ((uint)(42));
@@ -75,24 +80,24 @@ namespace MonoDevelop.Ide.Projects
w4.Expand = false;
w4.Fill = false;
this.boxCustom.Add (this.hbox1);
- this.vbox3.Add (this.boxCustom);
- global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.boxCustom]));
+ this.vbox2.Add (this.boxCustom);
+ global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.boxCustom]));
w6.Position = 1;
w6.Expand = false;
w6.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
+ // Container child vbox2.Gtk.Box+BoxChild
this.radioFile = new global::Gtk.RadioButton (global::MonoDevelop.Core.GettextCatalog.GetString ("Apply policies from file"));
this.radioFile.CanFocus = true;
this.radioFile.Name = "radioFile";
this.radioFile.DrawIndicator = true;
this.radioFile.UseUnderline = true;
this.radioFile.Group = this.radioCustom.Group;
- this.vbox3.Add (this.radioFile);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.radioFile]));
+ this.vbox2.Add (this.radioFile);
+ global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.radioFile]));
w7.Position = 2;
w7.Expand = false;
w7.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
+ // Container child vbox2.Gtk.Box+BoxChild
this.boxFile = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F);
this.boxFile.Name = "boxFile";
this.boxFile.LeftPadding = ((uint)(42));
@@ -117,47 +122,50 @@ namespace MonoDevelop.Ide.Projects
global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.fileEntry]));
w9.Position = 1;
this.boxFile.Add (this.hbox2);
- this.vbox3.Add (this.boxFile);
- global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.boxFile]));
+ this.vbox2.Add (this.boxFile);
+ global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.boxFile]));
w11.Position = 3;
w11.Expand = false;
w11.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.hseparator1 = new global::Gtk.HSeparator ();
- this.hseparator1.Name = "hseparator1";
- this.vbox3.Add (this.hseparator1);
- global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hseparator1]));
- w12.Position = 4;
+ this.vbox3.Add (this.vbox2);
+ global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.vbox2]));
+ w12.Position = 0;
w12.Expand = false;
w12.Fill = false;
// Container child vbox3.Gtk.Box+BoxChild
+ this.vbox4 = new global::Gtk.VBox ();
+ this.vbox4.Name = "vbox4";
+ this.vbox4.Spacing = 6;
+ // Container child vbox4.Gtk.Box+BoxChild
this.labelChangesTitle = new global::Gtk.Label ();
this.labelChangesTitle.Name = "labelChangesTitle";
this.labelChangesTitle.Xalign = 0F;
- this.labelChangesTitle.LabelProp = global::MonoDevelop.Core.GettextCatalog.GetString ("The following policies will be set or replaced:");
- this.vbox3.Add (this.labelChangesTitle);
- global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.labelChangesTitle]));
- w13.Position = 5;
+ this.labelChangesTitle.LabelProp = global::MonoDevelop.Core.GettextCatalog.GetString ("Policies to set or replace:");
+ this.vbox4.Add (this.labelChangesTitle);
+ global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.labelChangesTitle]));
+ w13.Position = 0;
w13.Expand = false;
w13.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.labelChanges = new global::Gtk.Label ();
- this.labelChanges.Name = "labelChanges";
- this.labelChanges.Xalign = 0F;
- this.vbox3.Add (this.labelChanges);
- global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.labelChanges]));
- w14.Position = 6;
+ // Container child vbox4.Gtk.Box+BoxChild
+ this.policiesScroll = new global::Gtk.ScrolledWindow ();
+ this.policiesScroll.CanFocus = true;
+ this.policiesScroll.Name = "policiesScroll";
+ this.policiesScroll.ShadowType = ((global::Gtk.ShadowType)(1));
+ this.vbox4.Add (this.policiesScroll);
+ global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.policiesScroll]));
+ w14.Position = 1;
+ this.vbox3.Add (this.vbox4);
+ global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.vbox4]));
+ w15.Position = 1;
w1.Add (this.vbox3);
- global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox3]));
- w15.Position = 0;
- w15.Expand = false;
- w15.Fill = false;
+ global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox3]));
+ w16.Position = 0;
// Internal child MonoDevelop.Ide.Projects.ApplyPolicyDialog.ActionArea
- global::Gtk.HButtonBox w16 = this.ActionArea;
- w16.Name = "dialog1_ActionArea";
- w16.Spacing = 10;
- w16.BorderWidth = ((uint)(5));
- w16.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
+ global::Gtk.HButtonBox w17 = this.ActionArea;
+ w17.Name = "dialog1_ActionArea";
+ w17.Spacing = 10;
+ w17.BorderWidth = ((uint)(5));
+ w17.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
this.buttonCancel = new global::Gtk.Button ();
this.buttonCancel.CanDefault = true;
@@ -167,27 +175,26 @@ namespace MonoDevelop.Ide.Projects
this.buttonCancel.UseUnderline = true;
this.buttonCancel.Label = "gtk-cancel";
this.AddActionWidget (this.buttonCancel, -6);
- global::Gtk.ButtonBox.ButtonBoxChild w17 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w16 [this.buttonCancel]));
- w17.Expand = false;
- w17.Fill = false;
+ global::Gtk.ButtonBox.ButtonBoxChild w18 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w17 [this.buttonCancel]));
+ w18.Expand = false;
+ w18.Fill = false;
// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
this.buttonOk = new global::Gtk.Button ();
this.buttonOk.CanDefault = true;
this.buttonOk.CanFocus = true;
this.buttonOk.Name = "buttonOk";
- this.buttonOk.UseStock = true;
this.buttonOk.UseUnderline = true;
- this.buttonOk.Label = "gtk-apply";
- w16.Add (this.buttonOk);
- global::Gtk.ButtonBox.ButtonBoxChild w18 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w16 [this.buttonOk]));
- w18.Position = 1;
- w18.Expand = false;
- w18.Fill = false;
+ this.buttonOk.Label = global::MonoDevelop.Core.GettextCatalog.GetString ("_Apply policies");
+ w17.Add (this.buttonOk);
+ global::Gtk.ButtonBox.ButtonBoxChild w19 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w17 [this.buttonOk]));
+ w19.Position = 1;
+ w19.Expand = false;
+ w19.Fill = false;
if ((this.Child != null)) {
this.Child.ShowAll ();
}
- this.DefaultWidth = 479;
- this.DefaultHeight = 258;
+ this.DefaultWidth = 475;
+ this.DefaultHeight = 325;
this.Hide ();
this.radioCustom.Toggled += new global::System.EventHandler (this.OnRadioCustomToggled);
this.combPolicies.Changed += new global::System.EventHandler (this.OnCombPoliciesChanged);
diff --git a/main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ExportProjectPolicyDialog.cs b/main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ExportProjectPolicyDialog.cs
index 9f8164452e..46ba5be5a0 100644
--- a/main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ExportProjectPolicyDialog.cs
+++ b/main/src/core/MonoDevelop.Ide/gtk-gui/MonoDevelop.Ide.Projects.ExportProjectPolicyDialog.cs
@@ -5,6 +5,7 @@ namespace MonoDevelop.Ide.Projects
internal partial class ExportProjectPolicyDialog
{
private global::Gtk.VBox vbox2;
+ private global::Gtk.VBox vbox4;
private global::Gtk.RadioButton radioCustom;
private global::Gtk.Alignment boxCustom;
private global::Gtk.HBox hbox1;
@@ -15,9 +16,9 @@ namespace MonoDevelop.Ide.Projects
private global::Gtk.HBox hbox2;
private global::Gtk.Label label3;
private global::MonoDevelop.Components.FileEntry fileEntry;
- private global::Gtk.HSeparator hseparator1;
+ private global::Gtk.VBox vbox5;
private global::Gtk.Label labelChangesTitle;
- private global::Gtk.Label labelPolicies;
+ private global::Gtk.ScrolledWindow policiesScroll;
private global::Gtk.Button buttonCancel;
private global::Gtk.Button buttonOk;
@@ -35,21 +36,25 @@ namespace MonoDevelop.Ide.Projects
// Container child dialog1_VBox.Gtk.Box+BoxChild
this.vbox2 = new global::Gtk.VBox ();
this.vbox2.Name = "vbox2";
- this.vbox2.Spacing = 6;
+ this.vbox2.Spacing = 16;
this.vbox2.BorderWidth = ((uint)(12));
// Container child vbox2.Gtk.Box+BoxChild
+ this.vbox4 = new global::Gtk.VBox ();
+ this.vbox4.Name = "vbox4";
+ this.vbox4.Spacing = 6;
+ // Container child vbox4.Gtk.Box+BoxChild
this.radioCustom = new global::Gtk.RadioButton (global::MonoDevelop.Core.GettextCatalog.GetString ("Save project policies as a new custom policy set"));
this.radioCustom.CanFocus = true;
this.radioCustom.Name = "radioCustom";
this.radioCustom.DrawIndicator = true;
this.radioCustom.UseUnderline = true;
this.radioCustom.Group = new global::GLib.SList (global::System.IntPtr.Zero);
- this.vbox2.Add (this.radioCustom);
- global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.radioCustom]));
+ this.vbox4.Add (this.radioCustom);
+ global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.radioCustom]));
w2.Position = 0;
w2.Expand = false;
w2.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
+ // Container child vbox4.Gtk.Box+BoxChild
this.boxCustom = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F);
this.boxCustom.Name = "boxCustom";
this.boxCustom.LeftPadding = ((uint)(42));
@@ -79,24 +84,24 @@ namespace MonoDevelop.Ide.Projects
w4.Expand = false;
w4.Fill = false;
this.boxCustom.Add (this.hbox1);
- this.vbox2.Add (this.boxCustom);
- global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.boxCustom]));
+ this.vbox4.Add (this.boxCustom);
+ global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.boxCustom]));
w6.Position = 1;
w6.Expand = false;
w6.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
+ // Container child vbox4.Gtk.Box+BoxChild
this.radioFile = new global::Gtk.RadioButton (global::MonoDevelop.Core.GettextCatalog.GetString ("Export policies to a file"));
this.radioFile.CanFocus = true;
this.radioFile.Name = "radioFile";
this.radioFile.DrawIndicator = true;
this.radioFile.UseUnderline = true;
this.radioFile.Group = this.radioCustom.Group;
- this.vbox2.Add (this.radioFile);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.radioFile]));
+ this.vbox4.Add (this.radioFile);
+ global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.radioFile]));
w7.Position = 2;
w7.Expand = false;
w7.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
+ // Container child vbox4.Gtk.Box+BoxChild
this.boxFile = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F);
this.boxFile.Name = "boxFile";
this.boxFile.LeftPadding = ((uint)(42));
@@ -120,49 +125,50 @@ namespace MonoDevelop.Ide.Projects
global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.fileEntry]));
w9.Position = 1;
this.boxFile.Add (this.hbox2);
- this.vbox2.Add (this.boxFile);
- global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.boxFile]));
+ this.vbox4.Add (this.boxFile);
+ global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.boxFile]));
w11.Position = 3;
w11.Expand = false;
w11.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
- this.hseparator1 = new global::Gtk.HSeparator ();
- this.hseparator1.Name = "hseparator1";
- this.vbox2.Add (this.hseparator1);
- global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hseparator1]));
- w12.Position = 4;
+ this.vbox2.Add (this.vbox4);
+ global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.vbox4]));
+ w12.Position = 0;
w12.Expand = false;
w12.Fill = false;
// Container child vbox2.Gtk.Box+BoxChild
+ this.vbox5 = new global::Gtk.VBox ();
+ this.vbox5.Name = "vbox5";
+ this.vbox5.Spacing = 6;
+ // Container child vbox5.Gtk.Box+BoxChild
this.labelChangesTitle = new global::Gtk.Label ();
this.labelChangesTitle.Name = "labelChangesTitle";
this.labelChangesTitle.Xalign = 0F;
- this.labelChangesTitle.LabelProp = global::MonoDevelop.Core.GettextCatalog.GetString ("The following policies will be exported:");
- this.vbox2.Add (this.labelChangesTitle);
- global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.labelChangesTitle]));
- w13.Position = 5;
+ this.labelChangesTitle.LabelProp = global::MonoDevelop.Core.GettextCatalog.GetString ("Policies to export:");
+ this.vbox5.Add (this.labelChangesTitle);
+ global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.labelChangesTitle]));
+ w13.Position = 0;
w13.Expand = false;
w13.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
- this.labelPolicies = new global::Gtk.Label ();
- this.labelPolicies.Name = "labelPolicies";
- this.labelPolicies.Xalign = 0F;
- this.vbox2.Add (this.labelPolicies);
- global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.labelPolicies]));
- w14.Position = 6;
- w14.Expand = false;
- w14.Fill = false;
+ // Container child vbox5.Gtk.Box+BoxChild
+ this.policiesScroll = new global::Gtk.ScrolledWindow ();
+ this.policiesScroll.CanFocus = true;
+ this.policiesScroll.Name = "policiesScroll";
+ this.policiesScroll.ShadowType = ((global::Gtk.ShadowType)(1));
+ this.vbox5.Add (this.policiesScroll);
+ global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.policiesScroll]));
+ w14.Position = 1;
+ this.vbox2.Add (this.vbox5);
+ global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.vbox5]));
+ w15.Position = 1;
w1.Add (this.vbox2);
- global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox2]));
- w15.Position = 0;
- w15.Expand = false;
- w15.Fill = false;
+ global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox2]));
+ w16.Position = 0;
// Internal child MonoDevelop.Ide.Projects.ExportProjectPolicyDialog.ActionArea
- global::Gtk.HButtonBox w16 = this.ActionArea;
- w16.Name = "dialog1_ActionArea";
- w16.Spacing = 10;
- w16.BorderWidth = ((uint)(5));
- w16.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
+ global::Gtk.HButtonBox w17 = this.ActionArea;
+ w17.Name = "dialog1_ActionArea";
+ w17.Spacing = 10;
+ w17.BorderWidth = ((uint)(5));
+ w17.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
this.buttonCancel = new global::Gtk.Button ();
this.buttonCancel.CanDefault = true;
@@ -172,26 +178,26 @@ namespace MonoDevelop.Ide.Projects
this.buttonCancel.UseUnderline = true;
this.buttonCancel.Label = "gtk-cancel";
this.AddActionWidget (this.buttonCancel, -6);
- global::Gtk.ButtonBox.ButtonBoxChild w17 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w16 [this.buttonCancel]));
- w17.Expand = false;
- w17.Fill = false;
+ global::Gtk.ButtonBox.ButtonBoxChild w18 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w17 [this.buttonCancel]));
+ w18.Expand = false;
+ w18.Fill = false;
// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
this.buttonOk = new global::Gtk.Button ();
this.buttonOk.CanDefault = true;
this.buttonOk.CanFocus = true;
this.buttonOk.Name = "buttonOk";
this.buttonOk.UseUnderline = true;
- this.buttonOk.Label = global::MonoDevelop.Core.GettextCatalog.GetString ("Export");
- w16.Add (this.buttonOk);
- global::Gtk.ButtonBox.ButtonBoxChild w18 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w16 [this.buttonOk]));
- w18.Position = 1;
- w18.Expand = false;
- w18.Fill = false;
+ this.buttonOk.Label = global::MonoDevelop.Core.GettextCatalog.GetString ("Export policies");
+ w17.Add (this.buttonOk);
+ global::Gtk.ButtonBox.ButtonBoxChild w19 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w17 [this.buttonOk]));
+ w19.Position = 1;
+ w19.Expand = false;
+ w19.Fill = false;
if ((this.Child != null)) {
this.Child.ShowAll ();
}
- this.DefaultWidth = 528;
- this.DefaultHeight = 254;
+ this.DefaultWidth = 476;
+ this.DefaultHeight = 321;
this.Hide ();
this.radioCustom.Toggled += new global::System.EventHandler (this.OnRadioCustomToggled);
this.buttonOk.Clicked += new global::System.EventHandler (this.OnButtonOkClicked);
diff --git a/main/src/core/MonoDevelop.Ide/gtk-gui/gui.stetic b/main/src/core/MonoDevelop.Ide/gtk-gui/gui.stetic
index 029cef74b6..9b9ce6e0ca 100644
--- a/main/src/core/MonoDevelop.Ide/gtk-gui/gui.stetic
+++ b/main/src/core/MonoDevelop.Ide/gtk-gui/gui.stetic
@@ -2318,7 +2318,6 @@ Diagnostic</property>
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">Every hour</property>
- <property name="Active">True</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
@@ -11343,7 +11342,7 @@ Visual Studio generates a default ID for embedded resources, instead of simply u
</widget>
</child>
</widget>
- <widget class="Gtk.Dialog" id="MonoDevelop.Ide.Projects.ExportProjectPolicyDialog" design-size="528 254">
+ <widget class="Gtk.Dialog" id="MonoDevelop.Ide.Projects.ExportProjectPolicyDialog" design-size="476 321">
<property name="MemberName" />
<property name="Visible">False</property>
<property name="GeneratePublic">False</property>
@@ -11358,172 +11357,189 @@ Visual Studio generates a default ID for embedded resources, instead of simply u
<child>
<widget class="Gtk.VBox" id="vbox2">
<property name="MemberName" />
- <property name="Spacing">6</property>
+ <property name="Spacing">16</property>
<property name="BorderWidth">12</property>
<child>
- <widget class="Gtk.RadioButton" id="radioCustom">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Save project policies as a new custom policy set</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- <property name="Group">group1</property>
- <signal name="Toggled" handler="OnRadioCustomToggled" />
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Alignment" id="boxCustom">
+ <widget class="Gtk.VBox" id="vbox4">
<property name="MemberName" />
- <property name="LeftPadding">42</property>
+ <property name="Spacing">6</property>
<child>
- <widget class="Gtk.HBox" id="hbox1">
+ <widget class="Gtk.RadioButton" id="radioCustom">
<property name="MemberName" />
- <property name="Spacing">6</property>
+ <property name="CanFocus">True</property>
+ <property name="Label" translatable="yes">Save project policies as a new custom policy set</property>
+ <property name="DrawIndicator">True</property>
+ <property name="HasLabel">True</property>
+ <property name="UseUnderline">True</property>
+ <property name="Group">group1</property>
+ <signal name="Toggled" handler="OnRadioCustomToggled" />
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Alignment" id="boxCustom">
+ <property name="MemberName" />
+ <property name="LeftPadding">42</property>
<child>
- <widget class="Gtk.Label" id="label2">
+ <widget class="Gtk.HBox" id="hbox1">
<property name="MemberName" />
- <property name="LabelProp" translatable="yes">Name:</property>
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Label" id="label2">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">Name:</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Entry" id="entryName">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="IsEditable">True</property>
+ <property name="WidthChars">40</property>
+ <property name="InvisibleChar">●</property>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">False</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder />
+ </child>
</widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
</child>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.RadioButton" id="radioFile">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="Label" translatable="yes">Export policies to a file</property>
+ <property name="DrawIndicator">True</property>
+ <property name="HasLabel">True</property>
+ <property name="UseUnderline">True</property>
+ <property name="Group">group1</property>
+ </widget>
+ <packing>
+ <property name="Position">2</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Alignment" id="boxFile">
+ <property name="MemberName" />
+ <property name="LeftPadding">42</property>
<child>
- <widget class="Gtk.Entry" id="entryName">
+ <widget class="Gtk.HBox" id="hbox2">
<property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="WidthChars">40</property>
- <property name="InvisibleChar">●</property>
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Label" id="label3">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">File:</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="MonoDevelop.Components.FileEntry" id="fileEntry">
+ <property name="MemberName" />
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">False</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">False</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <placeholder />
</child>
</widget>
+ <packing>
+ <property name="Position">3</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
</child>
</widget>
<packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.RadioButton" id="radioFile">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Export policies to a file</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- <property name="Group">group1</property>
- </widget>
- <packing>
- <property name="Position">2</property>
+ <property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
- <widget class="Gtk.Alignment" id="boxFile">
+ <widget class="Gtk.VBox" id="vbox5">
<property name="MemberName" />
- <property name="LeftPadding">42</property>
+ <property name="Spacing">6</property>
<child>
- <widget class="Gtk.HBox" id="hbox2">
+ <widget class="Gtk.Label" id="labelChangesTitle">
<property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Label" id="label3">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">File:</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
+ <property name="Xalign">0</property>
+ <property name="LabelProp" translatable="yes">Policies to export:</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.ScrolledWindow" id="policiesScroll">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="ShadowType">In</property>
<child>
- <widget class="MonoDevelop.Components.FileEntry" id="fileEntry">
+ <widget class="Gtk.Viewport" id="GtkViewport">
<property name="MemberName" />
+ <property name="ShadowType">None</property>
+ <child>
+ <placeholder />
+ </child>
</widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">False</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
</child>
</widget>
<packing>
- <property name="Position">3</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.HSeparator" id="hseparator1">
- <property name="MemberName" />
- </widget>
- <packing>
- <property name="Position">4</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="labelChangesTitle">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">The following policies will be exported:</property>
- </widget>
- <packing>
- <property name="Position">5</property>
+ <property name="Position">1</property>
<property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="labelPolicies">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- </widget>
- <packing>
- <property name="Position">6</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
</packing>
</child>
</widget>
@@ -11557,7 +11573,7 @@ Visual Studio generates a default ID for embedded resources, instead of simply u
<property name="CanDefault">True</property>
<property name="CanFocus">True</property>
<property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">Export</property>
+ <property name="Label" translatable="yes">Export policies</property>
<property name="UseUnderline">True</property>
<property name="ResponseId">-1</property>
<signal name="Clicked" handler="OnButtonOkClicked" />
@@ -11571,7 +11587,7 @@ Visual Studio generates a default ID for embedded resources, instead of simply u
</widget>
</child>
</widget>
- <widget class="Gtk.Dialog" id="MonoDevelop.Ide.Projects.ApplyPolicyDialog" design-size="479 258">
+ <widget class="Gtk.Dialog" id="MonoDevelop.Ide.Projects.ApplyPolicyDialog" design-size="475 325">
<property name="MemberName" />
<property name="Visible">False</property>
<property name="GeneratePublic">False</property>
@@ -11586,168 +11602,187 @@ Visual Studio generates a default ID for embedded resources, instead of simply u
<child>
<widget class="Gtk.VBox" id="vbox3">
<property name="MemberName" />
- <property name="Spacing">6</property>
+ <property name="Spacing">16</property>
<property name="BorderWidth">12</property>
<child>
- <widget class="Gtk.RadioButton" id="radioCustom">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Apply stock or custom policy set</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- <property name="Group">group1</property>
- <signal name="Toggled" handler="OnRadioCustomToggled" />
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Alignment" id="boxCustom">
+ <widget class="Gtk.VBox" id="vbox2">
<property name="MemberName" />
- <property name="LeftPadding">42</property>
+ <property name="Spacing">6</property>
<child>
- <widget class="Gtk.HBox" id="hbox1">
+ <widget class="Gtk.RadioButton" id="radioCustom">
<property name="MemberName" />
- <property name="Spacing">6</property>
+ <property name="CanFocus">True</property>
+ <property name="Label" translatable="yes">Apply stock or custom policy set</property>
+ <property name="DrawIndicator">True</property>
+ <property name="HasLabel">True</property>
+ <property name="UseUnderline">True</property>
+ <property name="Group">group1</property>
+ <signal name="Toggled" handler="OnRadioCustomToggled" />
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Alignment" id="boxCustom">
+ <property name="MemberName" />
+ <property name="LeftPadding">42</property>
<child>
- <widget class="Gtk.Label" id="label2">
+ <widget class="Gtk.HBox" id="hbox1">
<property name="MemberName" />
- <property name="LabelProp" translatable="yes">Policy:</property>
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Label" id="label2">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">Policy:</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.ComboBox" id="combPolicies">
+ <property name="MemberName" />
+ <property name="IsTextCombo">True</property>
+ <property name="Items" translatable="yes" />
+ <signal name="Changed" handler="OnCombPoliciesChanged" />
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
</child>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.RadioButton" id="radioFile">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="Label" translatable="yes">Apply policies from file</property>
+ <property name="DrawIndicator">True</property>
+ <property name="HasLabel">True</property>
+ <property name="UseUnderline">True</property>
+ <property name="Group">group1</property>
+ </widget>
+ <packing>
+ <property name="Position">2</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Alignment" id="boxFile">
+ <property name="MemberName" />
+ <property name="LeftPadding">42</property>
<child>
- <widget class="Gtk.ComboBox" id="combPolicies">
+ <widget class="Gtk.HBox" id="hbox2">
<property name="MemberName" />
- <property name="IsTextCombo">True</property>
- <property name="Items" translatable="yes" />
- <signal name="Changed" handler="OnCombPoliciesChanged" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Label" id="label3">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">File:</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="MonoDevelop.Components.FileEntry" id="fileEntry">
+ <property name="MemberName" />
+ <property name="BrowserTitle">Select Policy Set File</property>
+ <signal name="PathChanged" handler="OnFileEntryPathChanged" />
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">False</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="Position">3</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
</child>
</widget>
<packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.RadioButton" id="radioFile">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Label" translatable="yes">Apply policies from file</property>
- <property name="DrawIndicator">True</property>
- <property name="HasLabel">True</property>
- <property name="UseUnderline">True</property>
- <property name="Group">group1</property>
- </widget>
- <packing>
- <property name="Position">2</property>
+ <property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
- <widget class="Gtk.Alignment" id="boxFile">
+ <widget class="Gtk.VBox" id="vbox4">
<property name="MemberName" />
- <property name="LeftPadding">42</property>
+ <property name="Spacing">6</property>
<child>
- <widget class="Gtk.HBox" id="hbox2">
+ <widget class="Gtk.Label" id="labelChangesTitle">
<property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Label" id="label3">
- <property name="MemberName" />
- <property name="LabelProp" translatable="yes">File:</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
+ <property name="Xalign">0</property>
+ <property name="LabelProp" translatable="yes">Policies to set or replace:</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.ScrolledWindow" id="policiesScroll">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="ShadowType">In</property>
<child>
- <widget class="MonoDevelop.Components.FileEntry" id="fileEntry">
+ <widget class="Gtk.Viewport" id="GtkViewport">
<property name="MemberName" />
- <property name="BrowserTitle">Select Policy Set File</property>
- <signal name="PathChanged" handler="OnFileEntryPathChanged" />
+ <property name="ShadowType">None</property>
+ <child>
+ <placeholder />
+ </child>
</widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">False</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
</child>
</widget>
<packing>
- <property name="Position">3</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.HSeparator" id="hseparator1">
- <property name="MemberName" />
- </widget>
- <packing>
- <property name="Position">4</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="labelChangesTitle">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">The following policies will be set or replaced:</property>
- </widget>
- <packing>
- <property name="Position">5</property>
+ <property name="Position">1</property>
<property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="labelChanges">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- </widget>
- <packing>
- <property name="Position">6</property>
- <property name="AutoSize">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
</packing>
</child>
</widget>
@@ -11780,12 +11815,11 @@ Visual Studio generates a default ID for embedded resources, instead of simply u
<property name="MemberName" />
<property name="CanDefault">True</property>
<property name="CanFocus">True</property>
- <property name="UseStock">True</property>
- <property name="Type">StockItem</property>
- <property name="StockId">gtk-apply</property>
+ <property name="Type">TextOnly</property>
+ <property name="Label" translatable="yes">_Apply policies</property>
+ <property name="UseUnderline">True</property>
<property name="ResponseId">-1</property>
<signal name="Clicked" handler="OnButtonOkClicked" />
- <property name="label">gtk-apply</property>
</widget>
<packing>
<property name="Position">1</property>