Revision: 48295
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48295
Author: vino
Date: 2012-06-26 01:18:30 +0000 (Tue, 26 Jun 2012)
Log Message:
-----------
A slightly different way of dealing with the shift problem that doesn't involve
a hack. It also changes the design of the layer buttons slightly such that
clicking one doesn't automatically reset the others, which I think may be a
usability improvement anyway as their purpose is to act like layers, which
should be independent of each other. To make up for this I've added a
ctrl-click which acts as before, selecting a single layer to the exclusion of
others.
Modified Paths:
--------------
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_handlers.c
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_layout.c
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_templates.c
branches/soc-2012-bratwurst/source/blender/windowmanager/intern/wm_event_system.c
Modified:
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_handlers.c
===================================================================
---
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_handlers.c
2012-06-26 00:35:05 UTC (rev 48294)
+++
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_handlers.c
2012-06-26 01:18:30 UTC (rev 48295)
@@ -2246,9 +2246,6 @@
button_activate_state(C, but, BUTTON_STATE_EXIT);
- // Kind of a hack. We don't want this assignment to
turn off others, so force shift on to cause handle_layer_buttons to skip that.
- win->eventstate->shift = 1;
-
return WM_UI_HANDLER_BREAK;
}
}
Modified:
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_layout.c
===================================================================
---
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_layout.c
2012-06-26 00:35:05 UTC (rev 48294)
+++
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_layout.c
2012-06-26 01:18:30 UTC (rev 48295)
@@ -327,7 +327,10 @@
int shift = win->eventstate->shift;
int len = RNA_property_array_length(ptr, prop);
- if (!shift) {
+ if (G.drag_button_func)
+ shift = 1;
+
+ if (!shift || win->eventstate->ctrl) {
RNA_property_boolean_set_index(ptr, prop, index, TRUE);
for (i = 0; i < len; i++)
Modified:
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_templates.c
===================================================================
---
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_templates.c
2012-06-26 00:35:05 UTC (rev 48294)
+++
branches/soc-2012-bratwurst/source/blender/editors/interface/interface_templates.c
2012-06-26 01:18:30 UTC (rev 48295)
@@ -1979,7 +1979,10 @@
wmWindow *win = CTX_wm_window(C);
int i, tot, shift = win->eventstate->shift;
- if (!shift) {
+ if (G.drag_button_func)
+ shift = 1;
+
+ if (!shift || win->eventstate->ctrl) {
tot = RNA_property_array_length(&but->rnapoin, but->rnaprop);
/* Normally clicking only selects one layer */
Modified:
branches/soc-2012-bratwurst/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
---
branches/soc-2012-bratwurst/source/blender/windowmanager/intern/wm_event_system.c
2012-06-26 00:35:05 UTC (rev 48294)
+++
branches/soc-2012-bratwurst/source/blender/windowmanager/intern/wm_event_system.c
2012-06-26 01:18:30 UTC (rev 48295)
@@ -2127,10 +2127,7 @@
}
if (event->val == KM_RELEASE)
- {
G.drag_button_func = 0;
- win->eventstate->shift = 0; // This was set in
ui_do_but_TOG(). Clear it now that we're done toggling buttons.
- }
/* unlink and free here, blender-quit then frees all */
BLI_remlink(&win->queue, event);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs