summaryrefslogtreecommitdiff
path: root/js/tt-rss.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/tt-rss.js')
-rw-r--r--js/tt-rss.js113
1 files changed, 73 insertions, 40 deletions
diff --git a/js/tt-rss.js b/js/tt-rss.js
index ee3156c28..84f2e67b1 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -231,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");
@@ -272,13 +273,13 @@ function init() {
var rv = dijit.byId("feedTree").getNextFeed(
getActiveFeedId(), activeFeedIsCat());
- if (rv) viewfeed(rv[0], '', rv[1]);
+ 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]);
+ if (rv) viewfeed(rv[0], '', rv[1], null, null, null, true);
};
hotkey_actions["next_article"] = function() {
moveToPost('next');
@@ -301,21 +302,27 @@ function init() {
hotkey_actions["collapse_article"] = function() {
var id = getActiveArticleId();
var elem = $("CICD-"+id);
- if(elem.visible()) {
- cdmCollapseArticle(null, id);
- }
- else {
- cdmExpandArticle(id);
+
+ if (elem) {
+ 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);
+
+ if (elem) {
+ if (elem.visible()) {
+ cdmCollapseArticle(null, id, false);
+ }
+ else {
+ cdmExpandArticle(id);
+ }
}
};
hotkey_actions["search_dialog"] = function() {
@@ -339,6 +346,9 @@ function init() {
hotkey_actions["dismiss_selected"] = function() {
dismissSelectedArticles();
};
+ hotkey_actions["dismiss_read"] = function() {
+ dismissReadArticles();
+ };
hotkey_actions["open_in_new_window"] = function() {
if (getActiveArticleId()) {
openArticleInNewWindow(getActiveArticleId());
@@ -497,6 +507,10 @@ function init() {
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);
}
};
@@ -547,36 +561,26 @@ 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" });
}
- if (parseInt(getCookie("ttrss_ci_width")) > 0) {
- if (_widescreen_mode) {
- dijit.byId("content-insert").domNode.setStyle(
- {width: getCookie("ttrss_ci_width") + "px" });
-
- } else {
- dijit.byId("content-insert").domNode.setStyle(
- {height: getCookie("ttrss_ci_height") + "px" });
- }
- }
-
dijit.byId("main").resize();
var tmph = dojo.connect(dijit.byId('feeds-holder'), 'resize',
function (args) {
- setCookie("ttrss_fh_width", args.w, getInitParam("cookie_lifetime"));
+ 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) {
- setCookie("ttrss_ci_width", args.w, getInitParam("cookie_lifetime"));
- setCookie("ttrss_ci_height", args.h, getInitParam("cookie_lifetime"));
+ 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"));
+ }
});
});
@@ -617,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")) {
@@ -699,6 +706,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;
@@ -844,11 +855,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;
@@ -890,6 +906,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;
@@ -975,6 +993,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'];
@@ -1021,16 +1045,21 @@ function handle_rpc_json(transport, scheduled_call) {
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);
}
@@ -1050,11 +1079,13 @@ 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");
@@ -1064,10 +1095,12 @@ function switchPanelMode(wide) {
dijit.byId("content-insert").domNode.setStyle({width: 'auto',
height: '50%',
- borderLeftWidth: '0px',
- borderTopWidth: '1px'});
+ borderTopWidth: '0px'});
- $("headlines-toolbar").setStyle({ borderBottomWidth: '1px' });
+ 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");