about summary refs log tree commit diff stats
path: root/src/ui/core.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-01-15 00:14:12 +0000
committerJames Booth <boothj5@gmail.com>2015-01-15 00:14:12 +0000
commit97aebb6113a7d9683a9d3258f2ac5b1e7b98cc61 (patch)
tree68364a48331fad79915b7a436097e2eee0d97164 /src/ui/core.c
parentdb9a2cf0ab40912d1d342b8ad3dfacbf8776411a (diff)
downloadprofani-tty-97aebb6113a7d9683a9d3258f2ac5b1e7b98cc61.tar.gz
Moved win_handle_page to window module
Diffstat (limited to 'src/ui/core.c')
-rw-r--r--src/ui/core.c115
1 files changed, 2 insertions, 113 deletions
diff --git a/src/ui/core.c b/src/ui/core.c
index 5b621ba1..2873b693 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -81,7 +81,6 @@ static Display *display;
 static GTimer *ui_idle_time;
 
 static void _win_handle_switch(const wint_t ch);
-static void _win_handle_page(const wint_t ch, const int result);
 static void _win_show_history(int win_index, const char * const contact);
 static void _ui_draw_term_title(void);
 
@@ -180,7 +179,8 @@ ui_get_char(char *input, int *size)
     int result = 0;
     wint_t ch = inp_get_char(input, size, &result);
     _win_handle_switch(ch);
-    _win_handle_page(ch, result);
+    ProfWin *current = wins_get_current();
+    win_handle_page(current, ch, result);
     if (ch == KEY_RESIZE) {
         ui_resize();
     }
@@ -2958,117 +2958,6 @@ _win_handle_switch(const wint_t ch)
 }
 
 static void
-_win_handle_page(const wint_t ch, const int result)
-{
-    ProfWin *current = wins_get_current();
-    int rows = getmaxy(stdscr);
-    int y = getcury(current->layout->win);
-
-    int page_space = rows - 4;
-    int *page_start = &(current->layout->y_pos);
-
-    if (prefs_get_boolean(PREF_MOUSE)) {
-        MEVENT mouse_event;
-
-        if (ch == KEY_MOUSE) {
-            if (getmouse(&mouse_event) == OK) {
-
-#ifdef PLATFORM_CYGWIN
-                if (mouse_event.bstate & BUTTON5_PRESSED) { // mouse wheel down
-#else
-                if (mouse_event.bstate & BUTTON2_PRESSED) { // mouse wheel down
-#endif
-                    *page_start += 4;
-
-                    // only got half a screen, show full screen
-                    if ((y - (*page_start)) < page_space)
-                        *page_start = y - page_space;
-
-                    // went past end, show full screen
-                    else if (*page_start >= y)
-                        *page_start = y - page_space;
-
-                    current->layout->paged = 1;
-                    win_update_virtual(current);
-                } else if (mouse_event.bstate & BUTTON4_PRESSED) { // mouse wheel up
-                    *page_start -= 4;
-
-                    // went past beginning, show first page
-                    if (*page_start < 0)
-                        *page_start = 0;
-
-                    current->layout->paged = 1;
-                    win_update_virtual(current);
-                }
-            }
-        }
-    }
-
-    // page up
-    if (ch == KEY_PPAGE) {
-        *page_start -= page_space;
-
-        // went past beginning, show first page
-        if (*page_start < 0)
-            *page_start = 0;
-
-        current->layout->paged = 1;
-        win_update_virtual(current);
-
-    // page down
-    } else if (ch == KEY_NPAGE) {
-        *page_start += page_space;
-
-        // only got half a screen, show full screen
-        if ((y - (*page_start)) < page_space)
-            *page_start = y - page_space;
-
-        // went past end, show full screen
-        else if (*page_start >= y)
-            *page_start = y - page_space - 1;
-
-        current->layout->paged = 1;
-        win_update_virtual(current);
-    }
-
-    // switch off page if last line and space line visible
-    if ((y) - *page_start == page_space) {
-        current->layout->paged = 0;
-    }
-
-    if (current->layout->type == LAYOUT_SPLIT) {
-        ProfLayoutSplit *split_layout = (ProfLayoutSplit*)current->layout;
-        int sub_y = getcury(split_layout->subwin);
-        int *sub_y_pos = &(split_layout->sub_y_pos);
-
-        // alt up arrow
-        if ((result == KEY_CODE_YES) && ((ch == 565) || (ch == 337))) {
-            *sub_y_pos -= page_space;
-
-            // went past beginning, show first page
-            if (*sub_y_pos < 0)
-                *sub_y_pos = 0;
-
-            win_update_virtual(current);
-
-        // alt down arrow
-        } else if ((result == KEY_CODE_YES) && ((ch == 524) || (ch == 336))) {
-            *sub_y_pos += page_space;
-
-            // only got half a screen, show full screen
-            if ((sub_y- (*sub_y_pos)) < page_space)
-                *sub_y_pos = sub_y - page_space;
-
-            // went past end, show full screen
-            else if (*sub_y_pos >= sub_y)
-                *sub_y_pos = sub_y - page_space - 1;
-
-            win_update_virtual(current);
-        }
-    }
-}
-
-static void
 _win_show_history(int win_index, const char * const contact)
 {
     ProfWin *window = wins_get_by_num(win_index);