From 4b7ebe93a8a59a3bd2e7fb820795314be3db51ce Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 6 Jul 2013 12:34:58 +0400 Subject: fix broken highlighting of high-scored rows --- css/cdm.css | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 18bedce01..7e85cbfff 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -265,3 +265,22 @@ div#floatingTitle span.author, div#floatingTitle img.tinyFeedIcon { 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; +} + + -- cgit v1.2.3-54-g00ecf From 8ee5e9e5e69e9a54dabad9abc580cc2391198464 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Jul 2013 22:11:24 +0400 Subject: rework floatingtitle --- css/cdm.css | 72 ++++++++++++++++++++++++++++++++++------------- images/page_white_go.png | Bin 0 -> 612 bytes js/viewfeed.js | 51 +++++++++++++++++++++++++-------- 3 files changed, 91 insertions(+), 32 deletions(-) create mode 100644 images/page_white_go.png (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 7e85cbfff..2d0797db3 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -230,39 +230,71 @@ div.cdmHeader span.author { div#floatingTitle { position : absolute; z-index : 5; - top : 30px; - right : 20px; - border : 1px solid #ccc; - background : white; - border-radius : 3px; - box-shadow : 0px 0px 3px 0px rgba(0,0,0,0.1); + top : 26px; + right : 0px; + left : 0px; + border-color : #ccc; + border-width : 0px 0px 1px 0px; + border-style : solid; + background : #fcfcfc; color : #555; - font-size : 10px; - padding : 3px; + box-shadow : 0px 1px 1px 0px rgba(0,0,0,0.1); } div#floatingTitle > * { display : table-cell; white-space : nowrap; vertical-align : middle; + padding : 9px 5px; } -div#floatingTitle span.titleWrap { - max-width : 200px; - overflow : hidden; - text-overflow : ellipsis; +div#floatingTitle img { + margin-right : 4px; + margin-left : 4px; } -div#floatingTitle img { - padding-right : 3px; +div#floatingTitle span.author { + color : #555; + font-size : 11px; + font-weight : normal; +} + +div#floatingTitle a.title { + font-size : 14px; + color : #999; + font-weight : bold; +} +div#floatingTitle img.anchor { + margin-right : 1px; + 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 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%; } -div#floatingTitle .dijit, -div#floatingTitle span.updated, -div#floatingTitle div.scoreWrap, -div#floatingTitle div.hlFeed, -div#floatingTitle span.author, -div#floatingTitle img.tinyFeedIcon { +div#floatingTitle .dijit, +div#floatingTitle img.hlScorePic { display : none; } diff --git a/images/page_white_go.png b/images/page_white_go.png new file mode 100644 index 000000000..7e62a924b Binary files /dev/null and b/images/page_white_go.png differ diff --git a/js/viewfeed.js b/js/viewfeed.js index 0cdb09425..ec7706547 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -2215,27 +2215,54 @@ function openSelectedAttachment(elem) { } } +function scrollToRowId(id) { + try { + var row = $(id); + + if (row) + $("headlines-frame").scrollTop = row.offsetTop; + + } catch (e) { + exception_error("scrollToRowId", e); + } +} + function updateFloatingTitle() { try { var hf = $("headlines-frame"); var child = $("RROW-" + _active_article_id); - if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) { + var elems; - var header = child.getElementsByClassName("cdmHeader")[0]; + if (getInitParam("cdm_auto_catchup")) + elems = [$$("RROW-" + _active_article_id)]; + else + elems = $$("#headlines-frame > div[id*=RROW]"); - if (child.id != $("floatingTitle").getAttribute("rowid")) { - $("floatingTitle").setAttribute("rowid", child.id); - $("floatingTitle").innerHTML = header.innerHTML; + for (var i = 0; i < elems.length; i++) { - PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); - } + var child = elems[i]; - if (child.offsetTop < hf.scrollTop - header.offsetHeight - 100 && - child.offsetTop + child.offsetHeight - hf.scrollTop > 100) - Element.show("floatingTitle"); - else - Element.hide("floatingTitle"); + if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) { + + var header = child.getElementsByClassName("cdmHeader")[0]; + + if (child.id != $("floatingTitle").getAttribute("rowid")) { + $("floatingTitle").setAttribute("rowid", child.id); + $("floatingTitle").innerHTML = header.innerHTML; + $("floatingTitle").firstChild.innerHTML = "" + $("floatingTitle").firstChild.innerHTML; + + PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); + } + + if (child.offsetTop < hf.scrollTop - header.offsetHeight) + Element.show("floatingTitle"); + else + Element.hide("floatingTitle"); + + return; + + } } } catch (e) { -- cgit v1.2.3-54-g00ecf From b532ef24edb5b733a7717cebe68e5e95dc3bcffe Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Jul 2013 22:17:27 +0400 Subject: floating title: fix feed styling --- css/cdm.css | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 2d0797db3..475aac143 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -278,6 +278,12 @@ div#floatingTitle div.hlFeed { 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; -- cgit v1.2.3-54-g00ecf From 8043035b4213aeb197e431998efac1c5fbdf7003 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Jul 2013 22:24:49 +0400 Subject: fix floating title whitespace wrapping in titlewrap --- css/cdm.css | 1 + 1 file changed, 1 insertion(+) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 475aac143..65c5bf53f 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -297,6 +297,7 @@ div#floatingTitle div.hlFeed a { div#floatingTitle span.titleWrap { width : 100%; + white-space : normal; } div#floatingTitle .dijit, -- cgit v1.2.3-54-g00ecf From da0f023745730ef2330f458945629e5ceaea89a5 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 11 Jul 2013 08:39:09 +0400 Subject: fix floating title position --- css/cdm.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 65c5bf53f..c16cf28f1 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -230,11 +230,11 @@ div.cdmHeader span.author { div#floatingTitle { position : absolute; z-index : 5; - top : 26px; + top : 25px; right : 0px; left : 0px; border-color : #ccc; - border-width : 0px 0px 1px 0px; + border-width : 1px 0px 1px 0px; border-style : solid; background : #fcfcfc; color : #555; -- cgit v1.2.3-54-g00ecf From 7415fcf2129c4ac0cfd814b0beb917e2372447f1 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 11 Jul 2013 12:28:24 +0400 Subject: enable floating title for expandable combined mode, minor expandable mode fixes --- css/cdm.css | 4 ++++ js/viewfeed.js | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index c16cf28f1..98fd4edf6 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -110,6 +110,10 @@ div.cdm.expandable div.cdmHeader span.titleWrap { max-width : 500px; } +div.cdm.expandable.active div.cdmHeader span.titleWrap { + white-space : normal; +} + div.cdm.expandable div.cdmHeader a.title { font-weight : bold; color : #555; diff --git a/js/viewfeed.js b/js/viewfeed.js index e23db86bd..1785fe3f5 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1315,7 +1315,7 @@ function headlines_scroll_handler(e) { if (hsp) hsp.innerHTML = ""; } - if (getInitParam("cdm_expanded") && isCdmMode()) { + if (isCdmMode()) { updateFloatingTitle(); } @@ -1489,6 +1489,12 @@ function cdmCollapseArticle(event, id, unmark) { if (event) Event.stop(event); PluginHost.run(PluginHost.HOOK_ARTICLE_COLLAPSED, id); + + if (row.offsetTop < $("headlines-frame").scrollTop) + scrollToRowId(row.id); + + Element.hide("floatingTitle"); + $("floatingTitle").setAttribute("rowid", false); } } catch (e) { -- cgit v1.2.3-54-g00ecf From 41d37fb2c39b2b270981dac423e3d6c55293048d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 16 Jul 2013 09:59:14 +0400 Subject: add experimental hack to show row unread status in floating title --- css/cdm.css | 5 +++++ js/viewfeed.js | 30 +++++++++++++++++++++--------- 2 files changed, 26 insertions(+), 9 deletions(-) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 98fd4edf6..23b8c7767 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -268,6 +268,11 @@ div#floatingTitle a.title { color : #999; font-weight : bold; } + +div#floatingTitle.Unread a.title { + color : black; +} + div#floatingTitle img.anchor { margin-right : 1px; margin-left : 0px; diff --git a/js/viewfeed.js b/js/viewfeed.js index 9a13f8c05..0a20cabcf 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -835,6 +835,8 @@ function selectionToggleUnread(set_state, callback, no_error, ids) { } } + updateFloatingTitle(true); + if (rows.length > 0) { var cmode = ""; @@ -1742,6 +1744,7 @@ function cdmClicked(event, id) { if (article_is_unread) { decrementFeedCounter(getActiveFeedId(), activeFeedIsCat()); + updateFloatingTitle(true); } var query = "?op=rpc&method=catchupSelected" + @@ -2257,8 +2260,10 @@ function scrollToRowId(id) { } } -function updateFloatingTitle() { +function updateFloatingTitle(unread_only) { try { + if (!isCdmMode()) return; + var hf = $("headlines-frame"); var elems = $$("#headlines-frame > div[id*=RROW]"); @@ -2271,17 +2276,24 @@ function updateFloatingTitle() { var header = child.getElementsByClassName("cdmHeader")[0]; - if (child.id != $("floatingTitle").getAttribute("rowid")) { - $("floatingTitle").setAttribute("rowid", child.id); - $("floatingTitle").innerHTML = header.innerHTML; - $("floatingTitle").firstChild.innerHTML = "" + $("floatingTitle").firstChild.innerHTML; + if (unread_only || child.id != $("floatingTitle").getAttribute("rowid")) { + if (child.id != $("floatingTitle").getAttribute("rowid")) { + $("floatingTitle").setAttribute("rowid", child.id); + $("floatingTitle").innerHTML = header.innerHTML; + $("floatingTitle").firstChild.innerHTML = "" + $("floatingTitle").firstChild.innerHTML; - initFloatingMenu(); + initFloatingMenu(); - var cb = $$("#floatingTitle .dijitCheckBox")[0]; + var cb = $$("#floatingTitle .dijitCheckBox")[0]; + + if (cb) + cb.parentNode.removeChild(cb); + } - if (cb) - cb.parentNode.removeChild(cb); + if (child.hasClassName("Unread")) + $("floatingTitle").addClassName("Unread"); + else + $("floatingTitle").removeClassName("Unread"); PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); } -- cgit v1.2.3-54-g00ecf From 898f86c0737835e7e24c50d45efa44a3d47c9ee6 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 16 Jul 2013 11:47:30 +0400 Subject: add some transitions for headline title color changes --- css/cdm.css | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 23b8c7767..81c481eae 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -117,6 +117,8 @@ div.cdm.expandable.active div.cdmHeader span.titleWrap { div.cdm.expandable div.cdmHeader a.title { font-weight : bold; color : #555; + -webkit-transition : color 0.2s; + transition : color 0.2s; } div.cdm.expandable.Unread div.cdmHeader a.title { @@ -135,6 +137,8 @@ div.cdm.expanded div.cdmHeader a.title { font-size : 14px; color : #999; font-weight : bold; + -webkit-transition : color 0.2s; + transition : color 0.2s; } div.cdm.expanded.active { @@ -267,6 +271,8 @@ div#floatingTitle a.title { font-size : 14px; color : #999; font-weight : bold; + -webkit-transition : color 0.2s; + transition : color 0.2s; } div#floatingTitle.Unread a.title { -- cgit v1.2.3-54-g00ecf From 1bd46688d36ec5743c1a0246710bc6353d8fdc6f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 17 Jul 2013 22:21:27 +0400 Subject: try justify text-alignment for content --- css/cdm.css | 1 + css/tt-rss.css | 1 + 2 files changed, 2 insertions(+) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 81c481eae..2e1ffd2ab 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -222,6 +222,7 @@ div.cdm .hlFeed a { div.cdmContentInner p { max-width : 650px; + text-align : justify; } div.cdmContentInner iframe { diff --git a/css/tt-rss.css b/css/tt-rss.css index 2238c5452..5a721ea21 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.css @@ -994,6 +994,7 @@ span.collapseBtn { div.postContent p { max-width : 650px; + text-align : justify; } div.postContent iframe { -- cgit v1.2.3-54-g00ecf From ac57b9dd19333db9bed34bc70d945568292b77de Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 26 Jul 2013 18:26:28 +0400 Subject: add experimental css hyphens support for english language --- classes/feeds.php | 2 +- css/cdm.css | 3 +++ css/tt-rss.css | 6 ++++++ include/functions.php | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) (limited to 'css/cdm.css') diff --git a/classes/feeds.php b/classes/feeds.php index def24521a..adc86d21a 100644 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -621,7 +621,7 @@ class Feeds extends Handler_Protected { } $reply['content'] .= ""; - $reply['content'] .= "
"; + $reply['content'] .= "
"; if ($line["orig_feed_id"]) { diff --git a/css/cdm.css b/css/cdm.css index 2e1ffd2ab..234f53398 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -223,6 +223,9 @@ div.cdm .hlFeed a { div.cdmContentInner p { max-width : 650px; text-align : justify; + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; } div.cdmContentInner iframe { diff --git a/css/tt-rss.css b/css/tt-rss.css index ce30167e0..f07154a3b 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.css @@ -995,6 +995,9 @@ span.collapseBtn { div.postContent p { max-width : 650px; text-align : justify; + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; } div.postContent iframe { @@ -1018,6 +1021,9 @@ body#ttrssZoom { body#ttrssZoom div.postContent p { max-width : 650px; text-align : justify; + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; } body#ttrssZoom div.postHeader { diff --git a/include/functions.php b/include/functions.php index ef5905fe2..ccf530d17 100644 --- a/include/functions.php +++ b/include/functions.php @@ -3286,7 +3286,7 @@ } $rv['content'] .= "
"; - $rv['content'] .= "
"; + $rv['content'] .= "
"; $rv['content'] .= $line["content"]; $rv['content'] .= format_article_enclosures($id, -- cgit v1.2.3-54-g00ecf From 0c0e5f3640ff6e857a978f9bdd4af35fb4716f5e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 4 Sep 2013 17:57:04 +0400 Subject: fix wrong url() paths to toolbar.png in css --- css/cdm.css | 2 +- css/utility.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 234f53398..c91f09927 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -182,7 +182,7 @@ div.cdmFeedTitle { border-width : 0px 0px 1px 0px; border-style : solid; padding : 5px 3px 5px 5px; - background : url("images/toolbar.png") bottom left; + background : url("../images/toolbar.png") bottom left; background-repeat : repeat-x; } diff --git a/css/utility.css b/css/utility.css index c785cd82e..b45e9a00f 100644 --- a/css/utility.css +++ b/css/utility.css @@ -159,7 +159,7 @@ div.rss hr { body#sharepopup { background-color : white; - background-image : url("images/toolbar.png"); + background-image : url("../images/toolbar.png"); background-repeat : repeat-x; background-position : bottom; margin : 10px; -- cgit v1.2.3-54-g00ecf From 87065739cdc569bbcfe92ad6f0b6ebef3c72f3ec Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 17 Oct 2013 13:38:48 +0400 Subject: add context menu for cdmFeedTitle; change mark as read prompt for grouped headlines more clear --- classes/feeds.php | 18 +++++++------- css/cdm.css | 20 ++++++++++++++++ js/viewfeed.js | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 98 insertions(+), 11 deletions(-) (limited to 'css/cdm.css') diff --git a/classes/feeds.php b/classes/feeds.php index e26318e7e..7f5fd10af 100644 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -430,12 +430,12 @@ class Feeds extends Handler_Protected { $cur_feed_title = htmlspecialchars($cur_feed_title); - $vf_catchup_link = "(".__('Mark as read').")"; + $vf_catchup_link = "".__('mark feed as read').""; - $reply['content'] .= "
". - "
$feed_icon_img
". - "". - $line["feed_title"]." $vf_catchup_link
"; + $reply['content'] .= "
". + "
$feed_icon_img
". + "". $line["feed_title"]." + $vf_catchup_link
"; } } @@ -443,7 +443,7 @@ class Feeds extends Handler_Protected { $mouseover_attrs = "onmouseover='postMouseIn(event, $id)' onmouseout='postMouseOut($id)'"; - $reply['content'] .= "
"; + $reply['content'] .= "
"; $reply['content'] .= "
"; @@ -524,7 +524,7 @@ class Feeds extends Handler_Protected { $cur_feed_title = htmlspecialchars($cur_feed_title); - $vf_catchup_link = "(".__('mark as read').")"; + $vf_catchup_link = "".__('mark feed as read').""; $has_feed_icon = feed_has_icon($feed_id); @@ -534,7 +534,7 @@ class Feeds extends Handler_Protected { //$feed_icon_img = "\"\""; } - $reply['content'] .= "
". + $reply['content'] .= "
". "
$feed_icon_img
". "". $line["feed_title"]." $vf_catchup_link
"; @@ -547,7 +547,7 @@ class Feeds extends Handler_Protected { $expanded_class = $expand_cdm ? "expanded" : "expandable"; $reply['content'] .= "
"; + id=\"RROW-$id\" orig-feed-id='$feed_id' $mouseover_attrs>"; $reply['content'] .= "
"; $reply['content'] .= "
"; diff --git a/css/cdm.css b/css/cdm.css index c91f09927..dd4346e4c 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -341,4 +341,24 @@ div#floatingTitle img.hlScorePic { 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 : #4684ff; +} diff --git a/js/viewfeed.js b/js/viewfeed.js index cb9a3c646..3c02d4626 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -961,10 +961,12 @@ function getLoadedArticleIds() { } // mode = all,none,unread,invert,marked,published -function selectArticles(mode) { +function selectArticles(mode, query) { try { - var children = $$("#headlines-frame > div[id*=RROW]"); + if (!query) query = "#headlines-frame > div[id*=RROW]"; + + var children = $$(query); children.each(function(child) { var id = child.id.replace("RROW-", ""); @@ -2107,6 +2109,71 @@ function initHeadlinesMenu() { menu.startup(); + /* vgroup feed title menu */ + + var nodes = $$("#headlines-frame > div[class='cdmFeedTitle']"); + var ids = []; + + nodes.each(function(node) { + ids.push(node.id); + }); + + if (ids.length > 0) { + if (dijit.byId("headlinesFeedTitleMenu")) + dijit.byId("headlinesFeedTitleMenu").destroyRecursive(); + + var menu = new dijit.Menu({ + id: "headlinesFeedTitleMenu", + targetNodeIds: ids, + }); + + var tmph = dojo.connect(menu, '_openMyself', function (event) { + var callerNode = event.target, match = null, tries = 0; + + while (match == null && callerNode && tries <= 3) { + console.log(callerNode.id); + + match = callerNode.id.match("^[A-Z]+[-]([0-9]+)$"); + callerNode = callerNode.parentNode; + ++tries; + + console.log(match[1]); + } + + if (match) this.callerRowId = parseInt(match[1]); + + }); + + menu.addChild(new dijit.MenuItem({ + label: __("Select articles in group"), + onClick: function(event) { + selectArticles("all", + "#headlines-frame > div[id*=RROW]"+ + "[orig-feed-id='"+menu.callerRowId+"']"); + + }})); + + menu.addChild(new dijit.MenuItem({ + label: __("Mark group as read"), + onClick: function(event) { + selectArticles("all", + "#headlines-frame > div[id*=RROW]"+ + "[orig-feed-id='"+menu.callerRowId+"']"); + + catchupSelection(); + }})); + + + menu.addChild(new dijit.MenuItem({ + label: __("Mark feed as read"), + onClick: function(event) { + catchupFeedInGroup(menu.callerRowId); + }})); + + menu.startup(); + + } + } catch (e) { exception_error("initHeadlinesMenu", e); } -- cgit v1.2.3-54-g00ecf From 8d75f5b193f7a494d7f1dd698105d19db16489fa Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 26 Dec 2013 11:36:07 +0400 Subject: disable content text justification for the time being --- css/cdm.css | 1 - css/tt-rss.css | 2 -- 2 files changed, 3 deletions(-) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index dd4346e4c..70f7f6ad9 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -222,7 +222,6 @@ div.cdm .hlFeed a { div.cdmContentInner p { max-width : 650px; - text-align : justify; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; diff --git a/css/tt-rss.css b/css/tt-rss.css index f07ecd393..559b8f92b 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.css @@ -994,7 +994,6 @@ span.collapseBtn { div.postContent p { max-width : 650px; - text-align : justify; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; @@ -1050,7 +1049,6 @@ body#ttrssZoom div.postHeader div.postTitle { body#ttrssZoom div.postContent p { max-width : 650px; - text-align : justify; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; -- cgit v1.2.3-54-g00ecf From ef8e54a16dc0888b6db886a132b10617e3f1c5bf Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 25 Jan 2014 11:28:32 +0400 Subject: increase headline title font sizes a bit --- css/cdm.css | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'css/cdm.css') diff --git a/css/cdm.css b/css/cdm.css index 70f7f6ad9..c6e309d27 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -117,6 +117,7 @@ div.cdm.expandable.active div.cdmHeader span.titleWrap { div.cdm.expandable div.cdmHeader a.title { font-weight : bold; color : #555; + font-size : 14px; -webkit-transition : color 0.2s; transition : color 0.2s; } @@ -127,6 +128,7 @@ div.cdm.expandable.Unread div.cdmHeader a.title { div.cdm.expandable.active div.cdmHeader a.title { color : #4684ff; + font-size : 16px; } div.cdm.expanded div.cdmHeader { @@ -134,7 +136,7 @@ div.cdm.expanded div.cdmHeader { } div.cdm.expanded div.cdmHeader a.title { - font-size : 14px; + font-size : 16px; color : #999; font-weight : bold; -webkit-transition : color 0.2s; @@ -271,7 +273,7 @@ div#floatingTitle span.author { } div#floatingTitle a.title { - font-size : 14px; + font-size : 16px; color : #999; font-weight : bold; -webkit-transition : color 0.2s; -- cgit v1.2.3-54-g00ecf From d44f3da4be8fc11543765b9dcc2743083bfd8be0 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 27 Jan 2014 19:03:35 +0400 Subject: default theme updates --- classes/feeds.php | 2 +- css/cdm.css | 14 +++-- css/tt-rss.css | 138 +++++++++++++++++++++++++++++--------------- images/treeExpandImages.png | Bin 0 -> 288 bytes js/tt-rss.js | 12 +--- 5 files changed, 105 insertions(+), 61 deletions(-) create mode 100644 images/treeExpandImages.png (limited to 'css/cdm.css') diff --git a/classes/feeds.php b/classes/feeds.php index 5fc75cb2f..536f1b793 100644 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -725,7 +725,7 @@ class Feeds extends Handler_Protected { $reply['content'] .= "
"; $reply['content'] .= "
"; - $reply['content'] .= "

