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 @@
+
+
+
+
+
+
+
+