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>2011-11-15 19:50:37 +0400
committerMichael Hutchinson <m.j.hutchinson@gmail.com>2011-11-15 20:00:16 +0400
commit21762fd150143378373ff71dcfa7b20c9ff8d1a9 (patch)
treec26b20d968d47ec02bffef7404bb62e3cedfc108 /main/src/addins/MonoDevelop.MacDev
parent058ff59b3b35af180aef4fc5ebe1cb0819435088 (diff)
parent9a0bcf3d0eb0ebe2940313b65a6e734c97da83cd (diff)
Merge remote-tracking branch 'origin/master' into macgtk
Conflicts: main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/CustomPropertiesWidget.cs
Diffstat (limited to 'main/src/addins/MonoDevelop.MacDev')
-rw-r--r--main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/CustomPropertiesWidget.cs73
-rw-r--r--main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/ImageChooser.cs4
-rw-r--r--main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs5
-rw-r--r--main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeSyncedContent.cs9
4 files changed, 41 insertions, 50 deletions
diff --git a/main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/CustomPropertiesWidget.cs b/main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/CustomPropertiesWidget.cs
index 5b9f7d0c5b..fb6a86a48e 100644
--- a/main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/CustomPropertiesWidget.cs
+++ b/main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/CustomPropertiesWidget.cs
@@ -38,6 +38,8 @@ namespace MonoDevelop.MacDev.PlistEditor
[System.ComponentModel.ToolboxItem(true)]
public partial class CustomPropertiesWidget : VBox, IPListDisplayWidget
{
+ const string AddKeyNode = "Add new entry";
+
TreeStore treeStore = new TreeStore (typeof(string), typeof (PObject));
Gtk.ListStore keyStore = new ListStore (typeof (string), typeof (PListScheme.Key));
Gtk.ListStore valueStore = new ListStore (typeof (string), typeof (string));
@@ -204,12 +206,7 @@ namespace MonoDevelop.MacDev.PlistEditor
class CellRendererButton : CellRenderer
{
Gdk.Pixbuf pixbuf;
-
- public bool Collapsed {
- get;
- set;
- }
-
+
public CellRendererButton (Gdk.Pixbuf pixbuf)
{
this.pixbuf = pixbuf;
@@ -243,7 +240,7 @@ namespace MonoDevelop.MacDev.PlistEditor
protected override void Render (Gdk.Drawable window, Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, CellRendererState flags)
{
- if (Collapsed)
+ if (!Visible)
return;
int x = cell_area.X + 1;
int y = cell_area.Y + 1;
@@ -302,6 +299,10 @@ namespace MonoDevelop.MacDev.PlistEditor
renderer.Sensitive = true;
renderer.Text = key != null && ShowDescriptions ? GettextCatalog.GetString (key.Description) : id;
});
+ treeview.AppendColumn (col);
+
+ var iconSize = IconSize.Menu;
+ col = new TreeViewColumn { MinWidth = 25, Resizable = true, Sizing = Gtk.TreeViewColumnSizing.Autosize };
var removeRenderer = new CellRendererButton (ImageService.GetPixbuf ("gtk-remove", IconSize.Menu));
removeRenderer.Clicked += delegate {
@@ -315,47 +316,39 @@ namespace MonoDevelop.MacDev.PlistEditor
};
col.PackEnd (removeRenderer, false);
col.SetCellDataFunc (removeRenderer, delegate(TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter) {
- removeRenderer.Collapsed = !treeview.Selection.IterIsSelected (iter);
+ removeRenderer.Visible = treeview.Selection.IterIsSelected (iter) && !AddKeyNode.Equals (treeStore.GetValue (iter, 0));
});
var addRenderer = new CellRendererButton (ImageService.GetPixbuf ("gtk-add", IconSize.Menu));
addRenderer.Clicked += delegate {
- Gtk.TreeIter iter;
- bool hasSelection = treeview.Selection.GetSelected (out iter);
- PObject obj = null;
- if (hasSelection)
- obj = (PObject)treeStore.GetValue (iter, 1);
- if (obj == null)
+ Gtk.TreeIter iter = Gtk.TreeIter.Zero;
+ if (!treeview.Selection.GetSelected (out iter))
return;
- var newObj = new PString ("");
- PObject parent = obj.Parent;
- if (parent is PArray) {
- var arr = (PArray)parent;
+ PObject obj = null;
+ if (treeStore.IterParent (out iter, iter))
+ obj = (PObject) treeStore.GetValue (iter, 1);
+ obj = obj ?? nsDictionary;
+
+ var newObj = new PString ("");
+ if (obj is PArray) {
+ var arr = (PArray) obj;
arr.Add (newObj);
- return;
- }
-
- var dict = parent as PDictionary;
- if (dict == null)
- return;
-
- string name = "newNode";
- while (dict.ContainsKey (name))
- name += "_";
- if (obj == null) {
+ } else if (obj is PDictionary) {
+ string name = "newNode";
+ var dict = (PDictionary) obj;
+ while (dict.ContainsKey (name))
+ name += "_";
dict.Add (name ,newObj);
} else {
- dict.InsertAfter (obj.Key, name, newObj);
+ return;
}
};
col.PackEnd (addRenderer, false);
col.SetCellDataFunc (addRenderer, delegate(TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter) {
- addRenderer.Collapsed = !treeview.Selection.IterIsSelected (iter);
+ addRenderer.Visible = treeview.Selection.IterIsSelected (iter) && AddKeyNode.Equals (treeStore.GetValue (iter, 0));
});
-
-
treeview.AppendColumn (col);
treeview.RowExpanded += delegate(object o, RowExpandedArgs args) {
@@ -487,13 +480,13 @@ namespace MonoDevelop.MacDev.PlistEditor
Dictionary<PObject, Gtk.TreeIter> iterTable = new Dictionary<PObject, Gtk.TreeIter> ();
- void SetNoEntries (Gtk.TreeIter iter)
+ void AddCreateNewEntry (Gtk.TreeIter iter)
{
if (iter.Equals (TreeIter.Zero)) {
- treeStore.AppendValues (GettextCatalog.GetString ("No entries"), null);
+ treeStore.AppendValues (GettextCatalog.GetString (AddKeyNode), null);
return;
}
- treeStore.AppendValues (iter, GettextCatalog.GetString ("No entries"), null);
+ treeStore.AppendValues (iter, GettextCatalog.GetString (AddKeyNode), null);
}
void AddToTree (Gtk.TreeStore treeStore, Gtk.TreeIter iter, PDictionary dict)
@@ -509,8 +502,7 @@ namespace MonoDevelop.MacDev.PlistEditor
if (expandedObjects.Contains (item.Value))
treeview.ExpandRow (treeStore.GetPath (subIter), true);
}
- if (dict.Count == 0)
- SetNoEntries (iter);
+ AddCreateNewEntry (iter);
if (!rebuildArrays.Contains (dict)) {
rebuildArrays.Add (dict);
@@ -548,9 +540,8 @@ namespace MonoDevelop.MacDev.PlistEditor
if (expandedObjects.Contains (item))
treeview.ExpandRow (treeStore.GetPath (subIter), true);
}
-
- if (arr.Count == 0)
- SetNoEntries (iter);
+
+ AddCreateNewEntry (iter);
if (!rebuildArrays.Contains (arr)) {
rebuildArrays.Add (arr);
diff --git a/main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/ImageChooser.cs b/main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/ImageChooser.cs
index a86e687d72..6370bce99d 100644
--- a/main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/ImageChooser.cs
+++ b/main/src/addins/MonoDevelop.MacDev/MonoDevelop.MacDev.PlistEditor/ImageChooser.cs
@@ -200,9 +200,9 @@ namespace MonoDevelop.MacDev.PlistEditor
cr.Translate (imgAlloc.X, imgAlloc.Y);
using (var layout = new Pango.Layout (PangoContext)) {
- layout.SetText (GettextCatalog.GetString ("No image"));
+ layout.SetText (string.Format ("({0}x{1})", displaySize.Width, displaySize.Height));
- layout.Width = (int)((imgAlloc.Width - 20) * Pango.Scale.PangoScale);
+ layout.Width = (int)((imgAlloc.Width - 16) * Pango.Scale.PangoScale);
layout.Wrap = Pango.WrapMode.WordChar;
layout.Alignment = Pango.Alignment.Center;
int pw, ph;
diff --git a/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs b/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs
index 9e0d10ba85..d4a29b9bfa 100644
--- a/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs
+++ b/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs
@@ -81,6 +81,11 @@ namespace MonoDevelop.MacDev.ObjCIntegration
cliTypes.Clear ();
foreach (var type in infoService.GetRegisteredObjects (dom)) {
+ if (objcTypes.ContainsKey (type.ObjCName)) {
+ var other = objcTypes[type.ObjCName];
+ throw new ArgumentException (string.Format ("Multiple types ({0} and {1}) registered with the same Objective-C name: {2}", type.CliName, other.CliName, type.ObjCName));
+ }
+
objcTypes.Add (type.ObjCName, type);
cliTypes.Add (type.CliName, type);
}
diff --git a/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeSyncedContent.cs b/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeSyncedContent.cs
index d62cc6a8e7..a1bc4b6e64 100644
--- a/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeSyncedContent.cs
+++ b/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeSyncedContent.cs
@@ -57,18 +57,13 @@ namespace MonoDevelop.MacDev.XcodeSyncing
public override void SyncOut (XcodeSyncContext context)
{
- FilePath target = context.ProjectDir.Combine (targetRelative);
+ var target = context.ProjectDir.Combine (targetRelative);
var dir = target.ParentDirectory;
if (!Directory.Exists (dir))
Directory.CreateDirectory (dir);
if (File.Exists (target))
File.Delete (target);
- try {
- var result = Mono.Unix.Native.Syscall.link (source, target);
- Mono.Unix.UnixMarshal.ThrowExceptionForLastErrorIf (result);
- } catch {
- File.Copy (source, target);
- }
+ File.Copy (source, target);
context.UpdateSyncTime (targetRelative);
}