summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2008-05-19 17:13:22 +0100
committerAndrew Dolgov <[email protected]>2008-05-19 17:13:22 +0100
commitf3169d7ecc54462e7536bef380eba1f26fe837df (patch)
tree26ce2e301985ffee0bbedb03c7c1a0555118dc28
parent08827aafd72ccc84d8856e3a7a07abd7d93fad33 (diff)
add vertical resize grip
-rw-r--r--feedlist.js48
-rw-r--r--tt-rss.css15
-rw-r--r--tt-rss.js17
-rw-r--r--tt-rss.php1
4 files changed, 77 insertions, 4 deletions
diff --git a/feedlist.js b/feedlist.js
index ac2985a2f..e4ea70cc5 100644
--- a/feedlist.js
+++ b/feedlist.js
@@ -328,6 +328,9 @@ function feedlist_init() {
hideOrShowFeeds(document, getInitParam("hide_read_feeds") == 1);
document.onkeydown = hotkey_handler;
+ document.onmousemove = mouse_move_handler;
+ document.onmousedown = mouse_down_handler;
+ document.onmouseup = mouse_up_handler;
setTimeout("timeout()", 0);
/* debug("about to remove splash, OMG!");
@@ -460,4 +463,49 @@ function init_collapsable_feedlist(theme) {
}
+var mouse_is_down = false;
+var mouse_y = 0;
+function mouse_move_handler(e) {
+ try {
+ var client_y;
+
+ if (window.event) {
+ client_y = window.event.clientY;
+ } else if (e) {
+
+ }
+
+ if (mouse_is_down) {
+ if (mouse_y == 0) mouse_y = client_y;
+
+ debug("moved delta: " + (mouse_y - client_y));
+
+ resize_headlines(0, mouse_y - client_y);
+ return false;
+ }
+
+ } catch (e) {
+ exception_error("mouse_move_handler", e);
+ }
+}
+
+function mouse_down_handler(e) {
+ try {
+
+ mouse_is_down = true;
+
+ } catch (e) {
+ exception_error("mouse_move_handler", e);
+ }
+}
+
+function mouse_up_handler(e) {
+ try {
+
+ mouse_is_down = false;
+
+ } catch (e) {
+ exception_error("mouse_move_handler", e);
+ }
+}
diff --git a/tt-rss.css b/tt-rss.css
index 32517c511..fa255a426 100644
--- a/tt-rss.css
+++ b/tt-rss.css
@@ -1490,6 +1490,21 @@ div.headlines_cdm {
/* height: expression((parseInt(document.documentElement.clientHeight)-40-305-50)+'px'); */
}
+#resize-grabber {
+ position : absolute;
+ border-width : 1px;
+ border-style : dotted;
+ border-color : #88b0f0;
+ background-color : white;
+ width : 10px;
+ height : 10px;
+ z-index : 20;
+ right : 10px;
+ top : 20px;
+ display : none;
+ cursor : move;
+}
+
#footer, #prefFooter {
position : absolute;
bottom : 0px;
diff --git a/tt-rss.js b/tt-rss.js
index 482ddabf8..68a4da795 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -16,6 +16,7 @@ var sanity_check_done = false;
var _hfd_scrolltop = 0;
var hotkey_prefix = false;
var init_params = new Object();
+var ver_reflow_delta = 0;
function tagsAreDisplayed() {
return display_tags;
@@ -356,12 +357,15 @@ function init() {
}
}
-function resize_headlines() {
+function resize_headlines(delta_x, delta_y) {
+
+ ver_reflow_delta = delta_y;
var h_frame = document.getElementById("headlines-frame");
var c_frame = document.getElementById("content-frame");
var f_frame = document.getElementById("footer");
var feeds_frame = document.getElementById("feeds-holder");
+ var resize_grab = document.getElementById("resize-grabber");
if (!c_frame || !h_frame) return;
@@ -379,9 +383,14 @@ function resize_headlines() {
debug("resize_headlines: VER-mode");
if (!is_msie()) {
- h_frame.style.height = 30 + "%";
- c_frame.style.top = h_frame.offsetTop + h_frame.offsetHeight + 1 + "px";
+ h_frame.style.height = (300 - ver_reflow_delta) + "px";
+
+ c_frame.style.top = (h_frame.offsetTop + h_frame.offsetHeight + 1) + "px";
h_frame.style.height = h_frame.offsetHeight + "px";
+
+ resize_grab.style.top = (h_frame.offsetTop + h_frame.offsetHeight - 5) + "px";
+ resize_grab.style.display = "block";
+
} else {
h_frame.style.height = document.documentElement.clientHeight * 0.3 + "px";
c_frame.style.top = h_frame.offsetTop + h_frame.offsetHeight + 1 + "px";
@@ -395,7 +404,7 @@ function resize_headlines() {
c_frame.style.height = c_bottom - (h_frame.offsetTop +
h_frame.offsetHeight + 1) + "px";
h_frame.style.height = h_frame.offsetHeight + "px";
-
+
}
}
diff --git a/tt-rss.php b/tt-rss.php
index 1de9ce87a..fc6aee56c 100644
--- a/tt-rss.php
+++ b/tt-rss.php
@@ -239,6 +239,7 @@ window.onload = init;
<div id="headlines-frame" class="headlines_normal">
<div class="whiteBox"><?php echo __('No feed selected.') ?></div></div>
<div id="content-frame"><div class="whiteBox">&nbsp;</div></div>
+ <div id="resize-grabber" title="<?php echo __('Drag me to resize panels') ?>"> </div>
<?php } else { ?>
<div id="headlines-frame" class="headlines_cdm">
<div class="whiteBox"><?php echo __('No feed selected.') ?></div></div>