Commit 6e811eaa4ff2134882145938a2ff799bde7e7a2b
1 parent
36c9ac2a
Exists in
master
and in
3 other branches
Adding method to get "paste-next" state.
Showing
3 changed files
with
30 additions
and
2 deletions
Show diff stats
src/core/paste.c
| @@ -413,6 +413,14 @@ LIB3270_EXPORT int lib3270_paste_text(H3270 *hSession, const unsigned char *str) | @@ -413,6 +413,14 @@ LIB3270_EXPORT int lib3270_paste_text(H3270 *hSession, const unsigned char *str) | ||
| 413 | return 0; | 413 | return 0; |
| 414 | } | 414 | } |
| 415 | 415 | ||
| 416 | +LIB3270_EXPORT int lib3270_can_paste_next(const H3270 *hSession) | ||
| 417 | +{ | ||
| 418 | + if(!(lib3270_is_connected(hSession) && hSession->paste_buffer)) | ||
| 419 | + return 0; | ||
| 420 | + | ||
| 421 | + return strlen(hSession->paste_buffer); | ||
| 422 | +} | ||
| 423 | + | ||
| 416 | LIB3270_EXPORT int lib3270_paste_next(H3270 *hSession) | 424 | LIB3270_EXPORT int lib3270_paste_next(H3270 *hSession) |
| 417 | { | 425 | { |
| 418 | char * ptr; | 426 | char * ptr; |
src/core/properties/boolean.c
| @@ -38,6 +38,7 @@ | @@ -38,6 +38,7 @@ | ||
| 38 | #include <lib3270.h> | 38 | #include <lib3270.h> |
| 39 | #include <lib3270/properties.h> | 39 | #include <lib3270/properties.h> |
| 40 | #include <lib3270/keyboard.h> | 40 | #include <lib3270/keyboard.h> |
| 41 | + #include <lib3270/selection.h> | ||
| 41 | 42 | ||
| 42 | int lib3270_is_starting(const H3270 *hSession) | 43 | int lib3270_is_starting(const H3270 *hSession) |
| 43 | { | 44 | { |
| @@ -149,6 +150,13 @@ | @@ -149,6 +150,13 @@ | ||
| 149 | }, | 150 | }, |
| 150 | 151 | ||
| 151 | { | 152 | { |
| 153 | + .name = "can_paste_next", // Property name. | ||
| 154 | + .description = N_( "Still have text to paste" ), // Property description. | ||
| 155 | + .get = lib3270_can_paste_next, // Get value. | ||
| 156 | + .set = NULL // Set value. | ||
| 157 | + }, | ||
| 158 | + | ||
| 159 | + { | ||
| 152 | .name = "starting", // Property name. | 160 | .name = "starting", // Property name. |
| 153 | .description = N_( "Is starting (no first screen)?" ), // Property description. | 161 | .description = N_( "Is starting (no first screen)?" ), // Property description. |
| 154 | .get = lib3270_is_starting, // Get value. | 162 | .get = lib3270_is_starting, // Get value. |
src/include/lib3270/selection.h
| @@ -117,14 +117,26 @@ | @@ -117,14 +117,26 @@ | ||
| 117 | /** | 117 | /** |
| 118 | * @brief Paste remaining string. | 118 | * @brief Paste remaining string. |
| 119 | * | 119 | * |
| 120 | - * @param h Session handle. | 120 | + * @param hSession Session handle. |
| 121 | * | 121 | * |
| 122 | * @see lib3270_paste_text. | 122 | * @see lib3270_paste_text. |
| 123 | * | 123 | * |
| 124 | * @return Non 0 if there's more to paste. | 124 | * @return Non 0 if there's more to paste. |
| 125 | * | 125 | * |
| 126 | */ | 126 | */ |
| 127 | - LIB3270_EXPORT int lib3270_paste_next(H3270 *h); | 127 | + LIB3270_EXPORT int lib3270_paste_next(H3270 *hSession); |
| 128 | + | ||
| 129 | + /** | ||
| 130 | + * @brief Check if can paste next. | ||
| 131 | + * | ||
| 132 | + * @param hSession Session handle. | ||
| 133 | + * | ||
| 134 | + * @see lib3270_paste_next. | ||
| 135 | + * | ||
| 136 | + * @return Non 0 if there's more to paste. | ||
| 137 | + * | ||
| 138 | + */ | ||
| 139 | + LIB3270_EXPORT int lib3270_can_paste_next(const H3270 *hSession); | ||
| 128 | 140 | ||
| 129 | /** | 141 | /** |
| 130 | * @brief Move selected box 1 char in the selected direction. | 142 | * @brief Move selected box 1 char in the selected direction. |