diff --git a/NzbDrone.Core/Controllers/IDownloadClientController.cs b/NzbDrone.Core/Controllers/IDownloadClientController.cs new file mode 100644 index 000000000..cf996005a --- /dev/null +++ b/NzbDrone.Core/Controllers/IDownloadClientController.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace NzbDrone.Core.Controllers +{ + public interface IDownloadClientController + { + string AddByUrl(string url); //Should accept something other than string (NzbInfo?) returns result if applicable + bool IsInQueue(string goodName);//Should accept something other than string (Episode?) returns bool + } +} diff --git a/NzbDrone.Core/Controllers/SabController.cs b/NzbDrone.Core/Controllers/SabController.cs new file mode 100644 index 000000000..409d2e066 --- /dev/null +++ b/NzbDrone.Core/Controllers/SabController.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace NzbDrone.Core.Controllers +{ + public class SabController : IDownloadClientController + { + private readonly IConfigController _config; + + public SabController(IConfigController config) + { + _config = config; + } + + public string AddByUrl(string url) + { + + + return ""; + } + + public string AddByPath(string path) + { + + return ""; + } + + + public bool IsInQueue(string goodName) + { + + return false; + } + } +} diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 48e57839b..393b1637b 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -134,8 +134,10 @@ + + diff --git a/NzbDrone.Web/Content/Background.jpg b/NzbDrone.Web/Content/Background.jpg new file mode 100644 index 000000000..e77880cf8 Binary files /dev/null and b/NzbDrone.Web/Content/Background.jpg differ diff --git a/NzbDrone.Web/Content/BannerBottomEdge.gif b/NzbDrone.Web/Content/BannerBottomEdge.gif new file mode 100644 index 000000000..418a49879 Binary files /dev/null and b/NzbDrone.Web/Content/BannerBottomEdge.gif differ diff --git a/NzbDrone.Web/Content/BannerTopEdge.gif b/NzbDrone.Web/Content/BannerTopEdge.gif new file mode 100644 index 000000000..f2d1f8d1b Binary files /dev/null and b/NzbDrone.Web/Content/BannerTopEdge.gif differ diff --git a/NzbDrone.Web/Content/ButtonBack.gif b/NzbDrone.Web/Content/ButtonBack.gif new file mode 100644 index 000000000..5e20e2396 Binary files /dev/null and b/NzbDrone.Web/Content/ButtonBack.gif differ diff --git a/NzbDrone.Web/Content/Error.png b/NzbDrone.Web/Content/Error.png new file mode 100644 index 000000000..1efea2705 Binary files /dev/null and b/NzbDrone.Web/Content/Error.png differ diff --git a/NzbDrone.Web/Content/Site.css b/NzbDrone.Web/Content/Site.css index d49561fe9..7c9ba45fc 100644 --- a/NzbDrone.Web/Content/Site.css +++ b/NzbDrone.Web/Content/Site.css @@ -1,80 +1,82 @@ /*---------------------------------------------------------- -The base color for this template is #FFC200. If you'd like +The base color for this template is #5c87b2. If you'd like to use a different color start by replacing all instances of -#FFC200 with your new color. +#5c87b2 with your new color. ----------------------------------------------------------*/ body { - background-color: #FFC200; - font-size: .75em; - font-family: Verdana, Helvetica, Sans-Serif; - margin: 0; - padding: 0; - color: #696969; + background-image: url( 'Background.jpg' ); + background-position: left top; + background-repeat: repeat-x; + font-size: .75em; + font-family: Verdana, Helvetica, Sans-Serif; + margin: 0; + padding: 0; + color: #696969; + background-color: #EEF1FA; } a:link { - color: #FFC200; - text-decoration: underline; + color: #034af3; + text-decoration: none; } a:visited { - color: #505abc; + color: #505abc; } a:hover { - color: #1d60ff; - text-decoration: none; + color: #3C80DB; + text-decoration: underline; } a:active { - color: #12eb87; + color: #12eb87; } p, ul { - margin-bottom: 20px; - line-height: 1.6em; + margin-bottom: 20px; + line-height: 1.6em; } /* HEADINGS ----------------------------------------------------------*/ h1, h2, h3, h4, h5, h6 { - font-size: 1.5em; - color: #000; - font-family: Arial, Helvetica, sans-serif; + font-size: 1.5em; + color: #3C80DB; } h1 { - font-size: 2em; - padding-bottom: 0; - margin-bottom: 0; + font-size: 2em; + padding-bottom: 0; + margin-bottom: 0; } h2 { - padding: 0 0 10px 0; + padding: 0 0 10px 0; } h3 { - font-size: 1.2em; + font-size: 1.2em; } h4 { - font-size: 1.1em; + font-size: 1.1em; } h5, h6 { - font-size: 1em; + font-size: 1em; } /* this rule styles

tags that are the first child of the left and right table columns */ .rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2 { - margin-top: 0; + margin-top: 0; } /* PRIMARY LAYOUT ELEMENTS @@ -84,266 +86,273 @@ first child of the left and right table columns */ page width. Or, you can specify an exact pixel width. */ .page { - width: 90%; - margin-left: auto; - margin-right: auto; + width: 90%; + margin-left: auto; + margin-right: auto; } #header { - position: relative; - margin-bottom: 0px; - color: #000; - padding: 0; - top: 0px; - left: 0px; + position: relative; + margin-bottom: 0px; + color: #000; + padding: 0 0 20px 0px; + background-image: url( 'BannerTopEdge.gif' ); + background-position: bottom; + background-repeat: repeat-x; } #header h1 { - font-weight: bold; - padding: 5px 0; - margin: 0; - color: #fff; - border: none; - line-height: 2em; - font-family: Arial, Helvetica, sans-serif; - font-size: 32px !important; + font-weight: bold; + padding: 5px 0; + margin: 0; + color: #fff; + border: none; + line-height: 2em; + font-size: 32px !important; } #main { - padding: 30px 30px 15px 30px; - background-color: #fff; - margin-bottom: 30px; - _height: 1px; /* only IE6 applies CSS properties starting with an underscore */ + padding: 30px 30px 15px 30px; + background-color: #fff; + margin-bottom: 30px; + _height: 1px; /* only IE6 applies CSS properties starting with an underscrore */ + background-image: url( 'BannerBottomEdge.gif' ); + background-position: bottom; + background-repeat: repeat-x; } #footer { - color: #999; - padding: 10px 0; - text-align: center; - line-height: normal; - margin: 0; - font-size: .9em; + color: #999; + padding: 10px 0; + text-align: center; + line-height: normal; + margin: 0; + font-size: .9em; } /* TAB MENU ----------------------------------------------------------*/ ul#menu { - border-bottom: 0px #FFC200 solid; - padding: 0 0 2px; - position: relative; - margin: 0; - text-align: right; + padding: 0; + position: relative; + margin: 0; + text-align: right; } ul#menu li { - display: inline; - list-style: none; + display: inline; + list-style: none; } ul#menu li#greeting { - padding: 10px 20px; - font-weight: bold; - text-decoration: none; - line-height: 2.8em; - color: #fff; + padding: 10px 20px; + font-weight: bold; + text-decoration: none; + line-height: 2.8em; + color: #fff; } ul#menu li a { - padding: 10px 20px; - font-weight: bold; - text-decoration: none; - line-height: 2.8em; - background-color: #fff; - color: #FFC200; + padding: 10px 20px; + font-weight: bold; + text-decoration: none; + line-height: 2.8em; + background-color: #fff; + color: #3C80DB; + border: Solid 1px #AECAF0; } ul#menu li a:hover { - background-color: #FFC200; - color : #fff; - border: 1px solid #fff; - border-bottom: #FFC200; - text-decoration: none; + background-color: #3C80DB; + text-decoration: none; + color: #fff; + border: Solid 1px #AECAF0; } ul#menu li a:active { - background-color: #FF5B00; - text-decoration: none; + background-color: #3C80DB; + text-decoration: none; + color: #fff; + border: Solid 1px #AECAF0; } ul#menu li.selected a { - background-color: #fff; - color: #000; + background-color: #fff; + color: #000; } /* FORM LAYOUT ELEMENTS ----------------------------------------------------------*/ -fieldset +fieldset { - margin: 1em 0; - padding: 1em; - border: 1px solid #CCC; + margin: 1em 0; + padding: 1em; + border: 1px solid #CCC; } -fieldset p +fieldset p { - margin: 2px 12px 10px 10px; + margin: 2px 12px 10px 10px; } -legend +fieldset label { - font-size: 1.1em; - font-weight: 600; - padding: 2px 4px 8px 4px; + display: block; + color: #303030; } -input[type="text"] +fieldset label.inline { - width: 200px; - border: 1px solid #CCC; + display: inline; } -input[type="password"] +legend { - width: 200px; - border: 1px solid #CCC; + font-size: 1.1em; + font-weight: 600; + padding: 2px 4px 8px 4px; + color: #3C80DB; +} + +input[type="text"] +{ + width: 200px; + border: 1px solid #3C80DB; + color: #696969; +} + +input[type="password"] +{ + width: 200px; + border: 1px solid #3C80DB; + color: #696969; +} + +input[type="submit"] +{ + background-image: url( 'ButtonBack.gif' ); + background-repeat: repeat-x; + border: 1px solid #3C80DB; + color: #283B56; + cursor: pointer; } /* TABLE ----------------------------------------------------------*/ -table +table { - border: solid 1px #4AC0F2; - border-collapse: collapse; + border: Solid 1px #A3C0E8; + border-collapse: collapse; + color: #283B56; } -table td +table td { - padding: 5px; - border: solid 1px #4AC0F2; + padding: 5px; + border: Solid 1px #A3C0E8; } table th { - padding: 6px 5px; - text-align: left; - background-color: #4AC0F2; - border: solid 1px #4AC0F2; + padding: 6px 5px; + text-align: left; + border: Solid 1px #A3C0E8; + background-image: url( 'TableHeaderBackground.gif' ); + background-position: left; + background-repeat: repeat-x; + color: #283B56; + cursor: pointer; } /* MISC ----------------------------------------------------------*/ .clear { - clear: both; + clear: both; } .error { - color:Red; + color: Red; } #menucontainer { - margin-top:40px; + margin-top: 40px; } div#title { - display:block; - float:left; - text-align:left; + display: block; + float: left; + text-align: left; } #logindisplay { - font-size:1.1em; - display:block; - text-align:right; - margin:10px; - color:White; + font-size: 1.1em; + display: block; + text-align: right; + margin: 10px; + color: White; } #logindisplay a:link { - color: white; - text-decoration: underline; + color: white; + text-decoration: underline; } #logindisplay a:visited { - color: white; - text-decoration: underline; + color: white; + text-decoration: underline; } #logindisplay a:hover { - color: white; - text-decoration: none; + color: white; + text-decoration: none; } -/* Styles for validation helpers ------------------------------------------------------------*/ .field-validation-error { - color: #ff0000; -} - -.field-validation-valid -{ - display: none; + color: #ff0000; + background-image: url( 'Error.png' ); + background-position: left; + background-repeat: no-repeat; + padding: 0px 0px 0px 20px; + font-size:0.9em; } .input-validation-error { - border: 1px solid #ff0000; - background-color: #ffeeee; + background-color: #ffeeee; } .validation-summary-errors { - font-weight: bold; - color: #ff0000; -} - -.validation-summary-valid -{ - display: none; -} - -/* Styles for editor and display helpers -----------------------------------------------------------*/ -.display-label, -.editor-label, -.display-field, -.editor-field -{ - margin: 0.5em 0; -} - -.text-box -{ - width: 30em; -} - -.text-box.multi-line -{ - height: 6.5em; + font-size:0.9em; + padding: 4px; + color: #ff0000; } -.tri-state +.validation-summary-errors li { - width: 6em; + margin: 0px; + padding: 0px; + list-style: none; } diff --git a/NzbDrone.Web/Content/TableHeaderBackground.gif b/NzbDrone.Web/Content/TableHeaderBackground.gif new file mode 100644 index 000000000..bf28c89bf Binary files /dev/null and b/NzbDrone.Web/Content/TableHeaderBackground.gif differ diff --git a/NzbDrone.Web/Content/menuBack.gif b/NzbDrone.Web/Content/menuBack.gif new file mode 100644 index 000000000..5e20e2396 Binary files /dev/null and b/NzbDrone.Web/Content/menuBack.gif differ diff --git a/NzbDrone.Web/Content/menuHoverBack.gif b/NzbDrone.Web/Content/menuHoverBack.gif new file mode 100644 index 000000000..804b0e2f1 Binary files /dev/null and b/NzbDrone.Web/Content/menuHoverBack.gif differ diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 20dc9199d..3f14da25a 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -80,6 +80,14 @@ + + + + + + + +