diff --git a/release/datafiles/icons_svg/mod_brightness_contrast.svg b/release/datafiles/icons_svg/mod_brightness_contrast.svg new file mode 100644 index 00000000000..8ef9da7334c --- /dev/null +++ b/release/datafiles/icons_svg/mod_brightness_contrast.svg @@ -0,0 +1,21 @@ + + + + + + diff --git a/release/datafiles/icons_svg/mod_color_balance.svg b/release/datafiles/icons_svg/mod_color_balance.svg new file mode 100644 index 00000000000..155fb5599ad --- /dev/null +++ b/release/datafiles/icons_svg/mod_color_balance.svg @@ -0,0 +1,28 @@ + + + + + + + + + diff --git a/release/datafiles/icons_svg/mod_curves.svg b/release/datafiles/icons_svg/mod_curves.svg new file mode 100644 index 00000000000..821fb20cebe --- /dev/null +++ b/release/datafiles/icons_svg/mod_curves.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/release/datafiles/icons_svg/mod_hue_correct.svg b/release/datafiles/icons_svg/mod_hue_correct.svg new file mode 100644 index 00000000000..bf6e590929b --- /dev/null +++ b/release/datafiles/icons_svg/mod_hue_correct.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + diff --git a/release/datafiles/icons_svg/mod_tonemap.svg b/release/datafiles/icons_svg/mod_tonemap.svg new file mode 100644 index 00000000000..02f87800d9f --- /dev/null +++ b/release/datafiles/icons_svg/mod_tonemap.svg @@ -0,0 +1,31 @@ + + + + + + + + + + diff --git a/release/datafiles/icons_svg/mod_white_balance.svg b/release/datafiles/icons_svg/mod_white_balance.svg new file mode 100644 index 00000000000..2096186bf28 --- /dev/null +++ b/release/datafiles/icons_svg/mod_white_balance.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/scripts/startup/bl_ui/space_sequencer.py b/scripts/startup/bl_ui/space_sequencer.py index dcedeac2d3f..183c09c5e0e 100644 --- a/scripts/startup/bl_ui/space_sequencer.py +++ b/scripts/startup/bl_ui/space_sequencer.py @@ -1546,6 +1546,10 @@ class SEQUENCER_MT_modifier_add(Menu): bl_label = "Add Modifier" bl_options = {'SEARCH_ON_KEY_PRESS'} + MODIFIER_TYPES_TO_ICONS = { + enum_it.identifier: enum_it.icon + for enum_it in bpy.types.StripModifier.bl_rna.properties["type"].enum_items_static + } MODIFIER_TYPES_TO_LABELS = { enum_it.identifier: enum_it.name for enum_it in bpy.types.StripModifier.bl_rna.properties["type"].enum_items_static @@ -1560,7 +1564,7 @@ class SEQUENCER_MT_modifier_add(Menu): # Although these are operators, the label actually comes from an (enum) property, # so the property's translation context must be used here. text_ctxt=cls.MODIFIER_TYPES_I18N_CONTEXT, - icon='NONE', + icon=cls.MODIFIER_TYPES_TO_ICONS[mod_type], ).type = mod_type def draw(self, context): diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index c15ec57bddd..f4456b77b76 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -566,10 +566,13 @@ if(WITH_BLENDER) mod_array mod_bevel mod_boolean + mod_brightness_contrast mod_build mod_cast mod_cloth + mod_color_balance mod_curve + mod_curves mod_dash mod_data_transfer mod_decim @@ -580,6 +583,7 @@ if(WITH_BLENDER) mod_explode mod_fluid mod_fluidsim + mod_hue_correct mod_hue_saturation mod_instance mod_lattice @@ -611,11 +615,13 @@ if(WITH_BLENDER) mod_thickness mod_time mod_tint + mod_tonemap mod_triangulate mod_uvproject mod_vertex_weight mod_warp mod_wave + mod_white_balance mod_wireframe monkey mouse_lmb diff --git a/source/blender/editors/include/UI_icons.hh b/source/blender/editors/include/UI_icons.hh index 69f08bd8aab..20cd08bc25e 100644 --- a/source/blender/editors/include/UI_icons.hh +++ b/source/blender/editors/include/UI_icons.hh @@ -807,6 +807,14 @@ DEF_ICON(SEQ_SPLITVIEW) DEF_ICON(SEQ_STRIP_DUPLICATE) DEF_ICON(SEQ_STRIP_META) +/* Modifiers. */ +DEF_ICON_MODIFIER(MOD_BRIGHTNESS_CONTRAST) +DEF_ICON_MODIFIER(MOD_COLOR_BALANCE) +DEF_ICON_MODIFIER(MOD_CURVES) +DEF_ICON_MODIFIER(MOD_HUE_CORRECT) +DEF_ICON_MODIFIER(MOD_TONEMAP) +DEF_ICON_MODIFIER(MOD_WHITE_BALANCE) + /* IMAGE EDITOR */ DEF_ICON(IMAGE_ALPHA) DEF_ICON(IMAGE_RGB_ALPHA) diff --git a/source/blender/makesrna/intern/rna_sequencer.cc b/source/blender/makesrna/intern/rna_sequencer.cc index f3a83bd30d6..142aa511e81 100644 --- a/source/blender/makesrna/intern/rna_sequencer.cc +++ b/source/blender/makesrna/intern/rna_sequencer.cc @@ -42,13 +42,13 @@ struct EffectInfo { /* These wrap strangely, disable formatting for fixed indentation and wrapping. */ /* clang-format off */ #define RNA_ENUM_SEQUENCER_VIDEO_MODIFIER_TYPE_ITEMS \ - {eSeqModifierType_BrightContrast, "BRIGHT_CONTRAST", ICON_NONE, "Brightness/Contrast", ""}, \ - {eSeqModifierType_ColorBalance, "COLOR_BALANCE", ICON_NONE, "Color Balance", ""}, \ - {eSeqModifierType_Curves, "CURVES", ICON_NONE, "Curves", ""}, \ - {eSeqModifierType_HueCorrect, "HUE_CORRECT", ICON_NONE, "Hue Correct", ""}, \ - {eSeqModifierType_Mask, "MASK", ICON_NONE, "Mask", ""}, \ - {eSeqModifierType_Tonemap, "TONEMAP", ICON_NONE, "Tone Map", ""}, \ - {eSeqModifierType_WhiteBalance, "WHITE_BALANCE", ICON_NONE, "White Balance", ""} + {eSeqModifierType_BrightContrast, "BRIGHT_CONTRAST", ICON_MOD_BRIGHTNESS_CONTRAST, "Brightness/Contrast", ""}, \ + {eSeqModifierType_ColorBalance, "COLOR_BALANCE", ICON_MOD_COLOR_BALANCE, "Color Balance", ""}, \ + {eSeqModifierType_Curves, "CURVES", ICON_MOD_CURVES, "Curves", ""}, \ + {eSeqModifierType_HueCorrect, "HUE_CORRECT", ICON_MOD_HUE_CORRECT, "Hue Correct", ""}, \ + {eSeqModifierType_Mask, "MASK", ICON_MOD_MASK, "Mask", ""}, \ + {eSeqModifierType_Tonemap, "TONEMAP", ICON_MOD_TONEMAP, "Tone Map", ""}, \ + {eSeqModifierType_WhiteBalance, "WHITE_BALANCE", ICON_MOD_WHITE_BALANCE, "White Balance", ""} #define RNA_ENUM_SEQUENCER_AUDIO_MODIFIER_TYPE_ITEMS \ {eSeqModifierType_SoundEqualizer, "SOUND_EQUALIZER", ICON_NONE, "Sound Equalizer", ""} @@ -3887,6 +3887,7 @@ static void rna_def_colorbalance_modifier(BlenderRNA *brna) PropertyRNA *prop; srna = RNA_def_struct(brna, "ColorBalanceModifier", "StripModifier"); + RNA_def_struct_ui_icon(srna, ICON_MOD_COLOR_BALANCE); RNA_def_struct_sdna(srna, "ColorBalanceModifierData"); RNA_def_struct_ui_text( srna, "ColorBalanceModifier", "Color balance modifier for sequence strip"); @@ -3911,6 +3912,7 @@ static void rna_def_whitebalance_modifier(BlenderRNA *brna) srna = RNA_def_struct(brna, "WhiteBalanceModifier", "StripModifier"); RNA_def_struct_sdna(srna, "WhiteBalanceModifierData"); + RNA_def_struct_ui_icon(srna, ICON_MOD_WHITE_BALANCE); RNA_def_struct_ui_text( srna, "WhiteBalanceModifier", "White balance modifier for sequence strip"); @@ -3930,6 +3932,7 @@ static void rna_def_curves_modifier(BlenderRNA *brna) srna = RNA_def_struct(brna, "CurvesModifier", "StripModifier"); RNA_def_struct_sdna(srna, "CurvesModifierData"); + RNA_def_struct_ui_icon(srna, ICON_MOD_CURVES); RNA_def_struct_ui_text(srna, "CurvesModifier", "RGB curves modifier for sequence strip"); prop = RNA_def_property(srna, "curve_mapping", PROP_POINTER, PROP_NONE); @@ -3948,6 +3951,7 @@ static void rna_def_hue_modifier(BlenderRNA *brna) srna = RNA_def_struct(brna, "HueCorrectModifier", "StripModifier"); RNA_def_struct_sdna(srna, "HueCorrectModifierData"); + RNA_def_struct_ui_icon(srna, ICON_MOD_HUE_CORRECT); RNA_def_struct_ui_text(srna, "HueCorrectModifier", "Hue correction modifier for sequence strip"); prop = RNA_def_property(srna, "curve_mapping", PROP_POINTER, PROP_NONE); @@ -3963,6 +3967,7 @@ static void rna_def_mask_modifier(BlenderRNA *brna) { StructRNA *srna; srna = RNA_def_struct(brna, "MaskStripModifier", "StripModifier"); + RNA_def_struct_ui_icon(srna, ICON_MOD_MASK); RNA_def_struct_ui_text(srna, "Mask Modifier", "Mask modifier for sequence strip"); /* Mask properties are part of #rna_def_modifier. */ @@ -3974,6 +3979,7 @@ static void rna_def_brightcontrast_modifier(BlenderRNA *brna) PropertyRNA *prop; srna = RNA_def_struct(brna, "BrightContrastModifier", "StripModifier"); + RNA_def_struct_ui_icon(srna, ICON_MOD_BRIGHTNESS_CONTRAST); RNA_def_struct_sdna(srna, "BrightContrastModifierData"); RNA_def_struct_ui_text( srna, "BrightContrastModifier", "Bright/contrast modifier data for sequence strip"); @@ -4006,6 +4012,7 @@ static void rna_def_tonemap_modifier(BlenderRNA *brna) srna = RNA_def_struct(brna, "SequencerTonemapModifierData", "StripModifier"); RNA_def_struct_sdna(srna, "SequencerTonemapModifierData"); + RNA_def_struct_ui_icon(srna, ICON_MOD_TONEMAP); RNA_def_struct_ui_text(srna, "SequencerTonemapModifierData", "Tone mapping modifier"); prop = RNA_def_property(srna, "tonemap_type", PROP_ENUM, PROP_NONE);