Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Thu, 26 Jul 2018 03:50:56 +0000 (13:50 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 26 Jul 2018 04:45:14 +0000 (14:45 +1000)
16 files changed:
1  2 
source/blender/editors/gpencil/gpencil_convert.c
source/blender/editors/include/UI_interface.h
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/mesh/editmesh_tools.c
source/blender/editors/object/object_data_transfer.c
source/blender/editors/object/object_relations.c
source/blender/editors/screen/screendump.c
source/blender/editors/sound/sound_ops.c
source/blender/editors/space_file/file_panels.c
source/blender/editors/space_image/image_ops.c
source/blender/editors/space_sequencer/sequencer_add.c
source/blender/makesrna/RNA_access.h
source/blender/makesrna/intern/rna_access.c
source/blender/windowmanager/WM_types.h
source/blender/windowmanager/intern/wm_operators.c

index ccdbcba71f94e3544001cf334c9f1d01481a6e10,d6cb36d7fcd3f8c764e544c1926d757668ae5317..c97c72e17c562d38adc01cd18a416bc2df176c19
@@@ -1455,7 -1444,7 +1455,7 @@@ static void gp_convert_ui(bContext *C, 
        RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
  
        /* Main auto-draw call */
-       uiDefAutoButsRNA(layout, &ptr, gp_convert_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, gp_convert_draw_check_prop, NULL, '\0');
++      uiDefAutoButsRNA(layout, &ptr, gp_convert_draw_check_prop, NULL, '\0', false);
  }
  
  void GPENCIL_OT_convert(wmOperatorType *ot)
index 087e0c4ab7b45af1dffb54eba1eaed500473b7cd,f2aad249df3dfe450de0451bfd5d74e5c6437f64..b4756eaed0f605832eca7da687a352c270a3a1c7
@@@ -750,30 -702,22 +750,30 @@@ uiBut *uiDefSearchButO_ptr
          void *arg, int retval, int icon, int maxlen, int x, int y,
          short width, short height, float a1, float a2, const char *tip);
  
 -uiBut *uiDefAutoButR(uiBlock *block, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, const char *name, int icon, int x1, int y1, int x2, int y2);
  
 -int uiDefAutoButsRNA(
 +/* For uiDefAutoButsRNA */
 +typedef enum {
 +      /* Keep current layout for aligning label with property button. */
 +      UI_BUT_LABEL_ALIGN_NONE,
 +      /* Align label and property button vertically. */
 +      UI_BUT_LABEL_ALIGN_COLUMN,
 +      /* Split layout into a column for the label and one for property button. */
 +      UI_BUT_LABEL_ALIGN_SPLIT_COLUMN,
 +} eButLabelAlign;
 +
 +/* Return info for uiDefAutoButsRNA */
 +typedef enum {
 +      /* Returns when no buttons were added */
 +      UI_PROP_BUTS_NONE_ADDED       = (1 << 0),
 +      /* Returned when any property failed the custom check callback (check_prop) */
 +      UI_PROP_BUTS_ANY_FAILED_CHECK = (1 << 1),
 +} eAutoPropButsReturn;
 +
 +uiBut *uiDefAutoButR(uiBlock *block, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, const char *name, int icon, int x1, int y1, int x2, int y2);
 +eAutoPropButsReturn uiDefAutoButsRNA(
          uiLayout *layout, struct PointerRNA *ptr,
-         bool (*check_prop)(struct PointerRNA *, struct PropertyRNA *),
+         bool (*check_prop)(struct PointerRNA *ptr, struct PropertyRNA *prop, void *user_data), void *user_data,
 -        const char label_align);
 -
 -/* Links
 - *
 - * Game engine logic brick links. Non-functional currently in 2.5,
 - * code to handle and draw these is disabled internally. */
 -
 -void UI_but_link_set(struct uiBut *but,  void **poin,  void ***ppoin,  short *tot,  int from, int to);
 -
 -void UI_block_links_compose(uiBlock *block);
 -uiBut *UI_block_links_find_inlink(uiBlock *block, void *poin);
 +        eButLabelAlign label_align, const bool compact);
  
  /* use inside searchfunc to add items */
  bool    UI_search_item_add(uiSearchItems *items, const char *name, void *poin, int iconid);
