diff options
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 14 | ||||
-rw-r--r-- | desktop/browser.h | 8 |
2 files changed, 22 insertions, 0 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index cc19ccdc0..a6e80d0f2 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -257,6 +257,20 @@ struct browser_window * browser_window_get_root(struct browser_window *bw) } return bw; } +/* exported interface, documented in browser.h */ +bool browser_window_has_selection(struct browser_window *bw) +{ + assert(bw->window); + + /* TODO: handle selections in (i)frames */ + + if (bw->current_content != NULL && bw->sel != NULL && + selection_defined(bw->sel)) { + return true; + } else { + return false; + } +} /** * Create and open a new root browser window with the given page. diff --git a/desktop/browser.h b/desktop/browser.h index 136f97f0f..0949e856e 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -339,6 +339,14 @@ void browser_window_set_drag_type(struct browser_window *bw, */ struct browser_window * browser_window_get_root(struct browser_window *bw); +/** + * Check whether browser window contains a selection + * + * \param bw The browser window + * \return true if browser window contains a selection + */ +bool browser_window_has_selection(struct browser_window *bw); + /* In platform specific hotlist.c. */ void hotlist_visited(struct hlcache_handle *c); |