Bugfix #4502
A subsequent hotkey press like F5 now cycles through the sub-context in buttons. However, this should not happen when clicking on Material icon in outliner!
This commit is contained in:
@@ -104,7 +104,7 @@ extern void copy_view3d_lock(short val);
|
||||
extern void drawemptyspace(struct ScrArea *sa, void *spacedata);
|
||||
extern void drawinfospace(struct ScrArea *sa, void *spacedata);
|
||||
extern void duplicatespacelist(struct ScrArea *area, struct ListBase *lb1, struct ListBase *lb2);
|
||||
extern void extern_set_butspace(int fkey);
|
||||
extern void extern_set_butspace(int fkey, int do_cycle);
|
||||
extern void force_draw(int header);
|
||||
extern void force_draw_all(int header);
|
||||
extern void force_draw_plus(int type, int header);
|
||||
|
||||
@@ -1574,8 +1574,8 @@ static void do_info_rendermenu(void *arg, int event)
|
||||
|
||||
break;
|
||||
|
||||
case 7:
|
||||
extern_set_butspace(F10KEY);
|
||||
case 7:
|
||||
extern_set_butspace(F10KEY, 1);
|
||||
break;
|
||||
}
|
||||
allqueue(REDRAWINFO, 0);
|
||||
|
||||
@@ -1032,7 +1032,7 @@ static int tree_element_active_material(SpaceOops *soops, TreeElement *te, int s
|
||||
}
|
||||
}
|
||||
if(set) {
|
||||
extern_set_butspace(F5KEY); // force shading buttons
|
||||
extern_set_butspace(F5KEY, 0); // force shading buttons
|
||||
BIF_preview_changed(ID_MA);
|
||||
allqueue(REDRAWBUTSSHADING, 1);
|
||||
allqueue(REDRAWNODE, 0);
|
||||
@@ -1074,7 +1074,7 @@ static int tree_element_active_texture(SpaceOops *soops, TreeElement *te, int se
|
||||
sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
|
||||
sbuts->texfrom= 1;
|
||||
}
|
||||
extern_set_butspace(F6KEY); // force shading buttons texture
|
||||
extern_set_butspace(F6KEY, 0); // force shading buttons texture
|
||||
wrld->texact= te->index;
|
||||
}
|
||||
else if(tselemp->id == (ID *)(G.scene->world)) {
|
||||
@@ -1088,7 +1088,7 @@ static int tree_element_active_texture(SpaceOops *soops, TreeElement *te, int se
|
||||
sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
|
||||
sbuts->texfrom= 2;
|
||||
}
|
||||
extern_set_butspace(F6KEY); // force shading buttons texture
|
||||
extern_set_butspace(F6KEY, 0); // force shading buttons texture
|
||||
la->texact= te->index;
|
||||
}
|
||||
else {
|
||||
@@ -1104,7 +1104,7 @@ static int tree_element_active_texture(SpaceOops *soops, TreeElement *te, int se
|
||||
//sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
|
||||
sbuts->texfrom= 0;
|
||||
}
|
||||
extern_set_butspace(F6KEY); // force shading buttons texture
|
||||
extern_set_butspace(F6KEY, 0); // force shading buttons texture
|
||||
ma->texact= te->index;
|
||||
|
||||
/* also set active material */
|
||||
@@ -1128,7 +1128,7 @@ static int tree_element_active_lamp(SpaceOops *soops, TreeElement *te, int set)
|
||||
if(ob==NULL || ob!=OBACT) return 0; // just paranoia
|
||||
|
||||
if(set) {
|
||||
extern_set_butspace(F5KEY);
|
||||
extern_set_butspace(F5KEY, 0);
|
||||
BIF_preview_changed(ID_LA);
|
||||
allqueue(REDRAWBUTSSHADING, 1);
|
||||
allqueue(REDRAWOOPS, 0);
|
||||
@@ -1160,7 +1160,7 @@ static int tree_element_active_world(SpaceOops *soops, TreeElement *te, int set)
|
||||
|
||||
if(tep==NULL || tselem->id == (ID *)G.scene) {
|
||||
if(set) {
|
||||
extern_set_butspace(F8KEY);
|
||||
extern_set_butspace(F8KEY, 0);
|
||||
}
|
||||
else {
|
||||
return 1;
|
||||
@@ -1356,7 +1356,7 @@ static int tree_element_active_ebone(TreeElement *te, TreeStoreElem *tselem, int
|
||||
static int tree_element_active_modifier(TreeElement *te, TreeStoreElem *tselem, int set)
|
||||
{
|
||||
if(set) {
|
||||
extern_set_butspace(F9KEY);
|
||||
extern_set_butspace(F9KEY, 0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -1506,7 +1506,7 @@ static int do_outliner_mouse_event(SpaceOops *soops, TreeElement *te, short even
|
||||
if(G.obedit) exit_editmode(2);
|
||||
else {
|
||||
enter_editmode();
|
||||
extern_set_butspace(F9KEY);
|
||||
extern_set_butspace(F9KEY, 0);
|
||||
}
|
||||
}
|
||||
else { // rest of types
|
||||
|
||||
@@ -3487,7 +3487,7 @@ static void init_butspace(ScrArea *sa)
|
||||
buts->ri = NULL;
|
||||
}
|
||||
|
||||
void extern_set_butspace(int fkey)
|
||||
void extern_set_butspace(int fkey, int do_cycle)
|
||||
{
|
||||
ScrArea *sa;
|
||||
SpaceButs *sbuts;
|
||||
@@ -3504,11 +3504,12 @@ void extern_set_butspace(int fkey)
|
||||
}
|
||||
}
|
||||
|
||||
if(sa==0) return;
|
||||
if(sa==NULL) return;
|
||||
|
||||
if(sa!=curarea) areawinset(sa->win);
|
||||
|
||||
sbuts= sa->spacedata.first;
|
||||
if(!do_cycle) sbuts->oldkeypress= 0;
|
||||
|
||||
if(fkey==F4KEY) {
|
||||
sbuts->mainb= CONTEXT_LOGIC;
|
||||
|
||||
@@ -460,7 +460,7 @@ int blenderqread(unsigned short event, short val)
|
||||
return 0;
|
||||
}
|
||||
else if(G.qual==0) {
|
||||
extern_set_butspace(event);
|
||||
extern_set_butspace(event, 1);
|
||||
}
|
||||
break;
|
||||
case F5KEY:
|
||||
@@ -469,7 +469,7 @@ int blenderqread(unsigned short event, short val)
|
||||
return 0;
|
||||
}
|
||||
else if(G.qual==0) {
|
||||
extern_set_butspace(event);
|
||||
extern_set_butspace(event, 1);
|
||||
}
|
||||
break;
|
||||
case F6KEY:
|
||||
@@ -478,7 +478,7 @@ int blenderqread(unsigned short event, short val)
|
||||
return 0;
|
||||
}
|
||||
else if(G.qual==0) {
|
||||
extern_set_butspace(event);
|
||||
extern_set_butspace(event, 1);
|
||||
}
|
||||
break;
|
||||
case F7KEY:
|
||||
@@ -487,7 +487,7 @@ int blenderqread(unsigned short event, short val)
|
||||
return 0;
|
||||
}
|
||||
else if(G.qual==0) {
|
||||
extern_set_butspace(event);
|
||||
extern_set_butspace(event, 1);
|
||||
}
|
||||
break;
|
||||
case F8KEY:
|
||||
@@ -496,7 +496,7 @@ int blenderqread(unsigned short event, short val)
|
||||
return 0;
|
||||
}
|
||||
else if(G.qual==0) {
|
||||
extern_set_butspace(event);
|
||||
extern_set_butspace(event, 1);
|
||||
}
|
||||
break;
|
||||
case F9KEY:
|
||||
@@ -509,7 +509,7 @@ int blenderqread(unsigned short event, short val)
|
||||
return 0;
|
||||
}
|
||||
else if(G.qual==0) {
|
||||
extern_set_butspace(event);
|
||||
extern_set_butspace(event, 1);
|
||||
}
|
||||
break;
|
||||
case F10KEY:
|
||||
@@ -518,7 +518,7 @@ int blenderqread(unsigned short event, short val)
|
||||
return 0;
|
||||
}
|
||||
else if(G.qual==0) {
|
||||
extern_set_butspace(event);
|
||||
extern_set_butspace(event, 1);
|
||||
}
|
||||
break;
|
||||
case F11KEY:
|
||||
|
||||
Reference in New Issue
Block a user