diff --git a/src/ag-window.c b/src/ag-window.c index 33e7d55..f184f44 100644 --- a/src/ag-window.c +++ b/src/ag-window.c @@ -2767,3 +2767,20 @@ ag_window_load_chart_list(AgWindow *window) return TRUE; } + +/** + * ag_window_is_usable: + * @window: an #AgWindow to test + * + * Checks if the given window is usable for new charts. Usability is + * currently means that it has no charts open. + * + * Returns: TRUE if @window is usable, FALSE otherwise + */ +gboolean +ag_window_is_usable(AgWindow *window) +{ + AgWindowPrivate *priv = ag_window_get_instance_private(window); + + return (priv->current_tab == priv->tab_list); +} diff --git a/src/ag-window.h b/src/ag-window.h index 0475451..8bf51bf 100644 --- a/src/ag-window.h +++ b/src/ag-window.h @@ -59,6 +59,8 @@ void ag_window_change_tab(AgWindow *window, const gchar *tab_name); gboolean ag_window_load_chart_list(AgWindow *window); +gboolean ag_window_is_usable(AgWindow *window); + #define AG_WINDOW_ERROR (ag_window_error_quark()) GQuark ag_window_error_quark(void);