aboutsummaryrefslogtreecommitdiffhomepage
path: root/pager.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-02-20 13:30:26 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-02-20 13:30:26 -0800
commit8eaabacf44698f7cde0c4d10cecb76c06b51b1b7 (patch)
tree6de992e222a3741427a8228ce189788042c6e5fe /pager.cpp
parentadf5b036d646561dbcd7d3d5d04ab7a0e6827a87 (diff)
Allow double-tapping tab to fully disclose pager, per #291
Diffstat (limited to 'pager.cpp')
-rw-r--r--pager.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/pager.cpp b/pager.cpp
index 16456bc9..b137bca2 100644
--- a/pager.cpp
+++ b/pager.cpp
@@ -449,7 +449,9 @@ bool pager_t::completion_try_print(size_t cols, const wcstring &prefix, const co
int term_width = this->available_term_width;
int term_height = this->available_term_height - 1 - (search_field_shown ? 1 : 0); // we always subtract 1 to make room for a comment row
if (! this->fully_disclosed)
+ {
term_height = mini(term_height, PAGER_UNDISCLOSED_MAX_ROWS);
+ }
size_t row_count = divide_round_up(lst.size(), cols);
@@ -691,7 +693,8 @@ void pager_t::update_rendering(page_rendering_t *rendering) const
rendering->selected_completion_idx != this->visual_selected_completion_index(rendering->rows, rendering->cols) ||
rendering->search_field_shown != this->search_field_shown ||
rendering->search_field_line.text != this->search_field_line.text ||
- rendering->search_field_line.position != this->search_field_line.position)
+ rendering->search_field_line.position != this->search_field_line.position ||
+ (rendering->remaining_to_disclose > 0 && this->fully_disclosed))
{
*rendering = this->render();
}
@@ -934,6 +937,11 @@ bool pager_t::is_navigating_contents() const
return selected_completion_idx != PAGER_SELECTION_NONE;
}
+void pager_t::set_fully_disclosed(bool flag)
+{
+ fully_disclosed = flag;
+}
+
const completion_t *pager_t::selected_completion(const page_rendering_t &rendering) const
{
const completion_t * result = NULL;