Index: source/blender/src/editscreen.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/editscreen.c,v retrieving revision 1.158 diff -u -p -u -r1.158 editscreen.c --- source/blender/src/editscreen.c 22 Apr 2007 17:14:23 -0000 1.158 +++ source/blender/src/editscreen.c 24 Apr 2007 06:43:48 -0000 @@ -469,15 +469,6 @@ static void scrarea_change_headertype(Sc winqueue_break= 1; } -static void headmenu(ScrArea *sa) -{ - short val= pupmenu("Header %t|Top%x2|Bottom %x1|No Header %x0"); - - if(val> -1) { - scrarea_change_headertype(sa, val); - } -} - static void addqueue_ext(short win, unsigned short event, short val, char ascii) { if (win<4 || !areawinar[win]) { @@ -541,9 +532,6 @@ static void scrarea_dispatch_header_even case MIDDLEMOUSE: scrollheader(sa); break; - case RIGHTMOUSE: - headmenu(sa); - break; case REDRAW: do_redraw= 1; break; @@ -788,15 +776,32 @@ static void screen_edge_edit_event(ScrAr int edgeop; char str[64] = "Split Area%x1|"; - if(isjoinable(actarea, actedge)) strcat(str, "Join Areas%x2|"); - if (actarea->headertype) strcat(str, "No Header%x3"); - else strcat(str, "Add Header%x3"); + if (isjoinable(actarea, actedge)) strcat(str, "Join Areas%x2|"); + + if (actarea->headertype == HEADERDOWN) + strcat(str, "Set Header Up%x3"); + else if (actarea->headertype == HEADERTOP) + strcat(str, "Set Header Down%x3"); + else if (!actarea->headertype) + strcat(str, "Add Header%x3"); + + if(actarea->headertype) strcat(str, "|Remove Header%x4"); edgeop= pupmenu(str); if (edgeop==1) splitarea_interactive(actarea, actedge); else if (edgeop==2) joinarea_interactive(actarea, actedge); - else if (edgeop==3) scrarea_change_headertype(actarea, - actarea->headertype?0:HEADERDOWN); + else if (edgeop==3) { + if(actarea->headertype == HEADERDOWN) + scrarea_change_headertype(actarea, HEADERTOP); + else if(actarea->headertype == HEADERTOP) + scrarea_change_headertype(actarea, HEADERDOWN); + else if(scredge_is_horizontal(actedge) && actedge->v1->vec.y == actarea->v2->vec.y) + scrarea_change_headertype(actarea, HEADERTOP); + else + scrarea_change_headertype(actarea, HEADERDOWN); + } + else if (edgeop==4) + scrarea_change_headertype(actarea, 0); } else blenderqread(evt, val); // global hotkeys }