- Bug #1714; editmode undo error when ESC after extrude (missing undopush)

- Curve Join now moves all curves to 2D (if its 2D)
- FGon extrude keeps FGon flags correctly
- After Append undo-push added
- In almost all Ipo editing commands; undo-push added
- Icons in outliner now all consistant grey
- Zoffs button had to 20 high (hmetal :)
This commit is contained in:
Ton Roosendaal 2004-10-31 21:11:03 +00:00
parent b590b8ecba
commit a89a4f531c
10 changed files with 1316 additions and 1294 deletions

@ -146,7 +146,7 @@ typedef enum {
ICON_VPAINT_HLT, ICON_VPAINT_HLT,
ICON_FACESEL_DEHLT, ICON_FACESEL_DEHLT,
ICON_FACESEL_HLT, ICON_FACESEL_HLT,
ICON_BLANK22, ICON_EDIT_DEHLT,
ICON_HELP, ICON_HELP,
ICON_ERROR, ICON_ERROR,
@ -176,7 +176,7 @@ typedef enum {
ICON_FULLTEXTURE, ICON_FULLTEXTURE,
ICON_HOOK, ICON_HOOK,
ICON_DOT, ICON_DOT,
ICON_CKEY, ICON_WORLD_DEHLT,
ICON_CHECKBOX_DEHLT, ICON_CHECKBOX_DEHLT,
ICON_CHECKBOX_HLT, ICON_CHECKBOX_HLT,
ICON_LINK, ICON_LINK,

File diff suppressed because it is too large Load Diff

@ -2734,7 +2734,7 @@ static void material_panel_tramir(Material *ma)
uiDefButF(block, NUMSLI, B_MATPRV, "Fac ", 170,140,140,20, &(ma->fresnel_mir_i), 1.0, 5.0, 10, 2, "Blending factor for Fresnel"); uiDefButF(block, NUMSLI, B_MATPRV, "Fac ", 170,140,140,20, &(ma->fresnel_mir_i), 1.0, 5.0, 10, 2, "Blending factor for Fresnel");
uiBlockBeginAlign(block); uiBlockBeginAlign(block);
uiDefButF(block, NUM, B_DIFF, "Zoffs:", 10,110,100,19, &(ma->zoffs), 0.0, 10.0, 0, 0, "Gives faces an artificial offset in the Z buffer for Ztransp option"); uiDefButF(block, NUM, B_DIFF, "Zoffs:", 10,110,100,20, &(ma->zoffs), 0.0, 10.0, 0, 0, "Gives faces an artificial offset in the Z buffer for Ztransp option");
uiDefButI(block, TOG|BIT|6, B_MATZTRANSP,"ZTransp", 110,110,100,20, &(ma->mode), 0, 0, 0, 0, "Enables Z-Buffering of transparent faces"); uiDefButI(block, TOG|BIT|6, B_MATZTRANSP,"ZTransp", 110,110,100,20, &(ma->mode), 0, 0, 0, 0, "Enables Z-Buffering of transparent faces");
uiDefButI(block, TOG|BIT|17, B_MATRAYTRANSP,"Ray Transp",210,110,100,20, &(ma->mode), 0, 0, 0, 0, "Enables raytracing for transparency rendering"); uiDefButI(block, TOG|BIT|17, B_MATRAYTRANSP,"Ray Transp",210,110,100,20, &(ma->mode), 0, 0, 0, 0, "Enables raytracing for transparency rendering");

@ -4375,8 +4375,7 @@ void draw_object(Base *base)
/* object centers */ /* object centers */
if(G.zbuf) glDisable(GL_DEPTH_TEST); if(G.zbuf) glDisable(GL_DEPTH_TEST);
if(ob==G.obedit); if(ob->type == OB_LAMP) {
else if(ob->type == OB_LAMP) {
if(ob->id.lib) { if(ob->id.lib) {
if(base->flag & SELECT) rect= rectllib_sel; if(base->flag & SELECT) rect= rectllib_sel;
else rect= rectllib_desel; else rect= rectllib_desel;

@ -318,6 +318,7 @@ void make_editNurb()
while(nu) { while(nu) {
newnu= duplicateNurb(nu); newnu= duplicateNurb(nu);
test2DNurb(newnu); // after join, or any other creation of curve
BLI_addtail(&editNurb, newnu); BLI_addtail(&editNurb, newnu);
nu= nu->next; nu= nu->next;
} }

@ -530,7 +530,10 @@ void scale_editipo()
} }
} }
} }
editipo_changed(G.sipo, 1); editipo_changed(G.sipo, 1);
BIF_undo_push("Scale Edit Ipo");
allqueue(REDRAWNLA, 0); allqueue(REDRAWNLA, 0);
allqueue (REDRAWACTION, 0); allqueue (REDRAWACTION, 0);
allqueue(REDRAWIPO, 0); allqueue(REDRAWIPO, 0);
@ -1500,7 +1503,7 @@ void swap_visible_editipo()
} }
scrarea_queue_winredraw(curarea); scrarea_queue_winredraw(curarea);
BIF_undo_push("Swap Visible Ipo");
} }
void deselectall_editipo() void deselectall_editipo()
@ -2115,6 +2118,7 @@ void add_duplicate_editipo()
if(ob && (ob->ipoflag & OB_DRAWKEY)) allqueue(REDRAWVIEW3D, 0); if(ob && (ob->ipoflag & OB_DRAWKEY)) allqueue(REDRAWVIEW3D, 0);
} }
} }
BIF_undo_push("Duplicate Ipo");
transform_ipo('g'); transform_ipo('g');
} }
@ -2595,6 +2599,7 @@ void mouse_select_ipo()
update_editipo_flags(); update_editipo_flags();
force_draw(); force_draw();
BIF_undo_push("Select Ipo");
if(G.sipo->showkey && G.sipo->blocktype==ID_OB) { if(G.sipo->showkey && G.sipo->blocktype==ID_OB) {
ob= OBACT; ob= OBACT;
@ -3202,6 +3207,7 @@ void del_ipo()
} }
} }
BIF_undo_push("Delete Ipo");
allqueue(REDRAWNLA, 0); allqueue(REDRAWNLA, 0);
allqueue (REDRAWACTION, 0); allqueue (REDRAWACTION, 0);
allqueue(REDRAWIPO, 0); allqueue(REDRAWIPO, 0);
@ -3559,6 +3565,7 @@ void insertkey_editipo()
} }
} }
} }
BIF_undo_push("Insert Key Ipo");
allqueue (REDRAWACTION, 0); allqueue (REDRAWACTION, 0);
allqueue(REDRAWNLA, 0); allqueue(REDRAWNLA, 0);
allqueue(REDRAWIPO, 0); allqueue(REDRAWIPO, 0);
@ -3796,6 +3803,8 @@ void common_insertkey()
} }
} }
BIF_undo_push("Insert Key Buttons");
allqueue(REDRAWACTION, 0); allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0); allqueue(REDRAWNLA, 0);
allqueue(REDRAWIPO, 0); allqueue(REDRAWIPO, 0);
@ -3919,13 +3928,12 @@ void common_insertkey()
remake_action_ipos(act); remake_action_ipos(act);
} }
allqueue(REDRAWIPO, 0); allqueue(REDRAWIPO, 0);
allqueue(REDRAWACTION, 0); allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0); allqueue(REDRAWNLA, 0);
} }
else else {
{
while(base) { while(base) {
if TESTBASELIB(base) { if TESTBASELIB(base) {
id= (ID *)(base->object); id= (ID *)(base->object);
@ -3975,6 +3983,7 @@ void common_insertkey()
base= base->next; base= base->next;
} }
} }
BIF_undo_push("Insert Key 3D Window");
allspace(REMAKEIPO, 0); allspace(REMAKEIPO, 0);
allqueue(REDRAWIPO, 0); allqueue(REDRAWIPO, 0);
allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWVIEW3D, 0);
@ -4364,6 +4373,7 @@ void movekey_ipo(int dir) /* only call external from view3d queue */
update_for_newframe(); update_for_newframe();
} }
BIF_undo_push("Move Key");
allqueue(REDRAWNLA, 0); allqueue(REDRAWNLA, 0);
allqueue(REDRAWACTION, 0); allqueue(REDRAWACTION, 0);
allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWVIEW3D, 0);
@ -4419,6 +4429,7 @@ void movekey_obipo(int dir) /* only call external from view3d queue */
update_for_newframe(); update_for_newframe();
} }
BIF_undo_push("Move Key");
allqueue(REDRAWNLA, 0); allqueue(REDRAWNLA, 0);
allqueue(REDRAWACTION, 0); allqueue(REDRAWACTION, 0);
allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWVIEW3D, 0);
@ -4897,7 +4908,8 @@ void transform_ipo(int mode)
} }
calc_ipo(G.sipo->ipo, (float)CFRA); calc_ipo(G.sipo->ipo, (float)CFRA);
} }
else BIF_undo_push("Transform Ipo");
editipo_changed(G.sipo, 1); editipo_changed(G.sipo, 1);
MEM_freeN(transmain); MEM_freeN(transmain);
@ -5157,6 +5169,7 @@ void ipo_record()
editipo_changed(G.sipo, 0); editipo_changed(G.sipo, 0);
do_ipo(G.sipo->ipo); do_ipo(G.sipo->ipo);
waitcursor(0); waitcursor(0);
allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWVIEW3D, 0);
if(sa) scrarea_queue_headredraw(sa); /* headerprint */ if(sa) scrarea_queue_headredraw(sa); /* headerprint */
scrarea_queue_redraw(oldarea); scrarea_queue_redraw(oldarea);
@ -5164,6 +5177,7 @@ void ipo_record()
/* for the time being? */ /* for the time being? */
update_for_newframe(); update_for_newframe();
BIF_undo_push("Ipo Record");
MEM_freeN(data1); MEM_freeN(data1);
MEM_freeN(data2); MEM_freeN(data2);

