/** * thunar_sbr_replace_renamer_set_regexp: * @replace_renamer : a #ThunarSbrReplaceRenamer. * @regexp : %TRUE to use regular expressions. * * If @regexp is %TRUE a regular expression should be used * for @replace_renamer. **/ void thunar_sbr_replace_renamer_set_regexp (ThunarSbrReplaceRenamer *replace_renamer, gboolean regexp) { g_return_if_fail (THUNAR_SBR_IS_REPLACE_RENAMER (replace_renamer)); /* normalize the value */ regexp = (!!regexp && replace_renamer->regexp_supported); /* check if we have a new value */ if (G_LIKELY (replace_renamer->regexp != regexp)) { /* apply the new value */ replace_renamer->regexp = regexp; #ifdef HAVE_PCRE /* pre-compile the pattern */ thunar_sbr_replace_renamer_pcre_update (replace_renamer); #endif /* update the renamer */ thunarx_renamer_changed (THUNARX_RENAMER (replace_renamer)); /* notify listeners */ g_object_notify (G_OBJECT (replace_renamer), "regexp"); } }
/** * thunar_sbr_replace_renamer_set_pattern: * @replace_renamer : a #ThunarSbrReplaceRenamer. * @pattern : the new pattern for @replace_renamer. * * Sets the search pattern of @replace_renamer to @pattern. **/ void thunar_sbr_replace_renamer_set_pattern (ThunarSbrReplaceRenamer *replace_renamer, const gchar *pattern) { g_return_if_fail (THUNAR_SBR_IS_REPLACE_RENAMER (replace_renamer)); g_return_if_fail (g_utf8_validate (pattern, -1, NULL)); /* check if we have a new pattern */ if (!exo_str_is_equal (replace_renamer->pattern, pattern)) { /* apply the new value */ g_free (replace_renamer->pattern); replace_renamer->pattern = g_strdup (pattern); #ifdef HAVE_PCRE /* pre-compile the pattern */ thunar_sbr_replace_renamer_pcre_update (replace_renamer); #endif /* update the renamer */ thunarx_renamer_changed (THUNARX_RENAMER (replace_renamer)); /* notify listeners */ g_object_notify (G_OBJECT (replace_renamer), "pattern"); } }
/** * thunar_sbr_replace_renamer_set_case_sensitive: * @replace_renamer : a #ThunarSbrReplaceRenamer. * @case_sensitive : %TRUE to use case sensitive search. * * If @case_sensitive is %TRUE the search of @replace_renamer * will be case sensitive. **/ void thunar_sbr_replace_renamer_set_case_sensitive (ThunarSbrReplaceRenamer *replace_renamer, gboolean case_sensitive) { g_return_if_fail (THUNAR_SBR_IS_REPLACE_RENAMER (replace_renamer)); /* normalize the value */ case_sensitive = !!case_sensitive; /* check if we have a new setting */ if (G_LIKELY (replace_renamer->case_sensitive != case_sensitive)) { /* apply the new value */ replace_renamer->case_sensitive = case_sensitive; #ifdef HAVE_PCRE /* pre-compile the pattern */ thunar_sbr_replace_renamer_pcre_update (replace_renamer); #endif /* update the renamer */ thunarx_renamer_changed (THUNARX_RENAMER (replace_renamer)); /* notify listeners */ g_object_notify (G_OBJECT (replace_renamer), "case-sensitive"); } }
static void thunar_sbr_number_renamer_update (ThunarSbrNumberRenamer *number_renamer) { gboolean invalid = TRUE; GdkColor back; GdkColor text; gchar *endp; guint number; /* check whether "start" is valid for the "mode" */ if (number_renamer->mode < THUNAR_SBR_NUMBER_MODE_ABC) { /* "start" must be a positive number */ number = strtoul (number_renamer->start, &endp, 10); invalid = (endp <= number_renamer->start || *endp != '\0'); } else if (number_renamer->mode == THUNAR_SBR_NUMBER_MODE_ABC) { /* "start" property must be 'a', 'b', 'c', etc. */ invalid = (strlen (number_renamer->start) != 1 || g_ascii_tolower (*number_renamer->start) < 'a' || g_ascii_tolower (*number_renamer->start) > 'z'); } /* check if the start entry is realized */ if (GTK_WIDGET_REALIZED (number_renamer->start_entry)) { /* check if the "start" value is valid */ if (G_UNLIKELY (invalid)) { /* if GTK+ wouldn't be that stupid with style properties and * type plugins, this would be themable, but unfortunately * GTK+ is totally broken, and so it's hardcoded. */ gdk_color_parse ("#ff6666", &back); gdk_color_parse ("White", &text); /* setup a red background/text color to indicate the error */ gtk_widget_modify_base (number_renamer->start_entry, GTK_STATE_NORMAL, &back); gtk_widget_modify_text (number_renamer->start_entry, GTK_STATE_NORMAL, &text); } else { /* reset background/text color */ gtk_widget_modify_base (number_renamer->start_entry, GTK_STATE_NORMAL, NULL); gtk_widget_modify_text (number_renamer->start_entry, GTK_STATE_NORMAL, NULL); } } /* notify everybody that we have a new state */ thunarx_renamer_changed (THUNARX_RENAMER (number_renamer)); }
/** * thunar_sbr_insert_renamer_set_offset_mode: * @insert_renamer : a #ThunarSbrInsertRenamer. * @offset_mode : the new offset mode for @insert_renamer. * * Sets the offset mode for @insert_renamer to @offset_mode. **/ void thunar_sbr_insert_renamer_set_offset_mode (ThunarSbrInsertRenamer *insert_renamer, ThunarSbrOffsetMode offset_mode) { g_return_if_fail (THUNAR_SBR_IS_INSERT_RENAMER (insert_renamer)); /* check if we have a new setting */ if (G_LIKELY (insert_renamer->offset_mode != offset_mode)) { /* apply the new setting */ insert_renamer->offset_mode = offset_mode; /* update the renamer */ thunarx_renamer_changed (THUNARX_RENAMER (insert_renamer)); /* notify listeners */ g_object_notify (G_OBJECT (insert_renamer), "offset-mode"); } }
/** * thunar_sbr_insert_renamer_set_offset: * @insert_renamer : a #ThunarSbrInsertRenamer. * @offset : the new offset for @insert_renamer. * * Sets the offset for @insert_renamer to @offset. **/ void thunar_sbr_insert_renamer_set_offset (ThunarSbrInsertRenamer *insert_renamer, guint offset) { g_return_if_fail (THUNAR_SBR_IS_INSERT_RENAMER (insert_renamer)); /* check if we have a new offset */ if (G_LIKELY (insert_renamer->offset != offset)) { /* apply the new offset */ insert_renamer->offset = offset; /* update the renamer */ thunarx_renamer_changed (THUNARX_RENAMER (insert_renamer)); /* notify listeners */ g_object_notify (G_OBJECT (insert_renamer), "offset"); } }
/** * thunar_sbr_insert_renamer_set_text: * @insert_renamer : a #ThunarSbrInsertRenamer. * @text : the new text for @insert_renamer. * * Sets the text for @insert_renamer to @text. **/ void thunar_sbr_insert_renamer_set_text (ThunarSbrInsertRenamer *insert_renamer, const gchar *text) { g_return_if_fail (THUNAR_SBR_IS_INSERT_RENAMER (insert_renamer)); /* check if we have a new text */ if (G_LIKELY (!exo_str_is_equal (insert_renamer->text, text))) { /* apply the new text */ g_free (insert_renamer->text); insert_renamer->text = g_strdup (text); /* update the renamer */ thunarx_renamer_changed (THUNARX_RENAMER (insert_renamer)); /* notify listeners */ g_object_notify (G_OBJECT (insert_renamer), "text"); } }
/** * thunar_sbr_replace_renamer_set_replacement: * @replace_renamer : a #ThunarSbrReplaceRenamer. * @replacement : the new replacement. * * Sets the replacement of @replace_renamer to @replacement. **/ void thunar_sbr_replace_renamer_set_replacement (ThunarSbrReplaceRenamer *replace_renamer, const gchar *replacement) { g_return_if_fail (THUNAR_SBR_IS_REPLACE_RENAMER (replace_renamer)); g_return_if_fail (g_utf8_validate (replacement, -1, NULL)); /* check if we have a new replacement */ if (!exo_str_is_equal (replace_renamer->replacement, replacement)) { /* apply the setting */ g_free (replace_renamer->replacement); replace_renamer->replacement = g_strdup (replacement); /* update the renamer */ thunarx_renamer_changed (THUNARX_RENAMER (replace_renamer)); /* notify listeners */ g_object_notify (G_OBJECT (replace_renamer), "replacement"); } }