/** * egg_find_bar_set_case_sensitive: * * Sets whether the search is case sensitive * * Since: 2.6 */ void egg_find_bar_set_case_sensitive (EggFindBar *find_bar, gboolean case_sensitive) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; g_object_freeze_notify (G_OBJECT (find_bar)); case_sensitive = case_sensitive != FALSE; if (priv->case_sensitive != case_sensitive) { priv->case_sensitive = case_sensitive; gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (priv->case_button), priv->case_sensitive); g_object_notify (G_OBJECT (find_bar), "case_sensitive"); } g_object_thaw_notify (G_OBJECT (find_bar)); }
/** * egg_find_bar_get_case_sensitive: * * Gets whether the search is case sensitive * * Returns: TRUE if it's case sensitive * * Since: 2.6 */ gboolean egg_find_bar_get_case_sensitive (EggFindBar *find_bar) { EggFindBarPrivate *priv; g_return_val_if_fail (EGG_IS_FIND_BAR (find_bar), FALSE); priv = (EggFindBarPrivate *)find_bar->priv; return priv->case_sensitive; }
/** * egg_find_bar_get_search_string: * * Gets the string that should be found/highlighted in the document. * * Returns: the string * * Since: 2.6 */ const char* egg_find_bar_get_search_string (EggFindBar *find_bar) { EggFindBarPrivate *priv; g_return_val_if_fail (EGG_IS_FIND_BAR (find_bar), NULL); priv = find_bar->priv; return priv->search_string ? priv->search_string : ""; }
/** * egg_find_bar_set_search_string: * * Sets the string that should be found/highlighted in the document. * Empty string is converted to NULL. * * Since: 2.6 */ void egg_find_bar_set_search_string (EggFindBar *find_bar, const char *search_string) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; g_object_freeze_notify (G_OBJECT (find_bar)); if (priv->search_string != search_string) { char *old; old = priv->search_string; if (search_string && *search_string == '\0') search_string = NULL; /* Only update if the string has changed; setting the entry * will emit changed on the entry which will re-enter * this function, but we'll handle that fine with this * short-circuit. */ if ((old && search_string == NULL) || (old == NULL && search_string) || (old && search_string && strcmp (old, search_string) != 0)) { gboolean not_empty; priv->search_string = g_strdup (search_string); g_free (old); gtk_entry_set_text (GTK_ENTRY (priv->find_entry), priv->search_string ? priv->search_string : ""); not_empty = (search_string == NULL) ? FALSE : TRUE; gtk_widget_set_sensitive (GTK_WIDGET (find_bar->priv->next_button), not_empty); gtk_widget_set_sensitive (GTK_WIDGET (find_bar->priv->previous_button), not_empty); g_object_notify (G_OBJECT (find_bar), "search_string"); } } g_object_thaw_notify (G_OBJECT (find_bar)); }
/** * egg_find_bar_enable_whole_words_only: * * Enable or disable the whole words only option */ void egg_find_bar_enable_whole_words_only (EggFindBar *find_bar, gboolean enable) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; priv->whole_words_only_enabled = !!enable; }
/** * egg_find_bar_enable_case_sensitive: * * Enable or disable the case sensitive option */ void egg_find_bar_enable_case_sensitive (EggFindBar *find_bar, gboolean enable) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; priv->case_sensitive_enabled = !!enable; }
/** * egg_find_bar_set_status_text: * * Sets some text to display if there's space; typical text would * be something like "5 results on this page" or "No results" * * @text: the text to display * * Since: 2.6 */ void egg_find_bar_set_status_text (EggFindBar *find_bar, const char *text) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; gtk_label_set_text (GTK_LABEL (priv->status_label), text); g_object_set (priv->status_separator, "visible", text != NULL && *text != '\0', NULL); g_object_set (priv->status_item, "visible", text != NULL && *text !='\0', NULL); }
/** * egg_find_bar_get_whole_words_only: * * Gets whether search whole words only * * Returns: %TRUE if only whole words are searched */ gboolean egg_find_bar_get_whole_words_only (EggFindBar *find_bar) { EggFindBarPrivate *priv; g_return_val_if_fail (EGG_IS_FIND_BAR (find_bar), FALSE); priv = (EggFindBarPrivate *)find_bar->priv; if (!priv->whole_words_only_enabled) return FALSE; return priv->whole_words_only; }
/** * egg_find_bar_set_whole_words_only: * * Sets whether search whole words only */ void egg_find_bar_set_whole_words_only (EggFindBar *find_bar, gboolean whole_words_only) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; g_object_freeze_notify (G_OBJECT (find_bar)); whole_words_only = whole_words_only != FALSE; if (priv->whole_words_only != whole_words_only) { priv->whole_words_only = whole_words_only; g_object_notify (G_OBJECT (find_bar), "whole-words-only"); } g_object_thaw_notify (G_OBJECT (find_bar)); }
/** * egg_find_bar_set_case_sensitive: * * Sets whether the search is case sensitive * * Since: 2.6 */ void egg_find_bar_set_case_sensitive (EggFindBar *find_bar, gboolean case_sensitive) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; g_object_freeze_notify (G_OBJECT (find_bar)); case_sensitive = case_sensitive != FALSE; if (priv->case_sensitive != case_sensitive) { priv->case_sensitive = case_sensitive; g_object_notify (G_OBJECT (find_bar), "case_sensitive"); } g_object_thaw_notify (G_OBJECT (find_bar)); }