[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59562] trunk/blender/source/blender: Small enhancement to grab-resize of uiLists, suggested by plasmasolutions: do not effectively apply auto-size until we stop grabbing, avoid size of uiLists to switch between rows and maxrows while dragging.
Bastien Montagne
montagne29 at wanadoo.fr
Tue Aug 27 20:56:04 CEST 2013
Revision: 59562
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59562
Author: mont29
Date: 2013-08-27 18:56:04 +0000 (Tue, 27 Aug 2013)
Log Message:
-----------
Small enhancement to grab-resize of uiLists, suggested by plasmasolutions: do not effectively apply auto-size until we stop grabbing, avoid size of uiLists to switch between rows and maxrows while dragging.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_handlers.c
trunk/blender/source/blender/editors/interface/interface_templates.c
trunk/blender/source/blender/makesdna/DNA_screen_types.h
Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 2013-08-27 18:46:18 UTC (rev 59561)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 2013-08-27 18:56:04 UTC (rev 59562)
@@ -3424,10 +3424,12 @@
data->escapecancel = true;
*size = (int)data->origvalue;
button_activate_state(C, but, BUTTON_STATE_EXIT);
+ ui_list->flag &= ~UILST_RESIZING;
ED_region_tag_redraw(data->region);
}
else if (event->type == LEFTMOUSE && event->val != KM_PRESS) {
button_activate_state(C, but, BUTTON_STATE_EXIT);
+ ui_list->flag &= ~UILST_RESIZING;
ED_region_tag_redraw(data->region);
}
else if (event->type == MOUSEMOVE) {
@@ -6552,6 +6554,7 @@
/* Again, have to override values set by ui_numedit_begin, because our listbox button also has a rnapoin... */
*size = data->origvalue = (double)dyn_data->visual_height;
+ ui_list->flag |= UILST_RESIZING;
retval = WM_UI_HANDLER_BREAK;
}
Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c 2013-08-27 18:46:18 UTC (rev 59561)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c 2013-08-27 18:56:04 UTC (rev 59562)
@@ -2517,10 +2517,17 @@
maxrows = 5;
if (columns == 0)
columns = 9;
- if (ui_list->list_grip >= rows)
+
+ if (ui_list->list_grip >= rows) {
maxrows = rows = ui_list->list_grip;
- else
+ }
+ else {
ui_list->list_grip = 0; /* Reset to auto-size mode. */
+ /* Prevent auto-size mode to take effect while grab-resizing! */
+ if (ui_list->flag & UILST_RESIZING) {
+ maxrows = rows;
+ }
+ }
if (columns > 1) {
dyn_data->height = (int)ceil((double)len / (double)columns);
Modified: trunk/blender/source/blender/makesdna/DNA_screen_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_screen_types.h 2013-08-27 18:46:18 UTC (rev 59561)
+++ trunk/blender/source/blender/makesdna/DNA_screen_types.h 2013-08-27 18:56:04 UTC (rev 59562)
@@ -256,6 +256,7 @@
/* uiList flag */
enum {
UILST_SCROLL_TO_ACTIVE_ITEM = 1 << 0, /* Scroll list to make active item visible. */
+ UILST_RESIZING = 1 << 1, /* We are currently resizing, deactivate autosize! */
};
/* regiontype, first two are the default set */
More information about the Bf-blender-cvs
mailing list