@@@ -926,16 -865,10 +926,17 @@@ void UI_exit(void)
  #define UI_ITEM_R_NO_BG         (1 << 7)
  #define UI_ITEM_R_IMMEDIATE     (1 << 8)
  #define UI_ITEM_O_DEPRESS       (1 << 9)
 +#define UI_ITEM_R_COMPACT       (1 << 10)
  
 -/* uiTemplateOperatorPropertyButs flags */
 -#define UI_TEMPLATE_OP_PROPS_SHOW_TITLE 1
 -#define UI_TEMPLATE_OP_PROPS_SHOW_EMPTY 2
 +#define UI_HEADER_OFFSET ((void)0, 0.2f * UI_UNIT_X)
 +
 +/* uiLayoutOperatorButs flags */
 +enum {
 +      UI_TEMPLATE_OP_PROPS_SHOW_TITLE       = (1 << 0),
 +      UI_TEMPLATE_OP_PROPS_SHOW_EMPTY       = (1 << 1),
 +      UI_TEMPLATE_OP_PROPS_COMPACT          = (1 << 2),
++      UI_TEMPLATE_OP_PROPS_HIDE_ADVANCED    = (1 << 3),
 +};
  
  /* used for transp checkers */
  #define UI_ALPHA_CHECKER_DARK 100
@@@ -1083,11 -990,9 +1084,10 @@@ void uiTemplateImageInfo(uiLayout *layo
  void uiTemplateRunningJobs(uiLayout *layout, struct bContext *C);
  void UI_but_func_operator_search(uiBut *but);
  void uiTemplateOperatorSearch(uiLayout *layout);
 -void uiTemplateOperatorPropertyButs(
 +eAutoPropButsReturn uiTemplateOperatorPropertyButs(
          const struct bContext *C, uiLayout *layout, struct wmOperator *op,
-         bool (*check_prop)(struct PointerRNA *, struct PropertyRNA *),
 -        const char label_align, const short flag);
 +        const eButLabelAlign label_align, const short flag);
 +void uiTemplateHeader3D_mode(uiLayout *layout, struct bContext *C);
  void uiTemplateHeader3D(uiLayout *layout, struct bContext *C);
  void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C);
  void uiTemplateReportsBanner(uiLayout *layout, struct bContext *C);
index 2dcc18af4ea5416c970d034d010a8f2a62c02d75,9d05819dd6a003f0f6eb829cec1a70430a774665..e60c64a971f6b7c59538006e5d785c44465c883d
@@@ -1539,74 -1156,6 +1539,70 @@@ uiLayout *uiTemplateModifier(uiLayout *
        return NULL;
  }
  
- static bool template_operator_redo_property_buts_poll(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
- {
-       return (RNA_property_tags(prop) & OP_PROP_TAG_ADVANCED) == 0;
- }
 +
 +/************************ Redo Buttons Template *************************/
 +
-                       C, layout, op, r_has_advanced ? template_operator_redo_property_buts_poll : NULL,
-                       UI_BUT_LABEL_ALIGN_NONE, layout_flags);
 +static void template_operator_redo_property_buts_draw(
 +        const bContext *C, wmOperator *op,
 +        uiLayout *layout, int layout_flags,
 +        bool *r_has_advanced)
 +{
 +      if (op->type->flag & OPTYPE_MACRO) {
 +              for (wmOperator *macro_op = op->macro.first; macro_op; macro_op = macro_op->next) {
 +                      template_operator_redo_property_buts_draw(C, macro_op, layout, layout_flags, r_has_advanced);
 +              }
 +      }
 +      else {
 +              /* Might want to make label_align adjustable somehow. */
 +              eAutoPropButsReturn return_info = uiTemplateOperatorPropertyButs(
++                      C, layout, op,
++                      UI_BUT_LABEL_ALIGN_NONE,
++                      layout_flags | (r_has_advanced ? UI_TEMPLATE_OP_PROPS_HIDE_ADVANCED : 0));
 +              if (return_info & UI_PROP_BUTS_ANY_FAILED_CHECK) {
 +                      if (r_has_advanced) {
 +                              *r_has_advanced = true;
 +                      }
 +              }
 +      }
 +}
 +
 +void uiTemplateOperatorRedoProperties(uiLayout *layout, const bContext *C)
 +{
 +      wmOperator *op = WM_operator_last_redo(C);
 +      uiBlock *block = uiLayoutGetBlock(layout);
 +
 +      if (op == NULL) {
 +              return;
 +      }
 +
 +      /* Disable for now, doesn't fit well in popover. */
 +#if 0
 +      /* Repeat button with operator name as text. */
 +      uiItemFullO(layout, "SCREEN_OT_repeat_last", RNA_struct_ui_name(op->type->srna),
 +                  ICON_NONE, NULL, WM_OP_INVOKE_DEFAULT, 0, NULL);
 +#endif
 +
 +      if (WM_operator_repeat_check(C, op)) {
 +              int layout_flags = 0;
 +              if (block->panel == NULL) {
 +                      layout_flags = UI_TEMPLATE_OP_PROPS_SHOW_TITLE;
 +              }
 +#if 0
 +              bool has_advanced = false;
 +#endif
 +
 +              UI_block_func_set(block, ED_undo_operator_repeat_cb, op, NULL);
 +              template_operator_redo_property_buts_draw(C, op, layout, layout_flags, NULL /* &has_advanced */ );
 +              UI_block_func_set(block, NULL, NULL, NULL); /* may want to reset to old state instead of NULLing all */
 +
 +#if 0
 +              if (has_advanced) {
 +                      uiItemO(layout, IFACE_("More..."), ICON_NONE, "SCREEN_OT_redo_last");
 +              }
 +#endif
 +      }
 +}
 +
  /************************ Constraint Template *************************/
  
  #include "DNA_constraint_types.h"
