You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.6 KiB
HTML
113 lines
3.6 KiB
HTML
<html window-icon="themepicsingle:users">
|
|
<head>
|
|
<include src="common.htm" />
|
|
<style src="users.css" />
|
|
<script>
|
|
var users = $("#users"),
|
|
start = $("#start"),
|
|
createacc = $("#createacc"),
|
|
deleteacc = $("#deleteacc"),
|
|
getnew = $("#getnew"),
|
|
rnqver = $("#rnqver"),
|
|
link = $("#link"),
|
|
data;
|
|
|
|
view.uniqueid = "users";
|
|
view.isDialog = true;
|
|
view.minSize = [300, 160];
|
|
if (view.icon == null) CommonNative.SetLargeWindowIcon(document, "");
|
|
CommonNative.ShowTaskbarButton(document);
|
|
setupWindow(true, false, false);
|
|
translateWindow("span");
|
|
animateWindow();
|
|
|
|
function updateStartButton() {
|
|
start.state.disabled = users.value == undefined || users.value == null;
|
|
}
|
|
|
|
function startSelectedUser() {
|
|
var uin = users.value;
|
|
if (uin == "" || uin == data[1]) {
|
|
view.close();
|
|
return;
|
|
}
|
|
for (let user of data[2])
|
|
if (user.uin == uin) {
|
|
if (user.encr) {
|
|
if (!CommonNative.CheckAccountPass(uin)) uin = false;
|
|
} else {
|
|
CommonNative.SaveNewAccountPassword("");
|
|
}
|
|
if (uin !== false) view.close(uin);
|
|
break;
|
|
}
|
|
}
|
|
|
|
function reloadUsers() {
|
|
data = CommonNative.GetUsersData();
|
|
if (!data[2]) data[2] = [];
|
|
users.clear();
|
|
|
|
data[2] = data[2].sort((user1, user2) => {
|
|
var uin1 = parseFloat(user1.uin);
|
|
if (isNaN(uin1)) uin1 = false;
|
|
var uin2 = parseFloat(user2.uin);
|
|
if (isNaN(uin2)) uin2 = false;
|
|
if (uin1 !== false || uin2 !== false)
|
|
return (uin1 !== false ? uin1 : Number.MAX_VALUE) > (uin2 !== false ? uin2 : Number.MAX_VALUE) ? 1 : -1;
|
|
else
|
|
return user1.uin.toLowerCase().localeCompare(user2.uin.toLowerCase());
|
|
});
|
|
|
|
for (let user of data[2]) {
|
|
var children = [];
|
|
if (user.encr)
|
|
children.push(MainNative ? <div auto pic="key" class="nick"></div> : <div class="nick">[{_("encrypted")}]</div>);
|
|
else if (user.uin != user.name)
|
|
children.push(<div class="nick">{user.name}</div>);
|
|
users.append(<option value={user.uin}><div class="uin">{user.uin}</div>{children}</option>);
|
|
}
|
|
|
|
if (data[0]) {
|
|
users.flushPaint();
|
|
var selected = users.$("option[value=\"" + data[0] + "\"]");
|
|
if (selected) selected.execCommand("set-current");
|
|
}
|
|
|
|
rnqver.html = data[3];
|
|
|
|
updateStartButton();
|
|
start.state.focus = true;
|
|
}
|
|
|
|
users.on("dblclick", (e) => { if (e.mainButton) startSelectedUser() });
|
|
users.on("change", (e) => updateStartButton());
|
|
|
|
start.on("click", (e) => startSelectedUser());
|
|
createacc.on("click", (e) => createNewAccount());
|
|
deleteacc.on("click", (e) => CommonNative.DeleteAccount(users.value));
|
|
getnew.on("click", (e) => CommonNative.OpenICQReg());
|
|
link.on("click", (e) => CommonNative.OpenPortal());
|
|
|
|
reloadUsers();
|
|
|
|
document.on("keydown", (e) => {
|
|
if (e.keyCode == Event.VK_ESCAPE || (e.ctrlKey && e.keyCode == Event.VK_W)) view.close();
|
|
else if (e.keyCode == Event.VK_RETURN && e.target == users) startSelectedUser();
|
|
});
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<select type="list" as="string" id="users" />
|
|
<div class="buttonpane">
|
|
<button uwp wide withpic id="start"><div auto pic="ok"></div><span>Start</span></button>
|
|
<button uwp wide withpic id="createacc" title="Input your UIN and create a new user"><div auto pic="add"></div><span>Create account</span></button>
|
|
<button uwp wide withpic id="deleteacc"><div auto pic="delete"></div><span>Delete account</span></button>
|
|
<button uwp wide withpic id="getnew" title="Create new UIN on the server"><span>Get new ICQ account</span></button>
|
|
<div id="link">
|
|
<div id="rnqver"></div>
|
|
<img src="resource:rnqnew48" class="logo" />
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |