diff --git a/plugins/thunar-sbr/thunar-sbr-number-renamer.c b/plugins/thunar-sbr/thunar-sbr-number-renamer.c index 4b816642976a3579daf8707daf94f80ab28181db..1b4b1b267f25c467df9e3188ca38b7024cf857f5 100644 --- a/plugins/thunar-sbr/thunar-sbr-number-renamer.c +++ b/plugins/thunar-sbr/thunar-sbr-number-renamer.c @@ -467,10 +467,8 @@ thunar_sbr_number_renamer_process (ThunarxRenamer *renamer, static void thunar_sbr_number_renamer_update (ThunarSbrNumberRenamer *number_renamer) { - gboolean invalid = TRUE; - GdkColor back; - GdkColor text; - gchar *endp; + gboolean invalid = TRUE; + gchar *endp; /* check whether "start" is valid for the "mode" */ if (number_renamer->mode < THUNAR_SBR_NUMBER_MODE_ABC) @@ -490,26 +488,11 @@ thunar_sbr_number_renamer_update (ThunarSbrNumberRenamer *number_renamer) /* check if the start entry is realized */ if (gtk_widget_get_realized (number_renamer->start_entry)) { - /* check if the "start" value is valid */ + /* highlight invalid input by using theme specific colors */ 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); - } + gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (number_renamer->start_entry)), "error"); 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); - } + gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (number_renamer->start_entry)), "error"); } /* notify everybody that we have a new state */ diff --git a/plugins/thunar-sbr/thunar-sbr-remove-renamer.c b/plugins/thunar-sbr/thunar-sbr-remove-renamer.c index 373da48b0dd939774ccbeed1bce0fb2d0fae35c8..2f961e57f35b9c57f10fdb83956e18c82b299d00 100644 --- a/plugins/thunar-sbr/thunar-sbr-remove-renamer.c +++ b/plugins/thunar-sbr/thunar-sbr-remove-renamer.c @@ -368,10 +368,8 @@ thunar_sbr_remove_renamer_process (ThunarxRenamer *renamer, static void thunar_sbr_remove_renamer_update (ThunarSbrRemoveRenamer *remove_renamer) { - GdkColor back; - GdkColor text; - guint start_offset; - guint end_offset; + guint start_offset; + guint end_offset; /* check if the renamer is realized */ if (gtk_widget_get_realized (GTK_WIDGET (remove_renamer))) @@ -381,28 +379,17 @@ thunar_sbr_remove_renamer_update (ThunarSbrRemoveRenamer *remove_renamer) ? remove_renamer->end_offset : (G_MAXUINT - remove_renamer->end_offset); start_offset = (remove_renamer->start_offset_mode == THUNAR_SBR_OFFSET_MODE_LEFT) ? remove_renamer->start_offset : (G_MAXUINT - remove_renamer->start_offset); + + /* highlight invalid input by using theme specific colors */ if (G_UNLIKELY (start_offset >= end_offset)) { - /* 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 (remove_renamer->end_spinner, GTK_STATE_NORMAL, &back); - gtk_widget_modify_text (remove_renamer->end_spinner, GTK_STATE_NORMAL, &text); - gtk_widget_modify_base (remove_renamer->start_spinner, GTK_STATE_NORMAL, &back); - gtk_widget_modify_text (remove_renamer->start_spinner, GTK_STATE_NORMAL, &text); + gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (remove_renamer->start_spinner)), "error"); + gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (remove_renamer->end_spinner)), "error"); } else { - /* reset background/text colors */ - gtk_widget_modify_base (remove_renamer->end_spinner, GTK_STATE_NORMAL, NULL); - gtk_widget_modify_text (remove_renamer->end_spinner, GTK_STATE_NORMAL, NULL); - gtk_widget_modify_base (remove_renamer->start_spinner, GTK_STATE_NORMAL, NULL); - gtk_widget_modify_text (remove_renamer->start_spinner, GTK_STATE_NORMAL, NULL); + gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (remove_renamer->start_spinner)), "error"); + gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (remove_renamer->end_spinner)), "error"); } } diff --git a/plugins/thunar-sbr/thunar-sbr-replace-renamer.c b/plugins/thunar-sbr/thunar-sbr-replace-renamer.c index 71d27a9cfa76953654ef755033badfe0776075dd..062357c1ccbcd6cd4a6234f7d88285bf87019a1c 100644 --- a/plugins/thunar-sbr/thunar-sbr-replace-renamer.c +++ b/plugins/thunar-sbr/thunar-sbr-replace-renamer.c @@ -569,8 +569,6 @@ static void thunar_sbr_replace_renamer_pcre_update (ThunarSbrReplaceRenamer *replace_renamer) { const gchar *error_message = NULL; - GdkColor back; - GdkColor text; gchar *tooltip; gchar *message; glong offset; @@ -618,16 +616,8 @@ thunar_sbr_replace_renamer_pcre_update (ThunarSbrReplaceRenamer *replace_renamer /* check if the entry is realized */ if (gtk_widget_get_realized (replace_renamer->pattern_entry)) { - /* 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 (replace_renamer->pattern_entry, GTK_STATE_NORMAL, &back); - gtk_widget_modify_text (replace_renamer->pattern_entry, GTK_STATE_NORMAL, &text); + /* highlight invalid input by using theme-specific colors */ + gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (replace_renamer->pattern_entry)), "error"); } } else @@ -635,9 +625,8 @@ thunar_sbr_replace_renamer_pcre_update (ThunarSbrReplaceRenamer *replace_renamer /* check if the entry is realized */ if (gtk_widget_get_realized (replace_renamer->pattern_entry)) { - /* reset background/text color */ - gtk_widget_modify_base (replace_renamer->pattern_entry, GTK_STATE_NORMAL, NULL); - gtk_widget_modify_text (replace_renamer->pattern_entry, GTK_STATE_NORMAL, NULL); + /* stop highlight of invalid input if any */ + gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (replace_renamer->pattern_entry)), "error"); } /* reset to default tooltip */