@ -715,11 +715,11 @@ static short extrudeflag_edge(short flag)
if(efa->v2->vn==NULL) efa->v2->vn= addvertlist(efa->v2->co); if(efa->v2->vn==NULL) efa->v2->vn= addvertlist(efa->v2->co);
if(efa->v3->vn==NULL) efa->v3->vn= addvertlist(efa->v3->co); if(efa->v3->vn==NULL) efa->v3->vn= addvertlist(efa->v3->co);
if(efa->v4 && efa->v4->vn==NULL) efa->v4->vn= addvertlist(efa->v4->co); if(efa->v4 && efa->v4->vn==NULL) efa->v4->vn= addvertlist(efa->v4->co);
/* creases and seams stay on *old* face so no edge copy */
if(efa->v4) if(efa->v4)
addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, efa->v4->vn, efa, NULL); addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, efa->v4->vn, efa, efa);
else else
addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, NULL, efa, NULL); addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, NULL, efa, efa);
/* if *one* selected face has edge with unselected face; remove old selected faces */ /* if *one* selected face has edge with unselected face; remove old selected faces */
if(efa->e1->f2 || efa->e2->f2 || efa->e3->f2 || (efa->e4 && efa->e4->f2)) if(efa->e1->f2 || efa->e2->f2 || efa->e3->f2 || (efa->e4 && efa->e4->f2))

