From 85fb1fd45d4ee5901061d55bcdd0f19a04330d57 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sat, 18 Oct 2014 18:53:50 +0100 Subject: Add is_selectable to browser window API surface. --- desktop/browser.c | 16 ++++++++++++++++ desktop/browser.h | 8 ++++++++ 2 files changed, 24 insertions(+) (limited to 'desktop') diff --git a/desktop/browser.c b/desktop/browser.c index d2f56b98c..217e8bb0b 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -430,6 +430,22 @@ browser_editor_flags browser_window_get_editor_flags(struct browser_window *bw) return ed_flags; } +/* 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) { diff --git a/desktop/browser.h b/desktop/browser.h index 68545dd20..935e2425c 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -453,6 +453,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. -- cgit v1.2.3