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 c9e36ee71..d2f56b98c 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -443,6 +443,22 @@ char * browser_window_get_selection(struct browser_window *bw) return content_get_selection(bw->selection.bw->current_content); } +/* exported interface, documented in browser.h */ +bool browser_window_can_search(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_searchable() call. */ + if (content_get_type(bw->current_content) != CONTENT_HTML && + content_get_type(bw->current_content) != + CONTENT_TEXTPLAIN) + return false; + + return true; +} + /** * Set or remove a selection. * diff --git a/desktop/browser.h b/desktop/browser.h index f4943172e..68545dd20 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -462,6 +462,14 @@ browser_editor_flags browser_window_get_editor_flags(struct browser_window *bw); */ char * browser_window_get_selection(struct browser_window *bw); +/** + * Find out if given browser window can be searched + * + * \param bw browser window to look at + * \return true iff browser window is searchable + */ +bool browser_window_can_search(struct browser_window *bw); + /** * Dump debug info concerning the browser window's contents to file |