@ -6634,7 +6634,8 @@ void transform(int mode)
tottrans= 0; tottrans= 0;
/* undo after transform, since it's storing current situations */ /* undo after transform, since it's storing current situations */
if(canceled==0) /* extrude has no own undo-push, so on cancel we still insert it */
if(canceled==0 || strcmp(undostr, "Extrude")==0)
BIF_undo_push(undostr); BIF_undo_push(undostr);
} }

@ -1486,7 +1486,7 @@ static void filesel_execute(SpaceFile *sfile)
if(sfile->type==FILE_LOADLIB) { if(sfile->type==FILE_LOADLIB) {
do_library_append(sfile); do_library_append(sfile);
BIF_undo_push("Append from file");
allqueue(REDRAWALL, 1); allqueue(REDRAWALL, 1);
} }
else if(sfile->returnfunc) { else if(sfile->returnfunc) {

@ -1836,9 +1836,9 @@ static void tselem_draw_icon(TreeStoreElem *tselem)
case ID_CA: case ID_CA:
BIF_draw_icon(ICON_CAMERA_DEHLT); break; BIF_draw_icon(ICON_CAMERA_DEHLT); break;
case ID_KE: case ID_KE:
BIF_draw_icon(ICON_EDIT); break; BIF_draw_icon(ICON_EDIT_DEHLT); break;
case ID_WO: case ID_WO:
BIF_draw_icon(ICON_WORLD); break; BIF_draw_icon(ICON_WORLD_DEHLT); break;
case ID_AC: case ID_AC:
BIF_draw_icon(ICON_ACTION); break; BIF_draw_icon(ICON_ACTION); break;
case ID_NLA: case ID_NLA: