| 1 |
/*************************************************************************** |
/* SPDX-License-Identifier: GPL-3.0-or-later */ |
| 2 |
editor.h - description |
/* |
| 3 |
------------------- |
* editor |
| 4 |
copyright : (C) 2004-2025 by Leaflet |
* - user interactive full-screen text editor |
| 5 |
email : leaflet@leafok.com |
* |
| 6 |
***************************************************************************/ |
* Copyright (C) 2004-2025 Leaflet <leaflet@leafok.com> |
| 7 |
|
*/ |
|
/*************************************************************************** |
|
|
* * |
|
|
* This program is free software; you can redistribute it and/or modify * |
|
|
* it under the terms of the GNU General Public License as published by * |
|
|
* the Free Software Foundation; either version 3 of the License, or * |
|
|
* (at your option) any later version. * |
|
|
* * |
|
|
***************************************************************************/ |
|
| 8 |
|
|
| 9 |
#include "bbs.h" |
#include "bbs.h" |
| 10 |
#include "common.h" |
#include "common.h" |
| 700 |
iflush(); |
iflush(); |
| 701 |
|
|
| 702 |
str_len = 0; |
str_len = 0; |
| 703 |
ch = igetch_t(MAX_DELAY_TIME); |
ch = igetch_t(BBS_max_user_idle_time); |
| 704 |
while (!SYS_server_exit) |
while (!SYS_server_exit) |
| 705 |
{ |
{ |
| 706 |
if (ch != KEY_NULL && ch != KEY_TIMEOUT) |
if (ch != KEY_NULL && ch != KEY_TIMEOUT) |
| 1052 |
output_end_row = SCREEN_ROWS - 1; // Legacy Fterm only works with this line |
output_end_row = SCREEN_ROWS - 1; // Legacy Fterm only works with this line |
| 1053 |
col_pos = MIN(col_pos, MAX(1, p_editor_data->display_line_widths[line_current - output_current_row + row_pos])); |
col_pos = MIN(col_pos, MAX(1, p_editor_data->display_line_widths[line_current - output_current_row + row_pos])); |
| 1054 |
break; |
break; |
|
case KEY_SPACE: |
|
|
break; |
|
| 1055 |
case KEY_RIGHT: |
case KEY_RIGHT: |
| 1056 |
offset_in = split_line(p_editor_data->p_display_lines[line_current - output_current_row + row_pos], |
offset_in = split_line(p_editor_data->p_display_lines[line_current - output_current_row + row_pos], |
| 1057 |
(int)col_pos - 1, &eol, &display_len, 0); |
(int)col_pos - 1, &eol, &display_len, 0); |
| 1123 |
break; |
break; |
| 1124 |
case Ctrl('Q'): |
case Ctrl('Q'): |
| 1125 |
case KEY_F1: |
case KEY_F1: |
| 1126 |
if (!show_help) // Not reentrant |
if (!show_help) // Not re-entrant |
| 1127 |
{ |
{ |
| 1128 |
break; |
break; |
| 1129 |
} |
} |
| 1130 |
// Display help information |
// Display help information |
| 1131 |
show_help = 0; |
show_help = 0; |
| 1132 |
display_file(DATA_READ_HELP, 1); |
display_file(DATA_EDITOR_HELP, 1); |
| 1133 |
show_help = 1; |
show_help = 1; |
| 1134 |
case KEY_F5: |
case KEY_F5: |
| 1135 |
// Refresh after display help information |
// Refresh after display help information |
| 1156 |
break; |
break; |
| 1157 |
} |
} |
| 1158 |
|
|
| 1159 |
ch = igetch_t(MAX_DELAY_TIME); |
ch = igetch_t(BBS_max_user_idle_time); |
| 1160 |
} |
} |
| 1161 |
|
|
| 1162 |
continue; |
continue; |