Attached Files |
0002-Check-WebTiles-menu-indices-after-each-scroll.patch [^] (2,144 bytes) 2013-03-02 12:38 [Show Content] [Hide Content]From 21ea2914ca133d0523ac33a81dd56462d498c06f Mon Sep 17 00:00:00 2001
From: Pekka Lampila <pekka.lampila@iki.fi>
Date: Mon, 25 Feb 2013 10:11:09 +0200
Subject: [PATCH 2/7] Check WebTiles menu indices after each scroll
---
crawl-ref/source/webserver/game_data/static/menu.js | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/crawl-ref/source/webserver/game_data/static/menu.js b/crawl-ref/source/webserver/game_data/static/menu.js
index bf23978..8fbfe2d 100644
--- a/crawl-ref/source/webserver/game_data/static/menu.js
+++ b/crawl-ref/source/webserver/game_data/static/menu.js
@@ -141,9 +141,10 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
else if (menu.jump_to)
{
scroll_to_item(menu.jump_to, true);
+ } else {
+ // Hide -more- if at the bottom
+ menu_scroll_handler();
}
- // Hide -more- if at the bottom
- menu_scroll_handler();
}
function prepare_item_range(start, end, no_request, container)
@@ -305,9 +306,9 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
contents.scrollTop(item.elem.offset().top - baseline);
menu.anchor_last = false;
- menu.first_visible = index;
if (!was_server_initiated)
menu.server_scroll = false;
+ menu_scroll_handler();
}
function scroll_bottom_to_item(item_or_index, was_server_initiated)
@@ -327,9 +328,9 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
- baseline - contents.innerHeight());
menu.anchor_last = true;
- menu.last_visible = index;
if (!was_server_initiated)
menu.server_scroll = false;
+ menu_scroll_handler();
}
function update_visible_indices()
@@ -531,7 +532,6 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
scroll_bottom_to_item(menu.last_visible, true);
else
scroll_to_item(menu.first_visible, true);
- menu_scroll_handler();
}
function menu_scroll_handler()
--
1.7.10.4
0005-Hide-WebTiles-dialogs-when-the-connection-is-closed.patch [^] (876 bytes) 2013-03-02 12:39 [Show Content] [Hide Content]From f631403af4fcc6a8caba9245aea5b90356ea5f44 Mon Sep 17 00:00:00 2001
From: Pekka Lampila <pekka.lampila@iki.fi>
Date: Mon, 25 Feb 2013 19:28:42 +0200
Subject: [PATCH 5/7] Hide WebTiles dialogs when the connection is closed
---
crawl-ref/source/webserver/static/scripts/client.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/crawl-ref/source/webserver/static/scripts/client.js b/crawl-ref/source/webserver/static/scripts/client.js
index 423fe9e..e56ed8d 100644
--- a/crawl-ref/source/webserver/static/scripts/client.js
+++ b/crawl-ref/source/webserver/static/scripts/client.js
@@ -505,6 +505,7 @@ function (exports, $, key_conversion, chat, comm) {
{
var msg = data.reason;
set_layer("crt");
+ hide_dialog();
$("#chat").hide();
$("#crt").html(msg + "<br><br>");
showing_close_message = true;
--
1.7.10.4
0006-Make-sure-new-menus-are-scrolled-to-the-top-in-WebTi.patch [^] (1,295 bytes) 2013-03-02 12:39 [Show Content] [Hide Content]From b62f124f5ffa78b44daccdde29d58cf42ec7f526 Mon Sep 17 00:00:00 2001
From: Pekka Lampila <pekka.lampila@iki.fi>
Date: Sat, 2 Mar 2013 12:41:25 +0200
Subject: [PATCH 6/7] Make sure new menus are scrolled to the top in WebTiles
In Firefox menu scrolling position was remembered between different
menus.
---
crawl-ref/source/webserver/game_data/static/menu.js | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/crawl-ref/source/webserver/game_data/static/menu.js b/crawl-ref/source/webserver/game_data/static/menu.js
index 8fbfe2d..bf1dd69 100644
--- a/crawl-ref/source/webserver/game_data/static/menu.js
+++ b/crawl-ref/source/webserver/game_data/static/menu.js
@@ -133,7 +133,6 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
client.show_dialog("#menu");
- update_visible_indices();
if (menu.flags & enums.menu_flag.START_AT_END)
{
scroll_bottom_to_item(menu.items.length - 1, true);
@@ -142,8 +141,7 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
{
scroll_to_item(menu.jump_to, true);
} else {
- // Hide -more- if at the bottom
- menu_scroll_handler();
+ scroll_to_item(0, true);
}
}
--
1.7.10.4
0007-Make-sure-to-send-menu_scroll-before-selection-in-We.patch [^] (2,791 bytes) 2013-03-02 12:39 [Show Content] [Hide Content]From de5ba1448e6cb70fa58921f2f3fcbaf7bf1616e6 Mon Sep 17 00:00:00 2001
From: Pekka Lampila <pekka.lampila@iki.fi>
Date: Sat, 2 Mar 2013 13:34:04 +0200
Subject: [PATCH 7/7] Make sure to send menu_scroll before selection in
WebTiles
Send menu_scroll message early for any keys not handled by the menu
code. This makes sure that when selection happens server's view is up to
date.
---
.../source/webserver/game_data/static/menu.js | 24 ++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/crawl-ref/source/webserver/game_data/static/menu.js b/crawl-ref/source/webserver/game_data/static/menu.js
index bf1dd69..e0fcf6f 100644
--- a/crawl-ref/source/webserver/game_data/static/menu.js
+++ b/crawl-ref/source/webserver/game_data/static/menu.js
@@ -552,11 +552,14 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
function menu_keydown_handler(event)
{
- if (event.altKey || event.shiftkey)
- return;
-
if (!menu || menu.type === "crt") return;
+ if (event.altKey || event.shiftkey) {
+ if (update_server_scroll_timeout)
+ update_server_scroll();
+ return;
+ }
+
if (event.ctrlKey)
{
if (String.fromCharCode(event.which) == "F")
@@ -568,6 +571,8 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
event.preventDefault();
return false;
}
+ if (update_server_scroll_timeout)
+ update_server_scroll();
return;
}
@@ -602,6 +607,9 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
event.preventDefault();
return false;
}
+
+ if (update_server_scroll_timeout)
+ update_server_scroll();
}
function menu_keypress_handler(event)
@@ -613,8 +621,10 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
switch (chr)
{
case "-":
- if (menu.tag == "inventory")
+ if (menu.tag == "inventory") {
+ update_server_scroll();
return true; // Don't capture - for wield prompts
+ }
case "<":
case ";":
@@ -629,10 +639,16 @@ function ($, comm, client, enums, dungeon_renderer, cr, util) {
event.preventDefault();
return false;
}
+
+ if (update_server_scroll_timeout)
+ update_server_scroll();
}
function item_click_handler(event)
{
+ if (update_server_scroll_timeout)
+ update_server_scroll();
+
var item = $(this).data("item");
if (!item) return;
if (item.hotkeys && item.hotkeys.length)
--
1.7.10.4
|