X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=js%2Ftt-rss.js;h=c6414515944abf7b85afae92d1a248724312ba4d;hb=38bc9dad228444fc38c2cef75f7edd5039477257;hp=b7bb9319b6a1e8babe9d602ed4963db5c10806e3;hpb=0d6ecb1f1cc663497bdd8fccb3f2dc66d2cdb0b9;p=tt-rss.git diff --git a/js/tt-rss.js b/js/tt-rss.js index b7bb9319..c6414515 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -1,6 +1,7 @@ var global_unread = -1; var hotkey_prefix = false; var hotkey_prefix_pressed = false; +var hotkey_actions = {}; var _widescreen_mode = false; var _rpc_seq = 0; var _active_feed_id = 0; @@ -35,7 +36,12 @@ function setActiveFeedId(id, is_cat) { _active_feed_id = id; _active_feed_is_cat = is_cat; + $("headlines-frame").setAttribute("feed-id", id); + $("headlines-frame").setAttribute("is-cat", is_cat ? 1 : 0); + selectFeed(id, is_cat); + + PluginHost.run(PluginHost.HOOK_FEED_SET_ACTIVE, _active_article_id); } catch (e) { exception_error("setActiveFeedId", e); } @@ -110,6 +116,7 @@ function updateFeedList() { tree.startup(); + } catch (e) { exception_error("updateFeedList", e); } @@ -130,7 +137,8 @@ function catchupAllFeeds() { new Ajax.Request("backend.php", { parameters: query_str, onComplete: function(transport) { - feedlist_callback2(transport); + request_counters(true); + viewCurrentFeed(); } }); global_unread = 0; @@ -155,7 +163,7 @@ function timeout() { } function search() { - var query = "backend.php?op=dlg&method=search¶m=" + + var query = "backend.php?op=feeds&method=search¶m=" + param_escape(getActiveFeedId() + ":" + activeFeedIsCat()); if (dijit.byId("searchDlg")) @@ -178,11 +186,7 @@ function search() { } function updateTitle() { - var tmp = document.title; - - if (tmp.indexOf(")") > 0) { - tmp = tmp.substr(tmp.indexOf(")") + 1); - } + var tmp = "Tiny Tiny RSS"; if (global_unread > 0) { tmp = "(" + global_unread + ") " + tmp; @@ -209,6 +213,7 @@ function genericSanityCheck() { return true; } + function init() { try { //dojo.registerModulePath("fox", "../../js/"); @@ -226,6 +231,7 @@ function init() { dojo.require("dijit.form.Select"); dojo.require("dijit.form.SimpleTextarea"); dojo.require("dijit.form.TextBox"); + dojo.require("dijit.form.ComboBox"); dojo.require("dijit.form.ValidationTextBox"); dojo.require("dijit.InlineEditBox"); dojo.require("dijit.layout.AccordionContainer"); @@ -245,18 +251,298 @@ function init() { if (!genericSanityCheck()) return false; - loading_set_progress(20); + loading_set_progress(30); - var hasAudio = !!((myAudioTag = document.createElement('audio')).canPlayType); + var a = document.createElement('audio'); + + var hasAudio = !!a.canPlayType; var hasSandbox = "sandbox" in document.createElement("iframe"); + var hasMp3 = !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, '')); + var clientTzOffset = new Date().getTimezoneOffset() * 60; new Ajax.Request("backend.php", { parameters: {op: "rpc", method: "sanityCheck", hasAudio: hasAudio, + hasMp3: hasMp3, + clientTzOffset: clientTzOffset, hasSandbox: hasSandbox}, onComplete: function(transport) { backend_sanity_check_callback(transport); } }); + hotkey_actions["next_feed"] = function() { + var rv = dijit.byId("feedTree").getNextFeed( + getActiveFeedId(), activeFeedIsCat()); + + if (rv) viewfeed(rv[0], '', rv[1], null, null, null, true); + }; + hotkey_actions["prev_feed"] = function() { + var rv = dijit.byId("feedTree").getPreviousFeed( + getActiveFeedId(), activeFeedIsCat()); + + if (rv) viewfeed(rv[0], '', rv[1], null, null, null, true); + }; + hotkey_actions["next_article"] = function() { + moveToPost('next'); + }; + hotkey_actions["prev_article"] = function() { + moveToPost('prev'); + }; + hotkey_actions["next_article_noscroll"] = function() { + moveToPost('next', true); + }; + hotkey_actions["prev_article_noscroll"] = function() { + moveToPost('prev', true); + }; + hotkey_actions["next_article_noexpand"] = function() { + moveToPost('next', true, true); + }; + hotkey_actions["prev_article_noexpand"] = function() { + moveToPost('prev', true, true); + }; + hotkey_actions["collapse_article"] = function() { + var id = getActiveArticleId(); + var elem = $("CICD-"+id); + if(elem.visible()) { + cdmCollapseArticle(null, id); + } + else { + cdmExpandArticle(id); + } + }; + hotkey_actions["toggle_expand"] = function() { + var id = getActiveArticleId(); + var elem = $("CICD-"+id); + if(elem.visible()) { + cdmCollapseArticle(null, id, false); + } + else { + cdmExpandArticle(id); + } + }; + hotkey_actions["search_dialog"] = function() { + search(); + }; + hotkey_actions["toggle_mark"] = function() { + selectionToggleMarked(undefined, false, true); + }; + hotkey_actions["toggle_publ"] = function() { + selectionTogglePublished(undefined, false, true); + }; + hotkey_actions["toggle_unread"] = function() { + selectionToggleUnread(undefined, false, true); + }; + hotkey_actions["edit_tags"] = function() { + var id = getActiveArticleId(); + if (id) { + editArticleTags(id); + }; + } + hotkey_actions["dismiss_selected"] = function() { + dismissSelectedArticles(); + }; + hotkey_actions["dismiss_read"] = function() { + dismissReadArticles(); + }; + hotkey_actions["open_in_new_window"] = function() { + if (getActiveArticleId()) { + openArticleInNewWindow(getActiveArticleId()); + return; + } + }; + hotkey_actions["catchup_below"] = function() { + catchupRelativeToArticle(1); + }; + hotkey_actions["catchup_above"] = function() { + catchupRelativeToArticle(0); + }; + hotkey_actions["article_scroll_down"] = function() { + var ctr = $("content_insert") ? $("content_insert") : $("headlines-frame"); + + scrollArticle(40); + }; + hotkey_actions["article_scroll_up"] = function() { + var ctr = $("content_insert") ? $("content_insert") : $("headlines-frame"); + + scrollArticle(-40); + }; + hotkey_actions["close_article"] = function() { + if (isCdmMode()) { + if (!getInitParam("cdm_expanded")) { + cdmCollapseArticle(false, getActiveArticleId()); + } else { + dismissArticle(getActiveArticleId()); + } + } else { + closeArticlePanel(); + } + }; + hotkey_actions["email_article"] = function() { + if (typeof emailArticle != "undefined") { + emailArticle(); + } else if (typeof mailtoArticle != "undefined") { + mailtoArticle(); + } else { + alert(__("Please enable mail plugin first.")); + } + }; + hotkey_actions["select_all"] = function() { + selectArticles('all'); + }; + hotkey_actions["select_unread"] = function() { + selectArticles('unread'); + }; + hotkey_actions["select_marked"] = function() { + selectArticles('marked'); + }; + hotkey_actions["select_published"] = function() { + selectArticles('published'); + }; + hotkey_actions["select_invert"] = function() { + selectArticles('invert'); + }; + hotkey_actions["select_none"] = function() { + selectArticles('none'); + }; + hotkey_actions["feed_refresh"] = function() { + if (getActiveFeedId() != undefined) { + viewfeed(getActiveFeedId(), '', activeFeedIsCat()); + return; + } + }; + hotkey_actions["feed_unhide_read"] = function() { + toggleDispRead(); + }; + hotkey_actions["feed_subscribe"] = function() { + quickAddFeed(); + }; + hotkey_actions["feed_debug_update"] = function() { + window.open("backend.php?op=feeds&method=view&feed=" + getActiveFeedId() + + "&view_mode=adaptive&order_by=default&update=&m=ForceUpdate&cat=" + + activeFeedIsCat() + "&DevForceUpdate=1&debug=1&xdebug=1&csrf_token=" + + getInitParam("csrf_token")); + }; + hotkey_actions["feed_edit"] = function() { + if (activeFeedIsCat()) + alert(__("You can't edit this kind of feed.")); + else + editFeed(getActiveFeedId()); + }; + hotkey_actions["feed_catchup"] = function() { + if (getActiveFeedId() != undefined) { + catchupCurrentFeed(); + return; + } + }; + hotkey_actions["feed_reverse"] = function() { + reverseHeadlineOrder(); + }; + hotkey_actions["catchup_all"] = function() { + catchupAllFeeds(); + }; + hotkey_actions["cat_toggle_collapse"] = function() { + if (activeFeedIsCat()) { + dijit.byId("feedTree").collapseCat(getActiveFeedId()); + return; + } + }; + hotkey_actions["goto_all"] = function() { + viewfeed(-4); + }; + hotkey_actions["goto_fresh"] = function() { + viewfeed(-3); + }; + hotkey_actions["goto_marked"] = function() { + viewfeed(-1); + }; + hotkey_actions["goto_published"] = function() { + viewfeed(-2); + }; + hotkey_actions["goto_tagcloud"] = function() { + displayDlg(__("Tag cloud"), "printTagCloud"); + }; + hotkey_actions["goto_prefs"] = function() { + gotoPreferences(); + }; + hotkey_actions["select_article_cursor"] = function() { + var id = getArticleUnderPointer(); + if (id) { + var row = $("RROW-" + id); + + if (row) { + var cb = dijit.getEnclosingWidget( + row.getElementsByClassName("rchk")[0]); + + if (cb) { + cb.attr("checked", !cb.attr("checked")); + toggleSelectRowById(cb, "RROW-" + id); + return false; + } + } + } + }; + hotkey_actions["create_label"] = function() { + addLabel(); + }; + hotkey_actions["create_filter"] = function() { + quickAddFilter(); + }; + hotkey_actions["collapse_sidebar"] = function() { + collapse_feedlist(); + }; + hotkey_actions["toggle_embed_original"] = function() { + if (typeof embedOriginalArticle != "undefined") { + if (getActiveArticleId()) + embedOriginalArticle(getActiveArticleId()); + } else { + alert(__("Please enable embed_original plugin first.")); + } + }; + hotkey_actions["toggle_widescreen"] = function() { + if (!isCdmMode()) { + _widescreen_mode = !_widescreen_mode; + + // reset stored sizes because geometry changed + setCookie("ttrss_ci_width", 0); + setCookie("ttrss_ci_height", 0); + + switchPanelMode(_widescreen_mode); + } + }; + hotkey_actions["help_dialog"] = function() { + helpDialog("main"); + }; + hotkey_actions["toggle_combined_mode"] = function() { + notify_progress("Loading, please wait..."); + + var value = isCdmMode() ? "false" : "true"; + var query = "?op=rpc&method=setpref&key=COMBINED_DISPLAY_MODE&value=" + value; + + new Ajax.Request("backend.php", { + parameters: query, + onComplete: function(transport) { + setInitParam("combined_display_mode", + !getInitParam("combined_display_mode")); + + closeArticlePanel(); + viewCurrentFeed(); + + } }); + }; + hotkey_actions["toggle_cdm_expanded"] = function() { + notify_progress("Loading, please wait..."); + + var value = getInitParam("cdm_expanded") ? "false" : "true"; + var query = "?op=rpc&method=setpref&key=CDM_EXPANDED&value=" + value; + + new Ajax.Request("backend.php", { + parameters: query, + onComplete: function(transport) { + setInitParam("cdm_expanded", !getInitParam("cdm_expanded")); + viewCurrentFeed(); + } }); + }; + + } catch (e) { exception_error("init", e); } @@ -269,12 +555,28 @@ function init_second_stage() { updateFeedList(); closeArticlePanel(); - _widescreen_mode = getInitParam("widescreen"); - - if (_widescreen_mode) { - switchPanelMode(_widescreen_mode); + if (parseInt(getCookie("ttrss_fh_width")) > 0) { + dijit.byId("feeds-holder").domNode.setStyle( + {width: getCookie("ttrss_fh_width") + "px" }); } + dijit.byId("main").resize(); + + var tmph = dojo.connect(dijit.byId('feeds-holder'), 'resize', + function (args) { + if (args && args.w >= 0) { + setCookie("ttrss_fh_width", args.w, getInitParam("cookie_lifetime")); + } + }); + + var tmph = dojo.connect(dijit.byId('content-insert'), 'resize', + function (args) { + if (args && args.w >= 0 && args.h >= 0) { + setCookie("ttrss_ci_width", args.w, getInitParam("cookie_lifetime")); + setCookie("ttrss_ci_height", args.h, getInitParam("cookie_lifetime")); + } + }); + }); delCookie("ttrss_test"); @@ -296,7 +598,7 @@ function init_second_stage() { setActiveFeedId(hash_feed_id, hash_feed_is_cat); } - loading_set_progress(30); + loading_set_progress(50); // can't use cache_clear() here because viewfeed might not have initialized yet if ('sessionStorage' in window && window['sessionStorage'] !== null) @@ -313,6 +615,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")) { @@ -335,10 +640,10 @@ function quickMenuGo(opid) { gotoLogout(); break; case "qmcTagCloud": - displayDlg("printTagCloud"); + displayDlg(__("Tag cloud"), "printTagCloud"); break; case "qmcTagSelect": - displayDlg("printTagSelect"); + displayDlg(__("Select item(s) by tags"), "printTagSelect"); break; case "qmcSearch": search(); @@ -395,6 +700,10 @@ function quickMenuGo(opid) { if (!isCdmMode()) { _widescreen_mode = !_widescreen_mode; + // reset stored sizes because geometry changed + setCookie("ttrss_ci_width", 0); + setCookie("ttrss_ci_height", 0); + switchPanelMode(_widescreen_mode); } break; @@ -451,7 +760,7 @@ function parse_runtime_info(data) { } if (k == "dep_ts" && parseInt(getInitParam("dep_ts")) > 0) { - if (parseInt(getInitParam("dep_ts")) < parseInt(v)) { + if (parseInt(getInitParam("dep_ts")) < parseInt(v) && getInitParam("reload_on_ts_change")) { window.location.reload(); } } @@ -476,6 +785,8 @@ function parse_runtime_info(data) { init_params[k] = v; notify(''); } + + PluginHost.run(PluginHost.HOOK_RUNTIME_INFO_LOADED, data); } function collapse_feedlist() { @@ -483,19 +794,14 @@ function collapse_feedlist() { if (!Element.visible('feeds-holder')) { Element.show('feeds-holder'); - Element.show('feeds-holder_splitter'); $("collapse_feeds_btn").innerHTML = "<<"; } else { Element.hide('feeds-holder'); - Element.hide('feeds-holder_splitter'); $("collapse_feeds_btn").innerHTML = ">>"; } dijit.byId("main").resize(); - query = "?op=rpc&method=setpref&key=_COLLAPSED_FEEDLIST&value=true"; - new Ajax.Request("backend.php", { parameters: query }); - } catch (e) { exception_error("collapse_feedlist", e); } @@ -506,10 +812,6 @@ function viewModeChanged() { return viewCurrentFeed(''); } -function viewLimitChanged() { - return viewCurrentFeed(''); -} - function rescoreCurrentFeed() { var actid = getActiveFeedId(); @@ -547,11 +849,16 @@ function hotkey_handler(e) { var keycode = false; var shift_key = false; + var ctrl_key = false; + var alt_key = false; + var meta_key = false; var cmdline = $('cmdline'); shift_key = e.shiftKey; ctrl_key = e.ctrlKey; + alt_key = e.altKey; + meta_key = e.metaKey; if (window.event) { keycode = window.event.keyCode; @@ -593,6 +900,8 @@ function hotkey_handler(e) { // ensure ^*char notation if (shift_key) hotkey = "*" + hotkey; if (ctrl_key) hotkey = "^" + hotkey; + if (alt_key) hotkey = "+" + hotkey; + if (meta_key) hotkey = "%" + hotkey; hotkey = hotkey_prefix ? hotkey_prefix + " " + hotkey : hotkey; hotkey_prefix = false; @@ -607,228 +916,11 @@ function hotkey_handler(e) { } } - switch (hotkey_action) { - case "next_feed": - var rv = dijit.byId("feedTree").getNextFeed( - getActiveFeedId(), activeFeedIsCat()); - - if (rv) viewfeed(rv[0], '', rv[1]); - return false; - case "prev_feed": - var rv = dijit.byId("feedTree").getPreviousFeed( - getActiveFeedId(), activeFeedIsCat()); - - if (rv) viewfeed(rv[0], '', rv[1]); - return false; - case "next_article": - moveToPost('next'); - return false; - case "prev_article": - moveToPost('prev'); - return false; - case "next_article_noscroll": - moveToPost('next', true); - return false; - case "prev_article_noscroll": - moveToPost('prev', true); - return false; - case "search_dialog": - search(); - return ; - case "toggle_mark": - selectionToggleMarked(undefined, false, true); - return false; - case "toggle_publ": - selectionTogglePublished(undefined, false, true); - return false; - case "toggle_unread": - selectionToggleUnread(undefined, false, true); - return false; - case "edit_tags": - var id = getActiveArticleId(); - if (id) { - editArticleTags(id, getActiveFeedId(), isCdmMode()); - return; - } - return false; - case "dismiss_selected": - dismissSelectedArticles(); - return false; - case "dismiss_read": - return false; - case "open_in_new_window": - if (getActiveArticleId()) { - openArticleInNewWindow(getActiveArticleId()); - return; - } - return false; - case "catchup_below": - catchupRelativeToArticle(1); - return false; - case "catchup_above": - catchupRelativeToArticle(0); - return false; - case "article_scroll_down": - var ctr = $("content_insert") ? $("content_insert") : $("headlines-frame"); - - scrollArticle(ctr.offsetHeight/3); - return false; - case "article_scroll_up": - var ctr = $("content_insert") ? $("content_insert") : $("headlines-frame"); - - scrollArticle(-ctr.offsetHeight/3); - return false; - case "close_article": - if (isCdmMode()) { - if (!getInitParam("cdm_expanded")) { - cdmCollapseArticle(false, getActiveArticleId()); - } else { - dismissArticle(getActiveArticleId()); - } - } else { - closeArticlePanel(); - } - return false; - case "email_article": - if (typeof emailArticle != "undefined") { - emailArticle(); - } else if (typeof mailtoArticle != "undefined") { - mailtoArticle(); - } else { - alert(__("Please enable mail plugin first.")); - } - return false; - case "select_all": - selectArticles('all'); - return false; - case "select_unread": - selectArticles('unread'); - return false; - case "select_marked": - selectArticles('marked'); - return false; - case "select_published": - selectArticles('published'); - return false; - case "select_invert": - selectArticles('invert'); - return false; - case "select_none": - selectArticles('none'); - return false; - case "feed_refresh": - if (getActiveFeedId() != undefined) { - viewfeed(getActiveFeedId(), '', activeFeedIsCat()); - return; - } - return false; - case "feed_unhide_read": - toggleDispRead(); - return false; - case "feed_subscribe": - quickAddFeed(); - return false; - case "feed_debug_update": - window.open("backend.php?op=feeds&method=view&feed=" + getActiveFeedId() + - "&view_mode=adaptive&order_by=default&update=&m=ForceUpdate&cat=" + - activeFeedIsCat() + "&DevForceUpdate=1&debug=1&xdebug=1&csrf_token=" + - getInitParam("csrf_token")); - return false; - case "feed_edit": - if (activeFeedIsCat()) - alert(__("You can't edit this kind of feed.")); - else - editFeed(getActiveFeedId()); - return false; - case "feed_catchup": - if (getActiveFeedId() != undefined) { - catchupCurrentFeed(); - return; - } - return false; - case "feed_reverse": - reverseHeadlineOrder(); - return false; - case "catchup_all": - catchupAllFeeds(); - return false; - case "cat_toggle_collapse": - if (activeFeedIsCat()) { - dijit.byId("feedTree").collapseCat(getActiveFeedId()); - return; - } - return false; - case "goto_all": - viewfeed(-4); - return false; - case "goto_fresh": - viewfeed(-3); - return false; - case "goto_marked": - viewfeed(-1); - return false; - case "goto_published": - viewfeed(-2); - return false; - case "goto_tagcloud": - displayDlg("printTagCloud"); - return false; - case "goto_prefs": - gotoPreferences(); - return false; - case "select_article_cursor": - var id = getArticleUnderPointer(); - if (id) { - var cb = dijit.byId("RCHK-" + id); - if (cb) { - cb.attr("checked", !cb.attr("checked")); - toggleSelectRowById(cb, "RROW-" + id); - return false; - } - } - return false; - case "create_label": - addLabel(); - return false; - case "create_filter": - quickAddFilter(); - return false; - case "collapse_sidebar": - collapse_feedlist(); - return false; - case "toggle_embed_original": - if (typeof embedOriginalArticle != "undefined") { - if (getActiveArticleId()) - embedOriginalArticle(getActiveArticleId()); - } else { - alert(__("Please enable embed_original plugin first.")); - } - return false; - case "toggle_widescreen": - if (!isCdmMode()) { - _widescreen_mode = !_widescreen_mode; - - switchPanelMode(_widescreen_mode); - } - return false; - case "help_dialog": - helpDialog("main"); - return false; - case "toggle_combined_mode": - notify_progress("Loading, please wait..."); - - var value = isCdmMode() ? "false" : "true"; - var query = "?op=rpc&method=setpref&key=COMBINED_DISPLAY_MODE&value=" + value; - - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function(transport) { - window.location.reload(); - } }); + var action = hotkey_actions[hotkey_action]; + if (action != null) { + action(); return false; - default: - console.log("unhandled action: " + hotkey_action + "; hotkey: " + hotkey); } } catch (e) { @@ -843,13 +935,27 @@ function inPreferences() { function reverseHeadlineOrder() { try { - var query_str = "?op=rpc&method=togglepref&key=REVERSE_HEADLINES"; + /* var query_str = "?op=rpc&method=togglepref&key=REVERSE_HEADLINES"; new Ajax.Request("backend.php", { parameters: query_str, onComplete: function(transport) { viewCurrentFeed(); - } }); + } }); */ + + var toolbar = document.forms["main_toolbar_form"]; + var order_by = dijit.getEnclosingWidget(toolbar.order_by); + + var value = order_by.attr('value'); + + if (value == "date_reverse") + value = "default"; + else + value = "date_reverse"; + + order_by.attr('value', value); + + viewCurrentFeed(); } catch (e) { exception_error("reverseHeadlineOrder", e); @@ -881,6 +987,12 @@ function handle_rpc_json(transport, scheduled_call) { try { var reply = JSON.parse(transport.responseText); + var netalert_dijit = dijit.byId("net-alert"); + var netalert = false; + + if (netalert_dijit) + netalert = netalert_dijit.domNode; + if (reply) { var error = reply['error']; @@ -922,21 +1034,26 @@ function handle_rpc_json(transport, scheduled_call) { if (counters) parse_counters(counters, scheduled_call); - var runtime_info = reply['runtime-info'];; + var runtime_info = reply['runtime-info']; if (runtime_info) parse_runtime_info(runtime_info); - Element.hide(dijit.byId("net-alert").domNode); + if (netalert) Element.hide(netalert); } else { - //notify_error("Error communicating with server."); - Element.show(dijit.byId("net-alert").domNode); + if (netalert) + Element.show(netalert); + else + notify_error("Communication problem with server."); } } catch (e) { - Element.show(dijit.byId("net-alert").domNode); - //notify_error("Error communicating with server."); + if (netalert) + Element.show(netalert); + else + notify_error("Communication problem with server."); + console.log(e); //exception_error("handle_rpc_json", e, transport); } @@ -956,11 +1073,15 @@ function switchPanelMode(wide) { dijit.byId("content-insert").domNode.setStyle({width: '50%', height: 'auto', - borderLeftWidth: '1px', - borderLeftColor: '#c0c0c0', borderTopWidth: '0px' }); - $("headlines-toolbar").setStyle({ borderBottomWidth: '0px' }); + if (parseInt(getCookie("ttrss_ci_width")) > 0) { + dijit.byId("content-insert").domNode.setStyle( + {width: getCookie("ttrss_ci_width") + "px" }); + } + + $("headlines-frame").setStyle({ borderBottomWidth: '0px' }); + $("headlines-frame").addClassName("wide"); } else { @@ -968,10 +1089,16 @@ function switchPanelMode(wide) { dijit.byId("content-insert").domNode.setStyle({width: 'auto', height: '50%', - borderLeftWidth: '0px', - borderTopWidth: '1px'}); + borderTopWidth: '0px'}); + + if (parseInt(getCookie("ttrss_ci_height")) > 0) { + dijit.byId("content-insert").domNode.setStyle( + {height: getCookie("ttrss_ci_height") + "px" }); + } + + $("headlines-frame").setStyle({ borderBottomWidth: '1px' }); + $("headlines-frame").removeClassName("wide"); - $("headlines-toolbar").setStyle({ borderBottomWidth: '1px' }); } closeArticlePanel(); @@ -1011,7 +1138,7 @@ function hash_get(key) { kv = window.location.hash.substring(1).toQueryParams(); return kv[key]; } catch (e) { - exception_error("hash_set", e); + exception_error("hash_get", e); } } function hash_set(key, value) {