diff --git a/umbraco/cms/businesslogic/skinning/controls/ImageUploader.cs b/umbraco/cms/businesslogic/skinning/controls/ImageUploader.cs new file mode 100644 index 0000000000..0786e0a5b6 --- /dev/null +++ b/umbraco/cms/businesslogic/skinning/controls/ImageUploader.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web.UI.WebControls; +using ClientDependency.Core; + + +namespace umbraco.cms.businesslogic.skinning.controls +{ + [ClientDependency(ClientDependencyType.Css, "modal/style.css", "UmbracoClient")] + [ClientDependency(500,ClientDependencyType.Javascript, "modal/modal.js", "UmbracoClient")] + public class ImageUploader : TextBox + { + protected override void Render(System.Web.UI.HtmlTextWriter writer) + { + base.Render(writer); + + writer.WriteLine( + string.Format( + " Upload image", + "Umbraco.Controls.ModalWindow().open('" + this.ResolveUrl(GlobalSettings.Path) + "/LiveEditing/Modules/SkinModule/ImageUploader.aspx?ctrl=" + this.ClientID + "','Upload image',true,700,500,50,0, ['.modalbuton'], null);return false;")); + } + } +} diff --git a/umbraco/cms/businesslogic/skinning/dependencies/Image.cs b/umbraco/cms/businesslogic/skinning/dependencies/Image.cs index a92c98fceb..a271bbf176 100644 --- a/umbraco/cms/businesslogic/skinning/dependencies/Image.cs +++ b/umbraco/cms/businesslogic/skinning/dependencies/Image.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI.WebControls; +using umbraco.cms.businesslogic.skinning.controls; namespace umbraco.cms.businesslogic.skinning.dependencies { @@ -13,16 +14,16 @@ namespace umbraco.cms.businesslogic.skinning.dependencies public string Width { get; set; } //currently just returning a textbox, need to replace this with a custom image control - public System.Web.UI.WebControls.TextBox tb; + public ImageUploader iu; public List _value; public Image() { this.Name = "Text"; this.Description = "Will render a text input"; - - tb = new TextBox(); + + iu = new ImageUploader(); _value = new List(); } @@ -30,13 +31,14 @@ namespace umbraco.cms.businesslogic.skinning.dependencies { get { - tb.TextMode = System.Web.UI.WebControls.TextBoxMode.SingleLine; - tb.CssClass = "text"; + iu.TextMode = System.Web.UI.WebControls.TextBoxMode.SingleLine; + iu.CssClass = "image"; + iu.ID = "imageupload"; if (_value.Count > 0) - tb.Text = _value[0].ToString(); - - return tb; + iu.Text = _value[0].ToString(); + + return iu; } set { @@ -48,10 +50,10 @@ namespace umbraco.cms.businesslogic.skinning.dependencies { get { - if (tb.Text != "") + if (iu.Text != "") { _value.Clear(); - _value.Add(tb.Text); + _value.Add(iu.Text); } return _value; } diff --git a/umbraco/cms/umbraco.cms.csproj b/umbraco/cms/umbraco.cms.csproj index d2d9440b66..cc7e306987 100644 --- a/umbraco/cms/umbraco.cms.csproj +++ b/umbraco/cms/umbraco.cms.csproj @@ -211,6 +211,7 @@ +