"; + $reply['content'] .= "
"; $reply['content'] .= "
"; diff --git a/css/cdm.css b/css/cdm.css index c6e309d27..5b004fccf 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -73,10 +73,16 @@ div.cdm.expanded { margin-bottom : 4px; } +div.cdm.expanded div.cdmFooter { + border-style : solid; + border-width : 0px 0px 1px 0px; + border-color : #f0f0f0; +} + div.cdm.expandable { background-color : #f0f0f0; border-width : 0px 0px 1px 0px; - border-color : #c0c0c0; + border-color : #ddd; border-style : solid; } @@ -98,8 +104,6 @@ div.cdm.expandable.Selected { } div.cdm.expandable.active { - box-shadow : inset 0px 0px 3px 0px rgba(0,0,0,0.1); - border-color : #88b0f0; background : white ! important; } @@ -247,9 +251,9 @@ div#floatingTitle { right : 0px; left : 0px; border-color : #ccc; - border-width : 1px 0px 1px 0px; + border-width : 0px 0px 1px 0px; border-style : solid; - background : #fcfcfc; + background : white; color : #555; box-shadow : 0px 1px 1px 0px rgba(0,0,0,0.1); } diff --git a/css/tt-rss.css b/css/tt-rss.css index 559b8f92b..41f163ccb 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.css @@ -24,8 +24,8 @@ div.postReply { div.postReply div.postHeader { border-width : 0px 0px 1px 0px; border-style : solid; - border-color : #c0c0c0; - background : #fafafa; + border-color : #eee; + background : white; box-shadow : 0px 0px 3px 0px rgba(0,0,0,0.1); padding : 5px; color : #909090; @@ -66,12 +66,12 @@ div.postReply img.tagsPic { div.articleNote { background-color : #fff7d5; padding : 5px; - border-radius : 4px; + /* border-radius : 4px; */ margin : 5px; border-style : solid; border-color : #e7d796; border-width : 1px; - box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); + /* box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); */ background-color : #fff7d5; color : #9a8c59; } @@ -108,8 +108,7 @@ h3 { hr { border-width : 0px 0px 1px 0px; border-style : solid; - border-color : #c0c0c0; - max-width : 90%; + border-color : #ccc; } a { @@ -138,7 +137,7 @@ a:hover { min-width : 100px; padding : 5px; -width : 200px; - box-shadow : 0px 0px 2px rgba(0,0,0,0.2); + /* box-shadow : 0px 0px 2px rgba(0,0,0,0.2); */ } #notify img { @@ -190,7 +189,7 @@ a:hover { } .hl.active { - box-shadow : inset 0px 0px 3px 0px rgba(0,0,0,0.1); + /* box-shadow : inset 0px 0px 3px 0px rgba(0,0,0,0.1); */ } .hl.active div.hlTitle a { @@ -217,7 +216,7 @@ a:hover { .hl { border-width : 0px 0px 1px 0px; border-style : solid; - border-color : #c0c0c0; + border-color : #eee; } .hl.active { @@ -232,8 +231,8 @@ div.filterTestHolder { margin : 0px 0px 5px 0px; background-color : #ecf4ff; border-width : 1px; - border-radius : 4px; - box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); + /* border-radius : 4px; */ + /* box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); */ } @@ -274,9 +273,9 @@ div.notice, div.warning, div.error { font-size : 12px; border-style : solid; border-color : #ccc; - border-radius : 4px; + /* border-radius : 4px; */ border-width : 1px; - box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); + /* box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); */ } div.notice div.inner, div.warning div.inner, div.error div.inner { @@ -325,9 +324,7 @@ div.prefHelp { } div#headlines-toolbar { - border-width : 0px 0px 1px 0px; - background-color : #fcfcfc; - border-color : #c0c0c0; + border-width : 0px; font-size : 12px; font-family : "Segoe UI", Tahoma, sans-serif; color : #555; @@ -337,6 +334,7 @@ div#headlines-toolbar { height : 25px; line-height : 25px; padding-left : 4px; + background : #fafafa; } div#headlines-toolbar .dijitSelect { @@ -377,7 +375,7 @@ span.hlLabelRef { display : inline-block; vertical-align : middle; white-space: nowrap; - border-radius : 4px; + border-radius : 4px; } div.postHeader div.postDate { @@ -408,7 +406,7 @@ a.hlFeed { font-size : 9px; font-style : italic; font-weight : normal; - border-radius : 4px; + /* border-radius : 4px; */ display : inline-block; padding : 1px 2px 1px 2px; margin-bottom : 2px; @@ -431,8 +429,8 @@ div.tagCloudContainer { margin : 5px 0px 5px 0px; padding : 5px; text-align : center; - border-radius : 4px; - box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); + /* border-radius : 4px; */ + /* box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); */ } div.errorExplained { @@ -440,8 +438,8 @@ div.errorExplained { background-color : #ecf4ff; margin : 5px 0px 5px 0px; padding : 5px; - border-radius : 4px; - box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); + /* border-radius : 4px; */ + /* box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); */ } ul.feedErrorsList { @@ -452,8 +450,8 @@ ul.feedErrorsList { background-color : #ecf4ff; margin : 0px 0px 5px 0px; padding : 5px; - border-radius : 4px; - box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); + /* border-radius : 4px; */ + /* box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); */ } ul.feedErrorsList em { @@ -667,7 +665,7 @@ span.labelColorIndicator { background-color : #fff7d5; color : #063064; text-align : center; - box-shadow : 0px 0px 1px 0px rgba(0,0,0,0.1); + /* box-shadow : 0px 0px 1px 0px rgba(0,0,0,0.1); */ } div#cmdline { @@ -771,7 +769,7 @@ div.fatalError textarea { #content-wrap { padding : 0px; - border-width : 0px 0px 0px 1px; + border-width : 0px 0px 0px 0px; border-style : solid; border-color : #c0c0c0; margin : 0px; @@ -779,13 +777,12 @@ div.fatalError textarea { #feeds-holder { padding : 0px; - border-color : #c0c0c0; - border-left-width : 0px; - border-bottom-width : 0px; - border-top-width : 0px; + border-width : 0px 1px 0px 0px; + border-style : solid; + border-color : #eee; overflow : hidden; + background : #fafafa; box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1); - background : #f9fbff; } #headlines-wrap-inner { @@ -800,7 +797,7 @@ div.fatalError textarea { border-style : solid; border-width : 0px; margin-top : 0px; - box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1); + /* box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1); */ } #headlines-toolbar_splitter, #toolbar_splitter { @@ -813,7 +810,13 @@ div.fatalError textarea { border-width : 0px; white-space: nowrap; font-size : 12px; - box-shadow : 0px 0px 2px rgba(0,0,0,0.1); + /* box-shadow : 0px 0px 2px rgba(0,0,0,0.1); */ +} + +#main-toolbar { + background : white; + border-width : 0px; + padding-left : 0px; } #header { @@ -837,7 +840,7 @@ div.fatalError textarea { #content-insert { padding : 0px; - border-color : #c0c0c0; + border-color : #eee; border-bottom-width : 0px; border-right-width : 0px; border-left-width : 0px; @@ -937,6 +940,7 @@ img.feedIcon, img.tinyFeedIcon { color : #555; } + ul#filterDlg_Matches, ul#filterDlg_Actions { max-height : 100px; overflow : auto; @@ -947,7 +951,7 @@ ul#filterDlg_Matches, ul#filterDlg_Actions { background-color : #ecf4ff; margin : 0px 0px 5px 0px; padding : 0px; - box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); + /* box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); */ } ul#filterDlg_Matches li, ul#filterDlg_Actions li { @@ -967,8 +971,8 @@ ul.helpKbList { background-color : #ecf4ff; margin : 0px 0px 5px 0px; padding : 5px; - border-radius : 4px; - box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); + /* border-radius : 4px; */ + /* box-shadow : inset 0px 0px 2px rgba(0,0,0,0.1); */ } ul.helpKbList span.hksequence { @@ -1057,14 +1061,14 @@ body#ttrssZoom div.postContent p { body#ttrssZoom div.postHeader { margin : 10px; border : 1px solid #ccc; - box-shadow : none; - border-radius : 4px; + /* box-shadow : none; */ + /* border-radius : 4px; */ } body#ttrssZoom div.postReply { border : 1px solid #ccc; - border-radius : 4px; - box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1); + /* border-radius : 4px; + box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1); */ background : white; } @@ -1088,10 +1092,6 @@ select.attachments { max-width : 120px; } -div.hl.active { - border-color : #88b0f0; -} - #selected_prompt { margin-right : 25px; } @@ -1157,7 +1157,7 @@ body#ttrssMain #feedTree { float : right; position : relative; line-height : 14px; - margin-right : 4px; + margin-right : 8px; margin-top : 3px; min-width : 23px; height : 14px; @@ -1178,6 +1178,41 @@ body#ttrssPrefs hr { font-size : 13px; } +body#ttrssMain #feedTree .dijitTreeRowSelected { + background : #ecf4ff; + /* box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1); */ +} + +body#ttrssMain #feedTree .dijitTreeRowHover { + background : white; +} + +body#ttrssMain #feedTree .dijitTreeRowActive { + background-color : transparent; + background-image : none; + border-color : transparent; +} + +/* body#ttrssMain .dijitTreeRowHover, +body#ttrssPrefs .dijitTreeRowHover, +body#ttrssMain .dijitTreeRowActive, +body#ttrssPrefs .dijitTreeRowActive { + background-color : transparent; + background-image : none; + border-color : transparent; +} */ + +body#ttrssMain .dijitTreeRowSelected .dijitTreeLabel, +body#ttrssPrefs .dijitTreeRowSelected .dijitTreeLabel { + color : #4684ff; + font-weight : bold; +} + +body#ttrssMain .dijitTreeRowHover .dijitTreeLabel, +body#ttrssPrefs .dijitTreeRowHover .dijitTreeLabel { + color : #4684ff; +} + .dijitTreeRowSelected .dijitTreeLabel { text-shadow : 1px 1px 2px #fff; } @@ -1192,7 +1227,18 @@ span.highlight { color : #cc90cc; } +#feedTree .dijitTreeRow .dijitTreeExpando { + background-image: url("../images/treeExpandImages.png"); + position : relative; + top : -1px; +} + +#feedTree .dijitTreeRow .dijitTreeExpandoLeaf { + display : none; +} + div.enclosure_title { } + diff --git a/images/treeExpandImages.png b/images/treeExpandImages.png new file mode 100644 index 000000000..c92171ba5 Binary files /dev/null and b/images/treeExpandImages.png differ diff --git a/js/tt-rss.js b/js/tt-rss.js index 04aec0cca..97a70b434 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -550,9 +550,6 @@ function init_second_stage() { updateFeedList(); closeArticlePanel(); - _widescreen_mode = getInitParam("widescreen"); - switchPanelMode(_widescreen_mode); - if (parseInt(getCookie("ttrss_fh_width")) > 0) { dijit.byId("feeds-holder").domNode.setStyle( {width: getCookie("ttrss_fh_width") + "px" }); @@ -624,6 +621,9 @@ function init_second_stage() { hotkeys[1] = tmp; setInitParam("hotkeys", hotkeys); + _widescreen_mode = getInitParam("widescreen"); + switchPanelMode(_widescreen_mode); + console.log("second stage ok"); if (getInitParam("simple_update")) { @@ -1064,11 +1064,8 @@ function switchPanelMode(wide) { dijit.byId("content-insert").domNode.setStyle({width: '50%', height: 'auto', - borderLeftWidth: '1px', - borderLeftColor: '#c0c0c0', borderTopWidth: '0px' }); - $("headlines-toolbar").setStyle({ borderBottomWidth: '0px' }); $("headlines-frame").setStyle({ borderBottomWidth: '0px' }); $("headlines-frame").addClassName("wide"); @@ -1078,11 +1075,8 @@ function switchPanelMode(wide) { dijit.byId("content-insert").domNode.setStyle({width: 'auto', height: '50%', - borderLeftWidth: '0px', borderTopWidth: '1px'}); - $("headlines-toolbar").setStyle({ borderBottomWidth: '1px' }); - $("headlines-frame").setStyle({ borderBottomWidth: '1px' }); $("headlines-frame").removeClassName("wide"); -- cgit v1.2.3-54-g00ecf From 1bffd1068faee6c33ea86dcec188679d5f1ea4c8 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 27 Jan 2014 22:03:42 +0400 Subject: unify main and headlines toolbar --- classes/feeds.php | 31 ++++++++++++++---------- css/cdm.css | 2 +- css/tt-rss.css | 71 +++++++++++++++++++++---------------------------------- index.php | 7 +++--- js/viewfeed.js | 8 +++++-- 5 files changed, 57 insertions(+), 62 deletions(-) (limited to 'css/cdm.css') diff --git a/classes/feeds.php b/classes/feeds.php index 536f1b793..c0f5bcf93 100644 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -43,6 +43,8 @@ class Feeds extends Handler_Protected { $search_q = ""; } + $reply .= ""; + $rss_link = htmlspecialchars(get_self_url_prefix() . "/public.php?op=rss&id=$feed_id$cat_q$search_q"); @@ -50,10 +52,18 @@ class Feeds extends Handler_Protected { $error_class = $error ? "error" : ""; - $reply .= ""; - $reply .= ""; + $reply .= " + + "; + + +# $reply .= ""; $reply .= ""; + $reply .= ""; + if ($feed_site_url) { $last_updated = T_sprintf("Last updated: %s", $feed_last_updated); @@ -72,18 +82,15 @@ class Feeds extends Handler_Protected { } $reply .= ""; + $reply .= ""; - $reply .= " - - "; - - $reply .= ""; +# $reply .= ""; // left part - $reply .= __('Select:')." + $reply .= ""; + + $reply .= " ".__('All').", ".__('Unread').", ".__('Invert').", @@ -132,14 +139,14 @@ class Feeds extends Handler_Protected { $reply .= ""; - //$reply .= "
"; - //$reply .= "get_hooks(PluginHost::HOOK_HEADLINE_TOOLBAR_BUTTON) as $p) { echo $p->hook_headline_toolbar_button($feed_id, $is_cat); } + $reply .= ""; + return $reply; } diff --git a/css/cdm.css b/css/cdm.css index 5b004fccf..ef3ef52d6 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -247,7 +247,7 @@ div.cdmHeader span.author { div#floatingTitle { position : absolute; z-index : 5; - top : 25px; + top : 0px; right : 0px; left : 0px; border-color : #ccc; diff --git a/css/tt-rss.css b/css/tt-rss.css index 96e9fb00d..ee921716a 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.css @@ -203,14 +203,6 @@ a:hover { color : #909090; } -/* #headlines-frame div.hl:nth-child(even) { - background : #fafafa; -} */ - -#headlines-frame.normal { - -} - .hl { border-width : 0px 0px 1px 0px; border-style : solid; @@ -321,39 +313,44 @@ div.prefHelp { color : #555; } -div#headlines-toolbar { - border-width : 0px; - font-size : 12px; +#main-toolbar > * { + white-space : nowrap; + display : table-cell; + color : #999; font-family : "Segoe UI", Tahoma, sans-serif; - color : #555; - padding : 0px; - margin : 0px; - overflow : hidden; - height : 25px; - line-height : 25px; - padding-left : 4px; - background : white; } -div#headlines-toolbar .dijitSelect { - font-size : 11px; - position : relative; - top : -2px; +#main-toolbar #headlines-toolbar { + padding-right : 4px; + width : 100%; +} + +#main-toolbar #headlines-toolbar span.holder { + display : table; + width : 100%; } -div#headlines-toolbar span.r { - float: right; - position: relative; - padding : 0 4px 0px 4px; +#main-toolbar #headlines-toolbar span.holder > * { + display : table-cell; +} + +#main-toolbar #headlines-toolbar .main { text-align : right; -} +} + +#headlines-toolbar span.r img { + margin-right : 4px; + position : relative; + top : 3px; +} #headlines-toolbar span.r .error a { color : red; } -div#headlines-toolbar span.r a { - color : #555; +#main-toolbar #selected_prompt { + font-style : italic; + text-align : center; } span.contentPreview { @@ -524,14 +521,6 @@ form { padding : 0px; } -#main_toolbar_form { - margin : 0px; - padding : 0px; - display : table-cell; - white-space : nowrap; - width : 100%; -} - div.loadingPrompt { padding : 1em; text-align : center; @@ -551,12 +540,6 @@ div.whiteBox { margin: 0; } */ -#toolbar div.actionChooser { - display : table-cell; - text-align : right; - padding-right : 3px; -} - div.autocomplete { position : absolute; width : 250px; diff --git a/index.php b/index.php index d0369e808..303eacda0 100644 --- a/index.php +++ b/index.php @@ -153,6 +153,10 @@
+
+ +
+