@@@ -3948,18 -3549,26 +3944,35 @@@ static void ui_layout_operator_buts__re
  }
  #endif
  
+ struct uiTemplateOperatorPropertyPollParam {
+       const bContext *C;
+       wmOperator *op;
++      short flag;
+ };
+ static bool ui_layout_operator_buts_poll_property(
+         struct PointerRNA *UNUSED(ptr), struct PropertyRNA *prop, void *user_data)
+ {
+       struct uiTemplateOperatorPropertyPollParam *params = user_data;
++      if ((params->flag & UI_TEMPLATE_OP_PROPS_HIDE_ADVANCED) &&
++          (RNA_property_tags(prop) & OP_PROP_TAG_ADVANCED))
++      {
++              return false;
++      }
+       return params->op->type->poll_property(params->C, params->op, prop);
+ }
  /**
   * Draw Operator property buttons for redoing execution with different settings.
   * This function does not initialize the layout, functions can be called on the layout before and after.
   */
 -void uiTemplateOperatorPropertyButs(
 +eAutoPropButsReturn uiTemplateOperatorPropertyButs(
          const bContext *C, uiLayout *layout, wmOperator *op,
-         bool (*check_prop)(struct PointerRNA *, struct PropertyRNA *),
 -        const char label_align, const short flag)
 +        const eButLabelAlign label_align, const short flag)
  {
 +      uiBlock *block = uiLayoutGetBlock(layout);
 +      eAutoPropButsReturn return_info = 0;
 +
        if (!op->properties) {
                IDPropertyTemplate val = {0};
                op->properties = IDP_New(IDP_GROUP, &val, "wmOperatorProperties");
        else {
                wmWindowManager *wm = CTX_wm_manager(C);
                PointerRNA ptr;
 -              int empty;
 -              struct uiTemplateOperatorPropertyPollParam user_data = {.C = C, .op = op};
++              struct uiTemplateOperatorPropertyPollParam user_data = {.C = C, .op = op, .flag = flag};
++
++
++
++#if 0
++static bool template_operator_redo_property_buts_poll(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
++{
++}
++#endif
++
++
++
++
++
++
  
                RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
  
 +              uiLayoutSetPropSep(layout, true);
 +
                /* main draw call */
-               return_info = uiDefAutoButsRNA(layout, &ptr, check_prop, label_align, (flag & UI_TEMPLATE_OP_PROPS_COMPACT));
 -              empty = uiDefAutoButsRNA(
++              return_info = uiDefAutoButsRNA(
+                       layout, &ptr,
+                       op->type->poll_property ? ui_layout_operator_buts_poll_property : NULL,
+                       op->type->poll_property ? &user_data : NULL,
 -                      label_align) == 0;
++                      label_align, (flag & UI_TEMPLATE_OP_PROPS_COMPACT));
  
 -              if (empty && (flag & UI_TEMPLATE_OP_PROPS_SHOW_EMPTY)) {
 +              if ((return_info & UI_PROP_BUTS_NONE_ADDED) && (flag & UI_TEMPLATE_OP_PROPS_SHOW_EMPTY)) {
                        uiItemL(layout, IFACE_("No Properties"), ICON_NONE);
                }
        }
index d080397c4880c9e7d61a2aeb1d6a8ac5495d393b,2059fc1c849ba1bd5c78d0a266dae8d5fe212751..60aa79e1093fd404c5c95b8c94b6d1ddc7a00a16
@@@ -157,12 -157,11 +157,12 @@@ uiBut *uiDefAutoButR(uiBlock *block, Po
   * \a check_prop callback filters functions to avoid drawing certain properties,
   * in cases where PROP_HIDDEN flag can't be used for a property.
   */
 -int uiDefAutoButsRNA(
 +eAutoPropButsReturn uiDefAutoButsRNA(
          uiLayout *layout, PointerRNA *ptr,
-         bool (*check_prop)(PointerRNA *, PropertyRNA *),
+         bool (*check_prop)(PointerRNA *ptr, PropertyRNA *prop, void *user_data), void *user_data,
 -        const char label_align)
 +        const eButLabelAlign label_align, const bool compact)
  {
 +      eAutoPropButsReturn return_info = UI_PROP_BUTS_NONE_ADDED;
        uiLayout *split, *col;
        int flag;
        const char *name;
        RNA_STRUCT_BEGIN (ptr, prop)
        {
                flag = RNA_property_flag(prop);
 -              if (flag & PROP_HIDDEN || (check_prop && check_prop(ptr, prop, user_data) == 0)) {
 +
 +              if (flag & PROP_HIDDEN) {
 +                      continue;
 +              }
-               if (check_prop && check_prop(ptr, prop) == 0) {
++              if (check_prop && check_prop(ptr, prop, user_data) == 0) {
 +                      return_info |= UI_PROP_BUTS_ANY_FAILED_CHECK;
                        continue;
                }
  
index d7617a14ff34e70dd26a8ae625bd5ae8260db50a,c5c670b77ea44549c1443f04c889d36ca456a2b0..2e971b225d42137e67992f75522145512caff75a
@@@ -6034,7 -5406,7 +6034,7 @@@ static void edbm_sort_elements_ui(bCont
        RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
  
        /* Main auto-draw call. */
-       uiDefAutoButsRNA(layout, &ptr, edbm_sort_elements_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, edbm_sort_elements_draw_check_prop, NULL, '\0');
++      uiDefAutoButsRNA(layout, &ptr, edbm_sort_elements_draw_check_prop, NULL, UI_BUT_LABEL_ALIGN_NONE, false);
  }
  
  void MESH_OT_sort_elements(wmOperatorType *ot)
index f56fd5609460add13f38ee201c4d4384eea43189,44cca58fc5c5206f05a788dcd9756ab60cc6a166..0667a8d96766cc2142f1ede9cbc0e8cc84ba4542
@@@ -522,7 -525,7 +522,7 @@@ static void data_transfer_ui(bContext *
        RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
  
        /* Main auto-draw call */
-       uiDefAutoButsRNA(layout, &ptr, data_transfer_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, data_transfer_draw_check_prop, NULL, '\0');
++      uiDefAutoButsRNA(layout, &ptr, data_transfer_draw_check_prop, NULL, '\0', false);
  }
  
  /* transfers weight from active to selected */
index 52d9c43ea6561d07bf4ac618d6da63b741ffa420,77b5d35db0341c8e07b05cf9f2beee583d8e1e4b..242402635f3348b4959aa12ef732d9b2f803db15
@@@ -972,7 -963,7 +972,7 @@@ static void parent_set_ui(bContext *C, 
        RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
  
        /* Main auto-draw call. */
-       uiDefAutoButsRNA(layout, &ptr, parent_set_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, parent_set_draw_check_prop, NULL, '\0');
++      uiDefAutoButsRNA(layout, &ptr, parent_set_draw_check_prop, NULL, UI_BUT_LABEL_ALIGN_NONE, false);
  }
  
  void OBJECT_OT_parent_set(wmOperatorType *ot)
index afaad3963d577f44c04549380991f5789fab4c01,3ec2078a4d19de87f2851f83dd0bd973703bf72e..9c0c59a7160ce662ab54bf20e75e98b934858fd5
@@@ -266,7 -266,7 +266,7 @@@ static void screenshot_draw(bContext *U
  
        /* main draw call */
        RNA_pointer_create(NULL, op->type->srna, op->properties, &ptr);
-       uiDefAutoButsRNA(layout, &ptr, screenshot_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, screenshot_draw_check_prop, NULL, '\0');
++      uiDefAutoButsRNA(layout, &ptr, screenshot_draw_check_prop, NULL, UI_BUT_LABEL_ALIGN_NONE, false);
  }
  
  static bool screenshot_poll(bContext *C)
index 3fc68a50057648c107ea6ee90acd3d3f6b9bbe50,356a5f8074bd03ce65b47bb6f76154dfcfb59814..15f688549a8a25c08aef34a7a2d7b1e8c1f9be4d
@@@ -482,7 -481,7 +482,7 @@@ static int sound_mixdown_invoke(bContex
  
  #ifdef WITH_AUDASPACE
  
--static bool sound_mixdown_draw_check_prop(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
++static bool sound_mixdown_draw_check_prop(PointerRNA *UNUSED(ptr), PropertyRNA *prop, void *UNUSED(user_data))
  {
        const char *prop_id = RNA_property_identifier(prop);
        return !(STREQ(prop_id, "filepath") ||
@@@ -635,7 -634,7 +635,7 @@@ static void sound_mixdown_draw(bContex
        RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
  
        /* main draw call */
-       uiDefAutoButsRNA(layout, &ptr, sound_mixdown_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, sound_mixdown_draw_check_prop, '\0');
++      uiDefAutoButsRNA(layout, &ptr, sound_mixdown_draw_check_prop, NULL, UI_BUT_LABEL_ALIGN_NONE, false);
  }
  #endif // WITH_AUDASPACE
  
index 812a671ff3397d74fea99e7a62647af8fe3ee105,c5350750af4fc5400c48c18bdad14d1046a60c4d..abe9f173b092ddd126ec24eadbde0d4ed032629a
@@@ -87,9 -79,19 +79,21 @@@ static void file_panel_operator(const b
  
        UI_block_func_set(uiLayoutGetBlock(pa->layout), file_draw_check_cb, NULL, NULL);
  
-       uiTemplateOperatorPropertyButs(C, pa->layout, op, file_panel_check_prop, UI_BUT_LABEL_ALIGN_NONE,
-                                      UI_TEMPLATE_OP_PROPS_SHOW_EMPTY);
+       /* Hack: temporary hide.*/
+       const char *hide[3] = {"filepath", "directory", "filename"};
+       for (int i = 0; i < ARRAY_SIZE(hide); i++) {
+               PropertyRNA *prop = RNA_struct_find_property(op->ptr, "filepath");
+               RNA_def_property_flag(prop, PROP_HIDDEN);
+       }
 -      uiTemplateOperatorPropertyButs(C, pa->layout, op, '\0', UI_TEMPLATE_OP_PROPS_SHOW_EMPTY);
++      uiTemplateOperatorPropertyButs(
++              C, pa->layout, op, UI_BUT_LABEL_ALIGN_NONE,
++              UI_TEMPLATE_OP_PROPS_SHOW_EMPTY);
+       for (int i = 0; i < ARRAY_SIZE(hide); i++) {
+               PropertyRNA *prop = RNA_struct_find_property(op->ptr, "filepath");
+               RNA_def_property_clear_flag(prop, PROP_HIDDEN);
+       }
  
        UI_block_func_set(uiLayoutGetBlock(pa->layout), NULL, NULL, NULL);
  }
index 29d63493a3c5ec8fd0b4753608a4fd96eacc04cf,2a015177dacf0e93dd60e28993aed80c3655240f..be91f7abf99bc0ded10883529557b3f3eb2da3b4
@@@ -1429,7 -1425,7 +1429,7 @@@ static void image_open_draw(bContext *U
  
        /* main draw call */
        RNA_pointer_create(NULL, op->type->srna, op->properties, &ptr);
-       uiDefAutoButsRNA(layout, &ptr, image_open_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, image_open_draw_check_prop, NULL, '\0');
++      uiDefAutoButsRNA(layout, &ptr, image_open_draw_check_prop, NULL, UI_BUT_LABEL_ALIGN_NONE, false);
  
        /* image template */
        RNA_pointer_create(NULL, &RNA_ImageFormatSettings, imf, &imf_ptr);
@@@ -2149,7 -2145,7 +2149,7 @@@ static void image_save_as_draw(bContex
  
        /* main draw call */
        RNA_pointer_create(NULL, op->type->srna, op->properties, &ptr);
-       uiDefAutoButsRNA(layout, &ptr, image_save_as_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, image_save_as_draw_check_prop, NULL, '\0');
++      uiDefAutoButsRNA(layout, &ptr, image_save_as_draw_check_prop, NULL, UI_BUT_LABEL_ALIGN_NONE, false);
  
        /* multiview template */
        if (is_multiview)
index 5d2ceced9045c43881acc91d3f7df48f4a37079d,b3e1d3be42a2d9d530824a7a8bdb27572cb92c61..3cd5bfc3e589ca271865b9c8ced0e62c5c5b6cdf
@@@ -693,7 -693,7 +693,7 @@@ static void sequencer_add_draw(bContex
  
        /* main draw call */
        RNA_pointer_create(NULL, op->type->srna, op->properties, &ptr);
-       uiDefAutoButsRNA(layout, &ptr, sequencer_add_draw_check_prop, UI_BUT_LABEL_ALIGN_NONE, false);
 -      uiDefAutoButsRNA(layout, &ptr, sequencer_add_draw_check_prop, NULL, '\0');
++      uiDefAutoButsRNA(layout, &ptr, sequencer_add_draw_check_prop, NULL, UI_BUT_LABEL_ALIGN_NONE, false);
  
        /* image template */
        RNA_pointer_create(NULL, &RNA_ImageFormatSettings, imf, &imf_ptr);
Simple merge
index e757c7bee529b5e74331f0a49220ad0087888df1,454d7dc57f06a33a63bda1935ee401474b278500..df869ba6b681aae0e208d1a3da31b6417449de21
@@@ -1043,15 -996,13 +1043,17 @@@ static uiBlock *wm_block_create_redo(bC
  
        if (op->type->flag & OPTYPE_MACRO) {
                for (op = op->macro.first; op; op = op->next) {
-                       uiTemplateOperatorPropertyButs(C, layout, op, NULL, UI_BUT_LABEL_ALIGN_SPLIT_COLUMN,
-                                                      UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
 -                      uiTemplateOperatorPropertyButs(C, layout, op, 'H', UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
++                      uiTemplateOperatorPropertyButs(
++                              C, layout, op, UI_BUT_LABEL_ALIGN_SPLIT_COLUMN,
++                              UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
                        if (op->next)
                                uiItemS(layout);
                }
        }
        else {
-               uiTemplateOperatorPropertyButs(C, layout, op, NULL, UI_BUT_LABEL_ALIGN_SPLIT_COLUMN,
-                                              UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
 -              uiTemplateOperatorPropertyButs(C, layout, op, 'H', UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
++              uiTemplateOperatorPropertyButs(
++                      C, layout, op, UI_BUT_LABEL_ALIGN_SPLIT_COLUMN,
++                      UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
        }
  
        UI_block_bounds_set_popup(block, 4, 0, 0);
@@@ -1120,8 -1071,7 +1122,9 @@@ static uiBlock *wm_block_dialog_create(
  
        layout = UI_block_layout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 0, data->width, data->height, 0, style);
  
-       uiTemplateOperatorPropertyButs(C, layout, op, NULL, UI_BUT_LABEL_ALIGN_SPLIT_COLUMN,
-                                      UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
 -      uiTemplateOperatorPropertyButs(C, layout, op, 'H', UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
++      uiTemplateOperatorPropertyButs(
++              C, layout, op, UI_BUT_LABEL_ALIGN_SPLIT_COLUMN,
++              UI_TEMPLATE_OP_PROPS_SHOW_TITLE);
  
        /* clear so the OK button is left alone */
        UI_block_func_set(block, NULL, NULL, NULL);
@@@ -1160,7 -1110,7 +1163,7 @@@ static uiBlock *wm_operator_ui_create(b
        layout = UI_block_layout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 0, data->width, data->height, 0, style);
  
        /* since ui is defined the auto-layout args are not used */
-       uiTemplateOperatorPropertyButs(C, layout, op, NULL, UI_BUT_LABEL_ALIGN_COLUMN, 0);
 -      uiTemplateOperatorPropertyButs(C, layout, op, 'V', 0);
++      uiTemplateOperatorPropertyButs(C, layout, op, UI_BUT_LABEL_ALIGN_COLUMN, 0);
  
        UI_block_func_set(block, NULL, NULL, NULL);