Fix T46909: Text strip not themeable
authorJulian Eisel <eiseljulian@gmail.com>
Tue, 1 Dec 2015 22:56:48 +0000 (23:56 +0100)
committerJulian Eisel <eiseljulian@gmail.com>
Tue, 1 Dec 2015 23:01:36 +0000 (00:01 +0100)
Normally we don't allow adding new theme options if we can avoid it, but this is a legit exception since all other strips are themeable.

Default color for text strip is now yellow-ish. Not nice but there are also not many other colors left.

source/blender/blenkernel/BKE_blender.h
source/blender/blenloader/intern/versioning_270.c
source/blender/editors/include/UI_resources.h
source/blender/editors/interface/resources.c
source/blender/editors/space_sequencer/sequencer_draw.c
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesrna/intern/rna_userdef.c

index 607f2a989392fe9b4aa759f9b1c56a794e8265b2..8734eac8f24951163a7f61b056c523611f76c95f 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION         276
-#define BLENDER_SUBVERSION      2
+#define BLENDER_SUBVERSION      3
 /* Several breakages with 270, e.g. constraint deg vs rad */
 #define BLENDER_MINVERSION      270
 #define BLENDER_MINSUBVERSION   5
index b5199e123c6693c894141b7bf5507464134c1df7..a0248d5a97c602397bbee88055a1a2db1e3e1b50 100644 (file)
@@ -920,7 +920,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main)
 
        }
 
-       {
+       if (!MAIN_VERSION_ATLEAST(main, 276, 3)) {
                if (!DNA_struct_elem_find(fd->filesdna, "RenderData", "CurveMapping", "mblur_shutter_curve")) {
                        Scene *scene;
                        for (scene = main->scene.first; scene != NULL; scene = scene->id.next) {
index cd68425cc331ae697cb418c9821ccf58aebf5f98..dc8439522293ff48710f66ee1abbda0ab7e971e8 100644 (file)
@@ -200,8 +200,9 @@ enum {
        TH_SEQ_EFFECT,
        TH_SEQ_TRANSITION,
        TH_SEQ_META,
+       TH_SEQ_TEXT,
        TH_SEQ_PREVIEW,
-       
+
        TH_EDGE_SHARP,
        TH_EDITMESH_ACTIVE,
        
index 294aa6ce2ac3636ac7361d0d597ebf3383c95642..5fb1afac34f2c58bdfb085ff70802d64a7e46da9 100644 (file)
@@ -492,6 +492,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
                                        cp = ts->transition; break;
                                case TH_SEQ_META:
                                        cp = ts->meta; break;
+                               case TH_SEQ_TEXT:
+                                       cp = ts->text_strip; break;
                                case TH_SEQ_PREVIEW:
                                        cp = ts->preview_back; break;
 
@@ -1062,6 +1064,7 @@ void ui_theme_init_default(void)
        rgba_char_args_set(btheme->tseq.effect,     169, 84, 124, 255);
        rgba_char_args_set(btheme->tseq.transition, 162, 95, 111, 255);
        rgba_char_args_set(btheme->tseq.meta,   109, 145, 131, 255);
+       rgba_char_args_set(btheme->tseq.text_strip,   162, 151, 0, 255);
        rgba_char_args_set(btheme->tseq.preview_back,   0, 0, 0, 255);
        rgba_char_args_set(btheme->tseq.grid,   64, 64, 64, 255);
 
@@ -2668,6 +2671,13 @@ void init_userdef_do_versions(void)
                }
        }
 
+       if (!USER_VERSION_ATLEAST(276, 3)) {
+               bTheme *btheme;
+               for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+                       rgba_char_args_set(btheme->tseq.text_strip, 162, 151, 0, 255);
+               }
+       }
+
        if (U.pixelsize == 0.0f)
                U.pixelsize = 1.0f;
        
index 6c76dbd5149b50ae2eb81f29a3a90c972ec42fe6..e9539bcc4c98803cde8a33584461743759c7b7af 100644 (file)
@@ -177,7 +177,11 @@ void color3ubv_from_seq(Scene *curscene, Sequence *seq, unsigned char col[3])
                        blendcol[0] = blendcol[1] = blendcol[2] = 128;
                        if (seq->flag & SEQ_MUTE) UI_GetColorPtrBlendShade3ubv(col, blendcol, col, 0.5, 20);
                        break;
-               
+
+               case SEQ_TYPE_TEXT:
+                       UI_GetThemeColor3ubv(TH_SEQ_TEXT, col);
+                       break;
+
                default:
                        col[0] = 10; col[1] = 255; col[2] = 40;
                        break;
index f0b8e04821a2078e53fea523b26597fcd02b42cc..af1dfc62894fff9d4871a03c684699872202bb59 100644 (file)
@@ -284,7 +284,7 @@ typedef struct ThemeSpace {
        char nodeclass_pattern[4], nodeclass_layout[4];
        
        char movie[4], movieclip[4], mask[4], image[4], scene[4], audio[4];             /* for sequence editor */
-       char effect[4], transition[4], meta[4];
+       char effect[4], transition[4], meta[4], text_strip[4], pad[4];
        char editmesh_active[4]; 
 
        char handle_vertex[4];
index 34768cfe3d0239447263d14d01f88091777cee39..f8bf6d12347fe937a67ddb20fea871ffa8705442 100644 (file)
@@ -2548,6 +2548,11 @@ static void rna_def_userdef_theme_space_seq(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Meta Strip", "");
        RNA_def_property_update(prop, 0, "rna_userdef_update");
 
+       prop = RNA_def_property(srna, "text_strip", PROP_FLOAT, PROP_COLOR_GAMMA);
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Text Strip", "");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
        prop = RNA_def_property(srna, "frame_current", PROP_FLOAT, PROP_COLOR_GAMMA);
        RNA_def_property_float_sdna(prop, NULL, "cframe");
        RNA_def_property_array(prop, 3);