diff options
-rw-r--r-- | classes/article.php | 6 | ||||
-rw-r--r-- | classes/handler/public.php | 2 | ||||
-rw-r--r-- | classes/rssutils.php | 28 | ||||
-rw-r--r-- | css/Makefile | 4 | ||||
-rw-r--r-- | css/cdm.css | 413 | ||||
-rw-r--r-- | css/cdm.less | 416 | ||||
-rw-r--r-- | css/default.css | 1 | ||||
-rw-r--r-- | css/default.less | 11 | ||||
-rw-r--r-- | css/dijit.css | 666 | ||||
-rw-r--r-- | css/dijit.less | 664 | ||||
-rw-r--r-- | css/layout.css | 2 | ||||
-rw-r--r-- | css/prefs.css | 129 | ||||
-rw-r--r-- | css/prefs.less | 130 | ||||
-rw-r--r-- | css/tt-rss.less (renamed from css/tt-rss.css) | 975 | ||||
-rw-r--r-- | css/utility.css | 14 | ||||
-rw-r--r-- | include/functions.php | 20 | ||||
-rw-r--r-- | include/login_form.php | 3 | ||||
-rwxr-xr-x | include/sanity_check.php | 25 | ||||
-rwxr-xr-x | install/index.php | 2 | ||||
-rw-r--r-- | locale/ru_RU/LC_MESSAGES/messages.mo | bin | 73963 -> 73982 bytes | |||
-rw-r--r-- | locale/ru_RU/LC_MESSAGES/messages.po | 2 | ||||
-rw-r--r-- | register.php | 2 | ||||
-rw-r--r-- | schema/ttrss_schema_mysql.sql | 3 | ||||
-rw-r--r-- | schema/ttrss_schema_pgsql.sql | 3 | ||||
-rw-r--r-- | schema/versions/mysql/133.sql | 7 | ||||
-rw-r--r-- | schema/versions/pgsql/133.sql | 7 | ||||
-rw-r--r-- | themes/default.php | 6 |
27 files changed, 1823 insertions, 1718 deletions
diff --git a/classes/article.php b/classes/article.php index 8c8e0bdda..1d5f06e70 100644 --- a/classes/article.php +++ b/classes/article.php @@ -43,7 +43,7 @@ class Article extends Handler_Protected { } else if ($mode == "raw") { if (isset($_REQUEST['html'])) { header("Content-Type: text/html"); - print '<link rel="stylesheet" type="text/css" href="css/tt-rss.css"/>'; + print '<link rel="stylesheet" type="text/css" href="css/default.css"/>'; } $article = $this->format_article($id, false, isset($_REQUEST["zoom"])); @@ -601,9 +601,7 @@ class Article extends Handler_Protected { $rv['content'] .= "<html><head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/> <title>".$line["title"]."</title>". - stylesheet_tag("css/tt-rss.css"). - stylesheet_tag("css/zoom.css"). - stylesheet_tag("css/dijit.css")." + stylesheet_tag("css/default.css")." <link rel=\"shortcut icon\" type=\"image/png\" href=\"images/favicon.png\"> <link rel=\"icon\" type=\"image/png\" sizes=\"72x72\" href=\"images/favicon-72px.png\"> diff --git a/classes/handler/public.php b/classes/handler/public.php index ec41ddb87..a98ea0193 100644 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -387,7 +387,7 @@ class Handler_Public extends Handler { <link rel=\"icon\" type=\"image/png\" sizes=\"72x72\" href=\"images/favicon-72px.png\">"; echo stylesheet_tag("css/utility.css"); - echo stylesheet_tag("css/dijit.css"); + echo stylesheet_tag("css/default.css"); echo javascript_tag("lib/prototype.js"); echo javascript_tag("lib/scriptaculous/scriptaculous.js?load=effects,controls"); print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/> diff --git a/classes/rssutils.php b/classes/rssutils.php index d6fe048f9..f6326720d 100644 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -312,7 +312,8 @@ class RSSUtils { feed_url,auth_pass,cache_images, mark_unread_on_update, owner_uid, auth_pass_encrypted, feed_language, - last_modified + last_modified, + ".SUBSTRING_FOR_DATE."(last_unconditional, 1, 19) AS last_unconditional FROM ttrss_feeds WHERE id = '$feed'"); $owner_uid = db_fetch_result($result, 0, "owner_uid"); @@ -333,6 +334,7 @@ class RSSUtils { } $stored_last_modified = db_fetch_result($result, 0, "last_modified"); + $last_unconditional = db_fetch_result($result, 0, "last_unconditional"); $cache_images = sql_bool_to_bool(db_fetch_result($result, 0, "cache_images")); $fetch_url = db_fetch_result($result, 0, "feed_url"); $feed_language = db_escape_string(mb_strtolower(db_fetch_result($result, 0, "feed_language"))); @@ -384,21 +386,21 @@ class RSSUtils { // fetch feed from source if (!$feed_data) { - _debug("stored last modified: $stored_last_modified", $debug_enabled); - _debug("fetching [$fetch_url]...", $debug_enabled); + _debug("last unconditional update request: $last_unconditional"); if (ini_get("open_basedir") && function_exists("curl_init")) { _debug("not using CURL due to open_basedir restrictions"); } - /*$feed_data = fetch_file_contents($fetch_url, false, - $auth_login, $auth_pass, false, - $no_cache ? FEED_FETCH_NO_CACHE_TIMEOUT : FEED_FETCH_TIMEOUT, - 0);*/ + if (time() - strtotime($last_unconditional) > MAX_CONDITIONAL_INTERVAL) { + _debug("maximum allowed interval for conditional requests exceeded, forcing refetch"); + + $force_refetch = true; + } else { + _debug("stored last modified for conditional request: $stored_last_modified", $debug_enabled); + } - // TODO: last_modified should be limited, if the feed has not been updated for a while - // we probably should force one update without the header - // unfortunately last_updated gets bumped on http 304 so that daemon would work properly + _debug("fetching [$fetch_url] (force_refetch: $force_refetch)...", $debug_enabled); $feed_data = fetch_file_contents([ "url" => $fetch_url, @@ -553,7 +555,7 @@ class RSSUtils { _debug("no articles found.", $debug_enabled); db_query("UPDATE ttrss_feeds - SET last_updated = NOW(), last_error = '' WHERE id = '$feed'"); + SET last_updated = NOW(), last_unconditional = NOW(), last_error = '' WHERE id = '$feed'"); return; // no articles } @@ -1140,7 +1142,7 @@ class RSSUtils { purge_feed($feed, 0, $debug_enabled); db_query("UPDATE ttrss_feeds - SET last_updated = NOW(), last_error = '' WHERE id = '$feed'"); + SET last_updated = NOW(), last_unconditional = NOW(), last_error = '' WHERE id = '$feed'"); // db_query("COMMIT"); @@ -1158,7 +1160,7 @@ class RSSUtils { db_query( "UPDATE ttrss_feeds SET last_error = '$error_msg', - last_updated = NOW() WHERE id = '$feed'"); + last_updated = NOW(), last_unconditional = NOW() WHERE id = '$feed'"); unset($rss); return; diff --git a/css/Makefile b/css/Makefile new file mode 100644 index 000000000..cb929bb4c --- /dev/null +++ b/css/Makefile @@ -0,0 +1,4 @@ + +default.css: *.less + lessc -x default.less > $@ + diff --git a/css/cdm.css b/css/cdm.css deleted file mode 100644 index 5f4bf3004..000000000 --- a/css/cdm.css +++ /dev/null @@ -1,413 +0,0 @@ -div.cdmHeader img, div.cdmHeader input, div.cdmFooter img { - vertical-align : middle; -} - -div.cdmHeader, div.cdmFooter { - display : table; -} - -div.cdmHeader > * { - display : table-cell; - padding : 5px; -} - -div.cdmFooter > * { - display : table-cell; - vertical-align : middle; -} - -div.cdmHeader > div, div.cdmFooter > div { - white-space : nowrap; -} - -div.cdmHeader > span, div.cdmFooter > span.left { - width : 100%; -} - -div.cdmHeader span.updated { - color : #555; - font-weight : normal; - font-size : 11px; - white-space : nowrap; - vertical-align : middle; -} - -div.cdmHeader input { - margin-right : 5px; -} - -div.cdmHeader div.updPic { - width : 25px; - display : inline-block; - text-align : center; -} - -div.cdmHeader div.updPic img { - vertical-align : middle; -} - -div.cdmHeader img, div.cdmFooter img { - margin : 0px 4px; -} - -div.cdmHeader input { - margin-left : 4px; - margin-right : 4px; -} - -div.cdmIntermediate { - margin : 10px; -} - -div.cdmContentInner { - margin : 10px; - line-height : 1.5; - font-size : 16px; -} - -div.cdmIntermediate img, -div.cdmIntermediate video, -div.cdmContentInner img, -div.cdmContentInner video { - border-width : 0px; - max-width : 98%; - height : auto; -} - -div.cdmContentInner h1 { - font-size : 16px; -} - -div.cdmContentInner h2, -div.cdmContentInner h3, -div.cdmContentInner h4 { - font-size : 15px; -} - -div.cdmFooter { - height : 30px; - padding-left : 5px; - font-weight : normal; - color : #555; - clear : both; -} - -div.cdm { - margin-right : 4px; -} - -div.cdm.expanded { - margin-top : 4px; - margin-bottom : 4px; -} - -div.cdm.expanded div.cdmFooter { - border-style : solid; - border-width : 0px 0px 1px 0px; - border-color : #ddd; -} - -div.cdm.expandable { - background-color : #f0f0f0; - border-width : 0px 0px 1px 0px; - border-color : #ddd; - border-style : solid; -} - -div.cdm.expandable > hr { - display : none; -} - -div.cdm.expanded > hr { - margin-top : 0px; - margin-bottom : 0px; -} - -div.cdm.expandable.Unread { - background : white; -} - -div.cdm.expandable.Selected { - background : #f9fbff; -} - -div.cdm.expandable.active { - background : white ! important; -} - -div.cdm.expandable div.cdmHeader span.titleWrap { - white-space : nowrap; - text-overflow : ellipsis; - overflow : hidden; - max-width : 500px; -} - -div.cdm.expandable.active div.cdmHeader span.titleWrap { - white-space : normal; -} - -div.cdm.expandable div.cdmHeader a.title { - font-weight : 600; - color : #555; - font-size : 14px; - -webkit-transition : color 0.2s; - transition : color 0.2s; - text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; -} - -div.cdm.expandable.Unread div.cdmHeader a.title { - color : black; -} - -div.cdm.expandable.active div.cdmHeader a.title { - color : #0088cc; - font-size : 16px; - font-weight : 600; - text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; -} - -div.cdm.expanded div.cdmHeader { - background : transparent ! important; -} - -div.cdm.expanded div.cdmHeader a.title { - font-size : 16px; - color : #999; - font-weight : 600; - -webkit-transition : color 0.2s; - transition : color 0.2s; - text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; -} - -div.cdm.expanded.active { - background : white; -} - -div.cdm.expanded.active div.cdmHeader a.title { - color : #0088cc; -} - -div.cdm.expanded.Unread div.cdmHeader a.title { - color : black; -} - -div.cdm.expanded div.cdmContent { - color : #555; -} - -div.cdm.expanded.Unread div.cdmContent { - color : black; -} - -div.cdm.active div.cdmContent { - color : black; -} - -span.cdmExcerpt { - white-space : nowrap; - font-size : 11px; - color : #999; - font-weight : normal; - cursor : pointer; -} - -div.cdmContent div.postEnclosures { - margin-top : 1em; - color : #555; -} - -div.cdmFeedTitle { - border-color : #0088cc; - border-width : 0px 0px 1px 0px; - border-style : solid; - padding : 5px 3px 5px 5px; -} - -div.cdmFeedTitle a.title { - color : #555; - font-weight : bold; -} - -div.cdmFeedTitle a { - color : #555; -} - -div.cdmFeedTitle a:hover { - color : #0088cc; -} - -div.cdmHeader span.hlFeed { - float : right; - font-weight : normal; - font-style : italic; -} - -div.cdmHeader div.hlFeed, div.cdmHeader div.hlFeed a { - vertical-align : middle; - color : #555; - font-weight : normal; - font-style : italic; - font-size : 11px; -} - -div.cdm .hlFeed a { - border-radius : 4px; - display : inline-block; - padding : 1px 4px 1px 4px; -} - -div.cdmContentInner p { - /*max-width : 650px;*/ - -webkit-hyphens: auto; - -moz-hyphens: auto; - hyphens: auto; -} - -div.cdmContentInner iframe { - min-width : 50%; - max-width : 98%; -} - -div.cdmHeader span.author { - white-space : nowrap; - color : #555; - font-size : 11px; - font-weight : normal; -} - - -div#floatingTitle { - position : absolute; - z-index : 5; - top : 0px; - right : 0px; - left : 0px; - border-color : #ddd; - border-width : 0px 0px 1px 0px; - border-style : solid; - background : white; - color : #555; - box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1); -} - -div#floatingTitle > * { - display : table-cell; - white-space : nowrap; - vertical-align : middle; - padding : 9px 5px; -} - -div#floatingTitle img { - margin-right : 4px; - margin-left : 4px; -} - -div#floatingTitle span.author { - color : #555; - font-size : 11px; - font-weight : normal; -} - -div#floatingTitle a.title { - font-size : 16px; - color : #999; - -webkit-transition : color 0.2s; - transition : color 0.2s; - font-weight : 600; - text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; -} - -div#floatingTitle.Unread a.title { - color : black; -} - -div#floatingTitle img.anchor { - margin-left : 0px; -} - -div#floatingTitle div.hlFeed { - padding-right : 10px; - color : #555; - font-weight : normal; - font-style : italic; - font-size : 11px; - white-space : nowrap; -} - -div#floatingTitle div.hlFeed a { - border-radius : 4px; - display : inline-block; - padding : 1px 4px 1px 4px; -} - -div#floatingTitle span.updated { - padding-right : 10px; - white-space : nowrap; - color : #555; - font-size : 11px; -} - -div#floatingTitle div.hlFeed a { - color : #555; -} - -div#floatingTitle span.titleWrap { - width : 100%; - white-space : normal; -} - -div#floatingTitle .dijit, -div#floatingTitle img.hlScorePic { - display : none; -} - -.cdm.high .cdmHeader a.title.high, .cdm.high .cdmHeader .cdmExcerpt, -.cdm.high .cdmHeader span.author { - color : #00aa00; -} - -.cdm.Unread.high .cdmHeader a.title.high, .cdm.Unread.high .cdmHeader .cdmExcerpt, -.cdm.Unread.high .cdmHeader span.author { - color : #00dd00; -} - -.cdm .cdmHeader a.title.low, .cdm.low .cdmHeader .cdmExcerpt, -.cdm.Unread .cdmHeader a.title.low, .cdm.Unread.low .cdmHeader .cdmExcerpt, -.cdm.low .cdmHeader span.author { - color : #909090; - text-decoration : line-through; -} - -div.cdmFeedTitle > * { - display : table-cell; - vertical-align : middle; -} - -div.cdmFeedTitle a.title { - width : 100%; -} - -div.cdmFeedTitle a.catchup { - text-align : right; - color : #555; - padding-right : 10px; - font-size : 11px; - white-space : nowrap; -} - -div.cdmFeedTitle a.catchup:hover { - color : #0088cc; -} - diff --git a/css/cdm.less b/css/cdm.less new file mode 100644 index 000000000..5a79addbd --- /dev/null +++ b/css/cdm.less @@ -0,0 +1,416 @@ +.cdm { + margin-right : 4px; + + .cdmHeader, .cdmFooter { + display : table; + } + + .cdmHeader img, .cdmHeader input, .cdmFooter img { + vertical-align : middle; + } + + .cdmHeader > div, .cdmFooter > div { + white-space : nowrap; + } + + .cdmHeader > span, .cdmFooter > span.left { + width : 100%; + } + + .cdmHeader img, .cdmFooter img { + margin : 0px 4px; + } + + .cdmHeader { + > * { + display : table-cell; + padding : 5px; + } + + span.updated { + color : #555; + font-weight : normal; + font-size : 11px; + white-space : nowrap; + vertical-align : middle; + } + + input { + margin-right : 5px; + } + + div.updPic { + width : 25px; + display : inline-block; + text-align : center; + } + + div.updPic img { + vertical-align : middle; + } + + input { + margin-left : 4px; + margin-right : 4px; + } + } + + .cdmFooter { + height : 30px; + padding-left : 5px; + font-weight : normal; + color : #555; + clear : both; + + > * { + display : table-cell; + vertical-align : middle; + } + } + + .cdmIntermediate { + margin : 10px; + } + + .cdmContentInner { + margin : 10px; + line-height : 1.5; + font-size : 16px; + + h1 { + font-size : 16px; + } + + h2, + h3, + h4 { + font-size : 15px; + } + + } + + .cdmIntermediate img, + .cdmIntermediate video, + .cdmContentInner img, + .cdmContentInner video { + border-width : 0px; + max-width : 98%; + height : auto; + } +} + +.cdm.expanded { + margin-top : 4px; + margin-bottom : 4px; + + .cdmFooter { + border: 0px solid #ddd; + border-bottom-width: 1px; + } + + > hr { + margin-top : 0px; + margin-bottom : 0px; + } + +} + +.cdm.expandable { + background-color : #f0f0f0; + border: 0px solid #ddd; + border-bottom-width: 1px; + + > hr { + display : none; + } + + div.cdmHeader span.titleWrap { + white-space : nowrap; + text-overflow : ellipsis; + overflow : hidden; + max-width : 500px; + } +} + +.cdm.expandable.Unread { + background : white; +} + +.cdm.expandable.Selected { + background : #f9fbff; +} + +.cdm.expandable.active { + background : white ! important; +} + +div.cdm.expandable.active div.cdmHeader span.titleWrap { + white-space : normal; +} + +div.cdm.expandable div.cdmHeader a.title { + font-weight : 600; + color : #555; + font-size : 14px; + -webkit-transition : color 0.2s; + transition : color 0.2s; + text-rendering: optimizelegibility; + font-family : @fonts-ui-bold; +} + +div.cdm.expandable.Unread div.cdmHeader a.title { + color : black; +} + +div.cdm.expandable.active div.cdmHeader a.title { + color: @color-link; + font-size: 16px; + font-weight: 600; + text-rendering: optimizelegibility; + font-family: @fonts-ui-bold; +} + +div.cdm.expanded div.cdmHeader { + background : transparent ! important; +} + +div.cdm.expanded div.cdmHeader a.title { + font-size : 16px; + color : #999; + font-weight : 600; + -webkit-transition : color 0.2s; + transition : color 0.2s; + text-rendering: optimizelegibility; + font-family : @fonts-ui-bold; +} + +div.cdm.expanded.active { + background : white; +} + +div.cdm.expanded.active div.cdmHeader a.title { + color : @color-link; +} + +div.cdm.expanded.Unread div.cdmHeader a.title { + color : black; +} + +div.cdm.expanded div.cdmContent { + color : #555; +} + +div.cdm.expanded.Unread div.cdmContent { + color : black; +} + +div.cdm.active div.cdmContent { + color : black; +} + +span.cdmExcerpt { + white-space : nowrap; + font-size : 11px; + color : #999; + font-weight : normal; + cursor : pointer; +} + +div.cdmContent div.postEnclosures { + margin-top : 1em; + color : #555; +} + +div.cdmFeedTitle { + border: 0px solid @color-link; + border-bottom-width: 1px; + padding : 5px 3px 5px 5px; +} + +div.cdmFeedTitle a.title { + color : #555; + font-weight : bold; +} + +div.cdmFeedTitle a { + color : #555; +} + +div.cdmFeedTitle a:hover { + color : @color-link; +} + +div.cdmHeader span.hlFeed { + float : right; + font-weight : normal; + font-style : italic; +} + +div.cdmHeader div.hlFeed, div.cdmHeader div.hlFeed a { + vertical-align : middle; + color : #555; + font-weight : normal; + font-style : italic; + font-size : 11px; +} + +div.cdm .hlFeed a { + border-radius : 4px; + display : inline-block; + padding : 1px 4px 1px 4px; +} + +div.cdmContentInner p { + /*max-width : 650px;*/ + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; +} + +div.cdmContentInner iframe { + min-width : 50%; + max-width : 98%; +} + +div.cdmHeader span.author { + white-space : nowrap; + color : #555; + font-size : 11px; + font-weight : normal; +} + +div#floatingTitle { + position : absolute; + z-index : 5; + top : 0px; + right : 0px; + left : 0px; + border: 0px solid #ddd; + border-bottom-width: 1px; + background : white; + color : #555; + box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1); + + > * { + display : table-cell; + white-space : nowrap; + vertical-align : middle; + padding : 9px 5px; + } + + img { + margin-right : 4px; + margin-left : 4px; + } + + span.author { + color : #555; + font-size : 11px; + font-weight : normal; + } + + a.title { + font-size : 16px; + color : #999; + -webkit-transition : color 0.2s; + transition : color 0.2s; + font-weight : 600; + text-rendering: optimizelegibility; + font-family : @fonts-ui-bold; + } + + img.anchor { + margin-left : 0px; + } + + div.hlFeed { + padding-right : 10px; + color : #555; + font-weight : normal; + font-style : italic; + font-size : 11px; + white-space : nowrap; + } + + div.hlFeed a { + border-radius : 4px; + display : inline-block; + padding : 1px 4px 1px 4px; + } + + span.updated { + padding-right : 10px; + white-space : nowrap; + color : #555; + font-size : 11px; + } + + div.hlFeed a { + color : #555; + } + + span.titleWrap { + width : 100%; + white-space : normal; + } + + .dijit, + img.hlScorePic { + display : none; + } + +} + +div#floatingTitle.Unread a.title { + color : black; +} + +.cdm.high .cdmHeader { + a.title.high, + .cdmExcerpt, + span.author { + color : #00aa00; + } +} + +.cdm.Unread.high .cdmHeader { + a.title.high, + .cdmExcerpt, + span.author { + color : #00dd00; + } +} + +.cdm .cdmHeader a.title.low, +.cdm.low .cdmHeader .cdmExcerpt, +.cdm.Unread .cdmHeader a.title.low, +.cdm.Unread.low .cdmHeader .cdmExcerpt, +.cdm.low .cdmHeader span.author { + color : #909090; + text-decoration : line-through; +} + +.cdmFeedTitle { + + > * { + display : table-cell; + vertical-align : middle; + } + + a.title { + width : 100%; + } + + a.catchup { + text-align : right; + color : #555; + padding-right : 10px; + font-size : 11px; + white-space : nowrap; + } + + a.catchup:hover { + color : @color-link; + } + +} diff --git a/css/default.css b/css/default.css new file mode 100644 index 000000000..0abe17236 --- /dev/null +++ b/css/default.css @@ -0,0 +1 @@ +body{background:#fff;color:#000;margin:0;padding:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px}body#ttrssMain{overflow:hidden;max-height:100%}:focus{outline:none}div.postReply{padding:0}div.postReply div.postHeader{padding:5px;margin-right:4px;color:#909090;border:0 solid #ddd;border-bottom-width:1px}div.postReply div.postHeader div.postDate{text-align:right;color:#909090;float:right}div.postReply div.postHeader div{padding-bottom:3px}div.postReply div.postHeader span.author{color:#555;font-size:11px;font-weight:normal}div.postReply div.postTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-rendering:optimizelegibility;font-family:"Segoe WP Semibold","Segoe UI Semibold","Segoe UI Web Semibold","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}div.postReply div.postDate{padding-left:10px}div.postReply div.postContent{padding:10px;font-size:16px}div.postReply div.postContent img,div.postReply div.postContent video{border-width:0;max-width:98%;height:auto}div.postReply div.postContent h1{font-size:16px}div.postReply div.postContent h2,div.postReply div.postContent h3,div.postReply div.postContent h4{font-size:15px}div.postReply div.postContent p{hyphens:auto}div.postReply div.postContent iframe{min-width:50%;max-width:98%}div.postReply div.postEnclosures{color:#555}div.postReply img.tagsPic{width:16px;height:16px;margin-left:4px;vertical-align:middle}div.postReply span.author{font-size:12px}div.articleNote{background-color:#fff7d5;padding:5px;margin:5px;border:1px solid #e7d796;color:#9a8c59}div.articleNote div.noteEdit{float:right;cursor:pointer}h1{font-size:18px;font-weight:600;text-rendering:optimizelegibility;font-family:"Segoe UI Web","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}h2{font-size:16px;font-weight:600;border:0 solid #ecf4ff;border-bottom-width:1px;text-rendering:optimizelegibility;font-family:"Segoe UI Web","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}h3{font-size:13px;border:0 solid #ecf4ff;border-bottom-width:1px;font-weight:600;text-rendering:optimizelegibility;font-family:"Segoe UI Web","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}h4{font-size:14px;font-weight:600;text-rendering:optimizelegibility;font-family:"Segoe UI Web","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}hr{border:0 solid #ccc;border-bottom-width:1px}a{color:#08c;text-decoration:none}a:hover{color:#046;text-decoration:underline}#notify.visible{transform:translate(0, -35px)}#notify{bottom:-35px;right:0;height:20px;left:0;border-width:1px 0 0 0;border-style:solid;position:fixed;font-size:12px;z-index:99;padding:5px;box-shadow:0 -2px 2px rgba(0,0,0,0.1);transition:all .5s ease-in-out}#notify img{vertical-align:middle;max-height:14px}#notify span.msg{width:100%}#notify img.close{cursor:pointer}#notify span{display:table-cell;vertical-align:middle;padding:2px}.notify{border-color:#d7c47a;background-color:#fff7d5}.notify.notify_progress{border-color:#d7c47a;background-color:#fff7d5}.notify.notify_info{border-color:#52a8ec;background-color:#ecf4ff}.notify.notify_error{background-color:#fcc;border-color:#f00}.hl{border:0 solid #ddd;border-bottom-width:1px;padding:1px}.hl div.hlTitle{display:table-cell;cursor:pointer;width:100%;vertical-align:middle;overflow:hidden;white-space:nowrap;max-width:500px;text-overflow:ellipsis;padding:4px 6px}.hl div.hlLeft{display:table-cell;vertical-align:middle;white-space:nowrap}.hl div.hlRight{display:table-cell;white-space:nowrap;text-align:right;vertical-align:middle}.hl div.hlRight img{max-width:16px;max-height:16px}.hl span.hlFeed{display:table-cell;vertical-align:middle;text-align:right}.hl span.hlFeed a{border-radius:4px;display:inline-block;padding:1px 4px 1px 4px;font-size:11px;font-style:italic;font-weight:normal;color:#555;white-space:nowrap}.hl span.hlFeed a:hover{color:#52a8ec}.hl span.hlUpdated{color:#555;display:table-cell;vertical-align:middle;text-align:right;font-size:11px;white-space:nowrap;padding-left:10px}.hl span.hlUpdated div{display:inline-block}.hl div.hlLeft{padding-left:8px}.hl div.hlLeft input{margin-left:4px;margin-right:4px}.hl div.hlLeft img,.hl div.hlRight img{margin:0 4px}.hl div.hlLeft img{width:16px;height:16px}.hl div.hlTitle a{font-weight:600;text-rendering:optimizelegibility;font-family:"Segoe UI Web","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#777}.hl a.title.high,.hl span.hlContent.high .contentPreview{color:#0a0}.hl.Unread a.title.high,.hl.Unread span.hlContent.high .contentPreview{color:#0d0}.hl a.title.low,span.hlContent.low .contentPreview,.hl.Unread a.title.low,.hl.Unread span.hlContent.low .contentPreview{color:#909090;text-decoration:line-through}.hl.Unread div.hlTitle a{color:#000}.hl.active{background:#ecf4ff ! important}.hl.active div.hlTitle a{color:#52a8ec}.hl.Selected{background:#f9fbff}.hl.Grayed{color:#909090}div.filterTestHolder{height:300px;overflow:auto;border-color:#ddd;border-style:solid;margin:0 0 5px 0;border-width:1px}#content-insert blockquote,#headlines-frame blockquote,.dijitContentPane blockquote{margin:5px 0 5px 0;color:#555;padding-left:10px;border:0 solid #ccc;border-left-width:4px}#content-insert code,#headlines-frame code,.dijitContentPane code{color:#090;font-family:monospace;font-size:12px}#content-insert pre,#headlines-frame pre,.dijitContentPane pre{margin:5px 0 5px 0;padding:10px;color:#555;font-family:monospace;font-size:12px;border:0 solid #ccc;background:#f5f5f5;display:block;max-width:98%;overflow:auto}.alert{padding:8px 35px 8px 14px;margin-bottom:10px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px;cursor:pointer}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}ul.nomarks{list-style-type:none;margin:0;padding:10px}div.prefHelp{color:#555;padding:5px}.insensitive{color:#555}.small{font-size:11px}#main-toolbar>*{white-space:nowrap;display:table-cell;color:#999;overflow:hidden}#main-toolbar>*,#main-toolbar table *,#main-toolbar .actionChooser *{text-rendering:optimizelegibility;font-family:"Segoe UI Web","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px}#main-toolbar #headlines-toolbar{padding-right:4px;width:100%}#main-toolbar #headlines-toolbar span.holder{display:table;width:100%}#main-toolbar #headlines-toolbar span.holder>*{display:table-cell}#main-toolbar #headlines-toolbar .main{text-align:right}#main-toolbar #headlines-toolbar .main,#main-toolbar #headlines-toolbar .r{line-height:24px}#main-toolbar #headlines-toolbar span.r img{margin-right:4px;position:relative;top:3px}#main-toolbar #headlines-toolbar span.r .error a{color:#f00}#main-toolbar #selected_prompt{font-style:italic;text-align:right;margin-right:4px}@media (max-width:992px){#main-toolbar #selected_prompt{display:none}}span.contentPreview{color:#999;font-weight:normal;font-size:12px;padding-left:4px}span.hlLabelRef{background-color:#fff7d5;font-size:8px;color:#063064;font-weight:normal;margin-left:2px;padding:1px 4px 1px 4px;display:inline-block;vertical-align:middle;white-space:nowrap;border-radius:4px}img.markedPic,img.pubPic{cursor:pointer;vertical-align:middle;opacity:.5;transition:opacity .25s}img.markedPic:hover,img.pubPic:hover{opacity:1}img[src*='pub_set.png'],img[src*='mark_set.png']{opacity:1}div.tagCloudContainer{border:1px solid #ddd;margin:5px 0 5px 0;padding:5px;text-align:center}div.errorExplained{border:1px solid #ddd;margin:5px 0 5px 0;padding:5px}ul.feedErrorsList{max-height:300px;overflow:auto;list-style-type:none;border:1px solid #ddd;margin:0 0 5px 0;padding:5px}ul.feedErrorsList em{color:#555}ul.browseFeedList{height:300px;overflow:auto;border-width:0 1px 1px 1px;border-color:#ddd;border-style:solid;margin:0 0 5px 0;background-color:#fff;list-style-type:none;padding:0}ul.browseFeedList li{margin:0;padding:2px 4px 2px 4px}.browseFeedList span.subscribers{color:#808080}ul.compact{list-style-type:none;margin:0;padding:0}ul.compact li{margin:0;padding:0}.noborder{border-width:0}#overlay{background:#fff;left:0;top:0;height:100%;width:100%;z-index:100;position:absolute}#overlay_inner{font-weight:bold;margin:1em}form{margin:0;padding:0}div.loadingPrompt{padding:1em;text-align:center;font-weight:bold}div.whiteBox{margin-left:1px;text-align:center;padding:1em 1em 0 1em;font-size:11px;border:0 solid #ddd;border-bottom-width:1px}div.autocomplete{position:absolute;width:250px;background-color:#fff;border:1px solid #789;margin:0;padding:0}div.autocomplete ul{list-style-type:none;margin:0;padding:0}div.autocomplete ul li.selected{background-color:#fff7d5}div.autocomplete ul li{list-style-type:none;display:block;margin:0;padding:2px;height:32px;cursor:pointer}div#headlines-frame.wide .hlTitle{max-width:none;overflow:visible;white-space:normal}div#headlines-frame.wide .hl .hlFeed{display:none}img.hlScorePic{vertical-align:middle;width:16px;height:16px}div.dlgSec{font-size:12px;color:#555;font-weight:bold;clear:both;height:20px}div.dlgSecCont{position:relative;left:150px;top:-20px;float:left;font-size:12px;font-weight:normal}div.dlgSecCont>*{position:relative;top:-2px}div.dlgSecCont hr,div.dlgSecSimple hr{height:0;line-height:0;border:0 solid transparent;margin:2px}div.dlgButtons{text-align:right;clear:both}span.labelColorIndicator{height:16px;width:16px;border-radius:4px;line-height:14px;vertical-align:middle;font-size:9px;display:inline-block;border:1px solid #ccc;background-color:#fff7d5;color:#063064;text-align:center}div#cmdline{position:absolute;left:5px;bottom:5px;font-size:11px;color:#555;font-weight:bold;background-color:#fff;border:1px solid #52a8ec;padding:3px 5px 3px 5px;z-index:5}#feed_browser_spinner{vertical-align:middle;height:18px;width:18px}div.fatalError{margin-bottom:10px}div.fatalError button{margin-top:5px}div.fatalError textarea{width:565px;height:200px}#ttrssMain #main{border-width:0;margin:0;padding:0}#header-wrap{border-width:0;margin:0;padding:0}#content-wrap{padding:0;border-width:0;margin:0}#feeds-holder{padding:0;border:0 solid #ddd;overflow:hidden;background:#f5f5f5;box-shadow:inset -1px 0 2px -1px rgba(0,0,0,0.1);-webkit-overflow-scrolling:touch}#headlines-wrap-inner{padding:0;margin:0;border-width:0}#headlines-frame{padding:0;border:0 #ddd;margin-top:0;-webkit-overflow-scrolling:touch;-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}#headlines-toolbar_splitter,#toolbar_splitter{display:none}#toolbar{padding:0;margin:0;border-width:0;white-space:nowrap;font-size:12px}#main-toolbar{background:#fff;border:0 solid #ddd;border-bottom-width:1px;padding-left:4px;height:26px}#header{border-width:0;text-align:right;color:#555;padding:5px 5px 0 0;margin:0;position:absolute;right:0;top:0;z-index:5}#footer{text-align:center;color:#555;padding:4px 4px 8px 4px;border-width:0}#content-insert{padding:0;border-color:#ddd;border-width:0;line-height:1.5;font-size:15px;overflow:auto;-webkit-overflow-scrolling:touch}#feedTree .dijitTreeRow .dijitTreeLabel.Unread{font-weight:bold}#feedTree .dijitTreeRow.Error .dijitTreeLabel{color:#f00}img.feedIcon,img.tinyFeedIcon{width:16px;height:16px;line-height:16px;vertical-align:middle;display:inline-block}.player{display:inline-block;color:#555;font-size:11px;font-family:sans-serif;border:1px solid #555;padding:0 4px 0 4px;margin:0 2px 0 2px;width:50px;text-align:center;background:#fff}.player.playing{color:#00c000;border-color:#00c000}.player:hover{background:#f0f0f0;cursor:pointer}#headlines-spacer{height:100%;margin-left:1px;text-align:center;color:#555;font-size:11px;font-style:italic}#headlines-spacer a,#headlines-spacer span{color:#555;padding:10px;display:block}#headlines-spacer a:hover{color:#52a8ec}ul#filterDlg_Matches,ul#filterDlg_Actions{max-height:100px;overflow:auto;list-style-type:none;border-style:solid;border-color:#ddd;border-width:0 1px 1px 1px;background-color:#fff;margin:0 0 5px 0;padding:0}ul#filterDlg_Matches li,ul#filterDlg_Actions li{cursor:pointer;padding:0 0 0 5px}ul.helpKbList{max-height:300px;overflow:auto;list-style-type:none;border:1px solid #ddd;margin:0 0 5px 0;padding:5px}ul.helpKbList span.hksequence{width:6em;margin-left:20px;color:#52a8ec;font-weight:bold;display:inline-block}ul.helpKbList h2{margin-top:0}span.collapseBtn{cursor:pointer}span.collapseBtn img{vertical-align:middle}select.attachments{display:block;margin-top:10px;max-width:120px}#selected_prompt{margin-right:25px;vertical-align:middle}body#ttrssMain.claro #feedTree.dijitTree .dijitTreeNode .dijitTreeRowSelected{box-shadow:-1px 0 2px -1px rgba(0,0,0,0.1);border-right-color:#fff}body#ttrssMain #feedTree.dijitTree .dijitTreeContainer{max-width:100%}body#ttrssMain #feedTree.dijitTree .dijitTreeRow{overflow:hidden;text-overflow:ellipsis}body#ttrssMain #feedTree.dijitTree .dijitTreeNode .dijitTreeRow{padding:4px 0 4px;border-width:1px;color:#333}body#ttrssMain #feedTree.dijitTree img.tinyFeedIcon{position:relative;top:-2px}#filterDlg_feeds select{height:150px;width:410px}ul#filterDlg_Matches li div.dijitCheckBox,ul#filterDlg_Actions li div.dijitCheckBox{margin-right:5px}body#ttrssMain #feedTree{height:100%;overflow-x:hidden;text-rendering:optimizelegibility;font-family:"Segoe UI Web","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}body#ttrssMain #feedTree .counterNode.aux{background:#f0f0f0;color:#999;border-color:#f0f0f0}body#ttrssMain #feedTree .counterNode{font-weight:bold;display:inline-block;font-size:9px;text-align:center;border:1px solid #52a8ec;color:#fff;background:#52a8ec;border-radius:4px;vertical-align:middle;float:right;position:relative;line-height:14px;margin-right:8px;margin-top:2px;min-width:23px;height:14px}body#ttrssMain #feedTree .dijitTreeNode .loadingExpando{left:-3px;height:22px;position:relative;top:-3px}span.highlight{background-color:#ff0;color:#cc90cc}body#ttrssMain #headlines-frame .dijitCheckBox{border-width:0;opacity:.5}body#ttrssMain #headlines-frame .dijitCheckBoxHover,body#ttrssMain #headlines-frame .dijitCheckBoxChecked{opacity:1}body#ttrssMain #feedTree .dijitTreeRow img.dijitTreeExpandoLeaf{width:16px;height:16px;vertical-align:middle;position:relative}.dijitDropDownButton.attachments .dijitButtonText{font-size:12px}.dijitDropDownButton.attachments{display:inline-block}#editTagsDlg{overflow:visible}body#ttrssZoom{margin-left:auto;margin-right:auto;padding:20px;max-width:770px;background:#f5f5f5}body#ttrssZoom div.postHeader div.postFeedTitle{float:left;text-align:right;padding-left:0;font-size:11px}body#ttrssZoom div.postHeader a.postComments{text-align:right;padding-left:0;font-size:11px}body#ttrssZoom div.postHeader div.postDate{float:none;text-align:right;padding-left:0;color:#777;font-size:11px}body#ttrssZoom div.postHeader div.postTags{color:#777;font-size:11px}body#ttrssZoom div.postHeader div.postTitle{white-space:normal;font-size:16px}body#ttrssZoom div.postContent{font-size:15px;line-height:1.5}body#ttrssZoom div.postContent p{-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto}body#ttrssZoom div.postHeader{margin:10px;border-width:0 0 1px 0;border-style:solid;border-color:#eee;background:#fff}body#ttrssZoom div.postReply{border:1px solid #ddd;background:#fff;box-shadow:0 1px 1px -1px rgba(0,0,0,0.1);border-radius:6px}body#ttrssZoom div.footer{margin-top:1em;text-align:center}body#ttrssZoom div.postContent img{max-width:730px;height:auto}body#ttrssZoom div.postContent blockquote{margin:5px 0 5px 0;color:#555;padding-left:10px;border-width:0 0 0 4px;border-color:#ccc;border-style:solid}body#ttrssZoom div.postContent code{color:#090;font-family:monospace;font-size:12px}body#ttrssZoom div.postContent pre{margin:5px 0 5px 0;padding:10px;color:#555;font-family:monospace;font-size:12px;border-width:0;border-color:#ccc;border-style:solid;background:#f5f5f5;display:block;max-width:98%;overflow:auto}.cdm{margin-right:4px}.cdm .cdmHeader,.cdm .cdmFooter{display:table}.cdm .cdmHeader img,.cdm .cdmHeader input,.cdm .cdmFooter img{vertical-align:middle}.cdm .cdmHeader>div,.cdm .cdmFooter>div{white-space:nowrap}.cdm .cdmHeader>span,.cdm .cdmFooter>span.left{width:100%}.cdm .cdmHeader img,.cdm .cdmFooter img{margin:0 4px}.cdm .cdmHeader>*{display:table-cell;padding:5px}.cdm .cdmHeader span.updated{color:#555;font-weight:normal;font-size:11px;white-space:nowrap;vertical-align:middle}.cdm .cdmHeader input{margin-right:5px}.cdm .cdmHeader div.updPic{width:25px;display:inline-block;text-align:center}.cdm .cdmHeader div.updPic img{vertical-align:middle}.cdm .cdmHeader input{margin-left:4px;margin-right:4px}.cdm .cdmFooter{height:30px;padding-left:5px;font-weight:normal;color:#555;clear:both}.cdm .cdmFooter>*{display:table-cell;vertical-align:middle}.cdm .cdmIntermediate{margin:10px}.cdm .cdmContentInner{margin:10px;line-height:1.5;font-size:16px}.cdm .cdmContentInner h1{font-size:16px}.cdm .cdmContentInner h2,.cdm .cdmContentInner h3,.cdm .cdmContentInner h4{font-size:15px}.cdm .cdmIntermediate img,.cdm .cdmIntermediate video,.cdm .cdmContentInner img,.cdm .cdmContentInner video{border-width:0;max-width:98%;height:auto}.cdm.expanded{margin-top:4px;margin-bottom:4px}.cdm.expanded .cdmFooter{border:0 solid #ddd;border-bottom-width:1px}.cdm.expanded>hr{margin-top:0;margin-bottom:0}.cdm.expandable{background-color:#f0f0f0;border:0 solid #ddd;border-bottom-width:1px}.cdm.expandable>hr{display:none}.cdm.expandable div.cdmHeader span.titleWrap{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:500px}.cdm.expandable.Unread{background:#fff}.cdm.expandable.Selected{background:#f9fbff}.cdm.expandable.active{background:#fff ! important}div.cdm.expandable.active div.cdmHeader span.titleWrap{white-space:normal}div.cdm.expandable div.cdmHeader a.title{font-weight:600;color:#555;font-size:14px;-webkit-transition:color .2s;transition:color .2s;text-rendering:optimizelegibility;font-family:"Segoe WP Semibold","Segoe UI Semibold","Segoe UI Web Semibold","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}div.cdm.expandable.Unread div.cdmHeader a.title{color:#000}div.cdm.expandable.active div.cdmHeader a.title{color:#08c;font-size:16px;font-weight:600;text-rendering:optimizelegibility;font-family:"Segoe WP Semibold","Segoe UI Semibold","Segoe UI Web Semibold","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}div.cdm.expanded div.cdmHeader{background:transparent ! important}div.cdm.expanded div.cdmHeader a.title{font-size:16px;color:#999;font-weight:600;-webkit-transition:color .2s;transition:color .2s;text-rendering:optimizelegibility;font-family:"Segoe WP Semibold","Segoe UI Semibold","Segoe UI Web Semibold","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}div.cdm.expanded.active{background:#fff}div.cdm.expanded.active div.cdmHeader a.title{color:#08c}div.cdm.expanded.Unread div.cdmHeader a.title{color:#000}div.cdm.expanded div.cdmContent{color:#555}div.cdm.expanded.Unread div.cdmContent{color:#000}div.cdm.active div.cdmContent{color:#000}span.cdmExcerpt{white-space:nowrap;font-size:11px;color:#999;font-weight:normal;cursor:pointer}div.cdmContent div.postEnclosures{margin-top:1em;color:#555}div.cdmFeedTitle{border:0 solid #08c;border-bottom-width:1px;padding:5px 3px 5px 5px}div.cdmFeedTitle a.title{color:#555;font-weight:bold}div.cdmFeedTitle a{color:#555}div.cdmFeedTitle a:hover{color:#08c}div.cdmHeader span.hlFeed{float:right;font-weight:normal;font-style:italic}div.cdmHeader div.hlFeed,div.cdmHeader div.hlFeed a{vertical-align:middle;color:#555;font-weight:normal;font-style:italic;font-size:11px}div.cdm .hlFeed a{border-radius:4px;display:inline-block;padding:1px 4px 1px 4px}div.cdmContentInner p{-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto}div.cdmContentInner iframe{min-width:50%;max-width:98%}div.cdmHeader span.author{white-space:nowrap;color:#555;font-size:11px;font-weight:normal}div#floatingTitle{position:absolute;z-index:5;top:0;right:0;left:0;border:0 solid #ddd;border-bottom-width:1px;background:#fff;color:#555;box-shadow:0 1px 1px -1px rgba(0,0,0,0.1)}div#floatingTitle>*{display:table-cell;white-space:nowrap;vertical-align:middle;padding:9px 5px}div#floatingTitle img{margin-right:4px;margin-left:4px}div#floatingTitle span.author{color:#555;font-size:11px;font-weight:normal}div#floatingTitle a.title{font-size:16px;color:#999;-webkit-transition:color .2s;transition:color .2s;font-weight:600;text-rendering:optimizelegibility;font-family:"Segoe WP Semibold","Segoe UI Semibold","Segoe UI Web Semibold","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}div#floatingTitle img.anchor{margin-left:0}div#floatingTitle div.hlFeed{padding-right:10px;color:#555;font-weight:normal;font-style:italic;font-size:11px;white-space:nowrap}div#floatingTitle div.hlFeed a{border-radius:4px;display:inline-block;padding:1px 4px 1px 4px}div#floatingTitle span.updated{padding-right:10px;white-space:nowrap;color:#555;font-size:11px}div#floatingTitle div.hlFeed a{color:#555}div#floatingTitle span.titleWrap{width:100%;white-space:normal}div#floatingTitle .dijit,div#floatingTitle img.hlScorePic{display:none}div#floatingTitle.Unread a.title{color:#000}.cdm.high .cdmHeader a.title.high,.cdm.high .cdmHeader .cdmExcerpt,.cdm.high .cdmHeader span.author{color:#0a0}.cdm.Unread.high .cdmHeader a.title.high,.cdm.Unread.high .cdmHeader .cdmExcerpt,.cdm.Unread.high .cdmHeader span.author{color:#0d0}.cdm .cdmHeader a.title.low,.cdm.low .cdmHeader .cdmExcerpt,.cdm.Unread .cdmHeader a.title.low,.cdm.Unread.low .cdmHeader .cdmExcerpt,.cdm.low .cdmHeader span.author{color:#909090;text-decoration:line-through}.cdmFeedTitle>*{display:table-cell;vertical-align:middle}.cdmFeedTitle a.title{width:100%}.cdmFeedTitle a.catchup{text-align:right;color:#555;padding-right:10px;font-size:11px;white-space:nowrap}.cdmFeedTitle a.catchup:hover{color:#08c}body#ttrssPrefs{background-color:#f5f5f5}body#ttrssPrefs #footer,body#ttrssPrefs #header{background-color:#f5f5f5;padding-left:8px;padding-right:8px}body#ttrssPrefs #header a:hover{color:#000}body#ttrssPrefs #header img{vertical-align:middle;cursor:pointer}body#ttrssPrefs div#pref-tabs .dijitContentPane{font-size:13px}body#ttrssPrefs div#pref-tabs{box-shadow:0 1px 1px -1px rgba(0,0,0,0.1);margin:0 5px 0 5px}body#ttrssPrefs div#pref-tabs .dijitContentPane h3{font-size:14px}body#ttrssPrefs #pref-filter-wrap,body#ttrssPrefs #pref-filter-header,body#ttrssPrefs #pref-filter-content,body#ttrssPrefs #pref-label-wrap,body#ttrssPrefs #pref-label-header,body#ttrssPrefs #pref-label-content,body#ttrssPrefs #pref-user-wrap,body#ttrssPrefs #pref-user-header,body#ttrssPrefs #pref-user-content,body#ttrssPrefs #pref-instance-wrap,body#ttrssPrefs #pref-instance-header,body#ttrssPrefs #pref-instance-content{margin:0;padding:0;border-width:0}body#ttrssPrefs #userConfigTab,body#ttrssPrefs #labelConfigTab,body#ttrssPrefs #filterConfigTab,body#ttrssPrefs #pref-feeds-feeds,body#ttrssPrefs #instanceConfigTab{padding:0}body#ttrssPrefs table.prefPrefsList h3{margin-top:.5em;margin-bottom:0}body#ttrssPrefs tr.title td{border-width:0 0 1px 0;border-color:#ecf4ff;border-style:solid;color:#08c}body#ttrssPrefs div.prefProfileHolder,body#ttrssPrefs div.prefFeedOPMLHolder,body#ttrssPrefs div.inactiveFeedHolder{height:300px;overflow:auto;border-width:0 1px 1px 1px;border-color:#ddd;border-style:solid;margin:0 0 5px 0;background-color:#fff}body#ttrssPrefs div.filterTestHolder,body#ttrssPrefs div.prefFeedOPMLHolder{border-width:1px}body#ttrssPrefs ul.userFeedList{height:200px;overflow:auto;list-style-type:none;border:1px solid #ddd;margin:0 0 5px 0;padding:5px}body#ttrssPrefs div#feedlistLoading,body#ttrssPrefs div#filterlistLoading,body#ttrssPrefs div#labellistLoading{text-align:center;padding:5px;color:#555}body#ttrssPrefs div#feedlistLoading img,body#ttrssPrefs div#filterlistLoading img,body#ttrssPrefs div#labellistLoading{margin-right:5px}body#ttrssPrefs #errorButton{color:#f00}body#ttrssPrefs table.prefPluginsList td label,body#ttrssPrefs table.prefUserList td{cursor:pointer}body#ttrssPrefs table.prefPluginsList label{white-space:nowrap}body#ttrssPrefs table.prefPluginsList label img{vertical-align:middle}body#ttrssPrefs table.prefErrorLog tr.errrow td{font-size:10px}body#ttrssPrefs table.prefErrorLog tr.errrow td.errno{font-style:italic;font-weight:bold;white-space:nowrap}body#ttrssPrefs table.prefErrorLog td.filename,body#ttrssPrefs table.prefErrorLog td.login,body#ttrssPrefs table.prefErrorLog td.timestamp{color:#555}body#ttrssPrefs hr{border-color:#ecf4ff;max-width:100%}.claro .dijitTreeRow .dijitCheckBox{position:relative;top:-2px}.claro .dijitTreeLabel{outline:0}.claro .dijitTree .feedParam{color:#555;float:right;margin-right:1em}.claro .dijitTree .filterRules{display:block;color:#ccc;font-size:10px;margin-left:100px}.claro .dijitTree .filterRules span{display:block;color:#008000}.claro #filterDlg_Matches span.filterRule{color:#008000}.claro .dijitTree .filterRules span.inverse,.claro #filterDlg_Matches span.filterRule.inverse{color:#f00}.claro .dijitTree .labelParam{float:right;margin-right:1em}.claro .dijitTree .dijitTreeLabel.filterDisabled,.claro .dijitTree .labelParam.filterDisabled{color:#555;text-decoration:line-through}.claro .dijitTreeRow.Error{color:#f00}.claro .dijitTreeRow.Hidden{display:none}.claro .dijitTreeNode .loadingNode{margin-left:3px;height:9px}.claro .dijitFolderClosed,.claro .dijitFolderOpened{display:none}.claro .dijitTreeNode .dijitCheckBox{margin-left:4px}.claro .dijitTreeIsRoot>.dijitTreeRow>.dijitTreeExpando{margin-left:5px}.claro .dijitTree .dijitTreeExpando{margin-top:0;opacity:.6}.claro .dijitTree .dijitTreeNode{padding:0;border-width:0}.claro .dijitTree .dijitTreeRowSelected{background:#fff}.claro .dijitTree .dijitTreeRowHover{background:#f0f0f0;border-color:#ddd}.claro .dijitTree .dijitTreeRowSelected{background:#fff;border-color:#ddd}.claro .dijitTreeRowSelected .dijitTreeLabel{text-shadow:1px 1px 2px #fff}.claro .dijitTreeRow .dijitTreeExpando{background-image:url("../images/treeExpandImages.png");position:relative;top:-1px}.claro .dijitTreeRow .dijitTreeExpandoLeaf{background:none}.claro .dijitToolbar{background:#f5f5f5;border-color:#ddd}.claro .dijitDialog .dijitToolbar{border:1px solid #ddd}.claro .dijitDialog h2{margin-top:0;margin-bottom:4px;border-width:0}.claro .dijitMenu .dijitMenuItem .dijitMenuItemLabel{font-size:13px;padding-top:3px;padding-bottom:3px}.claro .dijitCheckBox{background-image:url("../images/untick.png");background-color:transparent;width:15px;height:15px;margin:1px;opacity:.7;background-position:center center;transition:opacity .25s;-webkit-transition:opacity .25s;padding:1px}.claro .dijitCheckBox:hover{opacity:1}.claro .dijitCheckBox.dijitCheckBoxDisabled:hover{opacity:.7}.claro .dijitCheckBox.dijitCheckBoxChecked{border-color:#69c671;background-image:url("../images/tick.png");opacity:1}.claro .dijitButton.danger .dijitButtonText{color:#fff}.claro .dijitButton.danger{text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.claro .dijitButton.dijitButtonDisabled.danger,.claro .dijitButton.dijitButtonActive.danger,.claro .dijitButton.dijitButtonHover.danger,.claro .dijitButton.dijitFocused.danger{color:#fff;background-color:#bd362f;*background-color:#a9302a}.claro .dijitButton.dijitButtonActive.danger{background-color:#942a25 \9}.claro .dijitDropDownButton{margin:0}.claro .dijitDropDownButton .dijitButtonNode{padding:0}.claro .dijitButton.dijitButtonActive.danger{color:rgba(255,255,255,0.75)}.claro .dijitButton .dijitButtonNode,.claro .dijitDropDownButton .dijitButtonNode,.claro .dijitComboButton .dijitButtonNode,.claro .dijitToolbar .dijitDropDownButton .dijitButtonNode,.claro .dijitToolbar .dijitComboButton,.claro .dijitToolbar .dijitSelect.dijitDownArrowButton .dijitButtonNode,.claro .dijitToolbar .dijitComboButton .dijitButtonNode{background:none;border-color:transparent;box-shadow:none}.claro button,.claro input[type="submit"]{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px}.claro button,.claro input[type="submit"],.claro .dijitButton,.claro .dijitDropDownButton .dijitDownArrowButton,.claro .dijitComboButton{display:inline-block;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #fff, #e6e6e6);background-image:-webkit-linear-gradient(top, #fff, #e6e6e6);background-image:linear-gradient(to bottom, #fff, #e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.claro button:hover,.claro button:focus,.claro button:active,.claro input[type="submit"]:hover,.claro input[type="submit"]:focus,.claro input[type="submit"]:active,.claro .dijitButton:hover,.claro .dijitButton:focus,.claro .dijitButton:active,.claro .dijitDropDownButton .dijitDownArrowButton:hover,.claro .dijitDropDownButton .dijitDownArrowButton:focus,.claro .dijitDropDownButton .dijitDownArrowButton:active,.claro .dijitComboButton:hover,.claro .dijitComboButton:focus,.claro .dijitComboButton:active,.claro .dijitButton.dijitButtonDisabled{color:#333;background-color:#e6e6e6}.claro button:active,.claro input[type="submit"]:active,.claro .dijitButton:active,.claro .dijitDropDownButton .dijitDownArrowButton:active,.claro .dijitComboButton:active{background-color:#cccccc \9}.claro .dijitToolbar .dijitButton,.claro .dijitToolbar .dijitButton.dijitHover,.claro .dijitToolbar .dijitComboButton,.claro .dijitToolbar .dijitDropDownButton .dijitDownArrowButton,.claro .dijitToolbar .dijitComboButton.dijitHover{background:none;border-color:transparent;box-shadow:none;padding:0;margin:0;line-height:auto;text-shadow:none}.claro .dijitToolbar .dijitDropDownButton .dijitButtonText,.claro .dijitToolbar .dijitDownArrowButton .dijitButtonText,.claro .dijitToolbar .dijitComboButton .dijitButtonText{padding:0}.claro .dijitToolbar .dijitDropDownButton .dijitButtonNode{border-radius:4px}.claro .dijitToolbar .dijitButton.dijitHover,.claro .dijitToolbar .dijitDropDownButton.dijitHover .dijitButtonNode,.claro .dijitToolbar .dijitComboButton.dijitHover{border-color:#ccc}.claro .dijitToolbar .dijitButton.dijitHover .dijitButtonNode,.claro .dijitToolbar .dijitButton.dijitButtonActive .dijitButtonNode{background:none}.claro .dijitToolbar .dijitButton .dijitButtonContents,.claro .dijitToolbar .dijitDropDownButton .dijitButtonContents,.claro .dijitToolbar .dijitComboButton .dijitButtonContents{font-size:13px}.claro button:hover,.claro button:focus,.claro input[type="submit"]:hover,.claro input[type="submit"]:focus,.claro .dijitButton:hover,.claro .dijitDropDownButton .dijitDownArrowButton:hover,.claro .dijitToolbar .dijitButton:hover .dijitButtonNode,.claro .dijitToolbar .dijitButton.dijitHover .dijitButtonNode,.claro .dijitButton:focus,.claro .dijitComboButton:hover,.claro .dijitComboButton:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;transition:background-position .1s linear}.claro button:focus,.claro input[type="submit"]:focus,.claro .dijitButton:focus,.claro .dijitDropDownButton .dijitDownArrowButton:focus,.claro .dijitComboButton:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.claro button:active,.claro input[type="submit"]:active,.claro .dijitButton:active,.claro .dijitComboButton:active,.claro .dijitToolbar .dijitDropDownButton.dijitOpened,.claro .dijitToolbar .dijitComboButton.dijitOpened,.claro .dijitToolbar .dijitButton.dijitButtonActive .dijitButtonNode{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.claro input[type="submit"][disabled],.claro button[disabled],.claro .dijitButton[disabled],.claro .dijitDropDownButton .dijitDownArrowButton[disabled],.claro .dijitButton.dijitButtonDisabled,.claro .dijitComboButton.dijitButtonDisabled{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.claro .dijitButton .dijitButtonContents,.claro .dijitDropDownButton .dijitButtonContents,.claro .dijitComboButton .dijitButtonContents{font-size:14px;font-weight:normal;line-height:20px}.claro .dijitButton.small .dijitButtonText{font-size:11px}.claro .dijitMenu{border-color:rgba(82,168,236,0.8)}.claro .dijitMenu .dijitMenuItemSelected,.claro .dijitMenu .dijitMenuItemSelected td{background:#52a8ec;color:#fff;border-color:rgba(82,168,236,0.8)}.claro .dijitButton .dijitButtonNode,.claro .dijitComboButton .dijitButtonNode{padding:0}.claro .dijitAccordionTitle.dijitAccordionTitleHover,.claro .dijitAccordionTitle.dijitAccordionTitleFocused{background:#fff;transition:background .25s}.claro .dijitAccordionTitle{background:#f0f0f0;transition:background .25s}.claro .dijitAccordionInnerContainer.dijitAccordionInnerContainerSelected,.claro .dijitAccordionTitle.dijitAccordionTitleSelected{background:#08c;transition:background .25s}.claro .dijitAccordionTitle.dijitAccordionTitleSelected .dijitAccordionText{color:#fff}.claro .dijitAccordionInnerContainer.dijitAccordionInnerContainerSelected{border-color:#08c}.claro .dijitAccordionContainer .dijitAccordionChildWrapper{border-color:#ddd}.claro .dijitTabInner.dijitTab{background:#f0f0f0}.claro .dijitTabContent{background:#eee}.claro .dijitTabContent.dijitTabChecked,.claro .dijitTabContent.dijitTabHover,.claro .dijitTabContent.dijitFocused{background:#fff}.claro .dijitTabPaneWrapper,.claro .dijitTabContainerTop-tabs,.claro .dijitTab,.claro .dijitAccordionInnerContainer{border-color:#ddd}.claro .dijitComboBox .dijitArrowButton,.claro .dijitSelect .dijitArrowButton{background:transparent;border-color:transparent}.claro .dijitSelect .dijitArrowButton .dijitArrowButtonInner{margin-right:5px;float:right}.claro select,.claro .dijitDownArrowButton.dijitSelect{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin-bottom:4px}.claro .dijitSelect .dijitButtonContents{display:inline-block;height:20px;padding:4px 6px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;border-width:0}.claro select,.claro textarea,.claro .input.input-text,.claro .dijitTextBox{display:inline-block;height:20px;padding:4px 6px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin-bottom:4px}.claro textarea{height:auto}.claro select,.claro .input.input-text{height:30px}.claro textarea,.claro select,.claro .input.input-text,.claro .dijitTextBox,.claro .dijitSelect{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.claro select:focus,.claro .input.input-text:focus,.claro .dijitTextBox.dijitFocused,.claro .dijitSelect.dijitFocused{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}.claro .dijitError .dijitValidationContainer{padding:0;width:13px;border-width:1px;display:none}.claro .dijitSelect.dijitSelectDisabled{background-color:#eee}.claro .dijitSelect.dijitSelectDisabled .dijitSelectLabel{cursor:not-allowed}.claro .dijitTextBox.dijitTextBoxDisabled,.claro .dijitTextBox.dijitTextBoxDisabled .dijitInputInner,.claro .dijitTextBox.dijitReadOnly,.claro .dijitTextBox.dijitReadOnly .dijitInputInner{cursor:not-allowed;background-color:#eee}.claro .dijitToolbar .dijitDownArrowButton.dijitSelect{border-color:rgba(0,0,0,0.1)}.claro .dijitToolbar .dijitDownArrowButton.dijitSelect .dijitButtonContents{padding:2px 2px 0 4px}.claro .dijitToolbar .dijitDownArrowButton.dijitSelect{margin:0}.claro .dijitToolbar .dijitTextBox{padding:0;margin-bottom:0;border-radius:0}.claro .dijitDialog{border-radius:6px}.claro .dijitDialog .dijitDialogCloseIcon{margin-top:5px}.claro .dijitDialog .dijitDialogTitleBar{background:#fff;padding:8px;font-weight:600;color:#555;font-size:16px;text-rendering:optimizelegibility;font-family:"Segoe WP Semibold","Segoe UI Semibold","Segoe UI Web Semibold","Segoe UI",Ubuntu,"Helvetica Neue",Helvetica,Arial,sans-serif}.claro .dijitDialog .dijitDialogPaneContent{border-color:#ddd;padding:10px}.claro .dijitProgressBar.dijitProgressBarEmpty{background:#ddd;border-color:#08c}.claro .dijitProgressBar.dijitProgressBarEmpty .dijitProgressBarFull .dijitProgressBarTile{background:#52a8ec}.claro .dijitProgressBar .dijitProgressBarLabel{color:#fff}
\ No newline at end of file diff --git a/css/default.less b/css/default.less new file mode 100644 index 000000000..73ad2b055 --- /dev/null +++ b/css/default.less @@ -0,0 +1,11 @@ +@fonts-ui-bold: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif; +@fonts-ui: "Segoe UI Web", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif; + +@color-accent: rgb(82, 168, 236); +@color-accent-light: #ecf4ff; +@color-link: #0088cc; + +@import "tt-rss.less"; +@import "cdm.less"; +@import "prefs.less"; +@import "dijit.less";
\ No newline at end of file diff --git a/css/dijit.css b/css/dijit.css deleted file mode 100644 index b0c9243c4..000000000 --- a/css/dijit.css +++ /dev/null @@ -1,666 +0,0 @@ -/* Tree */ - -.claro .dijitTreeRow .dijitCheckBox { - position : relative; - top : -2px; -} - -.claro .dijitTreeLabel { - outline : 0; -} - -.claro .dijitTree .feedParam { - color : #555; - float : right; - margin-right : 1em; -} - -.claro .dijitTree .filterRules { - display : block; - color : #ccc; - font-size : 10px; - margin-left : 100px; -} - -.claro .dijitTree .filterRules span { - display : block; - color : green; -} - -#filterDlg_Matches span.filterRule { - color : green; -} - -.claro .dijitTree .filterRules span.inverse, -#filterDlg_Matches span.filterRule.inverse { - color : red; -} - - -.claro .dijitTree .labelParam { - float : right; - margin-right : 1em; -} - -.claro .dijitTree .dijitTreeLabel.filterDisabled, -.claro .dijitTree .labelParam.filterDisabled { - color : #555; - text-decoration: line-through; -} - -.claro .dijitTreeRow.Error { - color : red; -} - -.claro .dijitTreeRow.Hidden { - display : none; -} - -.claro .dijitTreeNode .loadingNode { - margin-left : 3px; - height : 9px; -} - -.claro .dijitFolderClosed, -.claro .dijitFolderOpened { - display : none; -} - -.claro .dijitTreeNode .dijitCheckBox { - margin-left : 4px; -} - -.claro .dijitTreeIsRoot > .dijitTreeRow > .dijitTreeExpando { - margin-left : 5px; -} - -.claro .dijitTree .dijitTreeExpando { - margin-top : 0px; - opacity : 0.6; -} - -.claro .dijitTree .dijitTreeNode { - padding : 0px; - border-width : 0px; -} - -/*.claro .dijitTree .dijitTreeRow { - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis; -}*/ - -.claro .dijitTree .dijitTreeRowSelected { - background : white; -} - -.claro .dijitTree .dijitTreeRowHover { - background : #f0f0f0; - border-color : #ddd; -} - -.claro .dijitTree .dijitTreeRowSelected { - background : white; - border-color : #ddd; -} - -.claro .dijitTreeRowSelected .dijitTreeLabel { - text-shadow : 1px 1px 2px #fff; -} - -.claro .dijitTreeRow .dijitTreeExpando { - background-image: url("../images/treeExpandImages.png"); - position : relative; - top : -1px; -} - -.claro .dijitTreeRow .dijitTreeExpandoLeaf { - background : none; -} - -/* Toolbar */ - -.claro .dijitToolbar { - background : #f5f5f5; - border-color : #ddd; - /* text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", "Helvetica Neue", - Helvetica, Arial, sans-serif; */ -} - -/* .claro .dijitToolbar { - text-shadow : 1px 1px 2px #fff; -} */ - -.claro .dijitDialog .dijitToolbar { - border : 1px solid #ddd; -} - -/* Dialog */ - -.claro .dijitDialog h2 { - margin-top : 0px; - margin-bottom : 4px; - border-width : 0px; -} - -.claro .dijitMenu .dijitMenuItem .dijitMenuItemLabel { - font-size : 13px; - padding-top : 3px; - padding-bottom : 3px; -} - -/* Checkbox */ - -.claro .dijitCheckBox { - background-image : url("../images/untick.png"); - background-color : transparent; - width : 15px; - height : 15px; - margin : 1px; - opacity : 0.7; - background-position : center center; - transition : opacity 0.25s; - -webkit-transition : opacity 0.25s; - /* border : 1px solid #b5bcc7; */ - padding : 1px; -} - - .claro .dijitCheckBox:hover { - opacity : 1; -} - -.claro .dijitCheckBox.dijitCheckBoxDisabled:hover { - opacity : 0.7; -} - -.claro .dijitCheckBox.dijitCheckBoxChecked { - border-color : #69C671; - background-image : url("../images/tick.png"); - opacity : 1; -} - -/* Various buttons */ - -.claro .dijitButton.danger .dijitButtonText { - color: #ffffff; -} - -.claro .dijitButton.danger { - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #da4f49; - *background-color: #bd362f; - background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); - background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); - background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); - background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); - background-repeat: repeat-x; - border-color: #bd362f #bd362f #802420; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.claro .dijitButton.dijitButtonDisabled.danger, -.claro .dijitButton.dijitButtonActive.danger, -.claro .dijitButton.dijitButtonHover.danger, -.claro .dijitButton.dijitFocused.danger { - color: #ffffff; - background-color: #bd362f; - *background-color: #a9302a; -} - -.claro .dijitButton.dijitButtonActive.danger { - background-color: #942a25 \9; -} - -.claro .dijitDropDownButton { - margin : 0px; -} - -.claro .dijitDropDownButton .dijitButtonNode { - padding : 0px; -} - -.claro .dijitButton.dijitButtonActive.danger { - color: rgba(255, 255, 255, 0.75); -} - -.claro .dijitButton .dijitButtonNode, -.claro .dijitDropDownButton .dijitButtonNode, -.claro .dijitComboButton .dijitButtonNode, -.claro .dijitToolbar .dijitDropDownButton .dijitButtonNode, -.claro .dijitToolbar .dijitComboButton, -.claro .dijitToolbar .dijitSelect.dijitDownArrowButton .dijitButtonNode, -.claro .dijitToolbar .dijitComboButton .dijitButtonNode { - background : none; - border-color : transparent; - box-shadow : none; -} - -button, -input[type="submit"] { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size : 14px; -} - -button, -input[type="submit"], -.claro .dijitButton, -.claro .dijitDropDownButton .dijitDownArrowButton, -.claro .dijitComboButton { - display: inline-block; - padding: 4px 12px; - margin-bottom: 0; - font-size: 14px; - line-height: 20px; - color: #333333; - text-align: center; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - vertical-align: middle; - cursor: pointer; - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-repeat: repeat-x; - border: 1px solid #cccccc; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - border-bottom-color: #b3b3b3; - -webkit-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -button:hover, -button:focus, -button:active, -input[type="submit"]:hover, -input[type="submit"]:focus, -input[type="submit"]:active, -.claro .dijitButton:hover, -.claro .dijitButton:focus, -.claro .dijitButton:active, -.claro .dijitDropDownButton .dijitDownArrowButton:hover, -.claro .dijitDropDownButton .dijitDownArrowButton:focus, -.claro .dijitDropDownButton .dijitDownArrowButton:active, -.claro .dijitComboButton:hover, -.claro .dijitComboButton:focus, -.claro .dijitComboButton:active, -.claro .dijitButton.dijitButtonDisabled { - color: #333333; - background-color: #e6e6e6; -} - -button:active, -input[type="submit"]:active, -.claro .dijitButton:active, -.claro .dijitDropDownButton .dijitDownArrowButton:active, -.claro .dijitComboButton:active { - background-color: #cccccc \9; -} - -.claro .dijitToolbar .dijitButton, -.claro .dijitToolbar .dijitButton.dijitHover, -.claro .dijitToolbar .dijitComboButton, -.claro .dijitToolbar .dijitDropDownButton .dijitDownArrowButton, -.claro .dijitToolbar .dijitComboButton.dijitHover { - background : none; - border-color : transparent; - box-shadow : none; - padding : 0px; - margin : 0px; - line-height : auto; - text-shadow : none; -} - -.claro .dijitToolbar .dijitDropDownButton .dijitButtonText, -.claro .dijitToolbar .dijitDownArrowButton .dijitButtonText, -.claro .dijitToolbar .dijitComboButton .dijitButtonText { - padding : 0px; -} - -.claro .dijitToolbar .dijitDropDownButton .dijitButtonNode { - border-radius : 4px; -} - -.claro .dijitToolbar .dijitButton.dijitHover, -.claro .dijitToolbar .dijitDropDownButton.dijitHover .dijitButtonNode, -.claro .dijitToolbar .dijitComboButton.dijitHover { - border-color : #ccc; -} - -.claro .dijitToolbar .dijitButton.dijitHover .dijitButtonNode, -.claro .dijitToolbar .dijitButton.dijitButtonActive .dijitButtonNode { - background : none; -} - -.claro .dijitToolbar .dijitButton .dijitButtonContents, -.claro .dijitToolbar .dijitDropDownButton .dijitButtonContents, -.claro .dijitToolbar .dijitComboButton .dijitButtonContents { - font-size : 13px; -} - -button:hover, -button:focus, -input[type="submit"]:hover, -input[type="submit"]:focus, -.claro .dijitButton:hover, -.claro .dijitDropDownButton .dijitDownArrowButton:hover, -.claro .dijitToolbar .dijitButton:hover .dijitButtonNode, -.claro .dijitToolbar .dijitButton.dijitHover .dijitButtonNode, -.claro .dijitButton:focus, -.claro .dijitComboButton:hover, -.claro .dijitComboButton:focus { - color: #333333; - text-decoration: none; - background-position: 0 -15px; - -webkit-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; -} - -button:focus, -input[type="submit"]:focus, -.claro .dijitButton:focus, -.claro .dijitDropDownButton .dijitDownArrowButton:focus, -.claro .dijitComboButton:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -button:active, -input[type="submit"]:active, -.claro .dijitButton:active, -.claro .dijitComboButton:active, -.claro .dijitToolbar .dijitDropDownButton.dijitOpened, -.claro .dijitToolbar .dijitComboButton.dijitOpened, -.claro .dijitToolbar .dijitButton.dijitButtonActive .dijitButtonNode { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -input[type="submit"][disabled], -button[disabled], -.claro .dijitButton[disabled], -.claro .dijitDropDownButton .dijitDownArrowButton[disabled], -.claro .dijitButton.dijitButtonDisabled, -.claro .dijitComboButton.dijitButtonDisabled { - cursor: default; - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; -} - -.claro .dijitButton .dijitButtonContents, -.claro .dijitDropDownButton .dijitButtonContents, -.claro .dijitComboButton .dijitButtonContents { - font-size : 14px; - font-weight : normal; - line-height : 20px; -} - -.claro .dijitButton.small .dijitButtonText { - font-size : 11px; -} - -.claro .dijitMenu { - border-color: rgba(82, 168, 236, 0.8); -} - -.claro .dijitMenu .dijitMenuItemSelected, -.claro .dijitMenu .dijitMenuItemSelected td { - background : rgb(82, 168, 236); - color : white; - border-color : rgba(82, 168, 236, 0.8); -} - -.claro .dijitButton .dijitButtonNode, -.claro .dijitComboButton .dijitButtonNode { - padding : 0px; -} - -/* Other stuff */ - -/* .claro .dijitAccordionTitleFocus { - text-shadow : 1px 1px 2px #fff; -} - -.claro .dijitAccordionTitle { - text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", "Helvetica Neue", - Helvetica, Arial, sans-serif; -} */ - - -.claro .dijitAccordionTitle.dijitAccordionTitleHover, -.claro .dijitAccordionTitle.dijitAccordionTitleFocused { - background : white; - transition : background 0.25s; -} -.claro .dijitAccordionTitle { - background : #f0f0f0; - transition : background 0.25s; -} - -.claro .dijitAccordionInnerContainer.dijitAccordionInnerContainerSelected, -.claro .dijitAccordionTitle.dijitAccordionTitleSelected { - background : #0088cc; - transition : background 0.25s; -} - -.claro .dijitAccordionTitle.dijitAccordionTitleSelected .dijitAccordionText { - color : white; -} - -.claro .dijitAccordionInnerContainer.dijitAccordionInnerContainerSelected { - border-color : #0088cc; -} - -.claro .dijitAccordionContainer .dijitAccordionChildWrapper { - border-color : #ddd; -} - -/* Tabs */ - -.claro .dijitTabInner.dijitTab { - background : #f0f0f0; -} - -.claro .dijitTabContent { - background : #eee; -} - -.claro .dijitTabContent.dijitTabChecked, -.claro .dijitTabContent.dijitTabHover, -.claro .dijitTabContent.dijitFocused { - background : white; -} - -.claro .dijitTabPaneWrapper, -.claro .dijitTabContainerTop-tabs, -.claro .dijitTab, -.claro .dijitAccordionInnerContainer { - border-color : #ddd; -} - -/* Text fields & selects */ - -.claro .dijitComboBox .dijitArrowButton, -.claro .dijitSelect .dijitArrowButton { - background : transparent; - border-color : transparent; -} - -.claro .dijitSelect .dijitArrowButton .dijitArrowButtonInner { - margin-right : 5px; - float :right; -} - -.claro select, -.claro .dijitDownArrowButton.dijitSelect { - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - margin-bottom : 4px; - -} - -.claro .dijitSelect .dijitButtonContents { - display: inline-block; - height: 20px; - padding: 4px 6px; - font-size: 14px; - line-height: 20px; - color: #555555; - vertical-align: middle; - border-width : 0px; -} - -.claro select, -.claro textarea, -.claro .input.input-text, -.claro .dijitTextBox { - display: inline-block; - height: 20px; - padding: 4px 6px; - font-size: 14px; - line-height: 20px; - color: #555555; - vertical-align: middle; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - margin-bottom : 4px; -} -.claro textarea { - height : auto; -} - -.claro select, -.claro .input.input-text { - height : 30px; -} - -.claro textarea, -.claro select, -.claro .input.input-text, -.claro .dijitTextBox, -.claro .dijitSelect { - background-color: #ffffff; - border: 1px solid #cccccc; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; - -moz-transition: border linear 0.2s, box-shadow linear 0.2s; - -o-transition: border linear 0.2s, box-shadow linear 0.2s; - transition: border linear 0.2s, box-shadow linear 0.2s; -} - -.claro select:focus, -.claro .input.input-text:focus, -.claro .dijitTextBox.dijitFocused, -.claro .dijitSelect.dijitFocused { - border-color: rgba(82, 168, 236, 0.8); - outline: 0; - outline: thin dotted \9; - /* IE6-9 */ - - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); -} - -.claro .dijitError .dijitValidationContainer { - padding : 0px; - width : 13px; - border-width : 1px; - display : none; -} - -.claro .dijitSelect.dijitSelectDisabled { - background-color: #eeeeee; -} - -.claro .dijitSelect.dijitSelectDisabled .dijitSelectLabel { - cursor: not-allowed; -} - -.claro .dijitTextBox.dijitTextBoxDisabled, -.claro .dijitTextBox.dijitTextBoxDisabled .dijitInputInner, -.claro .dijitTextBox.dijitReadOnly, -.claro .dijitTextBox.dijitReadOnly .dijitInputInner { - cursor: not-allowed; - background-color: #eeeeee; -} - -.claro .dijitToolbar .dijitDownArrowButton.dijitSelect { - border-color : rgba(0,0,0,0.1); -} - -.claro .dijitToolbar .dijitDownArrowButton.dijitSelect .dijitButtonContents { - padding : 2px 2px 0px 4px; -} - -.claro .dijitToolbar .dijitDownArrowButton.dijitSelect { - margin : 0px; -} - -.claro .dijitToolbar .dijitTextBox { - padding : 0px; - margin-bottom : 0px; - border-radius : 0px; -} - -/* dialog */ - -.claro .dijitDialog { - border-radius : 6px; - -} - -.claro .dijitDialog .dijitDialogCloseIcon { - margin-top : 5px; -} - -.claro .dijitDialog .dijitDialogTitleBar { - background : white; - padding : 8px; - font-weight : 600; - color : #555; - font-size : 16px; - text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; -} - -.claro .dijitDialog .dijitDialogPaneContent { - border-color : #ddd; - padding : 10px; -} - -.claro .dijitProgressBar.dijitProgressBarEmpty { - background : #ddd; - border-color : #0088cc; -} - -.claro .dijitProgressBar.dijitProgressBarEmpty .dijitProgressBarFull .dijitProgressBarTile { - background : rgb(82, 168, 236); - -} - -.claro .dijitProgressBar .dijitProgressBarLabel { - color : white; -} - - diff --git a/css/dijit.less b/css/dijit.less new file mode 100644 index 000000000..b350a79da --- /dev/null +++ b/css/dijit.less @@ -0,0 +1,664 @@ +/* Tree */ + +.claro { + + .dijitTreeRow .dijitCheckBox { + position: relative; + top: -2px; + } + + .dijitTreeLabel { + outline: 0; + } + + .dijitTree .feedParam { + color: #555; + float: right; + margin-right: 1em; + } + + .dijitTree .filterRules { + display: block; + color: #ccc; + font-size: 10px; + margin-left: 100px; + } + + .dijitTree .filterRules span { + display: block; + color: green; + } + + #filterDlg_Matches span.filterRule { + color: green; + } + + .dijitTree .filterRules span.inverse, + #filterDlg_Matches span.filterRule.inverse { + color: red; + } + + .dijitTree .labelParam { + float: right; + margin-right: 1em; + } + + .dijitTree .dijitTreeLabel.filterDisabled, + .dijitTree .labelParam.filterDisabled { + color: #555; + text-decoration: line-through; + } + + .dijitTreeRow.Error { + color: red; + } + + .dijitTreeRow.Hidden { + display: none; + } + + .dijitTreeNode .loadingNode { + margin-left: 3px; + height: 9px; + } + + .dijitFolderClosed, + .dijitFolderOpened { + display: none; + } + + .dijitTreeNode .dijitCheckBox { + margin-left: 4px; + } + + .dijitTreeIsRoot > .dijitTreeRow > .dijitTreeExpando { + margin-left: 5px; + } + + .dijitTree .dijitTreeExpando { + margin-top: 0px; + opacity: 0.6; + } + + .dijitTree .dijitTreeNode { + padding: 0px; + border-width: 0px; + } + + /*.dijitTree .dijitTreeRow { + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + }*/ + + .dijitTree .dijitTreeRowSelected { + background: white; + } + + .dijitTree .dijitTreeRowHover { + background: #f0f0f0; + border-color: #ddd; + } + + .dijitTree .dijitTreeRowSelected { + background: white; + border-color: #ddd; + } + + .dijitTreeRowSelected .dijitTreeLabel { + text-shadow: 1px 1px 2px #fff; + } + + .dijitTreeRow .dijitTreeExpando { + background-image: url("../images/treeExpandImages.png"); + position: relative; + top: -1px; + } + + .dijitTreeRow .dijitTreeExpandoLeaf { + background: none; + } + + /* Toolbar */ + + .dijitToolbar { + background: #f5f5f5; + border-color: #ddd; + /* text-rendering: optimizelegibility; + font-family : "Segoe WP Semibold", "Segoe UI Semibold", + "Segoe UI Web Semibold", "Segoe UI", "Helvetica Neue", + Helvetica, Arial, sans-serif; */ + } + + /* .dijitToolbar { + text-shadow : 1px 1px 2px #fff; + } */ + + .dijitDialog .dijitToolbar { + border: 1px solid #ddd; + } + + /* Dialog */ + + .dijitDialog h2 { + margin-top: 0px; + margin-bottom: 4px; + border-width: 0px; + } + + .dijitMenu .dijitMenuItem .dijitMenuItemLabel { + font-size: 13px; + padding-top: 3px; + padding-bottom: 3px; + } + + /* Checkbox */ + + .dijitCheckBox { + background-image: url("../images/untick.png"); + background-color: transparent; + width: 15px; + height: 15px; + margin: 1px; + opacity: 0.7; + background-position: center center; + transition: opacity 0.25s; + -webkit-transition: opacity 0.25s; + /* border : 1px solid #b5bcc7; */ + padding: 1px; + } + + .dijitCheckBox:hover { + opacity: 1; + } + + .dijitCheckBox.dijitCheckBoxDisabled:hover { + opacity: 0.7; + } + + .dijitCheckBox.dijitCheckBoxChecked { + border-color: #69C671; + background-image: url("../images/tick.png"); + opacity: 1; + } + + /* Various buttons */ + + .dijitButton.danger .dijitButtonText { + color: #ffffff; + } + + .dijitButton.danger { + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4f49; + *background-color: #bd362f; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-repeat: repeat-x; + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + + .dijitButton.dijitButtonDisabled.danger, + .dijitButton.dijitButtonActive.danger, + .dijitButton.dijitButtonHover.danger, + .dijitButton.dijitFocused.danger { + color: #ffffff; + background-color: #bd362f; + *background-color: #a9302a; + } + + .dijitButton.dijitButtonActive.danger { + background-color: #942a25 \9; + } + + .dijitDropDownButton { + margin: 0px; + } + + .dijitDropDownButton .dijitButtonNode { + padding: 0px; + } + + .dijitButton.dijitButtonActive.danger { + color: rgba(255, 255, 255, 0.75); + } + + .dijitButton .dijitButtonNode, + .dijitDropDownButton .dijitButtonNode, + .dijitComboButton .dijitButtonNode, + .dijitToolbar .dijitDropDownButton .dijitButtonNode, + .dijitToolbar .dijitComboButton, + .dijitToolbar .dijitSelect.dijitDownArrowButton .dijitButtonNode, + .dijitToolbar .dijitComboButton .dijitButtonNode { + background: none; + border-color: transparent; + box-shadow: none; + } + + button, + input[type="submit"] { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + } + + button, + input[type="submit"], + .dijitButton, + .dijitDropDownButton .dijitDownArrowButton, + .dijitComboButton { + display: inline-block; + padding: 4px 12px; + margin-bottom: 0; + font-size: 14px; + line-height: 20px; + color: #333333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + vertical-align: middle; + cursor: pointer; + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border: 1px solid #cccccc; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + border-bottom-color: #b3b3b3; + -webkit-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + } + + button:hover, + button:focus, + button:active, + input[type="submit"]:hover, + input[type="submit"]:focus, + input[type="submit"]:active, + .dijitButton:hover, + .dijitButton:focus, + .dijitButton:active, + .dijitDropDownButton .dijitDownArrowButton:hover, + .dijitDropDownButton .dijitDownArrowButton:focus, + .dijitDropDownButton .dijitDownArrowButton:active, + .dijitComboButton:hover, + .dijitComboButton:focus, + .dijitComboButton:active, + .dijitButton.dijitButtonDisabled { + color: #333333; + background-color: #e6e6e6; + } + + button:active, + input[type="submit"]:active, + .dijitButton:active, + .dijitDropDownButton .dijitDownArrowButton:active, + .dijitComboButton:active { + background-color: #cccccc \9; + } + + .dijitToolbar .dijitButton, + .dijitToolbar .dijitButton.dijitHover, + .dijitToolbar .dijitComboButton, + .dijitToolbar .dijitDropDownButton .dijitDownArrowButton, + .dijitToolbar .dijitComboButton.dijitHover { + background: none; + border-color: transparent; + box-shadow: none; + padding: 0px; + margin: 0px; + line-height: auto; + text-shadow: none; + } + + .dijitToolbar .dijitDropDownButton .dijitButtonText, + .dijitToolbar .dijitDownArrowButton .dijitButtonText, + .dijitToolbar .dijitComboButton .dijitButtonText { + padding: 0px; + } + + .dijitToolbar .dijitDropDownButton .dijitButtonNode { + border-radius: 4px; + } + + .dijitToolbar .dijitButton.dijitHover, + .dijitToolbar .dijitDropDownButton.dijitHover .dijitButtonNode, + .dijitToolbar .dijitComboButton.dijitHover { + border-color: #ccc; + } + + .dijitToolbar .dijitButton.dijitHover .dijitButtonNode, + .dijitToolbar .dijitButton.dijitButtonActive .dijitButtonNode { + background: none; + } + + .dijitToolbar .dijitButton .dijitButtonContents, + .dijitToolbar .dijitDropDownButton .dijitButtonContents, + .dijitToolbar .dijitComboButton .dijitButtonContents { + font-size: 13px; + } + + button:hover, + button:focus, + input[type="submit"]:hover, + input[type="submit"]:focus, + .dijitButton:hover, + .dijitDropDownButton .dijitDownArrowButton:hover, + .dijitToolbar .dijitButton:hover .dijitButtonNode, + .dijitToolbar .dijitButton.dijitHover .dijitButtonNode, + .dijitButton:focus, + .dijitComboButton:hover, + .dijitComboButton:focus { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; + } + + button:focus, + input[type="submit"]:focus, + .dijitButton:focus, + .dijitDropDownButton .dijitDownArrowButton:focus, + .dijitComboButton:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; + } + + button:active, + input[type="submit"]:active, + .dijitButton:active, + .dijitComboButton:active, + .dijitToolbar .dijitDropDownButton.dijitOpened, + .dijitToolbar .dijitComboButton.dijitOpened, + .dijitToolbar .dijitButton.dijitButtonActive .dijitButtonNode { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + } + + input[type="submit"][disabled], + button[disabled], + .dijitButton[disabled], + .dijitDropDownButton .dijitDownArrowButton[disabled], + .dijitButton.dijitButtonDisabled, + .dijitComboButton.dijitButtonDisabled { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + } + + .dijitButton .dijitButtonContents, + .dijitDropDownButton .dijitButtonContents, + .dijitComboButton .dijitButtonContents { + font-size: 14px; + font-weight: normal; + line-height: 20px; + } + + .dijitButton.small .dijitButtonText { + font-size: 11px; + } + + .dijitMenu { + border-color: rgba(82, 168, 236, 0.8); + } + + .dijitMenu .dijitMenuItemSelected, + .dijitMenu .dijitMenuItemSelected td { + background: rgb(82, 168, 236); + color: white; + border-color: rgba(82, 168, 236, 0.8); + } + + .dijitButton .dijitButtonNode, + .dijitComboButton .dijitButtonNode { + padding: 0px; + } + + /* Other stuff */ + + /* .dijitAccordionTitleFocus { + text-shadow : 1px 1px 2px #fff; + } + + .dijitAccordionTitle { + text-rendering: optimizelegibility; + font-family : "Segoe WP Semibold", "Segoe UI Semibold", + "Segoe UI Web Semibold", "Segoe UI", "Helvetica Neue", + Helvetica, Arial, sans-serif; + } */ + + .dijitAccordionTitle.dijitAccordionTitleHover, + .dijitAccordionTitle.dijitAccordionTitleFocused { + background: white; + transition: background 0.25s; + } + .dijitAccordionTitle { + background: #f0f0f0; + transition: background 0.25s; + } + + .dijitAccordionInnerContainer.dijitAccordionInnerContainerSelected, + .dijitAccordionTitle.dijitAccordionTitleSelected { + background: #0088cc; + transition: background 0.25s; + } + + .dijitAccordionTitle.dijitAccordionTitleSelected .dijitAccordionText { + color: white; + } + + .dijitAccordionInnerContainer.dijitAccordionInnerContainerSelected { + border-color: #0088cc; + } + + .dijitAccordionContainer .dijitAccordionChildWrapper { + border-color: #ddd; + } + + /* Tabs */ + + .dijitTabInner.dijitTab { + background: #f0f0f0; + } + + .dijitTabContent { + background: #eee; + } + + .dijitTabContent.dijitTabChecked, + .dijitTabContent.dijitTabHover, + .dijitTabContent.dijitFocused { + background: white; + } + + .dijitTabPaneWrapper, + .dijitTabContainerTop-tabs, + .dijitTab, + .dijitAccordionInnerContainer { + border-color: #ddd; + } + + /* Text fields & selects */ + + .dijitComboBox .dijitArrowButton, + .dijitSelect .dijitArrowButton { + background: transparent; + border-color: transparent; + } + + .dijitSelect .dijitArrowButton .dijitArrowButtonInner { + margin-right: 5px; + float: right; + } + + select, + .dijitDownArrowButton.dijitSelect { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + margin-bottom: 4px; + + } + + .dijitSelect .dijitButtonContents { + display: inline-block; + height: 20px; + padding: 4px 6px; + font-size: 14px; + line-height: 20px; + color: #555555; + vertical-align: middle; + border-width: 0px; + } + + select, + textarea, + .input.input-text, + .dijitTextBox { + display: inline-block; + height: 20px; + padding: 4px 6px; + font-size: 14px; + line-height: 20px; + color: #555555; + vertical-align: middle; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + margin-bottom: 4px; + } + textarea { + height: auto; + } + + select, + .input.input-text { + height: 30px; + } + + textarea, + select, + .input.input-text, + .dijitTextBox, + .dijitSelect { + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; + } + + select:focus, + .input.input-text:focus, + .dijitTextBox.dijitFocused, + .dijitSelect.dijitFocused { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + } + + .dijitError .dijitValidationContainer { + padding: 0px; + width: 13px; + border-width: 1px; + display: none; + } + + .dijitSelect.dijitSelectDisabled { + background-color: #eeeeee; + } + + .dijitSelect.dijitSelectDisabled .dijitSelectLabel { + cursor: not-allowed; + } + + .dijitTextBox.dijitTextBoxDisabled, + .dijitTextBox.dijitTextBoxDisabled .dijitInputInner, + .dijitTextBox.dijitReadOnly, + .dijitTextBox.dijitReadOnly .dijitInputInner { + cursor: not-allowed; + background-color: #eeeeee; + } + + .dijitToolbar .dijitDownArrowButton.dijitSelect { + border-color: rgba(0, 0, 0, 0.1); + } + + .dijitToolbar .dijitDownArrowButton.dijitSelect .dijitButtonContents { + padding: 2px 2px 0px 4px; + } + + .dijitToolbar .dijitDownArrowButton.dijitSelect { + margin: 0px; + } + + .dijitToolbar .dijitTextBox { + padding: 0px; + margin-bottom: 0px; + border-radius: 0px; + } + + /* dialog */ + + .dijitDialog { + border-radius: 6px; + + } + + .dijitDialog .dijitDialogCloseIcon { + margin-top: 5px; + } + + .dijitDialog .dijitDialogTitleBar { + background: white; + padding: 8px; + font-weight: 600; + color: #555; + font-size: 16px; + text-rendering: optimizelegibility; + font-family: @fonts-ui-bold; + } + + .dijitDialog .dijitDialogPaneContent { + border-color: #ddd; + padding: 10px; + } + + .dijitProgressBar.dijitProgressBarEmpty { + background: #ddd; + border-color: #0088cc; + } + + .dijitProgressBar.dijitProgressBarEmpty .dijitProgressBarFull .dijitProgressBarTile { + background: rgb(82, 168, 236); + + } + + .dijitProgressBar .dijitProgressBarLabel { + color: white; + } + +}
\ No newline at end of file diff --git a/css/layout.css b/css/layout.css index 3351331c0..376f9e63f 100644 --- a/css/layout.css +++ b/css/layout.css @@ -2,6 +2,6 @@ html, body#ttrssMain, body#ttrssPrefs, #main { width: 100%; height: 100%; border: 0; - padding: 0; + padding: 0; margin: 0; } diff --git a/css/prefs.css b/css/prefs.css deleted file mode 100644 index 0a184ff9b..000000000 --- a/css/prefs.css +++ /dev/null @@ -1,129 +0,0 @@ -body#ttrssPrefs { - background-color : #f5f5f5; -} - -body#ttrssPrefs #footer, body#ttrssPrefs #header { - background-color : #f5f5f5; - padding-left : 8px; - padding-right : 8px; -} - - -#header a:hover { - color : black; -} - -#header img { - vertical-align : middle; - cursor : pointer; -} - - -div#pref-tabs .dijitContentPane { - font-size : 13px; -} - -div#pref-tabs { - box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1); - margin : 0px 5px 0px 5px; -} - -div#pref-tabs .dijitContentPane h3 { - font-size : 14px; -} - -#pref-filter-wrap, #pref-filter-header, #pref-filter-content, -#pref-label-wrap, #pref-label-header, #pref-label-content, -#pref-user-wrap, #pref-user-header, #pref-user-content, -#pref-instance-wrap, #pref-instance-header, #pref-instance-content { - margin : 0px; - padding : 0px; - border-width : 0px; -} - -#userConfigTab, #labelConfigTab, #filterConfigTab, #pref-feeds-feeds, #instanceConfigTab { - padding : 0px; -} - -/* preferences */ - -table.prefPrefsList h3 { - margin-top : 0.5em; - margin-bottom : 0px; -} - -tr.title td { - border-width : 0px 0px 1px 0px; - border-color : #ecf4ff; - border-style : solid; - color : #0088cc; -} - -div.prefProfileHolder, div.prefFeedOPMLHolder, div.inactiveFeedHolder { - height : 300px; - overflow : auto; - border-width : 0px 1px 1px 1px; - border-color : #ddd; - border-style : solid; - margin : 0px 0px 5px 0px; - background-color : white; -} -div.filterTestHolder, div.prefFeedOPMLHolder { - border-width : 1px; -} - -ul.userFeedList { - height : 200px; - overflow : auto; - list-style-type : none; - border : 1px solid #ddd; - margin : 0px 0px 5px 0px; - padding : 5px; -} - -div#feedlistLoading, div#filterlistLoading, div#labellistLoading { - text-align : center; - padding : 5px; - color : #555; -} - -div#feedlistLoading img, div#filterlistLoading img, div#labellistLoading { - margin-right : 5px; -} - -#errorButton { - color : red; -} - -table.prefPluginsList td label, table.prefUserList td { - cursor : pointer; -} - -table.prefPluginsList label { - white-space : nowrap; -} - -table.prefPluginsList label img { - vertical-align : middle; -} - -table.prefErrorLog tr.errrow td { - font-size : 10px; -} - -table.prefErrorLog tr.errrow td.errno { - font-style : italic; - font-weight : bold; - white-space : nowrap; -} - -table.prefErrorLog td.filename, table.prefErrorLog td.login, table.prefErrorLog td.timestamp { - color : #555; -} - -body#ttrssPrefs hr { - border-color : #ecf4ff; - max-width : 100%; -} - - diff --git a/css/prefs.less b/css/prefs.less new file mode 100644 index 000000000..a7b76bc7f --- /dev/null +++ b/css/prefs.less @@ -0,0 +1,130 @@ +body#ttrssPrefs { + background-color : #f5f5f5; + + #footer, #header { + background-color : #f5f5f5; + padding-left : 8px; + padding-right : 8px; + } + + #header a:hover { + color : black; + } + + #header img { + vertical-align : middle; + cursor : pointer; + } + + + div#pref-tabs .dijitContentPane { + font-size : 13px; + } + + div#pref-tabs { + box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1); + margin : 0px 5px 0px 5px; + } + + div#pref-tabs .dijitContentPane h3 { + font-size : 14px; + } + + #pref-filter-wrap, #pref-filter-header, #pref-filter-content, + #pref-label-wrap, #pref-label-header, #pref-label-content, + #pref-user-wrap, #pref-user-header, #pref-user-content, + #pref-instance-wrap, #pref-instance-header, #pref-instance-content { + margin : 0px; + padding : 0px; + border-width : 0px; + } + + #userConfigTab, #labelConfigTab, #filterConfigTab, #pref-feeds-feeds, #instanceConfigTab { + padding : 0px; + } + + /* preferences */ + + table.prefPrefsList h3 { + margin-top : 0.5em; + margin-bottom : 0px; + } + + tr.title td { + border-width : 0px 0px 1px 0px; + border-color : #ecf4ff; + border-style : solid; + color : @color-link; + } + + div.prefProfileHolder, div.prefFeedOPMLHolder, div.inactiveFeedHolder { + height : 300px; + overflow : auto; + border-width : 0px 1px 1px 1px; + border-color : #ddd; + border-style : solid; + margin : 0px 0px 5px 0px; + background-color : white; + } + div.filterTestHolder, div.prefFeedOPMLHolder { + border-width : 1px; + } + + ul.userFeedList { + height : 200px; + overflow : auto; + list-style-type : none; + border : 1px solid #ddd; + margin : 0px 0px 5px 0px; + padding : 5px; + } + + div#feedlistLoading, div#filterlistLoading, div#labellistLoading { + text-align : center; + padding : 5px; + color : #555; + } + + div#feedlistLoading img, div#filterlistLoading img, div#labellistLoading { + margin-right : 5px; + } + + #errorButton { + color : red; + } + + table.prefPluginsList td label, table.prefUserList td { + cursor : pointer; + } + + table.prefPluginsList label { + white-space : nowrap; + } + + table.prefPluginsList label img { + vertical-align : middle; + } + + table.prefErrorLog tr.errrow td { + font-size : 10px; + } + + table.prefErrorLog tr.errrow td.errno { + font-style : italic; + font-weight : bold; + white-space : nowrap; + } + + table.prefErrorLog td.filename, table.prefErrorLog td.login, table.prefErrorLog td.timestamp { + color : #555; + } + + hr { + border-color : #ecf4ff; + max-width : 100%; + } + + + +} + diff --git a/css/tt-rss.css b/css/tt-rss.less index 866e95f29..f762cc665 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.less @@ -1,4 +1,4 @@ -body#ttrssMain, body#ttrssPrefs, body#ttrssLogin, body { +body { background : white; color : black; margin : 0px; @@ -12,144 +12,159 @@ body#ttrssMain { max-height : 100%; } +:focus { + outline: none; +} + div.postReply { padding : 0px; -} -div.postReply div.postHeader { - padding : 5px; - margin-right : 4px; - color : #909090; - border-width : 0px 0px 1px 0px; - border-color : #ddd; - border-style : solid; -} + div.postHeader { + padding : 5px; + margin-right : 4px; + color : #909090; + border: 0px solid #ddd; + border-bottom-width: 1px; + + div.postDate { + text-align : right; + color : #909090; + float : right; + } + + div { + padding-bottom : 3px; + } + + span.author { + color : #555; + font-size : 11px; + font-weight : normal; + } + } -div.postReply div.postTitle { - overflow : hidden; - text-overflow: ellipsis; - white-space : nowrap; - font-weight : 600; - text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; -} + div.postTitle { + overflow : hidden; + text-overflow: ellipsis; + white-space : nowrap; + font-weight : 600; + text-rendering: optimizelegibility; + font-family : @fonts-ui-bold; + } -div.postReply div.postDate { - padding-left : 10px; -} + div.postDate { + padding-left : 10px; + } -div.postReply div.postContent { - padding : 10px; - font-size : 16px; -} + div.postContent { + padding : 10px; + font-size : 16px; + + img, + video { + border-width : 0px; + max-width : 98%; + height: auto; + } + + h1 { + font-size : 16px; + } + + h2, + h3, + h4 { + font-size : 15px; + } + + p { + hyphens: auto; + } + + iframe { + min-width : 50%; + max-width : 98%; + } + } -div.postReply div.postContent img, -div.postReply div.postContent video { - border-width : 0px; - max-width : 98%; - height: auto; -} + div.postEnclosures { + color : #555; + } -div.postReply div.postEnclosures { - color : #555; -} + img.tagsPic { + width : 16px; + height : 16px; + margin-left : 4px; + vertical-align : middle; + } -div.postReply img.tagsPic { - width : 16px; - height : 16px; - margin-left : 4px; - vertical-align : middle; + span.author { + font-size : 12px; + } } div.articleNote { background-color : #fff7d5; padding : 5px; margin : 5px; - border-style : solid; - border-color : #e7d796; - border-width : 1px; + border: 1px solid #e7d796; color : #9a8c59; -} -div.articleNote div.noteEdit { - float : right; - cursor : pointer; -} - -div.postReply span.author { - font-size : 12px; + div.noteEdit { + float : right; + cursor : pointer; + } } h1 { font-size : 18px; font-weight : 600; text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; + font-family : @fonts-ui; } h2 { font-size : 16px; font-weight : 600; - border-width : 0px 0px 1px 0px; - border-style : solid; - border-color : #ecf4ff; + border: 0px solid @color-accent-light; + border-bottom-width: 1px; text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; + font-family : @fonts-ui; } h3 { font-size : 13px; - border-width : 0px 0px 1px 0px; - border-style : solid; - border-color : #ecf4ff; + border: 0px solid @color-accent-light; + border-bottom-width: 1px; font-weight : 600; text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; + font-family : @fonts-ui; } h4 { font-size : 14px; font-weight : 600; text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; + font-family : @fonts-ui; } hr { - border-width : 0px 0px 1px 0px; - border-style : solid; - border-color : #ccc; + border: 0px solid #ccc; + border-bottom-width: 1px; } a { - color: #0088cc; + color: @color-link; text-decoration: none; } a:hover { - color: #005580; + color: darken(@color-link, 20%); text-decoration: underline; } -#piggie { - z-index : 999; - position : absolute; -} - #notify.visible { transform: translate(0, -35px); - -webkit-transform: translate(0, -35px); - -o-transform: translate(0, -35px); - -moz-transform: translate(0, -35px); } #notify { @@ -166,28 +181,25 @@ a:hover { box-shadow : 0px -2px 2px rgba(0,0,0,0.1); transition: all 0.5s ease-in-out; - -webkit-transition: all 0.5s ease-in-out; - -moz-transition: all 0.5s ease-in-out; - -o-transition: all 0.5s ease-in-out; -} -#notify img { - vertical-align : middle; - max-height : 14px; -} + img { + vertical-align : middle; + max-height : 14px; + } -#notify span.msg { - width : 100%; -} + span.msg { + width : 100%; + } -#notify img.close { - cursor : pointer; -} + img.close { + cursor : pointer; + } -#notify span { - display : table-cell; - vertical-align : middle; - padding : 2px; + span { + display : table-cell; + vertical-align : middle; + padding : 2px; + } } .notify { @@ -201,8 +213,8 @@ a:hover { } .notify.notify_info { - border-color : rgb(82, 168, 236); - background-color : #ecf4ff; + border-color : @color-accent; + background-color : @color-accent-light; } .notify.notify_error { @@ -210,21 +222,126 @@ a:hover { border-color : #ff0000; } -.hl div.hlTitle a { - font-weight : 600; - text-rendering: optimizelegibility; - font-family : "Segoe WP Semibold", "Segoe UI Semibold", - "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; - color : #777; +.hl { + border: 0px solid #ddd; + border-bottom-width: 1px; + padding : 1px; + + div.hlTitle { + display : table-cell; + cursor : pointer; + width : 100%; + vertical-align : middle; + overflow : hidden; + white-space : nowrap; + max-width : 500px; + text-overflow : ellipsis; + padding: 4px 6px; + } + + div.hlLeft { + display : table-cell; + vertical-align : middle; + white-space: nowrap; + } + + div.hlRight { + display : table-cell; + white-space: nowrap; + text-align : right; + vertical-align : middle; + } + + div.hlRight img { + max-width : 16px; + max-height : 16px; + } + + span.hlFeed { + display : table-cell; + vertical-align : middle; + text-align : right; + } + + span.hlFeed a { + border-radius : 4px; + display : inline-block; + padding : 1px 4px 1px 4px; + font-size : 11px; + font-style : italic; + font-weight : normal; + color : #555; + white-space : nowrap; + } + + span.hlFeed a:hover { + color : @color-accent; + } + + span.hlUpdated { + color : #555; + display : table-cell; + vertical-align : middle; + text-align : right; + font-size : 11px; + white-space : nowrap; + padding-left : 10px; + } + + span.hlUpdated div { + display : inline-block; + } + + div.hlLeft { + padding-left : 8px; + } + + div.hlLeft input { + margin-left : 4px; + margin-right : 4px; + } + + div.hlLeft img, div.hlRight img { + margin : 0px 4px; + } + + div.hlLeft img { + width : 16px; + height : 16px; + } + + div.hlTitle a { + font-weight : 600; + text-rendering: optimizelegibility; + font-family : @fonts-ui; + color : #777; + } + + a.title.high, span.hlContent.high .contentPreview { + color : #00aa00; + } +} + +.hl.Unread a.title.high, .hl.Unread span.hlContent.high .contentPreview { + color : #00dd00; +} + +.hl a.title.low, span.hlContent.low .contentPreview, +.hl.Unread a.title.low, .hl.Unread span.hlContent.low .contentPreview { + color : #909090; + text-decoration : line-through; } .hl.Unread div.hlTitle a { color : black; } +.hl.active { + background : @color-accent-light ! important; +} + .hl.active div.hlTitle a { - color : rgb(82, 168, 236); + color : @color-accent; /* text-shadow : 1px 1px 2px #fff; */ } @@ -236,17 +353,6 @@ a:hover { color : #909090; } -.hl { - border-width : 0px 0px 1px 0px; - border-style : solid; - border-color : #ddd; - padding : 1px; -} - -.hl.active { - background : #ecf4ff ! important; -} - div.filterTestHolder { height : 300px; overflow : auto; @@ -256,31 +362,33 @@ div.filterTestHolder { border-width : 1px; } - -#content-insert blockquote, #headlines-frame blockquote, .dijitContentPane blockquote { +#content-insert blockquote, +#headlines-frame blockquote, +.dijitContentPane blockquote { margin : 5px 0px 5px 0px; color : #555; padding-left : 10px; - border-width : 0px 0px 0px 4px; - border-color : #ccc; - border-style : solid; + border: 0px solid #ccc; + border-left-width: 4px; } -#content-insert code, #headlines-frame code, .dijitContentPane code { +#content-insert code, +#headlines-frame code, +.dijitContentPane code { color : #009900; font-family : monospace; font-size : 12px; } -#content-insert pre, #headlines-frame pre, .dijitContentPane pre { +#content-insert pre, +#headlines-frame pre, +.dijitContentPane pre { margin: 5px 0px 5px 0px; padding: 10px; color: #555; font-family: monospace; font-size: 12px; - border-width: 0px; - border-color: #ccc; - border-style: solid; + border: 0px solid #ccc; background: #f5f5f5; display: block; max-width: 98%; @@ -293,8 +401,6 @@ div.filterTestHolder { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); background-color: #fcf8e3; border: 1px solid #fbeed5; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; border-radius: 4px; } @@ -366,68 +472,72 @@ div.prefHelp { font-size : 11px; } -#main-toolbar > * { - white-space : nowrap; - display : table-cell; - color : #999; - overflow : hidden; -} +#main-toolbar { -#main-toolbar > *, -#main-toolbar table *, -#main-toolbar .actionChooser * { - text-rendering: optimizelegibility; - font-family : "Segoe WP", "Segoe UI Web", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; - font-size : 12px; + > * { + white-space : nowrap; + display : table-cell; + color : #999; + overflow : hidden; + } -} + > *, + table *, + .actionChooser * { + text-rendering: optimizelegibility; + font-family : @fonts-ui; + font-size : 12px; -#main-toolbar #headlines-toolbar { - padding-right : 4px; - width : 100%; -} + } -#main-toolbar #headlines-toolbar span.holder { - display : table; - width : 100%; -} + #headlines-toolbar { + padding-right : 4px; + width : 100%; -#main-toolbar #headlines-toolbar span.holder > * { - display : table-cell; -} + span.holder { + display : table; + width : 100%; + } -#main-toolbar #headlines-toolbar .main { - text-align : right; -} + span.holder > * { + display : table-cell; + } -#main-toolbar #headlines-toolbar .main, -#main-toolbar #headlines-toolbar .r { - line-height : 24px; -} + .main { + text-align : right; + } -#headlines-toolbar span.r img { - margin-right : 4px; - position : relative; - top : 3px; -} + .main, + .r { + line-height : 24px; + } -#headlines-toolbar span.r .error a { - color : red; -} + span.r img { + margin-right : 4px; + position : relative; + top : 3px; + } -#main-toolbar #selected_prompt { - font-style : italic; - text-align : right; - margin-right : 4px; -} + span.r .error a { + color : red; + } -@media (max-width: 992px) { - #main-toolbar #selected_prompt { - display : none; + } + + #selected_prompt { + font-style : italic; + text-align : right; + margin-right : 4px; + } + + @media (max-width: 992px) { + #selected_prompt { + display : none; + } } } + span.contentPreview { color : #999; font-weight : normal; @@ -448,33 +558,10 @@ span.hlLabelRef { border-radius : 4px; } -div.postHeader div.postDate { - text-align : right; - color : #909090; - float : right; -} - -div.postHeader div { - padding-bottom : 3px; -} - -#feedUpdateErrors { - display : none; -} - -#allEntryTags { - border-width : 0px 0px 1px 0px; - border-style : solid; - border-color : #ddd; - padding-bottom : 5px; - display : none; -} - img.markedPic, img.pubPic { cursor : pointer; vertical-align : middle; opacity : 0.5; - -webkit-transition : opacity 0.25s; transition : opacity 0.25s; } @@ -506,12 +593,13 @@ ul.feedErrorsList { border : 1px solid #ddd; margin : 0px 0px 5px 0px; padding : 5px; -} -ul.feedErrorsList em { - color : #555; + em { + color : #555; + } } + ul.browseFeedList { height : 300px; overflow : auto; @@ -523,37 +611,26 @@ ul.browseFeedList { list-style-type : none; padding : 0px; + li { + margin : 0px; + padding : 2px 4px 2px 4px; + } } -ul.browseFeedList li { - margin : 0px; - padding : 2px 4px 2px 4px; -} - -span.subscribers { - color : #808080; -} -div.subscribers { +.browseFeedList span.subscribers { color : #808080; - font-size : 12px; - float : right; -} - -div.browserDetails { - margin : 5px 5px 5px 5px; - padding : 5px; } ul.compact { list-style-type : none; margin : 0px; padding : 0px; -} -ul.compact li { - margin : 0px; - padding : 0px; + li { + margin : 0px; + padding : 0px; + } } .noborder { @@ -591,9 +668,8 @@ div.whiteBox { text-align : center; padding : 1em 1em 0px 1em; font-size : 11px; - border-width : 0px 0px 1px 0px; - border-style : solid; - border-color : #ddd; + border: 0px solid #ddd; + border-bottom-width: 1px; } div.autocomplete { @@ -603,38 +679,30 @@ div.autocomplete { border :1px solid #778899; margin : 0px; padding : 0px; -} -div.autocomplete ul { - list-style-type : none; - margin : 0px; - padding : 0px; -} + ul { + list-style-type : none; + margin : 0px; + padding : 0px; + } -div.autocomplete ul li.selected { - background-color : #fff7d5; -} + ul li.selected { + background-color : #fff7d5; + } -div.autocomplete ul li { - list-style-type : none; - display : block; - margin : 0; - padding : 2px; - height : 32px; - cursor : pointer; + ul li { + list-style-type : none; + display : block; + margin : 0; + padding : 2px; + height : 32px; + cursor : pointer; + } } -.hl .hlTitle { - overflow : hidden; - white-space : nowrap; - max-width : 500px; - text-overflow : ellipsis; - padding-left : 6px; - padding-right : 6px; -} div#headlines-frame.wide .hlTitle { - max-width : auto; + max-width : none; overflow : visible; white-space : normal; } @@ -643,19 +711,6 @@ div#headlines-frame.wide .hl .hlFeed { display : none; } -.hl a.title.high, span.hlContent.high .contentPreview { - color : #00aa00; -} -.hl.Unread a.title.high, .hl.Unread span.hlContent.high .contentPreview { - color : #00dd00; -} - -.hl a.title.low, span.hlContent.low .contentPreview, -.hl.Unread a.title.low, .hl.Unread span.hlContent.low .contentPreview { - color : #909090; - text-decoration : line-through; -} - img.hlScorePic { vertical-align : middle; width : 16px; @@ -677,6 +732,11 @@ div.dlgSecCont { float : left; font-size : 12px; font-weight : normal; + + > * { + position : relative; + top : -2px; + } } div.dlgSecCont hr, div.dlgSecSimple hr { @@ -686,11 +746,6 @@ div.dlgSecCont hr, div.dlgSecSimple hr { margin : 2px; } -div.dlgSecCont > * { - position : relative; - top : -2px; -} - div.dlgButtons { text-align : right; clear : both; @@ -718,7 +773,7 @@ div#cmdline { color : #555; font-weight : bold; background-color : white; - border : 1px solid rgb(82, 168, 236); + border : 1px solid @color-accent; padding : 3px 5px 3px 5px; z-index : 5; } @@ -729,97 +784,17 @@ div#cmdline { width : 18px; } -div.hlTitle { - display : table-cell; - cursor : pointer; - width : 100%; - vertical-align : middle; - padding-top : 4px; - padding-bottom : 4px; -} - -div.hlLeft { - display : table-cell; - vertical-align : middle; - white-space: nowrap; -} - -div.hlRight { - display : table-cell; - white-space: nowrap; - text-align : right; - vertical-align : middle; -} - -div.hlRight img { - max-width : 16px; - max-height : 16px; -} - -.hl span.hlFeed { - display : table-cell; - vertical-align : middle; - text-align : right; -} - -.hl span.hlFeed a { - border-radius : 4px; - display : inline-block; - padding : 1px 4px 1px 4px; - font-size : 11px; - font-style : italic; - font-weight : normal; - color : #555; - white-space : nowrap; -} - -.hl span.hlFeed a:hover { - color : rgb(82, 168, 236); -} - -.hl span.hlUpdated { - color : #555; - display : table-cell; - vertical-align : middle; - text-align : right; - font-size : 11px; - white-space : nowrap; - padding-left : 10px; -} - -span.hlUpdated div { - display : inline-block; -} - -div.hlLeft { - padding-left : 8px; -} - -div.hlLeft input { - margin-left : 4px; - margin-right : 4px; -} - -div.hlLeft img, div.hlRight img { - margin : 0px 4px; -} - -div.hlLeft img { - width : 16px; - height : 16px; -} - div.fatalError { margin-bottom : 10px; -} -div.fatalError button { - margin-top : 5px; -} + button { + margin-top : 5px; + } -div.fatalError textarea { - width : 565px; - height : 200px; + textarea { + width : 565px; + height : 200px; + } } #ttrssMain #main { @@ -842,9 +817,7 @@ div.fatalError textarea { #feeds-holder { padding : 0px; - border-width : 0px 0px 0px 0px; - border-style : solid; - border-color : #ddd; + border: 0px solid #ddd; overflow : hidden; background : #f5f5f5; box-shadow : inset -1px 0px 2px -1px rgba(0,0,0,0.1); @@ -859,10 +832,11 @@ div.fatalError textarea { #headlines-frame { padding : 0px; - border-width : 0px; - border-color : #ddd; + border: 0px #ddd; margin-top : 0px; -webkit-overflow-scrolling : touch; + -webkit-transform: translateZ(0); + -webkit-backface-visibility: hidden; } #headlines-toolbar_splitter, #toolbar_splitter { @@ -879,9 +853,8 @@ div.fatalError textarea { #main-toolbar { background : white; - border-width : 0px 0px 1px 0px; - border-color : #ddd; - border-style : solid; + border: 0px solid #ddd; + border-bottom-width: 1px; padding-left : 4px; height : 26px; @@ -962,16 +935,16 @@ img.feedIcon, img.tinyFeedIcon { color : #555; font-size : 11px; font-style : italic; -} -#headlines-spacer a, #headlines-spacer span { - color : #555; - padding : 10px; - display : block; -} + a, span { + color : #555; + padding : 10px; + display : block; + } -#headlines-spacer a:hover { - color : rgb(82, 168, 236); + a:hover { + color : @color-accent; + } } ul#filterDlg_Matches, ul#filterDlg_Actions { @@ -998,54 +971,26 @@ ul.helpKbList { border : 1px solid #ddd; margin : 0px 0px 5px 0px; padding : 5px; -} -ul.helpKbList span.hksequence { - width : 6em; - margin-left : 20px; - color : rgb(82, 168, 236); - font-weight : bold; - display : inline-block; -} + span.hksequence { + width : 6em; + margin-left : 20px; + color : @color-accent; + font-weight : bold; + display : inline-block; + } -ul.helpKbList h2 { - margin-top : 0px; + h2 { + margin-top : 0px; + } } span.collapseBtn { cursor : pointer; -} - -span.collapseBtn img { - vertical-align : middle; -} - -div.postContent h1 { - font-size : 16px; -} - -div.postContent h2, -div.postContent h3, -div.postContent h4 { - font-size : 15px; -} - -div.postContent p { - /*max-width : 650px;*/ - -webkit-hyphens: auto; - -moz-hyphens: auto; - hyphens: auto; -} - -div.postContent iframe { - min-width : 50%; - max-width : 98%; -} -div.postHeader span.author { - color : #555; - font-size : 11px; - font-weight : normal; + img { + vertical-align : middle; + } } select.attachments { @@ -1059,16 +1004,6 @@ select.attachments { vertical-align : middle; } -span.sel_links { - margin-right : 4px; - vertical-align : middle; -} - -/*#feedTree img.feedIcon { - position : relative; - top : -2px; -}*/ - body#ttrssMain.claro #feedTree.dijitTree .dijitTreeNode .dijitTreeRowSelected { box-shadow : -1px 0px 2px -1px rgba(0,0,0,0.1); border-right-color : white; @@ -1107,42 +1042,41 @@ body#ttrssMain #feedTree { height : 100%; overflow-x : hidden; text-rendering: optimizelegibility; - font-family : "Segoe UI Web", "Segoe UI", Ubuntu, "Helvetica Neue", - Helvetica, Arial, sans-serif; -} + font-family : @fonts-ui; -body#ttrssMain #feedTree .counterNode.aux { - background : #f0f0f0; - color : #999; - border-color : #f0f0f0; -} + .counterNode.aux { + background : #f0f0f0; + color : #999; + border-color : #f0f0f0; + } -body#ttrssMain #feedTree .counterNode { - font-weight : bold; - display : inline-block; - font-size : 9px; - text-align : center; - border : 1px solid rgb(82, 168, 236); - color : white; - background : rgb(82, 168, 236); - border-radius : 4px; - vertical-align : middle; - float : right; - position : relative; - line-height : 14px; - margin-right : 8px; - margin-top : 2px; - min-width : 23px; - height : 14px; -} + .counterNode { + font-weight : bold; + display : inline-block; + font-size : 9px; + text-align : center; + border : 1px solid @color-accent; + color : white; + background : @color-accent; + border-radius : 4px; + vertical-align : middle; + float : right; + position : relative; + line-height : 14px; + margin-right : 8px; + margin-top : 2px; + min-width : 23px; + height : 14px; + } -body#ttrssMain #feedTree .dijitTreeNode .loadingExpando { - left : -3px; - height : 22px; - position : relative; - top : -3px; -} + .dijitTreeNode .loadingExpando { + left : -3px; + height : 22px; + position : relative; + top : -3px; + } +} span.highlight { background-color : #ffff00; @@ -1170,15 +1104,6 @@ body#ttrssMain #feedTree .dijitTreeRow img.dijitTreeExpandoLeaf { position : relative; } -#headlines-frame { - -webkit-transform: translateZ(0); - -webkit-backface-visibility: hidden; -} - -:focus { - outline: none; -} - .dijitDropDownButton.attachments .dijitButtonText { font-size : 12px; } @@ -1189,4 +1114,112 @@ body#ttrssMain #feedTree .dijitTreeRow img.dijitTreeExpandoLeaf { #editTagsDlg{ overflow: visible; -}
\ No newline at end of file +} + +body#ttrssZoom { + margin-left : auto; + margin-right : auto; + padding : 20px; + max-width : 770px; + background : #f5f5f5; + + div.postHeader div.postFeedTitle { + float : left; + text-align : right; + padding-left : 0px; + font-size : 11px; + } + + div.postHeader a.postComments { + text-align : right; + padding-left : 0px; + font-size : 11px; + } + + div.postHeader div.postDate { + float : none; + text-align : right; + padding-left : 0px; + color : #777; + font-size : 11px; + } + + div.postHeader div.postTags { + color : #777; + font-size : 11px; + } + + div.postHeader div.postTitle { + white-space : normal; + font-size : 16px; + } + + div.postContent { + font-size : 15px; + line-height : 1.5; + } + + div.postContent p { + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; + } + + div.postHeader { + margin : 10px; + border-width : 0px 0px 1px 0px; + border-style : solid; + border-color : #eee; + background : white; + } + + div.postReply { + border : 1px solid #ddd; + background : white; + box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1); + border-radius : 6px; + } + + div.footer { + margin-top : 1em; + text-align : center; + } + + div.postContent img { + max-width : 730px; + height : auto; + } + + div.postContent blockquote { + margin : 5px 0px 5px 0px; + color : #555; + padding-left : 10px; + border-width : 0px 0px 0px 4px; + border-color : #ccc; + border-style : solid; + } + + div.postContent code { + color : #009900; + font-family : monospace; + font-size : 12px; + } + + div.postContent pre { + margin : 5px 0px 5px 0px; + padding : 10px; + color : #555; + font-family : monospace; + font-size : 12px; + border-width : 0px; + border-color : #ccc; + border-style : solid; + background : #f5f5f5; + display : block; + max-width : 98%; + overflow : auto; + } + + +} + diff --git a/css/utility.css b/css/utility.css index 01aff091f..4afdb067a 100644 --- a/css/utility.css +++ b/css/utility.css @@ -1,4 +1,6 @@ -@import "dijit.css"; +body.sanity_failed { + background : #900; +} body { background : #f5f5f5; @@ -132,7 +134,7 @@ h2 { font-size : 14pt; border-width : 0px 0px 1px 0px; border-color : #f0f0f0; - border-style : solid; + border-style : solid; } div.content > h2 { @@ -202,11 +204,11 @@ body#sharepopup table { padding : 5px; } -body#sharepopup form { +body#sharepopup form { height : 100%; } -body#sharepopup input { +body#sharepopup input { width : 100%; } @@ -227,7 +229,7 @@ div.autocomplete ul { font-size : 10px; } -div.autocomplete ul li.selected { +div.autocomplete ul li.selected { background-color : #fff7d5; } @@ -240,7 +242,7 @@ div.autocomplete ul li { cursor : pointer; } -fieldset { +fieldset { border-width : 0px; padding : 0px 0px 5px 0px; margin : 0px; diff --git a/include/functions.php b/include/functions.php index 4265692ec..5667ac416 100644 --- a/include/functions.php +++ b/include/functions.php @@ -1,6 +1,6 @@ <?php define('EXPECTED_CONFIG_VERSION', 26); - define('SCHEMA_VERSION', 132); + define('SCHEMA_VERSION', 133); define('LABEL_BASE_INDEX', -1024); define('PLUGIN_FEED_BASE_INDEX', -128); @@ -57,6 +57,9 @@ // do not cache files smaller than that (bytes) define_default('CACHE_MAX_DAYS', 7); // max age in days for various automatically cached (temporary) files + define_default('MAX_CONDITIONAL_INTERVAL', 3600*12); + // max interval between forced unconditional updates for servers + // not complying with http if-modified-since (seconds) /* tunables end here */ @@ -2546,3 +2549,18 @@ } } + function check_mysql_tables() { + $schema = db_escape_string(DB_NAME); + + $result = db_query("SELECT engine, table_name FROM information_schema.tables WHERE + table_schema = '$schema' AND table_name LIKE 'ttrss_%' AND engine != 'InnoDB'"); + + $bad_tables = []; + + while ($line = db_fetch_assoc($result)) { + array_push($bad_tables, $line); + } + + return $bad_tables; + } + diff --git a/include/login_form.php b/include/login_form.php index 0d956d207..41c3f173e 100644 --- a/include/login_form.php +++ b/include/login_form.php @@ -3,8 +3,7 @@ <head> <title>Tiny Tiny RSS : Login</title> <?php echo stylesheet_tag("lib/dijit/themes/claro/claro.css") ?> - <?php echo stylesheet_tag("css/tt-rss.css") ?> - <?php echo stylesheet_tag("css/dijit.css") ?> + <?php echo stylesheet_tag("css/default.css") ?> <link rel="shortcut icon" type="image/png" href="images/favicon.png"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <?php diff --git a/include/sanity_check.php b/include/sanity_check.php index 39962219f..a84959f8e 100755 --- a/include/sanity_check.php +++ b/include/sanity_check.php @@ -156,6 +156,29 @@ if (!class_exists("DOMDocument")) { array_push($errors, "PHP support for DOMDocument is required, but was not found."); } + + if (DB_TYPE == "mysql") { + $bad_tables = check_mysql_tables(); + + if (count($bad_tables) > 0) { + $bad_tables_fmt = []; + + foreach ($bad_tables as $bt) { + array_push($bad_tables_fmt, sprintf("%s (%s)", $bt['table_name'], $bt['engine'])); + } + + $msg = "<p>The following tables use an unsupported MySQL engine: <b>" . + implode(", ", $bad_tables_fmt) . "</b>.</p>"; + + $msg .= "<p>The only supported engine on MySQL is InnoDB. MyISAM lacks functionality to run + tt-rss. + Please backup your data (via OPML) and re-import the schema before continuing.</p> + <p><b>WARNING: importing the schema would mean LOSS OF ALL YOUR DATA.</b></p>"; + + + array_push($errors, $msg); + } + } } if (count($errors) > 0 && $_SERVER['REQUEST_URI']) { ?> @@ -165,7 +188,7 @@ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="css/utility.css"> </head> - <body> + <body class='sanity_failed'> <div class="floatingLogo"><img src="images/logo_small.png"></div> <div class="content"> diff --git a/install/index.php b/install/index.php index 883573001..9f817db17 100755 --- a/install/index.php +++ b/install/index.php @@ -3,7 +3,7 @@ <title>Tiny Tiny RSS - Installer</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="../css/utility.css"> - <link rel="stylesheet" type="text/css" href="../css/dijit.css"> + <link rel="stylesheet" type="text/css" href="../css/default.css"> <style type="text/css"> textarea { font-size : 12px; } </style> diff --git a/locale/ru_RU/LC_MESSAGES/messages.mo b/locale/ru_RU/LC_MESSAGES/messages.mo Binary files differindex 1a9fc2be6..565c0e8c9 100644 --- a/locale/ru_RU/LC_MESSAGES/messages.mo +++ b/locale/ru_RU/LC_MESSAGES/messages.mo diff --git a/locale/ru_RU/LC_MESSAGES/messages.po b/locale/ru_RU/LC_MESSAGES/messages.po index f0d48000f..3796076b8 100644 --- a/locale/ru_RU/LC_MESSAGES/messages.po +++ b/locale/ru_RU/LC_MESSAGES/messages.po @@ -1996,7 +1996,7 @@ msgstr "" #: classes/pref/feeds.php:744 #: classes/pref/feeds.php:922 msgid "Mark updated articles as unread" -msgstr "Пометить все статьи как прочитанные?" +msgstr "Отметить обновлённые статьи как непрочитанные" #: classes/pref/feeds.php:748 msgid "Icon" diff --git a/register.php b/register.php index a6f42c65d..11f5d9284 100644 --- a/register.php +++ b/register.php @@ -96,7 +96,7 @@ <title>Create new account</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <?php echo stylesheet_tag("css/utility.css") ?> -<?php echo stylesheet_tag("css/dijit.css") ?> +<?php echo stylesheet_tag("css/default.css") ?> <?php echo javascript_tag("js/functions.js") ?> <?php echo javascript_tag("lib/prototype.js") ?> <?php echo javascript_tag("lib/scriptaculous/scriptaculous.js?load=effects,controls") ?> diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index 67a22e6d9..ce299f4e0 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -102,6 +102,7 @@ create table ttrss_feeds (id integer not null auto_increment primary key, update_interval integer not null default 0, purge_interval integer not null default 0, last_updated datetime default null, + last_unconditional datetime default null, last_error varchar(250) not null default '', last_modified varchar(250) not null default '', favicon_avg_color varchar(11) default null, @@ -283,7 +284,7 @@ create table ttrss_tags (id integer primary key auto_increment, create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; -insert into ttrss_version values (132); +insert into ttrss_version values (133); create table ttrss_enclosures (id integer primary key auto_increment, content_url text not null, diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql index 7870b4b37..9f3975353 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -72,6 +72,7 @@ create table ttrss_feeds (id serial not null primary key, update_interval integer not null default 0, purge_interval integer not null default 0, last_updated timestamp default null, + last_unconditional timestamp default null, last_error text not null default '', last_modified text not null default '', favicon_avg_color varchar(11) default null, @@ -265,7 +266,7 @@ create index ttrss_tags_post_int_id_idx on ttrss_tags(post_int_id); create table ttrss_version (schema_version int not null); -insert into ttrss_version values (132); +insert into ttrss_version values (133); create table ttrss_enclosures (id serial not null primary key, content_url text not null, diff --git a/schema/versions/mysql/133.sql b/schema/versions/mysql/133.sql new file mode 100644 index 000000000..e1693a9cb --- /dev/null +++ b/schema/versions/mysql/133.sql @@ -0,0 +1,7 @@ +begin; + +alter table ttrss_feeds add column last_unconditional datetime null; + +UPDATE ttrss_version SET schema_version = 133; + +commit; diff --git a/schema/versions/pgsql/133.sql b/schema/versions/pgsql/133.sql new file mode 100644 index 000000000..7bf2f9fa6 --- /dev/null +++ b/schema/versions/pgsql/133.sql @@ -0,0 +1,7 @@ +begin; + +alter table ttrss_feeds add column last_unconditional timestamp null; + +UPDATE ttrss_version SET schema_version = 133; + +commit; diff --git a/themes/default.php b/themes/default.php index db131e34c..48ca80752 100644 --- a/themes/default.php +++ b/themes/default.php @@ -5,10 +5,6 @@ return "@import \"$filename?".filemtime($filename)."\";"; } - $styles = [ "tt-rss.css", "dijit.css", "cdm.css", "prefs.css" ]; - - foreach ($styles as $style) { - print import_tag("../css/$style") . "\n"; - } + print import_tag("../css/default.css") . "\n"; ?> |