-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
+
+
diff --git a/lib/contacts.nsui.js b/lib/contacts.nsui.js
index d46b2f3..ab1df9a 100644
--- a/lib/contacts.nsui.js
+++ b/lib/contacts.nsui.js
@@ -66,6 +66,7 @@ ContactList.prototype.addContact = function(name) {
var nel = $cs.ui.addNewTab(name);
$cs.ui.hideAllTabs();
+ $cs.ui.showContent("chat-pannel");
nel.show();
});
close.addEventListener("click", (function(elem) {
diff --git a/lib/nsui.js b/lib/nsui.js
index b21779b..caf174e 100644
--- a/lib/nsui.js
+++ b/lib/nsui.js
@@ -77,7 +77,7 @@ Nsui.prototype.getTabByName = function(name) {
}
return ret;
-}
+};
Nsui.prototype.getNextTab = function(current_name) {
var i, prev = null;
@@ -204,15 +204,33 @@ Nsui.prototype.sanitizeText = function(str) {
return str.replace(/&/g, '&').replace(//g, '>');
};
+Nsui.prototype.currentTabStyle = function() {
+ $cs.opts.restore();
+ if (this.tab_lst.length > 1) {
+ for (var tab in this.tab_lst) {
+ if (tab.el_lst.classList.contains("tab-current")) {
+ tab.chat_log.style.fontSize = $cs.opts.values["chat-size"] + "px";
+ break;
+ }
+ }
+ }
+ else if (this.tab_lst.length > 0) {
+ this.tab_lst[0].chat_log.style.fontSize = $cs.opts.values["chat-size"] + "px";
+ }
+};
+
Nsui.prototype.showContent = function(part_id) {
var i, ctn_lst = ["config-pannel", "chat-pannel"];
- for (i = ctn_lst.length - 1; i>= 0; --i) {
- if (ctn_lst[i] === part_id) {
- document.getElementById(ctn_lst[i]).style.display = "block";
- } else {
- document.getElementById(ctn_lst[i]).style.display = "none";
+ if (part_id === "chat-pannel") {
+ this.currentTabStyle();
}
+ for (i = ctn_lst.length - 1; i>= 0; --i) {
+ if (ctn_lst[i] === part_id) {
+ document.getElementById(ctn_lst[i]).style.display = "block";
+ } else {
+ document.getElementById(ctn_lst[i]).style.display = "none";
+ }
}
};
@@ -222,7 +240,7 @@ Nsui.prototype.switchContent = function(part_id, part_id_to) {
} else {
this.showContent(part_id_to);
}
-}
+};
Nsui.prototype.init = function() {
window.onfocus = (function(elem) {
diff --git a/lib/options.js b/lib/options.js
index 4afacdc..500f195 100644
--- a/lib/options.js
+++ b/lib/options.js
@@ -33,6 +33,9 @@ OptionsManager.prototype.types = {
},
"checkbox": function(elem) {
return elem.checked;
+ },
+ "number": function(elem) {
+ return elem.value;
}
},
"set": {
@@ -48,6 +51,9 @@ OptionsManager.prototype.types = {
} else {
elem.setAttribute('checked');
}
+ },
+ "number": function(elem, val) {
+ elem.value = val;
}
}
};
@@ -81,7 +87,7 @@ OptionsManager.prototype.init = function() {
OptionsManager.prototype.savePart = function(pass) {
var i = 0, data = {}, storage;
- if (pass) {
+ if (pass) {
storage = this.pass_storage;
} else {
storage = this.storage;
@@ -89,7 +95,7 @@ OptionsManager.prototype.savePart = function(pass) {
if (this.opts !== null) {
for (i = this.opts.length - 1; i >= 0; --i) {
- if ((pass && (this.getElemType(this.opts[i]) === "password" || this.getElemType(this.opts[i]) === "text"))
+ if ((pass && (this.getElemType(this.opts[i]) === "password" || this.getElemType(this.opts[i]) === "text"))
|| (!pass && this.getElemType(this.opts[i]) !== "password" && this.getElemType(this.opts[i]) !== "text")) {
data[this.opts[i].id] = this.getElemValue(this.opts[i]);
this.values[this.opts[i].id] = data[this.opts[i].id];
@@ -110,7 +116,7 @@ OptionsManager.prototype.savePart = function(pass) {
OptionsManager.prototype.save = function() {
this.savePart(true);
- this.savePart(false);
+ this.savePart(false);
};
OptionsManager.prototype.restore = function() {
@@ -151,3 +157,4 @@ OptionsManager.prototype.setElemValue = function(elem, val) {
this.types.set[type](elem, val);
}
};
+
diff --git a/lib/tab.nsui.js b/lib/tab.nsui.js
old mode 100644
new mode 100755
index c4f8f26..9765ad7
--- a/lib/tab.nsui.js
+++ b/lib/tab.nsui.js
@@ -22,6 +22,7 @@ var Tab = function(name) {
this.buff_len = 1000;
this.history_index = 0;
this.history = [];
+ $cs.opts.restore();
this.initListElement();
this.initBodyElement();
};
@@ -62,16 +63,21 @@ Tab.prototype.initListElement = function() {
Tab.prototype.initBodyElement = function() {
var chat_input_w = document.createElement("div");
-
+
this.chat_input = document.createElement("input");
this.chat_input.placeholder = "Some text here...";
+
this.chat_log = document.createElement("p");
this.chat_log.classList.add("chat-log");
+ this.chat_log.style.fontSize = $cs.opts.values["chat-size"] + "px";
+
this.el_body = document.createElement("div");
- this.el_body.classList.add("tab-body");
+ this.el_body.classList.add("tab-body");
this.el_body.id = this.name;
this.el_body.style.display = "none";
+
chat_input_w.classList.add("chat-input-wrapper");
+
this.chat_input.classList.add("chat-input");
this.chat_input.setAttribute("type", "text");
this.chat_input.addEventListener("keyup", (function(elem) {
@@ -126,13 +132,16 @@ Tab.prototype.hide = function() {
};
Tab.prototype.show = function() {
+ this.options.restore();
if (typeof this.showHandler !== "undefined") {
this.showHandler();
}
this.el_lst.classList.remove("tab-active");
this.el_lst.classList.add("tab-current");
this.el_body.style.display = "block";
+ $cs.opts.restore()
this.chat_log.scrollTop = 42000;
+ this.chat_log.style.fontSize = $cs.opts.values["chat-size"] + "px";
this.chat_input.focus();
};
@@ -156,11 +165,10 @@ Tab.prototype.flushText = function() {
Tab.prototype.appendMessage = function(msg) {
this.history_index = 0;
this.chat_log.innerHTML += '
';
-
+
if (!(typeof msg.login !== "undefined" && msg.login !== null)) {
this.history.push(msg.message);
}
-
this.flushText();
this.chat_log.scrollTop = 42 * this.buff_len;
};