diff options
-rw-r--r-- | desktop/browser.c | 16 | ||||
-rw-r--r-- | desktop/browser.h | 8 |
2 files changed, 24 insertions, 0 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index d2f56b98c..217e8bb0b 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -431,6 +431,22 @@ browser_editor_flags browser_window_get_editor_flags(struct browser_window *bw) } /* exported interface, documented in browser.h */ +bool browser_window_can_select(struct browser_window *bw) +{ + if (bw == NULL || bw->current_content == NULL) + return false; + + /* TODO: We shouldn't have to know about specific content types + * here. There should be a content_is_selectable() call. */ + if (content_get_type(bw->current_content) != CONTENT_HTML && + content_get_type(bw->current_content) != + CONTENT_TEXTPLAIN) + return false; + + return true; +} + +/* exported interface, documented in browser.h */ char * browser_window_get_selection(struct browser_window *bw) { assert(bw->window); diff --git a/desktop/browser.h b/desktop/browser.h index 68545dd20..935e2425c 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -454,6 +454,14 @@ struct browser_window * browser_window_get_root(struct browser_window *bw); browser_editor_flags browser_window_get_editor_flags(struct browser_window *bw); /** + * Find out if given browser window content is selectable + * + * \param bw browser window to look at + * \return true iff browser window is selectable + */ +bool browser_window_can_select(struct browser_window *bw); + +/** * Get the current selection from a root browser window, ownership passed to * caller, who must free() it. * |